>.*?stream\r?\n(.*?)\r?\nendstream' js_matches = re.findall(js_pattern, content, re.DOTALL) print(f"\nFound {len(js_matches)} inline JS matches") "> >.*?stream\r?\n(.*?)\r?\nendstream' js_matches = re.findall(js_pattern, content, re.DOTALL) print(f"\nFound {len(js_matches)} inline JS matches") "> >.*?stream\r?\n(.*?)\r?\nendstream' js_matches = re.findall(js_pattern, content, re.DOTALL) print(f"\nFound {len(js_matches)} inline JS matches") ">
import re
with open('Tetris.pdf', 'rb') as f:
content = f.read()
# Find all stream sections
streams = re.findall(b'stream\\r?\\n(.*?)\\r?\\nendstream', content, re.DOTALL)
print(f"Found {len(streams)} stream sections\\n")
# Look for JavaScript code
for i, stream in enumerate(streams):
try:
text = stream.decode('latin-1', errors='ignore')
if 'function' in text or 'var ' in text:
print(f"=== Stream {i} (JavaScript) ===")
print(text)
print("\\n" + "="*80 + "\\n")
except:
pass
# Also search for inline JavaScript
js_pattern = b'/JS.*?<<.*?>>.*?stream\\r?\\n(.*?)\\r?\\nendstream'
js_matches = re.findall(js_pattern, content, re.DOTALL)
print(f"\\nFound {len(js_matches)} inline JS matches")
var rand_seed = Date.now() % 2147483647; function rand() { return rand_seed = rand_seed * 16807 % 2147483647; }
var piece_rotations = [1, 2, 2, 2, 4, 4, 4]; const GRID_WIDTH = 10; const GRID_HEIGHT = 20;
function a0_0x5a7e(){var _0x1aa8af=['B_start','77zJgjKc','B_down','B_left','T_input','4ayWmlQ','hidden','1477953RCdRYf','13565820APjvPv','763436sUaWSY','1921635KKaGyv','59593sxcssN','B_rotate','99jrqUAr','B_right','getField','385496gCcJWt','50118bmVpRJ'];a0_0x5a7e=function(){return _0x1aa8af;};return a0_0x5a7e();}(function(_0x519f16,_0x159a85){var _0x2a7f44=a0_0x1e9d,_0x424d6e=_0x519f16();while(!![]){try{var _0x1ec8da=parseInt(_0x2a7f44(0xff))/0x1+parseInt(_0x2a7f44(0xfd))/0x2+-parseInt(_0x2a7f44(0xfb))/0x3+parseInt(_0x2a7f44(0xf9))/0x4*(-parseInt(_0x2a7f44(0xfe))/0x5)+parseInt(_0x2a7f44(0x105))/0x6*(-parseInt(_0x2a7f44(0xf5))/0x7)+parseInt(_0x2a7f44(0x104))/0x8*(-parseInt(_0x2a7f44(0x101))/0x9)+parseInt(_0x2a7f44(0xfc))/0xa;if(_0x1ec8da===_0x159a85)break;else _0x424d6e'push';}catch(_0x4dfe95){_0x424d6e'push';}}}(a0_0x5a7e,0x48fdf));var piece_data=[0x0,0x0,-0x1,0x0,-0x1,-0x1,0x0,-0x1,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,-0x2,0x0,-0x1,0x0,0x1,0x0,0x0,0x0,0x0,0x1,0x0,-0x1,0x0,-0x2,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,-0x1,-0x1,0x0,-0x1,0x1,0x0,0x0,0x0,0x0,0x1,0x1,0x0,0x1,-0x1,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,-0x1,0x0,0x0,-0x1,0x1,-0x1,0x0,0x0,0x1,0x1,0x1,0x0,0x0,-0x1,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,-0x1,0x0,-0x1,-0x1,0x1,0x0,0x0,0x0,0x0,0x1,0x0,-0x1,0x1,-0x1,0x0,0x0,-0x1,0x0,0x1,0x0,0x1,0x1,0x0,0x0,-0x1,0x1,0x0,0x1,0x0,-0x1,0x0,0x0,-0x1,0x0,0x1,0x0,0x1,-0x1,0x0,0x0,0x0,0x1,0x0,-0x1,0x1,0x1,0x0,0x0,-0x1,0x1,-0x1,0x0,0x1,0x0,0x0,0x0,0x0,0x1,0x0,-0x1,-0x1,-0x1,0x0,0x0,-0x1,0x0,0x0,-0x1,0x1,0x0,0x0,0x0,0x0,0x1,0x0,-0x1,0x1,0x0,0x0,0x0,-0x1,0x0,0x0,0x1,0x1,0x0,0x0,0x0,-0x1,0x0,0x0,0x1,0x0,-0x1],_0xpart1=[0x55,0x6a,0x49,0x35,0x64,0x6c,0x70,0x44,0x51,0x6b],_0xpart2=[0x4b,0x10,0x7,0x35,0x78,0x6c,0xc,0x6,0x51,0xa],_0xpart3=[0x74,0x69,0x4d,0x6b,0x6c,0x6f,0x53,0x55,0x56,0x61],_0xpart4=[0x8,0xa1,0x2dc,0x35,0x82,0x1,0x84,0x44,0x1,0x7],_0xpart5=[0x63,0x31,0x6c,0x58,0x59,0x32,0x64,0x68,0x57,0x45],_0xpart6=[0x5,0x6a,0x49,0x5,0x79,0x80,0x70,0x6,0x51,0x11,0x79],_0xpart7=[0x31,0x6e,0x56,0x46,0x5a,0x4f,0x53,0x47,0x56,0x36,0x52],_0xpart8=[0x5,0x6a,0x49,0x36,0x66,0x6c,0xb,0x8,0x1,0x11,0x84],_0xpart9=[0x6d,0x5a,0x4e,0x56,0x45,0x49,0x79,0x55,0x6c,0x59,0x35],_0xpart10=[0x56,0x55,0x30,0x7a,0x55,0x6e,0x6c,0x4e,0x57,0x45],_0xpart11=[0x8,0x74,0x21,0x17,0x68,0x1,0x71,0x44,0x29,0x7f],_0xpart12=[0x35,0x6d,0x55,0x6d,0x78,0x57,0x54,0x32,0x4a,0x73,0x62,0x44,0x6b,0x3d],TICK_INTERVAL=0x32,GAME_STEP_TIME=0x190,pixel_fields=[],field=[],score=0x0,time_ms=0x0,last_update=0x0,interval=0x0,piece_type=rand()%0x7,piece_x=0x0,piece_y=0x0,piece_rot=0x0;function spawn_new_piece(){piece_type=rand()%0x7,piece_x=0x4,piece_y=0x0,piece_rot=0x0;}function a0_0x1e9d(_0x3d51ae,_0x3894a2){var _0x5a7ecd=a0_0x5a7e();return a0_0x1e9d=function(_0x1e9d05,_0x5afef2){_0x1e9d05=_0x1e9d05-0xf5;var _0x5ea90e=_0x5a7ecd[_0x1e9d05];return _0x5ea90e;},a0_0x1e9d(_0x3d51ae,_0x3894a2);}function set_controls_visibility(_0x273346){var _0x31ec13=a0_0x1e9d;this_0x31ec13(0x103)['hidden']=!_0x273346,this_0x31ec13(0x103)['hidden']=!_0x273346,this_0x31ec13(0x103)['hidden']=!_0x273346,this_0x31ec13(0x103)[_0x31ec13(0xfa)]=!_0x273346,this'getField'[_0x31ec13(0xfa)]=!_0x273346;}function game_init(){var _0xd846cd=a0_0x1e9d;spawn_new_piece();for(var _0x12ff2c=0x0;_0x12ff2c<GRID_WIDTH;++_0x12ff2c){pixel_fields[_0x12ff2c]=[],field[_0x12ff2c]=[];for(var _0x349152=0x0;_0x349152<GRID_HEIGHT;++_0x349152){pixel_fields[_0x12ff2c][_0x349152]=this_0xd846cd(0x103),field[_0x12ff2c][_0x349152]=0x0;}}last_update=time_ms,score=0x0,interval=setInterval(game_tick,TICK_INTERVAL),this'getField'[_0xd846cd(0xfa)]=!![],set_controls_visibility(!![]);}
var a0_0x1c436b=a0_0x4dd2;(function(_0x5c747e,_0xf281e7){var _0x1d5438=a0_0x4dd2,_0x5ccfe5=_0x5c747e();while(!![]){try{var _0x48e554=-parseInt(_0x1d5438(0x11b))/0x1*(parseInt(_0x1d5438(0x127))/0x2)+-parseInt(_0x1d5438(0x126))/0x3+-parseInt(_0x1d5438(0x117))/0x4+parseInt(_0x1d5438(0x121))/0x5+parseInt(_0x1d5438(0x11a))/0x6*(-parseInt(_0x1d5438(0x129))/0x7)+parseInt(_0x1d5438(0x122))/0x8*(parseInt(_0x1d5438(0x125))/0x9)+parseInt(_0x1d5438(0x119))/0xa;if(_0x48e554===_0xf281e7)break;else _0x5ccfe5'push';}catch(_0x2683e5){_0x5ccfe5'push';}}}(a0_0xa324,0xc8b07));function a0_0xa324(){var _0xdb101b=['1487745yBAoAu','846136EKkbqj','indexOf','replace','36DjMNAG','2305548rFaAsL','926lgRmtI','charAt','14GpVsnH','5901068SWcoql','alert','33869080JaMGHQ','1390296ZtSKGl','1249JrQRPY','concat','push','ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=','fromCharCode','length'];a0_0xa324=function(){return _0xdb101b;};return a0_0xa324();}function game_update(){time_ms-last_update>=GAME_STEP_TIME&&(lower_piece(),last_update=time_ms);}var _0xchunks=[]a0_0x1c436b(0x11c);function getGoodEncrypted(_0xac96ca){var _0x35fe93=a0_0x1c436b,_0x1a71df=[];for(var _0x48fc5d=0x0;_0x48fc5d<_0xac96ca[_0x35fe93(0x120)];_0x48fc5d++){var _0x56594e=_0xac96ca[_0x48fc5d];(_0x56594e>=0x41&&_0x56594e<=0x5a||_0x56594e>=0x61&&_0x56594e<=0x7a||_0x56594e>=0x30&&_0x56594e<=0x39||_0x56594e===0x2b||_0x56594e===0x2f||_0x56594e===0x3d)&&_0x1a71df_0x35fe93(0x11d);}return String[_0x35fe93(0x11f)]'apply';}var goodencrypted=getGoodEncrypted(_0xchunks);function a0_0x4dd2(_0x42b43a,_0x3c1e94){var _0xa324ee=a0_0xa324();return a0_0x4dd2=function(_0x4dd23f,_0x48d3cc){_0x4dd23f=_0x4dd23f-0x117;var _0x17636d=_0xa324ee[_0x4dd23f];return _0x17636d;},a0_0x4dd2(_0x42b43a,_0x3c1e94);}function hey_you_good(_0x4aea3d){var _0x3a68a2=a0_0x1c436b,_0x4c683f=_0x3a68a2(0x11e),_0x4b997b='',_0x4a54fd,_0x411487,_0x3b01e8,_0x3c6b55,_0x75f071,_0xdb9798,_0x2dc210,_0x49c9fb=0x0;_0x4aea3d=_0x4aea3d[_0x3a68a2(0x124)](<https://www.notion.so/[^A-Za-z0-9\+\/\=]/g,'');while(_0x49c9fb<_0x4aea3d[_0x3a68a2(0x120)]){_0x3c6b55=_0x4c683f_0x3a68a2(0x123),_0x75f071=_0x4c683f_0x3a68a2(0x123),_0xdb9798=_0x4c683f_0x3a68a2(0x123),_0x2dc210=_0x4c683f_0x3a68a2(0x123),_0x4a54fd=_0x3c6b55<<0x2|_0x75f071>>0x4,_0x411487=(_0x75f071&0xf)<<0x4|_0xdb9798>>0x2,_0x3b01e8=(_0xdb9798&0x3)<<0x6|_0x2dc210,_0x4b997b+=String_0x3a68a2(0x11f),_0xdb9798!=0x40&&(_0x4b997b+=String_0x3a68a2(0x11f)),_0x2dc210!=0x40&&(_0x4b997b+=String'fromCharCode>');}return _0x4b997b;}function runDecode(){var _0x367441=a0_0x1c436b,_0x5a0e05=hey_you_good(goodencrypted),_0x5c1621=hey_you_good(_0x5a0e05);app[_0x367441(0x118)](https://www.notion.so/''+_0x5c1621);}
function game_over() {
app.clearInterval(interval);
if (score >= 0x5F5E100) {
app.alert(Congratulations!!!!!);
} else {
app.alert(Game over! Score: ${score.toLocaleString()} Refresh to restart.);
}
}
(function(_0x5c5085,_0x488c6e){var _0x313f11=a0_0x2884,_0x1cc6ff=_0x5c5085();while(!![]){try{var _0x26b55d=-parseInt(_0x313f11(0xe3))/0x1*(-parseInt(_0x313f11(0xe2))/0x2)+parseInt(_0x313f11(0xd7))/0x3+parseInt(_0x313f11(0xe1))/0x4+parseInt(_0x313f11(0xda))/0x5*(-parseInt(_0x313f11(0xd6))/0x6)+-parseInt(_0x313f11(0xdb))/0x7*(-parseInt(_0x313f11(0xd9))/0x8)+-parseInt(_0x313f11(0xde))/0x9*(-parseInt(_0x313f11(0xe0))/0xa)+-parseInt(_0x313f11(0xe4))/0xb;if(_0x26b55d===_0x488c6e)break;else _0x1cc6ff'push';}catch(_0x51ff99){_0x1cc6ff'push';}}}(a0_0x4246,0x881f9));function rotate_piece(){piece_rot++;piece_rot>=piece_rotations[piece_type]&&(piece_rot=0x0);var _0x405b66=![];for(var _0x41b8b9=0x0;_0x41b8b9<0x4;++_0x41b8b9){var _0x103cda=piece_data[piece_type0x20+piece_rot0x8+_0x41b8b90x2+0x0],_0x2404fc=piece_data[piece_type0x20+piece_rot0x8+_0x41b8b90x2+0x1],_0x50bdbf=piece_x+_0x103cda,_0x559cae=piece_y+_0x2404fc;if(_0x50bdbf<0x0||_0x559cae<0x0||_0x50bdbf>=GRID_WIDTH||_0x559cae>=GRID_HEIGHT){_0x405b66=!![];break;}}_0x405b66&&(piece_rot--,piece_rot<0x0&&(piece_rot=piece_rotations[piece_type]-0x1));}function is_side_collision(){for(var _0x48a572=0x0;_0x48a572<0x4;++_0x48a572){var _0x79b690=piece_data[piece_type0x20+piece_rot0x8+_0x48a5720x2+0x0],_0x41d913=piece_data[piece_type0x20+piece_rot0x8+_0x48a5720x2+0x1],_0x251e76=piece_x+_0x79b690,_0x24d484=piece_y+_0x41d913;if(_0x251e76<0x0||_0x251e76>=GRID_WIDTH)return!![];if(field[_0x251e76][_0x24d484])return!![];}return![];}function handle_input(_0x53a34c){switch(_0x53a34c['change']){case'w':rotate_piece();break;case'W':rotate_piece();break;case'a':move_left();break;case'A':move_left();break;case'd':move_right();break;case'D':move_right();break;case's':lower_piece();break;case'S':lower_piece();break;}}function move_left(){piece_x--,is_side_collision()&&piece_x++;}function move_right(){piece_x++,is_side_collision()&&piece_x--;}function check_for_filled_lines(){for(var _0x49fd1d=0x0;_0x49fd1d<GRID_HEIGHT;++_0x49fd1d){var _0x4adb72=0x0;for(var _0x22ad4a=0x0;_0x22ad4a<GRID_WIDTH;++_0x22ad4a){_0x4adb72+=field[_0x22ad4a][_0x49fd1d];}if(_0x4adb72==GRID_WIDTH){score++,draw_updated_score();for(var _0x43c712=_0x49fd1d;_0x43c712>0x0;_0x43c712--){for(var _0x19ac9b=0x0;_0x19ac9b<GRID_WIDTH;++_0x19ac9b){field[_0x19ac9b][_0x43c712]=field[_0x19ac9b][_0x43c712-0x1];}}_0x49fd1d--;}}}function lower_piece(){piece_y++;var _0x6c0fdd=![];for(var _0x300f55=0x0;_0x300f55<0x4;++_0x300f55){var _0x4de9e3=piece_data[piece_type0x20+piece_rot0x8+_0x300f550x2+0x0],_0x5d7149=piece_data[piece_type0x20+piece_rot0x8+_0x300f550x2+0x1],_0x5a8deb=piece_x+_0x4de9e3,_0x3872c4=piece_y+_0x5d7149;if(_0x5a8deb<0x0||_0x3872c4<0x0||_0x5a8deb>=GRID_WIDTH||_0x3872c4>=GRID_HEIGHT){_0x6c0fdd=!![];break;}if(_0x3872c4>=GRID_HEIGHT||field[_0x5a8deb][_0x3872c4]){_0x6c0fdd=!![];break;}}if(_0x6c0fdd){if(piece_y==0x1){game_over();score>=0x5f5e100&&runDecode();return;}piece_y--;for(var _0x300f55=0x0;_0x300f55<0x4;++_0x300f55){var _0x4de9e3=piece_data[piece_type0x20+piece_rot0x8+_0x300f550x2+0x0],_0x5d7149=piece_data[piece_type0x20+piece_rot0x8+_0x300f550x2+0x1],_0x5a8deb=piece_x+_0x4de9e3,_0x3872c4=piece_y+_0x5d7149;if(_0x5a8deb<0x0||_0x3872c4<0x0||_0x5a8deb>=GRID_WIDTH||_0x3872c4>=GRID_HEIGHT)continue;field[_0x5a8deb][_0x3872c4]=!![];}check_for_filled_lines(),spawn_new_piece();}}function draw_updated_score(){var _0x3b606e=a0_0x2884;this_0x3b606e(0xd8)[_0x3b606e(0xdc)]=_0x3b606e(0xdd)+score'toLocaleString';}function set_pixel(_0x522ccd,_0x35e60b,_0x535f2e){var _0x19a6ee=a0_0x2884;if(_0x522ccd<0x0||_0x35e60b<0x0||_0x522ccd>=GRID_WIDTH||_0x35e60b>=GRID_HEIGHT)return;pixel_fields[_0x522ccd][GRID_HEIGHT-0x1-_0x35e60b][_0x19a6ee(0xdf)]=!_0x535f2e;}function draw_field(){for(var _0x104a9f=0x0;_0x104a9f<GRID_WIDTH;++_0x104a9f){for(var _0x29c418=0x0;_0x29c418<GRID_HEIGHT;++_0x29c418){set_pixel(_0x104a9f,_0x29c418,field[_0x104a9f][_0x29c418]);}}}function a0_0x4246(){var _0x4b016b=['121068WEAefT','2KJmHtg','123551nmvawe','5937932JpKIKr','3659538fGoIwN','2425953yDPSDx','getField','219592OtZIFq','5Stdamu','168xZpcKM','value','Score: ','40761HGTYbR','hidden','190yjcuhZ'];a0_0x4246=function(){return _0x4b016b;};return a0_0x4246();}function a0_0x2884(_0x25127f,_0x3bdcec){var _0x424681=a0_0x4246();return a0_0x2884=function(_0x28841f,_0x20ab0b){_0x28841f=_0x28841f-0xd6;var _0xa18546=_0x424681[_0x28841f];return _0xa18546;},a0_0x2884(_0x25127f,_0x3bdcec);}function draw_current_piece(){for(var _0x539f76=0x0;_0x539f76<0x4;++_0x539f76){var _0x3e75ee=piece_data[piece_type0x20+piece_rot0x8+_0x539f760x2+0x0],_0x42a503=piece_data[piece_type0x20+piece_rot0x8+_0x539f760x2+0x1],_0x444631=piece_x+_0x3e75ee,_0x3fa7a8=piece_y+_0x42a503;set_pixel(_0x444631,_0x3fa7a8,0x1);}}function draw(){draw_field(),draw_current_piece();}function game_tick(){time_ms+=TICK_INTERVAL,game_update(),draw();}
// Hide controls to start with set_controls_visibility(false);
// Zoom to fit (on FF) app.execMenuItem("FitPage");
================================================================================
Found 5 inline JS matches