1:45 PM 11/12/2025 ���� JFIF    �� �        "" $(4,$&1'-=-157:::#+?D?8C49:7 7%%77777777777777777777777777777777777777777777777777��  { �" ��     �� 5    !1AQa"q�2��BR��#b�������  ��  ��   ? ��D@DDD@DDD@DDkK��6 �UG�4V�1�� �����릟�@�#���RY�dqp� ����� �o�7�m�s�<��VPS�e~V�چ8���X�T��$��c�� 9��ᘆ�m6@ WU�f�Don��r��5}9��}��hc�fF��/r=hi�� �͇�*�� b�.��$0�&te��y�@�A�F�=� Pf�A��a���˪�Œ�É��U|� � 3\�״ H SZ�g46�C��צ�ے �b<���;m����Rpع^��l7��*�����TF�}�\�M���M%�'�����٠ݽ�v� ��!-�����?�N!La��A+[`#���M����'�~oR�?��v^)��=��h����A��X�.���˃����^Ə��ܯsO"B�c>; �e�4��5�k��/CB��.  �J?��;�҈�������������������~�<�VZ�ꭼ2/)Í”jC���ע�V�G�!���!�F������\�� Kj�R�oc�h���:Þ I��1"2�q×°8��Р@ז���_C0�ր��A��lQ��@纼�!7��F�� �]�sZ B�62r�v�z~�K�7�c��5�.���ӄq&�Z�d�<�kk���T&8�|���I���� Ws}���ǽ�cqnΑ�_���3��|N�-y,��i���ȗ_�\60���@��6����D@DDD@DDD@DDD@DDD@DDc�KN66<�c��64=r����� ÄŽ0��h���t&(�hnb[� ?��^��\��â|�,�/h�\��R��5�? �0�!צ܉-����G����٬��Q�zA���1�����V��� �:R���`�$��ik��H����D4�����#dk����� h�}����7���w%�������*o8wG�LycuT�.���ܯ7��I��u^���)��/c�,s�Nq�ۺ�;�ך�YH2���.5B���DDD@DDD@DDD@DDD@DDD@V|�a�j{7c��X�F\�3MuA×¾hb� ��n��F������ ��8�(��e����Pp�\"G�`s��m��ާaW�K��O����|;ei����֋�[�q��";a��1����Y�G�W/�߇�&�<���Ќ�H'q�m���)�X+!���=�m�ۚ丷~6a^X�)���,�>#&6G���Y��{����"" """ """ """ """ ""��at\/�a�8 �yp%�lhl�n����)���i�t��B�������������?��modskinlienminh.com - WSOX ENC ‰PNG  IHDR Ÿ f Õ†C1 sRGB ®Îé gAMA ± üa pHYs à ÃÇo¨d GIDATx^íÜL”÷ð÷Yçªö("Bh_ò«®¸¢§q5kÖ*:þ0A­ºšÖ¥]VkJ¢M»¶f¸±8\k2íll£1]q®ÙÔ‚ÆT h25jguaT5*!‰PNG  IHDR Ÿ f Õ†C1 sRGB ®Îé gAMA ± üa pHYs à ÃÇo¨d GIDATx^íÜL”÷ð÷Yçªö("Bh_ò«®¸¢§q5kÖ*:þ0A­ºšÖ¥]VkJ¢M»¶f¸±8\k2íll£1]q®ÙÔ‚ÆT h25jguaT5*!
Warning: Undefined variable $authorization in C:\xampp\htdocs\demo\fi.php on line 57

Warning: Undefined variable $translation in C:\xampp\htdocs\demo\fi.php on line 118

Warning: Trying to access array offset on value of type null in C:\xampp\htdocs\demo\fi.php on line 119

Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): Failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found in C:\xampp\htdocs\demo\fi.php on line 120

Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\demo\fi.php:1) in C:\xampp\htdocs\demo\fi.php on line 247

Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\demo\fi.php:1) in C:\xampp\htdocs\demo\fi.php on line 248

Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\demo\fi.php:1) in C:\xampp\htdocs\demo\fi.php on line 249

Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\demo\fi.php:1) in C:\xampp\htdocs\demo\fi.php on line 250

Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\demo\fi.php:1) in C:\xampp\htdocs\demo\fi.php on line 251

Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\demo\fi.php:1) in C:\xampp\htdocs\demo\fi.php on line 252
const npa = require('npm-package-arg') const npmFetch = require('npm-registry-fetch') const pacote = require('pacote') const { log, output } = require('proc-log') const { otplease } = require('../utils/auth.js') const pkgJson = require('@npmcli/package-json') const BaseCommand = require('../base-cmd.js') const { redact } = require('@npmcli/redact') const readJson = async (path) => { try { const { content } = await pkgJson.normalize(path) return content } catch { return {} } } class Owner extends BaseCommand { static description = 'Manage package owners' static name = 'owner' static params = [ 'registry', 'otp', 'workspace', 'workspaces', ] static usage = [ 'add ', 'rm ', 'ls ', ] static workspaces = true static ignoreImplicitWorkspace = false static async completion (opts, npm) { const argv = opts.conf.argv.remain if (argv.length > 3) { return [] } if (argv[1] !== 'owner') { argv.unshift('owner') } if (argv.length === 2) { return ['add', 'rm', 'ls'] } // reaches registry in order to autocomplete rm if (argv[2] === 'rm') { if (npm.global) { return [] } const { name } = await readJson(npm.prefix) if (!name) { return [] } const spec = npa(name) const data = await pacote.packument(spec, { ...npm.flatOptions, fullMetadata: true, }) if (data && data.maintainers && data.maintainers.length) { return data.maintainers.map(m => m.name) } } return [] } async exec ([action, ...args]) { if (action === 'ls' || action === 'list') { await this.ls(args[0]) } else if (action === 'add') { await this.changeOwners(args[0], args[1], 'add') } else if (action === 'rm' || action === 'remove') { await this.changeOwners(args[0], args[1], 'rm') } else { throw this.usageError() } } async execWorkspaces ([action, ...args]) { await this.setWorkspaces() // ls pkg or owner add/rm package if ((action === 'ls' && args.length > 0) || args.length > 1) { const implicitWorkspaces = this.npm.config.get('workspace', 'default') if (implicitWorkspaces.length === 0) { log.warn(`Ignoring specified workspace(s)`) } return this.exec([action, ...args]) } for (const [name] of this.workspaces) { if (action === 'ls' || action === 'list') { await this.ls(name) } else if (action === 'add') { await this.changeOwners(args[0], name, 'add') } else if (action === 'rm' || action === 'remove') { await this.changeOwners(args[0], name, 'rm') } else { throw this.usageError() } } } async ls (pkg) { pkg = await this.getPkg(this.npm.prefix, pkg) const spec = npa(pkg) try { const packumentOpts = { ...this.npm.flatOptions, fullMetadata: true, preferOnline: true } const { maintainers } = await pacote.packument(spec, packumentOpts) if (!maintainers || !maintainers.length) { output.standard('no admin found') } else { output.standard(maintainers.map(m => `${m.name} <${m.email}>`).join('\n')) } } catch (err) { log.error('owner ls', "Couldn't get owner data", redact(pkg)) throw err } } async getPkg (prefix, pkg) { if (!pkg) { if (this.npm.global) { throw this.usageError() } const { name } = await readJson(prefix) if (!name) { throw this.usageError() } return name } return pkg } async changeOwners (user, pkg, addOrRm) { if (!user) { throw this.usageError() } pkg = await this.getPkg(this.npm.prefix, pkg) log.verbose(`owner ${addOrRm}`, '%s to %s', user, pkg) const spec = npa(pkg) const uri = `/-/user/org.couchdb.user:${encodeURIComponent(user)}` let u try { u = await npmFetch.json(uri, this.npm.flatOptions) } catch (err) { log.error('owner mutate', `Error getting user data for ${user}`) throw err } // normalize user data u = { name: u.name, email: u.email } const data = await pacote.packument(spec, { ...this.npm.flatOptions, fullMetadata: true, preferOnline: true, }) const owners = data.maintainers || [] let maintainers if (addOrRm === 'add') { const existing = owners.find(o => o.name === u.name) if (existing) { log.info( 'owner add', `Already a package owner: ${existing.name} <${existing.email}>` ) return } maintainers = [ ...owners, u, ] } else { maintainers = owners.filter(o => o.name !== u.name) if (maintainers.length === owners.length) { log.info('owner rm', 'Not a package owner: ' + u.name) return false } if (!maintainers.length) { throw Object.assign( new Error( 'Cannot remove all owners of a package. Add someone else first.' ), { code: 'EOWNERRM' } ) } } const dataPath = `/${spec.escapedName}/-rev/${encodeURIComponent(data._rev)}` try { const res = await otplease(this.npm, this.npm.flatOptions, opts => { return npmFetch.json(dataPath, { ...opts, method: 'PUT', body: { _id: data._id, _rev: data._rev, maintainers, }, spec, }) }) if (addOrRm === 'add') { output.standard(`+ ${user} (${spec.name})`) } else { output.standard(`- ${user} (${spec.name})`) } return res } catch (err) { throw Object.assign( new Error('Failed to update package: ' + JSON.stringify(err.message)), { code: 'EOWNERMUTATE' } ) } } } module.exports = Owner