├── README.md └── maxim-tokenizer ├── config.lua ├── fxmanifest.lua └── server └── server.lua /README.md: -------------------------------------------------------------------------------- 1 | # Maxim Tokenizer 2 | Wil jij je server beveiligen tegen hackers die doormiddel van events triggeren geld/wapens ontvangen? Dan kunt u dit nu gratis en voor niks gaan beveiligen met mijn tokenizer die ervoor zorgt dat er telkens een token wordt mee gestuurd die later wordt gechecked in de event, wanneer de token niet klopt wordt de speler gebanned en wanneer de token wel klopt wordt die weer veranderd. Dit om event loggers tegen te gaan. 3 | 4 | Dit zal geen false bans geven aangezien het op spelerId/resourcenaam wordt gezet/gechecked/veranderd en niet alleen op resourcenaam zoals veel andere tokenizers! 5 | 6 | ## Documentatie 7 | 8 | ### ClientSide 9 | 10 | ```lua 11 | local SecurityToken = nil 12 | 13 | Citizen.CreateThread(function() 14 | while SecurityToken == nil do 15 | Citizen.Wait(1500) 16 | TriggerServerEvent("maxim:request:servertoken", GetCurrentResourceName()) 17 | end 18 | end) 19 | 20 | RegisterNetEvent('maxim:receive:servertoken', function(resourceName, token) 21 | if resourceName == GetCurrentResourceName() then 22 | SecurityToken = token 23 | end 24 | end) 25 | ``` 26 | 27 | ### Trigger een serverevent waarbij je de juiste token meestuurd 28 | 29 | ```lua 30 | TriggerServerEvent("maxim:secured:event", 1000, SecurityToken) 31 | ``` 32 | 33 | ### ServerSide Export Check Token 34 | 35 | ```lua 36 | exports['maxim-tokenizer']:checkToken(source, GetCurrentResourceName(), token) 37 | ``` 38 | 39 | ### Voorbeeld 40 | 41 | ```lua 42 | RegisterServerEvent("maxim:secured:event", function(geld, token) 43 | if exports['maxim-tokenizer']:checkToken(source, GetCurrentResourceName(), token) then 44 | print(geld) 45 | end 46 | end) 47 | ``` 48 | 49 | Voor verdere vragen https://discord.gg/NN6EMzEuqt 50 | -------------------------------------------------------------------------------- /maxim-tokenizer/config.lua: -------------------------------------------------------------------------------- 1 | Maxim = {} 2 | 3 | Maxim.Ban = function(spelerId, data) -- data is een table waarin alle informatie wordt meegestuurd over de resource/parameter (token) 4 | print(spelerId, json.encode(data)) 5 | DropPlayer(spelerId, "Heeft een event getriggered met een executor") 6 | end -------------------------------------------------------------------------------- /maxim-tokenizer/fxmanifest.lua: -------------------------------------------------------------------------------- 1 | fx_version "cerulean" 2 | game "gta5" 3 | 4 | author "Maxim#0001" 5 | 6 | server_scripts { 7 | "config.lua", 8 | "server/server.lua" 9 | } 10 | 11 | server_export "checkToken" -------------------------------------------------------------------------------- /maxim-tokenizer/server/server.lua: -------------------------------------------------------------------------------- 1 | -- This file was generated using Luraph Obfuscator v13.5.6 2 | 3 | return(function(vY,yY,YY,LY,gY,HY,kY,NY,tY,sY,bY,ZY,IY,mY,JY,XY,fY,pY,KY,RY,xY,F,...)local t=(pcall);local g,N,GY,k,p,x,u,X,J,I,G=tonumber,gY,0X5,nil,nil,nil,nil,nil,nil,nil,(nil);local y=(yY);while GY<0X8 do do if not(GY<=3)then if GY<=0X0005 then if GY==0X00004 then x=KY.rep;GY=0X6;else k=tY;GY=0x1;end;else if GY==6 then u={5,0X2,0X03};GY=0X3;else J=NY;GY=0;end;end;else if GY<=1 then if GY==0 then I=KY.match;GY=0X2;else p=KY.sub;GY=4;end;else if GY==2 then G=_ENV;GY=0X8;else do X=string.char;end;GY=7;end;end;end;end;end;local f=(setmetatable);GY=0X0003;local S,s,z,m,Q=nil,nil,nil,nil,(nil);while"\z \u{065}\068D\z \042\z \x3B\u{027}"do if not(GY<=0X1)then if GY<=0X2 then m=coroutine.wrap;GY=0X00001;else if GY~=0X3 then z=2147483648;GY=2;else S=0X1;do GY=0X0;end;end;end;else if GY==0X00 then s=YY;do GY=0X4;end;else Q=z-0X1;break;break;break;break;end;end;end;local b=next;GY=1;local R,H=nil,(nil);do while GY~=3 do do if not(GY<=0x0)then do if GY==0x001 then R=string.unpack;do GY=0x0;end;else H=pY;GY=3;end;end;else do GY=2;end;end;end;end;end;GY=0;local a,O,w,L,h,v,M,i,e,E,l,C=nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,(nil);while true do if GY<=0X6 then if not(GY<=2)then if GY<=0x04 then if GY~=3 then e=0X0000100000000;GY=0X006;else do a="LPH)59A2700200440256B30B7F00D65H00694A0100B5323420436HFF89C74473F1EF1E3H000A0C100A032H000A0C0F0A032H000A0C0E0A032H000A0B060A4E2H000A01000A462H000A2H010A2E2H002H0AE2010A4A2H002H0AE8010A4A00DE012H0A1A0A3841CB012H0A400A1EC1014A2H0A570A024AE5012H0A4A0A5045AD012H0A760A4A65BC012H0A370A06B301262H0AF1010A0CD701BD012H0A7B0A569101082H0AB5010A4BDA01000A0B010A4E2H002H0A000A112H000A0C010A032H002H0A6D0A122H000A0B000A4E2H000A01000A3B2H000A01000A462H000A0C010A032H000A01000A462H000A01000A3B01002H0A000A2A01002H0A000A2700EB012H0A6D0A146DCF85387EB5872H003B0400AE023D57F00D00730F3H00013H00083H00013H00093H00093H00D04E5C5D0A3H000A3H00FDF8A44E0B3H000B3H0095DE1D6B0C3H000C3H00782E0E590D3H000D3H00B8C84D2B0E3H000E3H0093A3EA070F3H00193H00013H001A3H001A3H00073H001B3H001C3H00013H001D3H001D3H00073H001E3H001F3H00013H00203H00213H00073H00223H00223H000B3H00233H002A3H00014H00714A010081F6E91B3H005942DC04EDF0148F57F4D02H80EA8D7F26E4C33330EB0D5AAEF42F340CFE6HFFE9073H006CD577455EC923E9153H00CBB463A0F2E0FA8160E352D0F7DFEC17509754CBE1E90F3H00E8513C7E2D1671F22F5EAF74B8E65DE90C3H008F78BE0C9DF9C43C44E218BDE9083H007B648B30141A31ACE90C3H00C3AC0A8548124A5902228C63E9073H00AF98CED2FBB256FC7BBE6CB2FB1E3H000A0C0D0A032H000A2H0C0A032H000A0C0B0A032H000A0B2H0A4E2H000A01050A462H000A012H0A2E2H002H0AE6010A4A2H002H0AEB010A4A003B2H0A470A0E16652H0A350A4AAE0192012H0AD0012H0AE401FF012H0A2B0A27B001B2012H0AA3010A35BD01282H0A600A248201000A01080A462H002H0A000A202H010A01060A2F2H000A01080A462H000A0B010A4E2H010A01020A2F2H000A01050A462H000A0C010A032H000A01050A462H000A2H010A2E01000A0B020A4E02002H0A000A592H000A0C010A032H002H0AD6010A122H000A01030A462H000A0C010A032H000A01050A462H000A01000A2E01000A0B000A4E02002H0A000A592H000A01080A462H000A0C010A032H000A01050A462H000A0B030A4E2H010A01040A2F2H000A0B040A4E2H000A01070A3B00AD012H0A650A0664E149A01DB8872H00E30800C10089DB887B01FD1C3H00013H00083H00013H00093H00093H0005EC04750A3H000A3H00503DD9450B3H000B3H00EF8713400C3H000C3H00BE6C014A0D3H000D3H00B2E3093E0E3H000E3H008DC3312E0F3H000F3H00013H00103H00103H00103H00113H00143H00013H00153H00163H00103H00173H001D3H00013H001E3H001E3H00123H001F3H00253H00013H00263H00263H00133H00273H00283H00013H00293H00293H00133H002A3H002C3H00013H002D3H002E3H000F3H002F3H00313H00013H00323H00333H000D3H00343H00353H00013H00363H00373H000D3H00383H003A3H000F3H003B3H003B3H00163H003C3H003D3H00013H003E3H003E3H00163H003F3H00463H00014H006E4A0100D538E91B3H008E8FFC10F168FC5BAB949234105754BBDAD44367ECB3850ED2743FE9083H002532C3AC783231F0E9083H00FDEA165A70B77EA8E9073H00D5A29646EFBA76E90F3H0034AD86FC173C53389DDC950642EC4FE9143H004F242FC566AC0CFA0578075E5A958FAAC1AEF5A3DD00A80331171F3H000A0C2D0A032H000A0C2C0A032H000A0C2B0A032H000A0B040A4E2H000A01070A462H000A01080A2E2H002H0AE5010A4A2H002H0AE8010A4A003C2H0A250A2101CE012H0A92010A5033FF012H0AAD010A24BC01A1012H0A9C010A3962782H0AF9010A1F014C2H0AF4010A278701000A0C1F0A032H002H0A030A3503000A0C010A032H000A01070A4603BE012H0A84010A518601000A0C020A03002H010A030A0F03000A0CF93HFF0F0A0300042H0A010A1E03000A0C260A032H000A01030A4603000A0CFA3HFF0F0A032H000A01030A4603000A0C010A032H000A01070A46032H010A030A0F03000A0C010A032H000A01070A4603002H0A000A202H042H0A000A1E03000A01030A4603000A0C010A032H000A01070A46032H010A030A0F03000A0C010A032H000A01070A4603002H0A030A3503BE012H0A84010A518601042H0A010A1E03000A0C120A03002H010A030A0F03000A0C090A032H000A01020A4601000A01030A4602000A0C000A030004010A020A0F02002H0A000A5702000A0C010A032H002H0A1C0A1202000A01030A4603000A0CF53HFF0F0A032H002H0A030A3503000A0CE13HFF0F0A4703000A0CDE3HFF0F0A032H002H0A050A3F03000A0C010A032H002H0A790A1203422H0AC8010A2AC701000A01050A4603000A0C010A032H000A01070A4603000A01000A2E04002H0A010A0705BE012H0A82010A518801BE012H0A84010A518901000A0CF43HFF0F0A030063751165B3872H00360400FE0074CBAF24013F0D3H00013H00083H00013H00093H00093H008BA1232C0A3H000A3H000C5EA75C0B3H000B3H00E0247E0E0C3H000C3H00488A7B160D3H000D3H00CE7B825A0E3H000E3H00570B210E0F3H000F3H000DB76577103H00103H00929BFF16113H00113H0018F26402123H00123H00228F6A1A133H00153H00013H00163H00183H00044H006A4A0100F9C7E9073H00ABBCD18F64D76DE91E3H00BA5368FD7E366AF32A8E9DA35600B578279C38C6E572118E11BDD3CED1BBEBB11948D4E91E3H000A0C110A032H000A0C100A032H000A0C0F0A032H000A0B030A4E2H000A01030A462H000A01040A2E2H002H0AE3010A4A2H002H0AEA010A4A003B2H0AD2010A3B2AE7012H0A0C0A3C8401A8012H0ADE010A25CE01D5012H0AF8010A405C422H0AEF010A441EE1012H0A1B0A033596012H0A1A0A182H7A2H0AD4010A3C47382H0AEF010A56A401132H0AD9010A0611000A01000A4601000A2H010A2E02BE012H0A82010A518501002H0A020A1902002H0A000A2D01AD012H0A650A0664B7F49A25B3872H002A04000E00E493FD7500260F3H00013H00083H00013H00093H00093H008794C07E0A3H000A3H00A7C06F390B3H000B3H00CA87940A0C3H000C3H006B3E3C700D3H000D3H00B5CAC51B0E3H000E3H009B9A16040F3H00113H00013H00123H00123H00083H00133H00143H00013H00153H00163H00083H00173H00183H00013H00193H00193H00083H001A3H001B3H00013H001C3H001F3H00084H006D4A01002923E9183H00D0B916F4F94EDCAB0F38CFD57FA8DA5668CFF2B4A38CA43CE9043H00C871A967E9323H00DCA581FA0AB45B9C534CB74522F466E6ACDA23BA2DF192D0BA3D8477A50108405D29E73092FE4007CACCEB84F02CFFE5579CE9073H00C61F7E2283A2F6E9073H00FDEE71872C27CD16905B3C4AF01E3H000A0C0D0A032H000A2H0C0A032H000A0C0B0A032H000A0B030A4E2H000A01060A462H000A01070A2E2H002H0AE6010A4A2H002H0AED010A4A00762H0A690A4B61B7012H0A540A09A901B3012H0A4B0A0E99013B2H0A790A44F801A0012H0A030A1D39C4012H0AB8010A02CE01000A01030A462H000A0C010A032H000A01060A460004010A000A0F2H000A0C010A032H000A01060A462H000A01020A2E01000A01000A4602000A0C010A032H000A01060A4602002H0A000A5702000A0C010A032H002H0A630A1202000A2H010A2E2H032H0A010A5401002H0A000A2D00AD012H0A650A06647C61CB66B3872H0022040087002731CB0A0018123H00013H00083H00013H00093H00093H0001AB4B1A0A3H000A3H0018D5CD610B3H000B3H0058BC906B0C3H000C3H00291460580D3H000D3H0054B182720E3H000E3H00CB893E140F3H000F3H00BBDFBC1B103H00103H0085F10766113H00113H00611B5B31123H00133H00013H00143H00143H001A3H00153H00163H00013H00173H00183H001A3H00193H001A3H00013H001B3H001C3H001A3H001D3H001E3H00013H001F3H00233H001A4H006E4A0100E90334011CF4ABFD3HFFE90A3H001CE5626C52844ADD427334003665C44HFFE9063H00FE9764287975E9083H006CB506DA23923EDEE9083H00149DAB48E329FEDC6E242904BEF41E3H000A0C1B0A032H000A0C1A0A032H000A0C190A032H000A0B030A4E2H000A01040A462H000A01070A2E2H002H0AE3010A4A2H002H0AEC010A4A00F6012H0A9D012H0ACA012A2H0A620A4259B9012H0AC3010A3205362H0A492H0AC301BF012H0AAF010A12EB01332H0A382H0A8401482H0A4C0A3C5D1A2H0A3C0A49A101AC012H0AC4010A383A000A0C2H0A0300422H0AC8010A2AC701002H0A000A4801000A0C010A032H002H0AB3010A1201000A2H010A2E02000A0C060A032H000A01030A4601000A0C060A032H000A01000A2E03000A0CF73HFF0F0A032H000A01040A2E2H000A0CFA3HFF0F0A0300022H0A000A5400BF012H0AEF010A32ED0105010A010A0F01000A01020A2E02000A0CF73HFF0F0A0300442CD66BB3872H005509005A00A8C8444D03E9423H00013H00083H00013H00093H00093H00084C99430A3H000A3H0037FE282A0B3H000B3H00595698380C3H000C3H00581545780D3H000D3H00811218550E3H000E3H00318B2E370F3H000F3H00965E512E103H00103H00013H00113H00123H001F3H00133H00153H00013H00163H00163H001F3H00173H00183H00013H00193H00193H001F3H001A3H001B3H00013H001C3H001E3H001F3H001F3H001F3H00013H00203H00223H002D3H00233H00253H002E3H00263H00263H002D3H00273H00283H00013H00293H002B3H002D3H002C3H002D3H00013H002E3H002E3H002D3H002F3H00313H002E3H00323H00333H00013H00343H00343H002E3H00353H00363H002D3H00373H00393H002E3H003A3H003C3H00013H003D3H003E3H002D3H003F3H00403H00013H00413H00413H001E3H00423H00433H00013H00443H00443H001E3H00453H00463H00013H00473H00483H001E3H00493H00493H00213H004A3H004B3H00013H004C3H004C3H00213H004D3H00503H00013H00513H00523H00223H00533H00563H00013H00573H00583H00223H00593H005A3H00013H005B3H005B3H00203H005C3H00603H00013H00613H00623H00203H00633H00673H00013H00683H00683H00253H00693H006A3H00013H006B3H006C3H00253H006D3H006E3H00013H006F3H00733H00253H00743H00753H00013H00763H00763H00253H00773H00783H00013H00793H00793H00263H007A3H007B3H00013H007C3H007F3H00263H00803H00813H00013H00823H00823H00283H00833H00843H00013H00853H00883H00283H00893H00893H00263H008A3H008A3H00014H00784A0100DD6EE90F3H00BCB5ACF633076792066AC95D069A1EE91B3H005F6CC41839E0840313ECBA4C288F3CD392FC9B6F24BB5DF60AAC57E9073H0022C3C6CAEF8646E90F3H00853AA2082380BFD40128B132562033E9143H007C75F7D976F894DE5504EFB2CA21C7CE7162CD9FE9363H00F881214134F4B7FD8174C457F134277C6F25E14E140543E006D684AB9455D1142485A10C34FF71FF04630A9CB4A3357CA1252E02D45FE9083H004263074C4482CD50E90C3H005A1B83740146D8199A86605BE9073H001E4FEF3DD24DA3E90E3H0031B6835CBA96A45B2ADC5F28944CE9093H00FB18B8378AE77E9DA7E9053H00F099F74C4B00E90E3H00F5EA58C07D116E34A367C454BA6DE90A3H009FAC1251CC5DA4E363C1E9383H00DD326F4BB63A912733323AED33AA01965D436F84168B651A94905AB1D6EB37BCA377AA86BD7F583D7432B3677A2852130192BCCCC6CD74560CDAF660945B1F3H000A0C3E0A032H000A0C3D0A032H000A0C3C0A032H000A0B040A4E2H000A01100A462H000A01110A2E2H002H0AE6010A4A2H002H0AEB010A4A006E2H0AE5010A1256B2012H0ADF010A502H5B2H0AD2010A4775522H0A1C0A1A64242H0ACB010A008001C7012H0AE5010A4A87013C2H0AA8010A1AF201000A0C2F0A0300022H0A030C5653000A0C0B0A032H000A01020A4603000A0C010A032H000A01100A460306010A030A0F03000A0C010A032H000A01100A4603012H0A030A3503000A0C010A032H000A01100A4603002H0A030A3503000A0CF33HFF0F0A032H000A0C3F0A032H000A0C1F0A032H000A012H0A2E04000A01000A4605000A0C120A0300BE012H0A82010A518601002H0A000A2005000A0C110A032H002H0A000A5505000A0C010A032H002H0A6E0A1205000A010F0A2E2H062H0A040A5404002H0A000A2D03000A0C010A032H002H0A240A1203000A01020A46030B010A030A0F03000A0CF23HFF0F0A032H002H0A000A5903000A0C010A032H002H0A110A1203000A0C2H0A0300572H0AAB010A2BB101000A0CEF3HFF0F0A0300020A01070A2F05010A01090A2F05000A0CF73HFF0F0A032H000A01020A4603000A0C010A032H000A01100A460308010A030A0F03000A0CE13HFF0F0A0300422H0AC8010A2AC701000A01020A460306010A030A0F03000A0C010A032H000A01100A4603012H0A030A3503000A0C010A032H000A01100A46030C010A030C53F23HFF0F000A0CCA3HFF0F0A030006010A040A0F04000A0C010A032H000A01100A4604012H0A040A3504572H0AAE010A2BB001000A0C140A032H002H0A010A2H07002H0A030A0708002H0A050A3F04000A0C040A032H000A01040A4604000A0C040A0300BE012H0A82010A518801000A0CF83HFF0F0A032H002H0A000A4D04002H0A000A2H04000A2H010A2E05000A0CFA3HFF0F0A032H002H0A000A5703000A01020A4604000A0CEB3HFF0F0A032H000A01020A4603000A0C010A032H000A01100A462H03010A030A0F03000A0CF83HFF0F0A0300052H0A000A1E04000A0CEE3HFF0F0A032H000A01020A4603000A0C010A032H000A01100A460308010A030A0F03000A0C010A032H000A01100A4603000A010E0A2E04000A01000A4605000A0C010A032H000A01100A4605002H0A000A0706002H0A000A5505000A01050A2E2H062H0A040A5404002H0A000A2D03000A0C010A032H002H0AA1010A1203000A01020A4603000A0C010A032H000A01100A46030B010A030A0F03000A0C010A032H000A01100A4603572H0AAB010A2BAF01002H0A000A2005010A01090A2F05000A01020A4606000A0C010A032H000A01100A462H06010A060A0F06000A0C010A032H000A01100A4606012H0A060A3506002H0A060A352H060A010D0A2F05020A01070A2F05002H0A000A5903000A0CB43HFF0F0A0300AC3DE622B3872H00863200B60296D2F50800105H00984A0100A100E9063H00A52E3559FDF7E90E3H003B841E936B85342E623854DC8BD5E9063H001922944B98F734047H00E9073H00AF78958BF1B0A0E9063H004E772ECCCA2F34017H00E9073H00A48D665C691D1634E8036H00341A7H00E9073H00236C0A816AA555E9053H0042EB4678D6E90C3H00CF985E55DD999207F904ACAAE90A3H007BC4D959315DFCF826FE34027H00E9083H0075FE498534006E26E9083H003DC68CD74F49B268E90E3H00058ED0E59D9FFE90AC221E2ADDDF34617H003400016H00E9073H0063ACF87F337311E5E9073H00822H2B028266AEE9093H00414AAC634CC0B3C571E9083H0012BB768C01EC0DA5E9073H00DA8393EA5F0354E9063H0099A23FED0D6334177H00E9053H002FF80F037FE90A3H005C4591A1857B61926B43E90C3H0096BFD7AE8ECC9FA12CEE3EDEE9093H00C26BD6F249237DE0E4E9063H00337C3AB17B8534FF7H00E94H00E9073H004952A41B5DD9A8E90A3H00A8116EAC7F810CCE1EBEE9073H00E22H8BE2351A5AE9063H00A1AA0CC3E97AE9083H0037001B136C0328A2E9083H00FFC8424E91457BF9348H005FE90D3H00C790A65DC691A907FB39A3A616E9063H00BCA54D3F41FBE90A3H00923BDB32957086323B77E9083H004C35E1B8D3784EA7E9073H0014FDD9F0152H8E07C5632932AC203H000A0CF6020A032H000A0CF5020A032H000A0CF4020A032H000A0B2H0A4E2H000A01140A462H000A011B0A2E2H002H0AE0010A4A2H002H0AE9010A4A006F2H0AF0010A13A601532H0A210A01AF01592H0A170A21279C012H0A8A010A1A9A01F6012H0AF1010A099601142H0AA7010A15A901FB012H0A280A311F000A0CE7020A0300512H0ABF010A07BF01002H0A010A2320422H0AC8010A2AC701000A01060A2E2A002H0A290A072B000A01060A2E2C000A0CAD010A252A222H0A220A4B24000A0C020A0300572H0ACF010A2BCE01000A0CFC3HFF0F0A032H000A0CAF010A4724000A0C88010A032H000A0C690A3E24000A0CE9010A0300572H0AB7010A2BCB01000A0C000A0300572H0AC8010A2BCC01032H0AB0010A08B001000A0C1B0A1020572H0ACD010A2BCF01000A0C8C020A032H002H0A290A0728000A0CEA010A032H000A0C1A0A4725000A0CC3020A032H000A0CEA010A0216000A0CBD020A0300222H0A220A1A24000A0CEB3HFF0F0A0300232H0A100A3524000A0C010A032H000A01140A462406010A240A0F25000A0C010A032H000A01140A46250E010A240A0F26572H0AB8010A2BD201000A0C000A0300BE012H0AA7010A51AA01002H0A000A5527000A0C000A0300032H0AB6010A08B6011C010A270C3ABC01000A0C470A032H002H0A250A0729000A0CE73HFF0F0A032H000A0C080A4320000A0CCF3HFF0F0A032H002H0A290A0728000A0C020A032H002H0A000A4D29000A0CFC3HFF0F0A032H000A0CCC010A032H000A0CB8010A3E29000A0CB4010A030015010A210A341D000A0CF53HFF0F0A0300200A01260A2F21200A01200A2F21200A012D0A2F21000A0C250A0300200A012H0A2F21200A01160A2F21000A0C000A0300200A012F0A2F21200A01230A2F21000A0C2A0A03001C0A011E0A2F21200A012E0A2F21200A01190A2F21200A01250A2F21000A0CF53HFF0F0A0300572H0ACD010A2BD101000A0C100A032H000A0B020A4E20000A0C000A032H002H0A000A2021000A0CF53HFF0F0A032H002H0A010A2726000A0C010A032H002H0A470A1226002H0A000A1623000A0C010A032H002H0ADD010A1223000A0B010A4E24000A0C0E0A0300BE012H0A87010A51A401000A0C050A0300572H0ACD010A2BCF01000A2H0C0A032H002H0A000A4824000A0CE5020A4724000A0C120A032H002H0A000A2023BE012H0AA3010A51A601002H0A000A4822572H0ACD010A2BCE01000A0CF63HFF0F0A0300200A01170A2F21000A0C070A032H002H0A220A0725000A0CE23HFF0F0A0300572H0ACD010A2BD001572H0ACD010A2BD101000A0CE53HFF0F0A03002A2H012B0A2C21000A0CEB3HFF0F0A0300200A010C0A2F21000A0CFC3HFF0F0A0300200A01020A2F21000A0CCA3HFF0F0A032H000A0C750A0300572H0AD4010A2BD301000A0C000A032H000A0C8E010A032H002H0A000A3329000A0CFB3HFF0F0A0300F8012H0AD0010A28F101212H0A260C56953HFF0F000A0C020A032H000A0C9C3HFF0F0A0929000A0CB23HFF0F0A032H002H0A000A4D27BE012H0AA9010A51A501002H0A220A0727000A0C000A0300272H0A250A1E20000A0C8C3HFF0F0A032H000A0C80010A032H002H0A000A2022002H0A000A3323000A2H0C0A032H002H0A200A0722000A0C040A0300BE012H0A87010A51A301000A0CFC3HFF0F0A0300702H0A420A4742000A0C090A032H002H0A000A2823002H0A000A5921000A0C010A032H002H0AB7010A1221002H0A000A2021000A0CF13HFF0F0A0300BE012H0A8E010A51A601572H0ACB010A2BD001000A0CF53HFF0F0A032H000A0CF8FE2HFF0F0A5A24222H0A220A4224000A0C240A030008010A290C4F1E000A0C040A032H000A01220A2E29572H0AD4010A2BD301002H0A250A5129000A0CFA3HFF0F0A032H000A0CE5FE2HFF0F0A030013010A2F0A3D2FBE012H0AB1010A519301000A0C0B0A032H002H0A000A482F000A0C010A032H002H0A580A122F112H0A2F0A382F000A0C090A0300112H0A120A172F000A0C000A0300132H0A2F0A292F000A0CF43HFF0F0A0300BE012H0A83010A51B101000A0C050A032H000A0CFE010A03002F2H0A2E0A1E2A000A0CF73HFF0F0A03002F2H0A140A352F000A0CFC3HFF0F0A0300BE012H0AA7010A51B201572H0AD9010A2BDC01000A0CED3HFF0F0A032H000A0CFE010A022A000A0CCB3HFF0F0A032H002H0A000A202A000A01060A2E2BBE012H0AAB010A51AE01000A01060A2E2D000A0CF0010A252B002H0A240A0723002H0A220A0724572H0ACD010A2BD001002H0A220A0726002H0A220A0727BE012H0AA4010A51AA01002H0A000A5527000A0C010A032H002H0A550A1227002H0A220A0728002H0A010A2728000A0C010A032H002H0AEC010A1228002H0A000A2224002H0A220A0724002H0A220A0725572H0ACD010A2BD101002H0A250A1925002H0A220A0726000A01220A2E27002H0A260A1926000A01220A2E27BE012H0AA4010A51AA01002H0A270A1927002H0A040A3F24572H0ACD010A2BCF01242H0A220A1E2H222H0A220A3524000A0C010A032H000A01140A462H242H0A220A1E22152H011E0A2C21000A0CB3FE2HFF0F0A4710000A0C85010A032H000A0C240A032H002H0A040A072B000A0C000A0300572H0AD5010A2BD701002H0A000A552B000A0C010A032H002H0A000A282B572H0AD6010A2BD301000A0CF73HFF0F0A032H002H0A220A0724000A0CDA010A03001F010A270C3AB701000A0CAEFE2HFF0F0A0300222H0A210C1BE0FE2HFF0F000A0C280A032H000A0CB1FE2HFF0F0A0220000A0CA1FE2HFF0F0A032H000A0CC7FE2HFF0F0A030006010A2B0A0F2C000A0C010A032H000A01140A462C0E010A2B0A0F2D002H0A280A072H2E2H0A2D0A1E2C000A0CF83HFF0F0A0300222H0A220A2124000A0CD0010A032H000A0C1B0A4723000A0CF03HFF0F0A030028010A270C3A07000A0C9D3HFF0F0A030029010A250A1C29000A0CFBFE2HFF0F0A4729000A0C610A0300572H0AD1010A2BD501702H0A470A2H47000A0C020A032H002H0A0C0A0729000A0CFB3HFF0F0A032H000A0CB1FE2HFF0F0A5A29BE012H0A82010A519C01572H0AC0010A2BC601002H0A000A552H1A2H0A150A1E14152H0A120A171A132H0A1A0A291A13010A1A0A3D1A572H0AC5010A2BC001000A0C8CFE2HFF0F0A0300BE012H0A8F010A51A301000A0C000A0300572H0ACB010A2BCD01002H0A000A552104010A210C3A12000A0C94010A0300BE012H0A9E010A51A601002H0A000A4124222H0A220A2924000A0C030A0300222H0A220A4924000A0CAE010A4724000A0C090A0300222H0A220A1725222H0A250A5225222H0A220A182H262H0A250A372H252H0A240A3924BE012H0AA6010A51A501000A0CF63HFF0F0A0300BE012H0AA6010A51A501000A0CF23HFF0F0A032H000A0CD13HFF0F0A0300572H0AC7010A2BCC01002H0A000A41211C0A011E0A2F1D1C0A012E0A2F1D000A0C1E0A032H002H0A000A201D000A0CFB3HFF0F0A03001C0A01260A2F1D1C0A01200A2F1D000A0C250A032H000A0B000A4E1B000A0C2H0A03001C0A012H0A2F1D1C0A01160A2F1D000A0C030A032H002H0A000A4D19000A01290A2E1A000A0CF83HFF0F0A03001C0A012F0A2F1D000A0C160A03001C0A010C0A2F1D000A0C050A0300012H0A040A0E17000A0C000A032H002H0A000A2018002H0A000A2019000A0C120A03002A2H012B0A2C1D000A0B030A4E1E000A0B050A4E1F572H0ABA010A2BCB01000A0CE03HFF0F0A4720000A0C150A032H000A0B040A4E1C000A0CE23HFF0F0A03001C0A01190A2F1D000A0C000A03001C0A01250A2F1D000A0CE53HFF0F0A032H002H0A040A4A17000A01220A2E18000A0CE53HFF0F0A03001C0A01230A2F1D1C0A01020A2F1D000A0CDA3HFF0F0A032H002H0A000A201A000A0C030A03001C0A012D0A2F1D1C0A01170A2F1D000A0CE23HFF0F0A032H000A01030A2E1B000A0CED3HFF0F0A032H002H0A000A2016000A0CF13HFF0F0A032H000A0CB23HFF0F0A032H000A0CA53HFF0F0A0300702H0A450A4745572H0AD4010A2BD301000A0CFC3HFF0F0A0300D3012H0A87010A478B01000A0C97FE2HFF0F0A032H000A01060A2E20002H0A100A5121000A0C000A032H000A01060A2E22000A0C853HFF0F0A2520000A01280A46002C010A000A0F2H000A0C010A032H000A01140A462H000A01280A4601000A0C010A032H000A01140A460100010A010A0F01000A0C010A032H000A01140A4601000A01280A4602000A0C010A032H000A01140A46020B010A020A0F02000A0C010A032H000A01140A4602000A01280A4603000A0C010A032H000A01140A460314010A030A0F03000A0C010A032H000A01140A4603000A01040A460410010A040A0F04000A2H010A4605000A01110A4606000A01270A4607000A01180A4608000A0C010A032H000A01140A4608000A01240A4609000A010D0A460A000A0C010A032H000A01140A460A000A01070A460B000A0C010A032H000A01140A460B000A01050A460C000A0C010A032H000A01140A460C000A011A0A460D000A011D0A460E000A0C010A032H000A01140A460E002H0A010A360F000A0C010A032H000A01140A460F002H0A010A4C10000A01090A2E11000A01120A2E12000A011B0A2E13002H0A000A2014000A01090A2E15000A01290A2E16000A01210A2E17000A01060A2E18000A0CFAFC2HFF0F0A25160F010A270C3AD9FE2HFF0F000A0CDAFE2HFF0F0A0300572H0ACB010A2BCE01002H0A000A5522000A0C010A032H002H0A7E0A122215010A220C53E0FD2HFF0F000A0C020A0300572H0AB1010A2BCD01000A0CF83HFF0F0A032H000A0CFAFE2HFF0F0A032H000A0CFEFD2HFF0F0A022B000A0CB1FE2HFF0F0A032H002H0A000A0824002H0A250A0730002H0A2D0A0731002H0A000A482F112H0A2F0A382F000A0C060A0300572H0AD3010A2BD901572H0AAC010A2BDA01000A0CF83HFF0F0A0300572H0AD9010A2BBC01000A0C000A032H000A0CFBFD2HFF0F0A03002F2H0A140A352F000A0C040A030013010A2E0A3D2E000A0CF93HFF0F0A0300132H0A2E0A292E000A0CFC3HFF0F0A032H002H0A2E0A1928112H0A120A172E000A0CFB3HFF0F0A032H000A0CDFFE2HFF0F0A0924000A0CD0FC2HFF0F0A032H000A0CC4FC2HFF0F0A4724000A0C040A0300222H0A220A3124000A0CFC3HFF0F0A0300572H0ACF010A2BCE01000A0CFC3HFF0F0A032H000A0CD1FC2HFF0F0A0300773AB85CB9872H00130200FE008E12180D008C5H00684A010071003E26FE5A57E21E3H000A0C0F0A032H000A0C0E0A032H000A0C0D0A032H000A0B040A4E2H000A2H010A462H000A01020A2E2H002H0AE6010A4A2H002H0AE9010A4A00EA012H0AF7010A3C0E87012H0A1D0A37C401072H0A0C0A39426F2H0A590A0D9301062H0A660A563F712H0A94010A4A2E6E2H0AE2010A02B601A4012H0A0D0A5140AD012H0A650A0664C97E2867B3872H00F3030095033872546000115H00684A01008500AED78C14A3E91E3H000A0C150A032H000A0C140A032H000A0C130A032H000A0B050A4E2H000A2H010A462H000A01020A2E2H002H0AE1010A4A2H002H0AEB010A4A00DE012H0A280A1E104B2H0AE8010A3248662H0A020A1A1E0E2H0A94010A159D01FC012H0A2B0A378D01FC012H0AAE010A1BB301422H0A060A50B401372H0A2E0A36B601AA012H0A320A25F401BD012H0A97010A51DA01F9012H0AEE010A03CA01BD012H0AAC010A058001000A0C010A032H002H0A000A142H002H0A000A2A01F8012H0AD0010A28D1013E4E284DB3872H00ED0300F103B2EEB360001D5H00684A01002D008C383D0632E11E3H000A2H0C0A032H000A0C0B0A032H000A0C2H0A032H000A0B030A4E2H000A2H010A462H000A01020A2E2H002H0AE2010A4A2H002H0AED010A4A00692H0A460A44A801B4012H0AE6010A4675362H0A5D0A3944C0012H0A90010A039801B5012H0AE4010A393B002H0A000A2A01EB012H0A6D0A146E422H0AC8010A2AC7013DD5A97BB3872H00F40B01001C1103EDC3022301F05H006C4A01006900E9083H0093B44E0BEBAD12B6E90A3H00FB5C57F79815289F026834017H00E9033H000DBE7489DA94120A051F3H000A0C150A032H000A0C140A032H000A0C130A032H000A0B030A4E2H000A2H010A462H000A01050A2E2H002H0AE0010A4A2H002H0AEC010A4A005B2H0A8F010A549001B5012H0AE2010A37AD01E2012H0A1B0A098001552H0A090A153693012H0AF2010A292C412H0A780A248701122H0A1E0A1DA101000A0C060A032H002H0A000A4D081C2H0A070A2B0DEB012H0A6D0A1470000A01020A2E03000A01000A4604000A0C090A032H002H0A000A2002002H0A000A2A03012H0A000A0B02000A0CF93HFF0F0A032H002H0A000A1604000A0C010A032H002H0ADA010A1204000A01020A2E05000A0C070A2503000A01030A2E05000A0C000A032H002H0A000A2A06000A0CF73HFF0F0A032H002H0A000A4503002H0A000A4103422H0AC8010A2AC701000A0C2H0A0203000A0CFB3HFF0F0A032H000A2H010A4608002H0A070A0709000A0C000A0300BE012H0A82010A518C01002H0A000A4808000A0C010A032H002H0A300A1208000A0CF63HFF0F0A4708000A0CDF3HFF0F0A0300062H0A020A352H072H0A000C56F33HFF0F000A0CF43HFF0F0A030036B8842DB3872H004708060002001400120013001100152800EEB4961100405H006E4A0100B500323H00205FA0024234FF7H00E9073H0018618E8DDDC3CEE9033H00EB903E34017H00348H000F977372AF0C1F3H000A0C2F0A032H000A0C2E0A032H000A0C2D0A032H000A0B030A4E2H000A01020A462H000A01070A2E2H002H0AE6010A4A2H002H0AEE010A4A001C2H0A94010A58D101182H0A96010A25B0013H0AA8010A07A401762H0AE3010A38D301C9012H0ADD010A294F000A0C220A032H000A0C070A032H002H0A010A4505000A0C010A032H000A01020A4605BE012H0A82010A518801062H0A040A1E05000A0CF93HFF0F0A0300AD012H0A650A0664000A0CF83HFF0F0A0201000A2H0C0A032H000A01050A2E02000A0C040A032H000A01050A2E04000A0C2H0A032H000A01020A4601000A0C0B0A032H000A01050A2E03000A0CFA3HFF0F0A032H002H0A030A3002000A0C000A032H002H0A020A3001000A0CF83HFF0F0A032H000A01050A2E01000A0CF23HFF0F0A032H002H0A050A3004002H0A040A3003000A0CF73HFF0F0A032H000A0C100A4701572H0AAC010A2BAD01572H0AAB010A2BAE01002H0A000A2D02000A0C010A032H002H0A410A1202000A0CF93HFF0F0A032H002H0A000A452H000A01030A2E01000A01000A2E02002H0A000A482H000A0C010A032H002H0AC1010A122H000A01050A2E01000A2H010A2E02000A01040A2E03000A0CDC3HFF0F0A2501000A0C4HFF0F0A0300E54A253DB3872H00120601001E2F03071CFE3B01B35H00684A01005100830CCB76AFE91E3H000A0C0E0A032H000A0C0D0A032H000A2H0C0A032H000A0B030A4E2H000A2H010A462H000A01020A2E2H002H0AE4010A4A2H002H0AEE010A4A00BA012H0ABB010A3C5F292H0AD0010A423E3B2H0AAF010A40E3019D012H0A8A010A03662F2H0A590A1D26B9012H0A200A128801032H0A7C0A36C701002H0A000A4502000A0C010A032H000A2H010A4602BE012H0A82010A518501002H0A000A2804002H0A000A2A05002H0A000A2602EB012H0A6D0A146F422H0AC8010A2AC7018E6FB33BB3872H00";end;do GY=11;end;end;else if GY==0X05 then l=0X02^52;do GY=9;end;else E=e-0X1;do GY=0X8;end;end;end;else if not(GY<=0x00)then do if GY~=0X1 then M=function()local hu,Wu=nil,nil;goto _333250693_0;::_333250693_1::;do S=Wu;end;goto _333250693_2;::_333250693_2::;do return hu;end;goto _333250693_3;::_333250693_0::;hu,Wu=R(IY,a,S);goto _333250693_1;::_333250693_3::;end;GY=10;else a=H(p(a,5),"..",function(Rn)if J(Rn,0x2)==72 then for Dx=0,0X01 do if Dx~=0X00 then return"";else O=g(p(Rn,0X1,JY));end;end;else local hq=(X(g(Rn,16)));if not(O)then return hq;else local Ph=x(hq,O);O=XY;return Ph;end;end;end);GY=12;end;end;else GY=0X00003;end;end;else if GY<=0X00A then if GY<=8 then if GY==7 then h=function()local uN,XN=0X2,nil;do repeat if uN<=0X0 then do S=S+0x1;end;uN=0x1;else do if uN~=0X001 then XN=J(a,S,S);uN=0X0000;else do return XN;end;end;end;end;until(false);end;end;GY=13;else do GY=5;end;end;else if GY==0X9 then do C=1;end;break;break;break;break;break;break;else do i=function()local m3,u3=R('\060\z \x69\z\x38',a,S);local M3=1;do while(true)do if M3~=0X0 then S=u3;do M3=0X00;end;else return m3;end;end;end;end;end;GY=4;end;end;else if GY<=12 then do if GY==11 then do GY=0X0000E;end;else do L=xY;end;GY=7;end;end;else if GY==0XD then v=HY;GY=2;else w=function(Vq,Jq)do return Vq~Jq;end;end;GY=0X1;end;end;end;end;end;local K=type;local D=function(...)return y(LY,...),{...};end;local q=function()local wq,Dq=R("\x3C\x64",a,S);local lq=0x00000;while true do if lq==0 then S=Dq;do lq=0X1;end;else do return wq;end;end;end;end;local d=assert;local Z=(fY);local B=function()local ru,tu=0X00000,(0X0000);repeat local MP=(J(a,S,S));do S=S+0x1;end;do tu=tu|((MP&127)<cD)then else do d3=cD;end;end;do f3=0X2;end;else E3={J(a,S+G3-1,S+d3-1)};f3=0X3;end;end;end;end;end;f3=0;while f3~=2 do if f3==0x0 then do for D_=0x01,#E3 do E3[D_]=w(E3[D_],c);c=(LD*c+0X00069)%0X100;end;end;f3=1;else do mD=mD..X(k(E3));end;f3=2;end;end;end;end;else S=S+cD;end;end;return mD;end;do GY=0X0;end;else P=function(fP)local OP,BP,lP=0X0,nil,(nil);while OP~=0X2 do do if OP~=0 then lP=w(BP[0X1],A);OP=0x2;else do BP={J(a,S,S+3)};end;OP=0X1;end;end;end;local RP=(w(BP[0X2],A));local QP=(w(BP[3],A));local GP=(w(BP[0X0004],A));do A=(0X8D*A+fP)%256;end;S=S+4;do return GP*0X0001000000+QP*0x010000+RP*0X0100+lP;end;end;do GY=2;end;end;end;else U={};GY=3;end;end;end;GY=0X1;local T,V,j,o,W,FY,dY=nil,nil,nil,nil,nil,nil,nil;repeat if GY<=4 then if not(GY<=1)then do if not(GY<=0X2)then if GY~=0X3 then U=nil;GY=0x00A;else o=function()local n1=nil;for NW=0,2 do if not(NW<=0)then if NW==0X1 then if n1>Q then do return n1-e;end;end;else do return n1;end;end;else n1=B();end;end;end;do GY=0X5;end;end;else function FY()local J4,k4,S4,p4=nil,nil,nil,(nil);goto _40454196_0;::_40454196_3::;S4={nil,{},XY,XY,XY,nil,nil,{},{}};goto _40454196_4;::_40454196_2::;k4={};goto _40454196_3;::_40454196_4::;p4=1;goto _40454196_5;::_40454196_0::;goto _40454196_1;::_40454196_1::;J4={};goto _40454196_2;::_40454196_5::;local a4,L4=nil,(nil);goto _645071521_0;::_645071521_1::;(S4)[0X4]=B();goto _645071521_2;::_645071521_7::;(S4)[5]=T(a4,0X0002,0X1)~=0X0;goto _645071521_8;::_645071521_6::;S4[0X003]=T(a4,0X1,0x1)~=0X000;goto _645071521_7;::_645071521_5::;a4=h();goto _645071521_6;::_645071521_0::;(S4)[14]=h();goto _645071521_1;::_645071521_2::;do S4[6]=J4;end;goto _645071521_3;::_645071521_4::;(S4)[kY]=h();goto _645071521_5;::_645071521_9::;L4={};goto _645071521_10;::_645071521_8::;(S4)[19]=M();goto _645071521_9;::_645071521_3::;do for fe=1,B()do do J4[fe]={h(),B()};end;end;end;goto _645071521_4;::_645071521_10::;local W4=(nil);goto _773645369_0;::_773645369_3::;for CS=0X0001,W4 do local zS,iS,sS=nil,nil,nil;goto _1383124758_0;::_1383124758_1::;do iS=M();end;goto _1383124758_2;::_1383124758_0::;zS=M();goto _1383124758_1;::_1383124758_2::;sS=M();goto _1383124758_3;::_1383124758_3::;do for ER=zS,iS do do(S4[0x00002])[ER]=sS;end;end;end;end;goto _773645369_4;::_773645369_0::;(S4)[1]=B();goto _773645369_1;::_773645369_2::;W4=M();goto _773645369_3;::_773645369_1::;S4[0xd]=h();goto _773645369_2;::_773645369_4::;local K4,R4,N4,g4=0,nil,nil,nil;while K4<0X6 do do if not(K4<=0X0002)then if K4<=3 then R4=M()-84584;do K4=0X4;end;else if K4==0X4 then N4=h();K4=0X2;else S4[18]=M();K4=6;end;end;else do if not(K4<=0)then if K4==0X1 then for qI=1,R4 do local xI=(h());local YI=XY;do(k4)[qI-0X1]=p4;end;local XI=nil;goto _1092899119_0;::_1092899119_3::;p4=p4+0X01;goto _1092899119_4;::_1092899119_0::;if xI==133 then YI=q();elseif xI==52 then YI=i();elseif xI==128 then do YI=i();end;elseif xI==233 then YI=p(r(N4),0x03);elseif xI==RY then YI=p(r(N4),M());elseif xI==0X9f then do YI=i();end;elseif xI==42 then YI=p(r(N4),M());elseif xI==0X56 then YI=p(r(N4),0x8);elseif xI==0X32 then YI=q();elseif xI==0x0000 then YI=sY;elseif xI==95 then YI=false;end;goto _1092899119_1;::_1092899119_4::;if g4 then local Sx=1;while Sx~=2 do if Sx~=0x000 then U[C]=XI;do Sx=0X0;end;else C=C+JY;do Sx=2;end;end;end;end;goto _1092899119_5;::_1092899119_1::;do XI={YI,{}};end;goto _1092899119_2;::_1092899119_2::;(L4)[p4]=XI;goto _1092899119_3;::_1092899119_5::;end;K4=5;else g4=h()~=0;do K4=1;end;end;else(S4)[7]=B();K4=3;end;end;end;end;end;S4[0xA]=h();local m4=S4[0X9];local l4=M()-0x01ED1;for NL=JY,l4 do m4[NL]={[4]=0.8128890379281493,[0x1]=true,[0X00006]=false,[5]=o(),[0X6]=h(),[0X1]=0X1.60944FA218178P-2,[3]='\x2A\x6B\z \u{2A}\x75\x79',[2]=true,[0x7]=h(),[0X2]=o(),[0X4]=h(),[1]=B(),[0X03]=o()};end;for ya=0X00001,l4 do local Ka=(nil);goto _1124547684_0;::_1124547684_0::;do Ka=S4[0X9][ya];end;goto _1124547684_1;::_1124547684_1::;for jb,Gb in ipairs(u)do local Nb,cb=nil,(nil);goto _746815665_0;::_746815665_1::;do cb=Ka[Nb];end;goto _746815665_2;::_746815665_0::;Nb=j[Gb];goto _746815665_1;::_746815665_2::;if cb==1 then local TQ,RQ=nil,(nil);goto _653557921_0;::_653557921_1::;RQ=L4[TQ];goto _653557921_2;::_653557921_0::;TQ=k4[Ka[Gb]];goto _653557921_1;::_653557921_2::;if RQ then local De=nil;goto _2065734818_0;::_2065734818_1::;De=RQ[2];goto _2065734818_2;::_2065734818_0::;Ka[Nb]=RQ[1];goto _2065734818_1;::_2065734818_2::;De[#De+0X1]={Ka,Nb};end;elseif cb==kY then(Ka)[Gb]=ya+Ka[Gb]+0x1;end;goto _746815665_3;::_746815665_3::;end;goto _1124547684_2;::_1124547684_2::;end;S4[0xd]=M();local d4=(M()-34739);local w4=(S4[8]);goto _1091293674_0;::_1091293674_0::;for Q8=0X0,d4-0X1 do do w4[Q8]=FY();end;end;goto _1091293674_1;::_1091293674_1::;do do return S4;end;end;goto _1091293674_2;::_1091293674_2::;end;GY=0;end;end;elseif GY~=0x0 then T=function(yW,sW,MW)do return yW>>sW&~(~0X0<me)then break;break;do break;end;break;do break;end;do break;end;else(V5)[me]=t5[me+1];end;end;end;local K5=(0X0);if not dK then t5=nil;else if not(CK)then else V5[pK]={n=Z5>=pK and Z5-pK+1 or 0X0,k(t5,pK+1,Z5+0x01)};end;end;if S5~=O5 then do _ENV=S5;end;end;local y5,d5,o5,r5=t(function()do repeat local zF=VK[B5];local OF=zF[1];B5=B5+0X01;if not(OF>=0x2d)then if OF>=22 then if OF<33 then if not(OF<27)then if not(OF<0X1e)then if OF<0X001f then(V5[zF[0X00003]])[V5[zF[0X00002]]]=V5[zF[0X5]];else if OF~=32 then do V5[zF[0X3]]=-V5[zF[2]];end;else(V5)[zF[3]]={};end;end;else if not(OF<28)then if OF==0X01D then local sM=(zF[3]);local mM=(V5[zF[0x0002]]);(V5)[sM+1]=mM;(V5)[sM]=mM[zF[6]];else(V5)[zF[0X003]]=V5[zF[2]]~=zF[6];end;else do if V5[zF[2]]~=V5[zF[0X5]]then else B5=zF[0X0003];end;end;end;end;else if OF<0X0018 then do if OF==23 then(V5)[zF[0x3]]=V5[zF[0X2]]*V5[zF[5]];else local F0=zF[3];V5[F0]=V5[F0](k(V5,F0+1,K5));K5=F0;end;end;else if not(OF>=25)then(V5)[zF[3]]=V5[zF[2]]^V5[zF[5]];else if OF~=0X001A then local iO=zF[2];V5[zF[3]]=V5[iO]..V5[iO+0X1];else(V5)[zF[3]]=V5[zF[2]]>V5[zF[5]];end;end;end;end;else if not(OF<0X27)then if not(OF>=42)then if not(OF>=40)then local E1=(zF[3]);local o1=(zF[0X002]);do if o1==0 then else K5=E1+o1-1;end;end;local x1=zF[5];local F1,Z1=nil,(nil);if o1~=1 then F1,Z1=D(V5[E1](k(V5,E1+0X01,K5)));else F1,Z1=D(V5[E1]());end;if x1==0x1 then K5=E1-1;else if x1==0 then F1=F1+E1-1;do K5=F1;end;else F1=E1+x1-2;K5=F1+0x1;end;local Ec=(0X0);for ln=E1,F1 do Ec=Ec+1;(V5)[ln]=Z1[Ec];end;end;else if OF~=0X29 then if zF[0X5]==0x0000F8 then B5=B5-0X0001;do VK[B5]={[3]=(zF[3]-0Xd0),[1]=0X8,[2]=(zF[2]-0X0000d0)};end;else(V5)[zF[0X3]]=nil;end;else(V5)[zF[3]]=V5[zF[2]]+V5[zF[5]];end;end;else if OF>=43 then if OF~=44 then if zF[0X00005]==0x000057 then B5=B5-0X1;(VK)[B5]={[0X3]=(zF[0X0003]-171),[2]=(zF[0X2]-171),[1]=0x7};elseif zF[0X5]~=0X1c then(V5)[zF[0X03]]=t5[pK+0x1];else B5=B5-1;VK[B5]={[3]=(zF[3]-5),[1]=4,[2]=(zF[0X2]-5)};end;else V5[zF[3]][zF[0X00007]]=zF[0x06];end;else if zF[5]==0X000042 then B5=B5-0x00001;do(VK)[B5]={[0X2]=(zF[0X2]-0Xc7),[0X03]=(zF[0X00003]-0X0C7),[0X1]=20};end;else local Fq=(Z5-pK);local uq=(zF[0X3]);if Fq<0x000 then do Fq=-0X1;end;end;for nN=uq,uq+Fq do(V5)[nN]=t5[pK+(nN-uq)+0x1];end;K5=uq+Fq;end;end;end;else if OF>=0X0024 then if OF>=37 then do if OF~=0X26 then local wf=(zF[3]);local jf=V5[wf];local Yf,cf=V5[wf+0x1],V5[wf+2];(V5)[wf]=m(function()for J_=jf,Yf,cf do v(true,J_);end;end);B5=zF[0X00002];else repeat local dA,fA=oK,V5;do if#dA>0X0 then local xy={};for lI,yI in b,dA do for zO,eO in b,yI do if not(eO[0X001]==fA and eO[2]>=0)then else local FG=eO[0X02];if not xy[FG]then(xy)[FG]={fA[FG]};end;do(eO)[0x1]=xy[FG];end;eO[0X2]=1;end;end;end;end;end;until true;return true,zF[0X3],0X0;end;end;else(V5)[zF[0X3]]=zF[7];end;else if not(OF<34)then do if OF==35 then(V)[zF[0X02]]=V5[zF[0X3]];else local ss=zF[3];V5[ss](k(V5,ss+1,K5));do K5=ss-1;end;end;end;else(V5)[zF[3]]=V5[zF[0X2]]~=V5[zF[5]];end;end;end;end;else if OF<11 then if not(OF>=5)then do if OF<0X2 then if OF~=0X1 then local et=zF[3];local Lt,ut=V5[et]();if not(Lt)then else for h2=1,zF[5]do V5[et+h2]=ut[h2];end;B5=zF[0X2];end;else(V5)[zF[3]]=~V5[zF[2]];end;else if not(OF<0X3)then if OF==4 then repeat local uh,yh=oK,V5;if#uh>0 then local sF={};for GW,mW in b,uh do for Gt,xt in b,mW do if xt[1]==yh and xt[2]>=0 then local Iq=(xt[2]);if not(not sF[Iq])then else do(sF)[Iq]={yh[Iq]};end;end;(xt)[0X00001]=sF[Iq];do(xt)[2]=0X01;end;end;end;end;end;until true;local op=(zF[3]);do return false,op,op;end;else B5=zF[2];end;else local rP=zF[3];local KP,aP=V5[rP]();if not(KP)then else B5=zF[2];V5[rP+0x3]=aP;end;end;end;end;else if not(OF>=8)then if OF<0X6 then local OW=zF[3];local IW=m(function(...)v();for Pk,ck,ik,tk,hk,Vk,Ak,Dk,Tk,bk in...do(v)(true,{Pk,ck,ik,tk,hk,Vk,Ak,Dk,Tk,bk});end;end);IW(V5[OW],V5[OW+1],V5[OW+0X0002]);K5=OW;V5[OW]=IW;B5=zF[0X2];else do if OF~=0X7 then if zF[5]==0xAD then do B5=B5-1;end;(VK)[B5]={[2]=(zF[0X002]-100),[1]=0X14,[0X3]=(zF[3]-100)};else local au=(zF[0X3]);do for Sp=au,au+(zF[2]-1)do do V5[Sp]=t5[pK+(Sp-au)+0X1];end;end;end;end;else if zF[5]~=0X00051 then V5[zF[0X3]]=V5[zF[2]];else B5=B5-1;VK[B5]={[2]=(zF[2]-0X9f),[3]=(zF[3]-0X9F),[0X1]=40};end;end;end;end;else do if OF>=0X00009 then if OF~=10 then if not(V5[zF[3]])then else B5=zF[2];end;else local SO=(zF[2]);local rO=zF[3];K5=rO+SO-0X1;repeat local vz,Uz=oK,(V5);if#vz>0X0000 then local jY=({});do for s6,T6 in b,vz do for Aq,Pq in b,T6 do if Pq[1]==Uz and Pq[0X0002]>=0 then local ka=(Pq[0x2]);do if not jY[ka]then jY[ka]={Uz[ka]};end;end;Pq[0X0001]=jY[ka];(Pq)[0X00002]=0X001;end;end;end;end;end;until true;return true,rO,SO;end;else do if zF[5]==3 then B5=B5-0x01;do(VK)[B5]={[2]=(zF[0X00002]-142),[3]=(zF[3]-142),[0x1]=40};end;else repeat local K0,x0=oK,V5;if not(#K0>0X0)then else local OC={};for Ic,Bc in b,K0 do for XC,NC in b,Bc do if NC[1]==x0 and NC[0X2]>=0X0 then local Ft=(NC[2]);if not OC[Ft]then do(OC)[Ft]={x0[Ft]};end;end;do(NC)[0X1]=OC[Ft];end;(NC)[0X002]=0X1;end;end;end;end;until true;do return false,zF[3],K5;end;end;end;end;end;end;end;else if OF<0X10 then if not(OF>=0X000D)then do if OF~=12 then local EY=(zF[0X00003]);local UY=((zF[0X00005]-0x1)*0X32);local qY=(V5[EY]);for J1=1,K5-EY do do(qY)[UY+J1]=V5[EY+J1];end;end;else if not(V5[zF[2]]=20 then if OF~=0X15 then if zF[5]~=0XEb then repeat local Ov,zv=oK,V5;if#Ov>0 then local SH={};do for V1,P1 in b,Ov do do for Dw,Vw in b,P1 do do if Vw[1]==zv and Vw[0X02]>=0X0 then local G1=(Vw[2]);if not SH[G1]then do(SH)[G1]={zv[G1]};end;end;(Vw)[1]=SH[G1];Vw[0x2]=1;end;end;end;end;end;end;end;until true;return;else do B5=B5-1;end;(VK)[B5]={[0x3]=(zF[3]-0X6D),[1]=0X8,[0X02]=(zF[0X2]-109)};end;else V5[zF[3]]=V5[zF[2]]|V5[zF[5]];end;else V5[zF[0X3]]=V5[zF[0X2]]<=17 then do if OF~=0X12 then K5=zF[0x3];(V5[K5])();K5=K5-0x1;else for yq=zF[3],zF[0X2]do(V5)[yq]=nil;end;end;end;else local DX=zF[3];local cX=(m(function(...)(v)();for K8 in...do v(true,K8);end;end));cX(V5[DX],V5[DX+0X1],V5[DX+0X00002]);do K5=DX;end;V5[DX]=cX;B5=zF[0x2];end;end;end;end;end;end;elseif OF<68 then if not(OF>=0X0038)then if OF<0x000032 then if OF>=47 then if OF<0X30 then V5[zF[0x003]][zF[7]]=V5[zF[5]];else do if OF~=49 then local Sh=(yK[zF[0X02]]);Sh[0X1][Sh[0X2]]=V5[zF[3]];else(V5)[zF[0x00003]]=V5[zF[2]]=0X35 then if not(OF<0X36)then if OF~=55 then V5[zF[0X3]]=T5[zF[2]];else V5[zF[3]]=V5[zF[0x2]]%V5[zF[0X5]];end;else(V5)[zF[3]]=V5[zF[2]][V5[zF[0x0005]]];end;else do if not(OF<0X033)then do if OF~=0X34 then(V5)[zF[3]]=false;else(V5[zF[3]])[V5[zF[0X002]]]=zF[6];end;end;else if zF[5]==191 then do B5=B5-1;end;VK[B5]={[3]=(zF[0X003]-237),[1]=0x004,[0X00002]=(zF[2]-0XED)};else repeat local pW,kW=oK,V5;if#pW>0 then local lf={};for wl,El in b,pW do for MF,eF in b,El do if not(eF[0X1]==kW and eF[0X00002]>=0)then else local Rc=(eF[0x2]);if not(not lf[Rc])then else do lf[Rc]={kW[Rc]};end;end;eF[0x00001]=lf[Rc];eF[0x2]=1;end;end;end;end;until true;local FE=zF[0X3];return false,FE,FE+zF[2]-0x2;end;end;end;end;end;else do if not(OF<62)then if not(OF<0X41)then do if not(OF>=0X42)then repeat local je,me=oK,V5;if#je>0 then local HS=({});for vf,bf in b,je do do for Ny,hy in b,bf do if not(hy[1]==me and hy[2]>=0X0)then else local KP=(hy[0x002]);do if not HS[KP]then HS[KP]={me[KP]};end;end;hy[0X1]=HS[KP];do(hy)[0X2]=1;end;end;end;end;end;end;until true;return true,zF[0X3],1;else if OF~=0X00043 then V5[zF[3]]=V5[zF[0X00002]]>=V5[zF[0X05]];else local DZ=zF[0X03];local sZ,nZ=V5[DZ]();do if sZ then do V5[DZ+1]=nZ;end;B5=zF[0X02];end;end;end;end;end;else if OF<0X3F then local Oh=zF[3];local Bh,Xh,fh=V5[Oh]();do if not(Bh)then else V5[Oh+0X001]=Xh;(V5)[Oh+2]=fh;do B5=zF[0x02];end;end;end;else if OF==0X40 then repeat local cu,Iu,uu=oK,V5,zF[3];do if not(#cu>0)then else local jT=({});for eB,PB in b,cu do do for SH,pH in b,PB do if pH[1]==Iu and pH[0X2]>=uu then local Y9=(pH[0X02]);if not(not jT[Y9])then else(jT)[Y9]={Iu[Y9]};end;pH[0X0001]=jT[Y9];pH[2]=0X0001;end;end;end;end;end;end;until true;else local Rw=zF[3];K5=Rw+zF[2]-0X1;(V5[Rw])(k(V5,Rw+1,K5));K5=Rw-1;end;end;end;else if not(OF>=0X003b)then if not(OF<0x39)then do if OF==58 then if V5[zF[2]]~=zF[0X6]then B5=zF[0x3];end;else(V5)[zF[3]]=V5[zF[2]]-V5[zF[5]];end;end;else do V5[zF[0X03]]=V5[zF[2]]~V5[zF[5]];end;end;else if OF>=60 then if OF==61 then do(V5)[zF[0X3]]=V5[zF[0X0002]]%zF[6];end;else if not(not(V5[zF[0X2]]<=V5[zF[5]]))then else B5=zF[0X3];end;end;else(S5)[zF[7]]=V5[zF[3]];end;end;end;end;end;else if not(OF<0X4f)then if not(OF<85)then if OF>=88 then if OF>=0X59 then do if OF~=90 then local wi=zF[3];V5[wi](V5[wi+0x1],V5[wi+2]);K5=wi-0x1;else local bi=(zF[0X00003]);local Bi=m(function(...)(v)();for uZ,iZ in...do v(true,uZ,iZ);end;end);Bi(V5[bi],V5[bi+1],V5[bi+0X2]);K5=bi;do(V5)[bi]=Bi;end;B5=zF[2];end;end;else if not(V5[zF[2]]<=V5[zF[5]])then else B5=zF[0X03];end;end;else if not(OF>=86)then local Zh=(zF[3]);(V5)[Zh]=V5[Zh](V5[Zh+1]);do K5=Zh;end;else if OF==0X057 then do K5=zF[0X00003];end;(V5)[K5]=V5[K5]();else if V5[zF[0X00002]]==V5[zF[5]]then else B5=zF[3];end;end;end;end;else if not(OF<0x52)then do if not(OF>=83)then V5[zF[3]]=V5[zF[2]]/V5[zF[5]];else if OF~=84 then do if V5[zF[0X00002]]==zF[6]then B5=zF[0x00003];end;end;else local Ws=(zF[0X0002]);local hs=(V5[Ws]);do for Tu=Ws+0X00001,zF[5]do hs=hs..V5[Tu];end;end;do(V5)[zF[3]]=hs;end;end;end;end;else do if not(OF<0x50)then if OF==81 then if zF[0X0005]==190 then B5=B5-1;do VK[B5]={[0X001]=0x7,[0x2]=(zF[2]-0X82),[3]=(zF[0X00003]-0X82)};end;else(V5)[zF[0x3]]=#V5[zF[0X02]];end;else do if not(not(V5[zF[0x2]]0 then HS={};for rk=1,DS do local ek=(NS[rk]);do if ek[1]~=0 then HS[rk-1]=yK[ek[2]];else HS[rk-0X00001]={V5,ek[0X00002]};end;end;end;L(oK,HS);end;(V5)[zF[0X3]]=W(S5,HS,qS);end;else(V5)[zF[3]]=V[zF[0X2]];end;else do if not(OF<0X4a)then if OF~=75 then(V5)[zF[0x3]]={k({},0X1,zF[2])};else do V5[zF[3]]=V5[zF[0X2]]<=V5[zF[0X00005]];end;end;else V5[zF[0X3]]=V5[zF[2]]==V5[zF[0X5]];end;end;end;else if OF>=70 then if not(OF>=71)then(V5)[zF[0X003]]=S5[zF[0X00007]];else if OF==0x0048 then local up=zF[0X3];do V5[up]=V5[up](V5[up+1],V5[up+0X2]);end;K5=up;else if zF[5]==211 then do B5=B5-0X1;end;(VK)[B5]={[0x3]=(zF[3]-98),[0X2]=(zF[2]-98),[0X01]=0X001F};elseif zF[0x5]==0x70 then do B5=B5-1;end;do VK[B5]={[0X001]=0X00028,[2]=(zF[2]-0X1c),[3]=(zF[3]-0X1C)};end;else if not(not V5[zF[3]])then else B5=zF[0X2];end;end;end;end;else do if OF==69 then local Tc=yK[zF[0X02]];V5[zF[3]]=Tc[0x1][Tc[2]];else V5[zF[0X3]]=not V5[zF[2]];end;end;end;end;end;end;until false;end;end);if y5 then if d5 then if r5==0X01 then return V5[o5]();else return V5[o5](k(V5,o5+0X01,K5));end;elseif o5 then return k(V5,o5,r5);end;else if K(d5)=="\x73\z \x74\x72in\x67"then if not(I(d5,"^.-:%d+: "))then(Y)(d5,0);else Y("Luraph Script:"..(sK[B5-0X1]or'\z \u{028}\x69\z \x6E\x74\z \x65\z \x72\zn\097\z \x6C\z \x29')..": "..N(d5),0);end;else Y(d5,0X0);end;end;end;return hK;end;GY=0X2;end;end;else if not(GY<=0x8)then do if GY~=0x9 then return W(G,nil,dY)(...);else j={[0X0]=true,[2]=sY,[0X007]=7,[6]=0x00005,[0X00001]=true,[bY]=mY,[7]='\z \u{00034}',[0X06]=8,[0x05]=0X6,[2]="V\z \x68\z \u{00050}\z\x2D\056\u{0004E}\x6A\x5B\x63",[1]=0.7738306812428637,[vY]=0,[0X002]=0X7,[0]=0X05,[1]=3};do GY=6;end;end;end;else(V)[1]=U;GY=0X4;end;end;end;until false;end)(7,select,rawset,"\z #",tostring,coroutine.yield,0xC,string.byte,table.unpack,true,0X3,error,"