window._wpemojiSettings = {"baseUrl":"https:\/\/s.w.org\/images\/core\/emoji\/14.0.0\/72x72\/","ext":".png","svgUrl":"https:\/\/s.w.org\/images\/core\/emoji\/14.0.0\/svg\/","svgExt":".svg","source":{"wpemoji":"https:\/\/jopioneiro.mtportal.info\/wp-includes\/js\/wp-emoji.js?ver=6.3.5","twemoji":"https:\/\/jopioneiro.mtportal.info\/wp-includes\/js\/twemoji.js?ver=6.3.5"}}; /** * @output wp-includes/js/wp-emoji-loader.js */ /** * 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 * @property {?boolean} DOMReady * @property {?Function} readyCallback */ /** * tests. * @typedef Tests * @type {object} * @property {?boolean} flag * @property {?boolean} emoji */ /** * IIFE to detect emoji and load Twemoji if needed. * * @param {Window} window * @param {Document} document * @param {WPEmojiSettings} settings */ ( function wpEmojiLoader( window, document, settings ) { if ( typeof Promise === 'undefined' ) { return; } var sessionStorageKey = 'wpEmojiSettingss'; var tests = [ 'flag', 'emoji' ]; /** * Checks whether the browser s offloading to a Worker. * * @since 6.3.0 * * @private * * @returns {boolean} */ function sWorkerOffloading() { return ( typeof Worker !== 'undefined' && typeof OffscreenCanvas !== 'undefined' && typeof URL !== 'undefined' && URL.createObjectURL && typeof Blob !== 'undefined' ); } /** * @typedef SessionTests * @type {object} * @property {number} timestamp * @property {Tests} Tests */ /** * Get tests from session. * * @since 6.3.0 * * @private * * @returns {?Tests} tests, or null if not set or older than 1 week. */ function getSessionTests() { try { /** @type {SessionTests} */ var 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.Tests === 'object' ) { return item.Tests; } } catch ( e ) {} return null; } /** * Persist the s in session storage. * * @since 6.3.0 * * @private * * @param {Tests} Tests tests. */ function setSessionTests( Tests ) { try { /** @type {SessionTests} */ var item = { Tests: Tests, timestamp: new Date().valueOf() }; sessionStorage.setItem( sessionStorageKey, JSON.stringify( item ) ); } catch ( e ) {} } /** * Checks if two sets of Emoji characters render the same visually. * * This function may be serialized to run in a Worker. Therefore, it cannot refer to variables from the containing * scope. Everything must be ed 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 ); var 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 ); var rendered2 = new Uint32Array( context.getImageData( 0, 0, context.canvas.width, context.canvas.height ).data ); return rendered1.every( function ( rendered2Data, index ) { return rendered2Data === rendered2[ index ]; } ); } /** * 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 ed by parameters. * * @since 4.2.0 * * @private * * @param {CanvasRenderingContext2D} context 2D Context. * @param {string} type Whether to test for of "flag" or "emoji". * @param {Function} emojiSetsRenderIdentically Reference to emojiSetsRenderIdentically function, needed due to minification. * * @return {boolean} True if the browser can render emoji, false if it cannot. */ function browsersEmoji( context, type, emojiSetsRenderIdentically ) { var isIdentical; switch ( type ) { case 'flag': /* * Test for Transgender flag compatibility. Added in Unicode 13. * * To test for , 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 er sequence '\uD83C\uDFF3\uFE0F\u200B\u26A7\uFE0F' // separated by a zero-width space ); if ( isIdentical ) { return false; } /* * Test for UN flag compatibility. This is the least ed of the letter locale flags, * so gives us an easy test for full . * * To test for , we try to render it, and compare the rendering to how it would look if * the browser doesn't render it correctly ([U] + [N]). */ isIdentical = emojiSetsRenderIdentically( context, '\uD83C\uDDFA\uD83C\uDDF3', // as the sequence of two code points '\uD83C\uDDFA\u200B\uD83C\uDDF3' // 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 , 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': /* * Why can't we be friends? Everyone can now shake hands in emoji, regardless of skin tone! * * To test for Emoji 14.0 , try to render a new emoji: Handshake: Light Skin Tone, Dark Skin Tone. * * The Handshake: Light Skin Tone, Dark Skin Tone emoji is a ZWJ sequence combining 🫱 Rightwards Hand, * 🏻 Light Skin Tone, a Zero Width er, 🫲 Leftwards Hand, and 🏿 Dark Skin Tone. * * 0x1FAF1 == Rightwards Hand * 0x1F3FB == Light Skin Tone * 0x200D == Zero-Width er (ZWJ) that links the code points for the new emoji or * 0x200B == Zero-Width Space (ZWS) that is rendered for clients not ing the new emoji. * 0x1FAF2 == Leftwards Hand * 0x1F3FF == Dark Skin Tone. * * When updating this test for future Emoji releases, ensure that individual emoji that make up the * sequence come from older emoji standards. */ isIdentical = emojiSetsRenderIdentically( context, '\uD83E\uDEF1\uD83C\uDFFB\u200D\uD83E\uDEF2\uD83C\uDFFF', // as the zero-width er sequence '\uD83E\uDEF1\uD83C\uDFFB\u200B\uD83E\uDEF2\uD83C\uDFFF' // separated by a zero-width space ); return ! isIdentical; } return false; } /** * Checks emoji tests. * * This function may be serialized to run in a Worker. Therefore, it cannot refer to variables from the containing * scope. Everything must be ed by parameters. * * @since 6.3.0 * * @private * * @param {string[]} tests Tests. * @param {Function} browsersEmoji Reference to browsersEmoji function, needed due to minification. * @param {Function} emojiSetsRenderIdentically Reference to emojiSetsRenderIdentically function, needed due to minification. * * @return {Tests} tests. */ function testEmojis( tests, browsersEmoji, emojiSetsRenderIdentically ) { var canvas; if ( typeof WorkerGlobalScope !== 'undefined' && self instanceof WorkerGlobalScope ) { canvas = new OffscreenCanvas( 300, 150 ); // Dimensions are default for HTMLCanvasElement. } else { canvas = document.createElement( 'canvas' ); } var 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 to avoid invisible emoji in Chrome. */ context.textBaseline = 'top'; context.font = '600 32px Arial'; var s = {}; tests.forEach( function ( test ) { s[ test ] = browsersEmoji( context, test, emojiSetsRenderIdentically ); } ); return s; } /** * 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 ) { var script = document.createElement( 'script' ); script.src = src; script.defer = true; document.head.appendChild( script ); } settings.s = { everything: true, everythingExceptFlag: true }; // Create a promise for DOMContentLoaded since the worker logic may finish after the event has fired. var domReadyPromise = new Promise( function ( resolve ) { document.addEventListener( 'DOMContentLoaded', resolve, { once: true } ); } ); // Obtain the emoji from the browser, asynchronously when possible. new Promise( function ( resolve ) { var Tests = getSessionTests(); if ( Tests ) { resolve( Tests ); return; } if ( sWorkerOffloading() ) { try { // Note that the functions are being ed as arguments due to minification. var workerScript = 'postMessage(' + testEmojis.toString() + '(' + [ JSON.stringify( tests ), browsersEmoji.toString(), emojiSetsRenderIdentically.toString() ].( ',' ) + '));'; var blob = new Blob( [ workerScript ], { type: 'text/javascript' } ); var worker = new Worker( URL.createObjectURL( blob ), { name: 'wpTestEmojis' } ); worker.onmessage = function ( event ) { Tests = event.data; setSessionTests( Tests ); worker.terminate(); resolve( Tests ); }; return; } catch ( e ) {} } Tests = testEmojis( tests, browsersEmoji, emojiSetsRenderIdentically ); setSessionTests( Tests ); resolve( Tests ); } ) // Once the browser emoji has been obtained from the session, finalize the settings. .then( function ( Tests ) { /* * Tests the browser for flag emojis and other emojis, and adjusts the * settings accordingly. */ for ( var test in Tests ) { settings.s[ test ] = Tests[ test ]; settings.s.everything = settings.s.everything && settings.s[ test ]; if ( 'flag' !== test ) { settings.s.everythingExceptFlag = settings.s.everythingExceptFlag && settings.s[ test ]; } } settings.s.everythingExceptFlag = settings.s.everythingExceptFlag && ! settings.s.flag; // Sets DOMReady to false and assigns a ready function to settings. settings.DOMReady = false; settings.readyCallback = function () { settings.DOMReady = true; }; } ) .then( function () { return domReadyPromise; } ) .then( function () { // When the browser can not render everything we need to load a polyfill. if ( ! settings.s.everything ) { settings.readyCallback(); var src = settings.source || {}; if ( src.concatemoji ) { addScript( src.concatemoji ); } else if ( src.wpemoji && src.twemoji ) { addScript( src.twemoji ); addScript( src.wpemoji ); } } } ); } )( window, document, window._wpemojiSettings ); window.tdb_global_vars = {"wpRestUrl":"https:\/\/jopioneiro.mtportal.info\/wp-json\/","permalinkStructure":"\/%postname%\/"}; window.tdb_p_autoload_vars = {"isAjax":false,"isBarShowing":false,"autoloadStatus":"off","origPostEditUrl":null};
Entrar
Bem-vindo! Entre na sua conta
Recuperar senha
Recupere sua senha
Uma senha será enviada por e-mail para você.
domingo, 25 maio, 2025
InícioFutilidade do DiaFUTILIDADE- Por que nao invadir a Rússia?

FUTILIDADE- Por que nao invadir a Rússia?

Se Hitler e Napoleão tinham algo em comum e que eles descobriram que é uma má ideia invadir a Rússia.

Os Estados Unidos, a Rússia e a China são considerados os países mais fortes do mundo quando se trata de poderio militar, sendo que os EUA ocupam incontestavelmente o primeiro lugar. Mesmo assim, a Rússia ainda tem muitas cartas na manga, especialmente um arsenal nuclear de cerca de 1.550 ogivas nucleares prontas para a ação.

Armas nucleares à parte, no entanto, os EUA têm uma vantagem esmagadora quando se trata de forças mais convencionais, incluindo a naval e a aérea, afirmou o analista militar russo Aleksandr Golts à DW.

Por Adriano Liziero

A China, segundo Golts, também teria uma vantagem numérica em qualquer confronto convencional com a Rússia. Em outras áreas, porém, nem tudo é assim tão evidente.

“Por enquanto, a força aérea da Rússia é muito mais forte do que a chinesa”, disse o analista à DW. “A dúvida é em relação à marinha, já que os chineses se encontram, atualmente, em meio a um ambicioso programa de construção naval – e eles são muito mais bem-sucedidos na construção de frota marítima do que a Rússia.”

Ainda assim, segundo Golts, apesar de os navios de guerra russos serem antigos, eles são equipados com mísseis de cruzeiro muito modernos. O analista militar adverte, contudo, que classificar países por seu poderio militar é “praticamente inútil”, pois a eficácia das forças armadas depende das metas estabelecidas pelos líderes da nação.

“Nem sempre sabemos onde está o alvo”

Tal ponto de vista é compartilhado pelo jornalista e analista militar russo Pavel Felgenhauer, que alerta para o fato de que conflitos dependem de muitas variáveis, incluindo a geografia e as pessoas envolvidas.

“É como prever o resultado de uma partida de futebol: sim, em tese, o Brasil deve vencer os EUA no futebol, mas eu vi americanos vencerem o Brasil na África do Sul, durante a Copa das Confederações. Você nunca sabe o resultado até que o jogo se concretize”, afirma.

Felgenhauer observa que a Rússia tem carência em muitas áreas de tecnologia militar moderna, incluindo desenvolvimento e produção de drones, componentes eletrônicos, assim como reconhecimento de radar e de satélite. Atualmente, o país produz drones de vigilância por meio de uma licença israelense, e está completamente carente de drones de combate, por exemplo.

A Rússia também tem trabalhado na modernização de seus centros de comando e de controle, que servem para processar informações do campo de batalha e retransmiti-las às tropas.

“É disso que as forças armadas russas estão falando: sim, temos armas, incluindo armas de longo alcance, mas nossas capacidades de reconhecimento são mais fracas do que nossas capacidades de ataque”, disse Felgenhauer. “Portanto, temos armas de longo alcance, às vezes até de precisão, mas nem sempre sabemos onde está o alvo.”

De acordo com o analista, tais problemas foram exacerbados pela crise da Crimeia em 2014. Nos anos que antecederam o duelo com o Ocidente, Moscou vinha gastando pelo menos US$ 500 milhões por ano nos EUA em compras das chamadas mercadorias de dupla utilização, que podem ser usadas para fins militares e civis.

“Eram componentes eletrônicos para armas e satélites russos, diferentes tipos de vidro e aço especiais”, diz Felgenhauer.

Da mesma forma, “França e Alemanha estavam desenvolvendo satélites de uso duplo, que eram basicamente satélites militares, satélites de reconhecimento, para a Rússia. E isso tudo praticamente acabou.”

Boas e velhas armas soviéticas

Confrontada com o embargo do Ocidente, a Rússia também tem trabalhado no sentido de desenvolver seus próprios drones e preencher a lacuna tecnológica em outras áreas. No entanto, segundo especialistas, o colapso da União Soviética deixou Moscou não apenas mais fraca em termos de território e número de soldados, mas também quando se trata de fornecedores militares.

“A União Soviética tinha uma economia absurda, mas que pelo menos era muito lógica”, avalia Golts. “Não tinha nada a ver com economia de mercado, mas o objetivo principal de qualquer empreendimento em território soviético, seja ele militar ou civil, era estar preparado para produzir bens e equipamentos militares em caso de guerra. Depois da queda do União Soviética, esses sistemas desapareceram.”

Por outro lado, o legado da União Soviética ainda está muito presente no Exército russo moderno, já que muitos de seus sistemas de ponta são resultado do “aprimoramento de bons sistemas soviéticos antigos e da modernização daquele tipo de tecnologia”, diz Golts.

Uma dessas armas é o caça-bombardeiro Su-25, projetado há décadas para apoiar as tropas terrestres. Recentemente, a Rússia anunciou a produção da mais recente versão da aeronave.

Vinte mil tanques?

 

Além do arsenal nuclear, há uma área em que a Rússia está claramente em primeiro lugar. Recentemente, o Kremlin anunciou que os russos tinham mais tanques do que qualquer outra nação no mundo, observa Felgenhauer.

“Extraoficialmente, soube de cifras de até 20 mil, o que significaria que a Rússia tem mais tanques do que todos os países da Otan juntos”, aponta.

Depois do fim da Guerra Fria, a maioria das potências europeias reduziu suas capacidades de tanques, focando, então, mais em conflitos com grupos terroristas e guerrilheiros. Isso, de acordo com Felgenhauer, coloca-os em grande desvantagem no caso de uma guerra terrestre na Europa.

“Hoje, restam à Alemanha apenas 300 tanques”, diz ele. “O Reino Unido tem, creio eu, 250, e a França também tem algo próximo disso.”

No caso de uma guerra na Europa, a Rússia também teria uma vantagem logística sobre o Ocidente, de acordo com Felgenhauer. Enquanto a Otan precisaria de meses para mobilizar sua força total, a Rússia seria capaz de trazer reforços em um prazo muito menor.

Fonte: G1, e Geografia Visual por Adriano Liziero

DEIXE UMA RESPOSTA

Por favor digite seu comentário!
Por favor, digite seu nome aqui

Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.