From b5b2dd9f771935b520635256be477caf2949f56b Mon Sep 17 00:00:00 2001 From: LordSk Date: Sat, 11 Jul 2020 21:58:56 +0200 Subject: [PATCH 01/14] Pak key expansion --- .gitignore | 1 + Pak/config.lua | 2 + Pak/genie.lua | 100 ++++++++++ Pak/scripts/FileList.xml.pak | Bin 0 -> 14307 bytes Pak/scripts/decrypt_pak.py | 36 ++++ Pak/src/base.cpp | 20 ++ Pak/src/base.h | 358 +++++++++++++++++++++++++++++++++++ Pak/src/pak.rdbg | Bin 0 -> 261 bytes Pak/src/pak_main.cpp | 77 ++++++++ 9 files changed, 594 insertions(+) create mode 100644 .gitignore create mode 100644 Pak/config.lua create mode 100644 Pak/genie.lua create mode 100644 Pak/scripts/FileList.xml.pak create mode 100644 Pak/scripts/decrypt_pak.py create mode 100644 Pak/src/base.cpp create mode 100644 Pak/src/base.h create mode 100644 Pak/src/pak.rdbg create mode 100644 Pak/src/pak_main.cpp diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..5bfa5c1 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +/Pak/build diff --git a/Pak/config.lua b/Pak/config.lua new file mode 100644 index 0000000..a28a67d --- /dev/null +++ b/Pak/config.lua @@ -0,0 +1,2 @@ +OpenSSL_include_x64 = "C:/Prog/Libs/openssl-1.0.2/include" +OpenSSL_libdir_x64 = "C:/Prog/Libs/openssl-1.0.2/lib/Win32/static/Release" \ No newline at end of file diff --git a/Pak/genie.lua b/Pak/genie.lua new file mode 100644 index 0000000..c9309e5 --- /dev/null +++ b/Pak/genie.lua @@ -0,0 +1,100 @@ +-- +dofile("config.lua"); + +BUILD_DIR = path.getabsolute("./build") + +solution "Pak tools" + location(BUILD_DIR) + + configurations { + "Debug", + "Release" + } + + platforms { + "x32", + "x64" + } + + language "C++" + + configuration {"Debug"} + targetsuffix "_debug" + flags { + "Symbols", + "FullSymbols" + } + defines { + "DEBUG", + "CONF_DEBUG" + } + links { + } + + configuration {"Release"} + flags { + "Optimize", + "Symbols", + "NoBufferSecurityCheck" + } + defines { + "NDEBUG", + "CONF_RELEASE", + } + links { + } + + configuration {} + flags { + "Cpp14" + } + + targetdir("../build") + + includedirs { + "src", + } + + links { + "kernel32", + "user32", + "winmm", + "advapi32" + } + + flags { + "NoExceptions", + "NoRTTI", + "EnableSSE", + "EnableSSE2", + "EnableAVX", + "EnableAVX2", + "EnableMinimalRebuild", + "StaticRuntime", + } + + defines { + "_CRT_SECURE_NO_DEPRECATE", + "_CRT_NONSTDC_NO_DEPRECATE", + "WIN32_LEAN_AND_MEAN", + "NOMINMAX", + } + + -- disable exception related warnings + buildoptions{ "/wd4577", "/wd4530" } + + +project "pak" + kind "ConsoleApp" + + configuration {} + + includedirs { + "src", + } + + files { + "src/**.h", + "src/**.c", + "src/**.cpp", + } \ No newline at end of file diff --git a/Pak/scripts/FileList.xml.pak b/Pak/scripts/FileList.xml.pak new file mode 100644 index 0000000000000000000000000000000000000000..36e7d69a107e4caec516133dda682dd9c6e48a81 GIT binary patch literal 14307 zcmeH~Q<5l(f&|;PZQHhO+qP}n#%bHOZQHi3xyzW3S4+r zFxksvA2~V2tgXX_1lN(VOMn1Bpgkze0r+43N8o=1{+|;FjjwB}h-t}a;LzP8u*Q)9 zJIX@o?G^>;jhiK7n0u;0BA#z7j)(1TDkWjh-A6mF2=}iiX>Am?OWm+&>z`gr@DE9a zepI*RxMterDp^2>yR737KPVa8(s5jjk?5N(y~+87~fGETW-Z+$wlm?9lLXL7?b_6J{@yK_$ztB#4x z9%)li*O3G0WWSFmmH&k7sagQN3GG{T_6fBL>Nx>} zlcdi22Mw}9EoA^Q_r+M7-}k7>{{u?>IFBl8EGdj_OjWTnALZdOjlfKn)7b3AXq;Du z-4Yk=g|wSl`0xH1%2)A2iWURk(IvFTD&j-s6muxTdcnT$@-9u8GM5{kg816UprLl{ z+tlK~wLldTmFK>H%%bTb7skSli(ooo<-mu)%%;XhGhmjJL)#Zhe{f_^}9Bv>^Luu_eW_RMl}5 zlBW;UfLo0?WClER``|>%`Y{#LynPi4HgwTGxllRxu;$wG#f>GsIaa{#da-0rWiLC{ zjJ|LM8N>vv{WX%VXD*W7)39PA(vbPd$kuwUXiMF{Si)T8XQ>pnXZynb__%p*N&^TS zo(0Y6pqStAW7G1{(&;AL5zlntXac#kM5O?qK44CvBs-k zQGajYPSbq{w<8ZCNV6Y?GYe(=t^UEi+nmmddg$0bNvNqP(D4V zFyiay9$9KZ_+micG#B7|mv0|@EE0n>ga`k6<8Z8{k~r$|G(G@{0;(OrPfm zXrO*{JluvNhsXK2+r4r3u)+h1qEtgCjh(6B5Y1dkDxECxGyuO}``8GX?0WkI=$pw_yAHKM#4K-}8D< z_P?5Xr#npg_C1u+14Ws4>e})JU*8cNZ=So#Ch-v+clLu{U86;K0tXQNY*j7q#UzLw z&Aa3a5dIy}wN`3jT_f8~z!5cfJ2z75=7m)nZygxItlLixA4dG~)g@| z*|xtzVs0FHSyQdV2a@tpuW;^(DMSBW&9)v6aEz3*)>V{Tt{D9vZta3^yb&)V$IYz%ObtbOIH$X-hakXRP^037@vXQD}?A z4al(k_V+}`lOvsmR84VJ1luQimTCz8zH5ix%TpRP2|r-PY929%EP+?8?ZirAsSyivNg7|PT7AEcTU{`GW$>}LYN+WEj# zjnprnN%D6+g&lh*s3L1GGsi-agcdpFf-LYb!zSEeW_6!(6ZHbk0QZ1aIc`0kvOL+? zenn>8i}N`w-RWaewlpwz;5p>)c`00cos;lJ-F+ZLd)1^y|8_9XSOj2dxIIck7voer zhz{z6u)2(|?!sIrdMA;p>H5TF4X8`8#z~ z39BIkVfC^)mR3|A(m!}x1`=~LGv3(Pi$9S6stgUy8VUfI1^1{(?G;+{A)7r^j*|i^ z!iz848Mnlvh%v^pm*VWi1;-(!3X`yh?zoBZ1&fpRP_(FWNuroRCZ61G4IH=;ny_-8 z`1xEFjT$RxwiYwf0V zYCmQTHqEmHAZI+mTN*UTBjL094WK5|QFU<+WtB%Y2O)Gy8*H=f+H1rD+T*WZztnpl&N9lv0n^iA?jcTY@i+1__+QQ zDmkmERCIqR*vvn|^T@4@OmK6ZAi{pVtIIPAi*~9QA4d<$_2Hf$o1dmWqh<5zn%wJn z-mC7U+e6>zQrf>+j+Zt)A+J>Nle#KRl96ci-EcYT2V$sQr2V{U>+j`O^FS%HRDb0# zZqCM*uu%lEl|q7%9vt(_xBpfLD^CQ;H~g5IJuy2~nbZ=sHdingY)$So2eemJRn}a> zs?TI<`5fEM3Qgjo7dcC}*cg4pi1qI&4u8ke$)c(U?i&NEP5#4Rd`{BZ4y#J$l%`O- zV!X(O?%pTNJG-VjDf#6Xd2v4Of+~+J$9MB!+<10fMjVpaCiIY10lFAHWN$KCcUIaUO0WZxiZ1Na%M)h`twT<%?0k!%2EAu&qq7&Uuz8F*mfsGDZG?PT&LA1o&J>FfD zuUTh3Z}pq#{#o;j_F}l6^0Q5G;6BdgKInvJJ@-7a+i;N}B0lksDekI*U>NxmlddM( zcNo_AfNwr7SeBiZ3kRhb?5u8 z?I0+zPo8kgW^P-{v1fQ!LCi5upIy742ky~01hL@8odU!>E+DTv*^f1vye-7`i(xVM+_{RW3Nav+$m*Npwy(Xn{qD(s1>LMb7OBW7Z%*O-r?&@42B6 z2)EQu3HBxdKm84wF=OZkfa$>fZbS#2MUG~a_e-iwFFuPp`Y$SggP4_3;!8I#LD%z@ zah6ZxbcHDYfH1ppF;NeQp*fMrce1Ag{(w5*oRkcV@hyg9I8O#5agFd^VB;SY%K|3; zY;%Aa19HqZcU|&w>!b3#Ru>WZ*+fQf7;*+zl=w_Cg#-^3)c_Q7I=%+A@_ouvjS-6D9$69_DI8Knn+i(3x-tTl6Sl)8Wan z4*8_oH;tFqjYa?flE78&AV&wv!_HV7HRFfp46TsCcJCpzl@v4g%Um_Hr?~!CZagep z)L{ctKiYUik#gf9Ve-i5eN0$B-5Rn+k0}I%QVt)& z(^4xzngzF5!RUtXk06DV*O< zjm~oW&eC`^vZ*Mqb>a%R@{0HQ2Id8+ku}?LskZwSR2dshbUHXp*jtaW*cV$FYHa{} z&)MBpLopVDo2XA#=PCs`IG6`PC3HMEgc00rmNsq$L)#M&vZ#1(<24wXSRSA&*F`cZ zzTStQe?BmiI>7wOUxbZ-Ydrlj>h;Ms_`M*+N*l18X7VjEoQm}9>XULd`uEPAa}FCg zr&?z^v?)I4sJiOmHDXqb^b}uF99hv5bxO9xl4WWFP|a*NwWA@In|GE-zhQ($00n!p z;=7pagB5j~tGaHWf3A{w;I%vpO!e#nD#}~Ol(cT&*}M88@W-FB3m%uHTs0q!y&1I_qz0h z3TnR|44;DO;(MMg;w>MwrwwRmqu88JZ*=mb5P*VA@SBa}>iejQ5cBj%Y*gVZkG$3P zb&P_WQs|GD734B8&b8+XoaTP}3dBEG1C_l1kFLPpi8CY&xsT1J*~q^P=Vt5u?h)1` zRvOT0N!;x z($n$hFC5LT#1L~Z4^SW`|LDD5{?cX2Lv%@Cu0+<3Ruaqe;_w?eA?S~!Wq4l+v5bJ*BW>~}bMAn%g2Ui>t5i`^V)mpuzi zGiEiHnGA)FYTv}@%jUqkjtazDi**-_zmJgefV;M$f9hgm{~=e=8OtO%g_g6|Kb0(2(0kK% zxXopXRoav{;-z$?jz2aKPcMUH-TRp_Y@3u}liY1yb>nr_b`TtKpz9D}mbldQ_y9^g zFGQrp-zXoA(HZIHRa9ggFRs0Rc8AziU+UX^F}Gaz6(}hNlWLmyTi5>>B~@O7bQi%t z8vy!C)rk2l_`v9!_nIGpRkrGcI)XHDeqM`)*svU?f0oTLAx^TTL-#Lk#EP-h02^Cw z*z12Y!d7hUH!THM-niMDaOV`*ZEV0(6~pu3?B9^7K5z|(mhuf_Z_M)YJ7e=<&3TZX zceBOb#*VWbKaF^!aG(;(o&!G}44TG6t^1xsqc~)XNVfxUZ4*3FM)H*hTMogXT7P;B z>M%k^CK8#m0K*l?1|9xUn`nI9-Tz)&xhz$?H1yKl%^$%%BWOwYSib>qFJnRFuuHg_ zEIN7gF1GDqVPGV(?MxQM!XAo23q7m5yJ@OaC+!X!s-ak}|n%PdVj!u8ZfP0VocvzPXqRl-*k1lhLW#8(^T=@gZB@Yim~R zzW&nOLLg-8vDT~}yR|z!@Lg!KDqVv$T6`7`79#RQYk3E7}0pH-*}J;ZiJ9baE}RwQrxn@zxtTby zY;lr-Y9a-*yB(;1p^Z~8hwy)!A!Be(P+>Lo>@sZ-wP`bg{@hF-qpEWp4e-@AMyZ3Q zu^(thY0c3Bh)(KA4Y3~lz6@0qfS;M5UXO7d`Pag+wAyGav?D{sJJQ*CBe)N_d$}-b}$kNP6jpO)UBVareq!Od~mX8c{mS;#DhIKlSHrc>EJ1eq9 z$QqYfgHYWoN&G?#kfD*l0m;6bus6P%)z6UhF(%YTL03L!sZURM|LYSUFP*I`H3@xj zz!5W!n6gZjb=*{9J53N=&=O97D0#&&0#L*OkY@%QoP+VH8>p>>wVMi$5i&&aXCtPX zQfwU@B;xqGr1;QCL&9xi4$|9*{Q@Ya*fpIMuXfoTA3$Uf^3`00q|NG}f+$vfli2vX z70kA6oh^LZ=yNq<6MPn;R7fKc;D0g zShkMs&Vv-Ko$e$|br@4rMub=O-Fzf>GV~>d*TQ?o$N&rJ%|y2#P&ANc@0i6@jfsmQ#o9ZT zKjLTCNlvMK3KzYTvr}Mq%x)Im$p%?r;@mcyY}vccFjLcV7lA{Vfi+|FQ3?IFLZ#`a zMIqWbftp9}X2*{O6;TI+xJ$m}NQ3Gxp?V(cVK!m@RIbVvD!k%&?HJ11<|jOf8fdFk z85q4gQ`-l>K*pd)%MUmoCf46E+_3L;K*v$Ad&4ZN(4sz^AegFEKj7eQ>%Fx+{q)(GRK3WyW?C=2@tV(u^ZGvgvCO|6(m6|4$^+}(=|2*#h1OSJ}rAlpvyxioQ3pMRe* z>pF|2$cKZdN?5J`W{pq^IcMGen~`C=F0p{Y>L83@3v9}z&qSL={BQ(0C>&idE=^am z!wo%Bj^Mag=}190>IyrnLl!AFXs`o;otY(!t=zL0cIBOQ)=vdgua+u2_DR|_BI*mg8ZmIvVzqF-L6n+8@T>s!5U*)0;^-VjJM-Dd9o0GUCdHWh&oOyJXUdtrgk=>&oepN*aZcu?;W;ir$3(3R z4irDGuH5Qwy#X$jVV&rCf6;PVzvxs|bzZ*L@?VC%6LO@nj4Dr~-@%kfae5;`;xKA*v(43D{0@dE9Na()7UXcOKTbxbp64q|7aN$E9}j# z7d-Mwef=$^Aqdf2U$oD1O_d_J*&H>|H)elp!B=kfcw}fSeFd>t?ZeWr*R=X{wxozq zN*IIdEPzFNj!~hfCd6DxXK~b8XMky{p@mTud^62GjG9I802V*eU-bpJB0Rj@NC~5m zf4A2!5Tk;xaP=LDPOl}YSQm@W>m@Q9IFIsSgUL7CJ9iK!$$n0p2sf-h>yjZF@@RxO zbD5Y_^TGD#;b5R`H#7=if_Zj-$me-h_2mO$^Nbj0(0Qp1MmW4$?0#KE(WFBw9?wHm zop!Qew1MtjX*qVCJK&x+V~Qsl%tc3PhOB@X2>zu_j^-REh;mfxAGGnkLMs0kLO-_y zzA|RE!>|hBxeW^~DA6}v9}vJEp>fes&HPp3AO>=9feqD8p}kfbv&8knbC(*CudK@Q z!ku4xrxz_8oSLlmy%cQxa=`9tTaVf$bG!aa8mVco)Xy9<0XxW-&c~!ggZ6pph|j=_ z$tM%Xv3lpQoCJ#C>UO^99py3e&YEe?ekBZ$?4$$y<4HDX6b-*!gm$}F&S48nN#t7a zE$Z`pKuiuzPsZWAm6n`1+3qUw*fhjA6CxW9K$2n(jq@6{V+L) z{HSGb1nX+pq7y)L z=MTu)W!sX(%B`bA-)~;Vb@jEPQ@0=$FzgHbPK|7*4{n<2Q8VH!B!$W=Bgy`LRfZXc zsV_z{v7QX(Ji;R}%%M>VV4n7osdF9q9?d2JI5MeNzKKTTwdJ!f6dolOm?4~}T84a6 z?Oq!*d8_py04w4wFo^v@0&sBixy%6>ZgYI$n>mJ5sjaN%Dqj6t zPV73^aY%6GfL>29&)VmJuIEG9bil(L!WRm(T-?Zi)0toOnH@YrX@!VJ{GM-NE$&6c zGsgt6cZ*SQ``q1`v~_kOPpt4QkMV@DF4@J?J1%lk0Q|15cz%XVPSx6v7jh z#+Lc%=@N?S3fgHc6}0ZN=Y3t1n+T4`(9coY&3&cPJVfXbXOUFgAtGi#v-;chfGPe+ zDoay@9bK|*#e^ZenOhY)+akgFAb*0hoH;%BPDFrxy9UX7Jmewpk{NRC+<0dS5+PUKtI~crTVooB&#?-O zFyLoMsoaV4LXn(+t1n$9ebD8-my$;jyKVnC$NNVVxiLEJohhS6_)+;dw@pdiGK8Al z${9=j)t9dvF#Dcb`lOdvSVp9E=n(t6L_1-c%A2-4>v3-j(#G=11Kz7ty1FCTBdU=u zJ#a-na~sHy)`2&$1`O#I7Whq#Esmo<50C4}@rU0sVzoxv=kCZKyJz3-NtTy(lO!AW z5gd7YW+e@U3A!hR6TfqxBOdHd^Aiti`Z1cH>`DjDl7@4v#ZQ_Jp$C^w8zj31Q1|2vQp!ojd&+^f*W^&WJ~NcV5`(;L zfLc|X+5_D@l1n}Ea#O7}s~u!VMfbm>+YEQty;p^OpKwFn*Hm18X-mM9 zu1Q$%9QiZeP2qgu0SMfP=YX5`aeiX-<~5C>>-19v)`Ur3fIs7!_SRBD7wI81iN;F)s$b@o_y+%got8=B@2Lb#3sG z*IJwM16h@NLNMYebk7b_{fTEKE_tW!A5%}_z1D7I?()JXz7_W&fcgWxYqjs`#j`SQ=hYiB z8UPZfQ_w7)sragj;3g!4WCHX1n^X`qrJix~RFsmxk|7O)%IYdipMfY8tW4@gCO|m8 zSE~_a-u#}kq#0p3`iLHLp|b-V{L^zp)<`@(8dS)VJhi5{^ph1r%k$mDko!aECduJJ zzt7&eTyu{3e45B!S5IP&Az%ja z(t}(H-Tlobyw#v@6M-ui&*;nZTsQQV)lM6XI&)K~B*>XSQJMDGw2=es#ozz7YPCH9 zHhfD3=6cxYi(|syvscF39vtYT;Qwp%!_Y7rg*^h8Zf`RvUf!(txE4Ip(3#H1~|>ro5se%i}LycyJN!;46`7xcvV#pCvqg6y1A{9 zwHhsp0;u_@DMcY7>1?F4W@EB7#;p`m!uXc?$pyT53XuMKOvxMb{t|3{=bDsyd$@L% zV>l=f-y&@AfsxOxpEl$lL`?hn7f*xz*xbP(Q0PLNthkJIw8lRn3&dwD+Xp;%oSEKK zw6jY_;zj$Nz+VP<#|Y|V-RkxoGH@=E33SK$R;%sF8V_XViPk)!paix7tOZP=f|N71 z-}I(S-V@ID&~$3+MSfX54_a-Jvqkz~&lZkS=Z&%BS079W8a&q0qJE9+l!?5V3Tsu&>$dn^(;rq0hSv`Jy zDo`{NMT9h4mISRtYrIAn=24#&TGTl+dQ2_Hi{e})K;TJpA6MaB%b=GAvox1KClh#OJeUwtf&zxEIt ziT%0^g9(Cul02RS(Pu0p1-OdL)v%8duLEsrD4Idi&lV-P$Je}GMwCP)@m&x>A?p>SFk&RFM3XljIzj{Vat(Ddt9oGCnaz!4X-u30c|U_oi#B+tyw z{4GOK!>i{xF5euaG>zx@L~U@fdt3u8B9i|ZSth5JWD>cOeQ!rR=|9nK(qC5%SCZn zBa9KbXD(j@+}Cw@fRr#Bj+{?A$!OrZobE(KGmIy5066=`e?H%_G$?F8CLI)(gL%sP zp~&=@5fixDA^0VDUo@pl1DwzT?;QUCPhPh{PbiK035TD>9emFe9YU#jFmQURl zT2}2C%gqf%5Pz;rUmE6e!0V;$V`?P=OKe@_z0wlt$1f0talEGtg85}}y;PwbZR^r2 z0Ruph2X!}f6TM&NG;^YVhjDZ=My<9ic>Ks_kfr7aNpC5NU}fo4?I zNq*=RxsCs2FD*G~^|eu8Yq7a340y;Ne}Z+Xm+V19u5Plr2=|I*jwX@-T&X&x5n-*A zTo>MyCD=D+04W!e&2QR;0RL4U8=?IlGZU6S(G6}MNQhDKN|;AuWhYcIsRy5^+ES^1Oe3u%xLyu?E{C@Iwba~%%TF# z1c6?~KGVizXFWghB&;D7&&t~Rp>7npTftC{KJwY0+Yt73QD5MPXi?uq>}~}KL7^DpPHnj$p@K7u^1WL>`1Jlhb$(#|g^&*O*omcx z_()}bHsr%0D}Ro#>7-BLgrFfsmGTM=&Mwa^A?>JJUY*hlRKF|iR;doM9x*1s%k(ocdq&35!T(I;W3x3-_ zpRzIJUM`>bi%((J?N>%LH*|Kn+ zicbOQaxEw3x$mA>*rnkz)-O|QwG!&S_rD}1d!^ajVkgP0Pk&Hxrf`FT+ zn$4T<6F3|~qXMm@T~OC2iM!8?lVL+;p>dLZ3>xRK=I%ln3tjg^IPOqly_;_{9<( zvBvP*veLq^VlSzvH7hW7_9H6Zy_X}S1P$&Uhq;k<;kb;q(tWU;9a@6*qf6bPUQ#So z3u_&cv+?%r=QQ_3A#K2hI<75}%lPOvxc0cjzf#Bi3)Ec*1 z_us?v<(T3)DP%g^=$ovv_k+3Lqj)0+>pn%3HpVRzQkN)|4Z6);M5#0rfD9z$9|;fa z@sI>xlS8V;rM%L~E92S(wekLlmu>@YC*ObG!tmatIe}i}eqiirV0X|k=MVuw71PWl z0?37-(SGyJZs9iIoK-rI%?9-WnR%qY4Q*$3M8kPY0T{^ZpEU(3fznEK<$JHm;%BcDmx#P)-|Oiin)*l=272jNt#h4a5~*03}#s z(u^Pf6n@|^xo*A*rG)J5Pw5^2gqJi)b!Cmg7=K5pA$gnFbo0r!eshe-M^U~4bp(N!R=X~@{rnd`F!HX(7Uc~AS(pE^7pz?Q{)DnR+erUn=^a2 zz}dRSY3xER7{B}Gehvx6zJua(YeKTG30bPS7xOZJkEbwKX6uctuQceIhh~x+(0fer z!_9$VL;E?}53CjSy_p`X<%UckqSoi1Rxug-HZ12>h_5WrJAO2Vpz6AzB6NU_&P*xBKr1!~IBu4>{pCUX-J-dAFiHy7B z82ha!RZh)|bJ5gAC z$SA*u&mJ;20gLka?7z=U(`3Mrnkh`j^Qa6c;s$H%uLR=1GmXEDE$Wtqk9t!U<(tG# z&>>T3QW~JgYwiFAW;6YRk=e(~_&Hq75qx;+M5}?W0?Z2G|8?Fsj6V`N7`cn?`&~!2 zdXl6{NM?8G;iPSt4F1jjr#c)tAHoajN zxfciuxuw~|&?`tO3UfEqYG zuXoq2qYm2D0uQsARfOlZ4yUe9`qOZI3nOW++m z?yQ1TYy4gxUU*}nI)g(HW|s6p!JFYmLWfJr?15hrtgy!p@Gq2XGc83K{t#UOoB6rm z@-?mVAZ|EJVxEM}VE1V-wI)&DK}=TKlVO`}AO=xG*I5*AdtYs8>xgCEl3(RRIitD6 z6*&t9FL+I*7Eh4{Rac%sSu#~Jnj{=Mr(cx3IZnr|=B4~=`5zYdOhJFn z-b9T|j8qdwU5tR#+!R11r}a!t?|??F>u`V0QqY*EE_s{`>vnKvKU$ghaQ3D+LU2T` z-VUm(F3^QQNf1yVIN>Qn*-CK@qOOm~Ir zqt7aAdq4zrg%Mb-7{l9c=Ak%`lqhGHktaPi+A&ZrLV4SEI>X_Pc4dRtgd*`%Z?78U Om4Hv|C^lD_?Ee8o`3qD4 literal 0 HcmV?d00001 diff --git a/Pak/scripts/decrypt_pak.py b/Pak/scripts/decrypt_pak.py new file mode 100644 index 0000000..8ed6371 --- /dev/null +++ b/Pak/scripts/decrypt_pak.py @@ -0,0 +1,36 @@ +from Crypto.Cipher import AES +import struct + +f = open("FileList.xml.pak", "rb") +data = f.read() +f.close() + +# read header +header = struct.unpack("4shh", data[:8]) +print(header) +to_decrypt = data[8:136] + + +key = b'\xa0\x1d\x3d\x99\x3b\x82\x0f\x1e\x13\x0a\x89\x55\x8d\xc0\xde\x22' +# key = b'\x49\x59\x63\x55\xfd\x61\x71\x01\x00\xf3\xb9\xde\xb6\x6f\xb2\xa5' + +def decrypt(mode): + cipher = AES.new(key, mode) + plaintext = cipher.decrypt(to_decrypt) + sub = struct.unpack("iii", plaintext[:12]) + print(sub) + +#f = open("out.decrypted", "wb") +#f.write(plaintext) +#f.close() + +decrypt(AES.MODE_ECB) +decrypt(AES.MODE_CBC) +decrypt(AES.MODE_CFB) +decrypt(AES.MODE_OFB) +decrypt(AES.MODE_CTR) +decrypt(AES.MODE_OPENPGP) +decrypt(AES.MODE_CCM) +decrypt(AES.MODE_EAX) +decrypt(AES.MODE_GCM) +decrypt(AES.MODE_OCB) \ No newline at end of file diff --git a/Pak/src/base.cpp b/Pak/src/base.cpp new file mode 100644 index 0000000..0d0e55e --- /dev/null +++ b/Pak/src/base.cpp @@ -0,0 +1,20 @@ +#include "base.h" + +FILE* g_LogFile; +const char* g_LogFileName; + +void LogInit(const char* name) +{ + g_LogFileName = name; + g_LogFile = fopen(g_LogFileName, "wb"); + ASSERT(g_LogFile); +} + +struct Logger +{ + ~Logger() { + fclose(g_LogFile); + } +}; + +static Logger g_Logger; diff --git a/Pak/src/base.h b/Pak/src/base.h new file mode 100644 index 0000000..85dc17d --- /dev/null +++ b/Pak/src/base.h @@ -0,0 +1,358 @@ +#pragma once +#include +#include +#include +#include +#include // memmove + +extern FILE* g_LogFile; +void LogInit(const char* name); +#define LOG(fmt, ...) do { printf(fmt "\n", __VA_ARGS__); fprintf(g_LogFile, fmt "\n", __VA_ARGS__); } while(0) +#define LOG_NNL(fmt, ...) do { printf(fmt, __VA_ARGS__); fprintf(g_LogFile, fmt, __VA_ARGS__); } while(0) + +#define STATIC_ASSERT(cond) static_assert(cond, #cond) + +inline void __assertion_failed(const char* cond, const char* file, int line) +{ + LOG("Assertion failed (%s : %d): %s", file, line, cond); + fflush(stdout); + fflush(g_LogFile); + __debugbreak(); +} + +#define ASSERT(cond) do { if(!(cond)) { __assertion_failed(#cond, __FILE__, __LINE__); } } while(0) +#define ASSERT_MSG(cond, msg) do { if(!(cond)) { __assertion_failed(#cond " (" #msg ")", __FILE__, __LINE__); } } while(0) +#ifdef CONF_DEBUG + #define DBG_ASSERT(cond) ASSERT(cond) +#else + #define DBG_ASSERT(cond) +#endif + +#define ARRAY_COUNT(A) (sizeof(A)/sizeof(A[0])) +#define PUSH_PACKED __pragma(pack(push, 1)) +#define POP_PACKED __pragma(pack(pop)) + +#define MIN(a, b) ((a) < (b) ? (a) : (b)) +#define MAX(a, b) ((a) > (b) ? (a) : (b)) + +typedef uint8_t u8; +typedef uint16_t u16; +typedef uint32_t u32; +typedef int16_t i16; +typedef int32_t i32; +typedef int64_t i64; + +typedef float f32; + +inline void* memAlloc(i64 size) +{ + //ProfileBlock("memAlloc"); + void* ptr = malloc(size); + //ProfileMemAlloc(ptr, size); + return ptr; +} + +inline void* memRealloc(void* inPtr, i64 size) +{ + //ProfileBlock("memRealloc"); + //ProfileMemFree(inPtr); + void* ptr = realloc(inPtr, size); + //ProfileMemAlloc(ptr, size); + return ptr; +} + +inline void memFree(void* ptr) +{ + //ProfileBlock("memFree"); + //ProfileMemFree(ptr) + return free(ptr); +} + + +struct Buffer +{ + u8* data; + i32 size; + i32 capacity; + + Buffer(i32 capacity_) + { + data = (u8*)memAlloc(capacity_); + size = 0; + capacity = capacity_; + } + + ~Buffer() + { + free(data); + } + + void Clear() + { + size = 0; + } + + void Append(const void* ap, i32 apSize) + { + ASSERT(size + apSize <= capacity); + memmove(data + size, ap, apSize); + size += apSize; + } + + void AppendString(const char* str) + { + const i32 apSize = strlen(str); + ASSERT(size + apSize <= capacity); + memmove(data + size, str, apSize); + size += apSize; + } +}; + +inline u8* fileOpenAndReadAll(const char* filename, i32* pOutSize) +{ + FILE* f = fopen(filename, "rb"); + if(f) { + fseek(f, 0, SEEK_END); + int size = ftell(f); + fseek(f, 0, SEEK_SET); + + u8* buff = (u8*)memAlloc(size + 1); + fread(buff, size, 1, f); + buff[size] = 0; + *pOutSize = size; + + fclose(f); + return buff; + } + + return nullptr; +} + +inline bool fileSaveBuff(const char* filename, const void* buff, i32 size) +{ + FILE* f = fopen(filename, "wb"); + if(f) { + fwrite(buff, 1, size, f); + fclose(f); + return true; + } + + return false; +} + +static const char* _TempStrFormat(const char* fmt, ...) +{ + thread_local char buff[4096]; + + va_list list; + va_start(list, fmt); + vsnprintf(buff, sizeof(buff), fmt, list); + va_end(list); + + return buff; +} + +#define FMT(...) _TempStrFormat(__VA_ARGS__) + +// Dynamic array holding POD structures +template +struct Array +{ + T _stackData[STACK_COUNT]; + T* _data = _stackData; + i64 _capacity = STACK_COUNT; + i64 _count = 0; + void* _memBlock = nullptr; + + Array() = default; + + template + Array(const Array& from) { + Copy(from); + } + + Array(const Array& from) { + Copy(from); + } + + // deep copy + template + void Copy(const Array& from) { + Clear(); + if(from._count > _capacity) { + Reserve(from._count); + } + _count = from._count; + memmove(_data, from._data, _count * sizeof(T)); + } + + inline Array& operator=(const Array& other) { + Copy(other); + return *this; + } + + ~Array() { + release(); + } + + inline void release() { + if(_memBlock) { + memFree(_memBlock); + _memBlock = nullptr; + } + } + + void Reserve(u32 newCapacity) { + if(newCapacity <= _capacity) return; + _memBlock = memRealloc(_memBlock, newCapacity * sizeof(T)); + ASSERT_MSG(_memBlock, "Out of memory"); + + T* oldData = _data; + _data = (T*)_memBlock; + _capacity = newCapacity; + + if(oldData == _stackData) { + memmove(_data, _stackData, sizeof(_stackData)); + } + } + + T& Push(const T& elt) { + if(_count + 1 > _capacity) { + Reserve(_capacity * 2); + } + return (_data[_count++] = elt); + } + + T& PushMany(const T* elements, const u32 eltCount) { + if(_count + eltCount > _capacity) { + Reserve(MAX(_capacity * 2, _count + eltCount)); + } + + i64 start = _count; + _count += eltCount; + memmove(_data + start, elements, eltCount * sizeof(T)); + return _data[start]; + } + + void Fill(const i32 eltCount, const T& elt = {}) { + if(eltCount > _capacity) { + Reserve(MAX(_capacity * 2, eltCount)); + } + _count = eltCount; + for(u32 i = 0; i < _count; ++i) { + _data[i] = elt; + } + } + + inline void RemoveByID(i32 id) { + ASSERT_MSG(_count > 0 && id < _count, "Element out of range"); + memmove(_data + id, _data + (_count -1), sizeof(T)); + --_count; + } + + // Swap with last + inline void Remove(const T& elt) { + const T* eltPtr = &elt; + ASSERT_MSG(eltPtr >= _data && eltPtr < _data + _count, "Element out of range"); + + u32 id = eltPtr - _data; + memmove(_data + id, _data + (_count -1), sizeof(T)); + --_count; + } + + inline void Resize(i32 count_) { + if(count_ > _capacity) { + Reserve(MAX(_capacity * 2, count_)); + } + _count = count_; + } + + inline void Clear() { + _count = 0; + } + + inline u32 Capacity() const { + return _capacity; + } + + inline u32 Count() const { + return _count; + } + + inline u32 DataSize() const { + return _count * sizeof(T); + } + + inline T* Data() { + return _data; + } + + inline const T* Data() const { + return _data; + } + + inline T& operator[](u32 index) { + ASSERT(index < _count); + return _data[index]; + } + + inline const T& operator[](u32 index) const { + ASSERT(index < _count); + return _data[index]; + } + + inline void ShrinkTo(u32 num) { + ASSERT(num < _count); + _count = num; + } +}; + +struct ConstBuffer +{ + u8* data; + u8* cursor; + i32 size; + + ConstBuffer(const void* ptr, i32 size_) + { + data = (u8*)ptr; + cursor = (u8*)ptr; + size = size_; + } + + template + inline T& Read() + { + ASSERT((cursor - data) + sizeof(T) <= size); + T& t = *(T*)cursor; + cursor += sizeof(T); + return t; + } + + inline u8* ReadRaw(i32 len) + { + ASSERT((cursor - data) + len <= size); + u8* r = cursor; + cursor += len; + return r; + } +}; + +inline bool StringEquals(const char* str1, const char* str2) +{ + const i32 len = strlen(str1); + if(len != strlen(str2)) { + return false; + } + return strncmp(str1, str2, len) == 0; +} + +inline void logAsHex(const void* data, int size) +{ + LOG_NNL("[ "); + const u8* b = (u8*)data; + for(int i = 0; i < size; i++) { + LOG_NNL("%x, ", b[i]); + } + LOG_NNL("]"); +} diff --git a/Pak/src/pak.rdbg b/Pak/src/pak.rdbg new file mode 100644 index 0000000000000000000000000000000000000000..8edecd439e6498fccf361778ef60e97c5904814e GIT binary patch literal 261 zcmWG?adNj{U|?{ziU}ynPX`fMsU^iRz7@VPz7f8uMTQsw4PXXh79g(3 iFEZqS((xubCTu` + +struct CryptCtx +{ + u32 fromKeyBuff1[44] = {0}; + u32 fromKeyBuff2[44] = {0}; + + void keyExpand(const u8* key) + { + memmove(fromKeyBuff1, key, 16); + + const u8 g_AES_256_0[256] = { + 0x63, 0x7c, 0x77, 0x7b, 0xf2, 0x6b, 0x6f, 0xc5, 0x30, 0x01, 0x67, 0x2b, 0xfe, 0xd7, 0xab, 0x76, + 0xca, 0x82, 0xc9, 0x7d, 0xfa, 0x59, 0x47, 0xf0, 0xad, 0xd4, 0xa2, 0xaf, 0x9c, 0xa4, 0x72, 0xc0, + 0xb7, 0xfd, 0x93, 0x26, 0x36, 0x3f, 0xf7, 0xcc, 0x34, 0xa5, 0xe5, 0xf1, 0x71, 0xd8, 0x31, 0x15, + 0x04, 0xc7, 0x23, 0xc3, 0x18, 0x96, 0x05, 0x9a, 0x07, 0x12, 0x80, 0xe2, 0xeb, 0x27, 0xb2, 0x75, + 0x09, 0x83, 0x2c, 0x1a, 0x1b, 0x6e, 0x5a, 0xa0, 0x52, 0x3b, 0xd6, 0xb3, 0x29, 0xe3, 0x2f, 0x84, + 0x53, 0xd1, 0x00, 0xed, 0x20, 0xfc, 0xb1, 0x5b, 0x6a, 0xcb, 0xbe, 0x39, 0x4a, 0x4c, 0x58, 0xcf, + 0xd0, 0xef, 0xaa, 0xfb, 0x43, 0x4d, 0x33, 0x85, 0x45, 0xf9, 0x02, 0x7f, 0x50, 0x3c, 0x9f, 0xa8, + 0x51, 0xa3, 0x40, 0x8f, 0x92, 0x9d, 0x38, 0xf5, 0xbc, 0xb6, 0xda, 0x21, 0x10, 0xff, 0xf3, 0xd2, + 0xcd, 0x0c, 0x13, 0xec, 0x5f, 0x97, 0x44, 0x17, 0xc4, 0xa7, 0x7e, 0x3d, 0x64, 0x5d, 0x19, 0x73, + 0x60, 0x81, 0x4f, 0xdc, 0x22, 0x2a, 0x90, 0x88, 0x46, 0xee, 0xb8, 0x14, 0xde, 0x5e, 0x0b, 0xdb, + 0xe0, 0x32, 0x3a, 0x0a, 0x49, 0x06, 0x24, 0x5c, 0xc2, 0xd3, 0xac, 0x62, 0x91, 0x95, 0xe4, 0x79, + 0xe7, 0xc8, 0x37, 0x6d, 0x8d, 0xd5, 0x4e, 0xa9, 0x6c, 0x56, 0xf4, 0xea, 0x65, 0x7a, 0xae, 0x08, + 0xba, 0x78, 0x25, 0x2e, 0x1c, 0xa6, 0xb4, 0xc6, 0xe8, 0xdd, 0x74, 0x1f, 0x4b, 0xbd, 0x8b, 0x8a, + 0x70, 0x3e, 0xb5, 0x66, 0x48, 0x03, 0xf6, 0x0e, 0x61, 0x35, 0x57, 0xb9, 0x86, 0xc1, 0x1d, 0x9e, + 0xe1, 0xf8, 0x98, 0x11, 0x69, 0xd9, 0x8e, 0x94, 0x9b, 0x1e, 0x87, 0xe9, 0xce, 0x55, 0x28, 0xdf, + 0x8c, 0xa1, 0x89, 0x0d, 0xbf, 0xe6, 0x42, 0x68, 0x41, 0x99, 0x2d, 0x0f, 0xb0, 0x54, 0xbb, 0x16, + }; + + const u32 roundTable[10] = { + 0x1, 0x2, 0x4, 0x8, + 0x10, 0x20, 0x40, 0x80, + 0x1b, 0x36 + }; + + u32* buff1_4 = (u32*)fromKeyBuff1; + for(int i = 0; i < 10; i++) { + const u32 swapID = buff1_4[3]; + u32 xor1; + u8* xor1_4 = (u8*)&xor1; + xor1_4[0] = g_AES_256_0[swapID >> 8 & 0xff]; + xor1_4[1] = g_AES_256_0[swapID >> 16 & 0xff]; + xor1_4[2] = g_AES_256_0[swapID >> 24]; + xor1_4[3] = g_AES_256_0[swapID & 0xff]; + + buff1_4[4] = roundTable[i] ^ buff1_4[0] ^ xor1; + + u32* p = buff1_4; + for(int j = 0; j < 3; j++) { + p[5] = p[4] ^ p[1]; + p++; + } + + buff1_4 += 4; + } + } +}; + +int main(int argc, char** argv) +{ + LogInit("pak.log"); + LOG(".: Pak Unpacker :."); + + CryptCtx ctx; + + const u8 key[16] = { + 0xa0, 0x1d, 0x3d, 0x99, + 0x3b, 0x82, 0x0f, 0x1e, + 0x13, 0x0a, 0x89, 0x55, + 0x8d, 0xc0, 0xde, 0x22 + }; + + ctx.keyExpand(key); + + return 0; +} From 8f480e11fa444967440e1423dfacfa4a61cc4cfd Mon Sep 17 00:00:00 2001 From: LordSk Date: Sun, 12 Jul 2020 03:07:19 +0200 Subject: [PATCH 02/14] Expansion part 2 --- Pak/src/pak.rdbg | Bin 261 -> 0 bytes Pak/src/pak_main.cpp | 88 +++++++++++++++++++++++++++++++------------ 2 files changed, 63 insertions(+), 25 deletions(-) delete mode 100644 Pak/src/pak.rdbg diff --git a/Pak/src/pak.rdbg b/Pak/src/pak.rdbg deleted file mode 100644 index 8edecd439e6498fccf361778ef60e97c5904814e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 261 zcmWG?adNj{U|?{ziU}ynPX`fMsU^iRz7@VPz7f8uMTQsw4PXXh79g(3 iFEZqS((xubCTu` +const u8 g_AES_256_0[256] = { + 0x63, 0x7c, 0x77, 0x7b, 0xf2, 0x6b, 0x6f, 0xc5, 0x30, 0x01, 0x67, 0x2b, 0xfe, 0xd7, 0xab, 0x76, + 0xca, 0x82, 0xc9, 0x7d, 0xfa, 0x59, 0x47, 0xf0, 0xad, 0xd4, 0xa2, 0xaf, 0x9c, 0xa4, 0x72, 0xc0, + 0xb7, 0xfd, 0x93, 0x26, 0x36, 0x3f, 0xf7, 0xcc, 0x34, 0xa5, 0xe5, 0xf1, 0x71, 0xd8, 0x31, 0x15, + 0x04, 0xc7, 0x23, 0xc3, 0x18, 0x96, 0x05, 0x9a, 0x07, 0x12, 0x80, 0xe2, 0xeb, 0x27, 0xb2, 0x75, + 0x09, 0x83, 0x2c, 0x1a, 0x1b, 0x6e, 0x5a, 0xa0, 0x52, 0x3b, 0xd6, 0xb3, 0x29, 0xe3, 0x2f, 0x84, + 0x53, 0xd1, 0x00, 0xed, 0x20, 0xfc, 0xb1, 0x5b, 0x6a, 0xcb, 0xbe, 0x39, 0x4a, 0x4c, 0x58, 0xcf, + 0xd0, 0xef, 0xaa, 0xfb, 0x43, 0x4d, 0x33, 0x85, 0x45, 0xf9, 0x02, 0x7f, 0x50, 0x3c, 0x9f, 0xa8, + 0x51, 0xa3, 0x40, 0x8f, 0x92, 0x9d, 0x38, 0xf5, 0xbc, 0xb6, 0xda, 0x21, 0x10, 0xff, 0xf3, 0xd2, + 0xcd, 0x0c, 0x13, 0xec, 0x5f, 0x97, 0x44, 0x17, 0xc4, 0xa7, 0x7e, 0x3d, 0x64, 0x5d, 0x19, 0x73, + 0x60, 0x81, 0x4f, 0xdc, 0x22, 0x2a, 0x90, 0x88, 0x46, 0xee, 0xb8, 0x14, 0xde, 0x5e, 0x0b, 0xdb, + 0xe0, 0x32, 0x3a, 0x0a, 0x49, 0x06, 0x24, 0x5c, 0xc2, 0xd3, 0xac, 0x62, 0x91, 0x95, 0xe4, 0x79, + 0xe7, 0xc8, 0x37, 0x6d, 0x8d, 0xd5, 0x4e, 0xa9, 0x6c, 0x56, 0xf4, 0xea, 0x65, 0x7a, 0xae, 0x08, + 0xba, 0x78, 0x25, 0x2e, 0x1c, 0xa6, 0xb4, 0xc6, 0xe8, 0xdd, 0x74, 0x1f, 0x4b, 0xbd, 0x8b, 0x8a, + 0x70, 0x3e, 0xb5, 0x66, 0x48, 0x03, 0xf6, 0x0e, 0x61, 0x35, 0x57, 0xb9, 0x86, 0xc1, 0x1d, 0x9e, + 0xe1, 0xf8, 0x98, 0x11, 0x69, 0xd9, 0x8e, 0x94, 0x9b, 0x1e, 0x87, 0xe9, 0xce, 0x55, 0x28, 0xdf, + 0x8c, 0xa1, 0x89, 0x0d, 0xbf, 0xe6, 0x42, 0x68, 0x41, 0x99, 0x2d, 0x0f, 0xb0, 0x54, 0xbb, 0x16, +}; + +const u8 g_AES_1024_0[1024] = { + 0x51, 0xf4, 0xa7, 0x50, 0x7e, 0x41, 0x65, 0x53, 0x1a, 0x17, 0xa4, 0xc3, 0x3a, 0x27, 0x5e, 0x96, 0x3b, 0xab, 0x6b, 0xcb, 0x1f, 0x9d, 0x45, 0xf1, 0xac, 0xfa, 0x58, 0xab, 0x4b, 0xe3, 0x03, 0x93, 0x20, 0x30, 0xfa, 0x55, 0xad, 0x76, 0x6d, 0xf6, 0x88, 0xcc, 0x76, 0x91, 0xf5, 0x02, 0x4c, 0x25, 0x4f, 0xe5, 0xd7, 0xfc, 0xc5, 0x2a, 0xcb, 0xd7, 0x26, 0x35, 0x44, 0x80, 0xb5, 0x62, 0xa3, 0x8f, 0xde, 0xb1, 0x5a, 0x49, 0x25, 0xba, 0x1b, 0x67, 0x45, 0xea, 0x0e, 0x98, 0x5d, 0xfe, 0xc0, 0xe1, 0xc3, 0x2f, 0x75, 0x02, 0x81, 0x4c, 0xf0, 0x12, 0x8d, 0x46, 0x97, 0xa3, 0x6b, 0xd3, 0xf9, 0xc6, 0x03, 0x8f, 0x5f, 0xe7, 0x15, 0x92, 0x9c, 0x95, 0xbf, 0x6d, 0x7a, 0xeb, 0x95, 0x52, 0x59, 0xda, 0xd4, 0xbe, 0x83, 0x2d, 0x58, 0x74, 0x21, 0xd3, 0x49, 0xe0, 0x69, 0x29, 0x8e, 0xc9, 0xc8, 0x44, 0x75, 0xc2, 0x89, 0x6a, 0xf4, 0x8e, 0x79, 0x78, 0x99, 0x58, 0x3e, 0x6b, 0x27, 0xb9, 0x71, 0xdd, 0xbe, 0xe1, 0x4f, 0xb6, 0xf0, 0x88, 0xad, 0x17, 0xc9, 0x20, 0xac, 0x66, 0x7d, 0xce, 0x3a, 0xb4, 0x63, 0xdf, 0x4a, 0x18, 0xe5, 0x1a, 0x31, 0x82, 0x97, 0x51, 0x33, 0x60, 0x62, 0x53, 0x7f, 0x45, 0xb1, 0x64, 0x77, 0xe0, 0xbb, 0x6b, 0xae, 0x84, 0xfe, 0x81, 0xa0, 0x1c, 0xf9, 0x08, 0x2b, 0x94, 0x70, 0x48, 0x68, 0x58, 0x8f, 0x45, 0xfd, 0x19, 0x94, 0xde, 0x6c, 0x87, 0x52, 0x7b, 0xf8, 0xb7, 0xab, 0x73, 0xd3, 0x23, 0x72, 0x4b, 0x02, 0xe2, 0xe3, 0x1f, 0x8f, 0x57, 0x66, 0x55, 0xab, 0x2a, 0xb2, 0xeb, 0x28, 0x07, 0x2f, 0xb5, 0xc2, 0x03, 0x86, 0xc5, 0x7b, 0x9a, 0xd3, 0x37, 0x08, 0xa5, 0x30, 0x28, 0x87, 0xf2, 0x23, 0xbf, 0xa5, 0xb2, 0x02, 0x03, 0x6a, 0xba, 0xed, 0x16, 0x82, 0x5c, 0x8a, 0xcf, 0x1c, 0x2b, 0xa7, 0x79, 0xb4, 0x92, 0xf3, 0x07, 0xf2, 0xf0, 0x4e, 0x69, 0xe2, 0xa1, 0x65, 0xda, 0xf4, 0xcd, 0x06, 0x05, 0xbe, 0xd5, 0xd1, 0x34, 0x62, 0x1f, 0xc4, 0xa6, 0xfe, 0x8a, 0x34, 0x2e, 0x53, 0x9d, 0xa2, 0xf3, 0x55, 0xa0, 0x05, 0x8a, 0xe1, 0x32, 0xa4, 0xf6, 0xeb, 0x75, 0x0b, 0x83, 0xec, 0x39, 0x40, 0x60, 0xef, 0xaa, 0x5e, 0x71, 0x9f, 0x06, 0xbd, 0x6e, 0x10, 0x51, 0x3e, 0x21, 0x8a, 0xf9, 0x96, 0xdd, 0x06, 0x3d, 0xdd, 0x3e, 0x05, 0xae, 0x4d, 0xe6, 0xbd, 0x46, 0x91, 0x54, 0x8d, 0xb5, 0x71, 0xc4, 0x5d, 0x05, 0x04, 0x06, 0xd4, 0x6f, 0x60, 0x50, 0x15, 0xff, 0x19, 0x98, 0xfb, 0x24, 0xd6, 0xbd, 0xe9, 0x97, 0x89, 0x40, 0x43, 0xcc, 0x67, 0xd9, 0x9e, 0x77, 0xb0, 0xe8, 0x42, 0xbd, 0x07, 0x89, 0x8b, 0x88, 0xe7, 0x19, 0x5b, 0x38, 0x79, 0xc8, 0xee, 0xdb, 0xa1, 0x7c, 0x0a, 0x47, 0x7c, 0x42, 0x0f, 0xe9, 0xf8, 0x84, 0x1e, 0xc9, 0x00, 0x00, 0x00, 0x00, 0x09, 0x80, 0x86, 0x83, 0x32, 0x2b, 0xed, 0x48, 0x1e, 0x11, 0x70, 0xac, 0x6c, 0x5a, 0x72, 0x4e, 0xfd, 0x0e, 0xff, 0xfb, 0x0f, 0x85, 0x38, 0x56, 0x3d, 0xae, 0xd5, 0x1e, 0x36, 0x2d, 0x39, 0x27, 0x0a, 0x0f, 0xd9, 0x64, 0x68, 0x5c, 0xa6, 0x21, 0x9b, 0x5b, 0x54, 0xd1, 0x24, 0x36, 0x2e, 0x3a, 0x0c, 0x0a, 0x67, 0xb1, 0x93, 0x57, 0xe7, 0x0f, 0xb4, 0xee, 0x96, 0xd2, 0x1b, 0x9b, 0x91, 0x9e, 0x80, 0xc0, 0xc5, 0x4f, 0x61, 0xdc, 0x20, 0xa2, 0x5a, 0x77, 0x4b, 0x69, 0x1c, 0x12, 0x1a, 0x16, 0xe2, 0x93, 0xba, 0x0a, 0xc0, 0xa0, 0x2a, 0xe5, 0x3c, 0x22, 0xe0, 0x43, 0x12, 0x1b, 0x17, 0x1d, 0x0e, 0x09, 0x0d, 0x0b, 0xf2, 0x8b, 0xc7, 0xad, 0x2d, 0xb6, 0xa8, 0xb9, 0x14, 0x1e, 0xa9, 0xc8, 0x57, 0xf1, 0x19, 0x85, 0xaf, 0x75, 0x07, 0x4c, 0xee, 0x99, 0xdd, 0xbb, 0xa3, 0x7f, 0x60, 0xfd, 0xf7, 0x01, 0x26, 0x9f, 0x5c, 0x72, 0xf5, 0xbc, 0x44, 0x66, 0x3b, 0xc5, 0x5b, 0xfb, 0x7e, 0x34, 0x8b, 0x43, 0x29, 0x76, 0xcb, 0x23, 0xc6, 0xdc, 0xb6, 0xed, 0xfc, 0x68, 0xb8, 0xe4, 0xf1, 0x63, 0xd7, 0x31, 0xdc, 0xca, 0x42, 0x63, 0x85, 0x10, 0x13, 0x97, 0x22, 0x40, 0x84, 0xc6, 0x11, 0x20, 0x85, 0x4a, 0x24, 0x7d, 0xd2, 0xbb, 0x3d, 0xf8, 0xae, 0xf9, 0x32, 0x11, 0xc7, 0x29, 0xa1, 0x6d, 0x1d, 0x9e, 0x2f, 0x4b, 0xdc, 0xb2, 0x30, 0xf3, 0x0d, 0x86, 0x52, 0xec, 0x77, 0xc1, 0xe3, 0xd0, 0x2b, 0xb3, 0x16, 0x6c, 0xa9, 0x70, 0xb9, 0x99, 0x11, 0x94, 0x48, 0xfa, 0x47, 0xe9, 0x64, 0x22, 0xa8, 0xfc, 0x8c, 0xc4, 0xa0, 0xf0, 0x3f, 0x1a, 0x56, 0x7d, 0x2c, 0xd8, 0x22, 0x33, 0x90, 0xef, 0x87, 0x49, 0x4e, 0xc7, 0xd9, 0x38, 0xd1, 0xc1, 0x8c, 0xca, 0xa2, 0xfe, 0x98, 0xd4, 0x0b, 0x36, 0xa6, 0xf5, 0x81, 0xcf, 0xa5, 0x7a, 0xde, 0x28, 0xda, 0xb7, 0x8e, 0x26, 0x3f, 0xad, 0xbf, 0xa4, 0x2c, 0x3a, 0x9d, 0xe4, 0x50, 0x78, 0x92, 0x0d, 0x6a, 0x5f, 0xcc, 0x9b, 0x54, 0x7e, 0x46, 0x62, 0xf6, 0x8d, 0x13, 0xc2, 0x90, 0xd8, 0xb8, 0xe8, 0x2e, 0x39, 0xf7, 0x5e, 0x82, 0xc3, 0xaf, 0xf5, 0x9f, 0x5d, 0x80, 0xbe, 0x69, 0xd0, 0x93, 0x7c, 0x6f, 0xd5, 0x2d, 0xa9, 0xcf, 0x25, 0x12, 0xb3, 0xc8, 0xac, 0x99, 0x3b, 0x10, 0x18, 0x7d, 0xa7, 0xe8, 0x9c, 0x63, 0x6e, 0xdb, 0x3b, 0xbb, 0x7b, 0xcd, 0x26, 0x78, 0x09, 0x6e, 0x59, 0x18, 0xf4, 0xec, 0x9a, 0xb7, 0x01, 0x83, 0x4f, 0x9a, 0xa8, 0xe6, 0x95, 0x6e, 0x65, 0xaa, 0xff, 0xe6, 0x7e, 0x21, 0xbc, 0xcf, 0x08, 0xef, 0x15, 0xe8, 0xe6, 0xba, 0xe7, 0x9b, 0xd9, 0x4a, 0x6f, 0x36, 0xce, 0xea, 0x9f, 0x09, 0xd4, 0x29, 0xb0, 0x7c, 0xd6, 0x31, 0xa4, 0xb2, 0xaf, 0x2a, 0x3f, 0x23, 0x31, 0xc6, 0xa5, 0x94, 0x30, 0x35, 0xa2, 0x66, 0xc0, 0x74, 0x4e, 0xbc, 0x37, 0xfc, 0x82, 0xca, 0xa6, 0xe0, 0x90, 0xd0, 0xb0, 0x33, 0xa7, 0xd8, 0x15, 0xf1, 0x04, 0x98, 0x4a, 0x41, 0xec, 0xda, 0xf7, 0x7f, 0xcd, 0x50, 0x0e, 0x17, 0x91, 0xf6, 0x2f, 0x76, 0x4d, 0xd6, 0x8d, 0x43, 0xef, 0xb0, 0x4d, 0xcc, 0xaa, 0x4d, 0x54, 0xe4, 0x96, 0x04, 0xdf, 0x9e, 0xd1, 0xb5, 0xe3, 0x4c, 0x6a, 0x88, 0x1b, 0xc1, 0x2c, 0x1f, 0xb8, 0x46, 0x65, 0x51, 0x7f, 0x9d, 0x5e, 0xea, 0x04, 0x01, 0x8c, 0x35, 0x5d, 0xfa, 0x87, 0x74, 0x73, 0xfb, 0x0b, 0x41, 0x2e, 0xb3, 0x67, 0x1d, 0x5a, 0x92, 0xdb, 0xd2, 0x52, 0xe9, 0x10, 0x56, 0x33, 0x6d, 0xd6, 0x47, 0x13, 0x9a, 0xd7, 0x61, 0x8c, 0x37, 0xa1, 0x0c, 0x7a, 0x59, 0xf8, 0x14, 0x8e, 0xeb, 0x13, 0x3c, 0x89, 0xce, 0xa9, 0x27, 0xee, 0xb7, 0x61, 0xc9, 0x35, 0xe1, 0x1c, 0xe5, 0xed, 0x7a, 0x47, 0xb1, 0x3c, 0x9c, 0xd2, 0xdf, 0x59, 0x55, 0xf2, 0x73, 0x3f, 0x18, 0x14, 0xce, 0x79, 0x73, 0xc7, 0x37, 0xbf, 0x53, 0xf7, 0xcd, 0xea, 0x5f, 0xfd, 0xaa, 0x5b, 0xdf, 0x3d, 0x6f, 0x14, 0x78, 0x44, 0xdb, 0x86, 0xca, 0xaf, 0xf3, 0x81, 0xb9, 0x68, 0xc4, 0x3e, 0x38, 0x24, 0x34, 0x2c, 0xc2, 0xa3, 0x40, 0x5f, 0x16, 0x1d, 0xc3, 0x72, 0xbc, 0xe2, 0x25, 0x0c, 0x28, 0x3c, 0x49, 0x8b, 0xff, 0x0d, 0x95, 0x41, 0x39, 0xa8, 0x01, 0x71, 0x08, 0x0c, 0xb3, 0xde, 0xd8, 0xb4, 0xe4, 0x9c, 0x64, 0x56, 0xc1, 0x90, 0x7b, 0xcb, 0x84, 0x61, 0xd5, 0x32, 0xb6, 0x70, 0x48, 0x6c, 0x5c, 0x74, 0xd0, 0xb8, 0x57, 0x42, +}; + +const u8 g_AES_1024_1[1024] = { + 0x50, 0x51, 0xf4, 0xa7, 0x53, 0x7e, 0x41, 0x65, 0xc3, 0x1a, 0x17, 0xa4, 0x96, 0x3a, 0x27, 0x5e, 0xcb, 0x3b, 0xab, 0x6b, 0xf1, 0x1f, 0x9d, 0x45, 0xab, 0xac, 0xfa, 0x58, 0x93, 0x4b, 0xe3, 0x03, 0x55, 0x20, 0x30, 0xfa, 0xf6, 0xad, 0x76, 0x6d, 0x91, 0x88, 0xcc, 0x76, 0x25, 0xf5, 0x02, 0x4c, 0xfc, 0x4f, 0xe5, 0xd7, 0xd7, 0xc5, 0x2a, 0xcb, 0x80, 0x26, 0x35, 0x44, 0x8f, 0xb5, 0x62, 0xa3, 0x49, 0xde, 0xb1, 0x5a, 0x67, 0x25, 0xba, 0x1b, 0x98, 0x45, 0xea, 0x0e, 0xe1, 0x5d, 0xfe, 0xc0, 0x02, 0xc3, 0x2f, 0x75, 0x12, 0x81, 0x4c, 0xf0, 0xa3, 0x8d, 0x46, 0x97, 0xc6, 0x6b, 0xd3, 0xf9, 0xe7, 0x03, 0x8f, 0x5f, 0x95, 0x15, 0x92, 0x9c, 0xeb, 0xbf, 0x6d, 0x7a, 0xda, 0x95, 0x52, 0x59, 0x2d, 0xd4, 0xbe, 0x83, 0xd3, 0x58, 0x74, 0x21, 0x29, 0x49, 0xe0, 0x69, 0x44, 0x8e, 0xc9, 0xc8, 0x6a, 0x75, 0xc2, 0x89, 0x78, 0xf4, 0x8e, 0x79, 0x6b, 0x99, 0x58, 0x3e, 0xdd, 0x27, 0xb9, 0x71, 0xb6, 0xbe, 0xe1, 0x4f, 0x17, 0xf0, 0x88, 0xad, 0x66, 0xc9, 0x20, 0xac, 0xb4, 0x7d, 0xce, 0x3a, 0x18, 0x63, 0xdf, 0x4a, 0x82, 0xe5, 0x1a, 0x31, 0x60, 0x97, 0x51, 0x33, 0x45, 0x62, 0x53, 0x7f, 0xe0, 0xb1, 0x64, 0x77, 0x84, 0xbb, 0x6b, 0xae, 0x1c, 0xfe, 0x81, 0xa0, 0x94, 0xf9, 0x08, 0x2b, 0x58, 0x70, 0x48, 0x68, 0x19, 0x8f, 0x45, 0xfd, 0x87, 0x94, 0xde, 0x6c, 0xb7, 0x52, 0x7b, 0xf8, 0x23, 0xab, 0x73, 0xd3, 0xe2, 0x72, 0x4b, 0x02, 0x57, 0xe3, 0x1f, 0x8f, 0x2a, 0x66, 0x55, 0xab, 0x07, 0xb2, 0xeb, 0x28, 0x03, 0x2f, 0xb5, 0xc2, 0x9a, 0x86, 0xc5, 0x7b, 0xa5, 0xd3, 0x37, 0x08, 0xf2, 0x30, 0x28, 0x87, 0xb2, 0x23, 0xbf, 0xa5, 0xba, 0x02, 0x03, 0x6a, 0x5c, 0xed, 0x16, 0x82, 0x2b, 0x8a, 0xcf, 0x1c, 0x92, 0xa7, 0x79, 0xb4, 0xf0, 0xf3, 0x07, 0xf2, 0xa1, 0x4e, 0x69, 0xe2, 0xcd, 0x65, 0xda, 0xf4, 0xd5, 0x06, 0x05, 0xbe, 0x1f, 0xd1, 0x34, 0x62, 0x8a, 0xc4, 0xa6, 0xfe, 0x9d, 0x34, 0x2e, 0x53, 0xa0, 0xa2, 0xf3, 0x55, 0x32, 0x05, 0x8a, 0xe1, 0x75, 0xa4, 0xf6, 0xeb, 0x39, 0x0b, 0x83, 0xec, 0xaa, 0x40, 0x60, 0xef, 0x06, 0x5e, 0x71, 0x9f, 0x51, 0xbd, 0x6e, 0x10, 0xf9, 0x3e, 0x21, 0x8a, 0x3d, 0x96, 0xdd, 0x06, 0xae, 0xdd, 0x3e, 0x05, 0x46, 0x4d, 0xe6, 0xbd, 0xb5, 0x91, 0x54, 0x8d, 0x05, 0x71, 0xc4, 0x5d, 0x6f, 0x04, 0x06, 0xd4, 0xff, 0x60, 0x50, 0x15, 0x24, 0x19, 0x98, 0xfb, 0x97, 0xd6, 0xbd, 0xe9, 0xcc, 0x89, 0x40, 0x43, 0x77, 0x67, 0xd9, 0x9e, 0xbd, 0xb0, 0xe8, 0x42, 0x88, 0x07, 0x89, 0x8b, 0x38, 0xe7, 0x19, 0x5b, 0xdb, 0x79, 0xc8, 0xee, 0x47, 0xa1, 0x7c, 0x0a, 0xe9, 0x7c, 0x42, 0x0f, 0xc9, 0xf8, 0x84, 0x1e, 0x00, 0x00, 0x00, 0x00, 0x83, 0x09, 0x80, 0x86, 0x48, 0x32, 0x2b, 0xed, 0xac, 0x1e, 0x11, 0x70, 0x4e, 0x6c, 0x5a, 0x72, 0xfb, 0xfd, 0x0e, 0xff, 0x56, 0x0f, 0x85, 0x38, 0x1e, 0x3d, 0xae, 0xd5, 0x27, 0x36, 0x2d, 0x39, 0x64, 0x0a, 0x0f, 0xd9, 0x21, 0x68, 0x5c, 0xa6, 0xd1, 0x9b, 0x5b, 0x54, 0x3a, 0x24, 0x36, 0x2e, 0xb1, 0x0c, 0x0a, 0x67, 0x0f, 0x93, 0x57, 0xe7, 0xd2, 0xb4, 0xee, 0x96, 0x9e, 0x1b, 0x9b, 0x91, 0x4f, 0x80, 0xc0, 0xc5, 0xa2, 0x61, 0xdc, 0x20, 0x69, 0x5a, 0x77, 0x4b, 0x16, 0x1c, 0x12, 0x1a, 0x0a, 0xe2, 0x93, 0xba, 0xe5, 0xc0, 0xa0, 0x2a, 0x43, 0x3c, 0x22, 0xe0, 0x1d, 0x12, 0x1b, 0x17, 0x0b, 0x0e, 0x09, 0x0d, 0xad, 0xf2, 0x8b, 0xc7, 0xb9, 0x2d, 0xb6, 0xa8, 0xc8, 0x14, 0x1e, 0xa9, 0x85, 0x57, 0xf1, 0x19, 0x4c, 0xaf, 0x75, 0x07, 0xbb, 0xee, 0x99, 0xdd, 0xfd, 0xa3, 0x7f, 0x60, 0x9f, 0xf7, 0x01, 0x26, 0xbc, 0x5c, 0x72, 0xf5, 0xc5, 0x44, 0x66, 0x3b, 0x34, 0x5b, 0xfb, 0x7e, 0x76, 0x8b, 0x43, 0x29, 0xdc, 0xcb, 0x23, 0xc6, 0x68, 0xb6, 0xed, 0xfc, 0x63, 0xb8, 0xe4, 0xf1, 0xca, 0xd7, 0x31, 0xdc, 0x10, 0x42, 0x63, 0x85, 0x40, 0x13, 0x97, 0x22, 0x20, 0x84, 0xc6, 0x11, 0x7d, 0x85, 0x4a, 0x24, 0xf8, 0xd2, 0xbb, 0x3d, 0x11, 0xae, 0xf9, 0x32, 0x6d, 0xc7, 0x29, 0xa1, 0x4b, 0x1d, 0x9e, 0x2f, 0xf3, 0xdc, 0xb2, 0x30, 0xec, 0x0d, 0x86, 0x52, 0xd0, 0x77, 0xc1, 0xe3, 0x6c, 0x2b, 0xb3, 0x16, 0x99, 0xa9, 0x70, 0xb9, 0xfa, 0x11, 0x94, 0x48, 0x22, 0x47, 0xe9, 0x64, 0xc4, 0xa8, 0xfc, 0x8c, 0x1a, 0xa0, 0xf0, 0x3f, 0xd8, 0x56, 0x7d, 0x2c, 0xef, 0x22, 0x33, 0x90, 0xc7, 0x87, 0x49, 0x4e, 0xc1, 0xd9, 0x38, 0xd1, 0xfe, 0x8c, 0xca, 0xa2, 0x36, 0x98, 0xd4, 0x0b, 0xcf, 0xa6, 0xf5, 0x81, 0x28, 0xa5, 0x7a, 0xde, 0x26, 0xda, 0xb7, 0x8e, 0xa4, 0x3f, 0xad, 0xbf, 0xe4, 0x2c, 0x3a, 0x9d, 0x0d, 0x50, 0x78, 0x92, 0x9b, 0x6a, 0x5f, 0xcc, 0x62, 0x54, 0x7e, 0x46, 0xc2, 0xf6, 0x8d, 0x13, 0xe8, 0x90, 0xd8, 0xb8, 0x5e, 0x2e, 0x39, 0xf7, 0xf5, 0x82, 0xc3, 0xaf, 0xbe, 0x9f, 0x5d, 0x80, 0x7c, 0x69, 0xd0, 0x93, 0xa9, 0x6f, 0xd5, 0x2d, 0xb3, 0xcf, 0x25, 0x12, 0x3b, 0xc8, 0xac, 0x99, 0xa7, 0x10, 0x18, 0x7d, 0x6e, 0xe8, 0x9c, 0x63, 0x7b, 0xdb, 0x3b, 0xbb, 0x09, 0xcd, 0x26, 0x78, 0xf4, 0x6e, 0x59, 0x18, 0x01, 0xec, 0x9a, 0xb7, 0xa8, 0x83, 0x4f, 0x9a, 0x65, 0xe6, 0x95, 0x6e, 0x7e, 0xaa, 0xff, 0xe6, 0x08, 0x21, 0xbc, 0xcf, 0xe6, 0xef, 0x15, 0xe8, 0xd9, 0xba, 0xe7, 0x9b, 0xce, 0x4a, 0x6f, 0x36, 0xd4, 0xea, 0x9f, 0x09, 0xd6, 0x29, 0xb0, 0x7c, 0xaf, 0x31, 0xa4, 0xb2, 0x31, 0x2a, 0x3f, 0x23, 0x30, 0xc6, 0xa5, 0x94, 0xc0, 0x35, 0xa2, 0x66, 0x37, 0x74, 0x4e, 0xbc, 0xa6, 0xfc, 0x82, 0xca, 0xb0, 0xe0, 0x90, 0xd0, 0x15, 0x33, 0xa7, 0xd8, 0x4a, 0xf1, 0x04, 0x98, 0xf7, 0x41, 0xec, 0xda, 0x0e, 0x7f, 0xcd, 0x50, 0x2f, 0x17, 0x91, 0xf6, 0x8d, 0x76, 0x4d, 0xd6, 0x4d, 0x43, 0xef, 0xb0, 0x54, 0xcc, 0xaa, 0x4d, 0xdf, 0xe4, 0x96, 0x04, 0xe3, 0x9e, 0xd1, 0xb5, 0x1b, 0x4c, 0x6a, 0x88, 0xb8, 0xc1, 0x2c, 0x1f, 0x7f, 0x46, 0x65, 0x51, 0x04, 0x9d, 0x5e, 0xea, 0x5d, 0x01, 0x8c, 0x35, 0x73, 0xfa, 0x87, 0x74, 0x2e, 0xfb, 0x0b, 0x41, 0x5a, 0xb3, 0x67, 0x1d, 0x52, 0x92, 0xdb, 0xd2, 0x33, 0xe9, 0x10, 0x56, 0x13, 0x6d, 0xd6, 0x47, 0x8c, 0x9a, 0xd7, 0x61, 0x7a, 0x37, 0xa1, 0x0c, 0x8e, 0x59, 0xf8, 0x14, 0x89, 0xeb, 0x13, 0x3c, 0xee, 0xce, 0xa9, 0x27, 0x35, 0xb7, 0x61, 0xc9, 0xed, 0xe1, 0x1c, 0xe5, 0x3c, 0x7a, 0x47, 0xb1, 0x59, 0x9c, 0xd2, 0xdf, 0x3f, 0x55, 0xf2, 0x73, 0x79, 0x18, 0x14, 0xce, 0xbf, 0x73, 0xc7, 0x37, 0xea, 0x53, 0xf7, 0xcd, 0x5b, 0x5f, 0xfd, 0xaa, 0x14, 0xdf, 0x3d, 0x6f, 0x86, 0x78, 0x44, 0xdb, 0x81, 0xca, 0xaf, 0xf3, 0x3e, 0xb9, 0x68, 0xc4, 0x2c, 0x38, 0x24, 0x34, 0x5f, 0xc2, 0xa3, 0x40, 0x72, 0x16, 0x1d, 0xc3, 0x0c, 0xbc, 0xe2, 0x25, 0x8b, 0x28, 0x3c, 0x49, 0x41, 0xff, 0x0d, 0x95, 0x71, 0x39, 0xa8, 0x01, 0xde, 0x08, 0x0c, 0xb3, 0x9c, 0xd8, 0xb4, 0xe4, 0x90, 0x64, 0x56, 0xc1, 0x61, 0x7b, 0xcb, 0x84, 0x70, 0xd5, 0x32, 0xb6, 0x74, 0x48, 0x6c, 0x5c, 0x42, 0xd0, 0xb8, 0x57 +}; + +const u8 g_AES_1024_2[1024] = { + 0xa7, 0x50, 0x51, 0xf4, 0x65, 0x53, 0x7e, 0x41, 0xa4, 0xc3, 0x1a, 0x17, 0x5e, 0x96, 0x3a, 0x27, 0x6b, 0xcb, 0x3b, 0xab, 0x45, 0xf1, 0x1f, 0x9d, 0x58, 0xab, 0xac, 0xfa, 0x03, 0x93, 0x4b, 0xe3, 0xfa, 0x55, 0x20, 0x30, 0x6d, 0xf6, 0xad, 0x76, 0x76, 0x91, 0x88, 0xcc, 0x4c, 0x25, 0xf5, 0x02, 0xd7, 0xfc, 0x4f, 0xe5, 0xcb, 0xd7, 0xc5, 0x2a, 0x44, 0x80, 0x26, 0x35, 0xa3, 0x8f, 0xb5, 0x62, 0x5a, 0x49, 0xde, 0xb1, 0x1b, 0x67, 0x25, 0xba, 0x0e, 0x98, 0x45, 0xea, 0xc0, 0xe1, 0x5d, 0xfe, 0x75, 0x02, 0xc3, 0x2f, 0xf0, 0x12, 0x81, 0x4c, 0x97, 0xa3, 0x8d, 0x46, 0xf9, 0xc6, 0x6b, 0xd3, 0x5f, 0xe7, 0x03, 0x8f, 0x9c, 0x95, 0x15, 0x92, 0x7a, 0xeb, 0xbf, 0x6d, 0x59, 0xda, 0x95, 0x52, 0x83, 0x2d, 0xd4, 0xbe, 0x21, 0xd3, 0x58, 0x74, 0x69, 0x29, 0x49, 0xe0, 0xc8, 0x44, 0x8e, 0xc9, 0x89, 0x6a, 0x75, 0xc2, 0x79, 0x78, 0xf4, 0x8e, 0x3e, 0x6b, 0x99, 0x58, 0x71, 0xdd, 0x27, 0xb9, 0x4f, 0xb6, 0xbe, 0xe1, 0xad, 0x17, 0xf0, 0x88, 0xac, 0x66, 0xc9, 0x20, 0x3a, 0xb4, 0x7d, 0xce, 0x4a, 0x18, 0x63, 0xdf, 0x31, 0x82, 0xe5, 0x1a, 0x33, 0x60, 0x97, 0x51, 0x7f, 0x45, 0x62, 0x53, 0x77, 0xe0, 0xb1, 0x64, 0xae, 0x84, 0xbb, 0x6b, 0xa0, 0x1c, 0xfe, 0x81, 0x2b, 0x94, 0xf9, 0x08, 0x68, 0x58, 0x70, 0x48, 0xfd, 0x19, 0x8f, 0x45, 0x6c, 0x87, 0x94, 0xde, 0xf8, 0xb7, 0x52, 0x7b, 0xd3, 0x23, 0xab, 0x73, 0x02, 0xe2, 0x72, 0x4b, 0x8f, 0x57, 0xe3, 0x1f, 0xab, 0x2a, 0x66, 0x55, 0x28, 0x07, 0xb2, 0xeb, 0xc2, 0x03, 0x2f, 0xb5, 0x7b, 0x9a, 0x86, 0xc5, 0x08, 0xa5, 0xd3, 0x37, 0x87, 0xf2, 0x30, 0x28, 0xa5, 0xb2, 0x23, 0xbf, 0x6a, 0xba, 0x02, 0x03, 0x82, 0x5c, 0xed, 0x16, 0x1c, 0x2b, 0x8a, 0xcf, 0xb4, 0x92, 0xa7, 0x79, 0xf2, 0xf0, 0xf3, 0x07, 0xe2, 0xa1, 0x4e, 0x69, 0xf4, 0xcd, 0x65, 0xda, 0xbe, 0xd5, 0x06, 0x05, 0x62, 0x1f, 0xd1, 0x34, 0xfe, 0x8a, 0xc4, 0xa6, 0x53, 0x9d, 0x34, 0x2e, 0x55, 0xa0, 0xa2, 0xf3, 0xe1, 0x32, 0x05, 0x8a, 0xeb, 0x75, 0xa4, 0xf6, 0xec, 0x39, 0x0b, 0x83, 0xef, 0xaa, 0x40, 0x60, 0x9f, 0x06, 0x5e, 0x71, 0x10, 0x51, 0xbd, 0x6e, 0x8a, 0xf9, 0x3e, 0x21, 0x06, 0x3d, 0x96, 0xdd, 0x05, 0xae, 0xdd, 0x3e, 0xbd, 0x46, 0x4d, 0xe6, 0x8d, 0xb5, 0x91, 0x54, 0x5d, 0x05, 0x71, 0xc4, 0xd4, 0x6f, 0x04, 0x06, 0x15, 0xff, 0x60, 0x50, 0xfb, 0x24, 0x19, 0x98, 0xe9, 0x97, 0xd6, 0xbd, 0x43, 0xcc, 0x89, 0x40, 0x9e, 0x77, 0x67, 0xd9, 0x42, 0xbd, 0xb0, 0xe8, 0x8b, 0x88, 0x07, 0x89, 0x5b, 0x38, 0xe7, 0x19, 0xee, 0xdb, 0x79, 0xc8, 0x0a, 0x47, 0xa1, 0x7c, 0x0f, 0xe9, 0x7c, 0x42, 0x1e, 0xc9, 0xf8, 0x84, 0x00, 0x00, 0x00, 0x00, 0x86, 0x83, 0x09, 0x80, 0xed, 0x48, 0x32, 0x2b, 0x70, 0xac, 0x1e, 0x11, 0x72, 0x4e, 0x6c, 0x5a, 0xff, 0xfb, 0xfd, 0x0e, 0x38, 0x56, 0x0f, 0x85, 0xd5, 0x1e, 0x3d, 0xae, 0x39, 0x27, 0x36, 0x2d, 0xd9, 0x64, 0x0a, 0x0f, 0xa6, 0x21, 0x68, 0x5c, 0x54, 0xd1, 0x9b, 0x5b, 0x2e, 0x3a, 0x24, 0x36, 0x67, 0xb1, 0x0c, 0x0a, 0xe7, 0x0f, 0x93, 0x57, 0x96, 0xd2, 0xb4, 0xee, 0x91, 0x9e, 0x1b, 0x9b, 0xc5, 0x4f, 0x80, 0xc0, 0x20, 0xa2, 0x61, 0xdc, 0x4b, 0x69, 0x5a, 0x77, 0x1a, 0x16, 0x1c, 0x12, 0xba, 0x0a, 0xe2, 0x93, 0x2a, 0xe5, 0xc0, 0xa0, 0xe0, 0x43, 0x3c, 0x22, 0x17, 0x1d, 0x12, 0x1b, 0x0d, 0x0b, 0x0e, 0x09, 0xc7, 0xad, 0xf2, 0x8b, 0xa8, 0xb9, 0x2d, 0xb6, 0xa9, 0xc8, 0x14, 0x1e, 0x19, 0x85, 0x57, 0xf1, 0x07, 0x4c, 0xaf, 0x75, 0xdd, 0xbb, 0xee, 0x99, 0x60, 0xfd, 0xa3, 0x7f, 0x26, 0x9f, 0xf7, 0x01, 0xf5, 0xbc, 0x5c, 0x72, 0x3b, 0xc5, 0x44, 0x66, 0x7e, 0x34, 0x5b, 0xfb, 0x29, 0x76, 0x8b, 0x43, 0xc6, 0xdc, 0xcb, 0x23, 0xfc, 0x68, 0xb6, 0xed, 0xf1, 0x63, 0xb8, 0xe4, 0xdc, 0xca, 0xd7, 0x31, 0x85, 0x10, 0x42, 0x63, 0x22, 0x40, 0x13, 0x97, 0x11, 0x20, 0x84, 0xc6, 0x24, 0x7d, 0x85, 0x4a, 0x3d, 0xf8, 0xd2, 0xbb, 0x32, 0x11, 0xae, 0xf9, 0xa1, 0x6d, 0xc7, 0x29, 0x2f, 0x4b, 0x1d, 0x9e, 0x30, 0xf3, 0xdc, 0xb2, 0x52, 0xec, 0x0d, 0x86, 0xe3, 0xd0, 0x77, 0xc1, 0x16, 0x6c, 0x2b, 0xb3, 0xb9, 0x99, 0xa9, 0x70, 0x48, 0xfa, 0x11, 0x94, 0x64, 0x22, 0x47, 0xe9, 0x8c, 0xc4, 0xa8, 0xfc, 0x3f, 0x1a, 0xa0, 0xf0, 0x2c, 0xd8, 0x56, 0x7d, 0x90, 0xef, 0x22, 0x33, 0x4e, 0xc7, 0x87, 0x49, 0xd1, 0xc1, 0xd9, 0x38, 0xa2, 0xfe, 0x8c, 0xca, 0x0b, 0x36, 0x98, 0xd4, 0x81, 0xcf, 0xa6, 0xf5, 0xde, 0x28, 0xa5, 0x7a, 0x8e, 0x26, 0xda, 0xb7, 0xbf, 0xa4, 0x3f, 0xad, 0x9d, 0xe4, 0x2c, 0x3a, 0x92, 0x0d, 0x50, 0x78, 0xcc, 0x9b, 0x6a, 0x5f, 0x46, 0x62, 0x54, 0x7e, 0x13, 0xc2, 0xf6, 0x8d, 0xb8, 0xe8, 0x90, 0xd8, 0xf7, 0x5e, 0x2e, 0x39, 0xaf, 0xf5, 0x82, 0xc3, 0x80, 0xbe, 0x9f, 0x5d, 0x93, 0x7c, 0x69, 0xd0, 0x2d, 0xa9, 0x6f, 0xd5, 0x12, 0xb3, 0xcf, 0x25, 0x99, 0x3b, 0xc8, 0xac, 0x7d, 0xa7, 0x10, 0x18, 0x63, 0x6e, 0xe8, 0x9c, 0xbb, 0x7b, 0xdb, 0x3b, 0x78, 0x09, 0xcd, 0x26, 0x18, 0xf4, 0x6e, 0x59, 0xb7, 0x01, 0xec, 0x9a, 0x9a, 0xa8, 0x83, 0x4f, 0x6e, 0x65, 0xe6, 0x95, 0xe6, 0x7e, 0xaa, 0xff, 0xcf, 0x08, 0x21, 0xbc, 0xe8, 0xe6, 0xef, 0x15, 0x9b, 0xd9, 0xba, 0xe7, 0x36, 0xce, 0x4a, 0x6f, 0x09, 0xd4, 0xea, 0x9f, 0x7c, 0xd6, 0x29, 0xb0, 0xb2, 0xaf, 0x31, 0xa4, 0x23, 0x31, 0x2a, 0x3f, 0x94, 0x30, 0xc6, 0xa5, 0x66, 0xc0, 0x35, 0xa2, 0xbc, 0x37, 0x74, 0x4e, 0xca, 0xa6, 0xfc, 0x82, 0xd0, 0xb0, 0xe0, 0x90, 0xd8, 0x15, 0x33, 0xa7, 0x98, 0x4a, 0xf1, 0x04, 0xda, 0xf7, 0x41, 0xec, 0x50, 0x0e, 0x7f, 0xcd, 0xf6, 0x2f, 0x17, 0x91, 0xd6, 0x8d, 0x76, 0x4d, 0xb0, 0x4d, 0x43, 0xef, 0x4d, 0x54, 0xcc, 0xaa, 0x04, 0xdf, 0xe4, 0x96, 0xb5, 0xe3, 0x9e, 0xd1, 0x88, 0x1b, 0x4c, 0x6a, 0x1f, 0xb8, 0xc1, 0x2c, 0x51, 0x7f, 0x46, 0x65, 0xea, 0x04, 0x9d, 0x5e, 0x35, 0x5d, 0x01, 0x8c, 0x74, 0x73, 0xfa, 0x87, 0x41, 0x2e, 0xfb, 0x0b, 0x1d, 0x5a, 0xb3, 0x67, 0xd2, 0x52, 0x92, 0xdb, 0x56, 0x33, 0xe9, 0x10, 0x47, 0x13, 0x6d, 0xd6, 0x61, 0x8c, 0x9a, 0xd7, 0x0c, 0x7a, 0x37, 0xa1, 0x14, 0x8e, 0x59, 0xf8, 0x3c, 0x89, 0xeb, 0x13, 0x27, 0xee, 0xce, 0xa9, 0xc9, 0x35, 0xb7, 0x61, 0xe5, 0xed, 0xe1, 0x1c, 0xb1, 0x3c, 0x7a, 0x47, 0xdf, 0x59, 0x9c, 0xd2, 0x73, 0x3f, 0x55, 0xf2, 0xce, 0x79, 0x18, 0x14, 0x37, 0xbf, 0x73, 0xc7, 0xcd, 0xea, 0x53, 0xf7, 0xaa, 0x5b, 0x5f, 0xfd, 0x6f, 0x14, 0xdf, 0x3d, 0xdb, 0x86, 0x78, 0x44, 0xf3, 0x81, 0xca, 0xaf, 0xc4, 0x3e, 0xb9, 0x68, 0x34, 0x2c, 0x38, 0x24, 0x40, 0x5f, 0xc2, 0xa3, 0xc3, 0x72, 0x16, 0x1d, 0x25, 0x0c, 0xbc, 0xe2, 0x49, 0x8b, 0x28, 0x3c, 0x95, 0x41, 0xff, 0x0d, 0x01, 0x71, 0x39, 0xa8, 0xb3, 0xde, 0x08, 0x0c, 0xe4, 0x9c, 0xd8, 0xb4, 0xc1, 0x90, 0x64, 0x56, 0x84, 0x61, 0x7b, 0xcb, 0xb6, 0x70, 0xd5, 0x32, 0x5c, 0x74, 0x48, 0x6c, 0x57, 0x42, 0xd0, 0xb8, +}; + +const u8 g_AES_1024_3[1024] = { + 0xf4, 0xa7, 0x50, 0x51, 0x41, 0x65, 0x53, 0x7e, 0x17, 0xa4, 0xc3, 0x1a, 0x27, 0x5e, 0x96, 0x3a, 0xab, 0x6b, 0xcb, 0x3b, 0x9d, 0x45, 0xf1, 0x1f, 0xfa, 0x58, 0xab, 0xac, 0xe3, 0x03, 0x93, 0x4b, 0x30, 0xfa, 0x55, 0x20, 0x76, 0x6d, 0xf6, 0xad, 0xcc, 0x76, 0x91, 0x88, 0x02, 0x4c, 0x25, 0xf5, 0xe5, 0xd7, 0xfc, 0x4f, 0x2a, 0xcb, 0xd7, 0xc5, 0x35, 0x44, 0x80, 0x26, 0x62, 0xa3, 0x8f, 0xb5, 0xb1, 0x5a, 0x49, 0xde, 0xba, 0x1b, 0x67, 0x25, 0xea, 0x0e, 0x98, 0x45, 0xfe, 0xc0, 0xe1, 0x5d, 0x2f, 0x75, 0x02, 0xc3, 0x4c, 0xf0, 0x12, 0x81, 0x46, 0x97, 0xa3, 0x8d, 0xd3, 0xf9, 0xc6, 0x6b, 0x8f, 0x5f, 0xe7, 0x03, 0x92, 0x9c, 0x95, 0x15, 0x6d, 0x7a, 0xeb, 0xbf, 0x52, 0x59, 0xda, 0x95, 0xbe, 0x83, 0x2d, 0xd4, 0x74, 0x21, 0xd3, 0x58, 0xe0, 0x69, 0x29, 0x49, 0xc9, 0xc8, 0x44, 0x8e, 0xc2, 0x89, 0x6a, 0x75, 0x8e, 0x79, 0x78, 0xf4, 0x58, 0x3e, 0x6b, 0x99, 0xb9, 0x71, 0xdd, 0x27, 0xe1, 0x4f, 0xb6, 0xbe, 0x88, 0xad, 0x17, 0xf0, 0x20, 0xac, 0x66, 0xc9, 0xce, 0x3a, 0xb4, 0x7d, 0xdf, 0x4a, 0x18, 0x63, 0x1a, 0x31, 0x82, 0xe5, 0x51, 0x33, 0x60, 0x97, 0x53, 0x7f, 0x45, 0x62, 0x64, 0x77, 0xe0, 0xb1, 0x6b, 0xae, 0x84, 0xbb, 0x81, 0xa0, 0x1c, 0xfe, 0x08, 0x2b, 0x94, 0xf9, 0x48, 0x68, 0x58, 0x70, 0x45, 0xfd, 0x19, 0x8f, 0xde, 0x6c, 0x87, 0x94, 0x7b, 0xf8, 0xb7, 0x52, 0x73, 0xd3, 0x23, 0xab, 0x4b, 0x02, 0xe2, 0x72, 0x1f, 0x8f, 0x57, 0xe3, 0x55, 0xab, 0x2a, 0x66, 0xeb, 0x28, 0x07, 0xb2, 0xb5, 0xc2, 0x03, 0x2f, 0xc5, 0x7b, 0x9a, 0x86, 0x37, 0x08, 0xa5, 0xd3, 0x28, 0x87, 0xf2, 0x30, 0xbf, 0xa5, 0xb2, 0x23, 0x03, 0x6a, 0xba, 0x02, 0x16, 0x82, 0x5c, 0xed, 0xcf, 0x1c, 0x2b, 0x8a, 0x79, 0xb4, 0x92, 0xa7, 0x07, 0xf2, 0xf0, 0xf3, 0x69, 0xe2, 0xa1, 0x4e, 0xda, 0xf4, 0xcd, 0x65, 0x05, 0xbe, 0xd5, 0x06, 0x34, 0x62, 0x1f, 0xd1, 0xa6, 0xfe, 0x8a, 0xc4, 0x2e, 0x53, 0x9d, 0x34, 0xf3, 0x55, 0xa0, 0xa2, 0x8a, 0xe1, 0x32, 0x05, 0xf6, 0xeb, 0x75, 0xa4, 0x83, 0xec, 0x39, 0x0b, 0x60, 0xef, 0xaa, 0x40, 0x71, 0x9f, 0x06, 0x5e, 0x6e, 0x10, 0x51, 0xbd, 0x21, 0x8a, 0xf9, 0x3e, 0xdd, 0x06, 0x3d, 0x96, 0x3e, 0x05, 0xae, 0xdd, 0xe6, 0xbd, 0x46, 0x4d, 0x54, 0x8d, 0xb5, 0x91, 0xc4, 0x5d, 0x05, 0x71, 0x06, 0xd4, 0x6f, 0x04, 0x50, 0x15, 0xff, 0x60, 0x98, 0xfb, 0x24, 0x19, 0xbd, 0xe9, 0x97, 0xd6, 0x40, 0x43, 0xcc, 0x89, 0xd9, 0x9e, 0x77, 0x67, 0xe8, 0x42, 0xbd, 0xb0, 0x89, 0x8b, 0x88, 0x07, 0x19, 0x5b, 0x38, 0xe7, 0xc8, 0xee, 0xdb, 0x79, 0x7c, 0x0a, 0x47, 0xa1, 0x42, 0x0f, 0xe9, 0x7c, 0x84, 0x1e, 0xc9, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x80, 0x86, 0x83, 0x09, 0x2b, 0xed, 0x48, 0x32, 0x11, 0x70, 0xac, 0x1e, 0x5a, 0x72, 0x4e, 0x6c, 0x0e, 0xff, 0xfb, 0xfd, 0x85, 0x38, 0x56, 0x0f, 0xae, 0xd5, 0x1e, 0x3d, 0x2d, 0x39, 0x27, 0x36, 0x0f, 0xd9, 0x64, 0x0a, 0x5c, 0xa6, 0x21, 0x68, 0x5b, 0x54, 0xd1, 0x9b, 0x36, 0x2e, 0x3a, 0x24, 0x0a, 0x67, 0xb1, 0x0c, 0x57, 0xe7, 0x0f, 0x93, 0xee, 0x96, 0xd2, 0xb4, 0x9b, 0x91, 0x9e, 0x1b, 0xc0, 0xc5, 0x4f, 0x80, 0xdc, 0x20, 0xa2, 0x61, 0x77, 0x4b, 0x69, 0x5a, 0x12, 0x1a, 0x16, 0x1c, 0x93, 0xba, 0x0a, 0xe2, 0xa0, 0x2a, 0xe5, 0xc0, 0x22, 0xe0, 0x43, 0x3c, 0x1b, 0x17, 0x1d, 0x12, 0x09, 0x0d, 0x0b, 0x0e, 0x8b, 0xc7, 0xad, 0xf2, 0xb6, 0xa8, 0xb9, 0x2d, 0x1e, 0xa9, 0xc8, 0x14, 0xf1, 0x19, 0x85, 0x57, 0x75, 0x07, 0x4c, 0xaf, 0x99, 0xdd, 0xbb, 0xee, 0x7f, 0x60, 0xfd, 0xa3, 0x01, 0x26, 0x9f, 0xf7, 0x72, 0xf5, 0xbc, 0x5c, 0x66, 0x3b, 0xc5, 0x44, 0xfb, 0x7e, 0x34, 0x5b, 0x43, 0x29, 0x76, 0x8b, 0x23, 0xc6, 0xdc, 0xcb, 0xed, 0xfc, 0x68, 0xb6, 0xe4, 0xf1, 0x63, 0xb8, 0x31, 0xdc, 0xca, 0xd7, 0x63, 0x85, 0x10, 0x42, 0x97, 0x22, 0x40, 0x13, 0xc6, 0x11, 0x20, 0x84, 0x4a, 0x24, 0x7d, 0x85, 0xbb, 0x3d, 0xf8, 0xd2, 0xf9, 0x32, 0x11, 0xae, 0x29, 0xa1, 0x6d, 0xc7, 0x9e, 0x2f, 0x4b, 0x1d, 0xb2, 0x30, 0xf3, 0xdc, 0x86, 0x52, 0xec, 0x0d, 0xc1, 0xe3, 0xd0, 0x77, 0xb3, 0x16, 0x6c, 0x2b, 0x70, 0xb9, 0x99, 0xa9, 0x94, 0x48, 0xfa, 0x11, 0xe9, 0x64, 0x22, 0x47, 0xfc, 0x8c, 0xc4, 0xa8, 0xf0, 0x3f, 0x1a, 0xa0, 0x7d, 0x2c, 0xd8, 0x56, 0x33, 0x90, 0xef, 0x22, 0x49, 0x4e, 0xc7, 0x87, 0x38, 0xd1, 0xc1, 0xd9, 0xca, 0xa2, 0xfe, 0x8c, 0xd4, 0x0b, 0x36, 0x98, 0xf5, 0x81, 0xcf, 0xa6, 0x7a, 0xde, 0x28, 0xa5, 0xb7, 0x8e, 0x26, 0xda, 0xad, 0xbf, 0xa4, 0x3f, 0x3a, 0x9d, 0xe4, 0x2c, 0x78, 0x92, 0x0d, 0x50, 0x5f, 0xcc, 0x9b, 0x6a, 0x7e, 0x46, 0x62, 0x54, 0x8d, 0x13, 0xc2, 0xf6, 0xd8, 0xb8, 0xe8, 0x90, 0x39, 0xf7, 0x5e, 0x2e, 0xc3, 0xaf, 0xf5, 0x82, 0x5d, 0x80, 0xbe, 0x9f, 0xd0, 0x93, 0x7c, 0x69, 0xd5, 0x2d, 0xa9, 0x6f, 0x25, 0x12, 0xb3, 0xcf, 0xac, 0x99, 0x3b, 0xc8, 0x18, 0x7d, 0xa7, 0x10, 0x9c, 0x63, 0x6e, 0xe8, 0x3b, 0xbb, 0x7b, 0xdb, 0x26, 0x78, 0x09, 0xcd, 0x59, 0x18, 0xf4, 0x6e, 0x9a, 0xb7, 0x01, 0xec, 0x4f, 0x9a, 0xa8, 0x83, 0x95, 0x6e, 0x65, 0xe6, 0xff, 0xe6, 0x7e, 0xaa, 0xbc, 0xcf, 0x08, 0x21, 0x15, 0xe8, 0xe6, 0xef, 0xe7, 0x9b, 0xd9, 0xba, 0x6f, 0x36, 0xce, 0x4a, 0x9f, 0x09, 0xd4, 0xea, 0xb0, 0x7c, 0xd6, 0x29, 0xa4, 0xb2, 0xaf, 0x31, 0x3f, 0x23, 0x31, 0x2a, 0xa5, 0x94, 0x30, 0xc6, 0xa2, 0x66, 0xc0, 0x35, 0x4e, 0xbc, 0x37, 0x74, 0x82, 0xca, 0xa6, 0xfc, 0x90, 0xd0, 0xb0, 0xe0, 0xa7, 0xd8, 0x15, 0x33, 0x04, 0x98, 0x4a, 0xf1, 0xec, 0xda, 0xf7, 0x41, 0xcd, 0x50, 0x0e, 0x7f, 0x91, 0xf6, 0x2f, 0x17, 0x4d, 0xd6, 0x8d, 0x76, 0xef, 0xb0, 0x4d, 0x43, 0xaa, 0x4d, 0x54, 0xcc, 0x96, 0x04, 0xdf, 0xe4, 0xd1, 0xb5, 0xe3, 0x9e, 0x6a, 0x88, 0x1b, 0x4c, 0x2c, 0x1f, 0xb8, 0xc1, 0x65, 0x51, 0x7f, 0x46, 0x5e, 0xea, 0x04, 0x9d, 0x8c, 0x35, 0x5d, 0x01, 0x87, 0x74, 0x73, 0xfa, 0x0b, 0x41, 0x2e, 0xfb, 0x67, 0x1d, 0x5a, 0xb3, 0xdb, 0xd2, 0x52, 0x92, 0x10, 0x56, 0x33, 0xe9, 0xd6, 0x47, 0x13, 0x6d, 0xd7, 0x61, 0x8c, 0x9a, 0xa1, 0x0c, 0x7a, 0x37, 0xf8, 0x14, 0x8e, 0x59, 0x13, 0x3c, 0x89, 0xeb, 0xa9, 0x27, 0xee, 0xce, 0x61, 0xc9, 0x35, 0xb7, 0x1c, 0xe5, 0xed, 0xe1, 0x47, 0xb1, 0x3c, 0x7a, 0xd2, 0xdf, 0x59, 0x9c, 0xf2, 0x73, 0x3f, 0x55, 0x14, 0xce, 0x79, 0x18, 0xc7, 0x37, 0xbf, 0x73, 0xf7, 0xcd, 0xea, 0x53, 0xfd, 0xaa, 0x5b, 0x5f, 0x3d, 0x6f, 0x14, 0xdf, 0x44, 0xdb, 0x86, 0x78, 0xaf, 0xf3, 0x81, 0xca, 0x68, 0xc4, 0x3e, 0xb9, 0x24, 0x34, 0x2c, 0x38, 0xa3, 0x40, 0x5f, 0xc2, 0x1d, 0xc3, 0x72, 0x16, 0xe2, 0x25, 0x0c, 0xbc, 0x3c, 0x49, 0x8b, 0x28, 0x0d, 0x95, 0x41, 0xff, 0xa8, 0x01, 0x71, 0x39, 0x0c, 0xb3, 0xde, 0x08, 0xb4, 0xe4, 0x9c, 0xd8, 0x56, 0xc1, 0x90, 0x64, 0xcb, 0x84, 0x61, 0x7b, 0x32, 0xb6, 0x70, 0xd5, 0x6c, 0x5c, 0x74, 0x48, 0xb8, 0x57, 0x42, 0xd0, +}; + struct CryptCtx { u32 fromKeyBuff1[44] = {0}; @@ -7,35 +42,16 @@ struct CryptCtx void keyExpand(const u8* key) { - memmove(fromKeyBuff1, key, 16); + const int rounds = 10; - const u8 g_AES_256_0[256] = { - 0x63, 0x7c, 0x77, 0x7b, 0xf2, 0x6b, 0x6f, 0xc5, 0x30, 0x01, 0x67, 0x2b, 0xfe, 0xd7, 0xab, 0x76, - 0xca, 0x82, 0xc9, 0x7d, 0xfa, 0x59, 0x47, 0xf0, 0xad, 0xd4, 0xa2, 0xaf, 0x9c, 0xa4, 0x72, 0xc0, - 0xb7, 0xfd, 0x93, 0x26, 0x36, 0x3f, 0xf7, 0xcc, 0x34, 0xa5, 0xe5, 0xf1, 0x71, 0xd8, 0x31, 0x15, - 0x04, 0xc7, 0x23, 0xc3, 0x18, 0x96, 0x05, 0x9a, 0x07, 0x12, 0x80, 0xe2, 0xeb, 0x27, 0xb2, 0x75, - 0x09, 0x83, 0x2c, 0x1a, 0x1b, 0x6e, 0x5a, 0xa0, 0x52, 0x3b, 0xd6, 0xb3, 0x29, 0xe3, 0x2f, 0x84, - 0x53, 0xd1, 0x00, 0xed, 0x20, 0xfc, 0xb1, 0x5b, 0x6a, 0xcb, 0xbe, 0x39, 0x4a, 0x4c, 0x58, 0xcf, - 0xd0, 0xef, 0xaa, 0xfb, 0x43, 0x4d, 0x33, 0x85, 0x45, 0xf9, 0x02, 0x7f, 0x50, 0x3c, 0x9f, 0xa8, - 0x51, 0xa3, 0x40, 0x8f, 0x92, 0x9d, 0x38, 0xf5, 0xbc, 0xb6, 0xda, 0x21, 0x10, 0xff, 0xf3, 0xd2, - 0xcd, 0x0c, 0x13, 0xec, 0x5f, 0x97, 0x44, 0x17, 0xc4, 0xa7, 0x7e, 0x3d, 0x64, 0x5d, 0x19, 0x73, - 0x60, 0x81, 0x4f, 0xdc, 0x22, 0x2a, 0x90, 0x88, 0x46, 0xee, 0xb8, 0x14, 0xde, 0x5e, 0x0b, 0xdb, - 0xe0, 0x32, 0x3a, 0x0a, 0x49, 0x06, 0x24, 0x5c, 0xc2, 0xd3, 0xac, 0x62, 0x91, 0x95, 0xe4, 0x79, - 0xe7, 0xc8, 0x37, 0x6d, 0x8d, 0xd5, 0x4e, 0xa9, 0x6c, 0x56, 0xf4, 0xea, 0x65, 0x7a, 0xae, 0x08, - 0xba, 0x78, 0x25, 0x2e, 0x1c, 0xa6, 0xb4, 0xc6, 0xe8, 0xdd, 0x74, 0x1f, 0x4b, 0xbd, 0x8b, 0x8a, - 0x70, 0x3e, 0xb5, 0x66, 0x48, 0x03, 0xf6, 0x0e, 0x61, 0x35, 0x57, 0xb9, 0x86, 0xc1, 0x1d, 0x9e, - 0xe1, 0xf8, 0x98, 0x11, 0x69, 0xd9, 0x8e, 0x94, 0x9b, 0x1e, 0x87, 0xe9, 0xce, 0x55, 0x28, 0xdf, - 0x8c, 0xa1, 0x89, 0x0d, 0xbf, 0xe6, 0x42, 0x68, 0x41, 0x99, 0x2d, 0x0f, 0xb0, 0x54, 0xbb, 0x16, - }; + memmove(fromKeyBuff1, key, 16); - const u32 roundTable[10] = { - 0x1, 0x2, 0x4, 0x8, - 0x10, 0x20, 0x40, 0x80, - 0x1b, 0x36 + const u32 roundTable[11] = { + 0x1, 0x2, 0x4, 0x8, 0x10, 0x20, 0x40, 0x80, 0x1b, 0x36, 0x0 }; - u32* buff1_4 = (u32*)fromKeyBuff1; - for(int i = 0; i < 10; i++) { + u32* buff1_4 = fromKeyBuff1; + for(int i = 0; i < rounds; i++) { const u32 swapID = buff1_4[3]; u32 xor1; u8* xor1_4 = (u8*)&xor1; @@ -54,6 +70,28 @@ struct CryptCtx buff1_4 += 4; } + + buff1_4 = fromKeyBuff1 + rounds * 4 + 1; // end + u32* buff2_4 = fromKeyBuff2; + for(int i = 0; i < rounds+1; i++) { + buff2_4[0] = buff1_4[-1]; + buff2_4[1] = buff1_4[0]; + buff2_4[2] = buff1_4[1]; + buff2_4[3] = buff1_4[2]; + buff2_4 += 4; + buff1_4 -= 4; + } + + u8* buff2_1 = (u8*)fromKeyBuff2 + 17; + for(int i = 0; i < 40; i++) { + buff2_4 = (u32*)(buff2_1 - 1); + buff2_4[0] = + *(u32*)(g_AES_1024_2 + (u32)g_AES_256_0[buff2_1[1]] * 4) ^ + *(u32*)(g_AES_1024_3 + (u32)g_AES_256_0[buff2_1[2]] * 4) ^ + *(u32*)(g_AES_1024_1 + (u32)g_AES_256_0[buff2_1[0]] * 4) ^ + *(u32*)(g_AES_1024_0 + (u32)g_AES_256_0[buff2_1[-1]] * 4); + buff2_1 += 4; + } } }; From f05e2827d1e59655686dda69bde279d1d6354ed9 Mon Sep 17 00:00:00 2001 From: LordSk Date: Wed, 15 Jul 2020 19:59:46 +0200 Subject: [PATCH 03/14] Compute xor block --- Pak/src/base.h | 1 + Pak/src/pak_main.cpp | 221 +++++++++++++++++++++++++++++++++++++++---- 2 files changed, 203 insertions(+), 19 deletions(-) diff --git a/Pak/src/base.h b/Pak/src/base.h index 85dc17d..ba69825 100644 --- a/Pak/src/base.h +++ b/Pak/src/base.h @@ -38,6 +38,7 @@ inline void __assertion_failed(const char* cond, const char* file, int line) typedef uint8_t u8; typedef uint16_t u16; typedef uint32_t u32; +typedef uint64_t u64; typedef int16_t i16; typedef int32_t i32; typedef int64_t i64; diff --git a/Pak/src/pak_main.cpp b/Pak/src/pak_main.cpp index 7be294c..6748c49 100644 --- a/Pak/src/pak_main.cpp +++ b/Pak/src/pak_main.cpp @@ -35,22 +35,44 @@ const u8 g_AES_1024_3[1024] = { 0xf4, 0xa7, 0x50, 0x51, 0x41, 0x65, 0x53, 0x7e, 0x17, 0xa4, 0xc3, 0x1a, 0x27, 0x5e, 0x96, 0x3a, 0xab, 0x6b, 0xcb, 0x3b, 0x9d, 0x45, 0xf1, 0x1f, 0xfa, 0x58, 0xab, 0xac, 0xe3, 0x03, 0x93, 0x4b, 0x30, 0xfa, 0x55, 0x20, 0x76, 0x6d, 0xf6, 0xad, 0xcc, 0x76, 0x91, 0x88, 0x02, 0x4c, 0x25, 0xf5, 0xe5, 0xd7, 0xfc, 0x4f, 0x2a, 0xcb, 0xd7, 0xc5, 0x35, 0x44, 0x80, 0x26, 0x62, 0xa3, 0x8f, 0xb5, 0xb1, 0x5a, 0x49, 0xde, 0xba, 0x1b, 0x67, 0x25, 0xea, 0x0e, 0x98, 0x45, 0xfe, 0xc0, 0xe1, 0x5d, 0x2f, 0x75, 0x02, 0xc3, 0x4c, 0xf0, 0x12, 0x81, 0x46, 0x97, 0xa3, 0x8d, 0xd3, 0xf9, 0xc6, 0x6b, 0x8f, 0x5f, 0xe7, 0x03, 0x92, 0x9c, 0x95, 0x15, 0x6d, 0x7a, 0xeb, 0xbf, 0x52, 0x59, 0xda, 0x95, 0xbe, 0x83, 0x2d, 0xd4, 0x74, 0x21, 0xd3, 0x58, 0xe0, 0x69, 0x29, 0x49, 0xc9, 0xc8, 0x44, 0x8e, 0xc2, 0x89, 0x6a, 0x75, 0x8e, 0x79, 0x78, 0xf4, 0x58, 0x3e, 0x6b, 0x99, 0xb9, 0x71, 0xdd, 0x27, 0xe1, 0x4f, 0xb6, 0xbe, 0x88, 0xad, 0x17, 0xf0, 0x20, 0xac, 0x66, 0xc9, 0xce, 0x3a, 0xb4, 0x7d, 0xdf, 0x4a, 0x18, 0x63, 0x1a, 0x31, 0x82, 0xe5, 0x51, 0x33, 0x60, 0x97, 0x53, 0x7f, 0x45, 0x62, 0x64, 0x77, 0xe0, 0xb1, 0x6b, 0xae, 0x84, 0xbb, 0x81, 0xa0, 0x1c, 0xfe, 0x08, 0x2b, 0x94, 0xf9, 0x48, 0x68, 0x58, 0x70, 0x45, 0xfd, 0x19, 0x8f, 0xde, 0x6c, 0x87, 0x94, 0x7b, 0xf8, 0xb7, 0x52, 0x73, 0xd3, 0x23, 0xab, 0x4b, 0x02, 0xe2, 0x72, 0x1f, 0x8f, 0x57, 0xe3, 0x55, 0xab, 0x2a, 0x66, 0xeb, 0x28, 0x07, 0xb2, 0xb5, 0xc2, 0x03, 0x2f, 0xc5, 0x7b, 0x9a, 0x86, 0x37, 0x08, 0xa5, 0xd3, 0x28, 0x87, 0xf2, 0x30, 0xbf, 0xa5, 0xb2, 0x23, 0x03, 0x6a, 0xba, 0x02, 0x16, 0x82, 0x5c, 0xed, 0xcf, 0x1c, 0x2b, 0x8a, 0x79, 0xb4, 0x92, 0xa7, 0x07, 0xf2, 0xf0, 0xf3, 0x69, 0xe2, 0xa1, 0x4e, 0xda, 0xf4, 0xcd, 0x65, 0x05, 0xbe, 0xd5, 0x06, 0x34, 0x62, 0x1f, 0xd1, 0xa6, 0xfe, 0x8a, 0xc4, 0x2e, 0x53, 0x9d, 0x34, 0xf3, 0x55, 0xa0, 0xa2, 0x8a, 0xe1, 0x32, 0x05, 0xf6, 0xeb, 0x75, 0xa4, 0x83, 0xec, 0x39, 0x0b, 0x60, 0xef, 0xaa, 0x40, 0x71, 0x9f, 0x06, 0x5e, 0x6e, 0x10, 0x51, 0xbd, 0x21, 0x8a, 0xf9, 0x3e, 0xdd, 0x06, 0x3d, 0x96, 0x3e, 0x05, 0xae, 0xdd, 0xe6, 0xbd, 0x46, 0x4d, 0x54, 0x8d, 0xb5, 0x91, 0xc4, 0x5d, 0x05, 0x71, 0x06, 0xd4, 0x6f, 0x04, 0x50, 0x15, 0xff, 0x60, 0x98, 0xfb, 0x24, 0x19, 0xbd, 0xe9, 0x97, 0xd6, 0x40, 0x43, 0xcc, 0x89, 0xd9, 0x9e, 0x77, 0x67, 0xe8, 0x42, 0xbd, 0xb0, 0x89, 0x8b, 0x88, 0x07, 0x19, 0x5b, 0x38, 0xe7, 0xc8, 0xee, 0xdb, 0x79, 0x7c, 0x0a, 0x47, 0xa1, 0x42, 0x0f, 0xe9, 0x7c, 0x84, 0x1e, 0xc9, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x80, 0x86, 0x83, 0x09, 0x2b, 0xed, 0x48, 0x32, 0x11, 0x70, 0xac, 0x1e, 0x5a, 0x72, 0x4e, 0x6c, 0x0e, 0xff, 0xfb, 0xfd, 0x85, 0x38, 0x56, 0x0f, 0xae, 0xd5, 0x1e, 0x3d, 0x2d, 0x39, 0x27, 0x36, 0x0f, 0xd9, 0x64, 0x0a, 0x5c, 0xa6, 0x21, 0x68, 0x5b, 0x54, 0xd1, 0x9b, 0x36, 0x2e, 0x3a, 0x24, 0x0a, 0x67, 0xb1, 0x0c, 0x57, 0xe7, 0x0f, 0x93, 0xee, 0x96, 0xd2, 0xb4, 0x9b, 0x91, 0x9e, 0x1b, 0xc0, 0xc5, 0x4f, 0x80, 0xdc, 0x20, 0xa2, 0x61, 0x77, 0x4b, 0x69, 0x5a, 0x12, 0x1a, 0x16, 0x1c, 0x93, 0xba, 0x0a, 0xe2, 0xa0, 0x2a, 0xe5, 0xc0, 0x22, 0xe0, 0x43, 0x3c, 0x1b, 0x17, 0x1d, 0x12, 0x09, 0x0d, 0x0b, 0x0e, 0x8b, 0xc7, 0xad, 0xf2, 0xb6, 0xa8, 0xb9, 0x2d, 0x1e, 0xa9, 0xc8, 0x14, 0xf1, 0x19, 0x85, 0x57, 0x75, 0x07, 0x4c, 0xaf, 0x99, 0xdd, 0xbb, 0xee, 0x7f, 0x60, 0xfd, 0xa3, 0x01, 0x26, 0x9f, 0xf7, 0x72, 0xf5, 0xbc, 0x5c, 0x66, 0x3b, 0xc5, 0x44, 0xfb, 0x7e, 0x34, 0x5b, 0x43, 0x29, 0x76, 0x8b, 0x23, 0xc6, 0xdc, 0xcb, 0xed, 0xfc, 0x68, 0xb6, 0xe4, 0xf1, 0x63, 0xb8, 0x31, 0xdc, 0xca, 0xd7, 0x63, 0x85, 0x10, 0x42, 0x97, 0x22, 0x40, 0x13, 0xc6, 0x11, 0x20, 0x84, 0x4a, 0x24, 0x7d, 0x85, 0xbb, 0x3d, 0xf8, 0xd2, 0xf9, 0x32, 0x11, 0xae, 0x29, 0xa1, 0x6d, 0xc7, 0x9e, 0x2f, 0x4b, 0x1d, 0xb2, 0x30, 0xf3, 0xdc, 0x86, 0x52, 0xec, 0x0d, 0xc1, 0xe3, 0xd0, 0x77, 0xb3, 0x16, 0x6c, 0x2b, 0x70, 0xb9, 0x99, 0xa9, 0x94, 0x48, 0xfa, 0x11, 0xe9, 0x64, 0x22, 0x47, 0xfc, 0x8c, 0xc4, 0xa8, 0xf0, 0x3f, 0x1a, 0xa0, 0x7d, 0x2c, 0xd8, 0x56, 0x33, 0x90, 0xef, 0x22, 0x49, 0x4e, 0xc7, 0x87, 0x38, 0xd1, 0xc1, 0xd9, 0xca, 0xa2, 0xfe, 0x8c, 0xd4, 0x0b, 0x36, 0x98, 0xf5, 0x81, 0xcf, 0xa6, 0x7a, 0xde, 0x28, 0xa5, 0xb7, 0x8e, 0x26, 0xda, 0xad, 0xbf, 0xa4, 0x3f, 0x3a, 0x9d, 0xe4, 0x2c, 0x78, 0x92, 0x0d, 0x50, 0x5f, 0xcc, 0x9b, 0x6a, 0x7e, 0x46, 0x62, 0x54, 0x8d, 0x13, 0xc2, 0xf6, 0xd8, 0xb8, 0xe8, 0x90, 0x39, 0xf7, 0x5e, 0x2e, 0xc3, 0xaf, 0xf5, 0x82, 0x5d, 0x80, 0xbe, 0x9f, 0xd0, 0x93, 0x7c, 0x69, 0xd5, 0x2d, 0xa9, 0x6f, 0x25, 0x12, 0xb3, 0xcf, 0xac, 0x99, 0x3b, 0xc8, 0x18, 0x7d, 0xa7, 0x10, 0x9c, 0x63, 0x6e, 0xe8, 0x3b, 0xbb, 0x7b, 0xdb, 0x26, 0x78, 0x09, 0xcd, 0x59, 0x18, 0xf4, 0x6e, 0x9a, 0xb7, 0x01, 0xec, 0x4f, 0x9a, 0xa8, 0x83, 0x95, 0x6e, 0x65, 0xe6, 0xff, 0xe6, 0x7e, 0xaa, 0xbc, 0xcf, 0x08, 0x21, 0x15, 0xe8, 0xe6, 0xef, 0xe7, 0x9b, 0xd9, 0xba, 0x6f, 0x36, 0xce, 0x4a, 0x9f, 0x09, 0xd4, 0xea, 0xb0, 0x7c, 0xd6, 0x29, 0xa4, 0xb2, 0xaf, 0x31, 0x3f, 0x23, 0x31, 0x2a, 0xa5, 0x94, 0x30, 0xc6, 0xa2, 0x66, 0xc0, 0x35, 0x4e, 0xbc, 0x37, 0x74, 0x82, 0xca, 0xa6, 0xfc, 0x90, 0xd0, 0xb0, 0xe0, 0xa7, 0xd8, 0x15, 0x33, 0x04, 0x98, 0x4a, 0xf1, 0xec, 0xda, 0xf7, 0x41, 0xcd, 0x50, 0x0e, 0x7f, 0x91, 0xf6, 0x2f, 0x17, 0x4d, 0xd6, 0x8d, 0x76, 0xef, 0xb0, 0x4d, 0x43, 0xaa, 0x4d, 0x54, 0xcc, 0x96, 0x04, 0xdf, 0xe4, 0xd1, 0xb5, 0xe3, 0x9e, 0x6a, 0x88, 0x1b, 0x4c, 0x2c, 0x1f, 0xb8, 0xc1, 0x65, 0x51, 0x7f, 0x46, 0x5e, 0xea, 0x04, 0x9d, 0x8c, 0x35, 0x5d, 0x01, 0x87, 0x74, 0x73, 0xfa, 0x0b, 0x41, 0x2e, 0xfb, 0x67, 0x1d, 0x5a, 0xb3, 0xdb, 0xd2, 0x52, 0x92, 0x10, 0x56, 0x33, 0xe9, 0xd6, 0x47, 0x13, 0x6d, 0xd7, 0x61, 0x8c, 0x9a, 0xa1, 0x0c, 0x7a, 0x37, 0xf8, 0x14, 0x8e, 0x59, 0x13, 0x3c, 0x89, 0xeb, 0xa9, 0x27, 0xee, 0xce, 0x61, 0xc9, 0x35, 0xb7, 0x1c, 0xe5, 0xed, 0xe1, 0x47, 0xb1, 0x3c, 0x7a, 0xd2, 0xdf, 0x59, 0x9c, 0xf2, 0x73, 0x3f, 0x55, 0x14, 0xce, 0x79, 0x18, 0xc7, 0x37, 0xbf, 0x73, 0xf7, 0xcd, 0xea, 0x53, 0xfd, 0xaa, 0x5b, 0x5f, 0x3d, 0x6f, 0x14, 0xdf, 0x44, 0xdb, 0x86, 0x78, 0xaf, 0xf3, 0x81, 0xca, 0x68, 0xc4, 0x3e, 0xb9, 0x24, 0x34, 0x2c, 0x38, 0xa3, 0x40, 0x5f, 0xc2, 0x1d, 0xc3, 0x72, 0x16, 0xe2, 0x25, 0x0c, 0xbc, 0x3c, 0x49, 0x8b, 0x28, 0x0d, 0x95, 0x41, 0xff, 0xa8, 0x01, 0x71, 0x39, 0x0c, 0xb3, 0xde, 0x08, 0xb4, 0xe4, 0x9c, 0xd8, 0x56, 0xc1, 0x90, 0x64, 0xcb, 0x84, 0x61, 0x7b, 0x32, 0xb6, 0x70, 0xd5, 0x6c, 0x5c, 0x74, 0x48, 0xb8, 0x57, 0x42, 0xd0, }; +const u8 g_AES_1024_1_0_byte[1024] = { + 0xc6, 0x63, 0x63, 0xa5, 0xf8, 0x7c, 0x7c, 0x84, 0xee, 0x77, 0x77, 0x99, 0xf6, 0x7b, 0x7b, 0x8d, 0xff, 0xf2, 0xf2, 0x0d, 0xd6, 0x6b, 0x6b, 0xbd, 0xde, 0x6f, 0x6f, 0xb1, 0x91, 0xc5, 0xc5, 0x54, 0x60, 0x30, 0x30, 0x50, 0x02, 0x01, 0x01, 0x03, 0xce, 0x67, 0x67, 0xa9, 0x56, 0x2b, 0x2b, 0x7d, 0xe7, 0xfe, 0xfe, 0x19, 0xb5, 0xd7, 0xd7, 0x62, 0x4d, 0xab, 0xab, 0xe6, 0xec, 0x76, 0x76, 0x9a, 0x8f, 0xca, 0xca, 0x45, 0x1f, 0x82, 0x82, 0x9d, 0x89, 0xc9, 0xc9, 0x40, 0xfa, 0x7d, 0x7d, 0x87, 0xef, 0xfa, 0xfa, 0x15, 0xb2, 0x59, 0x59, 0xeb, 0x8e, 0x47, 0x47, 0xc9, 0xfb, 0xf0, 0xf0, 0x0b, 0x41, 0xad, 0xad, 0xec, 0xb3, 0xd4, 0xd4, 0x67, 0x5f, 0xa2, 0xa2, 0xfd, 0x45, 0xaf, 0xaf, 0xea, 0x23, 0x9c, 0x9c, 0xbf, 0x53, 0xa4, 0xa4, 0xf7, 0xe4, 0x72, 0x72, 0x96, 0x9b, 0xc0, 0xc0, 0x5b, 0x75, 0xb7, 0xb7, 0xc2, 0xe1, 0xfd, 0xfd, 0x1c, 0x3d, 0x93, 0x93, 0xae, 0x4c, 0x26, 0x26, 0x6a, 0x6c, 0x36, 0x36, 0x5a, 0x7e, 0x3f, 0x3f, 0x41, 0xf5, 0xf7, 0xf7, 0x02, 0x83, 0xcc, 0xcc, 0x4f, 0x68, 0x34, 0x34, 0x5c, 0x51, 0xa5, 0xa5, 0xf4, 0xd1, 0xe5, 0xe5, 0x34, 0xf9, 0xf1, 0xf1, 0x08, 0xe2, 0x71, 0x71, 0x93, 0xab, 0xd8, 0xd8, 0x73, 0x62, 0x31, 0x31, 0x53, 0x2a, 0x15, 0x15, 0x3f, 0x08, 0x04, 0x04, 0x0c, 0x95, 0xc7, 0xc7, 0x52, 0x46, 0x23, 0x23, 0x65, 0x9d, 0xc3, 0xc3, 0x5e, 0x30, 0x18, 0x18, 0x28, 0x37, 0x96, 0x96, 0xa1, 0x0a, 0x05, 0x05, 0x0f, 0x2f, 0x9a, 0x9a, 0xb5, 0x0e, 0x07, 0x07, 0x09, 0x24, 0x12, 0x12, 0x36, 0x1b, 0x80, 0x80, 0x9b, 0xdf, 0xe2, 0xe2, 0x3d, 0xcd, 0xeb, 0xeb, 0x26, 0x4e, 0x27, 0x27, 0x69, 0x7f, 0xb2, 0xb2, 0xcd, 0xea, 0x75, 0x75, 0x9f, 0x12, 0x09, 0x09, 0x1b, 0x1d, 0x83, 0x83, 0x9e, 0x58, 0x2c, 0x2c, 0x74, 0x34, 0x1a, 0x1a, 0x2e, 0x36, 0x1b, 0x1b, 0x2d, 0xdc, 0x6e, 0x6e, 0xb2, 0xb4, 0x5a, 0x5a, 0xee, 0x5b, 0xa0, 0xa0, 0xfb, 0xa4, 0x52, 0x52, 0xf6, 0x76, 0x3b, 0x3b, 0x4d, 0xb7, 0xd6, 0xd6, 0x61, 0x7d, 0xb3, 0xb3, 0xce, 0x52, 0x29, 0x29, 0x7b, 0xdd, 0xe3, 0xe3, 0x3e, 0x5e, 0x2f, 0x2f, 0x71, 0x13, 0x84, 0x84, 0x97, 0xa6, 0x53, 0x53, 0xf5, 0xb9, 0xd1, 0xd1, 0x68, 0x00, 0x00, 0x00, 0x00, 0xc1, 0xed, 0xed, 0x2c, 0x40, 0x20, 0x20, 0x60, 0xe3, 0xfc, 0xfc, 0x1f, 0x79, 0xb1, 0xb1, 0xc8, 0xb6, 0x5b, 0x5b, 0xed, 0xd4, 0x6a, 0x6a, 0xbe, 0x8d, 0xcb, 0xcb, 0x46, 0x67, 0xbe, 0xbe, 0xd9, 0x72, 0x39, 0x39, 0x4b, 0x94, 0x4a, 0x4a, 0xde, 0x98, 0x4c, 0x4c, 0xd4, 0xb0, 0x58, 0x58, 0xe8, 0x85, 0xcf, 0xcf, 0x4a, 0xbb, 0xd0, 0xd0, 0x6b, 0xc5, 0xef, 0xef, 0x2a, 0x4f, 0xaa, 0xaa, 0xe5, 0xed, 0xfb, 0xfb, 0x16, 0x86, 0x43, 0x43, 0xc5, 0x9a, 0x4d, 0x4d, 0xd7, 0x66, 0x33, 0x33, 0x55, 0x11, 0x85, 0x85, 0x94, 0x8a, 0x45, 0x45, 0xcf, 0xe9, 0xf9, 0xf9, 0x10, 0x04, 0x02, 0x02, 0x06, 0xfe, 0x7f, 0x7f, 0x81, 0xa0, 0x50, 0x50, 0xf0, 0x78, 0x3c, 0x3c, 0x44, 0x25, 0x9f, 0x9f, 0xba, 0x4b, 0xa8, 0xa8, 0xe3, 0xa2, 0x51, 0x51, 0xf3, 0x5d, 0xa3, 0xa3, 0xfe, 0x80, 0x40, 0x40, 0xc0, 0x05, 0x8f, 0x8f, 0x8a, 0x3f, 0x92, 0x92, 0xad, 0x21, 0x9d, 0x9d, 0xbc, 0x70, 0x38, 0x38, 0x48, 0xf1, 0xf5, 0xf5, 0x04, 0x63, 0xbc, 0xbc, 0xdf, 0x77, 0xb6, 0xb6, 0xc1, 0xaf, 0xda, 0xda, 0x75, 0x42, 0x21, 0x21, 0x63, 0x20, 0x10, 0x10, 0x30, 0xe5, 0xff, 0xff, 0x1a, 0xfd, 0xf3, 0xf3, 0x0e, 0xbf, 0xd2, 0xd2, 0x6d, 0x81, 0xcd, 0xcd, 0x4c, 0x18, 0x0c, 0x0c, 0x14, 0x26, 0x13, 0x13, 0x35, 0xc3, 0xec, 0xec, 0x2f, 0xbe, 0x5f, 0x5f, 0xe1, 0x35, 0x97, 0x97, 0xa2, 0x88, 0x44, 0x44, 0xcc, 0x2e, 0x17, 0x17, 0x39, 0x93, 0xc4, 0xc4, 0x57, 0x55, 0xa7, 0xa7, 0xf2, 0xfc, 0x7e, 0x7e, 0x82, 0x7a, 0x3d, 0x3d, 0x47, 0xc8, 0x64, 0x64, 0xac, 0xba, 0x5d, 0x5d, 0xe7, 0x32, 0x19, 0x19, 0x2b, 0xe6, 0x73, 0x73, 0x95, 0xc0, 0x60, 0x60, 0xa0, 0x19, 0x81, 0x81, 0x98, 0x9e, 0x4f, 0x4f, 0xd1, 0xa3, 0xdc, 0xdc, 0x7f, 0x44, 0x22, 0x22, 0x66, 0x54, 0x2a, 0x2a, 0x7e, 0x3b, 0x90, 0x90, 0xab, 0x0b, 0x88, 0x88, 0x83, 0x8c, 0x46, 0x46, 0xca, 0xc7, 0xee, 0xee, 0x29, 0x6b, 0xb8, 0xb8, 0xd3, 0x28, 0x14, 0x14, 0x3c, 0xa7, 0xde, 0xde, 0x79, 0xbc, 0x5e, 0x5e, 0xe2, 0x16, 0x0b, 0x0b, 0x1d, 0xad, 0xdb, 0xdb, 0x76, 0xdb, 0xe0, 0xe0, 0x3b, 0x64, 0x32, 0x32, 0x56, 0x74, 0x3a, 0x3a, 0x4e, 0x14, 0x0a, 0x0a, 0x1e, 0x92, 0x49, 0x49, 0xdb, 0x0c, 0x06, 0x06, 0x0a, 0x48, 0x24, 0x24, 0x6c, 0xb8, 0x5c, 0x5c, 0xe4, 0x9f, 0xc2, 0xc2, 0x5d, 0xbd, 0xd3, 0xd3, 0x6e, 0x43, 0xac, 0xac, 0xef, 0xc4, 0x62, 0x62, 0xa6, 0x39, 0x91, 0x91, 0xa8, 0x31, 0x95, 0x95, 0xa4, 0xd3, 0xe4, 0xe4, 0x37, 0xf2, 0x79, 0x79, 0x8b, 0xd5, 0xe7, 0xe7, 0x32, 0x8b, 0xc8, 0xc8, 0x43, 0x6e, 0x37, 0x37, 0x59, 0xda, 0x6d, 0x6d, 0xb7, 0x01, 0x8d, 0x8d, 0x8c, 0xb1, 0xd5, 0xd5, 0x64, 0x9c, 0x4e, 0x4e, 0xd2, 0x49, 0xa9, 0xa9, 0xe0, 0xd8, 0x6c, 0x6c, 0xb4, 0xac, 0x56, 0x56, 0xfa, 0xf3, 0xf4, 0xf4, 0x07, 0xcf, 0xea, 0xea, 0x25, 0xca, 0x65, 0x65, 0xaf, 0xf4, 0x7a, 0x7a, 0x8e, 0x47, 0xae, 0xae, 0xe9, 0x10, 0x08, 0x08, 0x18, 0x6f, 0xba, 0xba, 0xd5, 0xf0, 0x78, 0x78, 0x88, 0x4a, 0x25, 0x25, 0x6f, 0x5c, 0x2e, 0x2e, 0x72, 0x38, 0x1c, 0x1c, 0x24, 0x57, 0xa6, 0xa6, 0xf1, 0x73, 0xb4, 0xb4, 0xc7, 0x97, 0xc6, 0xc6, 0x51, 0xcb, 0xe8, 0xe8, 0x23, 0xa1, 0xdd, 0xdd, 0x7c, 0xe8, 0x74, 0x74, 0x9c, 0x3e, 0x1f, 0x1f, 0x21, 0x96, 0x4b, 0x4b, 0xdd, 0x61, 0xbd, 0xbd, 0xdc, 0x0d, 0x8b, 0x8b, 0x86, 0x0f, 0x8a, 0x8a, 0x85, 0xe0, 0x70, 0x70, 0x90, 0x7c, 0x3e, 0x3e, 0x42, 0x71, 0xb5, 0xb5, 0xc4, 0xcc, 0x66, 0x66, 0xaa, 0x90, 0x48, 0x48, 0xd8, 0x06, 0x03, 0x03, 0x05, 0xf7, 0xf6, 0xf6, 0x01, 0x1c, 0x0e, 0x0e, 0x12, 0xc2, 0x61, 0x61, 0xa3, 0x6a, 0x35, 0x35, 0x5f, 0xae, 0x57, 0x57, 0xf9, 0x69, 0xb9, 0xb9, 0xd0, 0x17, 0x86, 0x86, 0x91, 0x99, 0xc1, 0xc1, 0x58, 0x3a, 0x1d, 0x1d, 0x27, 0x27, 0x9e, 0x9e, 0xb9, 0xd9, 0xe1, 0xe1, 0x38, 0xeb, 0xf8, 0xf8, 0x13, 0x2b, 0x98, 0x98, 0xb3, 0x22, 0x11, 0x11, 0x33, 0xd2, 0x69, 0x69, 0xbb, 0xa9, 0xd9, 0xd9, 0x70, 0x07, 0x8e, 0x8e, 0x89, 0x33, 0x94, 0x94, 0xa7, 0x2d, 0x9b, 0x9b, 0xb6, 0x3c, 0x1e, 0x1e, 0x22, 0x15, 0x87, 0x87, 0x92, 0xc9, 0xe9, 0xe9, 0x20, 0x87, 0xce, 0xce, 0x49, 0xaa, 0x55, 0x55, 0xff, 0x50, 0x28, 0x28, 0x78, 0xa5, 0xdf, 0xdf, 0x7a, 0x03, 0x8c, 0x8c, 0x8f, 0x59, 0xa1, 0xa1, 0xf8, 0x09, 0x89, 0x89, 0x80, 0x1a, 0x0d, 0x0d, 0x17, 0x65, 0xbf, 0xbf, 0xda, 0xd7, 0xe6, 0xe6, 0x31, 0x84, 0x42, 0x42, 0xc6, 0xd0, 0x68, 0x68, 0xb8, 0x82, 0x41, 0x41, 0xc3, 0x29, 0x99, 0x99, 0xb0, 0x5a, 0x2d, 0x2d, 0x77, 0x1e, 0x0f, 0x0f, 0x11, 0x7b, 0xb0, 0xb0, 0xcb, 0xa8, 0x54, 0x54, 0xfc, 0x6d, 0xbb, 0xbb, 0xd6, 0x2c, 0x16, 0x16, 0x3a, +}; + +const u8 g_AES_1024_1_1_byte[1024] = { + 0xa5, 0xc6, 0x63, 0x63, 0x84, 0xf8, 0x7c, 0x7c, 0x99, 0xee, 0x77, 0x77, 0x8d, 0xf6, 0x7b, 0x7b, 0x0d, 0xff, 0xf2, 0xf2, 0xbd, 0xd6, 0x6b, 0x6b, 0xb1, 0xde, 0x6f, 0x6f, 0x54, 0x91, 0xc5, 0xc5, 0x50, 0x60, 0x30, 0x30, 0x03, 0x02, 0x01, 0x01, 0xa9, 0xce, 0x67, 0x67, 0x7d, 0x56, 0x2b, 0x2b, 0x19, 0xe7, 0xfe, 0xfe, 0x62, 0xb5, 0xd7, 0xd7, 0xe6, 0x4d, 0xab, 0xab, 0x9a, 0xec, 0x76, 0x76, 0x45, 0x8f, 0xca, 0xca, 0x9d, 0x1f, 0x82, 0x82, 0x40, 0x89, 0xc9, 0xc9, 0x87, 0xfa, 0x7d, 0x7d, 0x15, 0xef, 0xfa, 0xfa, 0xeb, 0xb2, 0x59, 0x59, 0xc9, 0x8e, 0x47, 0x47, 0x0b, 0xfb, 0xf0, 0xf0, 0xec, 0x41, 0xad, 0xad, 0x67, 0xb3, 0xd4, 0xd4, 0xfd, 0x5f, 0xa2, 0xa2, 0xea, 0x45, 0xaf, 0xaf, 0xbf, 0x23, 0x9c, 0x9c, 0xf7, 0x53, 0xa4, 0xa4, 0x96, 0xe4, 0x72, 0x72, 0x5b, 0x9b, 0xc0, 0xc0, 0xc2, 0x75, 0xb7, 0xb7, 0x1c, 0xe1, 0xfd, 0xfd, 0xae, 0x3d, 0x93, 0x93, 0x6a, 0x4c, 0x26, 0x26, 0x5a, 0x6c, 0x36, 0x36, 0x41, 0x7e, 0x3f, 0x3f, 0x02, 0xf5, 0xf7, 0xf7, 0x4f, 0x83, 0xcc, 0xcc, 0x5c, 0x68, 0x34, 0x34, 0xf4, 0x51, 0xa5, 0xa5, 0x34, 0xd1, 0xe5, 0xe5, 0x08, 0xf9, 0xf1, 0xf1, 0x93, 0xe2, 0x71, 0x71, 0x73, 0xab, 0xd8, 0xd8, 0x53, 0x62, 0x31, 0x31, 0x3f, 0x2a, 0x15, 0x15, 0x0c, 0x08, 0x04, 0x04, 0x52, 0x95, 0xc7, 0xc7, 0x65, 0x46, 0x23, 0x23, 0x5e, 0x9d, 0xc3, 0xc3, 0x28, 0x30, 0x18, 0x18, 0xa1, 0x37, 0x96, 0x96, 0x0f, 0x0a, 0x05, 0x05, 0xb5, 0x2f, 0x9a, 0x9a, 0x09, 0x0e, 0x07, 0x07, 0x36, 0x24, 0x12, 0x12, 0x9b, 0x1b, 0x80, 0x80, 0x3d, 0xdf, 0xe2, 0xe2, 0x26, 0xcd, 0xeb, 0xeb, 0x69, 0x4e, 0x27, 0x27, 0xcd, 0x7f, 0xb2, 0xb2, 0x9f, 0xea, 0x75, 0x75, 0x1b, 0x12, 0x09, 0x09, 0x9e, 0x1d, 0x83, 0x83, 0x74, 0x58, 0x2c, 0x2c, 0x2e, 0x34, 0x1a, 0x1a, 0x2d, 0x36, 0x1b, 0x1b, 0xb2, 0xdc, 0x6e, 0x6e, 0xee, 0xb4, 0x5a, 0x5a, 0xfb, 0x5b, 0xa0, 0xa0, 0xf6, 0xa4, 0x52, 0x52, 0x4d, 0x76, 0x3b, 0x3b, 0x61, 0xb7, 0xd6, 0xd6, 0xce, 0x7d, 0xb3, 0xb3, 0x7b, 0x52, 0x29, 0x29, 0x3e, 0xdd, 0xe3, 0xe3, 0x71, 0x5e, 0x2f, 0x2f, 0x97, 0x13, 0x84, 0x84, 0xf5, 0xa6, 0x53, 0x53, 0x68, 0xb9, 0xd1, 0xd1, 0x00, 0x00, 0x00, 0x00, 0x2c, 0xc1, 0xed, 0xed, 0x60, 0x40, 0x20, 0x20, 0x1f, 0xe3, 0xfc, 0xfc, 0xc8, 0x79, 0xb1, 0xb1, 0xed, 0xb6, 0x5b, 0x5b, 0xbe, 0xd4, 0x6a, 0x6a, 0x46, 0x8d, 0xcb, 0xcb, 0xd9, 0x67, 0xbe, 0xbe, 0x4b, 0x72, 0x39, 0x39, 0xde, 0x94, 0x4a, 0x4a, 0xd4, 0x98, 0x4c, 0x4c, 0xe8, 0xb0, 0x58, 0x58, 0x4a, 0x85, 0xcf, 0xcf, 0x6b, 0xbb, 0xd0, 0xd0, 0x2a, 0xc5, 0xef, 0xef, 0xe5, 0x4f, 0xaa, 0xaa, 0x16, 0xed, 0xfb, 0xfb, 0xc5, 0x86, 0x43, 0x43, 0xd7, 0x9a, 0x4d, 0x4d, 0x55, 0x66, 0x33, 0x33, 0x94, 0x11, 0x85, 0x85, 0xcf, 0x8a, 0x45, 0x45, 0x10, 0xe9, 0xf9, 0xf9, 0x06, 0x04, 0x02, 0x02, 0x81, 0xfe, 0x7f, 0x7f, 0xf0, 0xa0, 0x50, 0x50, 0x44, 0x78, 0x3c, 0x3c, 0xba, 0x25, 0x9f, 0x9f, 0xe3, 0x4b, 0xa8, 0xa8, 0xf3, 0xa2, 0x51, 0x51, 0xfe, 0x5d, 0xa3, 0xa3, 0xc0, 0x80, 0x40, 0x40, 0x8a, 0x05, 0x8f, 0x8f, 0xad, 0x3f, 0x92, 0x92, 0xbc, 0x21, 0x9d, 0x9d, 0x48, 0x70, 0x38, 0x38, 0x04, 0xf1, 0xf5, 0xf5, 0xdf, 0x63, 0xbc, 0xbc, 0xc1, 0x77, 0xb6, 0xb6, 0x75, 0xaf, 0xda, 0xda, 0x63, 0x42, 0x21, 0x21, 0x30, 0x20, 0x10, 0x10, 0x1a, 0xe5, 0xff, 0xff, 0x0e, 0xfd, 0xf3, 0xf3, 0x6d, 0xbf, 0xd2, 0xd2, 0x4c, 0x81, 0xcd, 0xcd, 0x14, 0x18, 0x0c, 0x0c, 0x35, 0x26, 0x13, 0x13, 0x2f, 0xc3, 0xec, 0xec, 0xe1, 0xbe, 0x5f, 0x5f, 0xa2, 0x35, 0x97, 0x97, 0xcc, 0x88, 0x44, 0x44, 0x39, 0x2e, 0x17, 0x17, 0x57, 0x93, 0xc4, 0xc4, 0xf2, 0x55, 0xa7, 0xa7, 0x82, 0xfc, 0x7e, 0x7e, 0x47, 0x7a, 0x3d, 0x3d, 0xac, 0xc8, 0x64, 0x64, 0xe7, 0xba, 0x5d, 0x5d, 0x2b, 0x32, 0x19, 0x19, 0x95, 0xe6, 0x73, 0x73, 0xa0, 0xc0, 0x60, 0x60, 0x98, 0x19, 0x81, 0x81, 0xd1, 0x9e, 0x4f, 0x4f, 0x7f, 0xa3, 0xdc, 0xdc, 0x66, 0x44, 0x22, 0x22, 0x7e, 0x54, 0x2a, 0x2a, 0xab, 0x3b, 0x90, 0x90, 0x83, 0x0b, 0x88, 0x88, 0xca, 0x8c, 0x46, 0x46, 0x29, 0xc7, 0xee, 0xee, 0xd3, 0x6b, 0xb8, 0xb8, 0x3c, 0x28, 0x14, 0x14, 0x79, 0xa7, 0xde, 0xde, 0xe2, 0xbc, 0x5e, 0x5e, 0x1d, 0x16, 0x0b, 0x0b, 0x76, 0xad, 0xdb, 0xdb, 0x3b, 0xdb, 0xe0, 0xe0, 0x56, 0x64, 0x32, 0x32, 0x4e, 0x74, 0x3a, 0x3a, 0x1e, 0x14, 0x0a, 0x0a, 0xdb, 0x92, 0x49, 0x49, 0x0a, 0x0c, 0x06, 0x06, 0x6c, 0x48, 0x24, 0x24, 0xe4, 0xb8, 0x5c, 0x5c, 0x5d, 0x9f, 0xc2, 0xc2, 0x6e, 0xbd, 0xd3, 0xd3, 0xef, 0x43, 0xac, 0xac, 0xa6, 0xc4, 0x62, 0x62, 0xa8, 0x39, 0x91, 0x91, 0xa4, 0x31, 0x95, 0x95, 0x37, 0xd3, 0xe4, 0xe4, 0x8b, 0xf2, 0x79, 0x79, 0x32, 0xd5, 0xe7, 0xe7, 0x43, 0x8b, 0xc8, 0xc8, 0x59, 0x6e, 0x37, 0x37, 0xb7, 0xda, 0x6d, 0x6d, 0x8c, 0x01, 0x8d, 0x8d, 0x64, 0xb1, 0xd5, 0xd5, 0xd2, 0x9c, 0x4e, 0x4e, 0xe0, 0x49, 0xa9, 0xa9, 0xb4, 0xd8, 0x6c, 0x6c, 0xfa, 0xac, 0x56, 0x56, 0x07, 0xf3, 0xf4, 0xf4, 0x25, 0xcf, 0xea, 0xea, 0xaf, 0xca, 0x65, 0x65, 0x8e, 0xf4, 0x7a, 0x7a, 0xe9, 0x47, 0xae, 0xae, 0x18, 0x10, 0x08, 0x08, 0xd5, 0x6f, 0xba, 0xba, 0x88, 0xf0, 0x78, 0x78, 0x6f, 0x4a, 0x25, 0x25, 0x72, 0x5c, 0x2e, 0x2e, 0x24, 0x38, 0x1c, 0x1c, 0xf1, 0x57, 0xa6, 0xa6, 0xc7, 0x73, 0xb4, 0xb4, 0x51, 0x97, 0xc6, 0xc6, 0x23, 0xcb, 0xe8, 0xe8, 0x7c, 0xa1, 0xdd, 0xdd, 0x9c, 0xe8, 0x74, 0x74, 0x21, 0x3e, 0x1f, 0x1f, 0xdd, 0x96, 0x4b, 0x4b, 0xdc, 0x61, 0xbd, 0xbd, 0x86, 0x0d, 0x8b, 0x8b, 0x85, 0x0f, 0x8a, 0x8a, 0x90, 0xe0, 0x70, 0x70, 0x42, 0x7c, 0x3e, 0x3e, 0xc4, 0x71, 0xb5, 0xb5, 0xaa, 0xcc, 0x66, 0x66, 0xd8, 0x90, 0x48, 0x48, 0x05, 0x06, 0x03, 0x03, 0x01, 0xf7, 0xf6, 0xf6, 0x12, 0x1c, 0x0e, 0x0e, 0xa3, 0xc2, 0x61, 0x61, 0x5f, 0x6a, 0x35, 0x35, 0xf9, 0xae, 0x57, 0x57, 0xd0, 0x69, 0xb9, 0xb9, 0x91, 0x17, 0x86, 0x86, 0x58, 0x99, 0xc1, 0xc1, 0x27, 0x3a, 0x1d, 0x1d, 0xb9, 0x27, 0x9e, 0x9e, 0x38, 0xd9, 0xe1, 0xe1, 0x13, 0xeb, 0xf8, 0xf8, 0xb3, 0x2b, 0x98, 0x98, 0x33, 0x22, 0x11, 0x11, 0xbb, 0xd2, 0x69, 0x69, 0x70, 0xa9, 0xd9, 0xd9, 0x89, 0x07, 0x8e, 0x8e, 0xa7, 0x33, 0x94, 0x94, 0xb6, 0x2d, 0x9b, 0x9b, 0x22, 0x3c, 0x1e, 0x1e, 0x92, 0x15, 0x87, 0x87, 0x20, 0xc9, 0xe9, 0xe9, 0x49, 0x87, 0xce, 0xce, 0xff, 0xaa, 0x55, 0x55, 0x78, 0x50, 0x28, 0x28, 0x7a, 0xa5, 0xdf, 0xdf, 0x8f, 0x03, 0x8c, 0x8c, 0xf8, 0x59, 0xa1, 0xa1, 0x80, 0x09, 0x89, 0x89, 0x17, 0x1a, 0x0d, 0x0d, 0xda, 0x65, 0xbf, 0xbf, 0x31, 0xd7, 0xe6, 0xe6, 0xc6, 0x84, 0x42, 0x42, 0xb8, 0xd0, 0x68, 0x68, 0xc3, 0x82, 0x41, 0x41, 0xb0, 0x29, 0x99, 0x99, 0x77, 0x5a, 0x2d, 0x2d, 0x11, 0x1e, 0x0f, 0x0f, 0xcb, 0x7b, 0xb0, 0xb0, 0xfc, 0xa8, 0x54, 0x54, 0xd6, 0x6d, 0xbb, 0xbb, 0x3a, 0x2c, 0x16, 0x16, +}; + +const u8 g_AES_1024_1_2_byte[1024] = { + 0x63, 0xa5, 0xc6, 0x63, 0x7c, 0x84, 0xf8, 0x7c, 0x77, 0x99, 0xee, 0x77, 0x7b, 0x8d, 0xf6, 0x7b, 0xf2, 0x0d, 0xff, 0xf2, 0x6b, 0xbd, 0xd6, 0x6b, 0x6f, 0xb1, 0xde, 0x6f, 0xc5, 0x54, 0x91, 0xc5, 0x30, 0x50, 0x60, 0x30, 0x01, 0x03, 0x02, 0x01, 0x67, 0xa9, 0xce, 0x67, 0x2b, 0x7d, 0x56, 0x2b, 0xfe, 0x19, 0xe7, 0xfe, 0xd7, 0x62, 0xb5, 0xd7, 0xab, 0xe6, 0x4d, 0xab, 0x76, 0x9a, 0xec, 0x76, 0xca, 0x45, 0x8f, 0xca, 0x82, 0x9d, 0x1f, 0x82, 0xc9, 0x40, 0x89, 0xc9, 0x7d, 0x87, 0xfa, 0x7d, 0xfa, 0x15, 0xef, 0xfa, 0x59, 0xeb, 0xb2, 0x59, 0x47, 0xc9, 0x8e, 0x47, 0xf0, 0x0b, 0xfb, 0xf0, 0xad, 0xec, 0x41, 0xad, 0xd4, 0x67, 0xb3, 0xd4, 0xa2, 0xfd, 0x5f, 0xa2, 0xaf, 0xea, 0x45, 0xaf, 0x9c, 0xbf, 0x23, 0x9c, 0xa4, 0xf7, 0x53, 0xa4, 0x72, 0x96, 0xe4, 0x72, 0xc0, 0x5b, 0x9b, 0xc0, 0xb7, 0xc2, 0x75, 0xb7, 0xfd, 0x1c, 0xe1, 0xfd, 0x93, 0xae, 0x3d, 0x93, 0x26, 0x6a, 0x4c, 0x26, 0x36, 0x5a, 0x6c, 0x36, 0x3f, 0x41, 0x7e, 0x3f, 0xf7, 0x02, 0xf5, 0xf7, 0xcc, 0x4f, 0x83, 0xcc, 0x34, 0x5c, 0x68, 0x34, 0xa5, 0xf4, 0x51, 0xa5, 0xe5, 0x34, 0xd1, 0xe5, 0xf1, 0x08, 0xf9, 0xf1, 0x71, 0x93, 0xe2, 0x71, 0xd8, 0x73, 0xab, 0xd8, 0x31, 0x53, 0x62, 0x31, 0x15, 0x3f, 0x2a, 0x15, 0x04, 0x0c, 0x08, 0x04, 0xc7, 0x52, 0x95, 0xc7, 0x23, 0x65, 0x46, 0x23, 0xc3, 0x5e, 0x9d, 0xc3, 0x18, 0x28, 0x30, 0x18, 0x96, 0xa1, 0x37, 0x96, 0x05, 0x0f, 0x0a, 0x05, 0x9a, 0xb5, 0x2f, 0x9a, 0x07, 0x09, 0x0e, 0x07, 0x12, 0x36, 0x24, 0x12, 0x80, 0x9b, 0x1b, 0x80, 0xe2, 0x3d, 0xdf, 0xe2, 0xeb, 0x26, 0xcd, 0xeb, 0x27, 0x69, 0x4e, 0x27, 0xb2, 0xcd, 0x7f, 0xb2, 0x75, 0x9f, 0xea, 0x75, 0x09, 0x1b, 0x12, 0x09, 0x83, 0x9e, 0x1d, 0x83, 0x2c, 0x74, 0x58, 0x2c, 0x1a, 0x2e, 0x34, 0x1a, 0x1b, 0x2d, 0x36, 0x1b, 0x6e, 0xb2, 0xdc, 0x6e, 0x5a, 0xee, 0xb4, 0x5a, 0xa0, 0xfb, 0x5b, 0xa0, 0x52, 0xf6, 0xa4, 0x52, 0x3b, 0x4d, 0x76, 0x3b, 0xd6, 0x61, 0xb7, 0xd6, 0xb3, 0xce, 0x7d, 0xb3, 0x29, 0x7b, 0x52, 0x29, 0xe3, 0x3e, 0xdd, 0xe3, 0x2f, 0x71, 0x5e, 0x2f, 0x84, 0x97, 0x13, 0x84, 0x53, 0xf5, 0xa6, 0x53, 0xd1, 0x68, 0xb9, 0xd1, 0x00, 0x00, 0x00, 0x00, 0xed, 0x2c, 0xc1, 0xed, 0x20, 0x60, 0x40, 0x20, 0xfc, 0x1f, 0xe3, 0xfc, 0xb1, 0xc8, 0x79, 0xb1, 0x5b, 0xed, 0xb6, 0x5b, 0x6a, 0xbe, 0xd4, 0x6a, 0xcb, 0x46, 0x8d, 0xcb, 0xbe, 0xd9, 0x67, 0xbe, 0x39, 0x4b, 0x72, 0x39, 0x4a, 0xde, 0x94, 0x4a, 0x4c, 0xd4, 0x98, 0x4c, 0x58, 0xe8, 0xb0, 0x58, 0xcf, 0x4a, 0x85, 0xcf, 0xd0, 0x6b, 0xbb, 0xd0, 0xef, 0x2a, 0xc5, 0xef, 0xaa, 0xe5, 0x4f, 0xaa, 0xfb, 0x16, 0xed, 0xfb, 0x43, 0xc5, 0x86, 0x43, 0x4d, 0xd7, 0x9a, 0x4d, 0x33, 0x55, 0x66, 0x33, 0x85, 0x94, 0x11, 0x85, 0x45, 0xcf, 0x8a, 0x45, 0xf9, 0x10, 0xe9, 0xf9, 0x02, 0x06, 0x04, 0x02, 0x7f, 0x81, 0xfe, 0x7f, 0x50, 0xf0, 0xa0, 0x50, 0x3c, 0x44, 0x78, 0x3c, 0x9f, 0xba, 0x25, 0x9f, 0xa8, 0xe3, 0x4b, 0xa8, 0x51, 0xf3, 0xa2, 0x51, 0xa3, 0xfe, 0x5d, 0xa3, 0x40, 0xc0, 0x80, 0x40, 0x8f, 0x8a, 0x05, 0x8f, 0x92, 0xad, 0x3f, 0x92, 0x9d, 0xbc, 0x21, 0x9d, 0x38, 0x48, 0x70, 0x38, 0xf5, 0x04, 0xf1, 0xf5, 0xbc, 0xdf, 0x63, 0xbc, 0xb6, 0xc1, 0x77, 0xb6, 0xda, 0x75, 0xaf, 0xda, 0x21, 0x63, 0x42, 0x21, 0x10, 0x30, 0x20, 0x10, 0xff, 0x1a, 0xe5, 0xff, 0xf3, 0x0e, 0xfd, 0xf3, 0xd2, 0x6d, 0xbf, 0xd2, 0xcd, 0x4c, 0x81, 0xcd, 0x0c, 0x14, 0x18, 0x0c, 0x13, 0x35, 0x26, 0x13, 0xec, 0x2f, 0xc3, 0xec, 0x5f, 0xe1, 0xbe, 0x5f, 0x97, 0xa2, 0x35, 0x97, 0x44, 0xcc, 0x88, 0x44, 0x17, 0x39, 0x2e, 0x17, 0xc4, 0x57, 0x93, 0xc4, 0xa7, 0xf2, 0x55, 0xa7, 0x7e, 0x82, 0xfc, 0x7e, 0x3d, 0x47, 0x7a, 0x3d, 0x64, 0xac, 0xc8, 0x64, 0x5d, 0xe7, 0xba, 0x5d, 0x19, 0x2b, 0x32, 0x19, 0x73, 0x95, 0xe6, 0x73, 0x60, 0xa0, 0xc0, 0x60, 0x81, 0x98, 0x19, 0x81, 0x4f, 0xd1, 0x9e, 0x4f, 0xdc, 0x7f, 0xa3, 0xdc, 0x22, 0x66, 0x44, 0x22, 0x2a, 0x7e, 0x54, 0x2a, 0x90, 0xab, 0x3b, 0x90, 0x88, 0x83, 0x0b, 0x88, 0x46, 0xca, 0x8c, 0x46, 0xee, 0x29, 0xc7, 0xee, 0xb8, 0xd3, 0x6b, 0xb8, 0x14, 0x3c, 0x28, 0x14, 0xde, 0x79, 0xa7, 0xde, 0x5e, 0xe2, 0xbc, 0x5e, 0x0b, 0x1d, 0x16, 0x0b, 0xdb, 0x76, 0xad, 0xdb, 0xe0, 0x3b, 0xdb, 0xe0, 0x32, 0x56, 0x64, 0x32, 0x3a, 0x4e, 0x74, 0x3a, 0x0a, 0x1e, 0x14, 0x0a, 0x49, 0xdb, 0x92, 0x49, 0x06, 0x0a, 0x0c, 0x06, 0x24, 0x6c, 0x48, 0x24, 0x5c, 0xe4, 0xb8, 0x5c, 0xc2, 0x5d, 0x9f, 0xc2, 0xd3, 0x6e, 0xbd, 0xd3, 0xac, 0xef, 0x43, 0xac, 0x62, 0xa6, 0xc4, 0x62, 0x91, 0xa8, 0x39, 0x91, 0x95, 0xa4, 0x31, 0x95, 0xe4, 0x37, 0xd3, 0xe4, 0x79, 0x8b, 0xf2, 0x79, 0xe7, 0x32, 0xd5, 0xe7, 0xc8, 0x43, 0x8b, 0xc8, 0x37, 0x59, 0x6e, 0x37, 0x6d, 0xb7, 0xda, 0x6d, 0x8d, 0x8c, 0x01, 0x8d, 0xd5, 0x64, 0xb1, 0xd5, 0x4e, 0xd2, 0x9c, 0x4e, 0xa9, 0xe0, 0x49, 0xa9, 0x6c, 0xb4, 0xd8, 0x6c, 0x56, 0xfa, 0xac, 0x56, 0xf4, 0x07, 0xf3, 0xf4, 0xea, 0x25, 0xcf, 0xea, 0x65, 0xaf, 0xca, 0x65, 0x7a, 0x8e, 0xf4, 0x7a, 0xae, 0xe9, 0x47, 0xae, 0x08, 0x18, 0x10, 0x08, 0xba, 0xd5, 0x6f, 0xba, 0x78, 0x88, 0xf0, 0x78, 0x25, 0x6f, 0x4a, 0x25, 0x2e, 0x72, 0x5c, 0x2e, 0x1c, 0x24, 0x38, 0x1c, 0xa6, 0xf1, 0x57, 0xa6, 0xb4, 0xc7, 0x73, 0xb4, 0xc6, 0x51, 0x97, 0xc6, 0xe8, 0x23, 0xcb, 0xe8, 0xdd, 0x7c, 0xa1, 0xdd, 0x74, 0x9c, 0xe8, 0x74, 0x1f, 0x21, 0x3e, 0x1f, 0x4b, 0xdd, 0x96, 0x4b, 0xbd, 0xdc, 0x61, 0xbd, 0x8b, 0x86, 0x0d, 0x8b, 0x8a, 0x85, 0x0f, 0x8a, 0x70, 0x90, 0xe0, 0x70, 0x3e, 0x42, 0x7c, 0x3e, 0xb5, 0xc4, 0x71, 0xb5, 0x66, 0xaa, 0xcc, 0x66, 0x48, 0xd8, 0x90, 0x48, 0x03, 0x05, 0x06, 0x03, 0xf6, 0x01, 0xf7, 0xf6, 0x0e, 0x12, 0x1c, 0x0e, 0x61, 0xa3, 0xc2, 0x61, 0x35, 0x5f, 0x6a, 0x35, 0x57, 0xf9, 0xae, 0x57, 0xb9, 0xd0, 0x69, 0xb9, 0x86, 0x91, 0x17, 0x86, 0xc1, 0x58, 0x99, 0xc1, 0x1d, 0x27, 0x3a, 0x1d, 0x9e, 0xb9, 0x27, 0x9e, 0xe1, 0x38, 0xd9, 0xe1, 0xf8, 0x13, 0xeb, 0xf8, 0x98, 0xb3, 0x2b, 0x98, 0x11, 0x33, 0x22, 0x11, 0x69, 0xbb, 0xd2, 0x69, 0xd9, 0x70, 0xa9, 0xd9, 0x8e, 0x89, 0x07, 0x8e, 0x94, 0xa7, 0x33, 0x94, 0x9b, 0xb6, 0x2d, 0x9b, 0x1e, 0x22, 0x3c, 0x1e, 0x87, 0x92, 0x15, 0x87, 0xe9, 0x20, 0xc9, 0xe9, 0xce, 0x49, 0x87, 0xce, 0x55, 0xff, 0xaa, 0x55, 0x28, 0x78, 0x50, 0x28, 0xdf, 0x7a, 0xa5, 0xdf, 0x8c, 0x8f, 0x03, 0x8c, 0xa1, 0xf8, 0x59, 0xa1, 0x89, 0x80, 0x09, 0x89, 0x0d, 0x17, 0x1a, 0x0d, 0xbf, 0xda, 0x65, 0xbf, 0xe6, 0x31, 0xd7, 0xe6, 0x42, 0xc6, 0x84, 0x42, 0x68, 0xb8, 0xd0, 0x68, 0x41, 0xc3, 0x82, 0x41, 0x99, 0xb0, 0x29, 0x99, 0x2d, 0x77, 0x5a, 0x2d, 0x0f, 0x11, 0x1e, 0x0f, 0xb0, 0xcb, 0x7b, 0xb0, 0x54, 0xfc, 0xa8, 0x54, 0xbb, 0xd6, 0x6d, 0xbb, 0x16, 0x3a, 0x2c, 0x16, +}; + +const u8 g_AES_1024_1_3_byte[1024] = { + 0x63, 0x63, 0xa5, 0xc6, 0x7c, 0x7c, 0x84, 0xf8, 0x77, 0x77, 0x99, 0xee, 0x7b, 0x7b, 0x8d, 0xf6, 0xf2, 0xf2, 0x0d, 0xff, 0x6b, 0x6b, 0xbd, 0xd6, 0x6f, 0x6f, 0xb1, 0xde, 0xc5, 0xc5, 0x54, 0x91, 0x30, 0x30, 0x50, 0x60, 0x01, 0x01, 0x03, 0x02, 0x67, 0x67, 0xa9, 0xce, 0x2b, 0x2b, 0x7d, 0x56, 0xfe, 0xfe, 0x19, 0xe7, 0xd7, 0xd7, 0x62, 0xb5, 0xab, 0xab, 0xe6, 0x4d, 0x76, 0x76, 0x9a, 0xec, 0xca, 0xca, 0x45, 0x8f, 0x82, 0x82, 0x9d, 0x1f, 0xc9, 0xc9, 0x40, 0x89, 0x7d, 0x7d, 0x87, 0xfa, 0xfa, 0xfa, 0x15, 0xef, 0x59, 0x59, 0xeb, 0xb2, 0x47, 0x47, 0xc9, 0x8e, 0xf0, 0xf0, 0x0b, 0xfb, 0xad, 0xad, 0xec, 0x41, 0xd4, 0xd4, 0x67, 0xb3, 0xa2, 0xa2, 0xfd, 0x5f, 0xaf, 0xaf, 0xea, 0x45, 0x9c, 0x9c, 0xbf, 0x23, 0xa4, 0xa4, 0xf7, 0x53, 0x72, 0x72, 0x96, 0xe4, 0xc0, 0xc0, 0x5b, 0x9b, 0xb7, 0xb7, 0xc2, 0x75, 0xfd, 0xfd, 0x1c, 0xe1, 0x93, 0x93, 0xae, 0x3d, 0x26, 0x26, 0x6a, 0x4c, 0x36, 0x36, 0x5a, 0x6c, 0x3f, 0x3f, 0x41, 0x7e, 0xf7, 0xf7, 0x02, 0xf5, 0xcc, 0xcc, 0x4f, 0x83, 0x34, 0x34, 0x5c, 0x68, 0xa5, 0xa5, 0xf4, 0x51, 0xe5, 0xe5, 0x34, 0xd1, 0xf1, 0xf1, 0x08, 0xf9, 0x71, 0x71, 0x93, 0xe2, 0xd8, 0xd8, 0x73, 0xab, 0x31, 0x31, 0x53, 0x62, 0x15, 0x15, 0x3f, 0x2a, 0x04, 0x04, 0x0c, 0x08, 0xc7, 0xc7, 0x52, 0x95, 0x23, 0x23, 0x65, 0x46, 0xc3, 0xc3, 0x5e, 0x9d, 0x18, 0x18, 0x28, 0x30, 0x96, 0x96, 0xa1, 0x37, 0x05, 0x05, 0x0f, 0x0a, 0x9a, 0x9a, 0xb5, 0x2f, 0x07, 0x07, 0x09, 0x0e, 0x12, 0x12, 0x36, 0x24, 0x80, 0x80, 0x9b, 0x1b, 0xe2, 0xe2, 0x3d, 0xdf, 0xeb, 0xeb, 0x26, 0xcd, 0x27, 0x27, 0x69, 0x4e, 0xb2, 0xb2, 0xcd, 0x7f, 0x75, 0x75, 0x9f, 0xea, 0x09, 0x09, 0x1b, 0x12, 0x83, 0x83, 0x9e, 0x1d, 0x2c, 0x2c, 0x74, 0x58, 0x1a, 0x1a, 0x2e, 0x34, 0x1b, 0x1b, 0x2d, 0x36, 0x6e, 0x6e, 0xb2, 0xdc, 0x5a, 0x5a, 0xee, 0xb4, 0xa0, 0xa0, 0xfb, 0x5b, 0x52, 0x52, 0xf6, 0xa4, 0x3b, 0x3b, 0x4d, 0x76, 0xd6, 0xd6, 0x61, 0xb7, 0xb3, 0xb3, 0xce, 0x7d, 0x29, 0x29, 0x7b, 0x52, 0xe3, 0xe3, 0x3e, 0xdd, 0x2f, 0x2f, 0x71, 0x5e, 0x84, 0x84, 0x97, 0x13, 0x53, 0x53, 0xf5, 0xa6, 0xd1, 0xd1, 0x68, 0xb9, 0x00, 0x00, 0x00, 0x00, 0xed, 0xed, 0x2c, 0xc1, 0x20, 0x20, 0x60, 0x40, 0xfc, 0xfc, 0x1f, 0xe3, 0xb1, 0xb1, 0xc8, 0x79, 0x5b, 0x5b, 0xed, 0xb6, 0x6a, 0x6a, 0xbe, 0xd4, 0xcb, 0xcb, 0x46, 0x8d, 0xbe, 0xbe, 0xd9, 0x67, 0x39, 0x39, 0x4b, 0x72, 0x4a, 0x4a, 0xde, 0x94, 0x4c, 0x4c, 0xd4, 0x98, 0x58, 0x58, 0xe8, 0xb0, 0xcf, 0xcf, 0x4a, 0x85, 0xd0, 0xd0, 0x6b, 0xbb, 0xef, 0xef, 0x2a, 0xc5, 0xaa, 0xaa, 0xe5, 0x4f, 0xfb, 0xfb, 0x16, 0xed, 0x43, 0x43, 0xc5, 0x86, 0x4d, 0x4d, 0xd7, 0x9a, 0x33, 0x33, 0x55, 0x66, 0x85, 0x85, 0x94, 0x11, 0x45, 0x45, 0xcf, 0x8a, 0xf9, 0xf9, 0x10, 0xe9, 0x02, 0x02, 0x06, 0x04, 0x7f, 0x7f, 0x81, 0xfe, 0x50, 0x50, 0xf0, 0xa0, 0x3c, 0x3c, 0x44, 0x78, 0x9f, 0x9f, 0xba, 0x25, 0xa8, 0xa8, 0xe3, 0x4b, 0x51, 0x51, 0xf3, 0xa2, 0xa3, 0xa3, 0xfe, 0x5d, 0x40, 0x40, 0xc0, 0x80, 0x8f, 0x8f, 0x8a, 0x05, 0x92, 0x92, 0xad, 0x3f, 0x9d, 0x9d, 0xbc, 0x21, 0x38, 0x38, 0x48, 0x70, 0xf5, 0xf5, 0x04, 0xf1, 0xbc, 0xbc, 0xdf, 0x63, 0xb6, 0xb6, 0xc1, 0x77, 0xda, 0xda, 0x75, 0xaf, 0x21, 0x21, 0x63, 0x42, 0x10, 0x10, 0x30, 0x20, 0xff, 0xff, 0x1a, 0xe5, 0xf3, 0xf3, 0x0e, 0xfd, 0xd2, 0xd2, 0x6d, 0xbf, 0xcd, 0xcd, 0x4c, 0x81, 0x0c, 0x0c, 0x14, 0x18, 0x13, 0x13, 0x35, 0x26, 0xec, 0xec, 0x2f, 0xc3, 0x5f, 0x5f, 0xe1, 0xbe, 0x97, 0x97, 0xa2, 0x35, 0x44, 0x44, 0xcc, 0x88, 0x17, 0x17, 0x39, 0x2e, 0xc4, 0xc4, 0x57, 0x93, 0xa7, 0xa7, 0xf2, 0x55, 0x7e, 0x7e, 0x82, 0xfc, 0x3d, 0x3d, 0x47, 0x7a, 0x64, 0x64, 0xac, 0xc8, 0x5d, 0x5d, 0xe7, 0xba, 0x19, 0x19, 0x2b, 0x32, 0x73, 0x73, 0x95, 0xe6, 0x60, 0x60, 0xa0, 0xc0, 0x81, 0x81, 0x98, 0x19, 0x4f, 0x4f, 0xd1, 0x9e, 0xdc, 0xdc, 0x7f, 0xa3, 0x22, 0x22, 0x66, 0x44, 0x2a, 0x2a, 0x7e, 0x54, 0x90, 0x90, 0xab, 0x3b, 0x88, 0x88, 0x83, 0x0b, 0x46, 0x46, 0xca, 0x8c, 0xee, 0xee, 0x29, 0xc7, 0xb8, 0xb8, 0xd3, 0x6b, 0x14, 0x14, 0x3c, 0x28, 0xde, 0xde, 0x79, 0xa7, 0x5e, 0x5e, 0xe2, 0xbc, 0x0b, 0x0b, 0x1d, 0x16, 0xdb, 0xdb, 0x76, 0xad, 0xe0, 0xe0, 0x3b, 0xdb, 0x32, 0x32, 0x56, 0x64, 0x3a, 0x3a, 0x4e, 0x74, 0x0a, 0x0a, 0x1e, 0x14, 0x49, 0x49, 0xdb, 0x92, 0x06, 0x06, 0x0a, 0x0c, 0x24, 0x24, 0x6c, 0x48, 0x5c, 0x5c, 0xe4, 0xb8, 0xc2, 0xc2, 0x5d, 0x9f, 0xd3, 0xd3, 0x6e, 0xbd, 0xac, 0xac, 0xef, 0x43, 0x62, 0x62, 0xa6, 0xc4, 0x91, 0x91, 0xa8, 0x39, 0x95, 0x95, 0xa4, 0x31, 0xe4, 0xe4, 0x37, 0xd3, 0x79, 0x79, 0x8b, 0xf2, 0xe7, 0xe7, 0x32, 0xd5, 0xc8, 0xc8, 0x43, 0x8b, 0x37, 0x37, 0x59, 0x6e, 0x6d, 0x6d, 0xb7, 0xda, 0x8d, 0x8d, 0x8c, 0x01, 0xd5, 0xd5, 0x64, 0xb1, 0x4e, 0x4e, 0xd2, 0x9c, 0xa9, 0xa9, 0xe0, 0x49, 0x6c, 0x6c, 0xb4, 0xd8, 0x56, 0x56, 0xfa, 0xac, 0xf4, 0xf4, 0x07, 0xf3, 0xea, 0xea, 0x25, 0xcf, 0x65, 0x65, 0xaf, 0xca, 0x7a, 0x7a, 0x8e, 0xf4, 0xae, 0xae, 0xe9, 0x47, 0x08, 0x08, 0x18, 0x10, 0xba, 0xba, 0xd5, 0x6f, 0x78, 0x78, 0x88, 0xf0, 0x25, 0x25, 0x6f, 0x4a, 0x2e, 0x2e, 0x72, 0x5c, 0x1c, 0x1c, 0x24, 0x38, 0xa6, 0xa6, 0xf1, 0x57, 0xb4, 0xb4, 0xc7, 0x73, 0xc6, 0xc6, 0x51, 0x97, 0xe8, 0xe8, 0x23, 0xcb, 0xdd, 0xdd, 0x7c, 0xa1, 0x74, 0x74, 0x9c, 0xe8, 0x1f, 0x1f, 0x21, 0x3e, 0x4b, 0x4b, 0xdd, 0x96, 0xbd, 0xbd, 0xdc, 0x61, 0x8b, 0x8b, 0x86, 0x0d, 0x8a, 0x8a, 0x85, 0x0f, 0x70, 0x70, 0x90, 0xe0, 0x3e, 0x3e, 0x42, 0x7c, 0xb5, 0xb5, 0xc4, 0x71, 0x66, 0x66, 0xaa, 0xcc, 0x48, 0x48, 0xd8, 0x90, 0x03, 0x03, 0x05, 0x06, 0xf6, 0xf6, 0x01, 0xf7, 0x0e, 0x0e, 0x12, 0x1c, 0x61, 0x61, 0xa3, 0xc2, 0x35, 0x35, 0x5f, 0x6a, 0x57, 0x57, 0xf9, 0xae, 0xb9, 0xb9, 0xd0, 0x69, 0x86, 0x86, 0x91, 0x17, 0xc1, 0xc1, 0x58, 0x99, 0x1d, 0x1d, 0x27, 0x3a, 0x9e, 0x9e, 0xb9, 0x27, 0xe1, 0xe1, 0x38, 0xd9, 0xf8, 0xf8, 0x13, 0xeb, 0x98, 0x98, 0xb3, 0x2b, 0x11, 0x11, 0x33, 0x22, 0x69, 0x69, 0xbb, 0xd2, 0xd9, 0xd9, 0x70, 0xa9, 0x8e, 0x8e, 0x89, 0x07, 0x94, 0x94, 0xa7, 0x33, 0x9b, 0x9b, 0xb6, 0x2d, 0x1e, 0x1e, 0x22, 0x3c, 0x87, 0x87, 0x92, 0x15, 0xe9, 0xe9, 0x20, 0xc9, 0xce, 0xce, 0x49, 0x87, 0x55, 0x55, 0xff, 0xaa, 0x28, 0x28, 0x78, 0x50, 0xdf, 0xdf, 0x7a, 0xa5, 0x8c, 0x8c, 0x8f, 0x03, 0xa1, 0xa1, 0xf8, 0x59, 0x89, 0x89, 0x80, 0x09, 0x0d, 0x0d, 0x17, 0x1a, 0xbf, 0xbf, 0xda, 0x65, 0xe6, 0xe6, 0x31, 0xd7, 0x42, 0x42, 0xc6, 0x84, 0x68, 0x68, 0xb8, 0xd0, 0x41, 0x41, 0xc3, 0x82, 0x99, 0x99, 0xb0, 0x29, 0x2d, 0x2d, 0x77, 0x5a, 0x0f, 0x0f, 0x11, 0x1e, 0xb0, 0xb0, 0xcb, 0x7b, 0x54, 0x54, 0xfc, 0xa8, 0xbb, 0xbb, 0xd6, 0x6d, 0x16, 0x16, 0x3a, 0x2c, +}; + struct CryptCtx { - u32 fromKeyBuff1[44] = {0}; - u32 fromKeyBuff2[44] = {0}; + u8 key1[16]; + u8 key2[16]; + u32 key1Expansion1[44] = {0}; + u32 key1Expansion2[44] = {0}; - void keyExpand(const u8* key) + void Init(const u8* key1_, const u8* key2_) { + memmove(key1, key1_, 16); + memmove(key2, key2_, 16); + + // key expansion const int rounds = 10; - memmove(fromKeyBuff1, key, 16); + memmove(key1Expansion1, key1_, 16); - const u32 roundTable[11] = { - 0x1, 0x2, 0x4, 0x8, 0x10, 0x20, 0x40, 0x80, 0x1b, 0x36, 0x0 + const u32 roundTable[10] = { + 0x1, 0x2, 0x4, 0x8, 0x10, 0x20, 0x40, 0x80, 0x1b, 0x36 }; - u32* buff1_4 = fromKeyBuff1; + u32* buff1_4 = key1Expansion1; for(int i = 0; i < rounds; i++) { const u32 swapID = buff1_4[3]; u32 xor1; @@ -71,8 +93,8 @@ struct CryptCtx buff1_4 += 4; } - buff1_4 = fromKeyBuff1 + rounds * 4 + 1; // end - u32* buff2_4 = fromKeyBuff2; + buff1_4 = key1Expansion1 + rounds * 4 + 1; // end + u32* buff2_4 = key1Expansion2; for(int i = 0; i < rounds+1; i++) { buff2_4[0] = buff1_4[-1]; buff2_4[1] = buff1_4[0]; @@ -82,7 +104,7 @@ struct CryptCtx buff1_4 -= 4; } - u8* buff2_1 = (u8*)fromKeyBuff2 + 17; + u8* buff2_1 = (u8*)key1Expansion2 + 17; for(int i = 0; i < 40; i++) { buff2_4 = (u32*)(buff2_1 - 1); buff2_4[0] = @@ -93,23 +115,184 @@ struct CryptCtx buff2_1 += 4; } } + + void Key2AddOffset(u8* out, i32 offset) + { + memmove(out, key2, sizeof(key2)); + + u64 add = 0; + u8* add1 = (u8*)&add; + add1[0] = out[15]; + add1[1] = out[14]; + add1[2] = out[13]; + add1[3] = out[12]; + add1[4] = out[11]; + add1[5] = out[10]; + add1[6] = out[9]; + add1[7] = out[8]; + + add += offset; + + out[8] = add1[7]; + out[9] = add1[6]; + out[10] = add1[5]; + out[11] = add1[4]; + out[12] = add1[3]; + out[13] = add1[2]; + out[14] = add1[1]; + out[15] = add1[0]; + } + + void ComputeXorBlock(u32* key) + { + const u32* g_AES_1024_1_0 = (u32*)g_AES_1024_1_0_byte; + const u32* g_AES_1024_1_1 = (u32*)g_AES_1024_1_1_byte; + const u32* g_AES_1024_1_2 = (u32*)g_AES_1024_1_2_byte; + const u32* g_AES_1024_1_3 = (u32*)g_AES_1024_1_3_byte; + + const u32* exp1 = key1Expansion1; + + u32 xor0 = *exp1 ^ *key; + u32 xor1 = exp1[1] ^ key[1]; + u32 xor3 = exp1[3] ^ key[3]; + u32 xor2 = exp1[2] ^ key[2]; + + u32 step1_0 = g_AES_1024_1_2[xor2 >> 0x10 & 0xff] ^ g_AES_1024_1_1[xor1 >> 8 & 0xff] ^ + g_AES_1024_1_3[xor3 >> 0x18] ^ g_AES_1024_1_0[xor0 & 0xff] ^ exp1[4]; + u32 step1_1 = g_AES_1024_1_2[xor3 >> 0x10 & 0xff] ^ g_AES_1024_1_1[xor2 >> 8 & 0xff] ^ + g_AES_1024_1_3[xor0 >> 0x18] ^ g_AES_1024_1_0[xor1 & 0xff] ^ exp1[5]; + u32 step1_2 = g_AES_1024_1_1[xor3 >> 8 & 0xff] ^ g_AES_1024_1_2[xor0 >> 0x10 & 0xff] ^ + g_AES_1024_1_3[xor1 >> 0x18] ^ g_AES_1024_1_0[xor2 & 0xff] ^ exp1[6]; + u32 step1_3 = g_AES_1024_1_2[xor1 >> 0x10 & 0xff] ^ g_AES_1024_1_1[xor0 >> 8 & 0xff] ^ + g_AES_1024_1_3[xor2 >> 0x18] ^ g_AES_1024_1_0[xor3 & 0xff] ^ exp1[7]; + + const u32 rounds = 10; + u32 roundIt = 2; + if(rounds != 2) { + const u32* exp1_p10 = exp1 + 10; + do { + xor0 = g_AES_1024_1_2[step1_2 >> 0x10 & 0xff] ^ g_AES_1024_1_1[step1_1 >> 8 & 0xff] ^ + g_AES_1024_1_3[step1_3 >> 0x18] ^ g_AES_1024_1_0[step1_0 & 0xff] ^ exp1_p10[-2]; + xor2 = g_AES_1024_1_2[step1_3 >> 0x10 & 0xff] ^ g_AES_1024_1_1[step1_2 >> 8 & 0xff] ^ + g_AES_1024_1_3[step1_0 >> 0x18] ^ g_AES_1024_1_0[step1_1 & 0xff] ^ exp1_p10[-1]; + xor1 = g_AES_1024_1_1[step1_3 >> 8 & 0xff] ^ g_AES_1024_1_2[step1_0 >> 0x10 & 0xff] ^ + g_AES_1024_1_3[step1_1 >> 0x18] ^ g_AES_1024_1_0[step1_2 & 0xff] ^ *exp1_p10; + xor3 = g_AES_1024_1_2[step1_1 >> 0x10 & 0xff] ^ g_AES_1024_1_1[step1_0 >> 8 & 0xff] ^ + g_AES_1024_1_3[step1_2 >> 0x18] ^ g_AES_1024_1_0[step1_3 & 0xff] ^ exp1_p10[1]; + step1_0 = g_AES_1024_1_2[xor1 >> 0x10 & 0xff] ^ g_AES_1024_1_1[xor2 >> 8 & 0xff] ^ + g_AES_1024_1_3[xor3 >> 0x18] ^ g_AES_1024_1_0[xor0 & 0xff] ^ exp1_p10[2]; + step1_1 = g_AES_1024_1_2[xor3 >> 0x10 & 0xff] ^ g_AES_1024_1_1[xor1 >> 8 & 0xff] ^ + g_AES_1024_1_3[xor0 >> 0x18] ^ g_AES_1024_1_0[xor2 & 0xff] ^ exp1_p10[3]; + step1_2 = g_AES_1024_1_1[xor3 >> 8 & 0xff] ^ g_AES_1024_1_2[xor0 >> 0x10 & 0xff] ^ + g_AES_1024_1_3[xor2 >> 0x18] ^ g_AES_1024_1_0[xor1 & 0xff] ^ exp1_p10[4]; + step1_3 = g_AES_1024_1_2[xor2 >> 0x10 & 0xff] ^ g_AES_1024_1_1[xor0 >> 8 & 0xff] ^ + g_AES_1024_1_3[xor1 >> 0x18] ^ g_AES_1024_1_0[xor3 & 0xff] ^ exp1_p10[5]; + + exp1_p10 = exp1_p10 + 8; + roundIt = roundIt + 2; + } while (roundIt != rounds); + } + + *key = g_AES_1024_1_0[step1_2 >> 0x10 & 0xff] & 0xff0000 ^ + g_AES_1024_1_3[step1_1 >> 8 & 0xff] & 0xff00 ^ + g_AES_1024_1_1[step1_3 >> 0x18] & 0xff000000 ^ + (u32)*(u8 *)(g_AES_1024_1_2 + (step1_0 & 0xff)) ^ exp1[rounds * 4]; + key[1] = g_AES_1024_1_0[step1_3 >> 0x10 & 0xff] & 0xff0000 ^ + g_AES_1024_1_3[step1_2 >> 8 & 0xff] & 0xff00 ^ + g_AES_1024_1_1[step1_0 >> 0x18] & 0xff000000 ^ + (u32)*(u8 *)(g_AES_1024_1_2 + (step1_1 & 0xff)) ^ exp1[rounds * 4 + 1]; + key[2] = g_AES_1024_1_0[step1_0 >> 0x10 & 0xff] & 0xff0000 ^ + g_AES_1024_1_3[step1_3 >> 8 & 0xff] & 0xff00 ^ + g_AES_1024_1_1[step1_1 >> 0x18] & 0xff000000 ^ + (u32)*(u8 *)(g_AES_1024_1_2 + (step1_2 & 0xff)) ^ exp1[rounds * 4 + 2]; + key[3] = g_AES_1024_1_0[step1_1 >> 0x10 & 0xff] & 0xff0000 ^ + g_AES_1024_1_3[step1_0 >> 8 & 0xff] & 0xff00 ^ + g_AES_1024_1_1[step1_2 >> 0x18] & 0xff000000 ^ + (u32)*(u8 *)(g_AES_1024_1_2 + (step1_3 & 0xff)) ^ exp1[rounds * 4 + 3]; + } + + void Decrypt(void* data, const int dataSize, const int dataOffsetFromStart) + { + decltype(key2) key2PlusOffset; + Key2AddOffset(key2PlusOffset, dataOffsetFromStart); + + u32 block[4]; + memmove(block, key2PlusOffset, sizeof(block)); + STATIC_ASSERT(sizeof(block) == sizeof(key2PlusOffset)); + + ComputeXorBlock(block); + } }; +struct PakHeader +{ + u32 magic; + u16 minorVersion; + u16 majorVersion; + + u8 _unk[8]; + + i32 subHeaderSize; + i32 destSizeRelated1; + i32 destSizeRelated2; + u16 encryptionRelated1; + u16 encryptionRelated2; + + i32 _unk2; +}; + +STATIC_ASSERT(sizeof(PakHeader) == 36); + +void PrintUsage() +{ + LOG("Usage: pak \"inputfile\""); +} + int main(int argc, char** argv) { LogInit("pak.log"); LOG(".: Pak Unpacker :."); - CryptCtx ctx; + if(argc == 2) { + const char* inputPath = argv[1]; + + // open and read input file + i32 fileSize; + u8* fileData = fileOpenAndReadAll(inputPath, &fileSize); + if(!fileData) { + LOG("ERROR: could not open file '%s'", inputPath); + return 1; + } + + ConstBuffer fileBuff(fileData, fileSize); + PakHeader& header = fileBuff.Read(); + + LOG("magic='%.4s' version=%d.%d", (char*)&header.magic, header.majorVersion, header.minorVersion); - const u8 key[16] = { - 0xa0, 0x1d, 0x3d, 0x99, - 0x3b, 0x82, 0x0f, 0x1e, - 0x13, 0x0a, 0x89, 0x55, - 0x8d, 0xc0, 0xde, 0x22 - }; + // decrypt + CryptCtx ctx; - ctx.keyExpand(key); + const u8 key1[16] = { + 0xa0, 0x1d, 0x3d, 0x99, + 0x3b, 0x82, 0x0f, 0x1e, + 0x13, 0x0a, 0x89, 0x55, + 0x8d, 0xc0, 0xde, 0x22 + }; + + const u8 key2[16] = { + 0x49, 0x59, 0x63, 0x55, + 0xfd, 0x61, 0x71, 0x01, + 0x00, 0xf3, 0xb9, 0xde, + 0xb6, 0x6f, 0xb2, 0xa5, + }; + + ctx.Init(key1, key2); + ctx.Decrypt(header._unk, 28, 0); + + LOG("Done."); + return 0; + } - return 0; + PrintUsage(); + return 1; } From 95a6b5687fa47b0dc1abba7ac485b325a5a9ada3 Mon Sep 17 00:00:00 2001 From: LordSk Date: Wed, 15 Jul 2020 23:18:58 +0200 Subject: [PATCH 04/14] Decryption part 1 --- Pak/src/pak_main.cpp | 65 +++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 61 insertions(+), 4 deletions(-) diff --git a/Pak/src/pak_main.cpp b/Pak/src/pak_main.cpp index 6748c49..75df737 100644 --- a/Pak/src/pak_main.cpp +++ b/Pak/src/pak_main.cpp @@ -216,11 +216,68 @@ struct CryptCtx decltype(key2) key2PlusOffset; Key2AddOffset(key2PlusOffset, dataOffsetFromStart); - u32 block[4]; - memmove(block, key2PlusOffset, sizeof(block)); - STATIC_ASSERT(sizeof(block) == sizeof(key2PlusOffset)); + u32* data4 = (u32*)data; + i32 processedSize = dataSize; + if(dataSize >= 16) { + const int count16 = dataSize/16; + + for(int i = 0; i < count16; i++) { + u32 block[4]; + memmove(block, key2PlusOffset, sizeof(block)); + STATIC_ASSERT(sizeof(block) == sizeof(key2PlusOffset)); + ComputeXorBlock(block); + + data4[0] ^= block[0]; + data4[1] ^= block[1]; + data4[2] ^= block[2]; + data4[3] ^= block[3]; + data4 += 4; + + // weird key alteration + u8* keyPtr = key2PlusOffset + 15; + *keyPtr += 1; + u8 v = *keyPtr; + i32 j = 0; + while(v == 0) { + j++; + keyPtr--; + if(j == 8) { + key2PlusOffset[8] = 0; + key2PlusOffset[12] = 0; + } + *keyPtr += 1; + v = *keyPtr; + } + } + + processedSize -= count16 * 16; + } + + if(processedSize > 0) { + u32 block[4]; + memmove(block, key2PlusOffset, sizeof(block)); + STATIC_ASSERT(sizeof(block) == sizeof(key2PlusOffset)); + ComputeXorBlock(block); + + u32* pBlock = block; + if(processedSize >= 4) { + const int count4 = processedSize/4; - ComputeXorBlock(block); + for(int i = 0; i < count4; i++) { + data4[0] ^= pBlock[0]; + data4++; + pBlock++; + } + + processedSize -= count4 * 4; + } + if(processedSize > 0) { + u32 hold = 0; + memmove(&hold, data4, processedSize); + hold ^= pBlock[0]; + memmove(data4, &data4, processedSize); + } + } } }; From a09d3d1cce38c3c1ce921db46ad285dde3796b3f Mon Sep 17 00:00:00 2001 From: LordSk Date: Sun, 19 Jul 2020 01:44:55 +0200 Subject: [PATCH 05/14] Decrypt sub header and data (seemingly) --- Pak/src/pak_main.cpp | 136 ++++++++++++++++++++++++++++++++++++------- 1 file changed, 116 insertions(+), 20 deletions(-) diff --git a/Pak/src/pak_main.cpp b/Pak/src/pak_main.cpp index 75df737..2688da8 100644 --- a/Pak/src/pak_main.cpp +++ b/Pak/src/pak_main.cpp @@ -1,5 +1,8 @@ #include +#error TODO: +// - break on 0x1165c2, find out how the data is decompressed (decryption seems fine) + const u8 g_AES_256_0[256] = { 0x63, 0x7c, 0x77, 0x7b, 0xf2, 0x6b, 0x6f, 0xc5, 0x30, 0x01, 0x67, 0x2b, 0xfe, 0xd7, 0xab, 0x76, 0xca, 0x82, 0xc9, 0x7d, 0xfa, 0x59, 0x47, 0xf0, 0xad, 0xd4, 0xa2, 0xaf, 0x9c, 0xa4, 0x72, 0xc0, @@ -211,13 +214,73 @@ struct CryptCtx (u32)*(u8 *)(g_AES_1024_1_2 + (step1_3 & 0xff)) ^ exp1[rounds * 4 + 3]; } + void KeyAlteration(u8* key) + { + u8* p = key + 0xf; + *p += 1; + i32 i = 0; + if(*p == 0) { + while(true) { + i = i + 1; + p = p + -1; + if(i == 8) break; + *p = *p + 1; + if(*p != 0) { + return; + } + } + + *(u32 *)(key + 8) = 0; + *(u32 *)(key + 0xc) = 0; + } + } + void Decrypt(void* data, const int dataSize, const int dataOffsetFromStart) { decltype(key2) key2PlusOffset; - Key2AddOffset(key2PlusOffset, dataOffsetFromStart); + Key2AddOffset(key2PlusOffset, dataOffsetFromStart >> 4); u32* data4 = (u32*)data; i32 processedSize = dataSize; + + if(dataOffsetFromStart > 0) { + u32 offsetAndF = dataOffsetFromStart & 0xf; + i32 sizePlusOffsetAndF = (offsetAndF - 1) + processedSize; + if(sizePlusOffsetAndF > 0xf) { + sizePlusOffsetAndF = 0xf; + } + + u32 block[4]; + memmove(block, key2PlusOffset, sizeof(block)); + STATIC_ASSERT(sizeof(block) == sizeof(key2PlusOffset)); + ComputeXorBlock(block); + + i32 var1 = (sizePlusOffsetAndF - offsetAndF) + 1; + if(offsetAndF != 0 && offsetAndF <= sizePlusOffsetAndF) { + i32 it = offsetAndF; + + if(var1 > 0x1f) { + u8* pCur = (u8*)data; + ASSERT_MSG(0, "implement me"); + } + if(it <= sizePlusOffsetAndF) { + u8* pCur = (u8*)data + (it - offsetAndF); + do { + *pCur ^= *(((u8*)block) + it); + it++; + pCur++; + } while (it <= sizePlusOffsetAndF); + } + + processedSize -= var1; + data4 = (u32*)((u8*)data + var1); + } + + if(offsetAndF != 0) { + KeyAlteration(key2PlusOffset); + } + } + if(dataSize >= 16) { const int count16 = dataSize/16; @@ -233,21 +296,7 @@ struct CryptCtx data4[3] ^= block[3]; data4 += 4; - // weird key alteration - u8* keyPtr = key2PlusOffset + 15; - *keyPtr += 1; - u8 v = *keyPtr; - i32 j = 0; - while(v == 0) { - j++; - keyPtr--; - if(j == 8) { - key2PlusOffset[8] = 0; - key2PlusOffset[12] = 0; - } - *keyPtr += 1; - v = *keyPtr; - } + KeyAlteration(key2PlusOffset); } processedSize -= count16 * 16; @@ -275,7 +324,7 @@ struct CryptCtx u32 hold = 0; memmove(&hold, data4, processedSize); hold ^= pBlock[0]; - memmove(data4, &data4, processedSize); + memmove(data4, &hold, processedSize); } } } @@ -287,7 +336,8 @@ struct PakHeader u16 minorVersion; u16 majorVersion; - u8 _unk[8]; + i32 _unk1; + i32 _unk2; i32 subHeaderSize; i32 destSizeRelated1; @@ -295,11 +345,25 @@ struct PakHeader u16 encryptionRelated1; u16 encryptionRelated2; - i32 _unk2; + i32 _unk3; }; STATIC_ASSERT(sizeof(PakHeader) == 36); +PUSH_PACKED +struct SubHeader +{ + i32 i1; + i32 dataOffset; + u8 unk[16]; + u16 u1; + u16 u2; + wchar_t name[1]; +}; +POP_PACKED + +STATIC_ASSERT(sizeof(SubHeader)-2 == 28); + void PrintUsage() { LOG("Usage: pak \"inputfile\""); @@ -344,7 +408,39 @@ int main(int argc, char** argv) }; ctx.Init(key1, key2); - ctx.Decrypt(header._unk, 28, 0); + ctx.Decrypt(&header._unk1, 28, 0); + + LOG("header = {"); + LOG(" subHeaderSize=%d", header.subHeaderSize); + LOG(" destSizeRelated1=%d", header.destSizeRelated1); + LOG(" destSizeRelated2=%d", header.destSizeRelated2); + LOG(" encryptionRelated1=%d", header.encryptionRelated1); + LOG(" encryptionRelated2=%d", header.encryptionRelated2); + LOG("}"); + + u8* subHeaderData = fileBuff.ReadRaw(header.subHeaderSize); + ctx.Decrypt(subHeaderData, header.subHeaderSize, 28); + + const SubHeader& subHeader = *(SubHeader*)subHeaderData; + LOG("subHeader = {"); + LOG(" i1=%d", subHeader.i1); + LOG(" dataOffset=%d", subHeader.dataOffset); + LOG_NNL(" unk=[ "); + for(int i = 0; i < 16; i++) { + LOG_NNL("%x,", subHeader.unk[i]); + } + LOG("]"); + LOG(" u1=%d", subHeader.u1); + LOG(" u2=%d", subHeader.u2); + LOG(" name=%ws", subHeader.name); + LOG("}"); + + fileBuff = ConstBuffer(fileData, fileSize); + fileBuff.ReadRaw(subHeader.dataOffset); + + const i32 dataSize = fileSize - subHeader.dataOffset; + u8* data = fileBuff.ReadRaw(dataSize); + ctx.Decrypt(data, dataSize, 0); LOG("Done."); return 0; From 19ff2acbd031fc2049682ef32e0fa86be81377a0 Mon Sep 17 00:00:00 2001 From: LordSk Date: Sat, 25 Jul 2020 13:38:12 +0200 Subject: [PATCH 06/14] Decode FileList.xml with brotli --- Pak/config.lua | 6 +- Pak/genie.lua | 10 +++ Pak/scripts/FileList.xml.pak_decrypted | Bin 0 -> 13283 bytes Pak/scripts/brotli_test.py | 12 ++++ Pak/src/pak_main.cpp | 88 +++++++++++++++++++++---- 5 files changed, 103 insertions(+), 13 deletions(-) create mode 100644 Pak/scripts/FileList.xml.pak_decrypted create mode 100644 Pak/scripts/brotli_test.py diff --git a/Pak/config.lua b/Pak/config.lua index a28a67d..64173d4 100644 --- a/Pak/config.lua +++ b/Pak/config.lua @@ -1,2 +1,6 @@ OpenSSL_include_x64 = "C:/Prog/Libs/openssl-1.0.2/include" -OpenSSL_libdir_x64 = "C:/Prog/Libs/openssl-1.0.2/lib/Win32/static/Release" \ No newline at end of file +OpenSSL_libdir_x64 = "C:/Prog/Libs/openssl-1.0.2/lib/Win32/static/Release" +zlib_include = "C:/Prog/Libs/zlib-1.2.11" +zlib_libdir_x64 = "C:/Prog/Libs/zlib-1.2.11" +brotli_include = "C:/Prog/Libs/vcpkg/installed/x64-windows/include" +brotli_libdir_x64 = "C:/Prog/Libs/vcpkg/installed/x64-windows/lib" \ No newline at end of file diff --git a/Pak/genie.lua b/Pak/genie.lua index c9309e5..fe2f6c7 100644 --- a/Pak/genie.lua +++ b/Pak/genie.lua @@ -91,6 +91,16 @@ project "pak" includedirs { "src", + brotli_include + } + + libdirs { + brotli_libdir_x64 + } + + links { + "brotlidec", + "shlwapi" } files { diff --git a/Pak/scripts/FileList.xml.pak_decrypted b/Pak/scripts/FileList.xml.pak_decrypted new file mode 100644 index 0000000000000000000000000000000000000000..75e59a839d99c49e545cd02807a1e3b9ae5b0a5e GIT binary patch literal 13283 zcmZX*b97x@yFMJ->JA$lJK3?_xKU%(W7ZjxX6ocDdscgFYky2l!G zjd{;Y_gsoy={vno}uFla&-wpH7*i_XT}`NJOX0t=ImukSkC6`3_SI z$Zy@7c$!})x|zVE=Uc=ctXQ~BM7RxK$eA?)el5z2#@$!C(49?%@jHh_wm!^LF0M1N zZ6uffY8r5iUVrWe-Q62kc}?IDitF?!^e`zsHJf}ix4Cq7W$xe7=?mVBSbx@{ z^t0Tv-g)^^0IWxXVKIuwuzm98j5i3FDN_3coe7NkX1`R9Z;~cBKXIlZ;R<3>#FCsm z71N!*1#D$@Xjscyd^M$#dQ59|6(^r!@6KnvCR9hN-s5YLNI&j8KgoX;Zpy5PQC-!U z${m)jBn}nPzVbq4o7U=~2Ib#kl_0oVED^hl*n{cXpF8Lamfk-pthEADpf2&S|di;!}AeHD)M_K|wT zcpCZNuWcxv#&aYczOo?PlC+B76-#ZMH%_bzM{+hlwX$|lauLc_sD&8=NCz&u3{|6D z2S(>_MKVt3MX-d>2j_p)pG@9JQu?FK-J#t?RvUDTbgd&F%*`ii1;G}$yfeVbLwOZ? z@cw_crtEO@0w&t5riVhg|L1r0Qx(pVQ&uf_vJdY_+UrAZ}k-+jr@vvV;+wdcCY-@tflR^JWr{l zMQ#@8vf|y5=eR@kENJQ@wz-+#r!V;bek|u;1h+)?`JY!C5+ekc<@8xOb`C)1r@#Q; zYZI<6b+|JVZNXrQbvxz9b5nrXxIgy@a&_6Zn9tFGJr}B-Z$EJfya5=fsMah>K&{(136g+P*YA$G(dT@{*gvR9FvsLwitbAg z4m=m&*encO#2vp_hE&Xe%+dhA-$iK6j_qQeXvi)U}TSP6gtomlG z>5KD?QLH}Sm8wt}cPz%5uC3X*?;RY>p_Q>%l40G_2ls8RAxPxeRD@P8L&hku*H8D{ z2v?gsQ%@=9O}X!4o?hX+GrzDkWJPCbrp@*N#5d0Wx=n&CQEW^W)cLYZggSDw6vH%q z*7d7TBW_xQmD4a8S2MUW<~7b&wCF%D+B>wYQtxv?-py%<*QH6v<%ZJH zz4*^CIIImfUo(KbJz#-mhr~Gb8?J#{<4@zaDUoC3NKw12>T&~Xv}uWYclr~V+_cq| zbNOdPvpJ4zawWYF5yqareAR`Ee3yY4z9IrIQ7BsjzoI(Y7enn6 zE{WRrDO7bQxC!5`J*8DqJEmCDv%$w{8gpxPVw@>Zev7JoJ+*Jvv)OX@Sn}+kAN<${ zaf>RI)#$QJq9wAV-vJ?IbX7=BfpzXQkdMzcHlaK!a2-9c?k;&Nz72Ro;i6bx-Hvg= zqfUp(&zB$rb-b^xJU+%atjf{v;}*l|gpGxUPzDq@YgDrDTw&xom@w4EmdRJXV1Dr$ z6$>tg%_~GTC0Yj3V_b5UXsx|Km7u3Q-?n%tcygaKcT0ir9p1QR!D=E(K#HLJdVTJ5 z62HBnq#Sv+v1CV3Y=)NcHPbq+P=dASadNn9^Lv{Byn{IWn^(>o>x^U~O&Cbx)=pj{ zcI^NI%rq*^6~cL3j&TGRy#wk%b49PpBFYff&QRqYNruhj2lc4B@mq|}euQfCvtahV zc#~gNn1>(WTZq{b8i%cR>Uj7_^`*WV@<7KF^LVDf99t(6{5vcdpsY#5nxlA?x7ra- zOryX+9NGpLwZI|xSYuPqNcD0xk*Uql^Lu1tqNOywXBH~(jiV(zFEVindC-?l6k2%! z1CeJh;C45yQOzF5^zQm5t$84_$dZ-$)KnvbclX;Ze$N2bCX+g3`kdd6AS6-3Z?g-uBuhZ4BjX{{L#gOCYxSAR$H)-%+5p$@qV#6 z!LPsgssebr5Nm=?fpHf!y@(K!US-m0nm0V7tY2Pm?+F?Vsj(pAgo+5l@N^PA)~=NF4Ax zoN4Zdw)TcKDkGoySwoK`laWUCRDI#fk}`Tk^5-*{ULlNSlR6+jp(5w-tW(rn3aQ?B zL+^%G;_~Z;k(K?s;lZnmF_xR_1$+IG9gcDbx0rBOhpf~NN%7?Kw!1k2{Q!X%z*L{K zNVeit}s0! zH>LK>2vjD@YsuAl0XeqCqobLIeeJe4{+>tJ^z>SRC?4WfC|2C87Bv;wqq2a!e#C)7 zzFKXMkS5SSREfN3(GX{yIP}9BWe-Rr#N|i(U6Q-{*ETrx zGd(C{)=2c#03=V8?Z|*tAFX>_A3lt@JoP~h1t{J|SJlpCQ*ln>VEj4&_7ld2vcP$O_x@|Zs04+>F&OKj2)0$y@V_Tffm@)J}_OuK4R zwS@6!r^WBzy3w56r;rP(4d52mu#YEqz)ZS`437RtTw6o_a~uXU?9E4-_iwOo|BRLy z#52?)<689rRc5pwb-sd`UH=@@FlRZbCGJn{=uPmSbjoXopCELQ-S@W(>3wmOPWS}# z?(D$inxvE*a?hXTtoIRn|5QT+t|L zss)QxlJ)srZfPmUq;02glr=p79gEjxO*Ys)qU$J0Wrd6#O>aUf_NfymFTULBosiJF zV?*wFki%zeOu9{I=w2V!o^)$kGTXc!CJ=U*64K8`QtU z)3k8YSjjHB{hnoZ=85$wsWgq&F4UMhIm_s7Yx& zv}NSq3)lTd2c{kp5RE!lQbLX%Z-{DrG*)3UsO4C~!ir~PR=8=fHq_Bdq&zHU;v zZ>xf30ZPY*Iu@gLu(%=!#r;HXeuJZW-q zn3FD4z4Uq~(8#H<4V#-~!?455e<<8TYzF}B4btqhWCl{9dDhLpIfqaX_>pZ8{7X?V zE6s6Z{b|>IV>Hx#lt_l_*uifnLq0k`h0WWy1YZDZelMoXwKhT2Gzi%WR}qEwf_Pep zbfK(Q#c)620~t7bnR^69A=@l*Ka2i2Y}u$63v&|)sq?KV7ihW5DOLnTjUFPhTn?wMQ&_n1rK~C!eZ!WPnp9=%Sk=M- zYwO1&z!8T3p`#CxgL1?kdy=Hl|J^QMBJOVs0Kk%UsIlqU)p_T>`s9AT(@UV>rT^nO zzDOE5^>e9AqWMY15$BfxsB{6!hySWu(;}*m+~P6WhfXuQ<ka4KBjMrS#EZsDWxSZpwfHdbWfNR)CJ( zaAhU;iQ%QGT11T}-NQP%GA8Ngh-?85S^f$P5$t+#{Y(TAtnwlKRG~zfi}z7)r( z*;7Xp>93Jr0@y~YG=Fcpn#%i6{k$NGHRFN;sCnstI}W(9KQ`d4yzU1t^53pM)|F+U z|F1%9FB^7_n5HhO!<`}wlm!fxw<3NhlT+V0xL+NQlbW9Tl>Uv`&SlUk_q`B^X@T!9 zC?)uIkx5G&%Rxzb??m$=X?+1*xxcsSB;@duytPk5yyJgL-C(9W{h(_vpF=gloMDl; zm>00*Xh_qt)^XPePR4+4Xl`G8bp90f&063l=6q~dLdS<~r}x}MAT8acdlagDODywLMQS!_a7|&#s8vl2eb9k?wx|Anu0tJ?0>*GH-~Zm zMJ-8MED}?T(S4=Fc(zcFjqpzgon=#C7T^0Gv08>e|K`@rRKqs|pcJm96Q(bVu$1~whN z3Pxi2BO&hbA`6sr1Z5*7J!(KW=C>czivxPsjT;CCd*Ea=1lr-e#~T{mM%AJZT4^Vj z%*KdtYlRpCX4eu?BcB_f*XGHFaEJ?@(Lgla9XzYKWIveTkTP~Rzy~u)5B7WTr#e#j zDK^pAuN|Tl0jzW_ahhe*FB_Q_cdf6$p`;*MA;cj)D;;ReH%Cnh zQx`8h=3b;pqf+vYqjiNWBWIgABYjqs+zg}`9)b=nHuk-5;Glx8j1oy67aq=p)sXyv zXr312lTDt@HjA|cZ{~{UTv9Q*!CtiR16;R{3I&CIT-_ldxPW9FW@XI)vMnGl0^i1k z9e_?z%TZn!RajfaBqJ92M(1~IOp38SR*|>oehk_rJU0uxR8JVZiB1JMqAe?3*{|g> zMu?UEe>Fy%Z0t!?6f*>ekcY$n`2H>%Vpx4@^|N0zMCNHh7Z;L_1j-#!3ZI+>EDuRg z?JqwcxgMA^Ln^v5p|dlJeNU`~dE3-0GgxecBF0&UreTJ};8Dk`7K}?R8QqNz^4srY z&heKIt~(`++h7>Uq5xzaihE~FjN>L9exCDfjMw!q%G>fp$&Iyo!F7Kp4fEe3kQ~KL z5?eJ`!&_?b+4x`7`^$^s`K^W3jg=EYxSk6#D zeG)>rZ)s@z74?{-@qYe;oW4Ri3km+|q&Kchdi~1j(W7M||zX64pEP8VpXDLHlJ% z-E8)1cobScKtH}B@(P91u7D6h6IZf2Z!2G(77TN)(HBO;6gKeNuEyyEm$6ck7D@H>0x-(r^d;GI)x&mT8TtCVFy~o>idNKqa*FcTUh>5p z%}>EJL*7#krzeZ_Mk-y=ofs15pDi>gF8|Gd+CM;hSUy}(iqd5d#_$FMrsu&8lzwEx zKEQOt8kOhDfxw#&tmVBKzjoFRCI%Z3o!`dvm1Dsc`iZnka@O*F+FXcxEivw9ob!+6 zY>`=U;nIRwwn^r2deVkb__%3$j2_X0XJUCebObx@Ns#nKs@)7FjRJMz%-c!VbhMU! z%8{Al{Ms17UYfY?k>M7Xe}O5EC%sj^kk;cHYUw^|?_Nlmx#wwF$KNni+@j884Hx9f zr}NXfb-|pT+#Yu4NgPq)C}|iyrjce#D~H1iUt6)%nv`|${G}yCzlvMnTeT-PDDJ0~ z^Vmx!F|rTxO^V34UyeQ-6vr)3$D5Y5PiT^XE3o1E zk1+v^HuHsT0MsoyqRmQHDp@I}DBrv66h8cNjNS!mZYqe{zf0kZeBFfHF4xz7wKUb7 zJA>7%C?RU9&*-5@)rOY7?^d$B>DLz!CiI>7aEvk|yAdTdrfSUlp}{^7P%h$TRe_SO z42U9YrZ1V10av@}RWdhkjA29n7du$Ki2|bwzu$h?R~I2&UnTg$t9KNU)&mR~eyT=S zj>$drq9gYB7`P<<^&wr+rZ+x{+bd@w@SY%bJ9n#KCuaZ%QJXCFY5|N{1Gvmuw>fnM zy-EZ(0sYh|{bJ~8cWTyClXw}`fBf(E?)ztYJ% z^zWf`*D9gLgWES+jQ_{PP77?1Fa1zxqZlm#Yj{bO`veiz-WCY9m!V=f!X<_0394rq zcbN4B{lOBt%|ab{58Aqs$^3p{8zLhgE;djKM9kPOALcS5*zl*HQ2nrY#WD+QEf9S- z*zb-rWfbg_39~QNc6M#_okO;U>De(X>U#_%DLN{Z0T(#tSkfc*xl5jVs*))f(~trP z2yi_ELhtd@(YQ$ewur>Xf)A<7f>`w1$m|03EBRqGoE_b*mso6z5Axi%PJ;tq*CjdS z0xw({DI3;aQ-zS86GHsu7~nBr@Bm->y(SEnER*|jV_losZjn8``!3~eM3+_h7fM60r zN@-2#SfZ_l02=Y437Xm5XX-B=M3NxvqCY+1O6f!` z%8h<@=L%GO&s{+Ls;v?A9JCX|!=}5AJ)toQ!eWm zMyh2zC)x4N9>x(++>@&1o|`}jqoS4u)kiNQiP}FAv%acN83evqd6H|{E#Q9~eYV)` z+%r?$P{7g}`BP}b7MOxbtpkFbeQ&!aS&ZA9%G-lFt3hGvpRp9kv9sq$+Q`&*O^VG_ z5J$4{?m|GGvu2@dZT)*f>DvI+d$(}>Up1L?Vwzs7?^clY)vnG04PwVC zAo2x2fEx^M0B4pP>^JbsJ8=8YGbVpaqu#wKU%WDr1XTV18!8db;u9^k-O~uA4-keO zX5zT%@FapVW(4rZ^7?Mz2|63Y0#jD+^N(OJ7lWbC0viky6CRFQ$Iui*sv{`#{jEmY z7Mb3;@B`P@e4ClS32Eqr;A>DP{*J>H{bSJvEI_ar86sBtN#dl6+ougx7>#cP6OT8V z&^|yEd)?**%rSI|L^ew#KKNy>Z$~3?-XLZQcp_LueCLa>oEQ;QI+OVHw>csqd0fCf z))dCwK7witF|H*Q6$jVRdzd9HT`Su#4b3v$$QL~zj6#=@k`jSjBn4uTBO)dy_^z+* zqCw#UOJLaHR+ODegaIbx#KJ>(+XV5B0M4!}1uLq3S_Pn}B$DK6sWD(#uxmfIFwBwN;l4{i{T<$PatE%%;h(Wp;7v|B zZ;f*}bnc^kuS7>`-z46W!?I7MSyy%KH2mN7`!$N31%N)I}}eTp21dM;E-_>h7!Y1q$%w91@R&8!p0b!NuKV7B2!9Pr(beze?U=m z^^Zk8c$p=d*%@#njSZzS4H9>K!Z9EBf+;B4>=AAHvBYP)?n?9Lgl=|$=Y2Pa^w%YB z*epSyrP5>Nw=PKa2xjJKhF|j!-JsFPhaMCQ)-W+SXS}_L$$5Tg=GiNBHhs(7ItV{PO8{Yn_^Jm1le_65zn0N(vET+T%ouK~UuMK@To zy$i8HxhwLz7_W;;K98$gnDcD&dfVA_7j5m z;xEQOp6w0axeeDvZyFHa(cP~85a|LJ-*CnprCz=b_a=TVM^)lm;?g2gZ4!D5wr}dU zghOlfff&AE`y+v_+7%k0A=7HmP5iF($=M9;^i>maEEn=B*l2EmN6>vX4!l!oKYBBV9p^vHv!5cu z?R@wndlQMm0Kf(}g*Gy6vvP#q2;_mTpr4c(e^%g=T3i?LvG5`e{cC_(6EJ$5PdK3L)R15!9KdB!+ey7b=i-y z#x%6!rnT9MA9PcYp22qv>b2!mC8N4gX?&vChv0p>J~9u8akE8jE+o#2B@}_D(?2^ zI>WbxJR!N6)Vxns?x0?1+#w^DXhJTDRp&Sj*~M+?6_7vYWG!l=p1Q?w*Vt%kp%c_<=BRr_c_-RN-vq2edI(gbO|1Q8#2b2poGDQu7(FyLNN3w!`}O#-}e2A}PO9 zn4x2~8i`KdIIn|t$eY2ydtZj_5HM>>=NMT!QS#IE><-Q41u3kqrS^lL+#&weul7Mw zE!Iz7OBZ}`!09v(5vq?QDpI&t;Ju_=6!@+lP>U0NhE2DA({;2GAS$y{GYvr8uZGlYGxrV=3d=E1v=_9DZqk8RHDU{w14>H!c$okJV zgy%l1PhnR7YhmxCLUaFJ-*l3bKN12ncm~aL_RW@+E4u+yKH5yq$OF2E#R3jUj%Cg* zj#ZeWA&e)QAdzH3+B{U=Cd(@1;Y-`i@eUl1mg8J__ddzw05I{@vC7D+eIPeASyV9r zwj%lj+6xMDB#0W9PbirEP>(F-pZ3SATrl~_z};c*)x zV+PME;uM0zEXsgvFCs%qY$A?Hh=_>TLr4eDG#B?(^B`l9*iC|P(9KZ3s?=9ujU7S# z^qUG1VZg;Mnv0L+rv1!D2o{yb_-J4#qK{?BeZ}a$0N&@>qrI&PmvIbTlJ|aGZPO=s z+f3ur=ryaD$uiEo>!_Je^I+7!{w{}YI#{(5cm4Z{85^lv;LJD-Iapzy7L_rk(b-d6 z`j|bBDTN@ti7Xf#Jm%Zq=^p{S%W2qBOm=?Dk*D$|2b%PZ;N3`5@5ijfSv893srVp4pY9;X6gpbwC47CfSa}3>zd0iSQ z;g{OP-dW78^KtnRcc%BYDP8fNuNx^aIMgtqHjdvrJ!;R6pWx?XI?AMf+`7*pE({R+ zKD@9{6ZU-(bLpf;JX}?S?t7ymm-yMi6DB&r=@Wvb74s`3nG9(^SUwCozO)RdgRfH8 zd-sF1neDVIAvLd~nR1n1nQqd` zyG@@bvjFld$=WP%&%464C*#P=_4#s;eyD}@E7aTAFyjlqww#&krsR;jH>7M!$oSrM zou9c+)Y0NbEXIT&b|`$Y(iRzE*|-C;FOoN=#2s9?YD5>Pj_Hw~a`U&+fLiX-t{8$x zePKf=chC*mqTk3k!#U3^LdY@EJ=IPQc}u8bQU1wydNr(ZX03Bv57|V;f+W)aS_Kj; zuZw0hgf-jd^C^86T<&B=qTH2;OtD9wLtuImPmO58(PkxdV5AfAI3QgxSyJT-#}PGS zE}XGVFgRr58lrFhIHVJj$m3MgHImwABDotBENhX8C8sVrk!0!vLDI*^SCM%0LAHJv zKxIUp#kdzRQ@(Il=*Xq`1^&&d_y{+}BDBtfwk)&Q0FJgLV#TEtjZ9%w-pG6jt7JwJ zf2qFsc%wrefOFZLRAQ<&hVO`$N%#d-eY1C53y$=|zS)s4w=UnAROx%v$L+Y10d%5L z(#;!AK9Uqgn8md&-0~T~khdn1O)Co!&uTEVe^;cDb^9fIbmYA4S%S15w<}lrK|>yF zD`+9~Jo-1Ogb~EetZ?0D;^8~Bu!6zo@ilc^fzO%MqvcTc*txea7Y~_^1$hkt0u##F z>%(Dn31XjqH&<9sR`+r0iXzG7oVe3Mz7=j2zSijuZyO1Frt~vFBL`rpa;-Ub5?*w5 z#Mo1Px5MaNV_p6ltnf74gn$9{S3A~OvsXK7%&_A?Av^PLlil8N^u*y`WC#0GUe<7x z`_)r#pUGu}f6rUPg5|Jhy$~X(gvV-R3iULJuCngp3Y;C^7if#I=+DN+YdyM)y6OT1 zJzzjD78%bKK3`lBiqb3Tht0Mx6$Om8e&nG|zSUQr`Vp1{)Uc|Z_BA4FM3cqJcl)X- z#NXI|;*ms`&?tg_T}gUAu3yT;!$Go+IPzs4D7e)@v|3gwBZrhEqo9{opy}y_JQE#* zl)b@K&2sdjKOn@2k5AX>TbDE*w>>otJoQ?0dK!s(ebEc6p&szCP*j8!4{kWeEUd3v zQ>0V&vb5%NkT`vWwLyZxAm!-}4n!i3zmIJi=QjYDd>S|Oa*Ah5n==*xm^H7t z)H+x61~IG6`MR&)&j)N350y-@xSNfoX7Y`O>XWt%vTIH8L9X~iDf0sytjd?AgT5LY zB$A$C2aLoB*#Ep669fobuM25g3;1aWr{DThiyrn^5WvB z-<_7_h{;IDt6_~d(?0lG5aw`@yO!db_>U?FSldfv{wbk^q~dI$|Kfz@Qa}$WYG2h4 zgxNQam^}1kq+1wRHmCWE7qW>H;M_YvR)m7^g-?2H$r7c8u?4o_6w5)kXXC6@*0PS; z5|4Q*K6z?E_*bGJ?^I!BAv&$F2)tg3*<&0_iEJ z;F0BviG6PtnoM=h?HEOFegbX=o)il<#dwPg6f=g>uq@ za)lbX)BPqG5}~llJ|Z{rT@R2Xrl4-9A;q6f(U4|J5kDqzd$ZamC!NHkm}{)?NV`Kn z7r#H-8>4AXo-GL~fXG7)%7(O_28m}$ipiqg`a9&t)7_ckRgo*jucP}sP&`&*B2FeH zw9tC@uYU>ld@u(udjYX4{fTK_k7XRp&M0BQqReSl#2kU6_b?< z-_s;`p5Xj5uP%S}kB&A-Cd{pp3bU|J_D?EVB$2HG1MaM$!a^=EEIc3`tD{AUo_KAu z!0K6vJ;sl4>dhSG%h(9_kgTL@TeofJCj8%lxpiWQdD2ZUd2}r-yFQ>|hw+bL zhgOi;#jim>MA=bc_8cbV2Aet2%grgqz|rF?P@YqWVZ9+G#D=*=d9_8}B%R)A=e7b> zh~3SM4%AC0p>Lcci>l~~8iRfGCKh*+_?4;j|D-Gt~Is!SX!h7V5{D0Qkva91eU1|eg@%y%rOqY(=X%B8_&P8{^LSB)B(KAd(;MpJUU@=r zUg?o?=culQQWtBis9Tht&!(6XHlB04Wf;y?T(LPSD*DRwAY$bA4ztj6v9*461qCir za|GL#RYfm`8#S9gl3&Ja01af+{mgrTlAK~x!tZJbC2e1Q$?=jZu~^BK-AkcZ$(@9f zJ~hFkP0ggr`r z3`2B5UYVB0*VLiJ3eaD%3hEt#zB>o}#JAF+rX3vGyGA;z>YMEe!kHtGSa=Ld!qdN`q;!sx@&c-^VdQUC!=?&KxGs@?-xjZ`;NOzHX zTm4$Hqv+A$cAmbbR<^sA$4=;~SSpK%sb0bp^;e0Oeaq$IwykxiiO8ZuMC1gXI;G=$ zb{^{}gnsFDLdqdZ&>K0wI(SfChOcwco{-_8xcBuv*$xlO8{%Q`if`LBFDXoiCMG*^ zsx^>_9ilrkuNC9Pb`h4C>Hc^$;ON{8oeg(Reup(%mM4lQ_wi|-_?9eZNssIrl({^Q z4Pb&K*%1fpYW7b4E>g=?>EV^Lgr8QObInVF)^O5Ce4PFfLTab# zTjyTIRwKD%4@-G>S(IyNMspqMGk2x@&mSWLkcN5q}`FVt&l%4mB8NLc}Rvg zN&+T4A@O6)>gQe;&6M~WR_HpExx&6ctU!RJi{*6ZBQVG5o|5gwBVtiAKLx>G{#J|% zJ&Sld`pomg$Ntg45^4`874-|9@@unoCi@kk14so%zfE%EUJrJ*9Z;`wLP~gt;}Ybj rvri^-t`5*Gn`o*rI+(TYH!1_(Cr(I~7q{2LAs505^71 literal 0 HcmV?d00001 diff --git a/Pak/scripts/brotli_test.py b/Pak/scripts/brotli_test.py new file mode 100644 index 0000000..0f88d20 --- /dev/null +++ b/Pak/scripts/brotli_test.py @@ -0,0 +1,12 @@ +# +import brotli + +f = open("FileList.xml.pak_decrypted", "rb") +data = f.read() +f.close() + +decompressed_data = brotli.decompress(data) + +f = open("FileList.xml", "wb") +f.write(decompressed_data) +f.close() \ No newline at end of file diff --git a/Pak/src/pak_main.cpp b/Pak/src/pak_main.cpp index 2688da8..d629d71 100644 --- a/Pak/src/pak_main.cpp +++ b/Pak/src/pak_main.cpp @@ -1,7 +1,7 @@ #include - -#error TODO: -// - break on 0x1165c2, find out how the data is decompressed (decryption seems fine) +#include +#include +#include const u8 g_AES_256_0[256] = { 0x63, 0x7c, 0x77, 0x7b, 0xf2, 0x6b, 0x6f, 0xc5, 0x30, 0x01, 0x67, 0x2b, 0xfe, 0xd7, 0xab, 0x76, @@ -355,7 +355,9 @@ struct SubHeader { i32 i1; i32 dataOffset; - u8 unk[16]; + u32 extractedSize; + u8 unk[8]; + i32 compressedSize; u16 u1; u16 u2; wchar_t name[1]; @@ -366,7 +368,39 @@ STATIC_ASSERT(sizeof(SubHeader)-2 == 28); void PrintUsage() { - LOG("Usage: pak \"inputfile\""); + LOG("Usage: pak \"inputfile\" \"outputDir\""); +} + +void PathGetFilename(const char* from, char* out) +{ + strcpy(out, from); + PathStripPathA(out); +} + +void PathGetDirectory(const char* from, char* out) +{ + strcpy(out, from); + PathRemoveFileSpecA(out); +} + +bool FileSaveBuff(const wchar_t* path, const void* data, const i32 dataSize) +{ + HANDLE hFile = CreateFileW(path, GENERIC_WRITE, 0, NULL, CREATE_NEW, FILE_ATTRIBUTE_NORMAL, NULL); + if(hFile == INVALID_HANDLE_VALUE) { + LOG("ERROR(CreateFileW): %d", GetLastError()); + return false; + } + + DWORD dwBytesToWrite = dataSize; + BOOL bErrorFlag = WriteFile(hFile, data, dwBytesToWrite, &dwBytesToWrite, NULL); + + if(bErrorFlag == FALSE) { + LOG("ERROR(WriteFile): %d", GetLastError()); + return false; + } + + CloseHandle(hFile); + return true; } int main(int argc, char** argv) @@ -374,8 +408,9 @@ int main(int argc, char** argv) LogInit("pak.log"); LOG(".: Pak Unpacker :."); - if(argc == 2) { + if(argc == 3) { const char* inputPath = argv[1]; + const char* outputDir = argv[2]; // open and read input file i32 fileSize; @@ -423,24 +458,53 @@ int main(int argc, char** argv) const SubHeader& subHeader = *(SubHeader*)subHeaderData; LOG("subHeader = {"); - LOG(" i1=%d", subHeader.i1); + LOG(" i1=%#x", subHeader.i1); LOG(" dataOffset=%d", subHeader.dataOffset); + LOG(" extractedSize=%d", subHeader.extractedSize); LOG_NNL(" unk=[ "); - for(int i = 0; i < 16; i++) { + for(int i = 0; i < ARRAY_COUNT(subHeader.unk); i++) { LOG_NNL("%x,", subHeader.unk[i]); } LOG("]"); + LOG(" compressedSize=%d", subHeader.compressedSize); LOG(" u1=%d", subHeader.u1); LOG(" u2=%d", subHeader.u2); LOG(" name=%ws", subHeader.name); LOG("}"); + // reset file pointer fileBuff = ConstBuffer(fileData, fileSize); - fileBuff.ReadRaw(subHeader.dataOffset); + fileBuff.ReadRaw(subHeader.dataOffset); // skip offset + + u8* src = fileBuff.ReadRaw(subHeader.compressedSize); // read crypted data + ctx.Decrypt(src, subHeader.compressedSize, 0); + + ASSERT(subHeader.extractedSize < ((u32)2 * (1024*1024*1024))); // < 2GB + u8* dest = (u8*)malloc(subHeader.extractedSize); + + BrotliDecoderState* dec = BrotliDecoderCreateInstance(0, 0, 0); + + size_t decodedSize = subHeader.extractedSize; + BrotliDecoderResult bdr = BrotliDecoderDecompress(subHeader.compressedSize, src, &decodedSize, dest); + + if(bdr == BrotliDecoderResult::BROTLI_DECODER_RESULT_SUCCESS) { + wchar_t path[256] = {0}; + mbstowcs(path, outputDir, ARRAY_COUNT(path)); + + _mkdir(outputDir); + PathAppendW(path, subHeader.name); + + LOG("Writing '%ls'", path); + bool r = FileSaveBuff(path, dest, decodedSize); + if(!r) { + LOG("ERROR(FileSaveBuff): failed to save file '%ls'", path); + } + } + else { + LOG("ERROR(BrotliDecoderDecompress): could not decode input"); + } - const i32 dataSize = fileSize - subHeader.dataOffset; - u8* data = fileBuff.ReadRaw(dataSize); - ctx.Decrypt(data, dataSize, 0); + BrotliDecoderDestroyInstance(dec); LOG("Done."); return 0; From 5f7d7b60d40eb914fcfa572cca7bf9dd8ce4d833 Mon Sep 17 00:00:00 2001 From: LordSk Date: Sat, 25 Jul 2020 16:51:48 +0200 Subject: [PATCH 07/14] Setting up crypto XOR --- Pak/src/crypto_aes.cpp | 297 +++++++++++++++++++++++ Pak/src/crypto_aes.h | 18 ++ Pak/src/crypto_xor.cpp | 16 ++ Pak/src/crypto_xor.h | 16 ++ Pak/src/keys.h | 6 + Pak/src/pak_main.cpp | 535 ++++++++++------------------------------- 6 files changed, 480 insertions(+), 408 deletions(-) create mode 100644 Pak/src/crypto_aes.cpp create mode 100644 Pak/src/crypto_aes.h create mode 100644 Pak/src/crypto_xor.cpp create mode 100644 Pak/src/crypto_xor.h create mode 100644 Pak/src/keys.h diff --git a/Pak/src/crypto_aes.cpp b/Pak/src/crypto_aes.cpp new file mode 100644 index 0000000..6abeb79 --- /dev/null +++ b/Pak/src/crypto_aes.cpp @@ -0,0 +1,297 @@ +#include "crypto_aes.h" + +const u8 g_AES_256_0[256] = { + 0x63, 0x7c, 0x77, 0x7b, 0xf2, 0x6b, 0x6f, 0xc5, 0x30, 0x01, 0x67, 0x2b, 0xfe, 0xd7, 0xab, 0x76, + 0xca, 0x82, 0xc9, 0x7d, 0xfa, 0x59, 0x47, 0xf0, 0xad, 0xd4, 0xa2, 0xaf, 0x9c, 0xa4, 0x72, 0xc0, + 0xb7, 0xfd, 0x93, 0x26, 0x36, 0x3f, 0xf7, 0xcc, 0x34, 0xa5, 0xe5, 0xf1, 0x71, 0xd8, 0x31, 0x15, + 0x04, 0xc7, 0x23, 0xc3, 0x18, 0x96, 0x05, 0x9a, 0x07, 0x12, 0x80, 0xe2, 0xeb, 0x27, 0xb2, 0x75, + 0x09, 0x83, 0x2c, 0x1a, 0x1b, 0x6e, 0x5a, 0xa0, 0x52, 0x3b, 0xd6, 0xb3, 0x29, 0xe3, 0x2f, 0x84, + 0x53, 0xd1, 0x00, 0xed, 0x20, 0xfc, 0xb1, 0x5b, 0x6a, 0xcb, 0xbe, 0x39, 0x4a, 0x4c, 0x58, 0xcf, + 0xd0, 0xef, 0xaa, 0xfb, 0x43, 0x4d, 0x33, 0x85, 0x45, 0xf9, 0x02, 0x7f, 0x50, 0x3c, 0x9f, 0xa8, + 0x51, 0xa3, 0x40, 0x8f, 0x92, 0x9d, 0x38, 0xf5, 0xbc, 0xb6, 0xda, 0x21, 0x10, 0xff, 0xf3, 0xd2, + 0xcd, 0x0c, 0x13, 0xec, 0x5f, 0x97, 0x44, 0x17, 0xc4, 0xa7, 0x7e, 0x3d, 0x64, 0x5d, 0x19, 0x73, + 0x60, 0x81, 0x4f, 0xdc, 0x22, 0x2a, 0x90, 0x88, 0x46, 0xee, 0xb8, 0x14, 0xde, 0x5e, 0x0b, 0xdb, + 0xe0, 0x32, 0x3a, 0x0a, 0x49, 0x06, 0x24, 0x5c, 0xc2, 0xd3, 0xac, 0x62, 0x91, 0x95, 0xe4, 0x79, + 0xe7, 0xc8, 0x37, 0x6d, 0x8d, 0xd5, 0x4e, 0xa9, 0x6c, 0x56, 0xf4, 0xea, 0x65, 0x7a, 0xae, 0x08, + 0xba, 0x78, 0x25, 0x2e, 0x1c, 0xa6, 0xb4, 0xc6, 0xe8, 0xdd, 0x74, 0x1f, 0x4b, 0xbd, 0x8b, 0x8a, + 0x70, 0x3e, 0xb5, 0x66, 0x48, 0x03, 0xf6, 0x0e, 0x61, 0x35, 0x57, 0xb9, 0x86, 0xc1, 0x1d, 0x9e, + 0xe1, 0xf8, 0x98, 0x11, 0x69, 0xd9, 0x8e, 0x94, 0x9b, 0x1e, 0x87, 0xe9, 0xce, 0x55, 0x28, 0xdf, + 0x8c, 0xa1, 0x89, 0x0d, 0xbf, 0xe6, 0x42, 0x68, 0x41, 0x99, 0x2d, 0x0f, 0xb0, 0x54, 0xbb, 0x16, +}; + +const u8 g_AES_1024_0[1024] = { + 0x51, 0xf4, 0xa7, 0x50, 0x7e, 0x41, 0x65, 0x53, 0x1a, 0x17, 0xa4, 0xc3, 0x3a, 0x27, 0x5e, 0x96, 0x3b, 0xab, 0x6b, 0xcb, 0x1f, 0x9d, 0x45, 0xf1, 0xac, 0xfa, 0x58, 0xab, 0x4b, 0xe3, 0x03, 0x93, 0x20, 0x30, 0xfa, 0x55, 0xad, 0x76, 0x6d, 0xf6, 0x88, 0xcc, 0x76, 0x91, 0xf5, 0x02, 0x4c, 0x25, 0x4f, 0xe5, 0xd7, 0xfc, 0xc5, 0x2a, 0xcb, 0xd7, 0x26, 0x35, 0x44, 0x80, 0xb5, 0x62, 0xa3, 0x8f, 0xde, 0xb1, 0x5a, 0x49, 0x25, 0xba, 0x1b, 0x67, 0x45, 0xea, 0x0e, 0x98, 0x5d, 0xfe, 0xc0, 0xe1, 0xc3, 0x2f, 0x75, 0x02, 0x81, 0x4c, 0xf0, 0x12, 0x8d, 0x46, 0x97, 0xa3, 0x6b, 0xd3, 0xf9, 0xc6, 0x03, 0x8f, 0x5f, 0xe7, 0x15, 0x92, 0x9c, 0x95, 0xbf, 0x6d, 0x7a, 0xeb, 0x95, 0x52, 0x59, 0xda, 0xd4, 0xbe, 0x83, 0x2d, 0x58, 0x74, 0x21, 0xd3, 0x49, 0xe0, 0x69, 0x29, 0x8e, 0xc9, 0xc8, 0x44, 0x75, 0xc2, 0x89, 0x6a, 0xf4, 0x8e, 0x79, 0x78, 0x99, 0x58, 0x3e, 0x6b, 0x27, 0xb9, 0x71, 0xdd, 0xbe, 0xe1, 0x4f, 0xb6, 0xf0, 0x88, 0xad, 0x17, 0xc9, 0x20, 0xac, 0x66, 0x7d, 0xce, 0x3a, 0xb4, 0x63, 0xdf, 0x4a, 0x18, 0xe5, 0x1a, 0x31, 0x82, 0x97, 0x51, 0x33, 0x60, 0x62, 0x53, 0x7f, 0x45, 0xb1, 0x64, 0x77, 0xe0, 0xbb, 0x6b, 0xae, 0x84, 0xfe, 0x81, 0xa0, 0x1c, 0xf9, 0x08, 0x2b, 0x94, 0x70, 0x48, 0x68, 0x58, 0x8f, 0x45, 0xfd, 0x19, 0x94, 0xde, 0x6c, 0x87, 0x52, 0x7b, 0xf8, 0xb7, 0xab, 0x73, 0xd3, 0x23, 0x72, 0x4b, 0x02, 0xe2, 0xe3, 0x1f, 0x8f, 0x57, 0x66, 0x55, 0xab, 0x2a, 0xb2, 0xeb, 0x28, 0x07, 0x2f, 0xb5, 0xc2, 0x03, 0x86, 0xc5, 0x7b, 0x9a, 0xd3, 0x37, 0x08, 0xa5, 0x30, 0x28, 0x87, 0xf2, 0x23, 0xbf, 0xa5, 0xb2, 0x02, 0x03, 0x6a, 0xba, 0xed, 0x16, 0x82, 0x5c, 0x8a, 0xcf, 0x1c, 0x2b, 0xa7, 0x79, 0xb4, 0x92, 0xf3, 0x07, 0xf2, 0xf0, 0x4e, 0x69, 0xe2, 0xa1, 0x65, 0xda, 0xf4, 0xcd, 0x06, 0x05, 0xbe, 0xd5, 0xd1, 0x34, 0x62, 0x1f, 0xc4, 0xa6, 0xfe, 0x8a, 0x34, 0x2e, 0x53, 0x9d, 0xa2, 0xf3, 0x55, 0xa0, 0x05, 0x8a, 0xe1, 0x32, 0xa4, 0xf6, 0xeb, 0x75, 0x0b, 0x83, 0xec, 0x39, 0x40, 0x60, 0xef, 0xaa, 0x5e, 0x71, 0x9f, 0x06, 0xbd, 0x6e, 0x10, 0x51, 0x3e, 0x21, 0x8a, 0xf9, 0x96, 0xdd, 0x06, 0x3d, 0xdd, 0x3e, 0x05, 0xae, 0x4d, 0xe6, 0xbd, 0x46, 0x91, 0x54, 0x8d, 0xb5, 0x71, 0xc4, 0x5d, 0x05, 0x04, 0x06, 0xd4, 0x6f, 0x60, 0x50, 0x15, 0xff, 0x19, 0x98, 0xfb, 0x24, 0xd6, 0xbd, 0xe9, 0x97, 0x89, 0x40, 0x43, 0xcc, 0x67, 0xd9, 0x9e, 0x77, 0xb0, 0xe8, 0x42, 0xbd, 0x07, 0x89, 0x8b, 0x88, 0xe7, 0x19, 0x5b, 0x38, 0x79, 0xc8, 0xee, 0xdb, 0xa1, 0x7c, 0x0a, 0x47, 0x7c, 0x42, 0x0f, 0xe9, 0xf8, 0x84, 0x1e, 0xc9, 0x00, 0x00, 0x00, 0x00, 0x09, 0x80, 0x86, 0x83, 0x32, 0x2b, 0xed, 0x48, 0x1e, 0x11, 0x70, 0xac, 0x6c, 0x5a, 0x72, 0x4e, 0xfd, 0x0e, 0xff, 0xfb, 0x0f, 0x85, 0x38, 0x56, 0x3d, 0xae, 0xd5, 0x1e, 0x36, 0x2d, 0x39, 0x27, 0x0a, 0x0f, 0xd9, 0x64, 0x68, 0x5c, 0xa6, 0x21, 0x9b, 0x5b, 0x54, 0xd1, 0x24, 0x36, 0x2e, 0x3a, 0x0c, 0x0a, 0x67, 0xb1, 0x93, 0x57, 0xe7, 0x0f, 0xb4, 0xee, 0x96, 0xd2, 0x1b, 0x9b, 0x91, 0x9e, 0x80, 0xc0, 0xc5, 0x4f, 0x61, 0xdc, 0x20, 0xa2, 0x5a, 0x77, 0x4b, 0x69, 0x1c, 0x12, 0x1a, 0x16, 0xe2, 0x93, 0xba, 0x0a, 0xc0, 0xa0, 0x2a, 0xe5, 0x3c, 0x22, 0xe0, 0x43, 0x12, 0x1b, 0x17, 0x1d, 0x0e, 0x09, 0x0d, 0x0b, 0xf2, 0x8b, 0xc7, 0xad, 0x2d, 0xb6, 0xa8, 0xb9, 0x14, 0x1e, 0xa9, 0xc8, 0x57, 0xf1, 0x19, 0x85, 0xaf, 0x75, 0x07, 0x4c, 0xee, 0x99, 0xdd, 0xbb, 0xa3, 0x7f, 0x60, 0xfd, 0xf7, 0x01, 0x26, 0x9f, 0x5c, 0x72, 0xf5, 0xbc, 0x44, 0x66, 0x3b, 0xc5, 0x5b, 0xfb, 0x7e, 0x34, 0x8b, 0x43, 0x29, 0x76, 0xcb, 0x23, 0xc6, 0xdc, 0xb6, 0xed, 0xfc, 0x68, 0xb8, 0xe4, 0xf1, 0x63, 0xd7, 0x31, 0xdc, 0xca, 0x42, 0x63, 0x85, 0x10, 0x13, 0x97, 0x22, 0x40, 0x84, 0xc6, 0x11, 0x20, 0x85, 0x4a, 0x24, 0x7d, 0xd2, 0xbb, 0x3d, 0xf8, 0xae, 0xf9, 0x32, 0x11, 0xc7, 0x29, 0xa1, 0x6d, 0x1d, 0x9e, 0x2f, 0x4b, 0xdc, 0xb2, 0x30, 0xf3, 0x0d, 0x86, 0x52, 0xec, 0x77, 0xc1, 0xe3, 0xd0, 0x2b, 0xb3, 0x16, 0x6c, 0xa9, 0x70, 0xb9, 0x99, 0x11, 0x94, 0x48, 0xfa, 0x47, 0xe9, 0x64, 0x22, 0xa8, 0xfc, 0x8c, 0xc4, 0xa0, 0xf0, 0x3f, 0x1a, 0x56, 0x7d, 0x2c, 0xd8, 0x22, 0x33, 0x90, 0xef, 0x87, 0x49, 0x4e, 0xc7, 0xd9, 0x38, 0xd1, 0xc1, 0x8c, 0xca, 0xa2, 0xfe, 0x98, 0xd4, 0x0b, 0x36, 0xa6, 0xf5, 0x81, 0xcf, 0xa5, 0x7a, 0xde, 0x28, 0xda, 0xb7, 0x8e, 0x26, 0x3f, 0xad, 0xbf, 0xa4, 0x2c, 0x3a, 0x9d, 0xe4, 0x50, 0x78, 0x92, 0x0d, 0x6a, 0x5f, 0xcc, 0x9b, 0x54, 0x7e, 0x46, 0x62, 0xf6, 0x8d, 0x13, 0xc2, 0x90, 0xd8, 0xb8, 0xe8, 0x2e, 0x39, 0xf7, 0x5e, 0x82, 0xc3, 0xaf, 0xf5, 0x9f, 0x5d, 0x80, 0xbe, 0x69, 0xd0, 0x93, 0x7c, 0x6f, 0xd5, 0x2d, 0xa9, 0xcf, 0x25, 0x12, 0xb3, 0xc8, 0xac, 0x99, 0x3b, 0x10, 0x18, 0x7d, 0xa7, 0xe8, 0x9c, 0x63, 0x6e, 0xdb, 0x3b, 0xbb, 0x7b, 0xcd, 0x26, 0x78, 0x09, 0x6e, 0x59, 0x18, 0xf4, 0xec, 0x9a, 0xb7, 0x01, 0x83, 0x4f, 0x9a, 0xa8, 0xe6, 0x95, 0x6e, 0x65, 0xaa, 0xff, 0xe6, 0x7e, 0x21, 0xbc, 0xcf, 0x08, 0xef, 0x15, 0xe8, 0xe6, 0xba, 0xe7, 0x9b, 0xd9, 0x4a, 0x6f, 0x36, 0xce, 0xea, 0x9f, 0x09, 0xd4, 0x29, 0xb0, 0x7c, 0xd6, 0x31, 0xa4, 0xb2, 0xaf, 0x2a, 0x3f, 0x23, 0x31, 0xc6, 0xa5, 0x94, 0x30, 0x35, 0xa2, 0x66, 0xc0, 0x74, 0x4e, 0xbc, 0x37, 0xfc, 0x82, 0xca, 0xa6, 0xe0, 0x90, 0xd0, 0xb0, 0x33, 0xa7, 0xd8, 0x15, 0xf1, 0x04, 0x98, 0x4a, 0x41, 0xec, 0xda, 0xf7, 0x7f, 0xcd, 0x50, 0x0e, 0x17, 0x91, 0xf6, 0x2f, 0x76, 0x4d, 0xd6, 0x8d, 0x43, 0xef, 0xb0, 0x4d, 0xcc, 0xaa, 0x4d, 0x54, 0xe4, 0x96, 0x04, 0xdf, 0x9e, 0xd1, 0xb5, 0xe3, 0x4c, 0x6a, 0x88, 0x1b, 0xc1, 0x2c, 0x1f, 0xb8, 0x46, 0x65, 0x51, 0x7f, 0x9d, 0x5e, 0xea, 0x04, 0x01, 0x8c, 0x35, 0x5d, 0xfa, 0x87, 0x74, 0x73, 0xfb, 0x0b, 0x41, 0x2e, 0xb3, 0x67, 0x1d, 0x5a, 0x92, 0xdb, 0xd2, 0x52, 0xe9, 0x10, 0x56, 0x33, 0x6d, 0xd6, 0x47, 0x13, 0x9a, 0xd7, 0x61, 0x8c, 0x37, 0xa1, 0x0c, 0x7a, 0x59, 0xf8, 0x14, 0x8e, 0xeb, 0x13, 0x3c, 0x89, 0xce, 0xa9, 0x27, 0xee, 0xb7, 0x61, 0xc9, 0x35, 0xe1, 0x1c, 0xe5, 0xed, 0x7a, 0x47, 0xb1, 0x3c, 0x9c, 0xd2, 0xdf, 0x59, 0x55, 0xf2, 0x73, 0x3f, 0x18, 0x14, 0xce, 0x79, 0x73, 0xc7, 0x37, 0xbf, 0x53, 0xf7, 0xcd, 0xea, 0x5f, 0xfd, 0xaa, 0x5b, 0xdf, 0x3d, 0x6f, 0x14, 0x78, 0x44, 0xdb, 0x86, 0xca, 0xaf, 0xf3, 0x81, 0xb9, 0x68, 0xc4, 0x3e, 0x38, 0x24, 0x34, 0x2c, 0xc2, 0xa3, 0x40, 0x5f, 0x16, 0x1d, 0xc3, 0x72, 0xbc, 0xe2, 0x25, 0x0c, 0x28, 0x3c, 0x49, 0x8b, 0xff, 0x0d, 0x95, 0x41, 0x39, 0xa8, 0x01, 0x71, 0x08, 0x0c, 0xb3, 0xde, 0xd8, 0xb4, 0xe4, 0x9c, 0x64, 0x56, 0xc1, 0x90, 0x7b, 0xcb, 0x84, 0x61, 0xd5, 0x32, 0xb6, 0x70, 0x48, 0x6c, 0x5c, 0x74, 0xd0, 0xb8, 0x57, 0x42, +}; + +const u8 g_AES_1024_1[1024] = { + 0x50, 0x51, 0xf4, 0xa7, 0x53, 0x7e, 0x41, 0x65, 0xc3, 0x1a, 0x17, 0xa4, 0x96, 0x3a, 0x27, 0x5e, 0xcb, 0x3b, 0xab, 0x6b, 0xf1, 0x1f, 0x9d, 0x45, 0xab, 0xac, 0xfa, 0x58, 0x93, 0x4b, 0xe3, 0x03, 0x55, 0x20, 0x30, 0xfa, 0xf6, 0xad, 0x76, 0x6d, 0x91, 0x88, 0xcc, 0x76, 0x25, 0xf5, 0x02, 0x4c, 0xfc, 0x4f, 0xe5, 0xd7, 0xd7, 0xc5, 0x2a, 0xcb, 0x80, 0x26, 0x35, 0x44, 0x8f, 0xb5, 0x62, 0xa3, 0x49, 0xde, 0xb1, 0x5a, 0x67, 0x25, 0xba, 0x1b, 0x98, 0x45, 0xea, 0x0e, 0xe1, 0x5d, 0xfe, 0xc0, 0x02, 0xc3, 0x2f, 0x75, 0x12, 0x81, 0x4c, 0xf0, 0xa3, 0x8d, 0x46, 0x97, 0xc6, 0x6b, 0xd3, 0xf9, 0xe7, 0x03, 0x8f, 0x5f, 0x95, 0x15, 0x92, 0x9c, 0xeb, 0xbf, 0x6d, 0x7a, 0xda, 0x95, 0x52, 0x59, 0x2d, 0xd4, 0xbe, 0x83, 0xd3, 0x58, 0x74, 0x21, 0x29, 0x49, 0xe0, 0x69, 0x44, 0x8e, 0xc9, 0xc8, 0x6a, 0x75, 0xc2, 0x89, 0x78, 0xf4, 0x8e, 0x79, 0x6b, 0x99, 0x58, 0x3e, 0xdd, 0x27, 0xb9, 0x71, 0xb6, 0xbe, 0xe1, 0x4f, 0x17, 0xf0, 0x88, 0xad, 0x66, 0xc9, 0x20, 0xac, 0xb4, 0x7d, 0xce, 0x3a, 0x18, 0x63, 0xdf, 0x4a, 0x82, 0xe5, 0x1a, 0x31, 0x60, 0x97, 0x51, 0x33, 0x45, 0x62, 0x53, 0x7f, 0xe0, 0xb1, 0x64, 0x77, 0x84, 0xbb, 0x6b, 0xae, 0x1c, 0xfe, 0x81, 0xa0, 0x94, 0xf9, 0x08, 0x2b, 0x58, 0x70, 0x48, 0x68, 0x19, 0x8f, 0x45, 0xfd, 0x87, 0x94, 0xde, 0x6c, 0xb7, 0x52, 0x7b, 0xf8, 0x23, 0xab, 0x73, 0xd3, 0xe2, 0x72, 0x4b, 0x02, 0x57, 0xe3, 0x1f, 0x8f, 0x2a, 0x66, 0x55, 0xab, 0x07, 0xb2, 0xeb, 0x28, 0x03, 0x2f, 0xb5, 0xc2, 0x9a, 0x86, 0xc5, 0x7b, 0xa5, 0xd3, 0x37, 0x08, 0xf2, 0x30, 0x28, 0x87, 0xb2, 0x23, 0xbf, 0xa5, 0xba, 0x02, 0x03, 0x6a, 0x5c, 0xed, 0x16, 0x82, 0x2b, 0x8a, 0xcf, 0x1c, 0x92, 0xa7, 0x79, 0xb4, 0xf0, 0xf3, 0x07, 0xf2, 0xa1, 0x4e, 0x69, 0xe2, 0xcd, 0x65, 0xda, 0xf4, 0xd5, 0x06, 0x05, 0xbe, 0x1f, 0xd1, 0x34, 0x62, 0x8a, 0xc4, 0xa6, 0xfe, 0x9d, 0x34, 0x2e, 0x53, 0xa0, 0xa2, 0xf3, 0x55, 0x32, 0x05, 0x8a, 0xe1, 0x75, 0xa4, 0xf6, 0xeb, 0x39, 0x0b, 0x83, 0xec, 0xaa, 0x40, 0x60, 0xef, 0x06, 0x5e, 0x71, 0x9f, 0x51, 0xbd, 0x6e, 0x10, 0xf9, 0x3e, 0x21, 0x8a, 0x3d, 0x96, 0xdd, 0x06, 0xae, 0xdd, 0x3e, 0x05, 0x46, 0x4d, 0xe6, 0xbd, 0xb5, 0x91, 0x54, 0x8d, 0x05, 0x71, 0xc4, 0x5d, 0x6f, 0x04, 0x06, 0xd4, 0xff, 0x60, 0x50, 0x15, 0x24, 0x19, 0x98, 0xfb, 0x97, 0xd6, 0xbd, 0xe9, 0xcc, 0x89, 0x40, 0x43, 0x77, 0x67, 0xd9, 0x9e, 0xbd, 0xb0, 0xe8, 0x42, 0x88, 0x07, 0x89, 0x8b, 0x38, 0xe7, 0x19, 0x5b, 0xdb, 0x79, 0xc8, 0xee, 0x47, 0xa1, 0x7c, 0x0a, 0xe9, 0x7c, 0x42, 0x0f, 0xc9, 0xf8, 0x84, 0x1e, 0x00, 0x00, 0x00, 0x00, 0x83, 0x09, 0x80, 0x86, 0x48, 0x32, 0x2b, 0xed, 0xac, 0x1e, 0x11, 0x70, 0x4e, 0x6c, 0x5a, 0x72, 0xfb, 0xfd, 0x0e, 0xff, 0x56, 0x0f, 0x85, 0x38, 0x1e, 0x3d, 0xae, 0xd5, 0x27, 0x36, 0x2d, 0x39, 0x64, 0x0a, 0x0f, 0xd9, 0x21, 0x68, 0x5c, 0xa6, 0xd1, 0x9b, 0x5b, 0x54, 0x3a, 0x24, 0x36, 0x2e, 0xb1, 0x0c, 0x0a, 0x67, 0x0f, 0x93, 0x57, 0xe7, 0xd2, 0xb4, 0xee, 0x96, 0x9e, 0x1b, 0x9b, 0x91, 0x4f, 0x80, 0xc0, 0xc5, 0xa2, 0x61, 0xdc, 0x20, 0x69, 0x5a, 0x77, 0x4b, 0x16, 0x1c, 0x12, 0x1a, 0x0a, 0xe2, 0x93, 0xba, 0xe5, 0xc0, 0xa0, 0x2a, 0x43, 0x3c, 0x22, 0xe0, 0x1d, 0x12, 0x1b, 0x17, 0x0b, 0x0e, 0x09, 0x0d, 0xad, 0xf2, 0x8b, 0xc7, 0xb9, 0x2d, 0xb6, 0xa8, 0xc8, 0x14, 0x1e, 0xa9, 0x85, 0x57, 0xf1, 0x19, 0x4c, 0xaf, 0x75, 0x07, 0xbb, 0xee, 0x99, 0xdd, 0xfd, 0xa3, 0x7f, 0x60, 0x9f, 0xf7, 0x01, 0x26, 0xbc, 0x5c, 0x72, 0xf5, 0xc5, 0x44, 0x66, 0x3b, 0x34, 0x5b, 0xfb, 0x7e, 0x76, 0x8b, 0x43, 0x29, 0xdc, 0xcb, 0x23, 0xc6, 0x68, 0xb6, 0xed, 0xfc, 0x63, 0xb8, 0xe4, 0xf1, 0xca, 0xd7, 0x31, 0xdc, 0x10, 0x42, 0x63, 0x85, 0x40, 0x13, 0x97, 0x22, 0x20, 0x84, 0xc6, 0x11, 0x7d, 0x85, 0x4a, 0x24, 0xf8, 0xd2, 0xbb, 0x3d, 0x11, 0xae, 0xf9, 0x32, 0x6d, 0xc7, 0x29, 0xa1, 0x4b, 0x1d, 0x9e, 0x2f, 0xf3, 0xdc, 0xb2, 0x30, 0xec, 0x0d, 0x86, 0x52, 0xd0, 0x77, 0xc1, 0xe3, 0x6c, 0x2b, 0xb3, 0x16, 0x99, 0xa9, 0x70, 0xb9, 0xfa, 0x11, 0x94, 0x48, 0x22, 0x47, 0xe9, 0x64, 0xc4, 0xa8, 0xfc, 0x8c, 0x1a, 0xa0, 0xf0, 0x3f, 0xd8, 0x56, 0x7d, 0x2c, 0xef, 0x22, 0x33, 0x90, 0xc7, 0x87, 0x49, 0x4e, 0xc1, 0xd9, 0x38, 0xd1, 0xfe, 0x8c, 0xca, 0xa2, 0x36, 0x98, 0xd4, 0x0b, 0xcf, 0xa6, 0xf5, 0x81, 0x28, 0xa5, 0x7a, 0xde, 0x26, 0xda, 0xb7, 0x8e, 0xa4, 0x3f, 0xad, 0xbf, 0xe4, 0x2c, 0x3a, 0x9d, 0x0d, 0x50, 0x78, 0x92, 0x9b, 0x6a, 0x5f, 0xcc, 0x62, 0x54, 0x7e, 0x46, 0xc2, 0xf6, 0x8d, 0x13, 0xe8, 0x90, 0xd8, 0xb8, 0x5e, 0x2e, 0x39, 0xf7, 0xf5, 0x82, 0xc3, 0xaf, 0xbe, 0x9f, 0x5d, 0x80, 0x7c, 0x69, 0xd0, 0x93, 0xa9, 0x6f, 0xd5, 0x2d, 0xb3, 0xcf, 0x25, 0x12, 0x3b, 0xc8, 0xac, 0x99, 0xa7, 0x10, 0x18, 0x7d, 0x6e, 0xe8, 0x9c, 0x63, 0x7b, 0xdb, 0x3b, 0xbb, 0x09, 0xcd, 0x26, 0x78, 0xf4, 0x6e, 0x59, 0x18, 0x01, 0xec, 0x9a, 0xb7, 0xa8, 0x83, 0x4f, 0x9a, 0x65, 0xe6, 0x95, 0x6e, 0x7e, 0xaa, 0xff, 0xe6, 0x08, 0x21, 0xbc, 0xcf, 0xe6, 0xef, 0x15, 0xe8, 0xd9, 0xba, 0xe7, 0x9b, 0xce, 0x4a, 0x6f, 0x36, 0xd4, 0xea, 0x9f, 0x09, 0xd6, 0x29, 0xb0, 0x7c, 0xaf, 0x31, 0xa4, 0xb2, 0x31, 0x2a, 0x3f, 0x23, 0x30, 0xc6, 0xa5, 0x94, 0xc0, 0x35, 0xa2, 0x66, 0x37, 0x74, 0x4e, 0xbc, 0xa6, 0xfc, 0x82, 0xca, 0xb0, 0xe0, 0x90, 0xd0, 0x15, 0x33, 0xa7, 0xd8, 0x4a, 0xf1, 0x04, 0x98, 0xf7, 0x41, 0xec, 0xda, 0x0e, 0x7f, 0xcd, 0x50, 0x2f, 0x17, 0x91, 0xf6, 0x8d, 0x76, 0x4d, 0xd6, 0x4d, 0x43, 0xef, 0xb0, 0x54, 0xcc, 0xaa, 0x4d, 0xdf, 0xe4, 0x96, 0x04, 0xe3, 0x9e, 0xd1, 0xb5, 0x1b, 0x4c, 0x6a, 0x88, 0xb8, 0xc1, 0x2c, 0x1f, 0x7f, 0x46, 0x65, 0x51, 0x04, 0x9d, 0x5e, 0xea, 0x5d, 0x01, 0x8c, 0x35, 0x73, 0xfa, 0x87, 0x74, 0x2e, 0xfb, 0x0b, 0x41, 0x5a, 0xb3, 0x67, 0x1d, 0x52, 0x92, 0xdb, 0xd2, 0x33, 0xe9, 0x10, 0x56, 0x13, 0x6d, 0xd6, 0x47, 0x8c, 0x9a, 0xd7, 0x61, 0x7a, 0x37, 0xa1, 0x0c, 0x8e, 0x59, 0xf8, 0x14, 0x89, 0xeb, 0x13, 0x3c, 0xee, 0xce, 0xa9, 0x27, 0x35, 0xb7, 0x61, 0xc9, 0xed, 0xe1, 0x1c, 0xe5, 0x3c, 0x7a, 0x47, 0xb1, 0x59, 0x9c, 0xd2, 0xdf, 0x3f, 0x55, 0xf2, 0x73, 0x79, 0x18, 0x14, 0xce, 0xbf, 0x73, 0xc7, 0x37, 0xea, 0x53, 0xf7, 0xcd, 0x5b, 0x5f, 0xfd, 0xaa, 0x14, 0xdf, 0x3d, 0x6f, 0x86, 0x78, 0x44, 0xdb, 0x81, 0xca, 0xaf, 0xf3, 0x3e, 0xb9, 0x68, 0xc4, 0x2c, 0x38, 0x24, 0x34, 0x5f, 0xc2, 0xa3, 0x40, 0x72, 0x16, 0x1d, 0xc3, 0x0c, 0xbc, 0xe2, 0x25, 0x8b, 0x28, 0x3c, 0x49, 0x41, 0xff, 0x0d, 0x95, 0x71, 0x39, 0xa8, 0x01, 0xde, 0x08, 0x0c, 0xb3, 0x9c, 0xd8, 0xb4, 0xe4, 0x90, 0x64, 0x56, 0xc1, 0x61, 0x7b, 0xcb, 0x84, 0x70, 0xd5, 0x32, 0xb6, 0x74, 0x48, 0x6c, 0x5c, 0x42, 0xd0, 0xb8, 0x57 +}; + +const u8 g_AES_1024_2[1024] = { + 0xa7, 0x50, 0x51, 0xf4, 0x65, 0x53, 0x7e, 0x41, 0xa4, 0xc3, 0x1a, 0x17, 0x5e, 0x96, 0x3a, 0x27, 0x6b, 0xcb, 0x3b, 0xab, 0x45, 0xf1, 0x1f, 0x9d, 0x58, 0xab, 0xac, 0xfa, 0x03, 0x93, 0x4b, 0xe3, 0xfa, 0x55, 0x20, 0x30, 0x6d, 0xf6, 0xad, 0x76, 0x76, 0x91, 0x88, 0xcc, 0x4c, 0x25, 0xf5, 0x02, 0xd7, 0xfc, 0x4f, 0xe5, 0xcb, 0xd7, 0xc5, 0x2a, 0x44, 0x80, 0x26, 0x35, 0xa3, 0x8f, 0xb5, 0x62, 0x5a, 0x49, 0xde, 0xb1, 0x1b, 0x67, 0x25, 0xba, 0x0e, 0x98, 0x45, 0xea, 0xc0, 0xe1, 0x5d, 0xfe, 0x75, 0x02, 0xc3, 0x2f, 0xf0, 0x12, 0x81, 0x4c, 0x97, 0xa3, 0x8d, 0x46, 0xf9, 0xc6, 0x6b, 0xd3, 0x5f, 0xe7, 0x03, 0x8f, 0x9c, 0x95, 0x15, 0x92, 0x7a, 0xeb, 0xbf, 0x6d, 0x59, 0xda, 0x95, 0x52, 0x83, 0x2d, 0xd4, 0xbe, 0x21, 0xd3, 0x58, 0x74, 0x69, 0x29, 0x49, 0xe0, 0xc8, 0x44, 0x8e, 0xc9, 0x89, 0x6a, 0x75, 0xc2, 0x79, 0x78, 0xf4, 0x8e, 0x3e, 0x6b, 0x99, 0x58, 0x71, 0xdd, 0x27, 0xb9, 0x4f, 0xb6, 0xbe, 0xe1, 0xad, 0x17, 0xf0, 0x88, 0xac, 0x66, 0xc9, 0x20, 0x3a, 0xb4, 0x7d, 0xce, 0x4a, 0x18, 0x63, 0xdf, 0x31, 0x82, 0xe5, 0x1a, 0x33, 0x60, 0x97, 0x51, 0x7f, 0x45, 0x62, 0x53, 0x77, 0xe0, 0xb1, 0x64, 0xae, 0x84, 0xbb, 0x6b, 0xa0, 0x1c, 0xfe, 0x81, 0x2b, 0x94, 0xf9, 0x08, 0x68, 0x58, 0x70, 0x48, 0xfd, 0x19, 0x8f, 0x45, 0x6c, 0x87, 0x94, 0xde, 0xf8, 0xb7, 0x52, 0x7b, 0xd3, 0x23, 0xab, 0x73, 0x02, 0xe2, 0x72, 0x4b, 0x8f, 0x57, 0xe3, 0x1f, 0xab, 0x2a, 0x66, 0x55, 0x28, 0x07, 0xb2, 0xeb, 0xc2, 0x03, 0x2f, 0xb5, 0x7b, 0x9a, 0x86, 0xc5, 0x08, 0xa5, 0xd3, 0x37, 0x87, 0xf2, 0x30, 0x28, 0xa5, 0xb2, 0x23, 0xbf, 0x6a, 0xba, 0x02, 0x03, 0x82, 0x5c, 0xed, 0x16, 0x1c, 0x2b, 0x8a, 0xcf, 0xb4, 0x92, 0xa7, 0x79, 0xf2, 0xf0, 0xf3, 0x07, 0xe2, 0xa1, 0x4e, 0x69, 0xf4, 0xcd, 0x65, 0xda, 0xbe, 0xd5, 0x06, 0x05, 0x62, 0x1f, 0xd1, 0x34, 0xfe, 0x8a, 0xc4, 0xa6, 0x53, 0x9d, 0x34, 0x2e, 0x55, 0xa0, 0xa2, 0xf3, 0xe1, 0x32, 0x05, 0x8a, 0xeb, 0x75, 0xa4, 0xf6, 0xec, 0x39, 0x0b, 0x83, 0xef, 0xaa, 0x40, 0x60, 0x9f, 0x06, 0x5e, 0x71, 0x10, 0x51, 0xbd, 0x6e, 0x8a, 0xf9, 0x3e, 0x21, 0x06, 0x3d, 0x96, 0xdd, 0x05, 0xae, 0xdd, 0x3e, 0xbd, 0x46, 0x4d, 0xe6, 0x8d, 0xb5, 0x91, 0x54, 0x5d, 0x05, 0x71, 0xc4, 0xd4, 0x6f, 0x04, 0x06, 0x15, 0xff, 0x60, 0x50, 0xfb, 0x24, 0x19, 0x98, 0xe9, 0x97, 0xd6, 0xbd, 0x43, 0xcc, 0x89, 0x40, 0x9e, 0x77, 0x67, 0xd9, 0x42, 0xbd, 0xb0, 0xe8, 0x8b, 0x88, 0x07, 0x89, 0x5b, 0x38, 0xe7, 0x19, 0xee, 0xdb, 0x79, 0xc8, 0x0a, 0x47, 0xa1, 0x7c, 0x0f, 0xe9, 0x7c, 0x42, 0x1e, 0xc9, 0xf8, 0x84, 0x00, 0x00, 0x00, 0x00, 0x86, 0x83, 0x09, 0x80, 0xed, 0x48, 0x32, 0x2b, 0x70, 0xac, 0x1e, 0x11, 0x72, 0x4e, 0x6c, 0x5a, 0xff, 0xfb, 0xfd, 0x0e, 0x38, 0x56, 0x0f, 0x85, 0xd5, 0x1e, 0x3d, 0xae, 0x39, 0x27, 0x36, 0x2d, 0xd9, 0x64, 0x0a, 0x0f, 0xa6, 0x21, 0x68, 0x5c, 0x54, 0xd1, 0x9b, 0x5b, 0x2e, 0x3a, 0x24, 0x36, 0x67, 0xb1, 0x0c, 0x0a, 0xe7, 0x0f, 0x93, 0x57, 0x96, 0xd2, 0xb4, 0xee, 0x91, 0x9e, 0x1b, 0x9b, 0xc5, 0x4f, 0x80, 0xc0, 0x20, 0xa2, 0x61, 0xdc, 0x4b, 0x69, 0x5a, 0x77, 0x1a, 0x16, 0x1c, 0x12, 0xba, 0x0a, 0xe2, 0x93, 0x2a, 0xe5, 0xc0, 0xa0, 0xe0, 0x43, 0x3c, 0x22, 0x17, 0x1d, 0x12, 0x1b, 0x0d, 0x0b, 0x0e, 0x09, 0xc7, 0xad, 0xf2, 0x8b, 0xa8, 0xb9, 0x2d, 0xb6, 0xa9, 0xc8, 0x14, 0x1e, 0x19, 0x85, 0x57, 0xf1, 0x07, 0x4c, 0xaf, 0x75, 0xdd, 0xbb, 0xee, 0x99, 0x60, 0xfd, 0xa3, 0x7f, 0x26, 0x9f, 0xf7, 0x01, 0xf5, 0xbc, 0x5c, 0x72, 0x3b, 0xc5, 0x44, 0x66, 0x7e, 0x34, 0x5b, 0xfb, 0x29, 0x76, 0x8b, 0x43, 0xc6, 0xdc, 0xcb, 0x23, 0xfc, 0x68, 0xb6, 0xed, 0xf1, 0x63, 0xb8, 0xe4, 0xdc, 0xca, 0xd7, 0x31, 0x85, 0x10, 0x42, 0x63, 0x22, 0x40, 0x13, 0x97, 0x11, 0x20, 0x84, 0xc6, 0x24, 0x7d, 0x85, 0x4a, 0x3d, 0xf8, 0xd2, 0xbb, 0x32, 0x11, 0xae, 0xf9, 0xa1, 0x6d, 0xc7, 0x29, 0x2f, 0x4b, 0x1d, 0x9e, 0x30, 0xf3, 0xdc, 0xb2, 0x52, 0xec, 0x0d, 0x86, 0xe3, 0xd0, 0x77, 0xc1, 0x16, 0x6c, 0x2b, 0xb3, 0xb9, 0x99, 0xa9, 0x70, 0x48, 0xfa, 0x11, 0x94, 0x64, 0x22, 0x47, 0xe9, 0x8c, 0xc4, 0xa8, 0xfc, 0x3f, 0x1a, 0xa0, 0xf0, 0x2c, 0xd8, 0x56, 0x7d, 0x90, 0xef, 0x22, 0x33, 0x4e, 0xc7, 0x87, 0x49, 0xd1, 0xc1, 0xd9, 0x38, 0xa2, 0xfe, 0x8c, 0xca, 0x0b, 0x36, 0x98, 0xd4, 0x81, 0xcf, 0xa6, 0xf5, 0xde, 0x28, 0xa5, 0x7a, 0x8e, 0x26, 0xda, 0xb7, 0xbf, 0xa4, 0x3f, 0xad, 0x9d, 0xe4, 0x2c, 0x3a, 0x92, 0x0d, 0x50, 0x78, 0xcc, 0x9b, 0x6a, 0x5f, 0x46, 0x62, 0x54, 0x7e, 0x13, 0xc2, 0xf6, 0x8d, 0xb8, 0xe8, 0x90, 0xd8, 0xf7, 0x5e, 0x2e, 0x39, 0xaf, 0xf5, 0x82, 0xc3, 0x80, 0xbe, 0x9f, 0x5d, 0x93, 0x7c, 0x69, 0xd0, 0x2d, 0xa9, 0x6f, 0xd5, 0x12, 0xb3, 0xcf, 0x25, 0x99, 0x3b, 0xc8, 0xac, 0x7d, 0xa7, 0x10, 0x18, 0x63, 0x6e, 0xe8, 0x9c, 0xbb, 0x7b, 0xdb, 0x3b, 0x78, 0x09, 0xcd, 0x26, 0x18, 0xf4, 0x6e, 0x59, 0xb7, 0x01, 0xec, 0x9a, 0x9a, 0xa8, 0x83, 0x4f, 0x6e, 0x65, 0xe6, 0x95, 0xe6, 0x7e, 0xaa, 0xff, 0xcf, 0x08, 0x21, 0xbc, 0xe8, 0xe6, 0xef, 0x15, 0x9b, 0xd9, 0xba, 0xe7, 0x36, 0xce, 0x4a, 0x6f, 0x09, 0xd4, 0xea, 0x9f, 0x7c, 0xd6, 0x29, 0xb0, 0xb2, 0xaf, 0x31, 0xa4, 0x23, 0x31, 0x2a, 0x3f, 0x94, 0x30, 0xc6, 0xa5, 0x66, 0xc0, 0x35, 0xa2, 0xbc, 0x37, 0x74, 0x4e, 0xca, 0xa6, 0xfc, 0x82, 0xd0, 0xb0, 0xe0, 0x90, 0xd8, 0x15, 0x33, 0xa7, 0x98, 0x4a, 0xf1, 0x04, 0xda, 0xf7, 0x41, 0xec, 0x50, 0x0e, 0x7f, 0xcd, 0xf6, 0x2f, 0x17, 0x91, 0xd6, 0x8d, 0x76, 0x4d, 0xb0, 0x4d, 0x43, 0xef, 0x4d, 0x54, 0xcc, 0xaa, 0x04, 0xdf, 0xe4, 0x96, 0xb5, 0xe3, 0x9e, 0xd1, 0x88, 0x1b, 0x4c, 0x6a, 0x1f, 0xb8, 0xc1, 0x2c, 0x51, 0x7f, 0x46, 0x65, 0xea, 0x04, 0x9d, 0x5e, 0x35, 0x5d, 0x01, 0x8c, 0x74, 0x73, 0xfa, 0x87, 0x41, 0x2e, 0xfb, 0x0b, 0x1d, 0x5a, 0xb3, 0x67, 0xd2, 0x52, 0x92, 0xdb, 0x56, 0x33, 0xe9, 0x10, 0x47, 0x13, 0x6d, 0xd6, 0x61, 0x8c, 0x9a, 0xd7, 0x0c, 0x7a, 0x37, 0xa1, 0x14, 0x8e, 0x59, 0xf8, 0x3c, 0x89, 0xeb, 0x13, 0x27, 0xee, 0xce, 0xa9, 0xc9, 0x35, 0xb7, 0x61, 0xe5, 0xed, 0xe1, 0x1c, 0xb1, 0x3c, 0x7a, 0x47, 0xdf, 0x59, 0x9c, 0xd2, 0x73, 0x3f, 0x55, 0xf2, 0xce, 0x79, 0x18, 0x14, 0x37, 0xbf, 0x73, 0xc7, 0xcd, 0xea, 0x53, 0xf7, 0xaa, 0x5b, 0x5f, 0xfd, 0x6f, 0x14, 0xdf, 0x3d, 0xdb, 0x86, 0x78, 0x44, 0xf3, 0x81, 0xca, 0xaf, 0xc4, 0x3e, 0xb9, 0x68, 0x34, 0x2c, 0x38, 0x24, 0x40, 0x5f, 0xc2, 0xa3, 0xc3, 0x72, 0x16, 0x1d, 0x25, 0x0c, 0xbc, 0xe2, 0x49, 0x8b, 0x28, 0x3c, 0x95, 0x41, 0xff, 0x0d, 0x01, 0x71, 0x39, 0xa8, 0xb3, 0xde, 0x08, 0x0c, 0xe4, 0x9c, 0xd8, 0xb4, 0xc1, 0x90, 0x64, 0x56, 0x84, 0x61, 0x7b, 0xcb, 0xb6, 0x70, 0xd5, 0x32, 0x5c, 0x74, 0x48, 0x6c, 0x57, 0x42, 0xd0, 0xb8, +}; + +const u8 g_AES_1024_3[1024] = { + 0xf4, 0xa7, 0x50, 0x51, 0x41, 0x65, 0x53, 0x7e, 0x17, 0xa4, 0xc3, 0x1a, 0x27, 0x5e, 0x96, 0x3a, 0xab, 0x6b, 0xcb, 0x3b, 0x9d, 0x45, 0xf1, 0x1f, 0xfa, 0x58, 0xab, 0xac, 0xe3, 0x03, 0x93, 0x4b, 0x30, 0xfa, 0x55, 0x20, 0x76, 0x6d, 0xf6, 0xad, 0xcc, 0x76, 0x91, 0x88, 0x02, 0x4c, 0x25, 0xf5, 0xe5, 0xd7, 0xfc, 0x4f, 0x2a, 0xcb, 0xd7, 0xc5, 0x35, 0x44, 0x80, 0x26, 0x62, 0xa3, 0x8f, 0xb5, 0xb1, 0x5a, 0x49, 0xde, 0xba, 0x1b, 0x67, 0x25, 0xea, 0x0e, 0x98, 0x45, 0xfe, 0xc0, 0xe1, 0x5d, 0x2f, 0x75, 0x02, 0xc3, 0x4c, 0xf0, 0x12, 0x81, 0x46, 0x97, 0xa3, 0x8d, 0xd3, 0xf9, 0xc6, 0x6b, 0x8f, 0x5f, 0xe7, 0x03, 0x92, 0x9c, 0x95, 0x15, 0x6d, 0x7a, 0xeb, 0xbf, 0x52, 0x59, 0xda, 0x95, 0xbe, 0x83, 0x2d, 0xd4, 0x74, 0x21, 0xd3, 0x58, 0xe0, 0x69, 0x29, 0x49, 0xc9, 0xc8, 0x44, 0x8e, 0xc2, 0x89, 0x6a, 0x75, 0x8e, 0x79, 0x78, 0xf4, 0x58, 0x3e, 0x6b, 0x99, 0xb9, 0x71, 0xdd, 0x27, 0xe1, 0x4f, 0xb6, 0xbe, 0x88, 0xad, 0x17, 0xf0, 0x20, 0xac, 0x66, 0xc9, 0xce, 0x3a, 0xb4, 0x7d, 0xdf, 0x4a, 0x18, 0x63, 0x1a, 0x31, 0x82, 0xe5, 0x51, 0x33, 0x60, 0x97, 0x53, 0x7f, 0x45, 0x62, 0x64, 0x77, 0xe0, 0xb1, 0x6b, 0xae, 0x84, 0xbb, 0x81, 0xa0, 0x1c, 0xfe, 0x08, 0x2b, 0x94, 0xf9, 0x48, 0x68, 0x58, 0x70, 0x45, 0xfd, 0x19, 0x8f, 0xde, 0x6c, 0x87, 0x94, 0x7b, 0xf8, 0xb7, 0x52, 0x73, 0xd3, 0x23, 0xab, 0x4b, 0x02, 0xe2, 0x72, 0x1f, 0x8f, 0x57, 0xe3, 0x55, 0xab, 0x2a, 0x66, 0xeb, 0x28, 0x07, 0xb2, 0xb5, 0xc2, 0x03, 0x2f, 0xc5, 0x7b, 0x9a, 0x86, 0x37, 0x08, 0xa5, 0xd3, 0x28, 0x87, 0xf2, 0x30, 0xbf, 0xa5, 0xb2, 0x23, 0x03, 0x6a, 0xba, 0x02, 0x16, 0x82, 0x5c, 0xed, 0xcf, 0x1c, 0x2b, 0x8a, 0x79, 0xb4, 0x92, 0xa7, 0x07, 0xf2, 0xf0, 0xf3, 0x69, 0xe2, 0xa1, 0x4e, 0xda, 0xf4, 0xcd, 0x65, 0x05, 0xbe, 0xd5, 0x06, 0x34, 0x62, 0x1f, 0xd1, 0xa6, 0xfe, 0x8a, 0xc4, 0x2e, 0x53, 0x9d, 0x34, 0xf3, 0x55, 0xa0, 0xa2, 0x8a, 0xe1, 0x32, 0x05, 0xf6, 0xeb, 0x75, 0xa4, 0x83, 0xec, 0x39, 0x0b, 0x60, 0xef, 0xaa, 0x40, 0x71, 0x9f, 0x06, 0x5e, 0x6e, 0x10, 0x51, 0xbd, 0x21, 0x8a, 0xf9, 0x3e, 0xdd, 0x06, 0x3d, 0x96, 0x3e, 0x05, 0xae, 0xdd, 0xe6, 0xbd, 0x46, 0x4d, 0x54, 0x8d, 0xb5, 0x91, 0xc4, 0x5d, 0x05, 0x71, 0x06, 0xd4, 0x6f, 0x04, 0x50, 0x15, 0xff, 0x60, 0x98, 0xfb, 0x24, 0x19, 0xbd, 0xe9, 0x97, 0xd6, 0x40, 0x43, 0xcc, 0x89, 0xd9, 0x9e, 0x77, 0x67, 0xe8, 0x42, 0xbd, 0xb0, 0x89, 0x8b, 0x88, 0x07, 0x19, 0x5b, 0x38, 0xe7, 0xc8, 0xee, 0xdb, 0x79, 0x7c, 0x0a, 0x47, 0xa1, 0x42, 0x0f, 0xe9, 0x7c, 0x84, 0x1e, 0xc9, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x80, 0x86, 0x83, 0x09, 0x2b, 0xed, 0x48, 0x32, 0x11, 0x70, 0xac, 0x1e, 0x5a, 0x72, 0x4e, 0x6c, 0x0e, 0xff, 0xfb, 0xfd, 0x85, 0x38, 0x56, 0x0f, 0xae, 0xd5, 0x1e, 0x3d, 0x2d, 0x39, 0x27, 0x36, 0x0f, 0xd9, 0x64, 0x0a, 0x5c, 0xa6, 0x21, 0x68, 0x5b, 0x54, 0xd1, 0x9b, 0x36, 0x2e, 0x3a, 0x24, 0x0a, 0x67, 0xb1, 0x0c, 0x57, 0xe7, 0x0f, 0x93, 0xee, 0x96, 0xd2, 0xb4, 0x9b, 0x91, 0x9e, 0x1b, 0xc0, 0xc5, 0x4f, 0x80, 0xdc, 0x20, 0xa2, 0x61, 0x77, 0x4b, 0x69, 0x5a, 0x12, 0x1a, 0x16, 0x1c, 0x93, 0xba, 0x0a, 0xe2, 0xa0, 0x2a, 0xe5, 0xc0, 0x22, 0xe0, 0x43, 0x3c, 0x1b, 0x17, 0x1d, 0x12, 0x09, 0x0d, 0x0b, 0x0e, 0x8b, 0xc7, 0xad, 0xf2, 0xb6, 0xa8, 0xb9, 0x2d, 0x1e, 0xa9, 0xc8, 0x14, 0xf1, 0x19, 0x85, 0x57, 0x75, 0x07, 0x4c, 0xaf, 0x99, 0xdd, 0xbb, 0xee, 0x7f, 0x60, 0xfd, 0xa3, 0x01, 0x26, 0x9f, 0xf7, 0x72, 0xf5, 0xbc, 0x5c, 0x66, 0x3b, 0xc5, 0x44, 0xfb, 0x7e, 0x34, 0x5b, 0x43, 0x29, 0x76, 0x8b, 0x23, 0xc6, 0xdc, 0xcb, 0xed, 0xfc, 0x68, 0xb6, 0xe4, 0xf1, 0x63, 0xb8, 0x31, 0xdc, 0xca, 0xd7, 0x63, 0x85, 0x10, 0x42, 0x97, 0x22, 0x40, 0x13, 0xc6, 0x11, 0x20, 0x84, 0x4a, 0x24, 0x7d, 0x85, 0xbb, 0x3d, 0xf8, 0xd2, 0xf9, 0x32, 0x11, 0xae, 0x29, 0xa1, 0x6d, 0xc7, 0x9e, 0x2f, 0x4b, 0x1d, 0xb2, 0x30, 0xf3, 0xdc, 0x86, 0x52, 0xec, 0x0d, 0xc1, 0xe3, 0xd0, 0x77, 0xb3, 0x16, 0x6c, 0x2b, 0x70, 0xb9, 0x99, 0xa9, 0x94, 0x48, 0xfa, 0x11, 0xe9, 0x64, 0x22, 0x47, 0xfc, 0x8c, 0xc4, 0xa8, 0xf0, 0x3f, 0x1a, 0xa0, 0x7d, 0x2c, 0xd8, 0x56, 0x33, 0x90, 0xef, 0x22, 0x49, 0x4e, 0xc7, 0x87, 0x38, 0xd1, 0xc1, 0xd9, 0xca, 0xa2, 0xfe, 0x8c, 0xd4, 0x0b, 0x36, 0x98, 0xf5, 0x81, 0xcf, 0xa6, 0x7a, 0xde, 0x28, 0xa5, 0xb7, 0x8e, 0x26, 0xda, 0xad, 0xbf, 0xa4, 0x3f, 0x3a, 0x9d, 0xe4, 0x2c, 0x78, 0x92, 0x0d, 0x50, 0x5f, 0xcc, 0x9b, 0x6a, 0x7e, 0x46, 0x62, 0x54, 0x8d, 0x13, 0xc2, 0xf6, 0xd8, 0xb8, 0xe8, 0x90, 0x39, 0xf7, 0x5e, 0x2e, 0xc3, 0xaf, 0xf5, 0x82, 0x5d, 0x80, 0xbe, 0x9f, 0xd0, 0x93, 0x7c, 0x69, 0xd5, 0x2d, 0xa9, 0x6f, 0x25, 0x12, 0xb3, 0xcf, 0xac, 0x99, 0x3b, 0xc8, 0x18, 0x7d, 0xa7, 0x10, 0x9c, 0x63, 0x6e, 0xe8, 0x3b, 0xbb, 0x7b, 0xdb, 0x26, 0x78, 0x09, 0xcd, 0x59, 0x18, 0xf4, 0x6e, 0x9a, 0xb7, 0x01, 0xec, 0x4f, 0x9a, 0xa8, 0x83, 0x95, 0x6e, 0x65, 0xe6, 0xff, 0xe6, 0x7e, 0xaa, 0xbc, 0xcf, 0x08, 0x21, 0x15, 0xe8, 0xe6, 0xef, 0xe7, 0x9b, 0xd9, 0xba, 0x6f, 0x36, 0xce, 0x4a, 0x9f, 0x09, 0xd4, 0xea, 0xb0, 0x7c, 0xd6, 0x29, 0xa4, 0xb2, 0xaf, 0x31, 0x3f, 0x23, 0x31, 0x2a, 0xa5, 0x94, 0x30, 0xc6, 0xa2, 0x66, 0xc0, 0x35, 0x4e, 0xbc, 0x37, 0x74, 0x82, 0xca, 0xa6, 0xfc, 0x90, 0xd0, 0xb0, 0xe0, 0xa7, 0xd8, 0x15, 0x33, 0x04, 0x98, 0x4a, 0xf1, 0xec, 0xda, 0xf7, 0x41, 0xcd, 0x50, 0x0e, 0x7f, 0x91, 0xf6, 0x2f, 0x17, 0x4d, 0xd6, 0x8d, 0x76, 0xef, 0xb0, 0x4d, 0x43, 0xaa, 0x4d, 0x54, 0xcc, 0x96, 0x04, 0xdf, 0xe4, 0xd1, 0xb5, 0xe3, 0x9e, 0x6a, 0x88, 0x1b, 0x4c, 0x2c, 0x1f, 0xb8, 0xc1, 0x65, 0x51, 0x7f, 0x46, 0x5e, 0xea, 0x04, 0x9d, 0x8c, 0x35, 0x5d, 0x01, 0x87, 0x74, 0x73, 0xfa, 0x0b, 0x41, 0x2e, 0xfb, 0x67, 0x1d, 0x5a, 0xb3, 0xdb, 0xd2, 0x52, 0x92, 0x10, 0x56, 0x33, 0xe9, 0xd6, 0x47, 0x13, 0x6d, 0xd7, 0x61, 0x8c, 0x9a, 0xa1, 0x0c, 0x7a, 0x37, 0xf8, 0x14, 0x8e, 0x59, 0x13, 0x3c, 0x89, 0xeb, 0xa9, 0x27, 0xee, 0xce, 0x61, 0xc9, 0x35, 0xb7, 0x1c, 0xe5, 0xed, 0xe1, 0x47, 0xb1, 0x3c, 0x7a, 0xd2, 0xdf, 0x59, 0x9c, 0xf2, 0x73, 0x3f, 0x55, 0x14, 0xce, 0x79, 0x18, 0xc7, 0x37, 0xbf, 0x73, 0xf7, 0xcd, 0xea, 0x53, 0xfd, 0xaa, 0x5b, 0x5f, 0x3d, 0x6f, 0x14, 0xdf, 0x44, 0xdb, 0x86, 0x78, 0xaf, 0xf3, 0x81, 0xca, 0x68, 0xc4, 0x3e, 0xb9, 0x24, 0x34, 0x2c, 0x38, 0xa3, 0x40, 0x5f, 0xc2, 0x1d, 0xc3, 0x72, 0x16, 0xe2, 0x25, 0x0c, 0xbc, 0x3c, 0x49, 0x8b, 0x28, 0x0d, 0x95, 0x41, 0xff, 0xa8, 0x01, 0x71, 0x39, 0x0c, 0xb3, 0xde, 0x08, 0xb4, 0xe4, 0x9c, 0xd8, 0x56, 0xc1, 0x90, 0x64, 0xcb, 0x84, 0x61, 0x7b, 0x32, 0xb6, 0x70, 0xd5, 0x6c, 0x5c, 0x74, 0x48, 0xb8, 0x57, 0x42, 0xd0, +}; + +const u8 g_AES_1024_1_0_byte[1024] = { + 0xc6, 0x63, 0x63, 0xa5, 0xf8, 0x7c, 0x7c, 0x84, 0xee, 0x77, 0x77, 0x99, 0xf6, 0x7b, 0x7b, 0x8d, 0xff, 0xf2, 0xf2, 0x0d, 0xd6, 0x6b, 0x6b, 0xbd, 0xde, 0x6f, 0x6f, 0xb1, 0x91, 0xc5, 0xc5, 0x54, 0x60, 0x30, 0x30, 0x50, 0x02, 0x01, 0x01, 0x03, 0xce, 0x67, 0x67, 0xa9, 0x56, 0x2b, 0x2b, 0x7d, 0xe7, 0xfe, 0xfe, 0x19, 0xb5, 0xd7, 0xd7, 0x62, 0x4d, 0xab, 0xab, 0xe6, 0xec, 0x76, 0x76, 0x9a, 0x8f, 0xca, 0xca, 0x45, 0x1f, 0x82, 0x82, 0x9d, 0x89, 0xc9, 0xc9, 0x40, 0xfa, 0x7d, 0x7d, 0x87, 0xef, 0xfa, 0xfa, 0x15, 0xb2, 0x59, 0x59, 0xeb, 0x8e, 0x47, 0x47, 0xc9, 0xfb, 0xf0, 0xf0, 0x0b, 0x41, 0xad, 0xad, 0xec, 0xb3, 0xd4, 0xd4, 0x67, 0x5f, 0xa2, 0xa2, 0xfd, 0x45, 0xaf, 0xaf, 0xea, 0x23, 0x9c, 0x9c, 0xbf, 0x53, 0xa4, 0xa4, 0xf7, 0xe4, 0x72, 0x72, 0x96, 0x9b, 0xc0, 0xc0, 0x5b, 0x75, 0xb7, 0xb7, 0xc2, 0xe1, 0xfd, 0xfd, 0x1c, 0x3d, 0x93, 0x93, 0xae, 0x4c, 0x26, 0x26, 0x6a, 0x6c, 0x36, 0x36, 0x5a, 0x7e, 0x3f, 0x3f, 0x41, 0xf5, 0xf7, 0xf7, 0x02, 0x83, 0xcc, 0xcc, 0x4f, 0x68, 0x34, 0x34, 0x5c, 0x51, 0xa5, 0xa5, 0xf4, 0xd1, 0xe5, 0xe5, 0x34, 0xf9, 0xf1, 0xf1, 0x08, 0xe2, 0x71, 0x71, 0x93, 0xab, 0xd8, 0xd8, 0x73, 0x62, 0x31, 0x31, 0x53, 0x2a, 0x15, 0x15, 0x3f, 0x08, 0x04, 0x04, 0x0c, 0x95, 0xc7, 0xc7, 0x52, 0x46, 0x23, 0x23, 0x65, 0x9d, 0xc3, 0xc3, 0x5e, 0x30, 0x18, 0x18, 0x28, 0x37, 0x96, 0x96, 0xa1, 0x0a, 0x05, 0x05, 0x0f, 0x2f, 0x9a, 0x9a, 0xb5, 0x0e, 0x07, 0x07, 0x09, 0x24, 0x12, 0x12, 0x36, 0x1b, 0x80, 0x80, 0x9b, 0xdf, 0xe2, 0xe2, 0x3d, 0xcd, 0xeb, 0xeb, 0x26, 0x4e, 0x27, 0x27, 0x69, 0x7f, 0xb2, 0xb2, 0xcd, 0xea, 0x75, 0x75, 0x9f, 0x12, 0x09, 0x09, 0x1b, 0x1d, 0x83, 0x83, 0x9e, 0x58, 0x2c, 0x2c, 0x74, 0x34, 0x1a, 0x1a, 0x2e, 0x36, 0x1b, 0x1b, 0x2d, 0xdc, 0x6e, 0x6e, 0xb2, 0xb4, 0x5a, 0x5a, 0xee, 0x5b, 0xa0, 0xa0, 0xfb, 0xa4, 0x52, 0x52, 0xf6, 0x76, 0x3b, 0x3b, 0x4d, 0xb7, 0xd6, 0xd6, 0x61, 0x7d, 0xb3, 0xb3, 0xce, 0x52, 0x29, 0x29, 0x7b, 0xdd, 0xe3, 0xe3, 0x3e, 0x5e, 0x2f, 0x2f, 0x71, 0x13, 0x84, 0x84, 0x97, 0xa6, 0x53, 0x53, 0xf5, 0xb9, 0xd1, 0xd1, 0x68, 0x00, 0x00, 0x00, 0x00, 0xc1, 0xed, 0xed, 0x2c, 0x40, 0x20, 0x20, 0x60, 0xe3, 0xfc, 0xfc, 0x1f, 0x79, 0xb1, 0xb1, 0xc8, 0xb6, 0x5b, 0x5b, 0xed, 0xd4, 0x6a, 0x6a, 0xbe, 0x8d, 0xcb, 0xcb, 0x46, 0x67, 0xbe, 0xbe, 0xd9, 0x72, 0x39, 0x39, 0x4b, 0x94, 0x4a, 0x4a, 0xde, 0x98, 0x4c, 0x4c, 0xd4, 0xb0, 0x58, 0x58, 0xe8, 0x85, 0xcf, 0xcf, 0x4a, 0xbb, 0xd0, 0xd0, 0x6b, 0xc5, 0xef, 0xef, 0x2a, 0x4f, 0xaa, 0xaa, 0xe5, 0xed, 0xfb, 0xfb, 0x16, 0x86, 0x43, 0x43, 0xc5, 0x9a, 0x4d, 0x4d, 0xd7, 0x66, 0x33, 0x33, 0x55, 0x11, 0x85, 0x85, 0x94, 0x8a, 0x45, 0x45, 0xcf, 0xe9, 0xf9, 0xf9, 0x10, 0x04, 0x02, 0x02, 0x06, 0xfe, 0x7f, 0x7f, 0x81, 0xa0, 0x50, 0x50, 0xf0, 0x78, 0x3c, 0x3c, 0x44, 0x25, 0x9f, 0x9f, 0xba, 0x4b, 0xa8, 0xa8, 0xe3, 0xa2, 0x51, 0x51, 0xf3, 0x5d, 0xa3, 0xa3, 0xfe, 0x80, 0x40, 0x40, 0xc0, 0x05, 0x8f, 0x8f, 0x8a, 0x3f, 0x92, 0x92, 0xad, 0x21, 0x9d, 0x9d, 0xbc, 0x70, 0x38, 0x38, 0x48, 0xf1, 0xf5, 0xf5, 0x04, 0x63, 0xbc, 0xbc, 0xdf, 0x77, 0xb6, 0xb6, 0xc1, 0xaf, 0xda, 0xda, 0x75, 0x42, 0x21, 0x21, 0x63, 0x20, 0x10, 0x10, 0x30, 0xe5, 0xff, 0xff, 0x1a, 0xfd, 0xf3, 0xf3, 0x0e, 0xbf, 0xd2, 0xd2, 0x6d, 0x81, 0xcd, 0xcd, 0x4c, 0x18, 0x0c, 0x0c, 0x14, 0x26, 0x13, 0x13, 0x35, 0xc3, 0xec, 0xec, 0x2f, 0xbe, 0x5f, 0x5f, 0xe1, 0x35, 0x97, 0x97, 0xa2, 0x88, 0x44, 0x44, 0xcc, 0x2e, 0x17, 0x17, 0x39, 0x93, 0xc4, 0xc4, 0x57, 0x55, 0xa7, 0xa7, 0xf2, 0xfc, 0x7e, 0x7e, 0x82, 0x7a, 0x3d, 0x3d, 0x47, 0xc8, 0x64, 0x64, 0xac, 0xba, 0x5d, 0x5d, 0xe7, 0x32, 0x19, 0x19, 0x2b, 0xe6, 0x73, 0x73, 0x95, 0xc0, 0x60, 0x60, 0xa0, 0x19, 0x81, 0x81, 0x98, 0x9e, 0x4f, 0x4f, 0xd1, 0xa3, 0xdc, 0xdc, 0x7f, 0x44, 0x22, 0x22, 0x66, 0x54, 0x2a, 0x2a, 0x7e, 0x3b, 0x90, 0x90, 0xab, 0x0b, 0x88, 0x88, 0x83, 0x8c, 0x46, 0x46, 0xca, 0xc7, 0xee, 0xee, 0x29, 0x6b, 0xb8, 0xb8, 0xd3, 0x28, 0x14, 0x14, 0x3c, 0xa7, 0xde, 0xde, 0x79, 0xbc, 0x5e, 0x5e, 0xe2, 0x16, 0x0b, 0x0b, 0x1d, 0xad, 0xdb, 0xdb, 0x76, 0xdb, 0xe0, 0xe0, 0x3b, 0x64, 0x32, 0x32, 0x56, 0x74, 0x3a, 0x3a, 0x4e, 0x14, 0x0a, 0x0a, 0x1e, 0x92, 0x49, 0x49, 0xdb, 0x0c, 0x06, 0x06, 0x0a, 0x48, 0x24, 0x24, 0x6c, 0xb8, 0x5c, 0x5c, 0xe4, 0x9f, 0xc2, 0xc2, 0x5d, 0xbd, 0xd3, 0xd3, 0x6e, 0x43, 0xac, 0xac, 0xef, 0xc4, 0x62, 0x62, 0xa6, 0x39, 0x91, 0x91, 0xa8, 0x31, 0x95, 0x95, 0xa4, 0xd3, 0xe4, 0xe4, 0x37, 0xf2, 0x79, 0x79, 0x8b, 0xd5, 0xe7, 0xe7, 0x32, 0x8b, 0xc8, 0xc8, 0x43, 0x6e, 0x37, 0x37, 0x59, 0xda, 0x6d, 0x6d, 0xb7, 0x01, 0x8d, 0x8d, 0x8c, 0xb1, 0xd5, 0xd5, 0x64, 0x9c, 0x4e, 0x4e, 0xd2, 0x49, 0xa9, 0xa9, 0xe0, 0xd8, 0x6c, 0x6c, 0xb4, 0xac, 0x56, 0x56, 0xfa, 0xf3, 0xf4, 0xf4, 0x07, 0xcf, 0xea, 0xea, 0x25, 0xca, 0x65, 0x65, 0xaf, 0xf4, 0x7a, 0x7a, 0x8e, 0x47, 0xae, 0xae, 0xe9, 0x10, 0x08, 0x08, 0x18, 0x6f, 0xba, 0xba, 0xd5, 0xf0, 0x78, 0x78, 0x88, 0x4a, 0x25, 0x25, 0x6f, 0x5c, 0x2e, 0x2e, 0x72, 0x38, 0x1c, 0x1c, 0x24, 0x57, 0xa6, 0xa6, 0xf1, 0x73, 0xb4, 0xb4, 0xc7, 0x97, 0xc6, 0xc6, 0x51, 0xcb, 0xe8, 0xe8, 0x23, 0xa1, 0xdd, 0xdd, 0x7c, 0xe8, 0x74, 0x74, 0x9c, 0x3e, 0x1f, 0x1f, 0x21, 0x96, 0x4b, 0x4b, 0xdd, 0x61, 0xbd, 0xbd, 0xdc, 0x0d, 0x8b, 0x8b, 0x86, 0x0f, 0x8a, 0x8a, 0x85, 0xe0, 0x70, 0x70, 0x90, 0x7c, 0x3e, 0x3e, 0x42, 0x71, 0xb5, 0xb5, 0xc4, 0xcc, 0x66, 0x66, 0xaa, 0x90, 0x48, 0x48, 0xd8, 0x06, 0x03, 0x03, 0x05, 0xf7, 0xf6, 0xf6, 0x01, 0x1c, 0x0e, 0x0e, 0x12, 0xc2, 0x61, 0x61, 0xa3, 0x6a, 0x35, 0x35, 0x5f, 0xae, 0x57, 0x57, 0xf9, 0x69, 0xb9, 0xb9, 0xd0, 0x17, 0x86, 0x86, 0x91, 0x99, 0xc1, 0xc1, 0x58, 0x3a, 0x1d, 0x1d, 0x27, 0x27, 0x9e, 0x9e, 0xb9, 0xd9, 0xe1, 0xe1, 0x38, 0xeb, 0xf8, 0xf8, 0x13, 0x2b, 0x98, 0x98, 0xb3, 0x22, 0x11, 0x11, 0x33, 0xd2, 0x69, 0x69, 0xbb, 0xa9, 0xd9, 0xd9, 0x70, 0x07, 0x8e, 0x8e, 0x89, 0x33, 0x94, 0x94, 0xa7, 0x2d, 0x9b, 0x9b, 0xb6, 0x3c, 0x1e, 0x1e, 0x22, 0x15, 0x87, 0x87, 0x92, 0xc9, 0xe9, 0xe9, 0x20, 0x87, 0xce, 0xce, 0x49, 0xaa, 0x55, 0x55, 0xff, 0x50, 0x28, 0x28, 0x78, 0xa5, 0xdf, 0xdf, 0x7a, 0x03, 0x8c, 0x8c, 0x8f, 0x59, 0xa1, 0xa1, 0xf8, 0x09, 0x89, 0x89, 0x80, 0x1a, 0x0d, 0x0d, 0x17, 0x65, 0xbf, 0xbf, 0xda, 0xd7, 0xe6, 0xe6, 0x31, 0x84, 0x42, 0x42, 0xc6, 0xd0, 0x68, 0x68, 0xb8, 0x82, 0x41, 0x41, 0xc3, 0x29, 0x99, 0x99, 0xb0, 0x5a, 0x2d, 0x2d, 0x77, 0x1e, 0x0f, 0x0f, 0x11, 0x7b, 0xb0, 0xb0, 0xcb, 0xa8, 0x54, 0x54, 0xfc, 0x6d, 0xbb, 0xbb, 0xd6, 0x2c, 0x16, 0x16, 0x3a, +}; + +const u8 g_AES_1024_1_1_byte[1024] = { + 0xa5, 0xc6, 0x63, 0x63, 0x84, 0xf8, 0x7c, 0x7c, 0x99, 0xee, 0x77, 0x77, 0x8d, 0xf6, 0x7b, 0x7b, 0x0d, 0xff, 0xf2, 0xf2, 0xbd, 0xd6, 0x6b, 0x6b, 0xb1, 0xde, 0x6f, 0x6f, 0x54, 0x91, 0xc5, 0xc5, 0x50, 0x60, 0x30, 0x30, 0x03, 0x02, 0x01, 0x01, 0xa9, 0xce, 0x67, 0x67, 0x7d, 0x56, 0x2b, 0x2b, 0x19, 0xe7, 0xfe, 0xfe, 0x62, 0xb5, 0xd7, 0xd7, 0xe6, 0x4d, 0xab, 0xab, 0x9a, 0xec, 0x76, 0x76, 0x45, 0x8f, 0xca, 0xca, 0x9d, 0x1f, 0x82, 0x82, 0x40, 0x89, 0xc9, 0xc9, 0x87, 0xfa, 0x7d, 0x7d, 0x15, 0xef, 0xfa, 0xfa, 0xeb, 0xb2, 0x59, 0x59, 0xc9, 0x8e, 0x47, 0x47, 0x0b, 0xfb, 0xf0, 0xf0, 0xec, 0x41, 0xad, 0xad, 0x67, 0xb3, 0xd4, 0xd4, 0xfd, 0x5f, 0xa2, 0xa2, 0xea, 0x45, 0xaf, 0xaf, 0xbf, 0x23, 0x9c, 0x9c, 0xf7, 0x53, 0xa4, 0xa4, 0x96, 0xe4, 0x72, 0x72, 0x5b, 0x9b, 0xc0, 0xc0, 0xc2, 0x75, 0xb7, 0xb7, 0x1c, 0xe1, 0xfd, 0xfd, 0xae, 0x3d, 0x93, 0x93, 0x6a, 0x4c, 0x26, 0x26, 0x5a, 0x6c, 0x36, 0x36, 0x41, 0x7e, 0x3f, 0x3f, 0x02, 0xf5, 0xf7, 0xf7, 0x4f, 0x83, 0xcc, 0xcc, 0x5c, 0x68, 0x34, 0x34, 0xf4, 0x51, 0xa5, 0xa5, 0x34, 0xd1, 0xe5, 0xe5, 0x08, 0xf9, 0xf1, 0xf1, 0x93, 0xe2, 0x71, 0x71, 0x73, 0xab, 0xd8, 0xd8, 0x53, 0x62, 0x31, 0x31, 0x3f, 0x2a, 0x15, 0x15, 0x0c, 0x08, 0x04, 0x04, 0x52, 0x95, 0xc7, 0xc7, 0x65, 0x46, 0x23, 0x23, 0x5e, 0x9d, 0xc3, 0xc3, 0x28, 0x30, 0x18, 0x18, 0xa1, 0x37, 0x96, 0x96, 0x0f, 0x0a, 0x05, 0x05, 0xb5, 0x2f, 0x9a, 0x9a, 0x09, 0x0e, 0x07, 0x07, 0x36, 0x24, 0x12, 0x12, 0x9b, 0x1b, 0x80, 0x80, 0x3d, 0xdf, 0xe2, 0xe2, 0x26, 0xcd, 0xeb, 0xeb, 0x69, 0x4e, 0x27, 0x27, 0xcd, 0x7f, 0xb2, 0xb2, 0x9f, 0xea, 0x75, 0x75, 0x1b, 0x12, 0x09, 0x09, 0x9e, 0x1d, 0x83, 0x83, 0x74, 0x58, 0x2c, 0x2c, 0x2e, 0x34, 0x1a, 0x1a, 0x2d, 0x36, 0x1b, 0x1b, 0xb2, 0xdc, 0x6e, 0x6e, 0xee, 0xb4, 0x5a, 0x5a, 0xfb, 0x5b, 0xa0, 0xa0, 0xf6, 0xa4, 0x52, 0x52, 0x4d, 0x76, 0x3b, 0x3b, 0x61, 0xb7, 0xd6, 0xd6, 0xce, 0x7d, 0xb3, 0xb3, 0x7b, 0x52, 0x29, 0x29, 0x3e, 0xdd, 0xe3, 0xe3, 0x71, 0x5e, 0x2f, 0x2f, 0x97, 0x13, 0x84, 0x84, 0xf5, 0xa6, 0x53, 0x53, 0x68, 0xb9, 0xd1, 0xd1, 0x00, 0x00, 0x00, 0x00, 0x2c, 0xc1, 0xed, 0xed, 0x60, 0x40, 0x20, 0x20, 0x1f, 0xe3, 0xfc, 0xfc, 0xc8, 0x79, 0xb1, 0xb1, 0xed, 0xb6, 0x5b, 0x5b, 0xbe, 0xd4, 0x6a, 0x6a, 0x46, 0x8d, 0xcb, 0xcb, 0xd9, 0x67, 0xbe, 0xbe, 0x4b, 0x72, 0x39, 0x39, 0xde, 0x94, 0x4a, 0x4a, 0xd4, 0x98, 0x4c, 0x4c, 0xe8, 0xb0, 0x58, 0x58, 0x4a, 0x85, 0xcf, 0xcf, 0x6b, 0xbb, 0xd0, 0xd0, 0x2a, 0xc5, 0xef, 0xef, 0xe5, 0x4f, 0xaa, 0xaa, 0x16, 0xed, 0xfb, 0xfb, 0xc5, 0x86, 0x43, 0x43, 0xd7, 0x9a, 0x4d, 0x4d, 0x55, 0x66, 0x33, 0x33, 0x94, 0x11, 0x85, 0x85, 0xcf, 0x8a, 0x45, 0x45, 0x10, 0xe9, 0xf9, 0xf9, 0x06, 0x04, 0x02, 0x02, 0x81, 0xfe, 0x7f, 0x7f, 0xf0, 0xa0, 0x50, 0x50, 0x44, 0x78, 0x3c, 0x3c, 0xba, 0x25, 0x9f, 0x9f, 0xe3, 0x4b, 0xa8, 0xa8, 0xf3, 0xa2, 0x51, 0x51, 0xfe, 0x5d, 0xa3, 0xa3, 0xc0, 0x80, 0x40, 0x40, 0x8a, 0x05, 0x8f, 0x8f, 0xad, 0x3f, 0x92, 0x92, 0xbc, 0x21, 0x9d, 0x9d, 0x48, 0x70, 0x38, 0x38, 0x04, 0xf1, 0xf5, 0xf5, 0xdf, 0x63, 0xbc, 0xbc, 0xc1, 0x77, 0xb6, 0xb6, 0x75, 0xaf, 0xda, 0xda, 0x63, 0x42, 0x21, 0x21, 0x30, 0x20, 0x10, 0x10, 0x1a, 0xe5, 0xff, 0xff, 0x0e, 0xfd, 0xf3, 0xf3, 0x6d, 0xbf, 0xd2, 0xd2, 0x4c, 0x81, 0xcd, 0xcd, 0x14, 0x18, 0x0c, 0x0c, 0x35, 0x26, 0x13, 0x13, 0x2f, 0xc3, 0xec, 0xec, 0xe1, 0xbe, 0x5f, 0x5f, 0xa2, 0x35, 0x97, 0x97, 0xcc, 0x88, 0x44, 0x44, 0x39, 0x2e, 0x17, 0x17, 0x57, 0x93, 0xc4, 0xc4, 0xf2, 0x55, 0xa7, 0xa7, 0x82, 0xfc, 0x7e, 0x7e, 0x47, 0x7a, 0x3d, 0x3d, 0xac, 0xc8, 0x64, 0x64, 0xe7, 0xba, 0x5d, 0x5d, 0x2b, 0x32, 0x19, 0x19, 0x95, 0xe6, 0x73, 0x73, 0xa0, 0xc0, 0x60, 0x60, 0x98, 0x19, 0x81, 0x81, 0xd1, 0x9e, 0x4f, 0x4f, 0x7f, 0xa3, 0xdc, 0xdc, 0x66, 0x44, 0x22, 0x22, 0x7e, 0x54, 0x2a, 0x2a, 0xab, 0x3b, 0x90, 0x90, 0x83, 0x0b, 0x88, 0x88, 0xca, 0x8c, 0x46, 0x46, 0x29, 0xc7, 0xee, 0xee, 0xd3, 0x6b, 0xb8, 0xb8, 0x3c, 0x28, 0x14, 0x14, 0x79, 0xa7, 0xde, 0xde, 0xe2, 0xbc, 0x5e, 0x5e, 0x1d, 0x16, 0x0b, 0x0b, 0x76, 0xad, 0xdb, 0xdb, 0x3b, 0xdb, 0xe0, 0xe0, 0x56, 0x64, 0x32, 0x32, 0x4e, 0x74, 0x3a, 0x3a, 0x1e, 0x14, 0x0a, 0x0a, 0xdb, 0x92, 0x49, 0x49, 0x0a, 0x0c, 0x06, 0x06, 0x6c, 0x48, 0x24, 0x24, 0xe4, 0xb8, 0x5c, 0x5c, 0x5d, 0x9f, 0xc2, 0xc2, 0x6e, 0xbd, 0xd3, 0xd3, 0xef, 0x43, 0xac, 0xac, 0xa6, 0xc4, 0x62, 0x62, 0xa8, 0x39, 0x91, 0x91, 0xa4, 0x31, 0x95, 0x95, 0x37, 0xd3, 0xe4, 0xe4, 0x8b, 0xf2, 0x79, 0x79, 0x32, 0xd5, 0xe7, 0xe7, 0x43, 0x8b, 0xc8, 0xc8, 0x59, 0x6e, 0x37, 0x37, 0xb7, 0xda, 0x6d, 0x6d, 0x8c, 0x01, 0x8d, 0x8d, 0x64, 0xb1, 0xd5, 0xd5, 0xd2, 0x9c, 0x4e, 0x4e, 0xe0, 0x49, 0xa9, 0xa9, 0xb4, 0xd8, 0x6c, 0x6c, 0xfa, 0xac, 0x56, 0x56, 0x07, 0xf3, 0xf4, 0xf4, 0x25, 0xcf, 0xea, 0xea, 0xaf, 0xca, 0x65, 0x65, 0x8e, 0xf4, 0x7a, 0x7a, 0xe9, 0x47, 0xae, 0xae, 0x18, 0x10, 0x08, 0x08, 0xd5, 0x6f, 0xba, 0xba, 0x88, 0xf0, 0x78, 0x78, 0x6f, 0x4a, 0x25, 0x25, 0x72, 0x5c, 0x2e, 0x2e, 0x24, 0x38, 0x1c, 0x1c, 0xf1, 0x57, 0xa6, 0xa6, 0xc7, 0x73, 0xb4, 0xb4, 0x51, 0x97, 0xc6, 0xc6, 0x23, 0xcb, 0xe8, 0xe8, 0x7c, 0xa1, 0xdd, 0xdd, 0x9c, 0xe8, 0x74, 0x74, 0x21, 0x3e, 0x1f, 0x1f, 0xdd, 0x96, 0x4b, 0x4b, 0xdc, 0x61, 0xbd, 0xbd, 0x86, 0x0d, 0x8b, 0x8b, 0x85, 0x0f, 0x8a, 0x8a, 0x90, 0xe0, 0x70, 0x70, 0x42, 0x7c, 0x3e, 0x3e, 0xc4, 0x71, 0xb5, 0xb5, 0xaa, 0xcc, 0x66, 0x66, 0xd8, 0x90, 0x48, 0x48, 0x05, 0x06, 0x03, 0x03, 0x01, 0xf7, 0xf6, 0xf6, 0x12, 0x1c, 0x0e, 0x0e, 0xa3, 0xc2, 0x61, 0x61, 0x5f, 0x6a, 0x35, 0x35, 0xf9, 0xae, 0x57, 0x57, 0xd0, 0x69, 0xb9, 0xb9, 0x91, 0x17, 0x86, 0x86, 0x58, 0x99, 0xc1, 0xc1, 0x27, 0x3a, 0x1d, 0x1d, 0xb9, 0x27, 0x9e, 0x9e, 0x38, 0xd9, 0xe1, 0xe1, 0x13, 0xeb, 0xf8, 0xf8, 0xb3, 0x2b, 0x98, 0x98, 0x33, 0x22, 0x11, 0x11, 0xbb, 0xd2, 0x69, 0x69, 0x70, 0xa9, 0xd9, 0xd9, 0x89, 0x07, 0x8e, 0x8e, 0xa7, 0x33, 0x94, 0x94, 0xb6, 0x2d, 0x9b, 0x9b, 0x22, 0x3c, 0x1e, 0x1e, 0x92, 0x15, 0x87, 0x87, 0x20, 0xc9, 0xe9, 0xe9, 0x49, 0x87, 0xce, 0xce, 0xff, 0xaa, 0x55, 0x55, 0x78, 0x50, 0x28, 0x28, 0x7a, 0xa5, 0xdf, 0xdf, 0x8f, 0x03, 0x8c, 0x8c, 0xf8, 0x59, 0xa1, 0xa1, 0x80, 0x09, 0x89, 0x89, 0x17, 0x1a, 0x0d, 0x0d, 0xda, 0x65, 0xbf, 0xbf, 0x31, 0xd7, 0xe6, 0xe6, 0xc6, 0x84, 0x42, 0x42, 0xb8, 0xd0, 0x68, 0x68, 0xc3, 0x82, 0x41, 0x41, 0xb0, 0x29, 0x99, 0x99, 0x77, 0x5a, 0x2d, 0x2d, 0x11, 0x1e, 0x0f, 0x0f, 0xcb, 0x7b, 0xb0, 0xb0, 0xfc, 0xa8, 0x54, 0x54, 0xd6, 0x6d, 0xbb, 0xbb, 0x3a, 0x2c, 0x16, 0x16, +}; + +const u8 g_AES_1024_1_2_byte[1024] = { + 0x63, 0xa5, 0xc6, 0x63, 0x7c, 0x84, 0xf8, 0x7c, 0x77, 0x99, 0xee, 0x77, 0x7b, 0x8d, 0xf6, 0x7b, 0xf2, 0x0d, 0xff, 0xf2, 0x6b, 0xbd, 0xd6, 0x6b, 0x6f, 0xb1, 0xde, 0x6f, 0xc5, 0x54, 0x91, 0xc5, 0x30, 0x50, 0x60, 0x30, 0x01, 0x03, 0x02, 0x01, 0x67, 0xa9, 0xce, 0x67, 0x2b, 0x7d, 0x56, 0x2b, 0xfe, 0x19, 0xe7, 0xfe, 0xd7, 0x62, 0xb5, 0xd7, 0xab, 0xe6, 0x4d, 0xab, 0x76, 0x9a, 0xec, 0x76, 0xca, 0x45, 0x8f, 0xca, 0x82, 0x9d, 0x1f, 0x82, 0xc9, 0x40, 0x89, 0xc9, 0x7d, 0x87, 0xfa, 0x7d, 0xfa, 0x15, 0xef, 0xfa, 0x59, 0xeb, 0xb2, 0x59, 0x47, 0xc9, 0x8e, 0x47, 0xf0, 0x0b, 0xfb, 0xf0, 0xad, 0xec, 0x41, 0xad, 0xd4, 0x67, 0xb3, 0xd4, 0xa2, 0xfd, 0x5f, 0xa2, 0xaf, 0xea, 0x45, 0xaf, 0x9c, 0xbf, 0x23, 0x9c, 0xa4, 0xf7, 0x53, 0xa4, 0x72, 0x96, 0xe4, 0x72, 0xc0, 0x5b, 0x9b, 0xc0, 0xb7, 0xc2, 0x75, 0xb7, 0xfd, 0x1c, 0xe1, 0xfd, 0x93, 0xae, 0x3d, 0x93, 0x26, 0x6a, 0x4c, 0x26, 0x36, 0x5a, 0x6c, 0x36, 0x3f, 0x41, 0x7e, 0x3f, 0xf7, 0x02, 0xf5, 0xf7, 0xcc, 0x4f, 0x83, 0xcc, 0x34, 0x5c, 0x68, 0x34, 0xa5, 0xf4, 0x51, 0xa5, 0xe5, 0x34, 0xd1, 0xe5, 0xf1, 0x08, 0xf9, 0xf1, 0x71, 0x93, 0xe2, 0x71, 0xd8, 0x73, 0xab, 0xd8, 0x31, 0x53, 0x62, 0x31, 0x15, 0x3f, 0x2a, 0x15, 0x04, 0x0c, 0x08, 0x04, 0xc7, 0x52, 0x95, 0xc7, 0x23, 0x65, 0x46, 0x23, 0xc3, 0x5e, 0x9d, 0xc3, 0x18, 0x28, 0x30, 0x18, 0x96, 0xa1, 0x37, 0x96, 0x05, 0x0f, 0x0a, 0x05, 0x9a, 0xb5, 0x2f, 0x9a, 0x07, 0x09, 0x0e, 0x07, 0x12, 0x36, 0x24, 0x12, 0x80, 0x9b, 0x1b, 0x80, 0xe2, 0x3d, 0xdf, 0xe2, 0xeb, 0x26, 0xcd, 0xeb, 0x27, 0x69, 0x4e, 0x27, 0xb2, 0xcd, 0x7f, 0xb2, 0x75, 0x9f, 0xea, 0x75, 0x09, 0x1b, 0x12, 0x09, 0x83, 0x9e, 0x1d, 0x83, 0x2c, 0x74, 0x58, 0x2c, 0x1a, 0x2e, 0x34, 0x1a, 0x1b, 0x2d, 0x36, 0x1b, 0x6e, 0xb2, 0xdc, 0x6e, 0x5a, 0xee, 0xb4, 0x5a, 0xa0, 0xfb, 0x5b, 0xa0, 0x52, 0xf6, 0xa4, 0x52, 0x3b, 0x4d, 0x76, 0x3b, 0xd6, 0x61, 0xb7, 0xd6, 0xb3, 0xce, 0x7d, 0xb3, 0x29, 0x7b, 0x52, 0x29, 0xe3, 0x3e, 0xdd, 0xe3, 0x2f, 0x71, 0x5e, 0x2f, 0x84, 0x97, 0x13, 0x84, 0x53, 0xf5, 0xa6, 0x53, 0xd1, 0x68, 0xb9, 0xd1, 0x00, 0x00, 0x00, 0x00, 0xed, 0x2c, 0xc1, 0xed, 0x20, 0x60, 0x40, 0x20, 0xfc, 0x1f, 0xe3, 0xfc, 0xb1, 0xc8, 0x79, 0xb1, 0x5b, 0xed, 0xb6, 0x5b, 0x6a, 0xbe, 0xd4, 0x6a, 0xcb, 0x46, 0x8d, 0xcb, 0xbe, 0xd9, 0x67, 0xbe, 0x39, 0x4b, 0x72, 0x39, 0x4a, 0xde, 0x94, 0x4a, 0x4c, 0xd4, 0x98, 0x4c, 0x58, 0xe8, 0xb0, 0x58, 0xcf, 0x4a, 0x85, 0xcf, 0xd0, 0x6b, 0xbb, 0xd0, 0xef, 0x2a, 0xc5, 0xef, 0xaa, 0xe5, 0x4f, 0xaa, 0xfb, 0x16, 0xed, 0xfb, 0x43, 0xc5, 0x86, 0x43, 0x4d, 0xd7, 0x9a, 0x4d, 0x33, 0x55, 0x66, 0x33, 0x85, 0x94, 0x11, 0x85, 0x45, 0xcf, 0x8a, 0x45, 0xf9, 0x10, 0xe9, 0xf9, 0x02, 0x06, 0x04, 0x02, 0x7f, 0x81, 0xfe, 0x7f, 0x50, 0xf0, 0xa0, 0x50, 0x3c, 0x44, 0x78, 0x3c, 0x9f, 0xba, 0x25, 0x9f, 0xa8, 0xe3, 0x4b, 0xa8, 0x51, 0xf3, 0xa2, 0x51, 0xa3, 0xfe, 0x5d, 0xa3, 0x40, 0xc0, 0x80, 0x40, 0x8f, 0x8a, 0x05, 0x8f, 0x92, 0xad, 0x3f, 0x92, 0x9d, 0xbc, 0x21, 0x9d, 0x38, 0x48, 0x70, 0x38, 0xf5, 0x04, 0xf1, 0xf5, 0xbc, 0xdf, 0x63, 0xbc, 0xb6, 0xc1, 0x77, 0xb6, 0xda, 0x75, 0xaf, 0xda, 0x21, 0x63, 0x42, 0x21, 0x10, 0x30, 0x20, 0x10, 0xff, 0x1a, 0xe5, 0xff, 0xf3, 0x0e, 0xfd, 0xf3, 0xd2, 0x6d, 0xbf, 0xd2, 0xcd, 0x4c, 0x81, 0xcd, 0x0c, 0x14, 0x18, 0x0c, 0x13, 0x35, 0x26, 0x13, 0xec, 0x2f, 0xc3, 0xec, 0x5f, 0xe1, 0xbe, 0x5f, 0x97, 0xa2, 0x35, 0x97, 0x44, 0xcc, 0x88, 0x44, 0x17, 0x39, 0x2e, 0x17, 0xc4, 0x57, 0x93, 0xc4, 0xa7, 0xf2, 0x55, 0xa7, 0x7e, 0x82, 0xfc, 0x7e, 0x3d, 0x47, 0x7a, 0x3d, 0x64, 0xac, 0xc8, 0x64, 0x5d, 0xe7, 0xba, 0x5d, 0x19, 0x2b, 0x32, 0x19, 0x73, 0x95, 0xe6, 0x73, 0x60, 0xa0, 0xc0, 0x60, 0x81, 0x98, 0x19, 0x81, 0x4f, 0xd1, 0x9e, 0x4f, 0xdc, 0x7f, 0xa3, 0xdc, 0x22, 0x66, 0x44, 0x22, 0x2a, 0x7e, 0x54, 0x2a, 0x90, 0xab, 0x3b, 0x90, 0x88, 0x83, 0x0b, 0x88, 0x46, 0xca, 0x8c, 0x46, 0xee, 0x29, 0xc7, 0xee, 0xb8, 0xd3, 0x6b, 0xb8, 0x14, 0x3c, 0x28, 0x14, 0xde, 0x79, 0xa7, 0xde, 0x5e, 0xe2, 0xbc, 0x5e, 0x0b, 0x1d, 0x16, 0x0b, 0xdb, 0x76, 0xad, 0xdb, 0xe0, 0x3b, 0xdb, 0xe0, 0x32, 0x56, 0x64, 0x32, 0x3a, 0x4e, 0x74, 0x3a, 0x0a, 0x1e, 0x14, 0x0a, 0x49, 0xdb, 0x92, 0x49, 0x06, 0x0a, 0x0c, 0x06, 0x24, 0x6c, 0x48, 0x24, 0x5c, 0xe4, 0xb8, 0x5c, 0xc2, 0x5d, 0x9f, 0xc2, 0xd3, 0x6e, 0xbd, 0xd3, 0xac, 0xef, 0x43, 0xac, 0x62, 0xa6, 0xc4, 0x62, 0x91, 0xa8, 0x39, 0x91, 0x95, 0xa4, 0x31, 0x95, 0xe4, 0x37, 0xd3, 0xe4, 0x79, 0x8b, 0xf2, 0x79, 0xe7, 0x32, 0xd5, 0xe7, 0xc8, 0x43, 0x8b, 0xc8, 0x37, 0x59, 0x6e, 0x37, 0x6d, 0xb7, 0xda, 0x6d, 0x8d, 0x8c, 0x01, 0x8d, 0xd5, 0x64, 0xb1, 0xd5, 0x4e, 0xd2, 0x9c, 0x4e, 0xa9, 0xe0, 0x49, 0xa9, 0x6c, 0xb4, 0xd8, 0x6c, 0x56, 0xfa, 0xac, 0x56, 0xf4, 0x07, 0xf3, 0xf4, 0xea, 0x25, 0xcf, 0xea, 0x65, 0xaf, 0xca, 0x65, 0x7a, 0x8e, 0xf4, 0x7a, 0xae, 0xe9, 0x47, 0xae, 0x08, 0x18, 0x10, 0x08, 0xba, 0xd5, 0x6f, 0xba, 0x78, 0x88, 0xf0, 0x78, 0x25, 0x6f, 0x4a, 0x25, 0x2e, 0x72, 0x5c, 0x2e, 0x1c, 0x24, 0x38, 0x1c, 0xa6, 0xf1, 0x57, 0xa6, 0xb4, 0xc7, 0x73, 0xb4, 0xc6, 0x51, 0x97, 0xc6, 0xe8, 0x23, 0xcb, 0xe8, 0xdd, 0x7c, 0xa1, 0xdd, 0x74, 0x9c, 0xe8, 0x74, 0x1f, 0x21, 0x3e, 0x1f, 0x4b, 0xdd, 0x96, 0x4b, 0xbd, 0xdc, 0x61, 0xbd, 0x8b, 0x86, 0x0d, 0x8b, 0x8a, 0x85, 0x0f, 0x8a, 0x70, 0x90, 0xe0, 0x70, 0x3e, 0x42, 0x7c, 0x3e, 0xb5, 0xc4, 0x71, 0xb5, 0x66, 0xaa, 0xcc, 0x66, 0x48, 0xd8, 0x90, 0x48, 0x03, 0x05, 0x06, 0x03, 0xf6, 0x01, 0xf7, 0xf6, 0x0e, 0x12, 0x1c, 0x0e, 0x61, 0xa3, 0xc2, 0x61, 0x35, 0x5f, 0x6a, 0x35, 0x57, 0xf9, 0xae, 0x57, 0xb9, 0xd0, 0x69, 0xb9, 0x86, 0x91, 0x17, 0x86, 0xc1, 0x58, 0x99, 0xc1, 0x1d, 0x27, 0x3a, 0x1d, 0x9e, 0xb9, 0x27, 0x9e, 0xe1, 0x38, 0xd9, 0xe1, 0xf8, 0x13, 0xeb, 0xf8, 0x98, 0xb3, 0x2b, 0x98, 0x11, 0x33, 0x22, 0x11, 0x69, 0xbb, 0xd2, 0x69, 0xd9, 0x70, 0xa9, 0xd9, 0x8e, 0x89, 0x07, 0x8e, 0x94, 0xa7, 0x33, 0x94, 0x9b, 0xb6, 0x2d, 0x9b, 0x1e, 0x22, 0x3c, 0x1e, 0x87, 0x92, 0x15, 0x87, 0xe9, 0x20, 0xc9, 0xe9, 0xce, 0x49, 0x87, 0xce, 0x55, 0xff, 0xaa, 0x55, 0x28, 0x78, 0x50, 0x28, 0xdf, 0x7a, 0xa5, 0xdf, 0x8c, 0x8f, 0x03, 0x8c, 0xa1, 0xf8, 0x59, 0xa1, 0x89, 0x80, 0x09, 0x89, 0x0d, 0x17, 0x1a, 0x0d, 0xbf, 0xda, 0x65, 0xbf, 0xe6, 0x31, 0xd7, 0xe6, 0x42, 0xc6, 0x84, 0x42, 0x68, 0xb8, 0xd0, 0x68, 0x41, 0xc3, 0x82, 0x41, 0x99, 0xb0, 0x29, 0x99, 0x2d, 0x77, 0x5a, 0x2d, 0x0f, 0x11, 0x1e, 0x0f, 0xb0, 0xcb, 0x7b, 0xb0, 0x54, 0xfc, 0xa8, 0x54, 0xbb, 0xd6, 0x6d, 0xbb, 0x16, 0x3a, 0x2c, 0x16, +}; + +const u8 g_AES_1024_1_3_byte[1024] = { + 0x63, 0x63, 0xa5, 0xc6, 0x7c, 0x7c, 0x84, 0xf8, 0x77, 0x77, 0x99, 0xee, 0x7b, 0x7b, 0x8d, 0xf6, 0xf2, 0xf2, 0x0d, 0xff, 0x6b, 0x6b, 0xbd, 0xd6, 0x6f, 0x6f, 0xb1, 0xde, 0xc5, 0xc5, 0x54, 0x91, 0x30, 0x30, 0x50, 0x60, 0x01, 0x01, 0x03, 0x02, 0x67, 0x67, 0xa9, 0xce, 0x2b, 0x2b, 0x7d, 0x56, 0xfe, 0xfe, 0x19, 0xe7, 0xd7, 0xd7, 0x62, 0xb5, 0xab, 0xab, 0xe6, 0x4d, 0x76, 0x76, 0x9a, 0xec, 0xca, 0xca, 0x45, 0x8f, 0x82, 0x82, 0x9d, 0x1f, 0xc9, 0xc9, 0x40, 0x89, 0x7d, 0x7d, 0x87, 0xfa, 0xfa, 0xfa, 0x15, 0xef, 0x59, 0x59, 0xeb, 0xb2, 0x47, 0x47, 0xc9, 0x8e, 0xf0, 0xf0, 0x0b, 0xfb, 0xad, 0xad, 0xec, 0x41, 0xd4, 0xd4, 0x67, 0xb3, 0xa2, 0xa2, 0xfd, 0x5f, 0xaf, 0xaf, 0xea, 0x45, 0x9c, 0x9c, 0xbf, 0x23, 0xa4, 0xa4, 0xf7, 0x53, 0x72, 0x72, 0x96, 0xe4, 0xc0, 0xc0, 0x5b, 0x9b, 0xb7, 0xb7, 0xc2, 0x75, 0xfd, 0xfd, 0x1c, 0xe1, 0x93, 0x93, 0xae, 0x3d, 0x26, 0x26, 0x6a, 0x4c, 0x36, 0x36, 0x5a, 0x6c, 0x3f, 0x3f, 0x41, 0x7e, 0xf7, 0xf7, 0x02, 0xf5, 0xcc, 0xcc, 0x4f, 0x83, 0x34, 0x34, 0x5c, 0x68, 0xa5, 0xa5, 0xf4, 0x51, 0xe5, 0xe5, 0x34, 0xd1, 0xf1, 0xf1, 0x08, 0xf9, 0x71, 0x71, 0x93, 0xe2, 0xd8, 0xd8, 0x73, 0xab, 0x31, 0x31, 0x53, 0x62, 0x15, 0x15, 0x3f, 0x2a, 0x04, 0x04, 0x0c, 0x08, 0xc7, 0xc7, 0x52, 0x95, 0x23, 0x23, 0x65, 0x46, 0xc3, 0xc3, 0x5e, 0x9d, 0x18, 0x18, 0x28, 0x30, 0x96, 0x96, 0xa1, 0x37, 0x05, 0x05, 0x0f, 0x0a, 0x9a, 0x9a, 0xb5, 0x2f, 0x07, 0x07, 0x09, 0x0e, 0x12, 0x12, 0x36, 0x24, 0x80, 0x80, 0x9b, 0x1b, 0xe2, 0xe2, 0x3d, 0xdf, 0xeb, 0xeb, 0x26, 0xcd, 0x27, 0x27, 0x69, 0x4e, 0xb2, 0xb2, 0xcd, 0x7f, 0x75, 0x75, 0x9f, 0xea, 0x09, 0x09, 0x1b, 0x12, 0x83, 0x83, 0x9e, 0x1d, 0x2c, 0x2c, 0x74, 0x58, 0x1a, 0x1a, 0x2e, 0x34, 0x1b, 0x1b, 0x2d, 0x36, 0x6e, 0x6e, 0xb2, 0xdc, 0x5a, 0x5a, 0xee, 0xb4, 0xa0, 0xa0, 0xfb, 0x5b, 0x52, 0x52, 0xf6, 0xa4, 0x3b, 0x3b, 0x4d, 0x76, 0xd6, 0xd6, 0x61, 0xb7, 0xb3, 0xb3, 0xce, 0x7d, 0x29, 0x29, 0x7b, 0x52, 0xe3, 0xe3, 0x3e, 0xdd, 0x2f, 0x2f, 0x71, 0x5e, 0x84, 0x84, 0x97, 0x13, 0x53, 0x53, 0xf5, 0xa6, 0xd1, 0xd1, 0x68, 0xb9, 0x00, 0x00, 0x00, 0x00, 0xed, 0xed, 0x2c, 0xc1, 0x20, 0x20, 0x60, 0x40, 0xfc, 0xfc, 0x1f, 0xe3, 0xb1, 0xb1, 0xc8, 0x79, 0x5b, 0x5b, 0xed, 0xb6, 0x6a, 0x6a, 0xbe, 0xd4, 0xcb, 0xcb, 0x46, 0x8d, 0xbe, 0xbe, 0xd9, 0x67, 0x39, 0x39, 0x4b, 0x72, 0x4a, 0x4a, 0xde, 0x94, 0x4c, 0x4c, 0xd4, 0x98, 0x58, 0x58, 0xe8, 0xb0, 0xcf, 0xcf, 0x4a, 0x85, 0xd0, 0xd0, 0x6b, 0xbb, 0xef, 0xef, 0x2a, 0xc5, 0xaa, 0xaa, 0xe5, 0x4f, 0xfb, 0xfb, 0x16, 0xed, 0x43, 0x43, 0xc5, 0x86, 0x4d, 0x4d, 0xd7, 0x9a, 0x33, 0x33, 0x55, 0x66, 0x85, 0x85, 0x94, 0x11, 0x45, 0x45, 0xcf, 0x8a, 0xf9, 0xf9, 0x10, 0xe9, 0x02, 0x02, 0x06, 0x04, 0x7f, 0x7f, 0x81, 0xfe, 0x50, 0x50, 0xf0, 0xa0, 0x3c, 0x3c, 0x44, 0x78, 0x9f, 0x9f, 0xba, 0x25, 0xa8, 0xa8, 0xe3, 0x4b, 0x51, 0x51, 0xf3, 0xa2, 0xa3, 0xa3, 0xfe, 0x5d, 0x40, 0x40, 0xc0, 0x80, 0x8f, 0x8f, 0x8a, 0x05, 0x92, 0x92, 0xad, 0x3f, 0x9d, 0x9d, 0xbc, 0x21, 0x38, 0x38, 0x48, 0x70, 0xf5, 0xf5, 0x04, 0xf1, 0xbc, 0xbc, 0xdf, 0x63, 0xb6, 0xb6, 0xc1, 0x77, 0xda, 0xda, 0x75, 0xaf, 0x21, 0x21, 0x63, 0x42, 0x10, 0x10, 0x30, 0x20, 0xff, 0xff, 0x1a, 0xe5, 0xf3, 0xf3, 0x0e, 0xfd, 0xd2, 0xd2, 0x6d, 0xbf, 0xcd, 0xcd, 0x4c, 0x81, 0x0c, 0x0c, 0x14, 0x18, 0x13, 0x13, 0x35, 0x26, 0xec, 0xec, 0x2f, 0xc3, 0x5f, 0x5f, 0xe1, 0xbe, 0x97, 0x97, 0xa2, 0x35, 0x44, 0x44, 0xcc, 0x88, 0x17, 0x17, 0x39, 0x2e, 0xc4, 0xc4, 0x57, 0x93, 0xa7, 0xa7, 0xf2, 0x55, 0x7e, 0x7e, 0x82, 0xfc, 0x3d, 0x3d, 0x47, 0x7a, 0x64, 0x64, 0xac, 0xc8, 0x5d, 0x5d, 0xe7, 0xba, 0x19, 0x19, 0x2b, 0x32, 0x73, 0x73, 0x95, 0xe6, 0x60, 0x60, 0xa0, 0xc0, 0x81, 0x81, 0x98, 0x19, 0x4f, 0x4f, 0xd1, 0x9e, 0xdc, 0xdc, 0x7f, 0xa3, 0x22, 0x22, 0x66, 0x44, 0x2a, 0x2a, 0x7e, 0x54, 0x90, 0x90, 0xab, 0x3b, 0x88, 0x88, 0x83, 0x0b, 0x46, 0x46, 0xca, 0x8c, 0xee, 0xee, 0x29, 0xc7, 0xb8, 0xb8, 0xd3, 0x6b, 0x14, 0x14, 0x3c, 0x28, 0xde, 0xde, 0x79, 0xa7, 0x5e, 0x5e, 0xe2, 0xbc, 0x0b, 0x0b, 0x1d, 0x16, 0xdb, 0xdb, 0x76, 0xad, 0xe0, 0xe0, 0x3b, 0xdb, 0x32, 0x32, 0x56, 0x64, 0x3a, 0x3a, 0x4e, 0x74, 0x0a, 0x0a, 0x1e, 0x14, 0x49, 0x49, 0xdb, 0x92, 0x06, 0x06, 0x0a, 0x0c, 0x24, 0x24, 0x6c, 0x48, 0x5c, 0x5c, 0xe4, 0xb8, 0xc2, 0xc2, 0x5d, 0x9f, 0xd3, 0xd3, 0x6e, 0xbd, 0xac, 0xac, 0xef, 0x43, 0x62, 0x62, 0xa6, 0xc4, 0x91, 0x91, 0xa8, 0x39, 0x95, 0x95, 0xa4, 0x31, 0xe4, 0xe4, 0x37, 0xd3, 0x79, 0x79, 0x8b, 0xf2, 0xe7, 0xe7, 0x32, 0xd5, 0xc8, 0xc8, 0x43, 0x8b, 0x37, 0x37, 0x59, 0x6e, 0x6d, 0x6d, 0xb7, 0xda, 0x8d, 0x8d, 0x8c, 0x01, 0xd5, 0xd5, 0x64, 0xb1, 0x4e, 0x4e, 0xd2, 0x9c, 0xa9, 0xa9, 0xe0, 0x49, 0x6c, 0x6c, 0xb4, 0xd8, 0x56, 0x56, 0xfa, 0xac, 0xf4, 0xf4, 0x07, 0xf3, 0xea, 0xea, 0x25, 0xcf, 0x65, 0x65, 0xaf, 0xca, 0x7a, 0x7a, 0x8e, 0xf4, 0xae, 0xae, 0xe9, 0x47, 0x08, 0x08, 0x18, 0x10, 0xba, 0xba, 0xd5, 0x6f, 0x78, 0x78, 0x88, 0xf0, 0x25, 0x25, 0x6f, 0x4a, 0x2e, 0x2e, 0x72, 0x5c, 0x1c, 0x1c, 0x24, 0x38, 0xa6, 0xa6, 0xf1, 0x57, 0xb4, 0xb4, 0xc7, 0x73, 0xc6, 0xc6, 0x51, 0x97, 0xe8, 0xe8, 0x23, 0xcb, 0xdd, 0xdd, 0x7c, 0xa1, 0x74, 0x74, 0x9c, 0xe8, 0x1f, 0x1f, 0x21, 0x3e, 0x4b, 0x4b, 0xdd, 0x96, 0xbd, 0xbd, 0xdc, 0x61, 0x8b, 0x8b, 0x86, 0x0d, 0x8a, 0x8a, 0x85, 0x0f, 0x70, 0x70, 0x90, 0xe0, 0x3e, 0x3e, 0x42, 0x7c, 0xb5, 0xb5, 0xc4, 0x71, 0x66, 0x66, 0xaa, 0xcc, 0x48, 0x48, 0xd8, 0x90, 0x03, 0x03, 0x05, 0x06, 0xf6, 0xf6, 0x01, 0xf7, 0x0e, 0x0e, 0x12, 0x1c, 0x61, 0x61, 0xa3, 0xc2, 0x35, 0x35, 0x5f, 0x6a, 0x57, 0x57, 0xf9, 0xae, 0xb9, 0xb9, 0xd0, 0x69, 0x86, 0x86, 0x91, 0x17, 0xc1, 0xc1, 0x58, 0x99, 0x1d, 0x1d, 0x27, 0x3a, 0x9e, 0x9e, 0xb9, 0x27, 0xe1, 0xe1, 0x38, 0xd9, 0xf8, 0xf8, 0x13, 0xeb, 0x98, 0x98, 0xb3, 0x2b, 0x11, 0x11, 0x33, 0x22, 0x69, 0x69, 0xbb, 0xd2, 0xd9, 0xd9, 0x70, 0xa9, 0x8e, 0x8e, 0x89, 0x07, 0x94, 0x94, 0xa7, 0x33, 0x9b, 0x9b, 0xb6, 0x2d, 0x1e, 0x1e, 0x22, 0x3c, 0x87, 0x87, 0x92, 0x15, 0xe9, 0xe9, 0x20, 0xc9, 0xce, 0xce, 0x49, 0x87, 0x55, 0x55, 0xff, 0xaa, 0x28, 0x28, 0x78, 0x50, 0xdf, 0xdf, 0x7a, 0xa5, 0x8c, 0x8c, 0x8f, 0x03, 0xa1, 0xa1, 0xf8, 0x59, 0x89, 0x89, 0x80, 0x09, 0x0d, 0x0d, 0x17, 0x1a, 0xbf, 0xbf, 0xda, 0x65, 0xe6, 0xe6, 0x31, 0xd7, 0x42, 0x42, 0xc6, 0x84, 0x68, 0x68, 0xb8, 0xd0, 0x41, 0x41, 0xc3, 0x82, 0x99, 0x99, 0xb0, 0x29, 0x2d, 0x2d, 0x77, 0x5a, 0x0f, 0x0f, 0x11, 0x1e, 0xb0, 0xb0, 0xcb, 0x7b, 0x54, 0x54, 0xfc, 0xa8, 0xbb, 0xbb, 0xd6, 0x6d, 0x16, 0x16, 0x3a, 0x2c, +}; + +void CryptoAES::Init(const u8* key1_, const u8* key2_) +{ + memmove(key1, key1_, 16); + memmove(key2, key2_, 16); + + // key expansion + const int rounds = 10; + + memmove(key1Expansion1, key1_, 16); + + const u32 roundTable[10] = { + 0x1, 0x2, 0x4, 0x8, 0x10, 0x20, 0x40, 0x80, 0x1b, 0x36 + }; + + u32* buff1_4 = key1Expansion1; + for(int i = 0; i < rounds; i++) { + const u32 swapID = buff1_4[3]; + u32 xor1; + u8* xor1_4 = (u8*)&xor1; + xor1_4[0] = g_AES_256_0[swapID >> 8 & 0xff]; + xor1_4[1] = g_AES_256_0[swapID >> 16 & 0xff]; + xor1_4[2] = g_AES_256_0[swapID >> 24]; + xor1_4[3] = g_AES_256_0[swapID & 0xff]; + + buff1_4[4] = roundTable[i] ^ buff1_4[0] ^ xor1; + + u32* p = buff1_4; + for(int j = 0; j < 3; j++) { + p[5] = p[4] ^ p[1]; + p++; + } + + buff1_4 += 4; + } + + buff1_4 = key1Expansion1 + rounds * 4 + 1; // end + u32* buff2_4 = key1Expansion2; + for(int i = 0; i < rounds+1; i++) { + buff2_4[0] = buff1_4[-1]; + buff2_4[1] = buff1_4[0]; + buff2_4[2] = buff1_4[1]; + buff2_4[3] = buff1_4[2]; + buff2_4 += 4; + buff1_4 -= 4; + } + + u8* buff2_1 = (u8*)key1Expansion2 + 17; + for(int i = 0; i < 40; i++) { + buff2_4 = (u32*)(buff2_1 - 1); + buff2_4[0] = + *(u32*)(g_AES_1024_2 + (u32)g_AES_256_0[buff2_1[1]] * 4) ^ + *(u32*)(g_AES_1024_3 + (u32)g_AES_256_0[buff2_1[2]] * 4) ^ + *(u32*)(g_AES_1024_1 + (u32)g_AES_256_0[buff2_1[0]] * 4) ^ + *(u32*)(g_AES_1024_0 + (u32)g_AES_256_0[buff2_1[-1]] * 4); + buff2_1 += 4; + } +} + +void CryptoAES::Key2AddOffset(u8* out, i32 offset) +{ + memmove(out, key2, sizeof(key2)); + + u64 add = 0; + u8* add1 = (u8*)&add; + add1[0] = out[15]; + add1[1] = out[14]; + add1[2] = out[13]; + add1[3] = out[12]; + add1[4] = out[11]; + add1[5] = out[10]; + add1[6] = out[9]; + add1[7] = out[8]; + + add += offset; + + out[8] = add1[7]; + out[9] = add1[6]; + out[10] = add1[5]; + out[11] = add1[4]; + out[12] = add1[3]; + out[13] = add1[2]; + out[14] = add1[1]; + out[15] = add1[0]; +} + + +void CryptoAES::ComputeXorBlock(u32* key) +{ + const u32* g_AES_1024_1_0 = (u32*)g_AES_1024_1_0_byte; + const u32* g_AES_1024_1_1 = (u32*)g_AES_1024_1_1_byte; + const u32* g_AES_1024_1_2 = (u32*)g_AES_1024_1_2_byte; + const u32* g_AES_1024_1_3 = (u32*)g_AES_1024_1_3_byte; + + const u32* exp1 = key1Expansion1; + + u32 xor0 = *exp1 ^ *key; + u32 xor1 = exp1[1] ^ key[1]; + u32 xor3 = exp1[3] ^ key[3]; + u32 xor2 = exp1[2] ^ key[2]; + + u32 step1_0 = g_AES_1024_1_2[xor2 >> 0x10 & 0xff] ^ g_AES_1024_1_1[xor1 >> 8 & 0xff] ^ g_AES_1024_1_3[xor3 >> 0x18] ^ g_AES_1024_1_0[xor0 & 0xff] ^ exp1[4]; + u32 step1_1 = g_AES_1024_1_2[xor3 >> 0x10 & 0xff] ^ g_AES_1024_1_1[xor2 >> 8 & 0xff] ^ g_AES_1024_1_3[xor0 >> 0x18] ^ g_AES_1024_1_0[xor1 & 0xff] ^ exp1[5]; + u32 step1_2 = g_AES_1024_1_1[xor3 >> 8 & 0xff] ^ g_AES_1024_1_2[xor0 >> 0x10 & 0xff] ^ g_AES_1024_1_3[xor1 >> 0x18] ^ g_AES_1024_1_0[xor2 & 0xff] ^ exp1[6]; + u32 step1_3 = g_AES_1024_1_2[xor1 >> 0x10 & 0xff] ^ g_AES_1024_1_1[xor0 >> 8 & 0xff] ^ g_AES_1024_1_3[xor2 >> 0x18] ^ g_AES_1024_1_0[xor3 & 0xff] ^ exp1[7]; + + const u32 rounds = 10; + u32 roundIt = 2; + if(rounds != 2) { + const u32* exp1_p10 = exp1 + 10; + do { + xor0 = g_AES_1024_1_2[step1_2 >> 0x10 & 0xff] ^ g_AES_1024_1_1[step1_1 >> 8 & 0xff] ^ g_AES_1024_1_3[step1_3 >> 0x18] ^ g_AES_1024_1_0[step1_0 & 0xff] ^ exp1_p10[-2]; + xor2 = g_AES_1024_1_2[step1_3 >> 0x10 & 0xff] ^ g_AES_1024_1_1[step1_2 >> 8 & 0xff] ^ g_AES_1024_1_3[step1_0 >> 0x18] ^ g_AES_1024_1_0[step1_1 & 0xff] ^ exp1_p10[-1]; + xor1 = g_AES_1024_1_1[step1_3 >> 8 & 0xff] ^ g_AES_1024_1_2[step1_0 >> 0x10 & 0xff] ^ g_AES_1024_1_3[step1_1 >> 0x18] ^ g_AES_1024_1_0[step1_2 & 0xff] ^ *exp1_p10; + xor3 = g_AES_1024_1_2[step1_1 >> 0x10 & 0xff] ^ g_AES_1024_1_1[step1_0 >> 8 & 0xff] ^ g_AES_1024_1_3[step1_2 >> 0x18] ^ g_AES_1024_1_0[step1_3 & 0xff] ^ exp1_p10[1]; + step1_0 = g_AES_1024_1_2[xor1 >> 0x10 & 0xff] ^ g_AES_1024_1_1[xor2 >> 8 & 0xff] ^ g_AES_1024_1_3[xor3 >> 0x18] ^ g_AES_1024_1_0[xor0 & 0xff] ^ exp1_p10[2]; + step1_1 = g_AES_1024_1_2[xor3 >> 0x10 & 0xff] ^ g_AES_1024_1_1[xor1 >> 8 & 0xff] ^ g_AES_1024_1_3[xor0 >> 0x18] ^ g_AES_1024_1_0[xor2 & 0xff] ^ exp1_p10[3]; + step1_2 = g_AES_1024_1_1[xor3 >> 8 & 0xff] ^ g_AES_1024_1_2[xor0 >> 0x10 & 0xff] ^ g_AES_1024_1_3[xor2 >> 0x18] ^ g_AES_1024_1_0[xor1 & 0xff] ^ exp1_p10[4]; + step1_3 = g_AES_1024_1_2[xor2 >> 0x10 & 0xff] ^ g_AES_1024_1_1[xor0 >> 8 & 0xff] ^ g_AES_1024_1_3[xor1 >> 0x18] ^ g_AES_1024_1_0[xor3 & 0xff] ^ exp1_p10[5]; + + exp1_p10 = exp1_p10 + 8; + roundIt = roundIt + 2; + } while (roundIt != rounds); + } + + *key = g_AES_1024_1_0[step1_2 >> 0x10 & 0xff] & 0xff0000 ^ g_AES_1024_1_3[step1_1 >> 8 & 0xff] & 0xff00 ^ g_AES_1024_1_1[step1_3 >> 0x18] & 0xff000000 ^ (u32)*(u8 *)(g_AES_1024_1_2 + (step1_0 & 0xff)) ^ exp1[rounds * 4]; + key[1] = g_AES_1024_1_0[step1_3 >> 0x10 & 0xff] & 0xff0000 ^ g_AES_1024_1_3[step1_2 >> 8 & 0xff] & 0xff00 ^ g_AES_1024_1_1[step1_0 >> 0x18] & 0xff000000 ^ (u32)*(u8 *)(g_AES_1024_1_2 + (step1_1 & 0xff)) ^ exp1[rounds * 4 + 1]; + key[2] = g_AES_1024_1_0[step1_0 >> 0x10 & 0xff] & 0xff0000 ^ g_AES_1024_1_3[step1_3 >> 8 & 0xff] & 0xff00 ^ g_AES_1024_1_1[step1_1 >> 0x18] & 0xff000000 ^ (u32)*(u8 *)(g_AES_1024_1_2 + (step1_2 & 0xff)) ^ exp1[rounds * 4 + 2]; + key[3] = g_AES_1024_1_0[step1_1 >> 0x10 & 0xff] & 0xff0000 ^ g_AES_1024_1_3[step1_0 >> 8 & 0xff] & 0xff00 ^ g_AES_1024_1_1[step1_2 >> 0x18] & 0xff000000 ^ (u32)*(u8 *)(g_AES_1024_1_2 + (step1_3 & 0xff)) ^ exp1[rounds * 4 + 3]; +} + +void CryptoAES::KeyAlteration(u8* key) +{ + u8* p = key + 0xf; + *p += 1; + i32 i = 0; + if(*p == 0) { + while(true) { + i = i + 1; + p = p + -1; + if(i == 8) break; + *p = *p + 1; + if(*p != 0) { + return; + } + } + + *(u32 *)(key + 8) = 0; + *(u32 *)(key + 0xc) = 0; + } +} + +void CryptoAES::Decrypt(void* data, const int dataSize, const int dataOffsetFromStart) +{ + decltype(key2) key2PlusOffset; + Key2AddOffset(key2PlusOffset, dataOffsetFromStart >> 4); + + u32* data4 = (u32*)data; + i32 processedSize = dataSize; + + if(dataOffsetFromStart > 0) { + u32 offsetAndF = dataOffsetFromStart & 0xf; + i32 sizePlusOffsetAndF = (offsetAndF - 1) + processedSize; + if(sizePlusOffsetAndF > 0xf) { + sizePlusOffsetAndF = 0xf; + } + + u32 block[4]; + memmove(block, key2PlusOffset, sizeof(block)); + STATIC_ASSERT(sizeof(block) == sizeof(key2PlusOffset)); + ComputeXorBlock(block); + + i32 var1 = (sizePlusOffsetAndF - offsetAndF) + 1; + if(offsetAndF != 0 && offsetAndF <= sizePlusOffsetAndF) { + i32 it = offsetAndF; + + if(var1 > 0x1f) { + u8* pCur = (u8*)data; + ASSERT_MSG(0, "implement me"); + } + if(it <= sizePlusOffsetAndF) { + u8* pCur = (u8*)data + (it - offsetAndF); + do { + *pCur ^= *(((u8*)block) + it); + it++; + pCur++; + } while (it <= sizePlusOffsetAndF); + } + + processedSize -= var1; + data4 = (u32*)((u8*)data + var1); + } + + if(offsetAndF != 0) { + KeyAlteration(key2PlusOffset); + } + } + + if(dataSize >= 16) { + const int count16 = dataSize/16; + + for(int i = 0; i < count16; i++) { + u32 block[4]; + memmove(block, key2PlusOffset, sizeof(block)); + STATIC_ASSERT(sizeof(block) == sizeof(key2PlusOffset)); + ComputeXorBlock(block); + + data4[0] ^= block[0]; + data4[1] ^= block[1]; + data4[2] ^= block[2]; + data4[3] ^= block[3]; + data4 += 4; + + KeyAlteration(key2PlusOffset); + } + + processedSize -= count16 * 16; + } + + if(processedSize > 0) { + u32 block[4]; + memmove(block, key2PlusOffset, sizeof(block)); + STATIC_ASSERT(sizeof(block) == sizeof(key2PlusOffset)); + ComputeXorBlock(block); + + u32* pBlock = block; + if(processedSize >= 4) { + const int count4 = processedSize/4; + + for(int i = 0; i < count4; i++) { + data4[0] ^= pBlock[0]; + data4++; + pBlock++; + } + + processedSize -= count4 * 4; + } + if(processedSize > 0) { + u32 hold = 0; + memmove(&hold, data4, processedSize); + hold ^= pBlock[0]; + memmove(data4, &hold, processedSize); + } + } +} diff --git a/Pak/src/crypto_aes.h b/Pak/src/crypto_aes.h new file mode 100644 index 0000000..8fbddfa --- /dev/null +++ b/Pak/src/crypto_aes.h @@ -0,0 +1,18 @@ +#pragma once +#include "base.h" + + +struct CryptoAES +{ + u8 key1[16]; + u8 key2[16]; + u32 key1Expansion1[44] = {0}; + u32 key1Expansion2[44] = {0}; + + void Init(const u8* key1_, const u8* key2_); + + void Key2AddOffset(u8* out, i32 offset); + void ComputeXorBlock(u32* key); + void KeyAlteration(u8* key); + void Decrypt(void* data, const int dataSize, const int dataOffsetFromStart); +}; diff --git a/Pak/src/crypto_xor.cpp b/Pak/src/crypto_xor.cpp new file mode 100644 index 0000000..06243dc --- /dev/null +++ b/Pak/src/crypto_xor.cpp @@ -0,0 +1,16 @@ +#include "crypto_xor.h" + +void CryptoXOR::Init(const u8* key_, i32 keySize_) +{ + key = (u8*)malloc(keySize_); + keySize = keySize_; + memmove(key, key_, keySize_); +} + +void CryptoXOR::Decrypt(void* data, const int dataSize, const int dataOffsetFromStart) +{ + u8* data1 = (u8*)data; + for(int i = 0; i < dataSize; i++) { + data1[i] ^= key[(i + dataOffsetFromStart) % keySize]; // TODO: @Speed. We know keySize is 0x4000, we can use & here instead of % + } +} diff --git a/Pak/src/crypto_xor.h b/Pak/src/crypto_xor.h new file mode 100644 index 0000000..2ea5623 --- /dev/null +++ b/Pak/src/crypto_xor.h @@ -0,0 +1,16 @@ +#pragma once +#include "base.h" + +struct CryptoXOR +{ + u8* key = nullptr; + i32 keySize; + + ~CryptoXOR() + { + free(key); + } + + void Init(const u8* key_, i32 keySize_); + void Decrypt(void* data, const int dataSize, const int dataOffsetFromStart); +}; diff --git a/Pak/src/keys.h b/Pak/src/keys.h new file mode 100644 index 0000000..5127d17 --- /dev/null +++ b/Pak/src/keys.h @@ -0,0 +1,6 @@ +#pragma once +#include "base.h" + +const u8 g_XorKey[16384] = { + 0x39, 0xff, 0x2a, 0x33, 0x1b, 0xd0, 0x9a, 0x18, 0x2f, 0x71, 0xb7, 0xb0, 0x51, 0xb6, 0x3a, 0x9d, 0xa1, 0xef, 0x74, 0x96, 0x3f, 0x1a, 0xdd, 0x68, 0x5c, 0xf7, 0x66, 0xcd, 0x97, 0x89, 0x94, 0xb7, 0x01, 0x46, 0x29, 0xdc, 0xce, 0x59, 0x4b, 0xf4, 0x9b, 0x6e, 0xba, 0x7e, 0x4c, 0x67, 0x42, 0xfb, 0x72, 0x0b, 0xcd, 0xc9, 0xcb, 0x0c, 0x89, 0x77, 0xfd, 0xec, 0x56, 0x55, 0xd8, 0x68, 0x8b, 0x40, 0x50, 0x79, 0x91, 0x40, 0x33, 0xbd, 0x0f, 0x2e, 0xa4, 0x4d, 0xa6, 0xbf, 0xa2, 0x80, 0xf6, 0x76, 0x04, 0x09, 0x54, 0x14, 0x73, 0xe4, 0xb4, 0x1f, 0x0f, 0x8f, 0x8a, 0xbb, 0x0d, 0x8c, 0x84, 0x11, 0x42, 0xfd, 0x4c, 0x05, 0xf3, 0xc6, 0x11, 0x58, 0xaa, 0x1d, 0xb9, 0x4e, 0xb1, 0x7a, 0xef, 0x28, 0xca, 0x50, 0xcf, 0x40, 0x7a, 0x85, 0x36, 0x97, 0x2a, 0x2c, 0x8c, 0xe9, 0x6a, 0x89, 0xf0, 0x71, 0x6e, 0xdd, 0x81, 0xd5, 0xfa, 0x1f, 0x0d, 0x8e, 0xf0, 0x55, 0x1f, 0x49, 0x75, 0x20, 0x5c, 0xb2, 0x35, 0x0c, 0xa5, 0x6d, 0xe3, 0x9e, 0x8a, 0x66, 0x4f, 0x0d, 0x02, 0xf6, 0xe0, 0xca, 0x3a, 0x5a, 0xa5, 0xb5, 0x99, 0xa0, 0x38, 0x27, 0x32, 0x64, 0xb8, 0xc8, 0xde, 0xc1, 0x35, 0x1c, 0xeb, 0x22, 0xa3, 0x43, 0xa0, 0x6d, 0x93, 0x2d, 0xcb, 0x78, 0xaa, 0x5c, 0xf7, 0x61, 0x71, 0x6d, 0x61, 0x63, 0x03, 0xde, 0xd7, 0xd2, 0x49, 0x93, 0x16, 0x43, 0x7e, 0xc9, 0xb8, 0x16, 0x0f, 0xb8, 0x7f, 0x21, 0x6b, 0xeb, 0x53, 0x0f, 0xac, 0xd2, 0x87, 0x21, 0x89, 0x36, 0x29, 0x2a, 0x19, 0xba, 0x4e, 0x12, 0xff, 0xa2, 0x2a, 0x9e, 0x11, 0xc3, 0xff, 0xb8, 0xd9, 0x75, 0xdd, 0xdd, 0x59, 0x1a, 0x06, 0x6d, 0xb5, 0xa0, 0x43, 0xe2, 0x5b, 0x09, 0xf3, 0x0f, 0x03, 0xa4, 0x80, 0xdd, 0xd8, 0xdf, 0xa8, 0x38, 0xa8, 0x2a, 0x70, 0x70, 0x1e, 0x4b, 0x6c, 0x6e, 0xac, 0x94, 0x18, 0xc0, 0xcd, 0xb8, 0xdf, 0xd8, 0x72, 0xad, 0x9c, 0x22, 0xbd, 0xd9, 0x70, 0xa4, 0xa3, 0x9e, 0x26, 0x55, 0x55, 0x3a, 0x5a, 0x72, 0x9b, 0xde, 0x54, 0x20, 0x7e, 0xd6, 0x8b, 0x8f, 0xdb, 0x24, 0x75, 0xee, 0x13, 0x13, 0x8d, 0xcc, 0xaf, 0x88, 0x92, 0x45, 0xb2, 0x6f, 0xda, 0x90, 0xee, 0x0b, 0x80, 0x2d, 0xa5, 0xe3, 0x5e, 0x28, 0x75, 0x88, 0xb5, 0xfb, 0x5c, 0xf0, 0xba, 0xf1, 0x3b, 0xa4, 0x0b, 0x9f, 0xd8, 0x2d, 0xd5, 0x0e, 0x22, 0x10, 0xb2, 0xaf, 0xca, 0x25, 0x1b, 0x5a, 0xf3, 0x0b, 0x55, 0x6b, 0x5b, 0xe9, 0x7d, 0x01, 0xd2, 0x61, 0x94, 0xc0, 0x91, 0xd7, 0x2e, 0xe7, 0xd8, 0x15, 0xe1, 0x43, 0x88, 0x4a, 0x9b, 0xd1, 0x96, 0x59, 0x46, 0x45, 0x2e, 0x9b, 0x45, 0x6d, 0x4f, 0x25, 0x10, 0xf2, 0x91, 0x8a, 0x9c, 0xc7, 0xae, 0x8e, 0x81, 0x46, 0xe2, 0x12, 0x53, 0x17, 0x97, 0x0b, 0xe0, 0x31, 0xf5, 0x3c, 0x57, 0x07, 0xbb, 0x2a, 0x23, 0x4e, 0x53, 0x17, 0x37, 0x05, 0x4c, 0xbc, 0xc4, 0xba, 0xe4, 0x00, 0xe3, 0xc2, 0x8d, 0x47, 0x32, 0x76, 0xb9, 0x1d, 0x23, 0xca, 0x24, 0xc2, 0x3e, 0x44, 0xf7, 0xea, 0x95, 0x1e, 0x78, 0x20, 0x7f, 0xd0, 0x4a, 0xca, 0xb4, 0x2e, 0x65, 0x2a, 0xc5, 0x67, 0x17, 0xc6, 0x0e, 0xbb, 0xf4, 0xc8, 0x1f, 0xf2, 0xea, 0xe0, 0x31, 0xdb, 0x6f, 0xaf, 0x08, 0x08, 0x30, 0x7b, 0x1f, 0x73, 0x6e, 0x2f, 0x12, 0xd7, 0x79, 0x38, 0x0e, 0x8a, 0xd0, 0x1a, 0x16, 0x83, 0x9d, 0x81, 0x23, 0xad, 0x87, 0xf0, 0x9f, 0xff, 0xc1, 0x21, 0xb9, 0x02, 0x12, 0x57, 0xde, 0xc9, 0x12, 0xd5, 0xc0, 0x98, 0x1f, 0x7f, 0xb1, 0x19, 0x3d, 0xe4, 0xa7, 0xb6, 0x61, 0x9c, 0x72, 0x53, 0x5b, 0x41, 0x1b, 0x00, 0x69, 0xd4, 0xe5, 0xe1, 0xee, 0xb5, 0x7f, 0x21, 0x6d, 0xfb, 0x27, 0x12, 0x5e, 0xb0, 0xa0, 0x31, 0x89, 0xac, 0x18, 0xfd, 0x3b, 0x6e, 0x7b, 0x17, 0x07, 0x38, 0xb2, 0x63, 0x00, 0x37, 0xfa, 0x84, 0x84, 0x97, 0x5d, 0x34, 0xde, 0xe9, 0x37, 0xe3, 0x17, 0x29, 0x3c, 0x17, 0x9e, 0xe8, 0x1e, 0x4f, 0xe1, 0xa9, 0x60, 0x4f, 0x01, 0xb9, 0x58, 0x36, 0xfe, 0x2f, 0x49, 0x92, 0xd6, 0x40, 0xc1, 0x79, 0xc6, 0x29, 0xeb, 0xa0, 0x62, 0x46, 0xbf, 0x0c, 0x2a, 0xda, 0x3f, 0x22, 0xc8, 0xfc, 0xbf, 0x2f, 0x5c, 0xae, 0xa6, 0x73, 0x7d, 0x38, 0xab, 0x89, 0xca, 0xf2, 0x82, 0x80, 0x5f, 0x95, 0x98, 0xc4, 0x0f, 0x08, 0x00, 0x00, 0x94, 0x69, 0xf6, 0xd6, 0x13, 0x92, 0x42, 0xd8, 0xe4, 0x05, 0xb6, 0x84, 0xfc, 0x67, 0x42, 0xc2, 0xac, 0xae, 0x83, 0x66, 0xeb, 0x82, 0xf8, 0x7e, 0xc2, 0xea, 0x36, 0x17, 0x51, 0xa4, 0x36, 0x25, 0xc5, 0x6a, 0xca, 0xe3, 0x88, 0x78, 0x29, 0x71, 0xb7, 0xfc, 0x07, 0x29, 0xb6, 0x6a, 0x38, 0xd2, 0x6f, 0xc0, 0xd3, 0xa2, 0xb9, 0xf1, 0x51, 0x4f, 0x14, 0xa6, 0x9c, 0xbf, 0x50, 0x1c, 0xd0, 0xfa, 0x24, 0xe3, 0xcb, 0x17, 0x4d, 0x8e, 0xc3, 0xfd, 0xbb, 0xbf, 0x53, 0x70, 0x99, 0xfb, 0x0c, 0xfe, 0xed, 0x88, 0x51, 0xdd, 0x2f, 0x81, 0xbb, 0x3e, 0xbf, 0x77, 0x93, 0xe7, 0x93, 0x2f, 0xc2, 0x15, 0x1c, 0xb9, 0x64, 0xd9, 0x7f, 0xd0, 0xd2, 0x5d, 0xb7, 0x0d, 0xd1, 0xbf, 0xf8, 0xed, 0xf3, 0x4e, 0x4f, 0x26, 0x5f, 0xb9, 0x67, 0xb7, 0xb8, 0x4e, 0xeb, 0x07, 0xc4, 0x69, 0x3e, 0xe6, 0xcc, 0x91, 0xb0, 0x91, 0x27, 0xd1, 0x5c, 0x9b, 0x7a, 0x0e, 0xfa, 0x20, 0x30, 0x62, 0x81, 0xe8, 0x40, 0xca, 0xc4, 0x3a, 0x6d, 0xfe, 0x5c, 0xc7, 0x06, 0x0b, 0x4a, 0x14, 0x04, 0xa1, 0xbd, 0xc2, 0xa6, 0x6a, 0xc5, 0x16, 0xe6, 0x74, 0x6d, 0x87, 0xb5, 0x53, 0x49, 0x32, 0x2f, 0x03, 0x0f, 0x58, 0x2e, 0xe7, 0xec, 0x6a, 0xd5, 0x4b, 0x62, 0xd4, 0xd5, 0x29, 0x30, 0x47, 0xa5, 0x47, 0x7a, 0x73, 0x0a, 0x48, 0xb9, 0xa2, 0xad, 0xbe, 0xdb, 0x3c, 0x5a, 0x70, 0x6c, 0x6f, 0xed, 0x98, 0x7c, 0x61, 0xb3, 0x81, 0x77, 0x28, 0x3e, 0x8d, 0xc9, 0xb4, 0xdf, 0x25, 0xb1, 0x4e, 0xf3, 0x88, 0xbe, 0x88, 0xf6, 0x9f, 0x67, 0x15, 0x87, 0x65, 0x8e, 0x32, 0x58, 0xb7, 0x47, 0x14, 0x60, 0xd9, 0x93, 0x90, 0x10, 0x03, 0xa6, 0x97, 0xac, 0x3d, 0x31, 0x82, 0xc4, 0x8e, 0xf0, 0xc9, 0x4a, 0x40, 0x2d, 0x45, 0xb0, 0x66, 0x06, 0xc8, 0xee, 0x70, 0x9e, 0x6e, 0x1e, 0x26, 0x18, 0x97, 0xf4, 0x1d, 0xd8, 0x8d, 0x75, 0xb6, 0x83, 0x9f, 0xb9, 0x34, 0x09, 0x97, 0x89, 0x5e, 0x63, 0xcc, 0x78, 0x7a, 0x5f, 0xef, 0x86, 0x90, 0x34, 0x8b, 0x65, 0x57, 0xd1, 0xa6, 0xea, 0x65, 0xef, 0xe6, 0xa6, 0xe9, 0x06, 0x19, 0x10, 0x9a, 0x17, 0xd6, 0x4e, 0xc4, 0x55, 0x22, 0x8e, 0x2d, 0x69, 0xb6, 0xa8, 0xb9, 0x8d, 0x05, 0x64, 0xc7, 0xde, 0xaf, 0x4b, 0x9c, 0x54, 0xb9, 0xa0, 0xaf, 0xb6, 0x43, 0xe6, 0xd8, 0xe9, 0x8c, 0xbd, 0x7d, 0xff, 0x17, 0x9d, 0x52, 0xe9, 0x62, 0x72, 0x95, 0x08, 0x08, 0x66, 0x80, 0x27, 0xa1, 0x69, 0x2f, 0xc2, 0x6d, 0x83, 0x49, 0x14, 0x67, 0x53, 0x48, 0x12, 0x43, 0x6f, 0x21, 0x68, 0xbd, 0x8c, 0x23, 0x38, 0xa4, 0xfe, 0xac, 0xc5, 0x8a, 0x32, 0xed, 0xe8, 0x3c, 0x7c, 0x30, 0x43, 0x84, 0x74, 0x8f, 0xda, 0x90, 0xb2, 0x7c, 0x49, 0x02, 0x8e, 0x46, 0x8e, 0x48, 0x72, 0xc4, 0x0e, 0xfa, 0xab, 0xbc, 0x40, 0xdd, 0x23, 0xb9, 0x34, 0x79, 0x72, 0xf7, 0xc9, 0xd0, 0xa0, 0x2e, 0xb0, 0x5d, 0x7a, 0x5f, 0xfe, 0x26, 0x27, 0x55, 0x34, 0xf7, 0xf9, 0xd3, 0x57, 0x96, 0xd8, 0x51, 0x0e, 0x00, 0xb2, 0xf5, 0xaa, 0xbf, 0x09, 0x09, 0x9e, 0x5b, 0x2f, 0xce, 0x87, 0xe7, 0x7a, 0x30, 0x73, 0x5b, 0x13, 0xc7, 0x39, 0x04, 0xe2, 0x70, 0x0a, 0x1b, 0x70, 0x5c, 0x4c, 0xf4, 0xf5, 0x57, 0xdf, 0x95, 0x9c, 0x9b, 0x6d, 0x1f, 0x4a, 0xc4, 0x57, 0x18, 0x57, 0xe2, 0x8d, 0x55, 0xde, 0x16, 0x43, 0xab, 0xae, 0xd1, 0x34, 0x7c, 0xa5, 0x24, 0xc8, 0x0e, 0xd1, 0xe2, 0x79, 0x27, 0x49, 0xe4, 0x12, 0xae, 0x4e, 0xe1, 0x60, 0xcb, 0x5a, 0x47, 0x7b, 0xdc, 0xc0, 0xe9, 0x4b, 0xb5, 0x05, 0xac, 0xa6, 0x6d, 0xae, 0x02, 0x9c, 0x0f, 0x66, 0x46, 0xd6, 0xe6, 0xfc, 0xd2, 0x89, 0x0e, 0xef, 0xde, 0x26, 0x18, 0xe0, 0xd9, 0xea, 0xde, 0x4d, 0x4f, 0x3f, 0x38, 0x1c, 0x3d, 0x87, 0x8a, 0xbc, 0xe7, 0xb6, 0x3d, 0x4c, 0xa6, 0x4a, 0x11, 0xb7, 0x99, 0x0c, 0x0e, 0xe7, 0xa7, 0x94, 0x21, 0xb2, 0x65, 0x55, 0xf2, 0x32, 0x68, 0xdd, 0xf1, 0xb9, 0x94, 0x12, 0xa1, 0xa8, 0xe1, 0x09, 0x23, 0x9f, 0x95, 0x83, 0x15, 0xa4, 0x30, 0x4d, 0x8d, 0x0f, 0x1b, 0x91, 0x5c, 0xa6, 0xfb, 0xdb, 0xd1, 0xa7, 0x96, 0xae, 0xac, 0x65, 0x98, 0x25, 0xa6, 0x6d, 0x9b, 0x18, 0x0d, 0x0b, 0x70, 0xa1, 0x43, 0x54, 0xe5, 0xd8, 0xd8, 0x59, 0x38, 0xb4, 0xf0, 0x52, 0x2e, 0xbf, 0xbe, 0x32, 0x63, 0x93, 0xe6, 0xba, 0xfd, 0x46, 0xb2, 0x93, 0xbd, 0x04, 0x4c, 0xd4, 0x90, 0x0f, 0xfb, 0x6c, 0xfc, 0xd9, 0xb5, 0xeb, 0x92, 0x27, 0x1c, 0xd4, 0x64, 0x8c, 0x38, 0xc2, 0x66, 0x32, 0xbc, 0xa9, 0x16, 0x2c, 0x4d, 0x02, 0xad, 0xf1, 0x47, 0xe8, 0x52, 0x75, 0x23, 0x66, 0xaa, 0x14, 0x5e, 0x54, 0xe0, 0xe8, 0xdc, 0x6e, 0xb6, 0x67, 0xb1, 0x66, 0xb0, 0x2d, 0x7c, 0x64, 0x8e, 0x6b, 0x66, 0x43, 0xe5, 0xd7, 0xb7, 0xde, 0x0a, 0x60, 0x3b, 0x68, 0xfe, 0x3a, 0xa2, 0x77, 0xbb, 0x0a, 0x85, 0x65, 0xea, 0x1a, 0x71, 0x30, 0xef, 0x91, 0x1f, 0x47, 0xb5, 0x77, 0x5b, 0xf9, 0x7d, 0x51, 0x29, 0xe9, 0x15, 0xab, 0x51, 0x7a, 0x4d, 0x7c, 0x90, 0x8a, 0x19, 0xc3, 0x0e, 0x4b, 0xad, 0x48, 0x9b, 0xae, 0x07, 0x89, 0x48, 0x52, 0x3f, 0x00, 0xf4, 0x34, 0xaf, 0xc8, 0x8b, 0x04, 0xae, 0xbe, 0x36, 0x97, 0x70, 0xa8, 0xdf, 0x9f, 0x1f, 0xbc, 0x00, 0xe7, 0x7e, 0xcc, 0xfb, 0xca, 0xb6, 0xc5, 0x3c, 0xe6, 0xf0, 0x22, 0x4b, 0xd1, 0x2b, 0x8d, 0xb8, 0x05, 0x9f, 0x3a, 0x8a, 0x4a, 0x77, 0x75, 0x9f, 0xc1, 0x26, 0x8e, 0x53, 0xbe, 0xb2, 0xb9, 0xaf, 0x8e, 0xcc, 0x6a, 0x61, 0x1b, 0x71, 0x4c, 0x63, 0x8b, 0xd5, 0xd1, 0x3e, 0xc1, 0x4c, 0xdc, 0xcd, 0xf6, 0x09, 0x8c, 0x22, 0x6e, 0x7a, 0x70, 0x8d, 0x28, 0xe9, 0xf5, 0x95, 0xb5, 0xf0, 0xde, 0x65, 0x5a, 0xa2, 0x19, 0x79, 0xc1, 0x5c, 0xf1, 0xcd, 0xe2, 0xa2, 0xc5, 0x6d, 0x13, 0xf2, 0x10, 0x1c, 0x04, 0x57, 0xfd, 0x07, 0x5f, 0xc1, 0x03, 0xd2, 0x68, 0x16, 0x97, 0xa0, 0xc6, 0xea, 0xfa, 0xa9, 0x5a, 0x7e, 0x23, 0xac, 0x77, 0x34, 0x14, 0x61, 0x1c, 0x1d, 0x12, 0x76, 0x66, 0x29, 0x01, 0x02, 0x7c, 0xf1, 0x97, 0xdd, 0xe0, 0xc8, 0x14, 0x43, 0xaa, 0xab, 0xbb, 0x18, 0xff, 0x12, 0x1c, 0x61, 0x0b, 0xa8, 0xee, 0xc2, 0x43, 0x8d, 0xd0, 0x46, 0x09, 0xb8, 0x03, 0x0d, 0xa6, 0x1c, 0x03, 0xe7, 0x00, 0xa0, 0x80, 0x60, 0x73, 0x42, 0x5b, 0xd2, 0xf1, 0xd8, 0xf9, 0xaf, 0x64, 0xe4, 0xc9, 0x3e, 0x1d, 0x39, 0x10, 0x70, 0x35, 0xef, 0xfc, 0xd4, 0x16, 0x0a, 0x48, 0xc3, 0x81, 0xca, 0xd5, 0xfb, 0xec, 0xbc, 0x01, 0x4d, 0xa0, 0x37, 0x95, 0x2b, 0x3e, 0xba, 0xc4, 0x89, 0x5a, 0x95, 0xd3, 0x84, 0x74, 0xd4, 0xe2, 0xa2, 0xfa, 0x8a, 0xdf, 0x2c, 0xb3, 0x7e, 0x32, 0xce, 0x8b, 0x4a, 0xa8, 0xaa, 0x9c, 0x28, 0xf8, 0xd5, 0xa9, 0x07, 0xee, 0x17, 0xc2, 0x7b, 0xe7, 0xf3, 0xfe, 0x88, 0x00, 0x23, 0xd1, 0x12, 0x76, 0xed, 0x5d, 0x6d, 0xd9, 0xc4, 0xcd, 0x5a, 0xd3, 0x66, 0xcf, 0xa7, 0xf1, 0x23, 0x27, 0x47, 0x80, 0x8f, 0x53, 0x03, 0x20, 0x88, 0x16, 0x1c, 0x1b, 0xeb, 0x77, 0x01, 0x9a, 0x07, 0x01, 0x94, 0x76, 0xf2, 0xc0, 0x89, 0x6b, 0xea, 0xaa, 0x98, 0x29, 0x3e, 0xd9, 0x80, 0xd8, 0x8e, 0xf3, 0x80, 0xec, 0x57, 0xcc, 0xa6, 0x9c, 0xc2, 0xac, 0x1e, 0xca, 0xef, 0xbe, 0x49, 0xa9, 0x7c, 0xc1, 0xba, 0x94, 0x30, 0xe9, 0x94, 0x4b, 0xf5, 0x9f, 0xb7, 0xa1, 0xf4, 0x9e, 0xbe, 0xfe, 0x16, 0x81, 0xe0, 0xdc, 0x19, 0xec, 0x0d, 0xd6, 0x8f, 0xa0, 0xb1, 0x5a, 0x8b, 0x1f, 0xf3, 0x0a, 0xa4, 0xc4, 0x20, 0x06, 0x1b, 0xad, 0xe5, 0x78, 0xfb, 0xf2, 0xf4, 0x7e, 0x20, 0xa5, 0xe2, 0xdc, 0x1a, 0xc1, 0x46, 0x99, 0x71, 0x0f, 0xbf, 0x06, 0x75, 0xaa, 0x92, 0xdc, 0x1b, 0x23, 0x1d, 0xbf, 0x16, 0x69, 0x2e, 0x02, 0xd3, 0x7d, 0xe0, 0xd9, 0x60, 0x7b, 0xcb, 0x02, 0x17, 0x81, 0xa9, 0x89, 0x1d, 0x28, 0x4c, 0x51, 0x59, 0xca, 0x3e, 0xa4, 0xf1, 0xee, 0x87, 0x30, 0x00, 0xd5, 0x7e, 0x6b, 0x57, 0x7f, 0x10, 0xb1, 0x70, 0xfb, 0xfb, 0x6d, 0x22, 0x3c, 0x70, 0x83, 0x58, 0x20, 0x5a, 0x82, 0xe9, 0x71, 0xcf, 0xc1, 0xe1, 0xdf, 0x71, 0x35, 0xbf, 0x3e, 0x71, 0x3d, 0xa0, 0x73, 0x2d, 0x06, 0xd0, 0xb2, 0x69, 0xe7, 0x3b, 0xc2, 0xb9, 0x0d, 0x3c, 0x12, 0x96, 0xa6, 0xfb, 0x4f, 0x4e, 0x26, 0x5b, 0xc3, 0x04, 0xe3, 0x36, 0xde, 0xa6, 0x00, 0x0d, 0xb6, 0x1a, 0x21, 0x00, 0xbd, 0x86, 0x61, 0x0d, 0xe7, 0x15, 0xe5, 0xd0, 0xf5, 0x1e, 0xd0, 0x1e, 0x02, 0xbb, 0xd3, 0x49, 0x0f, 0xb7, 0x09, 0x42, 0x41, 0x14, 0xae, 0x39, 0x7d, 0xe5, 0x00, 0xde, 0x95, 0x2e, 0x22, 0x03, 0xb1, 0xbc, 0x19, 0x23, 0x63, 0x31, 0x66, 0x83, 0x5f, 0x0a, 0x2c, 0x42, 0x23, 0x66, 0x4f, 0x8a, 0xcd, 0x38, 0xd2, 0x0e, 0x45, 0x7b, 0xa3, 0x2f, 0xae, 0x28, 0xe2, 0x5e, 0x0c, 0xce, 0xc8, 0x74, 0xcc, 0xbb, 0x95, 0x5e, 0x8a, 0x65, 0xca, 0x98, 0x95, 0x51, 0x2a, 0x78, 0x61, 0x70, 0x36, 0x4b, 0x3a, 0x06, 0x90, 0x2a, 0x8a, 0x7d, 0xb2, 0x90, 0x82, 0x7a, 0xb8, 0x7f, 0x70, 0x53, 0xe3, 0xb1, 0xe8, 0xf2, 0x4a, 0xea, 0xc6, 0x32, 0x64, 0x37, 0x99, 0x54, 0xf5, 0x8e, 0x4d, 0xaf, 0xac, 0xdc, 0xb3, 0x2d, 0x4c, 0x83, 0xc4, 0x1e, 0x28, 0xc6, 0x2d, 0x70, 0x1e, 0x4e, 0xa8, 0xae, 0xb0, 0xdf, 0x24, 0x60, 0x42, 0xe8, 0xfd, 0x94, 0xbe, 0x91, 0xe1, 0x58, 0x2f, 0x12, 0x3d, 0xc8, 0x01, 0xb4, 0xfe, 0x1e, 0x08, 0xfc, 0xc9, 0xcf, 0x89, 0x34, 0xcc, 0xbe, 0x69, 0x31, 0x8a, 0xee, 0xca, 0x07, 0xb1, 0x98, 0x29, 0x1f, 0x89, 0x8c, 0xe8, 0x84, 0x1c, 0x78, 0xb7, 0x6d, 0x02, 0x6b, 0x5c, 0x37, 0x1a, 0x25, 0xb1, 0x0f, 0xe2, 0xeb, 0x40, 0x8f, 0x28, 0x86, 0x6d, 0x95, 0x1d, 0x72, 0x53, 0xad, 0x01, 0xbd, 0x17, 0x54, 0x57, 0x27, 0x03, 0x58, 0x9a, 0x5f, 0xcc, 0x31, 0xfa, 0x05, 0x9c, 0xf8, 0x32, 0x90, 0x1e, 0xe6, 0xe9, 0xfa, 0x61, 0xb4, 0x69, 0x43, 0xf2, 0x57, 0x27, 0xc7, 0xa3, 0x49, 0xa8, 0x5d, 0x2e, 0xa1, 0x29, 0xa8, 0x02, 0xed, 0x8e, 0x1e, 0x59, 0x2e, 0x79, 0xc8, 0xed, 0xb9, 0x91, 0xfb, 0xb1, 0xd2, 0x6f, 0xb1, 0x0c, 0x2a, 0x27, 0xfa, 0xf3, 0x7c, 0x0c, 0x30, 0x9e, 0x75, 0x01, 0x4d, 0xaa, 0xfe, 0x5b, 0x3e, 0x74, 0x8a, 0x1d, 0x5d, 0x01, 0x94, 0xe8, 0x7f, 0xc4, 0xef, 0x59, 0xd6, 0xe7, 0x78, 0xe4, 0x62, 0xcb, 0x82, 0xd4, 0x82, 0xca, 0x0b, 0xe5, 0xed, 0xe6, 0xd6, 0xb7, 0x81, 0x8a, 0xe5, 0xa9, 0xd0, 0xdc, 0xbb, 0x2f, 0x23, 0xb4, 0xbc, 0x5d, 0x38, 0x37, 0xbf, 0x9e, 0x33, 0x95, 0xaa, 0xf6, 0xce, 0x6f, 0x35, 0xb2, 0x4f, 0xf0, 0x43, 0x3e, 0x92, 0x01, 0xce, 0xe8, 0x43, 0x0f, 0x37, 0x6c, 0xfe, 0x44, 0x6c, 0x76, 0x3a, 0xbd, 0x90, 0x82, 0x2f, 0x31, 0x21, 0x52, 0x8b, 0xcf, 0x18, 0x51, 0xa0, 0x30, 0x80, 0x16, 0x9d, 0x22, 0x64, 0xf3, 0x1e, 0x7f, 0x84, 0x84, 0x5c, 0xfd, 0xf7, 0x18, 0x1a, 0x56, 0xfa, 0xb3, 0x8b, 0x96, 0x73, 0xb9, 0x77, 0x51, 0x8c, 0x4c, 0xdb, 0x3f, 0xad, 0xbd, 0x07, 0x66, 0x7c, 0xee, 0xa6, 0xa7, 0xe7, 0x73, 0xfa, 0x38, 0x5e, 0xbd, 0x43, 0xbb, 0xbf, 0x96, 0x4f, 0x06, 0x6c, 0x9c, 0xa2, 0xf2, 0x0c, 0xdf, 0x71, 0xaa, 0xcc, 0x99, 0xde, 0x8e, 0x2a, 0x79, 0x3b, 0x49, 0x88, 0x7b, 0x9f, 0x6a, 0x3f, 0xac, 0xfe, 0x74, 0x61, 0x75, 0x07, 0xaf, 0xa2, 0xfd, 0xf8, 0x3e, 0xa9, 0xbd, 0x18, 0xa0, 0x1f, 0xee, 0x60, 0xf7, 0xaa, 0x25, 0x8d, 0x15, 0x51, 0xa9, 0x13, 0xea, 0xc6, 0xe3, 0x14, 0xd5, 0x61, 0x1d, 0x01, 0xef, 0x47, 0x62, 0xbe, 0x1d, 0x01, 0x11, 0x96, 0x15, 0x3c, 0x21, 0x99, 0x4c, 0x4c, 0x2a, 0x52, 0xf3, 0xb4, 0x56, 0x6d, 0xaf, 0x02, 0x10, 0xdd, 0xb3, 0xb4, 0x47, 0x05, 0x57, 0x31, 0xf7, 0xe3, 0x3d, 0x0e, 0xfe, 0x7e, 0x5c, 0xb1, 0x70, 0xac, 0x77, 0x68, 0x9c, 0x6f, 0x8a, 0x3a, 0x9b, 0x67, 0x14, 0x22, 0x87, 0xe3, 0xc0, 0x61, 0xa6, 0xa5, 0xa4, 0x48, 0x63, 0x52, 0xbd, 0x41, 0xe4, 0x6b, 0x50, 0x0f, 0x5d, 0xc4, 0x17, 0x5e, 0x59, 0xbd, 0x63, 0x0f, 0xf9, 0x84, 0x61, 0x61, 0xa1, 0x65, 0x86, 0x98, 0x69, 0xe2, 0xf4, 0xbb, 0x1f, 0x73, 0xc1, 0xe6, 0xfa, 0xf7, 0x0e, 0xc4, 0xc7, 0x03, 0xb4, 0xaf, 0xee, 0x98, 0x42, 0xc2, 0x70, 0xe6, 0x82, 0x93, 0x1b, 0x21, 0x2e, 0xc5, 0x87, 0x3b, 0x42, 0x2c, 0x14, 0xba, 0xc0, 0xec, 0x1a, 0x2f, 0x70, 0x74, 0xd7, 0xca, 0xb8, 0x66, 0x25, 0xa3, 0x8e, 0x86, 0x38, 0x50, 0xff, 0x1f, 0x1b, 0x3a, 0x0c, 0x0b, 0x00, 0xe5, 0x16, 0xcd, 0x64, 0xb2, 0xf9, 0x34, 0x74, 0x42, 0x7a, 0x5f, 0xce, 0x60, 0xfd, 0x64, 0xf6, 0xb7, 0xb1, 0x0f, 0x74, 0xb4, 0x96, 0x24, 0x2b, 0xfb, 0x47, 0x96, 0xad, 0xaa, 0x42, 0x93, 0xd6, 0x80, 0xc3, 0xd7, 0x75, 0x31, 0x63, 0x26, 0xcc, 0x7a, 0x7b, 0xf3, 0x66, 0x37, 0xf7, 0x25, 0x81, 0x6b, 0xac, 0xec, 0x90, 0x5c, 0x6d, 0xc9, 0x4c, 0xbd, 0x2e, 0xca, 0x5c, 0x59, 0xbd, 0xc3, 0x7d, 0x7c, 0x12, 0x48, 0xad, 0xab, 0xed, 0x97, 0xad, 0x83, 0x6b, 0x9e, 0x86, 0x84, 0x7e, 0xb8, 0x8a, 0x94, 0x53, 0x6e, 0x71, 0xae, 0x84, 0x49, 0x6c, 0x75, 0x1c, 0x60, 0xfc, 0xfb, 0x7d, 0x29, 0xc5, 0xb4, 0x5b, 0xed, 0x6d, 0xec, 0xc0, 0xa3, 0x2c, 0xc2, 0xa5, 0xff, 0x94, 0xe7, 0x17, 0xa7, 0x86, 0xc8, 0x9d, 0x22, 0x98, 0x39, 0x55, 0xc4, 0x31, 0x30, 0x5f, 0x2c, 0x3d, 0xf3, 0x73, 0x93, 0xd4, 0xd2, 0x34, 0x20, 0xd8, 0x8e, 0xb8, 0x9a, 0x61, 0x24, 0xbf, 0xb1, 0x13, 0x8a, 0xf5, 0x46, 0x4b, 0xa3, 0x7f, 0x55, 0xa0, 0x56, 0x93, 0x4c, 0xe0, 0xa3, 0x74, 0x30, 0x75, 0x2c, 0x37, 0x64, 0xe1, 0x36, 0x83, 0x75, 0x0a, 0x97, 0xf0, 0x07, 0x87, 0x53, 0x56, 0x88, 0xf0, 0x7d, 0x22, 0x9c, 0xe4, 0xa1, 0xb6, 0x58, 0x0d, 0x6a, 0x5c, 0xb2, 0x6b, 0x6c, 0xe6, 0xfd, 0xf5, 0x12, 0xb3, 0x79, 0x5a, 0xb4, 0xba, 0x7b, 0x2b, 0xee, 0xa8, 0x30, 0x0e, 0x84, 0x18, 0x5f, 0xca, 0xa6, 0x56, 0xf5, 0xc3, 0xdc, 0xb3, 0x6d, 0xf7, 0xcd, 0x17, 0xaa, 0x2f, 0xc7, 0xd8, 0x32, 0x0f, 0x60, 0x91, 0xa8, 0x66, 0x4f, 0xbf, 0x61, 0x7f, 0x1c, 0xc0, 0x4d, 0x2c, 0xd5, 0x23, 0x70, 0x27, 0x6b, 0xe1, 0x2c, 0x7e, 0xb1, 0xbf, 0xdf, 0x08, 0xa0, 0x58, 0x0c, 0xef, 0x87, 0xbe, 0x82, 0xd5, 0x2d, 0x0f, 0x92, 0x90, 0xcc, 0x0d, 0xc7, 0x30, 0x7c, 0x93, 0xef, 0xa7, 0xff, 0x54, 0xfa, 0xa2, 0x9d, 0xf5, 0x07, 0x38, 0xb9, 0xff, 0x5a, 0x84, 0x83, 0xed, 0x60, 0xa3, 0x5a, 0x92, 0xaf, 0xcd, 0xda, 0x84, 0x94, 0xb1, 0x46, 0x9c, 0xd8, 0x51, 0xb5, 0x8a, 0x6b, 0xf2, 0x54, 0xf9, 0xdb, 0x0e, 0x92, 0x35, 0xd7, 0xce, 0x2f, 0xb2, 0xc1, 0xd7, 0x05, 0x3d, 0x01, 0x44, 0x83, 0x09, 0xa5, 0x68, 0x04, 0xff, 0x0e, 0x87, 0x7a, 0xc3, 0xba, 0x13, 0x12, 0x4c, 0xcf, 0xd8, 0xee, 0x37, 0xfb, 0x74, 0xf1, 0x53, 0x73, 0x1f, 0x26, 0xfe, 0x55, 0x7e, 0xc0, 0x03, 0x2b, 0x6a, 0xf9, 0x35, 0x65, 0x75, 0x39, 0xd9, 0xae, 0x7f, 0x89, 0x3c, 0xbe, 0x71, 0x73, 0xec, 0x59, 0x16, 0xe0, 0xce, 0x03, 0x66, 0x7a, 0x70, 0x08, 0x9e, 0x50, 0xb0, 0xce, 0x2f, 0x83, 0xed, 0x9d, 0x75, 0x0d, 0x60, 0x30, 0xbb, 0xfb, 0xa6, 0x28, 0x2a, 0x5a, 0x06, 0x20, 0x93, 0xc6, 0x34, 0x31, 0xdf, 0xc2, 0x7c, 0xf4, 0xb9, 0x5c, 0x98, 0xe3, 0xb8, 0x68, 0x02, 0xb5, 0xbc, 0x06, 0x83, 0xd8, 0xde, 0x43, 0x68, 0xa9, 0x2c, 0x88, 0x00, 0x81, 0x1d, 0xd1, 0x5d, 0xa0, 0x8b, 0xa4, 0xf8, 0xbd, 0xc7, 0x7a, 0x48, 0x3a, 0xa9, 0x95, 0xcc, 0xa0, 0x8a, 0x79, 0x35, 0x33, 0x9d, 0x3d, 0x72, 0x97, 0xde, 0xcf, 0xe7, 0x6f, 0x26, 0xb5, 0xcb, 0x35, 0x5e, 0xd3, 0x8e, 0x08, 0xd5, 0x58, 0x1a, 0x41, 0x7a, 0x58, 0xd2, 0x29, 0x16, 0x77, 0x51, 0x65, 0xf9, 0x7f, 0x99, 0x91, 0xb7, 0x10, 0xfa, 0x6c, 0x0c, 0x07, 0xe6, 0x5f, 0xfa, 0x8b, 0x4b, 0xa1, 0x74, 0x2c, 0x67, 0x73, 0x08, 0x7f, 0x55, 0xe7, 0xda, 0xdd, 0x0f, 0x7b, 0x20, 0xb4, 0x07, 0x77, 0x30, 0x0e, 0x82, 0x78, 0x92, 0xe5, 0x49, 0x9b, 0x62, 0xd5, 0x20, 0x45, 0x59, 0xfd, 0x65, 0x9b, 0xb0, 0x6d, 0xf5, 0xed, 0x39, 0x46, 0x80, 0x23, 0xba, 0xea, 0xca, 0xb6, 0x3a, 0xf6, 0xdb, 0x0b, 0x2b, 0x03, 0x12, 0x51, 0xeb, 0xd0, 0x6d, 0xab, 0x86, 0xf5, 0x78, 0xae, 0x74, 0x9f, 0x89, 0x2c, 0x81, 0x57, 0xaa, 0xde, 0xab, 0x35, 0x26, 0x0c, 0xa9, 0x6f, 0xde, 0x32, 0x04, 0xf6, 0xbd, 0x72, 0xcd, 0x26, 0x55, 0xd6, 0xf1, 0xbb, 0x9d, 0x23, 0xa3, 0xed, 0xaa, 0xe8, 0xc1, 0x44, 0xa9, 0x2e, 0xc7, 0x02, 0x4a, 0x00, 0x61, 0x73, 0x81, 0x53, 0x3a, 0x8a, 0xc3, 0x68, 0xa9, 0xcd, 0x40, 0xa9, 0x65, 0x88, 0x7a, 0x0c, 0x7b, 0x5e, 0x63, 0x0d, 0xbb, 0xb9, 0x54, 0x89, 0x8a, 0x7c, 0x32, 0xd5, 0xe2, 0xb6, 0x3d, 0xb1, 0x3b, 0x61, 0xf3, 0xc6, 0x00, 0x98, 0xfb, 0x5d, 0xa1, 0x57, 0x8f, 0xab, 0x2b, 0x67, 0xf5, 0x53, 0x82, 0x18, 0xcf, 0x1b, 0x21, 0xe5, 0x3d, 0xd4, 0x7b, 0xaa, 0x73, 0x6a, 0x1d, 0x08, 0xaf, 0xd2, 0xf4, 0x0d, 0x0a, 0x28, 0x97, 0x4f, 0xb1, 0x1d, 0x3f, 0xcd, 0x22, 0x0f, 0xd5, 0x85, 0x90, 0xdb, 0x96, 0x3c, 0x22, 0xbe, 0x1b, 0x9a, 0xf7, 0x5a, 0x48, 0xcc, 0x1a, 0xea, 0x89, 0x7f, 0x37, 0x91, 0xc4, 0xcd, 0xcf, 0xf2, 0x53, 0x0e, 0x25, 0xe6, 0xac, 0x03, 0x67, 0x17, 0x4f, 0x2b, 0x5e, 0xd1, 0x10, 0x19, 0x74, 0x77, 0xa6, 0xa1, 0xfd, 0xa6, 0x8e, 0x31, 0xf6, 0xdf, 0x3a, 0x36, 0xfa, 0xd1, 0x71, 0x98, 0x9a, 0x1e, 0x8c, 0xc5, 0xf9, 0xb6, 0x0c, 0xf4, 0xcf, 0x6f, 0x73, 0xf9, 0xb9, 0x72, 0x1d, 0x61, 0x28, 0xbf, 0xed, 0xf9, 0x0a, 0xc1, 0x1a, 0x35, 0x21, 0x65, 0xcb, 0x3c, 0x1a, 0x4b, 0xa1, 0x07, 0xab, 0xd4, 0x27, 0x64, 0x60, 0xef, 0xb1, 0x33, 0x8e, 0xc2, 0xa8, 0x4a, 0xd7, 0x49, 0x7a, 0x9f, 0x9d, 0x3d, 0xfc, 0x43, 0xc9, 0xa8, 0x67, 0xa3, 0x4d, 0x4b, 0xb8, 0xba, 0x43, 0x28, 0x78, 0xee, 0x5a, 0x93, 0x97, 0x61, 0xba, 0x93, 0x2a, 0xa6, 0x33, 0x05, 0x19, 0x28, 0x62, 0xdd, 0x7c, 0x99, 0x1f, 0x0f, 0xea, 0xbd, 0x81, 0x47, 0x02, 0xd0, 0x8d, 0xab, 0xdd, 0x4a, 0x44, 0xb3, 0x68, 0x65, 0x4c, 0xe7, 0x81, 0xbd, 0x3d, 0x3c, 0xa3, 0xba, 0x96, 0x0b, 0xdf, 0x3f, 0x2a, 0x28, 0x92, 0xc8, 0x4d, 0x22, 0x4b, 0x60, 0x43, 0x3d, 0x4b, 0xd2, 0x28, 0x5b, 0xf8, 0x66, 0x01, 0x3d, 0xd2, 0xe2, 0xda, 0xb4, 0x8c, 0xce, 0xed, 0xee, 0x41, 0x7f, 0xf3, 0x4d, 0xc3, 0x52, 0xfb, 0x3e, 0x11, 0x44, 0x99, 0xfe, 0x34, 0xaf, 0x85, 0xf3, 0xe2, 0x88, 0xe7, 0xa8, 0x29, 0x5f, 0xe7, 0x0b, 0xb2, 0x55, 0x30, 0x59, 0x41, 0x37, 0x38, 0x9d, 0xfe, 0x22, 0x7a, 0x51, 0x10, 0xca, 0x74, 0xc0, 0x9e, 0xd5, 0x42, 0x5e, 0x7e, 0x37, 0x6b, 0x02, 0xf3, 0x79, 0xa9, 0xa3, 0x38, 0x27, 0x30, 0x72, 0x23, 0xa1, 0x04, 0xa6, 0x74, 0xaf, 0x78, 0xaa, 0xd3, 0xd0, 0x10, 0xd4, 0x88, 0x65, 0x6b, 0x81, 0x1c, 0x8a, 0x56, 0x6f, 0x16, 0xfb, 0x81, 0x2e, 0xf2, 0x48, 0xaf, 0xc5, 0x85, 0xd1, 0x9e, 0xd1, 0xb4, 0x5a, 0x6a, 0x26, 0x2a, 0x22, 0x43, 0xb4, 0x27, 0xe1, 0x91, 0xc0, 0x0a, 0xcb, 0xda, 0xc7, 0xe9, 0x24, 0x83, 0x20, 0x09, 0xb4, 0xab, 0x78, 0x20, 0x5b, 0x71, 0x40, 0xbd, 0x81, 0x0b, 0x6a, 0x11, 0xb7, 0x6a, 0x04, 0x76, 0xe7, 0x94, 0x15, 0xba, 0xea, 0xf4, 0x2e, 0x78, 0x94, 0x73, 0xce, 0x37, 0x5c, 0xab, 0x7d, 0x1a, 0x5d, 0x5e, 0xe5, 0x56, 0xd1, 0x00, 0x6a, 0x1b, 0x6b, 0x63, 0x59, 0x91, 0x83, 0xff, 0x54, 0xad, 0x02, 0xcc, 0x92, 0xcb, 0x10, 0x5e, 0x15, 0x70, 0xb3, 0x40, 0xd5, 0x4b, 0x7f, 0x6a, 0x4a, 0x6c, 0x5d, 0x6f, 0x28, 0xfb, 0x35, 0xa1, 0x97, 0x6b, 0xfe, 0x66, 0xa1, 0xc2, 0xa3, 0x33, 0x25, 0x71, 0xb8, 0x38, 0x0f, 0x8c, 0x14, 0x5e, 0x07, 0xee, 0x97, 0x3b, 0x6b, 0xcf, 0xa4, 0x73, 0xce, 0x7f, 0x02, 0xdf, 0x16, 0xc1, 0x71, 0x5d, 0x63, 0x57, 0x79, 0x36, 0xcc, 0xbb, 0x10, 0xec, 0x95, 0x43, 0x96, 0x58, 0x74, 0x1f, 0x93, 0x02, 0x94, 0x49, 0x72, 0x3d, 0xfe, 0xa6, 0x5b, 0x1c, 0xdb, 0x9a, 0x56, 0x8b, 0x38, 0xf2, 0x94, 0x91, 0xcf, 0x56, 0x2d, 0x24, 0xe3, 0xd2, 0xd5, 0xaf, 0x8f, 0xdf, 0x11, 0x30, 0xa1, 0xfb, 0x4d, 0x16, 0xb2, 0x7f, 0xe8, 0x57, 0x90, 0xd7, 0xf5, 0x87, 0x9c, 0x09, 0x24, 0x72, 0x23, 0xd2, 0x16, 0x4b, 0xb2, 0x81, 0x50, 0x75, 0xc3, 0x5e, 0xd4, 0xe5, 0x2c, 0x3d, 0x73, 0x4e, 0x7c, 0xee, 0x74, 0xd1, 0x1d, 0x73, 0xe9, 0x63, 0x8f, 0x0c, 0xcb, 0x28, 0xa2, 0x8e, 0x5f, 0xe1, 0xdb, 0xfa, 0x08, 0xa5, 0xbc, 0x09, 0xf3, 0x13, 0x75, 0x84, 0x8b, 0xff, 0x35, 0x9b, 0x69, 0x2e, 0x2c, 0x7b, 0x26, 0xc1, 0x88, 0x67, 0x2c, 0xfa, 0x21, 0x30, 0x9b, 0x65, 0xeb, 0x35, 0xa6, 0x25, 0xde, 0x52, 0x79, 0xb8, 0xa8, 0xf0, 0x30, 0xd4, 0x07, 0xd4, 0xc1, 0x43, 0x42, 0xa2, 0x51, 0x39, 0x61, 0x68, 0x12, 0xb6, 0x09, 0x10, 0xa3, 0x85, 0x8b, 0xad, 0xbd, 0x08, 0x5b, 0xd6, 0xc8, 0x8b, 0x67, 0x66, 0x98, 0x9a, 0xd3, 0x0b, 0x57, 0x07, 0x1f, 0x8d, 0x83, 0x80, 0x99, 0x1b, 0x8d, 0x87, 0xb1, 0xfd, 0x69, 0xeb, 0x25, 0x73, 0x51, 0xe3, 0x52, 0x0d, 0xed, 0x22, 0xaf, 0xb5, 0xbc, 0x40, 0x58, 0xa4, 0x77, 0xa3, 0x8c, 0x02, 0xe6, 0x94, 0xb6, 0xd2, 0x1c, 0xb2, 0x1a, 0x2e, 0x0c, 0xb1, 0xb6, 0xe8, 0xc8, 0x2f, 0x55, 0xc4, 0xf4, 0x1d, 0x78, 0xf5, 0xa7, 0xb9, 0xf4, 0x7f, 0xb2, 0x16, 0x40, 0x5b, 0xe4, 0xe0, 0x70, 0x1d, 0x1e, 0xfb, 0x7d, 0x36, 0x7e, 0x32, 0x1f, 0x8b, 0x09, 0xff, 0xe6, 0xfe, 0x41, 0x52, 0xcb, 0x51, 0x67, 0xbf, 0x2a, 0xb5, 0x35, 0x33, 0x6c, 0x64, 0x7a, 0x73, 0x29, 0xba, 0x1c, 0xf5, 0x7a, 0x83, 0x7f, 0xa5, 0x5f, 0xf9, 0x1a, 0x3c, 0xbd, 0xe5, 0x73, 0x24, 0xcd, 0x77, 0x1e, 0x24, 0xd1, 0x42, 0x95, 0x97, 0x1b, 0xfa, 0x56, 0xc6, 0x74, 0x9e, 0x46, 0x51, 0xd4, 0x29, 0xc0, 0x45, 0xfe, 0x7d, 0x82, 0xfb, 0x9f, 0x07, 0x24, 0x39, 0x6a, 0xd5, 0x84, 0x9f, 0xda, 0x83, 0xc0, 0xb7, 0x91, 0xfd, 0x90, 0x2b, 0x79, 0xab, 0xde, 0x0f, 0xe5, 0xed, 0x2b, 0x14, 0x29, 0xf9, 0x7a, 0x94, 0xbf, 0x75, 0x03, 0x7e, 0x19, 0xc7, 0x0c, 0x73, 0xae, 0x82, 0x70, 0xe1, 0x0f, 0xb2, 0x9f, 0x98, 0x71, 0x2a, 0x3c, 0x1c, 0x68, 0x8b, 0x1c, 0x1d, 0x2a, 0x9f, 0xdc, 0xe6, 0xcc, 0x6f, 0x34, 0x68, 0xef, 0x0b, 0x2a, 0xcf, 0xe4, 0xdf, 0x1c, 0x0f, 0x85, 0x10, 0xf4, 0x41, 0x75, 0x2c, 0x0d, 0x7a, 0x51, 0x9b, 0x96, 0xd3, 0x1b, 0x2e, 0xa5, 0xcb, 0x9a, 0x0c, 0x8e, 0x2c, 0x7a, 0x46, 0xbb, 0xaf, 0x1e, 0xb6, 0x4a, 0x95, 0x2e, 0xe5, 0x18, 0xcb, 0x62, 0x51, 0xc1, 0x4c, 0x4e, 0x6f, 0xcf, 0xd2, 0x64, 0xe2, 0xec, 0x87, 0xb4, 0x09, 0x3f, 0x28, 0x3e, 0x10, 0x2b, 0x47, 0x15, 0xb0, 0x4f, 0xec, 0x8a, 0x90, 0xdd, 0x09, 0x44, 0x79, 0x4e, 0x8b, 0x8e, 0xc9, 0x35, 0x4b, 0x04, 0x37, 0x89, 0x77, 0xad, 0x5b, 0xd7, 0x41, 0x0d, 0x75, 0x4f, 0x14, 0xdb, 0x4f, 0xc7, 0x03, 0x4e, 0x0b, 0xfd, 0x2e, 0x4f, 0xe4, 0x8c, 0x45, 0x31, 0xa8, 0x44, 0x2a, 0x5e, 0x0a, 0xcc, 0x16, 0x12, 0xc6, 0xaa, 0x70, 0x79, 0xac, 0x36, 0xf6, 0x0d, 0x1f, 0x2a, 0x43, 0xe7, 0x53, 0x6b, 0x73, 0xbb, 0x88, 0x8d, 0xb9, 0xa0, 0xde, 0x24, 0x7d, 0x0b, 0xf9, 0x67, 0xc7, 0xe2, 0x9b, 0x37, 0x37, 0xbe, 0x37, 0x43, 0x97, 0xed, 0x1c, 0x25, 0x3c, 0x0b, 0x8f, 0x36, 0xee, 0x77, 0xbf, 0x69, 0x20, 0xd3, 0xf3, 0x5e, 0x9b, 0x78, 0x1a, 0x1e, 0xee, 0x59, 0x20, 0x4b, 0x3a, 0xf5, 0x02, 0xf2, 0x3c, 0x0e, 0x40, 0xd2, 0x03, 0x71, 0xaa, 0xaf, 0x87, 0xde, 0xe4, 0x59, 0xf9, 0x73, 0x4c, 0x13, 0xb0, 0x31, 0xf4, 0x0d, 0x96, 0xc0, 0x3c, 0x47, 0x5f, 0x33, 0xdc, 0xec, 0xd3, 0x66, 0x11, 0xe8, 0xa1, 0x2f, 0x8d, 0x5c, 0x5c, 0xdb, 0x26, 0x39, 0x6b, 0x13, 0xaa, 0xa3, 0xf5, 0xdc, 0xf3, 0xcf, 0xff, 0x66, 0x4e, 0x37, 0x69, 0x43, 0xf3, 0x5d, 0xdc, 0x6b, 0x1c, 0x37, 0x20, 0x63, 0x15, 0x9f, 0x37, 0xd7, 0xd1, 0x09, 0xcf, 0x85, 0x6f, 0xbb, 0x81, 0xd2, 0x79, 0x30, 0x06, 0xce, 0xb5, 0x37, 0x63, 0xcf, 0x3b, 0xf8, 0x4c, 0x92, 0x75, 0xea, 0xda, 0xed, 0xaf, 0x90, 0x1b, 0x1b, 0xb1, 0xc0, 0xac, 0xb7, 0xcb, 0x35, 0xd6, 0xb0, 0xc3, 0x07, 0xf5, 0xfc, 0x46, 0x50, 0x3b, 0x18, 0xe7, 0x6f, 0xfb, 0xcd, 0x71, 0xad, 0x7c, 0x74, 0x68, 0x1c, 0xb9, 0xb4, 0xac, 0x0c, 0x71, 0xa4, 0x07, 0x56, 0x66, 0xf6, 0xa6, 0xfb, 0xcf, 0xac, 0x2c, 0x29, 0x33, 0x62, 0xab, 0xe6, 0xb8, 0x0e, 0x72, 0x2d, 0xd8, 0x7a, 0x16, 0x1e, 0x6c, 0x50, 0x0c, 0x9e, 0xfa, 0x41, 0xac, 0x29, 0x4d, 0x06, 0x3b, 0xa5, 0x08, 0xb0, 0x2c, 0x5d, 0x9a, 0x80, 0xbd, 0x5f, 0xa6, 0xaf, 0xc8, 0x77, 0x3d, 0x40, 0x74, 0x66, 0xc9, 0x2e, 0x37, 0xc3, 0x58, 0xf6, 0x8b, 0x5b, 0xf9, 0xa1, 0x93, 0x42, 0x3d, 0xf2, 0x94, 0xf1, 0xa4, 0xf8, 0x94, 0xf9, 0xd8, 0x67, 0x5e, 0xca, 0x9e, 0xcc, 0x69, 0x4d, 0x65, 0xca, 0xa9, 0x33, 0xc8, 0xaf, 0x71, 0x3c, 0x5e, 0xca, 0x00, 0x36, 0x75, 0x37, 0x5d, 0x90, 0xb1, 0x7b, 0x9f, 0x55, 0x7f, 0xd4, 0x8c, 0x3b, 0x78, 0x76, 0x60, 0xdc, 0xea, 0x2d, 0x72, 0x7e, 0xaa, 0x19, 0x21, 0x49, 0x92, 0x09, 0xe9, 0xb7, 0x6d, 0x4c, 0x3f, 0x86, 0x62, 0x1b, 0xbc, 0xee, 0x0c, 0x19, 0xac, 0x85, 0x5e, 0x36, 0xfe, 0x66, 0xa9, 0xab, 0x97, 0x8e, 0x9a, 0x0b, 0xd0, 0x2f, 0xdf, 0xe6, 0x49, 0x31, 0x79, 0xa7, 0x6c, 0xce, 0x81, 0xc0, 0xd4, 0x00, 0x72, 0x32, 0xfa, 0x6f, 0x4a, 0x8d, 0x29, 0x73, 0x06, 0xe8, 0x7f, 0x5a, 0x75, 0x80, 0xf0, 0x92, 0xc7, 0x2a, 0x9f, 0x01, 0xa7, 0xfc, 0x3e, 0x4a, 0x05, 0x24, 0x81, 0xaa, 0x17, 0xfa, 0x89, 0x24, 0xbe, 0xbd, 0xd6, 0xc0, 0xf3, 0x62, 0x27, 0xfb, 0x28, 0xb1, 0xe2, 0x7d, 0xbc, 0x9f, 0x86, 0x07, 0x26, 0x66, 0x53, 0x53, 0x68, 0xbe, 0xc0, 0x7f, 0x3d, 0xba, 0x44, 0x2e, 0xd6, 0x63, 0x5d, 0x56, 0x0b, 0x5d, 0x36, 0x66, 0x35, 0x86, 0xb9, 0xc7, 0x5f, 0xb6, 0x2c, 0xa7, 0xd9, 0x19, 0x25, 0xac, 0xa6, 0x5e, 0xfb, 0xd4, 0x11, 0x8f, 0xb5, 0x74, 0x89, 0xb0, 0xe1, 0xe3, 0x2d, 0xf5, 0x2f, 0x7e, 0x78, 0x29, 0x7c, 0xc3, 0x5c, 0x6e, 0x88, 0x96, 0xd8, 0xc7, 0x3c, 0xed, 0xa0, 0xaa, 0x7c, 0xc8, 0xe2, 0x51, 0x26, 0x15, 0x6a, 0x22, 0x9d, 0x48, 0xe0, 0xcc, 0x57, 0xdc, 0x20, 0xba, 0x05, 0x07, 0xcb, 0xc5, 0xbd, 0x76, 0x56, 0xb9, 0x55, 0x1d, 0x7f, 0xc0, 0x1c, 0x38, 0x86, 0x01, 0x05, 0x62, 0x2b, 0x7b, 0xd9, 0xfc, 0x7d, 0x20, 0x67, 0xfa, 0xd7, 0x6c, 0x63, 0x75, 0x4f, 0xe1, 0x27, 0x74, 0x12, 0xd2, 0xb2, 0x4b, 0x9d, 0x22, 0xa3, 0x67, 0x99, 0x0a, 0x78, 0x2d, 0x07, 0x86, 0xb6, 0xcd, 0x48, 0x5e, 0xbf, 0x03, 0xf6, 0xaa, 0xad, 0x79, 0xf3, 0x66, 0x8e, 0xc4, 0x7c, 0x38, 0x38, 0x6b, 0x6b, 0xc8, 0x55, 0xfb, 0x15, 0x2d, 0x98, 0x29, 0x91, 0xd8, 0xaa, 0xdf, 0xfd, 0x70, 0xe6, 0x04, 0x6e, 0x23, 0xbb, 0xb6, 0x18, 0xea, 0x74, 0xb4, 0x97, 0x1b, 0x40, 0x15, 0x31, 0x1a, 0x8f, 0x9c, 0x47, 0x85, 0x94, 0x0e, 0x87, 0x5d, 0xaa, 0x72, 0x58, 0x3b, 0x99, 0x04, 0x46, 0x9a, 0xe9, 0x6a, 0x00, 0x14, 0x65, 0xe2, 0xb3, 0xee, 0x43, 0xa0, 0x05, 0xa6, 0x6c, 0xfe, 0x6e, 0x1d, 0x18, 0x1c, 0x74, 0x85, 0x69, 0xbc, 0x45, 0x1e, 0xc2, 0x62, 0x99, 0xbf, 0x71, 0xa3, 0x4f, 0xde, 0xd2, 0x4d, 0x8b, 0x74, 0x45, 0xa6, 0xcd, 0xce, 0xbe, 0x20, 0x3d, 0x36, 0xc2, 0xd2, 0x90, 0x20, 0x30, 0x03, 0x27, 0x47, 0x18, 0xc3, 0x60, 0x07, 0x31, 0xf2, 0x87, 0x46, 0x06, 0xcb, 0x97, 0x55, 0x54, 0x93, 0x15, 0x5a, 0x57, 0x63, 0x07, 0x41, 0xf5, 0x35, 0x06, 0x5b, 0x11, 0x8a, 0x1a, 0x88, 0xb5, 0x06, 0x29, 0x8f, 0x32, 0x77, 0xe2, 0x5e, 0x6a, 0x93, 0x53, 0x08, 0x7e, 0x4a, 0xd9, 0xb6, 0xcd, 0xa2, 0x99, 0xc7, 0x35, 0x1b, 0xd1, 0xd0, 0xf7, 0xcc, 0x08, 0x47, 0x98, 0xdb, 0x74, 0xc9, 0x9e, 0x82, 0xb9, 0x04, 0x10, 0xec, 0x03, 0xf5, 0x06, 0x7d, 0xd9, 0xb2, 0xc4, 0x21, 0x16, 0x3f, 0x97, 0xc8, 0x30, 0x77, 0x00, 0xd1, 0xef, 0xd1, 0x3f, 0x3b, 0x20, 0xc9, 0xe5, 0x7b, 0x01, 0x9d, 0x8a, 0x1d, 0x26, 0x5d, 0x63, 0x13, 0x34, 0xeb, 0x60, 0xd0, 0x74, 0x86, 0x77, 0xc9, 0x9b, 0x80, 0x57, 0xc4, 0xba, 0xe2, 0x10, 0xff, 0x14, 0x18, 0xb1, 0xc4, 0x36, 0x79, 0xe9, 0x00, 0x04, 0xcf, 0xc1, 0x15, 0x6c, 0xd1, 0x95, 0xe9, 0x4c, 0x3e, 0xf6, 0x2c, 0x0d, 0xd1, 0xf5, 0xef, 0x8d, 0x50, 0xd7, 0x6e, 0xe8, 0x68, 0x1a, 0x01, 0x13, 0x9f, 0x1c, 0x7c, 0xe6, 0x0b, 0xc1, 0x6a, 0x8c, 0x38, 0xa0, 0x4e, 0xa5, 0xb5, 0x59, 0xd3, 0x2f, 0x19, 0x82, 0x85, 0xbc, 0x1d, 0x6f, 0xf8, 0x90, 0xa9, 0x24, 0xf5, 0xd7, 0xd4, 0x1e, 0xf8, 0x17, 0x36, 0x00, 0x0b, 0x7e, 0x40, 0xa0, 0x60, 0x71, 0xcf, 0xe4, 0x2d, 0x35, 0x02, 0x48, 0x97, 0x28, 0xe0, 0xd9, 0xaf, 0x79, 0xb5, 0x8f, 0xf7, 0xfc, 0xa6, 0xde, 0x2b, 0xad, 0x43, 0x6f, 0x6d, 0x22, 0x93, 0xb5, 0xfd, 0x0b, 0xc5, 0xc0, 0x51, 0xbe, 0xd5, 0xec, 0x6c, 0x8e, 0xa7, 0xfa, 0xd7, 0x57, 0xf0, 0x8d, 0x3f, 0x25, 0xe6, 0xd0, 0xda, 0x69, 0x1a, 0x6c, 0x3e, 0x91, 0xc3, 0xf5, 0xe7, 0x56, 0xaf, 0xb8, 0x6d, 0x96, 0x45, 0x7c, 0x3b, 0x21, 0x26, 0x8e, 0xa4, 0x07, 0x7a, 0x40, 0x60, 0x33, 0x52, 0x29, 0x5b, 0x4d, 0x52, 0x0d, 0x22, 0x5e, 0xcf, 0x78, 0xb7, 0xb5, 0x84, 0x58, 0x8a, 0xa9, 0xdd, 0xcc, 0xf7, 0xc4, 0x44, 0x9e, 0xe2, 0xfc, 0xbf, 0x58, 0x33, 0x4e, 0x5c, 0xac, 0x63, 0xfd, 0xe9, 0x22, 0x90, 0xf7, 0xd0, 0x6f, 0x0b, 0xc2, 0x3b, 0x7b, 0xc5, 0x90, 0x98, 0xf4, 0xaf, 0xe9, 0x19, 0x10, 0x2b, 0xa8, 0x98, 0x86, 0x6d, 0x43, 0xcc, 0x2f, 0x8d, 0xd6, 0x5b, 0xf1, 0xf1, 0x93, 0x10, 0xd3, 0xfe, 0xb3, 0xa2, 0x25, 0xb8, 0xeb, 0x08, 0x56, 0x99, 0x25, 0x0f, 0x9b, 0xb3, 0x6b, 0x93, 0xbc, 0x2f, 0xc0, 0xd2, 0xe2, 0x79, 0x22, 0xf4, 0x4c, 0x6e, 0x75, 0xdd, 0x3b, 0x56, 0x14, 0x5c, 0xad, 0x85, 0x70, 0x21, 0xe6, 0x70, 0xb0, 0x6f, 0x23, 0xb0, 0x86, 0x9f, 0x64, 0x28, 0xa2, 0x6d, 0x72, 0xd0, 0x86, 0x1f, 0x16, 0x87, 0xe8, 0xc2, 0x21, 0x90, 0x90, 0x3d, 0x44, 0x79, 0x87, 0x3b, 0x24, 0xeb, 0x3b, 0x2c, 0x7f, 0x3f, 0x3c, 0xe0, 0x1a, 0x8e, 0x97, 0x22, 0x8e, 0xfa, 0xa3, 0x78, 0x48, 0xbd, 0x3a, 0xb3, 0xd1, 0x31, 0x7b, 0xaf, 0x0d, 0xc9, 0x9b, 0x8f, 0x42, 0x5d, 0x4b, 0x0a, 0x2a, 0xc8, 0x33, 0x30, 0x88, 0xc3, 0xa0, 0xd4, 0xe5, 0xce, 0x99, 0xe5, 0xf0, 0x70, 0xbf, 0xaf, 0x5a, 0xe6, 0xc1, 0x11, 0x66, 0x79, 0x00, 0xae, 0x16, 0x06, 0x1b, 0x94, 0xb9, 0x1e, 0xd9, 0xa6, 0x2f, 0xdf, 0x40, 0x1a, 0xeb, 0xf2, 0xd6, 0x86, 0x78, 0x62, 0x67, 0x11, 0x1e, 0x24, 0xef, 0xe1, 0x9c, 0x4e, 0x34, 0xe8, 0x45, 0x30, 0x7a, 0x72, 0x31, 0xbe, 0xc3, 0x8f, 0x4c, 0xb8, 0xab, 0xd1, 0x30, 0xbb, 0xb1, 0xea, 0x46, 0x28, 0x74, 0x69, 0xc7, 0x0e, 0x4d, 0x9e, 0x00, 0x1d, 0x75, 0x93, 0x09, 0x0e, 0x5d, 0x03, 0x8d, 0x43, 0x0f, 0x05, 0x51, 0xef, 0x46, 0x01, 0x04, 0x50, 0xb0, 0x34, 0xcf, 0x6a, 0xbe, 0x03, 0xef, 0x87, 0x00, 0x19, 0x94, 0xbd, 0xd3, 0xa2, 0x3e, 0x2d, 0x0a, 0xb0, 0x98, 0xa8, 0x84, 0xc4, 0x43, 0x61, 0xc6, 0xea, 0x31, 0xc3, 0xb8, 0xc9, 0x43, 0x6a, 0x22, 0xc6, 0x49, 0xdd, 0xab, 0x2b, 0x9d, 0x81, 0xb5, 0x63, 0xc7, 0xa4, 0x26, 0x2a, 0x5c, 0x5e, 0xb1, 0x65, 0xd1, 0x99, 0x0b, 0x87, 0xba, 0xaf, 0xaa, 0x5a, 0x39, 0x1a, 0x5d, 0x73, 0x0c, 0x66, 0x1a, 0xee, 0x49, 0x60, 0x70, 0xdc, 0xb5, 0xa8, 0x07, 0xb2, 0xed, 0xba, 0xd4, 0x86, 0x74, 0x1a, 0xca, 0x58, 0x9b, 0x88, 0xa1, 0x1a, 0xa5, 0x6a, 0x87, 0xa4, 0xba, 0x36, 0x92, 0xa0, 0xd1, 0x8a, 0xcb, 0xf1, 0x2b, 0x1a, 0x08, 0x84, 0xb1, 0x3a, 0xaa, 0x81, 0xcc, 0xa2, 0x88, 0xc9, 0x75, 0x0a, 0x3f, 0xee, 0x75, 0x16, 0x28, 0x7a, 0x83, 0xa3, 0x9f, 0x4a, 0x42, 0xf8, 0xde, 0x7b, 0x1a, 0xfd, 0x0b, 0xb2, 0x74, 0xbf, 0x7f, 0x6a, 0x1d, 0x93, 0x0b, 0xee, 0x03, 0xdc, 0xbf, 0xb0, 0x16, 0x58, 0x79, 0x6b, 0x32, 0x50, 0xca, 0x7a, 0xa0, 0xd4, 0x45, 0x2e, 0x56, 0x78, 0x6c, 0xb7, 0x20, 0xf5, 0x42, 0x95, 0xec, 0xf5, 0x60, 0xf5, 0x94, 0x3e, 0x34, 0xbb, 0x2b, 0xf1, 0x61, 0xfb, 0x5b, 0xb5, 0x11, 0x15, 0x59, 0xfc, 0xe6, 0x47, 0x56, 0xa7, 0x3b, 0xe1, 0xdc, 0x0f, 0x79, 0xce, 0x2a, 0xd0, 0x8b, 0x27, 0xd5, 0x50, 0x2c, 0x0f, 0x78, 0x55, 0xad, 0x25, 0x5b, 0xfa, 0xda, 0xbb, 0x7e, 0xbd, 0xc6, 0x79, 0xd7, 0x79, 0xb7, 0xee, 0x48, 0x4c, 0xb7, 0x94, 0xa2, 0xfe, 0xf7, 0x68, 0xaf, 0x2b, 0xf6, 0xe9, 0xae, 0xc4, 0x3f, 0x2c, 0x8d, 0x90, 0xeb, 0x98, 0x45, 0xc4, 0x4d, 0x89, 0x8b, 0x6e, 0x6f, 0x97, 0xfd, 0x4a, 0x26, 0xc2, 0xd4, 0x8f, 0x04, 0xac, 0x2d, 0xa7, 0x7d, 0xae, 0x27, 0xfe, 0xb4, 0xe3, 0x15, 0xf8, 0x3a, 0xcc, 0x05, 0xaf, 0x1a, 0x69, 0x66, 0x02, 0x77, 0x0a, 0xbc, 0x0d, 0x22, 0x32, 0xc9, 0x45, 0x54, 0xb1, 0x59, 0x40, 0xe5, 0x43, 0x90, 0x5c, 0xa3, 0xd2, 0x2a, 0x80, 0x6d, 0x45, 0x9d, 0x93, 0xe8, 0xbf, 0xa2, 0xc2, 0xd1, 0x39, 0x58, 0x35, 0xf4, 0xd3, 0x5a, 0x10, 0x93, 0xcc, 0x58, 0xb8, 0x27, 0x2d, 0x62, 0xb8, 0x0f, 0x0a, 0x7b, 0xbc, 0x24, 0x5c, 0xeb, 0x6c, 0xda, 0xab, 0x6c, 0xdf, 0x4d, 0x18, 0x45, 0x19, 0xd5, 0xf4, 0x7d, 0xa0, 0xf5, 0x7b, 0xe4, 0x5c, 0x8a, 0x7f, 0x66, 0xea, 0xe2, 0xbf, 0xdd, 0x93, 0x2b, 0x63, 0xa1, 0x0c, 0x3e, 0xf6, 0xf0, 0x0f, 0x31, 0xf1, 0x87, 0x49, 0x7c, 0x89, 0xd1, 0x66, 0xcf, 0x4a, 0x40, 0x18, 0xb5, 0x38, 0xae, 0xf1, 0x08, 0xad, 0x94, 0x1e, 0xac, 0xa8, 0x02, 0x12, 0x0d, 0x69, 0x04, 0x02, 0xfd, 0xe6, 0x86, 0x51, 0x31, 0xfd, 0x4c, 0xa1, 0x06, 0x66, 0xf4, 0xe3, 0xed, 0xf6, 0x58, 0xd5, 0xfc, 0x47, 0xf3, 0x64, 0x4a, 0x6f, 0xac, 0x75, 0x52, 0x34, 0x37, 0xd6, 0x22, 0xbb, 0xad, 0x7d, 0x0f, 0xa7, 0xa0, 0x9c, 0x65, 0x9a, 0x82, 0x5d, 0x45, 0x6f, 0x72, 0x26, 0xf8, 0x2d, 0xe1, 0xef, 0x76, 0x07, 0xf8, 0x30, 0x65, 0x54, 0x48, 0x04, 0x2f, 0x19, 0xbb, 0xc9, 0x5a, 0xbb, 0x6e, 0x94, 0x45, 0xcc, 0x9e, 0x69, 0x0e, 0x14, 0x0f, 0x2f, 0x39, 0x5c, 0xed, 0xf5, 0x74, 0x32, 0x7b, 0xab, 0x07, 0xc9, 0xc4, 0x73, 0xe9, 0x19, 0x2c, 0xdc, 0x9b, 0x2e, 0x99, 0xca, 0x7d, 0xa7, 0x41, 0xcc, 0xda, 0x58, 0x85, 0x5d, 0x30, 0x9b, 0x31, 0x7f, 0x1f, 0x2a, 0x24, 0xc9, 0x6a, 0x0a, 0x95, 0xd3, 0x80, 0x31, 0x36, 0xb0, 0xd1, 0x69, 0x10, 0xa6, 0xa8, 0x3c, 0xd7, 0x54, 0xca, 0x29, 0x9d, 0x2e, 0x3a, 0xc7, 0x3f, 0xd1, 0xc2, 0x29, 0x76, 0x2c, 0x14, 0x39, 0x56, 0x45, 0x27, 0x7e, 0xff, 0xf4, 0x38, 0xaa, 0x4b, 0x9d, 0xa5, 0xc9, 0x97, 0x8c, 0x59, 0xe5, 0xc1, 0xd4, 0xa1, 0xc0, 0x17, 0xea, 0x54, 0x7a, 0xed, 0xeb, 0x89, 0x92, 0x9e, 0x69, 0xb1, 0xed, 0x15, 0x18, 0xde, 0x67, 0x85, 0x6e, 0xd6, 0x58, 0x00, 0x0c, 0xf6, 0x3d, 0x47, 0xef, 0xbf, 0xbc, 0x6e, 0x12, 0x1c, 0x85, 0x51, 0x16, 0xa5, 0x6f, 0x4f, 0xcd, 0xec, 0x34, 0x99, 0xff, 0xad, 0x30, 0xe3, 0xa5, 0x58, 0x7d, 0xd7, 0x8d, 0x41, 0xf7, 0x98, 0xa2, 0xc8, 0x4d, 0x18, 0x1f, 0x7b, 0xdd, 0xf4, 0xc6, 0x28, 0xe4, 0xf2, 0xb5, 0x74, 0x1d, 0xe9, 0xcc, 0x7a, 0x89, 0x77, 0xcc, 0x5a, 0x47, 0x5d, 0xe2, 0xfe, 0x70, 0x0c, 0x9f, 0x44, 0x80, 0xde, 0x45, 0x26, 0x6f, 0x78, 0xb5, 0xf2, 0xb5, 0x06, 0x4f, 0xa2, 0xbd, 0xd2, 0xbc, 0x7c, 0x6a, 0x15, 0xcb, 0xac, 0xa9, 0xfe, 0xf6, 0x1a, 0x17, 0x91, 0xf0, 0x41, 0xec, 0xc1, 0xff, 0x36, 0xf8, 0xa3, 0xea, 0x07, 0x02, 0x7f, 0xb5, 0xb8, 0x97, 0xe4, 0x1f, 0x86, 0x93, 0x75, 0x94, 0x40, 0x56, 0xfc, 0xec, 0xc5, 0xf8, 0xef, 0xac, 0x31, 0x30, 0xad, 0x84, 0x60, 0x27, 0xec, 0x33, 0x9b, 0x0d, 0xa9, 0xcd, 0xf1, 0x68, 0x2d, 0x86, 0x5b, 0x12, 0x58, 0xf4, 0xb4, 0x83, 0x7b, 0x72, 0xd7, 0xdc, 0x6e, 0x09, 0x03, 0xa8, 0x3c, 0xf2, 0x85, 0x13, 0x4d, 0xc2, 0xdc, 0x91, 0xe5, 0x82, 0x5c, 0x87, 0x90, 0x4b, 0x40, 0xec, 0xee, 0xe2, 0xf3, 0x04, 0x57, 0xbb, 0x70, 0xc2, 0xaf, 0xaf, 0x76, 0x36, 0xfa, 0x56, 0x4d, 0x56, 0x27, 0xe5, 0xd4, 0xd8, 0x3f, 0xbd, 0x78, 0x62, 0x9b, 0x8d, 0xa2, 0x22, 0x0c, 0x5c, 0xa8, 0x12, 0x77, 0xe0, 0x19, 0xe1, 0x63, 0x2f, 0x34, 0xf9, 0x81, 0x93, 0x5f, 0x4f, 0xb3, 0x74, 0xc2, 0x66, 0x3e, 0x37, 0x64, 0x21, 0x1c, 0x82, 0xf5, 0x96, 0xc7, 0x0a, 0xdb, 0xe2, 0x67, 0xee, 0x7f, 0xb0, 0x9d, 0xec, 0x34, 0x48, 0x40, 0x7d, 0x17, 0x8c, 0x08, 0xf5, 0x85, 0x3d, 0xc6, 0x91, 0x5e, 0x52, 0xf2, 0xb9, 0x58, 0xc6, 0xb0, 0x27, 0x70, 0x49, 0x3a, 0x0d, 0x77, 0x72, 0xf4, 0x52, 0xad, 0xbb, 0x6e, 0x0c, 0x1f, 0x56, 0x28, 0x2d, 0x37, 0x6c, 0x16, 0x15, 0x09, 0x2d, 0x7c, 0x5c, 0x49, 0x7f, 0x2b, 0x6e, 0x84, 0xc4, 0xfd, 0x72, 0x16, 0xec, 0x6f, 0x9d, 0x1a, 0x70, 0xfe, 0xe5, 0x52, 0x4e, 0x26, 0x35, 0x97, 0x96, 0x68, 0xde, 0x3c, 0x1e, 0x0c, 0x7b, 0x16, 0x33, 0x36, 0xd2, 0xa4, 0x16, 0xd6, 0xad, 0x3d, 0x23, 0xc9, 0x88, 0x02, 0xe3, 0x5a, 0xcc, 0xdf, 0xb3, 0x05, 0x14, 0x87, 0x0a, 0x8f, 0xa9, 0xf6, 0x87, 0x3c, 0x5d, 0x92, 0x6f, 0x02, 0x78, 0xe4, 0x42, 0x33, 0x07, 0x08, 0xaa, 0x46, 0xa7, 0xd1, 0x40, 0x64, 0xcf, 0xcf, 0x7b, 0x48, 0x3a, 0x33, 0xe3, 0x73, 0x63, 0x36, 0x28, 0x84, 0xda, 0x51, 0xf5, 0x0c, 0x71, 0x71, 0x6f, 0x73, 0xdf, 0x8c, 0xe3, 0xd2, 0xee, 0xe3, 0xaf, 0xc1, 0x96, 0xa1, 0x55, 0xe3, 0x2d, 0x31, 0xb9, 0xac, 0x45, 0xde, 0xd9, 0x3b, 0x94, 0x90, 0xc7, 0x13, 0x35, 0xbe, 0x47, 0xa6, 0xf6, 0x42, 0x2b, 0xcc, 0x41, 0xa3, 0x43, 0xbc, 0xcd, 0x76, 0xe2, 0x26, 0xf9, 0x90, 0x51, 0x69, 0x20, 0x84, 0x74, 0x9c, 0x57, 0x9f, 0x4c, 0x56, 0xe4, 0x17, 0x60, 0xd6, 0xcb, 0x5f, 0xbf, 0x8b, 0x33, 0x19, 0xde, 0x5e, 0x89, 0x34, 0xa0, 0xe1, 0x62, 0x56, 0x83, 0x77, 0xc2, 0x4e, 0x80, 0x25, 0xff, 0x64, 0x8c, 0xb9, 0xe8, 0xec, 0xe0, 0x13, 0x3f, 0xf4, 0xe2, 0x15, 0x63, 0x95, 0x47, 0x5c, 0x9f, 0x98, 0x1d, 0xde, 0x2a, 0x38, 0x91, 0x25, 0x55, 0x1d, 0xd5, 0xa8, 0x45, 0x37, 0x09, 0x79, 0x9e, 0x8d, 0x1a, 0x10, 0x12, 0xa7, 0x03, 0xb2, 0xa3, 0x17, 0x66, 0xba, 0x93, 0x13, 0x50, 0x15, 0xff, 0x54, 0x11, 0xcf, 0xe7, 0x6f, 0xf6, 0x47, 0x47, 0xb1, 0x67, 0xdd, 0x69, 0xcd, 0xa5, 0x34, 0xa1, 0xc1, 0xcb, 0xa2, 0xb8, 0x04, 0x6f, 0x6d, 0xd0, 0x04, 0xfe, 0xe8, 0xef, 0x70, 0x30, 0x67, 0x15, 0xb9, 0xe8, 0x4a, 0x28, 0xd1, 0x28, 0x4c, 0xf1, 0x7c, 0xe7, 0x5b, 0xcd, 0x38, 0x1d, 0x78, 0x13, 0x4e, 0x18, 0x25, 0xaf, 0x21, 0xc4, 0x10, 0x4b, 0x8c, 0xcd, 0xfa, 0xf0, 0xa4, 0xd3, 0xf0, 0x86, 0x74, 0x8a, 0xc6, 0x72, 0xa8, 0xc1, 0x2e, 0xad, 0x3a, 0x1e, 0xa4, 0x62, 0x5a, 0x1d, 0x0b, 0x3d, 0x0f, 0xc9, 0xcb, 0x8c, 0xe9, 0x03, 0xe9, 0x4f, 0x0f, 0xed, 0x9e, 0x74, 0x50, 0xf4, 0x58, 0x8d, 0xbe, 0x66, 0xa4, 0xab, 0x68, 0x23, 0xea, 0x64, 0x4b, 0x44, 0xc7, 0x8a, 0x22, 0x38, 0xbe, 0x65, 0xfa, 0x40, 0x2e, 0x3b, 0x1a, 0xd9, 0x69, 0x05, 0xa1, 0xd4, 0x95, 0x5e, 0x29, 0xf5, 0xaf, 0x9d, 0x9f, 0x1d, 0xd1, 0x5c, 0x1a, 0x8a, 0xc9, 0xda, 0xa4, 0x70, 0x7f, 0x6c, 0x15, 0x08, 0x1a, 0x89, 0xb7, 0xfb, 0x25, 0xcf, 0xfd, 0xfa, 0xa6, 0x17, 0x1c, 0x10, 0x75, 0x70, 0x97, 0xbc, 0x19, 0xa8, 0x93, 0x83, 0x57, 0xef, 0x38, 0x6b, 0x50, 0xb6, 0x05, 0xdf, 0x8a, 0xb2, 0xd3, 0xa4, 0x5b, 0x21, 0x61, 0x57, 0xf0, 0x9d, 0x9c, 0xe3, 0xf4, 0xf4, 0x2c, 0x4c, 0xd8, 0xf7, 0xd5, 0x70, 0x31, 0xff, 0xe8, 0x50, 0x82, 0x03, 0x4b, 0x0d, 0x56, 0x4d, 0x70, 0x74, 0x15, 0xfa, 0xac, 0xa6, 0x2f, 0x0a, 0xb3, 0xa5, 0xbb, 0x19, 0x92, 0xa0, 0x88, 0xb1, 0x8b, 0xdb, 0xc5, 0x86, 0x44, 0x96, 0x6c, 0xe9, 0x8c, 0x82, 0xcb, 0x00, 0x6a, 0x8b, 0xe6, 0x6c, 0x90, 0x38, 0x63, 0xb0, 0x90, 0x6a, 0x19, 0x64, 0x18, 0x1a, 0xd6, 0xb0, 0x74, 0x09, 0x23, 0x15, 0x34, 0x3c, 0xf5, 0x1e, 0x62, 0x03, 0xed, 0x79, 0x18, 0x0d, 0x6b, 0xc7, 0x2f, 0xc9, 0xd3, 0x0e, 0xa0, 0x45, 0x78, 0x18, 0x82, 0xb6, 0x0a, 0x61, 0x7b, 0x5f, 0x58, 0x11, 0x1d, 0xf7, 0x95, 0x15, 0x3d, 0x66, 0x26, 0x7b, 0xb6, 0x28, 0xc1, 0x52, 0xd9, 0x60, 0xa7, 0xfe, 0x81, 0xd2, 0xd0, 0x44, 0x83, 0xe7, 0x6a, 0xe5, 0xd9, 0x30, 0xfa, 0x87, 0x3a, 0xd2, 0xa3, 0xba, 0xdf, 0x4f, 0xf7, 0x04, 0x1e, 0xb5, 0xb7, 0xfb, 0x09, 0x23, 0xaa, 0x22, 0x50, 0xea, 0x69, 0x73, 0x2d, 0x74, 0x50, 0x9f, 0xdc, 0x96, 0xcd, 0xad, 0x63, 0xc0, 0xaa, 0xdd, 0x2c, 0xf3, 0x68, 0x90, 0x53, 0xfb, 0x2c, 0xef, 0x34, 0x01, 0x7b, 0x2c, 0x47, 0x70, 0x9a, 0x10, 0xa4, 0x26, 0x84, 0x0f, 0x9f, 0x3f, 0xe0, 0x17, 0x8f, 0xdb, 0x0b, 0x3c, 0xbc, 0x33, 0x81, 0xb3, 0x03, 0xd8, 0x2d, 0x99, 0xd1, 0x18, 0x61, 0x5e, 0x14, 0x59, 0x3e, 0xe4, 0x1b, 0x89, 0x8c, 0xc8, 0x72, 0x5f, 0xdb, 0x4e, 0x51, 0xe2, 0x9e, 0x6b, 0x26, 0xa5, 0x09, 0xd3, 0x26, 0x7a, 0x1b, 0x16, 0x54, 0xdb, 0x3e, 0x96, 0x75, 0xbc, 0xba, 0x44, 0x7f, 0x3f, 0xea, 0x6e, 0xae, 0x72, 0x4e, 0xff, 0x7d, 0x96, 0x82, 0xfb, 0x05, 0xd6, 0x86, 0xac, 0xc6, 0x25, 0x39, 0x21, 0xd1, 0x27, 0x87, 0x33, 0x1f, 0x29, 0xed, 0xf7, 0x5c, 0x3f, 0x77, 0x66, 0x74, 0x3f, 0x6c, 0x0b, 0xb7, 0x8b, 0xde, 0x4b, 0xde, 0x0b, 0xe3, 0xc5, 0xb7, 0x52, 0xdf, 0xe9, 0x3d, 0x20, 0x95, 0xa3, 0xca, 0x41, 0x8a, 0xc0, 0xc8, 0xda, 0x97, 0xf2, 0x43, 0x8e, 0x39, 0x3d, 0xd6, 0xdf, 0xfa, 0x01, 0xb8, 0x5f, 0xae, 0x9c, 0x8d, 0xbe, 0x64, 0xf4, 0x2b, 0x18, 0x62, 0x3a, 0xd7, 0xf0, 0xd6, 0x4d, 0xf4, 0x77, 0x2b, 0x02, 0xa2, 0xa7, 0x55, 0x89, 0xf0, 0x98, 0xaf, 0x64, 0x84, 0xf3, 0x24, 0xd3, 0x72, 0x37, 0x88, 0xb5, 0x24, 0xb1, 0x03, 0x2b, 0x61, 0x4d, 0x4d, 0xb8, 0x6c, 0xf6, 0xad, 0x75, 0x47, 0xcc, 0xed, 0x2e, 0xf9, 0x62, 0x0a, 0x54, 0x8b, 0x41, 0x20, 0x20, 0xbe, 0xd2, 0x9d, 0x30, 0x15, 0x82, 0xcf, 0xd8, 0x61, 0xc9, 0xb9, 0x9b, 0x7a, 0x9a, 0x4c, 0xeb, 0x96, 0xc0, 0x8b, 0x68, 0xba, 0x06, 0xa7, 0x27, 0x98, 0xfb, 0x41, 0x15, 0x3d, 0xcb, 0x85, 0x21, 0x21, 0xfe, 0x5a, 0x91, 0xd4, 0xf0, 0x97, 0xcb, 0x47, 0xa8, 0xf5, 0xdc, 0x1d, 0xae, 0xe8, 0xf2, 0xb0, 0xc1, 0xd4, 0x29, 0x1d, 0xb0, 0x81, 0x27, 0x5f, 0xf7, 0x92, 0x01, 0xfb, 0x28, 0xe1, 0x9f, 0x64, 0xb1, 0xac, 0x94, 0x09, 0x50, 0x9f, 0xd9, 0x19, 0x3f, 0xb5, 0xaf, 0xcd, 0xed, 0x64, 0x7c, 0x50, 0x7e, 0xac, 0x30, 0x65, 0x3c, 0x7b, 0x2c, 0x28, 0x5c, 0x58, 0x2a, 0x1d, 0x3b, 0x8b, 0x24, 0x81, 0x4b, 0x23, 0xe3, 0x4f, 0x17, 0xed, 0x72, 0x04, 0x2a, 0x7f, 0x0f, 0x87, 0xd7, 0x4b, 0xa2, 0xf4, 0x35, 0x48, 0xbe, 0x95, 0xe3, 0x36, 0x39, 0x26, 0xde, 0x28, 0x81, 0x98, 0x0e, 0x3f, 0x7a, 0x70, 0xdd, 0xa9, 0x89, 0x9f, 0xbf, 0x0b, 0x93, 0x0f, 0x35, 0x8c, 0x4d, 0xae, 0x97, 0xf2, 0xa0, 0x38, 0x42, 0x63, 0x99, 0x49, 0xfc, 0x41, 0x9b, 0x46, 0x3e, 0x38, 0x4a, 0x8d, 0xba, 0xb2, 0xdd, 0xea, 0x8c, 0x1c, 0x70, 0x82, 0x17, 0xd6, 0xb4, 0xab, 0x10, 0x09, 0x25, 0x84, 0x79, 0xca, 0x10, 0xa9, 0x43, 0xfa, 0x59, 0x95, 0xac, 0xb0, 0xb7, 0x96, 0xaa, 0x00, 0xe1, 0xe7, 0xba, 0x2c, 0x97, 0x2a, 0x6f, 0x15, 0x37, 0x30, 0x6c, 0xe2, 0x68, 0x96, 0x82, 0x4a, 0xbc, 0x4b, 0xdf, 0xa3, 0xcb, 0xf6, 0x81, 0x3f, 0xb6, 0x0f, 0x6d, 0xc7, 0xad, 0xa2, 0xaf, 0x74, 0xaf, 0x74, 0x6a, 0xd2, 0x22, 0x1b, 0x10, 0x42, 0x03, 0x38, 0x55, 0xe9, 0x56, 0x70, 0x96, 0xbc, 0x62, 0xdc, 0x29, 0xab, 0xde, 0xa6, 0xf2, 0xa8, 0x09, 0x45, 0x4e, 0x76, 0x70, 0x87, 0x3b, 0x00, 0x91, 0xa9, 0x7c, 0x66, 0x41, 0x4f, 0x1f, 0xba, 0x3c, 0xbe, 0x60, 0xde, 0x34, 0xff, 0x91, 0xbb, 0x1d, 0xef, 0xcc, 0xf8, 0x12, 0x46, 0x6f, 0x0f, 0x8e, 0x40, 0x4d, 0x0c, 0x9e, 0x71, 0x4e, 0x99, 0xd0, 0xdc, 0x0b, 0xd3, 0x0d, 0xe9, 0xd2, 0x66, 0xb0, 0x31, 0xec, 0xa9, 0x23, 0xca, 0xb6, 0x54, 0x0c, 0x36, 0x90, 0x78, 0x76, 0x24, 0x01, 0xf0, 0x88, 0xe7, 0x9b, 0xd2, 0xe7, 0x87, 0x12, 0x47, 0x7c, 0x52, 0x1f, 0xb3, 0x46, 0xb6, 0x91, 0x23, 0xff, 0x0e, 0xc5, 0xa1, 0xe6, 0xf6, 0x2f, 0x84, 0xb0, 0xba, 0xd3, 0xc7, 0x0c, 0x82, 0xd9, 0xe0, 0x50, 0xd6, 0x2e, 0x2d, 0xd5, 0xfc, 0x52, 0xfa, 0x75, 0xdf, 0x0d, 0xe3, 0x36, 0x16, 0x73, 0x8c, 0xfe, 0x3f, 0xe4, 0xe9, 0x8c, 0x24, 0x5d, 0x7a, 0x1e, 0x83, 0xae, 0x7a, 0x61, 0x66, 0x08, 0x81, 0x37, 0x1d, 0xca, 0xc0, 0x39, 0xb5, 0x23, 0xe0, 0xc8, 0xcc, 0xb7, 0x54, 0x9f, 0x1c, 0xbb, 0x59, 0x4f, 0xa5, 0x5b, 0x28, 0xf0, 0x55, 0xc5, 0x91, 0x20, 0xe7, 0xd4, 0xba, 0x94, 0xff, 0xd5, 0xac, 0x0d, 0x92, 0xfb, 0xce, 0x19, 0x90, 0x14, 0xd6, 0x10, 0x74, 0xcb, 0x42, 0xeb, 0x3a, 0x53, 0x78, 0x05, 0x4e, 0x8a, 0xe9, 0xb6, 0x6f, 0x61, 0x55, 0x51, 0x6e, 0x09, 0x20, 0xc6, 0xa4, 0x1b, 0x66, 0x50, 0xec, 0x1e, 0xa0, 0x9c, 0x2a, 0x55, 0x42, 0xaa, 0x84, 0x4c, 0xe5, 0x1b, 0x3c, 0xfa, 0x77, 0x0a, 0xa8, 0x67, 0x41, 0x2d, 0x9c, 0x0f, 0x9f, 0x50, 0x76, 0xc1, 0x1a, 0xed, 0x62, 0xbd, 0xf7, 0x0f, 0x83, 0x80, 0x6d, 0x49, 0x2c, 0xb5, 0x8d, 0x24, 0x48, 0x08, 0x9b, 0xe4, 0x55, 0x35, 0xf3, 0xbd, 0x75, 0x4c, 0x6f, 0x31, 0x63, 0x1d, 0xab, 0x60, 0x8c, 0xf2, 0x3e, 0x41, 0xb6, 0x26, 0x94, 0x41, 0x84, 0xd8, 0x03, 0x81, 0x6d, 0x7f, 0x77, 0x67, 0xd3, 0xed, 0xbf, 0x10, 0x22, 0x8d, 0x2b, 0x77, 0xd7, 0x33, 0xb9, 0x2e, 0x2e, 0xbc, 0x76, 0xd4, 0x0f, 0x05, 0xf7, 0xaa, 0x17, 0xdf, 0x70, 0x48, 0xe7, 0xa4, 0x03, 0x4f, 0xec, 0xd6, 0x22, 0xfc, 0x06, 0x8f, 0x4d, 0x15, 0x48, 0xd8, 0x2a, 0xdd, 0xa3, 0x0c, 0x05, 0x6d, 0x29, 0xe3, 0x6b, 0xf6, 0x9b, 0x76, 0x20, 0x35, 0x5f, 0xd9, 0xf1, 0x85, 0xbc, 0x0c, 0x1c, 0x4f, 0x1b, 0x88, 0xe5, 0x78, 0xf6, 0x46, 0x16, 0xab, 0x31, 0x87, 0xe0, 0x9a, 0xd2, 0xf6, 0x47, 0xca, 0x0e, 0xcc, 0xaf, 0x44, 0xfd, 0x8e, 0x0f, 0x4c, 0x03, 0xc7, 0x1a, 0x25, 0x73, 0x41, 0x8f, 0x07, 0x1e, 0x67, 0x6d, 0xa2, 0x2a, 0x49, 0x80, 0x79, 0x1f, 0x4f, 0x98, 0x51, 0x70, 0x08, 0x2c, 0x1c, 0xe1, 0x16, 0xe2, 0xbf, 0xc6, 0x9d, 0x51, 0x03, 0xe1, 0xc4, 0xcc, 0x62, 0x01, 0xc8, 0x94, 0xda, 0xc0, 0x6c, 0x14, 0x73, 0x80, 0x3c, 0x01, 0xed, 0x52, 0x60, 0xe1, 0x44, 0x3f, 0xd2, 0xe3, 0xfe, 0xaa, 0x60, 0xd5, 0x43, 0x18, 0xbf, 0xe0, 0xf6, 0x0e, 0x6c, 0x4f, 0x2d, 0x73, 0xcf, 0x96, 0x86, 0x48, 0x42, 0xfe, 0xe5, 0x73, 0x30, 0xb9, 0x34, 0x65, 0x39, 0x84, 0x4d, 0x55, 0xad, 0xd4, 0x75, 0xcc, 0xf0, 0x6f, 0x65, 0xde, 0x65, 0x4c, 0x91, 0xea, 0x3b, 0xfb, 0xaf, 0x9e, 0xc5, 0xcb, 0x41, 0xc1, 0x42, 0x03, 0xe4, 0x57, 0x44, 0x23, 0x7f, 0x1a, 0xa4, 0x39, 0x3d, 0xe7, 0xef, 0xc4, 0xf7, 0x49, 0x6f, 0x45, 0x34, 0xab, 0xa6, 0x4a, 0xfd, 0x39, 0xe7, 0x5d, 0x2a, 0x96, 0x0e, 0x35, 0x3a, 0xe7, 0x47, 0x2a, 0xe2, 0xc9, 0x40, 0xdb, 0x01, 0x49, 0x37, 0x30, 0xd7, 0x2a, 0xe3, 0xac, 0xa8, 0x49, 0xa6, 0xae, 0x52, 0xcc, 0xbc, 0x54, 0x36, 0x8b, 0x7a, 0xc4, 0x25, 0x16, 0x63, 0x7d, 0x88, 0x87, 0x98, 0xae, 0x83, 0x65, 0x19, 0xf4, 0x82, 0xc2, 0xec, 0x9c, 0xd8, 0x7c, 0xa1, 0xd5, 0x63, 0x96, 0x40, 0x40, 0xfb, 0x40, 0xa8, 0x32, 0x9c, 0xc9, 0x01, 0xa2, 0x78, 0xac, 0xf5, 0xd0, 0xd8, 0xea, 0xb7, 0x2e, 0x55, 0x82, 0x9e, 0x6d, 0x1e, 0x1e, 0x68, 0x14, 0x22, 0x3a, 0xe7, 0x50, 0xe3, 0x7e, 0x75, 0xac, 0xd4, 0xb1, 0x8f, 0xf9, 0x03, 0x1f, 0x3f, 0xbf, 0xff, 0xc1, 0xb2, 0xa5, 0x31, 0x92, 0xfb, 0x5e, 0x2d, 0x2c, 0x85, 0x8e, 0xc6, 0x40, 0xcc, 0x8a, 0xc2, 0xaa, 0xa5, 0xfb, 0x5c, 0x9f, 0x8e, 0x95, 0x58, 0xed, 0x67, 0x37, 0xf7, 0xf4, 0xfa, 0xfa, 0x2c, 0xcc, 0xe7, 0x88, 0x44, 0x92, 0xdc, 0x48, 0x1f, 0xfb, 0x91, 0x19, 0x7a, 0xc2, 0x02, 0xfe, 0x42, 0x5f, 0x24, 0x5e, 0x64, 0x7a, 0xca, 0xf0, 0x0a, 0x4e, 0x66, 0x6d, 0xf0, 0xa5, 0x1d, 0xf7, 0x7b, 0x02, 0xae, 0x12, 0x30, 0xaa, 0xda, 0x4b, 0xd2, 0x3a, 0x5b, 0xf2, 0xc0, 0x3d, 0x9b, 0x8e, 0x16, 0xe5, 0x82, 0x0e, 0x5f, 0x82, 0x46, 0xb0, 0x7b, 0x98, 0xac, 0xf4, 0x91, 0x07, 0x82, 0xd6, 0x5f, 0xf4, 0xc3, 0x25, 0x93, 0xaf, 0x9d, 0x46, 0x54, 0x74, 0x91, 0x9d, 0x13, 0x0a, 0x21, 0x98, 0x85, 0xd1, 0xc3, 0xf3, 0x96, 0x95, 0xd0, 0x5b, 0xb0, 0x8f, 0xad, 0x88, 0x5a, 0xbd, 0x83, 0x33, 0x3b, 0x38, 0xb9, 0xa6, 0x17, 0x46, 0x5d, 0xb6, 0x36, 0xac, 0xf2, 0x15, 0xa7, 0x24, 0x6a, 0xf5, 0x1d, 0xef, 0xc3, 0xde, 0x0d, 0x16, 0xf8, 0x95, 0x25, 0xce, 0x8f, 0xe6, 0x71, 0xce, 0x67, 0x8e, 0x68, 0x49, 0x9c, 0x84, 0xd2, 0xaa, 0xd3, 0xcb, 0xb2, 0x06, 0xae, 0xd0, 0x52, 0x72, 0xf9, 0x8f, 0x91, 0xbe, 0x61, 0x17, 0x41, 0xf1, 0x4e, 0x0a, 0x9c, 0xaa, 0xb5, 0x19, 0x1d, 0xf5, 0x71, 0x6e, 0x8e, 0xe0, 0xe8, 0xe3, 0xf3, 0x90, 0x3d, 0xc6, 0x75, 0x68, 0xac, 0x8f, 0x44, 0x8e, 0x9e, 0xa1, 0xe4, 0xc1, 0x98, 0xae, 0x07, 0x15, 0xbd, 0x92, 0x52, 0x23, 0x3a, 0xbf, 0xfb, 0x0c, 0x2d, 0x9d, 0xaa, 0xc9, 0x7b, 0x26, 0x5b, 0xe1, 0x33, 0x42, 0x16, 0x3c, 0x9f, 0x9f, 0x11, 0xd5, 0xd1, 0x51, 0x30, 0x66, 0x0a, 0x92, 0x94, 0xeb, 0x42, 0x37, 0x02, 0x58, 0x5e, 0x89, 0x3f, 0x4c, 0xe0, 0x79, 0x9e, 0x1d, 0xcf, 0xa3, 0x3d, 0x93, 0x5c, 0xd3, 0x63, 0xca, 0xc4, 0xe5, 0x98, 0xe7, 0x1c, 0xbf, 0x62, 0xac, 0xe6, 0x3c, 0x10, 0x4e, 0xcb, 0xbf, 0x7c, 0xb6, 0x30, 0xe2, 0xdf, 0x84, 0x40, 0x6d, 0x7b, 0xae, 0xe1, 0xfb, 0x55, 0x96, 0xfa, 0x6c, 0xe0, 0x22, 0x0f, 0x2d, 0x5a, 0x7b, 0xbb, 0xdf, 0xa7, 0xe9, 0xbc, 0x19, 0xe6, 0x96, 0xbc, 0x97, 0x10, 0xb5, 0xce, 0x9f, 0x6f, 0xb8, 0xdd, 0x7c, 0xc2, 0x6c, 0xd3, 0x96, 0x4b, 0xc2, 0xed, 0xd5, 0x3d, 0x09, 0xbc, 0xf9, 0xbc, 0x28, 0xef, 0x2d, 0x32, 0x4c, 0x9f, 0x0a, 0xff, 0x1d, 0xc3, 0xf0, 0x5f, 0x05, 0x8d, 0x7b, 0x28, 0x12, 0xb2, 0x4f, 0xef, 0x65, 0x70, 0x82, 0xb1, 0x94, 0x1d, 0xa9, 0x5f, 0xb9, 0xc5, 0xb9, 0x8c, 0xf2, 0x0c, 0xba, 0x8a, 0xe2, 0x84, 0xa3, 0x82, 0x8a, 0x9a, 0xde, 0xb6, 0x49, 0xe3, 0xf1, 0x97, 0x73, 0x47, 0x88, 0x44, 0xff, 0x30, 0xb5, 0x27, 0xa4, 0x05, 0x67, 0x94, 0xf2, 0x71, 0xd6, 0x5d, 0x29, 0x12, 0x84, 0x94, 0x06, 0xe3, 0x40, 0x2a, 0xee, 0xa4, 0x43, 0x27, 0x27, 0x6c, 0x92, 0xaa, 0x7e, 0xf4, 0x2c, 0x49, 0xbe, 0x9e, 0x58, 0x11, 0x0f, 0xc5, 0x5b, 0xb4, 0x44, 0x29, 0x56, 0xf6, 0x3a, 0x35, 0x4b, 0x3d, 0x2e, 0x28, 0xb2, 0x88, 0xf4, 0xab, 0x90, 0x1f, 0xbc, 0xc0, 0xf2, 0xe2, 0x36, 0x3c, 0x53, 0xa3, 0x96, 0x71, 0xa2, 0xef, 0x25, 0xd1, 0xe1, 0x28, 0xf4, 0x63, 0x3d, 0x1b, 0x85, 0x69, 0xec, 0x56, 0xbe, 0x06, 0xec, 0x2c, 0x65, 0x15, 0x10, 0x02, 0xde, 0x8b, 0x34, 0x7c, 0x40, 0x5f, 0x11, 0x6e, 0x26, 0x4d, 0x24, 0xce, 0xdd, 0x6b, 0x3d, 0x87, 0x62, 0x5a, 0x45, 0x29, 0x12, 0xf2, 0x9a, 0x71, 0x05, 0x09, 0x13, 0x08, 0x78, 0xf7, 0xdf, 0x5f, 0x3e, 0x32, 0xf4, 0x11, 0x10, 0x98, 0x83, 0x9e, 0x2f, 0xc9, 0xd7, 0x65, 0xf5, 0x62, 0x57, 0xcf, 0xe6, 0xfb, 0x63, 0x76, 0x80, 0x95, 0x6b, 0xa2, 0x6f, 0xcb, 0xcf, 0xef, 0xde, 0xc8, 0xe2, 0x29, 0x0a, 0x50, 0x93, 0x44, 0xa7, 0x56, 0x73, 0xdf, 0xad, 0xbb, 0x2e, 0x30, 0xdf, 0x43, 0x85, 0x01, 0x77, 0xbd, 0xd4, 0x72, 0x45, 0x65, 0xff, 0xa4, 0x14, 0x40, 0xa7, 0x19, 0xac, 0xce, 0x5f, 0xee, 0x15, 0xa6, 0x1b, 0xa4, 0x8c, 0x2b, 0xf7, 0x91, 0x5a, 0xdb, 0xb9, 0x46, 0x54, 0x70, 0x22, 0x03, 0x04, 0xe7, 0x35, 0xf5, 0x7f, 0x5c, 0xbd, 0x1a, 0x35, 0x5e, 0x4a, 0xfe, 0xaf, 0x99, 0xd7, 0x5e, 0x62, 0xbe, 0xff, 0x6a, 0x83, 0x0a, 0x21, 0xa5, 0x13, 0x5d, 0xe9, 0x15, 0x97, 0xfb, 0x94, 0xc9, 0xe1, 0xfd, 0xf4, 0x6c, 0xea, 0x6c, 0x98, 0x1c, 0xd1, 0x75, 0xbd, 0x24, 0xf0, 0x3a, 0x40, 0x69, 0x7f, 0xb7, 0x2d, 0xc2, 0x6b, 0xae, 0x79, 0x54, 0x87, 0xba, 0x47, 0xdf, 0xfb, 0xaa, 0x14, 0x9e, 0x67, 0x5a, 0x2c, 0x4f, 0x71, 0xdd, 0x86, 0xef, 0x3b, 0x69, 0xe9, 0x63, 0x59, 0x66, 0xd2, 0x6f, 0x09, 0xf2, 0x06, 0xbe, 0x80, 0xd8, 0xd0, 0x20, 0x2a, 0x7e, 0x4c, 0xcc, 0x56, 0x46, 0xcf, 0x7c, 0x33, 0x9e, 0x66, 0x1b, 0xce, 0x54, 0x32, 0x6d, 0xa3, 0x6f, 0xb0, 0x8b, 0x7d, 0xf7, 0x5f, 0x4a, 0x39, 0xdd, 0xfd, 0x0d, 0x81, 0xa7, 0x27, 0xd8, 0x38, 0xd6, 0xc9, 0x96, 0xbb, 0x93, 0x75, 0xa3, 0xad, 0x63, 0xdc, 0x5e, 0xac, 0x95, 0x73, 0xcd, 0xa0, 0x32, 0x41, 0x58, 0xdb, 0xa0, 0x1a, 0x03, 0xfa, 0xfc, 0x67, 0xeb, 0xdd, 0xc5, 0x63, 0xa4, 0xef, 0x93, 0xe5, 0x24, 0x27, 0xc9, 0x58, 0xd8, 0x87, 0x2e, 0x02, 0xd9, 0xf8, 0x98, 0x7d, 0x27, 0x21, 0xfb, 0xfb, 0x56, 0xc6, 0xe7, 0xa1, 0xa6, 0x35, 0x07, 0xb4, 0x0d, 0xc8, 0x85, 0xef, 0x0e, 0x9c, 0x2c, 0xd2, 0xcf, 0xcf, 0x8b, 0x68, 0xb2, 0x6d, 0xa8, 0x84, 0xbb, 0xaa, 0x59, 0x22, 0x9c, 0x37, 0xe6, 0x23, 0x58, 0xee, 0x83, 0x3f, 0xc9, 0xa5, 0x18, 0x51, 0x2c, 0xd8, 0xc3, 0x66, 0xe2, 0x2e, 0x30, 0x95, 0xa0, 0x54, 0x3c, 0x48, 0x50, 0x12, 0x7a, 0xae, 0x2a, 0x21, 0x3b, 0xaa, 0x90, 0x57, 0x32, 0x02, 0x88, 0x2d, 0x07, 0xc0, 0x55, 0x7c, 0xb8, 0x5c, 0x42, 0x5c, 0xcd, 0x92, 0x9f, 0x54, 0xc5, 0xd0, 0xd1, 0x06, 0x3f, 0x4c, 0xcb, 0x73, 0xae, 0x8d, 0x9c, 0x77, 0x89, 0xe7, 0x05, 0x1d, 0xe7, 0x2d, 0x90, 0x68, 0x89, 0xe9, 0x77, 0x75, 0xf1, 0x0f, 0xab, 0xf8, 0x83, 0xb0, 0x5c, 0x06, 0xbc, 0x84, 0xc8, 0xab, 0xd8, 0xeb, 0x1f, 0xa0, 0x9c, 0x35, 0x46, 0xce, 0x50, 0x97, 0xef, 0xcb, 0x53, 0x90, 0xf2, 0x8f, 0x88, 0x6d, 0x6f, 0x1f, 0x0f, 0xfe, 0x30, 0x66, 0xf5, 0x15, 0x85, 0x22, 0x83, 0xe6, 0x93, 0xfd, 0x1a, 0x58, 0x20, 0x90, 0xb4, 0x4f, 0xc1, 0x61, 0x47, 0xc1, 0x9c, 0xe1, 0x98, 0x4e, 0x6b, 0x78, 0x38, 0x7a, 0x93, 0x4f, 0x0d, 0xca, 0x33, 0xdb, 0x18, 0x9b, 0xa1, 0xd6, 0x4d, 0xb0, 0xb0, 0x53, 0x38, 0x9d, 0x12, 0xcd, 0xb9, 0x7a, 0x48, 0x21, 0x96, 0xb7, 0xdb, 0x1a, 0xff, 0xfd, 0xd0, 0x3f, 0x8f, 0x30, 0xc9, 0xbf, 0x80, 0xec, 0xc8, 0xe8, 0x37, 0x32, 0xd8, 0xc3, 0xa1, 0x80, 0xad, 0x33, 0x0e, 0x95, 0xa3, 0x41, 0x42, 0x18, 0xbb, 0xae, 0xa4, 0x33, 0xa5, 0x3b, 0x34, 0x5d, 0xeb, 0x04, 0xc9, 0xdc, 0xa1, 0x7c, 0xe7, 0xb0, 0x6a, 0x5a, 0xe6, 0xfd, 0x70, 0x57, 0x32, 0xee, 0x45, 0x03, 0xdd, 0xaa, 0x4a, 0x8e, 0x3f, 0x64, 0x47, 0xf2, 0x44, 0x12, 0x70, 0x57, 0xc0, 0xf4, 0xf7, 0x5b, 0xb8, 0x1f, 0x25, 0xec, 0x99, 0xa1, 0x31, 0x24, 0x5e, 0x33, 0x01, 0xf6, 0x9b, 0x7f, 0xfa, 0x85, 0x11, 0x44, 0x21, 0x31, 0x19, 0xa8, 0xf0, 0xf1, 0x30, 0x7f, 0x19, 0x98, 0xe4, 0xff, 0x14, 0xc0, 0x2e, 0x34, 0x84, 0xde, 0xd2, 0xe0, 0x8c, 0xcd, 0xb4, 0x6a, 0xdd, 0xc6, 0x51, 0x1a, 0x2d, 0x4e, 0x8a, 0x88, 0x1f, 0xbe, 0xbc, 0xbf, 0x4e, 0xc4, 0x0a, 0x9a, 0x0a, 0x13, 0xc9, 0x02, 0x74, 0x79, 0xa2, 0xfd, 0xb1, 0x04, 0x74, 0xaf, 0xb0, 0xf6, 0x21, 0x33, 0xac, 0x9e, 0x48, 0x06, 0x5f, 0x78, 0x36, 0xac, 0x1d, 0x44, 0xed, 0x6d, 0xf5, 0x95, 0x64, 0xad, 0xd6, 0x0d, 0xf8, 0xbe, 0x36, 0xd3, 0x64, 0x05, 0xaa, 0xbb, 0x05, 0xec, 0x1a, 0x22, 0xe2, 0x91, 0xb1, 0x85, 0x5f, 0x7f, 0x1c, 0xc5, 0x0c, 0x29, 0xad, 0x17, 0x62, 0x82, 0x84, 0x9f, 0x74, 0x3b, 0x87, 0x72, 0x77, 0x33, 0x22, 0xd8, 0x80, 0x0c, 0xa3, 0x70, 0x2a, 0xbf, 0xbd, 0xb5, 0x28, 0x57, 0xd0, 0xe9, 0x07, 0x13, 0x77, 0x13, 0x01, 0x06, 0xfb, 0xbf, 0x6d, 0x7d, 0xf1, 0xbe, 0x4c, 0x9f, 0x61, 0xc8, 0x6a, 0xa4, 0xa7, 0xc0, 0xf4, 0x02, 0x6d, 0x7b, 0xa4, 0x78, 0xd4, 0xa8, 0x9d, 0x99, 0xb5, 0x5b, 0x34, 0x76, 0x1d, 0xb4, 0x47, 0xa9, 0x43, 0x24, 0x89, 0x08, 0xca, 0xea, 0x57, 0xb9, 0x50, 0x61, 0x7f, 0xe4, 0x2e, 0x06, 0x3e, 0x92, 0x08, 0x6b, 0x5c, 0x52, 0x87, 0xf8, 0xbf, 0xc6, 0xca, 0x75, 0xfd, 0x20, 0xb6, 0xf9, 0xe2, 0x89, 0x2c, 0xc4, 0xc7, 0x8e, 0x2b, 0xa7, 0xfc, 0x7c, 0x20, 0xd4, 0xf2, 0xb3, 0xde, 0x19, 0x9e, 0xce, 0xa9, 0x22, 0x57, 0x98, 0xb8, 0xae, 0x85, 0xe4, 0xa1, 0x46, 0xdf, 0x64, 0x6b, 0xf1, 0x4e, 0x46, 0x94, 0x1d, 0x4b, 0xb6, 0x21, 0x1a, 0x05, 0x52, 0xa4, 0x3f, 0xa0, 0x0e, 0xa9, 0x28, 0xf0, 0xb7, 0x27, 0x77, 0xf5, 0xc2, 0x79, 0xfe, 0x26, 0x92, 0x6e, 0x05, 0xfc, 0x19, 0x53, 0x22, 0xe0, 0x4a, 0xe1, 0xdc, 0x48, 0xfc, 0x0b, 0x53, 0xff, 0x1d, 0x2c, 0x89, 0xad, 0x5b, 0xa2, 0x0c, 0x44, 0x54, 0x6c, 0x51, 0x2a, 0x9b, 0xb5, 0xe6, 0x3a, 0x76, 0x13, 0x5c, 0x7a, 0x89, 0xea, 0x60, 0x65, 0xcd, 0x73, 0x1c, 0x86, 0xb2, 0x93, 0xd2, 0xcf, 0x17, 0xf6, 0x00, 0xce, 0x2d, 0xa1, 0x83, 0x70, 0xc0, 0x1a, 0xcf, 0x02, 0x45, 0x9d, 0xfe, 0x35, 0xae, 0x0d, 0x4d, 0x73, 0xc4, 0x89, 0xa7, 0xbd, 0x0f, 0xd5, 0xac, 0xd0, 0x49, 0x32, 0x42, 0x8b, 0x8a, 0x8e, 0x0a, 0x19, 0x59, 0x16, 0xef, 0xeb, 0x30, 0x4c, 0xc6, 0xee, 0x7e, 0xb9, 0xaf, 0x69, 0x5d, 0x18, 0x5c, 0x5a, 0x08, 0x49, 0xa6, 0x9e, 0xec, 0xbf, 0xee, 0xea, 0x86, 0x6c, 0x70, 0xa1, 0x19, 0x57, 0x41, 0x70, 0x8f, 0xb3, 0x0b, 0x4e, 0x3d, 0x90, 0xfe, 0x5d, 0x1b, 0xb5, 0x17, 0x00, 0x28, 0x4e, 0x56, 0xa5, 0xd7, 0x68, 0x85, 0xd9, 0xde, 0x1d, 0x0c, 0x14, 0xfe, 0x7b, 0x11, 0x45, 0x0c, 0xa1, 0xd6, 0x80, 0xa8, 0x10, 0xbd, 0x92, 0x09, 0x34, 0xb4, 0x6a, 0x0d, 0x40, 0xd2, 0xd5, 0xb8, 0x76, 0xd4, 0x0d, 0x35, 0xb0, 0xa0, 0xc1, 0x6b, 0xc1, 0x5d, 0xe2, 0xfa, 0xb7, 0x28, 0x15, 0x83, 0x2b, 0x2c, 0x26, 0xb0, 0xd6, 0x41, 0xa1, 0x45, 0xbd, 0x7d, 0xfd, 0x6e, 0x8f, 0x0e, 0xd5, 0xb2, 0x25, 0x53, 0xab, 0x1c, 0xa1, 0x2b, 0x44, 0xb8, 0xf6, 0xfc, 0x3f, 0xb6, 0x1c, 0x40, 0x69, 0x6d, 0xa1, 0x27, 0xc1, 0x96, 0x00, 0x7a, 0x02, 0xd7, 0x27, 0xec, 0x73, 0x7f, 0x64, 0xfe, 0x04, 0xd2, 0x81, 0xd5, 0xeb, 0x6d, 0xb9, 0x68, 0x75, 0x51, 0x7c, 0x9d, 0x1f, 0xed, 0x6a, 0x48, 0x8a, 0xf9, 0x26, 0xb6, 0xbe, 0xe8, 0x75, 0xc2, 0x12, 0xca, 0x41, 0x72, 0xa5, 0xaf, 0xaa, 0xc9, 0x8b, 0x4e, 0x84, 0xf5, 0xc5, 0xb8, 0x26, 0x0a, 0x2e, 0x05, 0x65, 0x74, 0x9e, 0xb7, 0x46, 0xa7, 0x25, 0x92, 0xe0, 0x45, 0x48, 0x6a, 0xb0, 0x0e, 0x79, 0x9b, 0x68, 0x7d, 0x59, 0x13, 0x84, 0x81, 0xf1, 0x38, 0x76, 0x70, 0xcd, 0x25, 0x5c, 0xc0, 0xa4, 0x51, 0xb7, 0x4d, 0xc5, 0xd1, 0x54, 0x48, 0xe4, 0xc9, 0xc8, 0x69, 0xe4, 0x86, 0x9d, 0xea, 0x62, 0xe2, 0x06, 0x2d, 0x82, 0x66, 0x68, 0xbb, 0x93, 0x95, 0xf1, 0x48, 0xdd, 0x5a, 0x39, 0x2d, 0xd6, 0xc1, 0xef, 0x4f, 0xcc, 0xfd, 0xf6, 0x13, 0x9c, 0x3b, 0x5a, 0xd6, 0xf0, 0x35, 0x42, 0x18, 0xd1, 0xc0, 0xe5, 0x24, 0x9e, 0x32, 0x71, 0x93, 0xb8, 0x9e, 0xd7, 0xc5, 0xea, 0x0a, 0x66, 0xf4, 0x77, 0x47, 0xce, 0x56, 0xc8, 0xae, 0x76, 0x92, 0xc6, 0xb2, 0xa3, 0x18, 0x44, 0xe7, 0x9b, 0x6d, 0xef, 0x1b, 0xf3, 0x96, 0x97, 0x2b, 0xeb, 0x11, 0x9d, 0x82, 0x9a, 0x6d, 0x47, 0x41, 0xad, 0x9e, 0x32, 0xa0, 0x94, 0x4d, 0x59, 0xe2, 0x18, 0x41, 0xf3, 0x58, 0x0c, 0x33, 0x2d, 0x85, 0xb8, 0xd9, 0x2c, 0x43, 0x0c, 0x5b, 0xb1, 0x09, 0x98, 0x5e, 0x07, 0x05, 0x18, 0x0c, 0x9f, 0x6f, 0xa0, 0x9f, 0xb8, 0xda, 0xfa, 0x1c, 0x58, 0x2d, 0x55, 0xd2, 0x96, 0x67, 0x54, 0x75, 0x45, 0xae, 0x2f, 0x29, 0xc7, 0x41, 0x1f, 0xc5, 0xad, 0x59, 0x0f, 0x7b, 0x93, 0x13, 0xb3, 0x66, 0x34, 0xf1, 0x4c, 0x11, 0xe3, 0x67, 0x77, 0x99, 0x42, 0x69, 0x2e, 0x61, 0x79, 0xae, 0xcf, 0xc0, 0xdb, 0xd1, 0xd1, 0x36, 0x2e, 0xb9, 0xd0, 0x5d, 0xe0, 0xc1, 0xab, 0x9c, 0x3f, 0x27, 0xd5, 0x6d, 0x3c, 0x89, 0x2a, 0x79, 0x7d, 0xa4, 0x5a, 0x22, 0xb5, 0xe1, 0x78, 0xb7, 0x87, 0x34, 0x3e, 0x4f, 0xfc, 0xbf, 0xff, 0x71, 0xf7, 0xc3, 0xc9, 0xd8, 0x5d, 0x1d, 0x48, 0x5e, 0x01, 0x39, 0x08, 0xf1, 0x56, 0xee, 0xe2, 0x61, 0x6d, 0x63, 0x01, 0x1b, 0xaa, 0xbe, 0xe9, 0x7d, 0xe2, 0xde, 0x70, 0xe4, 0xe7, 0x46, 0x72, 0xad, 0xc7, 0xb6, 0xc3, 0x82, 0xab, 0x5b, 0x11, 0xee, 0x4b, 0x9e, 0x02, 0x3c, 0x0c, 0x4b, 0x66, 0xc9, 0x93, 0x74, 0xd8, 0x4f, 0xfc, 0x3b, 0x80, 0xd4, 0x30, 0x27, 0xf8, 0x66, 0xce, 0x6d, 0xc1, 0x1b, 0x64, 0x1d, 0x15, 0xfb, 0xd4, 0xd4, 0xa6, 0xf4, 0x71, 0xcb, 0xb1, 0x3d, 0x1d, 0x02, 0x1b, 0x50, 0x96, 0x83, 0x4c, 0xf4, 0x87, 0x4f, 0xea, 0x86, 0xd7, 0x1e, 0x56, 0xc6, 0x2a, 0xce, 0xd6, 0xbc, 0x3e, 0x65, 0xed, 0x9c, 0xa4, 0x4f, 0x68, 0x53, 0xa7, 0xb8, 0x8e, 0xa2, 0xc6, 0x9f, 0xd3, 0x67, 0x13, 0x2d, 0x8c, 0xb6, 0xf7, 0x52, 0xe3, 0xa2, 0x8e, 0xc6, 0xe9, 0xc2, 0x6f, 0x7f, 0x03, 0x3b, 0x27, 0xc4, 0x4f, 0xe9, 0xb8, 0xb0, 0x22, 0xfd, 0x0c, 0x74, 0x8a, 0x78, 0x0a, 0x4f, 0xea, 0xff, 0xed, 0x9d, 0x73, 0x26, 0x80, 0xbc, 0x71, 0xb8, 0xd1, 0x61, 0xa2, 0xc6, 0x2d, 0x5e, 0x26, 0x60, 0xe6, 0xde, 0xa9, 0x08, 0x51, 0xd2, 0x94, 0x5e, 0x19, 0xa3, 0xec, 0xff, 0x77, 0x3b, 0x2e, 0xad, 0x94, 0x6c, 0x50, 0xac, 0xaa, 0xab, 0xb7, 0xab, 0xe1, 0x2d, 0x39, 0xc7, 0x6c, 0x8f, 0xb8, 0xe6, 0xac, 0x46, 0x12, 0x62, 0x9b, 0x24, 0x61, 0x3f, 0x60, 0x3d, 0x49, 0xeb, 0x44, 0x3a, 0xff, 0x77, 0xba, 0x8e, 0x1f, 0x64, 0xc9, 0xdc, 0xce, 0x04, 0x35, 0xba, 0x5c, 0xff, 0xf1, 0xf8, 0x77, 0x4b, 0xda, 0x2c, 0x85, 0xae, 0xe9, 0x53, 0x27, 0x05, 0x55, 0x76, 0x27, 0x82, 0x7a, 0x39, 0x4d, 0xf5, 0x7c, 0xcb, 0xf5, 0x4c, 0x1b, 0x5f, 0x43, 0x33, 0xa7, 0xf9, 0x15, 0xd7, 0xe1, 0xa6, 0x0c, 0x23, 0x08, 0xa9, 0xb2, 0x26, 0x0d, 0xe1, 0xf1, 0x85, 0x1c, 0xcc, 0x08, 0x93, 0x70, 0x8a, 0xaa, 0x75, 0x5f, 0xc3, 0xb0, 0xfe, 0xd2, 0x7f, 0x82, 0x61, 0x5d, 0x79, 0x6f, 0xf8, 0xd4, 0x3a, 0x14, 0x45, 0x7d, 0x21, 0x74, 0xc5, 0x8f, 0x7f, 0xc0, 0x9b, 0x9b, 0xf3, 0x48, 0x2c, 0x5f, 0xc8, 0x20, 0x28, 0xd6, 0x15, 0x84, 0x90, 0x00, 0x98, 0x00, 0xcd, 0x32, 0xa1, 0x53, 0x11, 0x25, 0xbf, 0x50, 0xfc, 0x16, 0x57, 0x44, 0xf4, 0xd8, 0xcd, 0x89, 0x44, 0x72, 0x83, 0x5c, 0x11, 0x3d, 0x87, 0xa1, 0xb0, 0x2f, 0xfb, 0xe0, 0x53, 0x77, 0x7c, 0xfa, 0x5c, 0x98, 0xb9, 0xd2, 0xd0, 0xcf, 0xf1, 0xcc, 0xd8, 0x08, 0xfc, 0x2c, 0x12, 0xe1, 0x94, 0x6f, 0xec, 0x86, 0x3d, 0x97, 0x28, 0x92, 0xd0, 0xbd, 0x4a, 0xbf, 0x22, 0xdf, 0x45, 0x09, 0xa6, 0xa0, 0xa4, 0xd6, 0x1d, 0xe9, 0x7f, 0xad, 0x07, 0x84, 0x04, 0xfc, 0x74, 0x5f, 0xd5, 0x83, 0xe9, 0x05, 0xd9, 0x9d, 0x84, 0xbe, 0x00, 0xb1, 0xc2, 0x6e, 0xd7, 0x0b, 0x3a, 0x83, 0xf4, 0xb2, 0x49, 0xc8, 0x41, 0x2f, 0xe5, 0xce, 0x81, 0x34, 0x9a, 0x9a, 0x11, 0x5d, 0x2d, 0x96, 0xda, 0xf1, 0xbc, 0xcb, 0xbb, 0xd3, 0x83, 0x7c, 0x16, 0x3b, 0xed, 0x93, 0x4e, 0x0a, 0x8d, 0xe5, 0x57, 0x26, 0x13, 0xc6, 0x13, 0x3e, 0x56, 0xa7, 0x1e, 0x44, 0x75, 0xa1, 0x47, 0x5d, 0x1a, 0x36, 0x9e, 0x1e, 0xe5, 0x74, 0xa7, 0xcb, 0xb9, 0x35, 0x6c, 0xff, 0x99, 0x2a, 0x60, 0x1c, 0x91, 0x99, 0xd9, 0xae, 0x27, 0xa6, 0x6b, 0x44, 0xcf, 0xdd, 0x5c, 0x92, 0xa4, 0xdc, 0x5b, 0x72, 0xa6, 0xb0, 0xe9, 0xc9, 0x45, 0x14, 0x9f, 0x73, 0x76, 0x76, 0xdf, 0x9b, 0x6d, 0xe8, 0x5d, 0xb1, 0xb8, 0xbd, 0x1b, 0x78, 0xe2, 0x7e, 0xf0, 0x6f, 0x13, 0xb8, 0xc9, 0x34, 0xe9, 0x6d, 0xbf, 0xa7, 0x82, 0x6f, 0x02, 0xf4, 0x0d, 0xcf, 0xc2, 0x88, 0x65, 0x95, 0x2d, 0xf2, 0x4b, 0xe6, 0x30, 0x1c, 0x23, 0x34, 0x56, 0xcc, 0x86, 0x10, 0xf8, 0x95, 0xcc, 0x70, 0x87, 0x15, 0x69, 0x1d, 0xfc, 0x4b, 0xe0, 0xde, 0x64, 0xb7, 0x1f, 0xc5, 0x99, 0x2a, 0x3a, 0x26, 0x63, 0xaf, 0x5b, 0x15, 0xaf, 0x2b, 0x7e, 0x7d, 0x80, 0x0f, 0x3d, 0x35, 0xc4, 0xa9, 0x7e, 0x3f, 0x30, 0x21, 0xb2, 0xc2, 0x3d, 0x7a, 0xa0, 0xe2, 0xec, 0x99, 0x99, 0xb3, 0x83, 0x64, 0x6a, 0xba, 0xa8, 0x58, 0xcf, 0xe8, 0xc3, 0x03, 0xe0, 0xc6, 0x13, 0x09, 0xc1, 0x84, 0x1a, 0xd6, 0x22, 0x17, 0xc1, 0x0c, 0xff, 0xee, 0x50, 0x31, 0x7c, 0xed, 0xfa, 0x86, 0xe2, 0x87, 0x5e, 0x6c, 0xe4, 0x15, 0x57, 0x67, 0x7f, 0xe8, 0x48, 0x37, 0xdc, 0xd6, 0xce, 0x16, 0x31, 0xc5, 0xff, 0xc4, 0x74, 0x1b, 0xfa, 0x64, 0x1c, 0x0a, 0xc7, 0x2b, 0x69, 0xbf, 0x3e, 0x82, 0x19, 0x9b, 0x3d, 0x30, 0x14, 0xe7, 0x67, 0x0a, 0xfb, 0x0a, 0x48, 0x80, 0x85, 0xee, 0xcf, 0x4a, 0xe0, 0x9c, 0xb3, 0x53, 0xbc, 0x9d, 0xde, 0xcb, 0x64, 0x9e, 0x3c, 0xc8, 0xa3, 0x4c, 0xfd, 0x5a, 0xf0, 0x07, 0x24, 0x1c, 0xab, 0x66, 0x6c, 0xff, 0xb6, 0x2d, 0x33, 0x29, 0xed, 0x7d, 0x87, 0xb1, 0x8e, 0x1e, 0x3c, 0xad, 0xea, 0xef, 0x5d, 0x21, 0x5f, 0xbe, 0x5c, 0x12, 0x6e, 0x55, 0x04, 0xce, 0xc6, 0x68, 0x1a, 0x74, 0x3f, 0x09, 0xd1, 0xb6, 0x48, 0xd5, 0x48, 0x4e, 0x8c, 0x6f, 0xb5, 0x07, 0x82, 0xe7, 0x7f, 0x51, 0x7d, 0x84, 0x71, 0xf9, 0xeb, 0xdd, 0x2c, 0xa3, 0xe0, 0xcb, 0x36, 0xcc, 0x75, 0xfe, 0xed, 0xfe, 0xef, 0xcc, 0x3c, 0x7b, 0x12, 0xde, 0xeb, 0x24, 0x52, 0xbf, 0x73, 0x25, 0xfa, 0xb5, 0xe2, 0x8e, 0xcd, 0x8c, 0xd3, 0xb8, 0x67, 0x83, 0x9a, 0x05, 0x42, 0x4c, 0xcc, 0x77, 0x36, 0xe2, 0xb2, 0x0d, 0xa9, 0xc0, 0x8e, 0xaf, 0x6c, 0x34, 0xca, 0x2e, 0x97, 0xdc, 0x4f, 0x98, 0x69, 0x61, 0x8b, 0x86, 0x7b, 0xca, 0x74, 0xd0, 0x11, 0xa4, 0x7b, 0x9b, 0xa0, 0xc4, 0xf3, 0x90, 0x9d, 0xaa, 0x7c, 0xa0, 0xe8, 0xcc, 0xb3, 0x4b, 0x24, 0x03, 0xba, 0x2f, 0x48, 0x84, 0x4c, 0x93, 0xfd, 0xf2, 0x0d, 0x86, 0x1b, 0x88, 0x55, 0xab, 0x1d, 0x54, 0xc8, 0xaa, 0x70, 0x06, 0xba, 0x4a, 0xb2, 0x94, 0xd8, 0xde, 0x70, 0x85, 0xd7, 0x2c, 0x5b, 0xd1, 0x4c, 0x08, 0xb9, 0xd9, 0xfe, 0x58, 0x7d, 0x4e, 0x15, 0xf0, 0x95, 0xaa, 0x36, 0xd3, 0x72, 0x92, 0x60, 0xbc, 0x10, 0x6e, 0x29, 0x97, 0x1d, 0xdc, 0x48, 0x7e, 0xee, 0xa7, 0xdc, 0x2b, 0x5f, 0x5f, 0xfd, 0xfe, 0xc9, 0x8a, 0x49, 0xe1, 0x00, 0xae, 0xe7, 0xda, 0xa9, 0xe1, 0x35, 0x6e, 0x7a, 0x2b, 0xfa, 0xd9, 0xcc, 0x10, 0xa6, 0xa3, 0x00, 0x5f, 0xef, 0x0a, 0xf3, 0x36, 0x03, 0xde, 0xd2, 0x45, 0xec, 0x0c, 0xdb, 0x05, 0x04, 0x13, 0xf8, 0x64, 0xd0, 0xcf, 0xa7, 0xc0, 0x80, 0xf0, 0xc6, 0x4b, 0xcc, 0xb7, 0x79, 0x76, 0x4a, 0xb1, 0x83, 0x40, 0xdb, 0xdd, 0xcc, 0x77, 0x4d, 0xe4, 0xa2, 0xe2, 0x86, 0x28, 0x1b, 0xf1, 0x76, 0x40, 0x0a, 0xe0, 0x3a, 0xed, 0x66, 0xd7, 0x6d, 0x56, 0x59, 0xed, 0x06, 0xe3, 0x8b, 0x66, 0xe1, 0x40, 0x5a, 0x2e, 0xad, 0xe1, 0xc0, 0x5b, 0xbe, 0x41, 0xf8, 0x0c, 0xea, 0xc5, 0xde, 0x27, 0x56, 0xd0, 0x14, 0x43, 0xca, 0x70, 0x67, 0x7b, 0x4d, 0xde, 0x32, 0x6b, 0x32, 0x3c, 0xb8, 0x89, 0x3e, 0x6e, 0x82, 0x49, 0xce, 0xa2, 0x1f, 0xdd, 0x95, 0xb7, 0x78, 0x75, 0x7d, 0x36, 0x15, 0x61, 0x1c, 0xde, 0x8a, 0x80, 0x9e, 0x53, 0x05, 0x95, 0x97, 0xf4, 0x7f, 0x4e, 0xde, 0xb1, 0x6b, 0x4a, 0x3c, 0xc4, 0xd0, 0x17, 0x6f, 0xaa, 0x74, 0x8a, 0x5f, 0xa9, 0x37, 0xff, 0xe5, 0x85, 0x74, 0xab, 0x3d, 0xb0, 0x39, 0x04, 0xd7, 0xa5, 0xbe, 0xf6, 0x54, 0x46, 0xa8, 0x67, 0x1f, 0x9d, 0x93, 0x36, 0x42, 0x2e, 0xa7, 0xf6, 0x1b, 0x1f, 0xec, 0xd8, 0x0c, 0x74, 0xa7, 0x08, 0x7c, 0x7d, 0xf1, 0xe1, 0xc5, 0xfa, 0x37, 0x90, 0x59, 0x54, 0x47, 0x5f, 0x51, 0x0c, 0x66, 0x83, 0xd3, 0x47, 0x13, 0x61, 0x8e, 0xc7, 0x7e, 0xc3, 0x99, 0x1e, 0xa3, 0x13, 0x9e, 0x65, 0x7b, 0xf1, 0x31, 0x85, 0xe4, 0x02, 0x5e, 0x13, 0xac, 0xb3, 0x0e, 0x00, 0x69, 0x29, 0x35, 0x41, 0xc3, 0x43, 0xd3, 0xae, 0xac, 0x1c, 0x34, 0x6d, 0xbd, 0x2b, 0x1a, 0xda, 0x3e, 0xa0, 0xc3, 0x31, 0xc8, 0x88, 0xcc, 0x82, 0xe6, 0xfa, 0xf3, 0x2f, 0xd6, 0x75, 0xdd, 0x2c, 0xe9, 0x37, 0x2b, 0x4a, 0xe3, 0x31, 0xb2, 0x59, 0x0a, 0x1e, 0x7b, 0xf7, 0x63, 0xb3, 0xfd, 0x3f, 0x28, 0x4e, 0x04, 0x65, 0x11, 0xa0, 0xb0, 0x14, 0x7b, 0x87, 0xa6, 0x02, 0xc2, 0xa6, 0x4b, 0x0d, 0x13, 0x11, 0x6c, 0x96, 0xf9, 0xa8, 0x5d, 0x24, 0x98, 0x6a, 0x89, 0x07, 0x1b, 0x12, 0xa5, 0xfc, 0xaa, 0xa8, 0x77, 0x4a, 0xaf, 0xf2, 0x9d, 0x16, 0xde, 0x3e, 0xad, 0xc1, 0xad, 0x38, 0xf4, 0x25, 0xa0, 0x47, 0x84, 0x57, 0x56, 0x0f, 0xf8, 0x4a, 0x4f, 0xe6, 0xf9, 0x1f, 0x36, 0x19, 0xd7, 0xff, 0x69, 0x04, 0xab, 0x46, 0xa1, 0xaf, 0x55, 0x75, 0x30, 0x3d, 0x02, 0x1d, 0x70, 0x8c, 0xee, 0x44, 0x37, 0x4b, 0xdf, 0x5d, 0xdb, 0x8e, 0x1d, 0xc4, 0x41, 0x39, 0x0b, 0xd6, 0x71, 0x8a, 0x51, 0x85, 0xd4, 0x5f, 0x6e, 0x04, 0xd0, 0x1c, 0x05, 0x02, 0x8e, 0xe8, 0x50, 0x33, 0x5f, 0xf9, 0xb2, 0xeb, 0x8b, 0x8b, 0xaa, 0x4e, 0x75, 0x9b, 0xdb, 0xcc, 0x29, 0xaf, 0x9e, 0x8e, 0xe8, 0x14, 0xea, 0xc6, 0xaa, 0xf2, 0x35, 0x92, 0xc0, 0x12, 0x57, 0xa2, 0xfe, 0xd9, 0x9a, 0x78, 0x01, 0xe9, 0x4c, 0x76, 0xac, 0xfa, 0xef, 0x99, 0x38, 0xca, 0xcf, 0x8b, 0x01, 0x92, 0xe0, 0x1d, 0xda, 0x02, 0x13, 0x73, 0x98, 0x62, 0x5e, 0x42, 0x66, 0x9e, 0x8e, 0xd0, 0x94, 0xcb, 0xd0, 0x1f, 0x3b, 0x15, 0xb5, 0x0e, 0x04, 0xe2, 0xce, 0xc3, 0xeb, 0xd9, 0x44, 0x69, 0x46, 0xe9, 0x99, 0x65, 0x13, 0x76, 0x96, 0xa7, 0xaa, 0x5f, 0x6f, 0xfb, 0xf4, 0xa2, 0xb0, 0x3b, 0xb1, 0x8b, 0x18, 0x89, 0xd2, 0x57, 0x61, 0xfb, 0xc5, 0x22, 0x0c, 0x7b, 0xb7, 0xab, 0x07, 0x47, 0x14, 0xda, 0x6c, 0x48, 0x2a, 0xf3, 0xfc, 0xe7, 0x0c, 0x1e, 0xff, 0x15, 0x76, 0xaf, 0x18, 0xa0, 0x6b, 0x8a, 0xc0, 0x88, 0x54, 0x58, 0x0f, 0x74, 0x97, 0x5c, 0x1f, 0x75, 0xfb, 0x28, 0x00, 0x4c, 0xfc, 0x9d, 0x2f, 0x4f, 0x70, 0x62, 0xfc, 0xde, 0x38, 0x28, 0x5c, 0xfb, 0xfc, 0x71, 0x62, 0x68, 0xad, 0xfe, 0x91, 0xd0, 0x8c, 0x7f, 0x89, 0x4d, 0x29, 0xe0, 0x6e, 0x86, 0x6e, 0x0e, 0x2e, 0x13, 0x4a, 0x4f, 0xcc, 0x2c, 0xed, 0xe0, 0x0b, 0xe5, 0x57, 0x11, 0x3b, 0xf0, 0xa6, 0xd0, 0x95, 0x9a, 0xa6, 0xb7, 0xbf, 0xc9, 0x00, 0x8a, 0x83, 0x54, 0x62, 0x2b, 0x26, 0x04, 0xcc, 0xbc, 0xbb, 0xdf, 0xc8, 0x8c, 0xd0, 0xe4, 0xad, 0x35, 0x0d, 0xff, 0xe7, 0x52, 0xa8, 0xe9, 0x4e, 0xdf, 0x6e, 0xaa, 0x12, 0x6c, 0x4c, 0x1a, 0x9b, 0xda, 0xc6, 0xb1, 0x83, 0xfa, 0xf7, 0xd8, 0xe3, 0xc5, 0xe1, 0x47, 0xb7, 0x8d, 0x87, 0xef, 0xdb, 0x81, 0x0c, 0x01, 0x4d, 0xf4, 0xe7, 0x10, 0x08, 0x3d, 0xf4, 0x69, 0x30, 0xc5, 0x78, 0xa8, 0xb2, 0xaf, 0xc8, 0x04, 0x25, 0x4a, 0x7e, 0x9e, 0xb7, 0xab, 0x4a, 0x9c, 0xeb, 0x55, 0x23, 0x10, 0x6e, 0x53, 0xe6, 0x6b, 0x11, 0x69, 0x6c, 0x36, 0xfa, 0x30, 0xae, 0x7d, 0x7f, 0x2f, 0xd9, 0xc8, 0x54, 0xaf, 0x0c, 0x2c, 0x89, 0x35, 0xb8, 0x17, 0x64, 0x77, 0x4f, 0xa1, 0x24, 0x44, 0x35, 0x91, 0x87, 0x72, 0x04, 0x0a, 0x47, 0xe9, 0xf7, 0xe1, 0x58, 0x36, 0x56, 0x17, 0x56, 0xa9, 0x3f, 0xc0, 0xb8, 0xca, 0x3a, 0x73, 0x4f, 0x40, 0xd4, 0x95, 0x2a, 0xd2, 0x70, 0xba, 0x92, 0x47, 0x14, 0xd7, 0x65, 0x26, 0xa1, 0xf6, 0xeb, 0xa3, 0x23, 0x05, 0xad, 0x09, 0xa0, 0xf4, 0xde, 0xeb, 0xb4, 0xe4, 0x3c, 0xe3, 0x5b, 0xab, 0x5b, 0xde, 0x8f, 0x9c, 0xde, 0x7f, 0x3f, 0x70, 0x84, 0x5c, 0x94, 0x3c, 0x47, 0x98, 0x9e, 0xf1, 0x5b, 0xba, 0x7d, 0x65, 0x4c, 0x5b, 0x6e, 0x83, 0xb7, 0xac, 0x50, 0xe9, 0xbc, 0x46, 0x15, 0xf1, 0x6c, 0x24, 0xb2, 0x7d, 0x55, 0x8f, 0x22, 0x1a, 0xb7, 0x07, 0xa5, 0xe2, 0x71, 0x21, 0x6b, 0xdf, 0x47, 0x6a, 0x9c, 0xb8, 0x1e, 0x15, 0x96, 0x25, 0x95, 0x85, 0x45, 0xa1, 0x6a, 0x06, 0x9b, 0x09, 0x05, 0x0d, 0x5f, 0x3a, 0x8a, 0x2b, 0xaf, 0x9a, 0xe1, 0x90, 0xfa, 0xcf, 0xa6, 0xe5, 0x1d, 0xb4, 0x64, 0xfc, 0x62, 0xca, 0x0a, 0x1e, 0x15, 0x97, 0x27, 0x19, 0x07, 0x55, 0xc2, 0xbe, 0x4b, 0x71, 0xe5, 0x66, 0x9b, 0x00, 0xa1, 0x7a, 0x5a, 0xf9, 0x8f, 0xf9, 0xc9, 0x28, 0xa6, 0xe1, 0xd3, 0x94, 0x12, 0x50, 0x39, 0x03, 0x24, 0x40, 0xfb, 0x30, 0xd5, 0xf8, 0xc0, 0x92, 0x95, 0x97, 0x7f, 0x77, 0x1f, 0xb6, 0x75, 0xfb, 0xfb, 0x38, 0xc7, 0x28, 0x6e, 0xe0, 0xf7, 0xc2, 0xd3, 0x2f, 0x54, 0xd9, 0x69, 0x86, 0x98, 0xdf, 0x2f, 0xf5, 0x23, 0x71, 0xbb, 0x6d, 0xd3, 0x74, 0x25, 0x43, 0xc6, 0x25, 0x4d, 0x11, 0xdf, 0x63, 0x2d, 0x22, 0x90, 0x28, 0xbc, 0x73, 0x9e, 0x15, 0x78, 0x46, 0x96, 0x46, 0x99, 0xe4, 0xef, 0x7a, 0x28, 0x43, 0xb3, 0x64, 0xab, 0x3b, 0x2c, 0x8d, 0xa0, 0xb2, 0x8e, 0x05, 0x8c, 0x48, 0xb7, 0xe8, 0x5d, 0x32, 0x99, 0x6b, 0x58, 0xb5, 0x07, 0x45, 0x5d, 0x3e, 0x4f, 0x24, 0x38, 0x30, 0x54, 0x57, 0xb3, 0x7b, 0x29, 0x2f, 0xee, 0x5f, 0x9e, 0xa8, 0xe1, 0x74, 0x34, 0xef, 0xd8, 0xc8, 0xb2, 0x91, 0xfd, 0x8c, 0x15, 0x68, 0xd7, 0xac, 0x2a, 0xf3, 0xa0, 0x86, 0xe0, 0x2f, 0x66, 0x8e, 0xce, 0x31, 0x38, 0x9f, 0x46, 0x5c, 0xc7, 0xb8, 0xb8, 0x4a, 0x7d, 0x04, 0x58, 0x6d, 0x5c, 0x7a, 0xd9, 0xe8, 0xe8, 0xb4, 0x2f, 0x9d, 0xe8, 0xf2, 0x5b, 0x17, 0xcb, 0x77, 0x26, 0xbc, 0x31, 0x0d, 0x4c, 0x21, 0x7b, 0xa1, 0xce, 0xd8, 0xe5, 0x35, 0x1d, 0xc5, 0xc8, 0xaf, 0x94, 0xc4, 0xfe, 0xce, 0x7c, 0x22, 0xcc, 0xd5, 0x13, 0xbf, 0x7d, 0x40, 0xb6, 0x3e, 0xea, 0x1d, 0x05, 0xe3, 0xd3, 0x5c, 0xa2, 0x43, 0xe8, 0x6f, 0x4b, 0xa1, 0x40, 0x07, 0xd8, 0x56, 0xc5, 0x3c, 0x54, 0xa2, 0xbd, 0x74, 0x79, 0x47, 0x47, 0xd8, 0x97, 0xdd, 0x54, 0x3b, 0xb5, 0x29, 0x5e, 0x76, 0xc2, 0xe1, 0xc8, 0xa0, 0xb2, 0xc3, 0x67, 0xb0, 0xe7, 0x55, 0xd1, 0xe9, 0xad, 0x77, 0x1e, 0x5d, 0xe1, 0x47, 0x6e, 0x80, 0x5f, 0xe8, 0xa9, 0x01, 0xb5, 0xe3, 0xf3, 0xde, 0x7d, 0x03, 0x6f, 0x2f, 0x27, 0xcd, 0xbe, 0xc9, 0x2e, 0x76, 0x0b, 0xaf, 0xce, 0x60, 0xc9, 0x6e, 0xcd, 0x71, 0xa6, 0x40, 0x41, 0x56, 0x13, 0xe1, 0x40, 0x44, 0x16, 0x80, 0x69, 0xbd, 0xfe, 0x10, 0xb0, 0xbd, 0xce, 0x8a, 0x12, 0x99, 0xdb, 0x4c, 0x06, 0x8b, 0x2d, 0xba, 0xe4, 0xf3, 0x2e, 0x15, 0x97, 0x36, 0xab, 0x5e, 0x57, 0x81, 0x12, 0x4b, 0xbd, 0x0f, 0xeb, 0xf8, 0xcc, 0xa8, 0x90, 0xc7, 0xe2, 0xc7, 0x54, 0xad, 0x39, 0x3c, 0x95, 0xb2, 0x90, 0xa7, 0x34, 0xba, 0x8d, 0x8d, 0xf8, 0x95, 0x0e, 0xa6, 0x26, 0x7a, 0xa8, 0xba, 0xc2, 0xb7, 0xb5, 0x06, 0x3b, 0x5f, 0xe9, 0xf1, 0x57, 0x6a, 0x57, 0x55, 0xa8, 0x29, 0x7b, 0x24, 0x54, 0xdd, 0x08, 0x2b, 0xdf, 0xad, 0x7f, 0xd2, 0x80, 0x28, 0x1c, 0x07, 0xbb, 0x29, 0x62, 0xf5, 0x7e, 0x60, 0x08, 0xff, 0xa2, 0x9b, 0xff, 0x0a, 0x15, 0xee, 0xd2, 0xa3, 0xf1, 0x32, 0xe6, 0x96, 0x8c, 0x1b, 0x75, 0x74, 0x58, 0x7a, 0xa2, 0x9a, 0x71, 0x6d, 0x88, 0x13, 0x13, 0x8c, 0xb2, 0x3c, 0x08, 0xcf, 0x42, 0x44, 0xfc, 0x48, 0x36, 0x99, 0x92, 0x11, 0xff, 0xe1, 0xae, 0x35, 0x1e, 0xe8, 0xee, 0x08, 0x1a, 0x60, 0x8d, 0x7a, 0xf2, 0x93, 0xab, 0xae, 0xa1, 0xdd, 0x44, 0x91, 0x5b, 0xcc, 0xda, 0x22, 0x62, 0x6e, 0x00, 0x6b, 0x10, 0x58, 0xe6, 0xc2, 0x63, 0x1a, 0x91, 0x87, 0xd2, 0x1c, 0x32, 0xa5, 0xd9, 0xa0, 0xa0, 0xf1, 0x70, 0xe6, 0xe4, 0x2a, 0x64, 0x4e, 0x21, 0x36, 0x74, 0x27, 0xed, 0x36, 0xd3, 0xf0, 0x05, 0x39, 0xb0, 0x21, 0x6f, 0x58, 0x4d, 0x86, 0xb1, 0x7e, 0xd9, 0x23, 0xb0, 0xd2, 0x52, 0x4f, 0x3d, 0x18, 0xfa, 0xf0, 0x62, 0x7e, 0xe2, 0x98, 0x4f, 0xc4, 0x8e, 0x95, 0x47, 0xea, 0x27, 0x46, 0x25, 0x5e, 0x08, 0xbd, 0x21, 0x8c, 0x32, 0x89, 0xda, 0xb1, 0x10, 0x37, 0xe7, 0xe5, 0xda, 0xc3, 0xf4, 0x79, 0x76, 0xc8, 0xbb, 0xb1, 0xcf, 0x89, 0xdb, 0xcc, 0x09, 0x70, 0xe7, 0x2c, 0xab, 0xce, 0x13, 0x1b, 0x3f, 0x06, 0x2e, 0xf8, 0x48, 0x0b, 0x38, 0x74, 0xe3, 0x0f, 0x51, 0xfe, 0xfd, 0xab, 0x85, 0x29, 0x85, 0x29, 0x0b, 0xeb, 0xfc, 0x24, 0xb0, 0x69, 0xc4, 0x1a, 0xf7, 0xa6, 0xc2, 0x60, 0x0c, 0x8f, 0x80, 0x10, 0xb8, 0xdd, 0x29, 0xd8, 0x73, 0xf7, 0x8c, 0x1e, 0xa2, 0xb4, 0x56, 0x9e, 0xbd, 0xa2, 0x3f, 0x87, 0x6e, 0xce, 0x7f, 0x9b, 0xca, 0x3a, 0x27, 0xfd, 0x59, 0x3d, 0x72, 0xea, 0x0b, 0x7d, 0x9b, 0x7b, 0x17, 0xa9, 0x36, 0x43, 0x68, 0x7e, 0x52, 0x31, 0x93, 0x09, 0x35, 0xfd, 0x38, 0x18, 0x46, 0x68, 0x0d, 0xc1, 0x60, 0xd7, 0x8d, 0x6d, 0xb3, 0xcc, 0x89, 0x86, 0x2a, 0x2e, 0x1a, 0x49, 0xf8, 0x4f, 0x65, 0x33, 0xdb, 0x2e, 0x6d, 0xd0, 0x9b, 0x23, 0x7c, 0xca, 0x69, 0x45, 0x26, 0x65, 0x28, 0xe5, 0x56, 0x89, 0x0b, 0x3d, 0x3c, 0xe8, 0x4e, 0x50, 0x10, 0x08, 0x33, 0x12, 0x1d, 0x47, 0x8e, 0x6a, 0x4d, 0xd4, 0x07, 0x19, 0xc3, 0x55, 0xb5, 0x14, 0x45, 0x52, 0x3b, 0x10, 0x95, 0xd4, 0x7c, 0x3e, 0x0e, 0x22, 0xb4, 0x2f, 0xf4, 0x84, 0x91, 0x23, 0xd1, 0x4a, 0x10, 0xfb, 0xea, 0xda, 0x34, 0x9d, 0x8a, 0xc9, 0x97, 0xc8, 0xd5, 0x20, 0x6f, 0x81, 0x2c, 0x70, 0xb9, 0xed, 0xe3, 0xc1, 0x0e, 0x48, 0x27, 0x6d, 0x76, 0x85, 0x02, 0xbf, 0x48, 0xaf, 0xe6, 0x31, 0x9b, 0x8a, 0x03, 0xf6, 0xff, 0xa0, 0x76, 0xe0, 0x67, 0x46, 0x9b, 0x88, 0x87, 0xdd, 0xc3, 0xcb, 0x46, 0x05, 0x9c, 0x68, 0xe2, 0xe3, 0xd6, 0x2f, 0x5f, 0x75, 0x19, 0xa1, 0x8f, 0xe2, 0x74, 0xa6, 0x8e, 0x1d, 0x11, 0x9c, 0x04, 0xdc, 0xe0, 0x5f, 0xf1, 0xa4, 0x09, 0x7e, 0x27, 0xa1, 0x4d, 0xba, 0xff, 0x23, 0x37, 0xab, 0x98, 0xef, 0xf5, 0xdd, 0xed, 0xe7, 0x0b, 0x99, 0x3e, 0xff, 0x8b, 0x84, 0xc0, 0x75, 0xeb, 0x15, 0xe7, 0x7f, 0x54, 0x60, 0xfd, 0x0e, 0x11, 0x8d, 0x83, 0xbe, 0x25, 0x31, 0x80, 0xb2, 0xcd, 0x0e, 0x14, 0x05, 0xba, 0x93, 0xfa, 0xf5, 0xac, 0x6d, 0x0b, 0xb5, 0x43, 0x32, 0x29, 0x02, 0x5b, 0xd2, 0x0b, 0xda, 0x6a, 0x23, 0x6f, 0x41, 0x6c, 0x67, 0xf1, 0x30, 0x13, 0x71, 0x1e, 0x15, 0x02, 0x4e, 0xa8, 0x2b, 0xef, 0x49, 0x44, 0x92, 0x31, 0x80, 0xef, 0xcb, 0x78, 0xe4, 0xd0, 0xab, 0x84, 0x7a, 0xac, 0x3c, 0xce, 0x76, 0x3c, 0x3e, 0x2a, 0x1e, 0x2b, 0xdc, 0x4e, 0x2c, 0x73, 0xda, 0x80, 0x2c, 0x24, 0x9b, 0xdb, 0xa3, 0xcb, 0x75, 0x7d, 0x98, 0xbe, 0xd7, 0x98, 0x2d, 0xc7, 0x57, 0x70, 0xf0, 0xd5, 0xf2, 0xb5, 0xc5, 0x43, 0x88, 0x9e, 0xbd, 0xa9, 0x37, 0x73, 0xfd, 0x4f, 0xe7, 0x50, 0x5c, 0x84, 0x79, 0x38, 0x0e, 0x98, 0xe6, 0xf4, 0x77, 0xab, 0x32, 0x7e, 0x4b, 0x0b, 0x08, 0x6e, 0x37, 0x83, 0xe0, 0x6a, 0x36, 0x55, 0x0b, 0x22, 0x0c, 0x71, 0xe8, 0x85, 0xdc, 0x74, 0x62, 0x3b, 0x9e, 0xe7, 0xfd, 0xc0, 0x7a, 0xc9, 0x12, 0xea, 0x05, 0x55, 0x74, 0x6c, 0xe0, 0xc5, 0x85, 0xa8, 0x33, 0xc9, 0x1f, 0x36, 0x0e, 0x70, 0xc4, 0x9e, 0x89, 0xf8, 0x68, 0x9d, 0xec, 0x75, 0x05, 0xd4, 0x80, 0xaf, 0x30, 0xfe, 0x05, 0x6e, 0xbe, 0x76, 0xf0, 0x52, 0x4a, 0x88, 0x9f, 0xf7, 0xc0, 0xc3, 0xb4, 0xcc, 0x4c, 0xe6, 0x60, 0x8c, 0x18, 0x9a, 0xb4, 0x39, 0x7a, 0x4f, 0x1d, 0x5c, 0x51, 0xc9, 0xe9, 0xd5, 0x0d, 0x6b, 0x63, 0xb8, 0x17, 0x68, 0x23, 0x43, 0xb4, 0xd0, 0x11, 0x85, 0xf9, 0xd7, 0x1d, 0x0e, 0x5f, 0xec, 0xcc, 0xfc, 0x76, 0x55, 0x16, 0xfd, 0x5d, 0xca, 0xf2, 0x6b, 0x0b, 0xb5, 0xf7, 0xd9, 0x78, 0x99, 0xbf, 0x50, 0x4a, 0xf7, 0xa6, 0xbc, 0x89, 0xa0, 0x88, 0x96, 0x72, 0x78, 0x79, 0x99, 0x3a, 0x02, 0x96, 0x65, 0xc2, 0xd7, 0xab, 0xda, 0xf2, 0x13, 0x70, 0x7b, 0xe6, 0x08, 0x85, 0x1d, 0xee, 0x2d, 0x47, 0xdf, 0x76, 0x67, 0x8f, 0xe8, 0x4f, 0x05, 0xf2, 0x15, 0x82, 0x3b, 0x90, 0x1a, 0x5a, 0xc0, 0x84, 0x79, 0xcd, 0x38, 0x4a, 0xe4, 0x77, 0xc7, 0xcf, 0x97, 0x38, 0x01, 0x3a, 0x47, 0xb1, 0x34, 0x25, 0x7c, 0xc8, 0x37, 0xa1, 0x6c, 0xae, 0xf6, 0x79, 0xff, 0x68, 0x2d, 0x4a, 0xca, 0x68, 0x84, 0x3a, 0x58, 0xe9, 0x9e, 0xb0, 0x95, 0x04, 0xc2, 0x14, 0xd7, 0xb2, 0xb6, 0x9c, 0x2f, 0x96, 0x7a, 0xb3, 0x85, 0x70, 0x48, 0x84, 0x40, 0xdc, 0x84, 0x84, 0x2d, 0xca, 0xab, 0x77, 0x7d, 0x79, 0x3e, 0x40, 0xb9, 0xac, 0xcf, 0x2f, 0xd9, 0x7a, 0xd3, 0xa8, 0x88, 0x9f, 0x80, 0xb9, 0x35, 0x5a, 0x7a, 0xb7, 0xbb, 0x92, 0x14, 0xb0, 0x5a, 0x5b, 0x7f, 0x63, 0xb5, 0x24, 0x9f, 0xc2, 0x2b, 0xbc, 0xc4, 0x44, 0xc1, 0xcb, 0xc3, 0xaf, 0x65, 0x74, 0xb4, 0xe8, 0x00, 0x55, 0xf6, 0x76, 0xc7, 0x4d, 0xf7, 0x48, 0xeb, 0x3a, 0x16, 0x9b, 0x54, 0x95, 0x84, 0xd3, 0xfe, 0x9f, 0xf8, 0x51, 0xf8, 0x0f, 0xe2, 0xe9, 0xd3, 0x1e, 0xbf, 0xaa, 0xf4, 0xff, 0xd7, 0x84, 0x2b, 0x7a, 0xc7, 0xf9, 0x69, 0x4d, 0x03, 0xf7, 0x06, 0xaf, 0x96, 0x5e, 0x44, 0xe5, 0x53, 0x0f, 0xdd, 0x78, 0x77, 0x8a, 0x60, 0x3b, 0xf8, 0xee, 0xf7, 0x37, 0x8a, 0x0a, 0x9a, 0xd6, 0xb0, 0xff, 0xd7, 0x90, 0xbb, 0xcc, 0x3d, 0x16, 0xf5, 0x1e, 0x85, 0xb9, 0x81, 0x76, 0x30, 0x39, 0xe6, 0x23, 0x6b, 0x70, 0xc8, 0x97, 0xb2, 0x2d, 0xc1, 0xc1, 0xb9, 0x4e, 0x9a, 0x62, 0xcb, 0x20, 0xfa, 0x5a, 0x6a, 0xe3, 0x7e, 0x59, 0x14, 0x7d, 0x2f, 0xb7, 0x45, 0xf3, 0x13, 0xb9, 0xea, 0xdc, 0x49, 0x52, 0x84, 0x5d, 0x6d, 0x97, 0x36, 0x95, 0x0f, 0xd8, 0xfa, 0xc3, 0xfb, 0x4a, 0x4b, 0x04, 0xb9, 0x07, 0xd9, 0xfd, 0xe9, 0xaf, 0x04, 0xbb, 0x13, 0x7e, 0xf4, 0x62, 0xc8, 0x43, 0x6d, 0x3a, 0x53, 0x03, 0x10, 0x14, 0x3c, 0xc7, 0xb8, 0x31, 0x08, 0x58, 0x8b, 0x86, 0x6a, 0xc5, 0x18, 0xc1, 0xcc, 0x1e, 0xc7, 0x84, 0xb5, 0x66, 0x71, 0xa6, 0x9e, 0xfe, 0x03, 0x68, 0xc1, 0x95, 0x9f, 0xb1, 0x94, 0xd6, 0x5f, 0x7a, 0xf4, 0x96, 0xc9, 0xd8, 0x9e, 0x43, 0xc4, 0xfb, 0x5b, 0x55, 0xa6, 0xdf, 0x09, 0xf6, 0xed, 0x8a, 0x45, 0xf2, 0x21, 0x8e, 0xcb, 0xdc, 0x68, 0xee, 0x90, 0xc0, 0xaa, 0x52, 0x82, 0xff, 0x39, 0x01, 0x8e, 0xe2, 0x80, 0xda, 0x39, 0x7c, 0xb2, 0xe9, 0xa3, 0x61, 0x32, 0x54, 0xcd, 0x4c, 0x0d, 0xa2, 0x83, 0xa3, 0x49, 0x6e, 0x9a, 0x6c, 0x50, 0x24, 0xfc, 0x59, 0x07, 0x59, 0x62, 0x96, 0xeb, 0x5c, 0xc4, 0x89, 0xe5, 0x4d, 0xfb, 0x34, 0xc2, 0x1f, 0x53, 0xec, 0xf6, 0x80, 0x54, 0x40, 0x2f, 0x1a, 0x31, 0xac, 0x50, 0x75, 0x52, 0x3b, 0x40, 0xbd, 0xd8, 0x18, 0x29, 0x5d, 0xe8, 0x5d, 0x27, 0xcd, 0x68, 0x26, 0xca, 0x3a, 0xdc, 0xc6, 0x7d, 0xe8, 0xf1, 0xc5, 0xdf, 0x90, 0xfb, 0xb0, 0x6f, 0x4d, 0x12, 0xa7, 0x9e, 0x5b, 0xd9, 0x56, 0xda, 0x2c, 0x8d, 0x60, 0x85, 0xfc, 0xef, 0x95, 0xd0, 0xcb, 0x5d, 0x13, 0x8f, 0x49, 0x52, 0x43, 0xe8, 0x7b, 0x52, 0x3d, 0xf8, 0x10, 0xf3, 0x69, 0x4c, 0x51, 0xb6, 0xe6, 0xbb, 0xd9, 0x9d, 0xae, 0x26, 0x44, 0x9f, 0xec, 0x42, 0xf0, 0x91, 0x4c, 0x39, 0x1b, 0xdc, 0x62, 0xb6, 0xa9, 0x25, 0xb4, 0xdd, 0x36, 0xed, 0xe2, 0x65, 0x6d, 0x25, 0x1a, 0x4d, 0x02, 0x4b, 0x98, 0x2c, 0x63, 0xdb, 0x0a, 0x88, 0xd0, 0xd0, 0xfb, 0x3d, 0x5d, 0x64, 0x26, 0x46, 0x48, 0xbc, 0x75, 0xc2, 0xb8, 0x4a, 0xe9, 0x97, 0xfb, 0xca, 0x83, 0x73, 0xc3, 0x49, 0x32, 0x3e, 0x6a, 0xd0, 0x58, 0xd1, 0x56, 0xc7, 0x7a, 0x25, 0x3f, 0xc2, 0x5c, 0xaf, 0x3c, 0x64, 0xa8, 0x73, 0x10, 0xda, 0xf9, 0xb1, 0x36, 0xc2, 0x72, 0x98, 0x16, 0xf8, 0xb9, 0x07, 0x2f, 0xb5, 0x14, 0xce, 0x9d, 0xa0, 0xd8, 0x3d, 0x56, 0x2c, 0x5f, 0x1e, 0x68, 0x44, 0x9c, 0xc0, 0x6a, 0x15, 0x32, 0x5a, 0xae, 0x4b, 0x4b, 0x94, 0xb6, 0x4d, 0x13, 0x23, 0x66, 0xcd, 0xfe, 0xd9, 0xd5, 0xe5, 0xa7, 0x0e, 0xd7, 0x6e, 0x03, 0xd9, 0xff, 0x92, 0x7e, 0xc8, 0x5c, 0x5b, 0xd0, 0x18, 0xf3, 0x34, 0x78, 0xf6, 0x1a, 0x92, 0xb7, 0xbb, 0x04, 0x6e, 0xc2, 0x1d, 0x44, 0x55, 0xef, 0xba, 0x1a, 0xe6, 0x94, 0x67, 0x92, 0x02, 0x51, 0xc0, 0x4a, 0x43, 0x96, 0x5b, 0xac, 0xd8, 0x5a, 0xaa, 0xc7, 0xfb, 0xae, 0xa8, 0x67, 0x37, 0x89, 0x06, 0xe8, 0x7b, 0xb7, 0x47, 0xd7, 0x75, 0x1d, 0x90, 0x98, 0x31, 0x1e, 0xd1, 0x73, 0x17, 0x0a, 0x6e, 0x22, 0xf5, 0xbe, 0x6a, 0x94, 0x25, 0x63, 0x77, 0x42, 0xc4, 0xa0, 0x80, 0x42, 0x5c, 0x7e, 0xe2, 0x25, 0x4e, 0xe3, 0xfb, 0x61, 0xa2, 0xea, 0xff, 0xf4, 0xc9, 0xbd, 0x76, 0x93, 0x08, 0x39, 0x7e, 0x99, 0x87, 0x1f, 0x68, 0xc2, 0x0a, 0x73, 0xfb, 0xf6, 0xfc, 0x25, 0x9f, 0x2b, 0x9a, 0x10, 0xcd, 0xfe, 0xe1, 0xdc, 0xd3, 0x21, 0x73, 0x22, 0x35, 0xd8, 0xec, 0xd0, 0x53, 0xa3, 0xa3, 0xe1, 0xdb, 0xbd, 0x6f, 0x92, 0x3a, 0x51, 0xff, 0xef, 0xc9, 0xd7, 0x9a, 0xb2, 0x25, 0x0f, 0xef, 0x02, 0xab, 0x64, 0x87, 0x3e, 0x5e, 0x8c, 0x23, 0x10, 0x4f, 0xac, 0x58, 0xdd, 0x04, 0x3b, 0x97, 0x5d, 0x87, 0xe6, 0xf2, 0x12, 0xc6, 0xc3, 0x18, 0x97, 0xa9, 0x4f, 0xce, 0xc7, 0x53, 0xe0, 0x36, 0x52, 0x5e, 0xca, 0x45, 0xfd, 0xcf, 0xd6, 0x67, 0x38, 0xea, 0x48, 0x91, 0xaf, 0x1d, 0xd2, 0xd8, 0x3d, 0x34, 0x39, 0x3c, 0xb0, 0x3a, 0x74, 0x07, 0xa5, 0x0e, 0xd2, 0x31, 0x29, 0x94, 0x5e, 0x7a, 0x5b, 0x4f, 0x84, 0x95, 0x37, 0xaa, 0x77, 0x23, 0x9c, 0x2e, 0xda, 0xc8, 0x85, 0x9b, 0xa4, 0x56, 0xd6, 0x8b, 0xd3, 0xc5, 0x21, 0x4e, 0x8c, 0x94, 0x8f, 0x46, 0x94, 0xeb, 0x01, 0x67, 0xa1, 0xf2, 0xaf, 0xda, 0x23, 0x3e, 0x5f, 0xc9, 0xde, 0x27, 0x2a, 0x53, 0x88, 0xd7, 0x82, 0xc0, 0x65, 0xb9, 0xd0, 0xf7, 0x22, 0x83, 0x3b, 0x5f, 0xd4, 0x52, 0x54, 0x4f, 0x3a, 0xf8, 0x20, 0xfb, 0x90, 0x2e, 0x97, 0x01, 0xa8, 0xcb, 0x52, 0xc2, 0xc0, 0xac, 0x44, 0x94, 0x4b, 0x5e, 0xc6, 0xa8, 0x3e, 0x12, 0x67, 0xb3, 0x15, 0xf9, 0xbe, 0xc3, 0xa6, 0x79, 0xe0, 0x27, 0xd1, 0x8f, 0x46, 0x01, 0x47, 0x21, 0x2f, 0xb2, 0xfe, 0xcf, 0xa9, 0x02, 0xce, 0xf9, 0x38, 0x75, 0x2a, 0x18, 0x29, 0xa4, 0xff, 0x8f, 0x8f, 0xe7, 0xa1, 0x34, 0xda, 0xbd, 0x50, 0xb3, 0xf9, 0x1c, 0xf6, 0x02, 0x37, 0x58, 0xeb, 0x9e, 0x14, 0xcc, 0xf1, 0x0a, 0x3e, 0x82, 0xb1, 0x0a, 0xf7, 0x52, 0xff, 0xe9, 0xb6, 0xcc, 0x10, 0x13, 0x0a, 0xa7, 0x3c, 0x95, 0xc1, 0x86, 0xfe, 0x6f, 0x53, 0xa0, 0x9c, 0x5f, 0xe0, 0x17, 0xfe, 0xea, 0x0a, 0xfd, 0x2b, 0x80, 0xc1, 0x42, 0x8d, 0xcd, 0xd5, 0xf6, 0x18, 0xab, 0x9a, 0x7e, 0x8d, 0x29, 0xb9, 0xc4, 0x82, 0x1b, 0xb0, 0x34, 0xd5, 0x38, 0x5e, 0xa3, 0xdf, 0x3f, 0x9c, 0x8f, 0x85, 0xb5, 0xd3, 0xb5, 0x7c, 0x36, 0x60, 0xbb, 0xc4, 0x05, 0x6f, 0x7a, 0x87, 0xca, 0x52, 0x85, 0x4a, 0x0f, 0xad, 0xed, 0x35, 0x3d, 0xad, 0xe7, 0x34, 0xf4, 0x16, 0x22, 0x93, 0x6a, 0xd2, 0xef, 0xde, 0x7d, 0x40, 0x97, 0x9c, 0x83, 0xbf, 0x8f, 0x9e, 0x25, 0x27, 0x81, 0x91, 0x0d, 0x94, 0x05, 0x01, 0x49, 0x7a, 0xda, 0x5e, 0x27, 0xac, 0x1a, 0xe7, 0x7e, 0xc6, 0x75, 0x0a, 0x09, 0xc6, 0x11, 0x42, 0xd7, 0x82, 0x84, 0x91, 0x56, 0xec, 0x74, 0x41, 0xe5, 0x82, 0xa0, 0xa5, 0x9e, 0xa1, 0x44, 0x19, 0xbf, 0x28, 0xfb, 0x5f, 0x4f, 0x4e, 0xe9, 0x9b, 0x44, 0x49, 0xef, 0x72, 0x9a, 0x81, 0x22, 0x14, 0x9a, 0xcd, 0xaf, 0xe9, 0x81, 0xaf, 0x2f, 0xf1, 0x05, 0xb1, 0x93, 0xc8, 0x43, 0xce, 0xe1, 0x18, 0x3b, 0xa2, 0x4c, 0x7c, 0x22, 0xe7, 0x51, 0x5a, 0xd6, 0xda, 0xbe, 0xf2, 0x52, 0x60, 0xe6, 0x51, 0x5f, 0xc4, 0x9a, 0x12, 0xe3, 0xe7, 0x29, 0x29, 0x76, 0xf5, 0x9b, 0xef, 0xad, 0x8e, 0x3f, 0x8a, 0x55, 0xa4, 0x4b, 0x5b, 0x73, 0x3e, 0x41, 0xce, 0xe8, 0x7a, 0x35, 0xa5, 0x4d, 0xe0, 0x58, 0x1b, 0x01, 0x20, 0xfe, 0x1e, 0x64, 0x35, 0x5c, 0xc3, 0xda, 0x36, 0x18, 0xbb, 0x40, 0x66, 0x7a, 0x67, 0x33, 0x52, 0xbb, 0x19, 0xae, 0x22, 0x80, 0xb9, 0x8e, 0x10, 0xd9, 0xef, 0x14, 0xef, 0xf1, 0x78, 0xda, 0xa3, 0xaf, 0x0a, 0x17, 0x8e, 0x24, 0xf9, 0xcb, 0xd6, 0xa9, 0xce, 0xfe, 0x9a, 0x75, 0xb3, 0xb0, 0xed, 0xdf, 0x8f, 0x0e, 0xdd, 0x1c, 0x18, 0x51, 0x98, 0x35, 0x0b, 0xcd, 0x3d, 0x4a, 0x6d, 0x0a, 0x79, 0x36, 0x74, 0x8e, 0x5e, 0xeb, 0x6d, 0x6c, 0x64, 0x93, 0x8d, 0x6d, 0x5a, 0xa2, 0xaa, 0x29, 0x72, 0xce, 0x2c, 0x81, 0xa7, 0xee, 0x35, 0x98, 0xe1, 0x50, 0x33, 0x73, 0x75, 0x24, 0x15, 0x59, 0x52, 0x25, 0xce, 0x2a, 0x17, 0x60, 0x24, 0xb6, 0xeb, 0x22, 0xe4, 0xf8, 0x18, 0xc7, 0x15, 0x72, 0x6b, 0x24, 0xe5, 0x48, 0xfa, 0xd2, 0x5c, 0x9b, 0x50, 0x49, 0xe2, 0x39, 0x6a, 0x74, 0xe7, 0x1d, 0x38, 0x99, 0xaa, 0xaf, 0x96, 0xf4, 0xaf, 0x85, 0xdf, 0x2f, 0x4f, 0xfe, 0x8e, 0x9c, 0xbb, 0xca, 0xbf, 0x40, 0x88, 0xc6, 0xcf, 0x17, 0x11, 0xfb, 0xb7, 0xb7, 0xf8, 0x92, 0xe9, 0x04, 0xec, 0x85, 0x3a, 0x1b, 0xae, 0xbb, 0xab, 0xb4, 0x38, 0x98, 0xb0, 0x2e, 0x42, 0x22, 0xf2, 0x4e, 0x8c, 0x56, 0xf0, 0x6a, 0x83, 0xb1, 0xf1, 0xf1, 0xee, 0x23, 0xca, 0x7e, 0x5d, 0x52, 0xd6, 0x64, 0xc6, 0x68, 0x21, 0x4f, 0xd5, 0xe7, 0x5f, 0x2b, 0x38, 0x21, 0xb7, 0xb7, 0xad, 0x44, 0xcc, 0x0e, 0x7f, 0x95, 0xc1, 0x89, 0x23, 0x96, 0x75, 0x00, 0x00, 0x2e, 0x3d, 0x80, 0xf3, 0x1c, 0xf6, 0xf0, 0x6e, 0x26, 0x07, 0x84, 0x91, 0xec, 0xa4, 0x06, 0x20, 0x90, 0x71, 0x19, 0x80, 0xd3, 0x62, 0xae, 0x33, 0xcb, 0xe8, 0x67, 0xb1, 0x99, 0x4e, 0x26, 0xc9, 0xbc, 0x1e, 0x9d, 0xb2, 0x2b, 0xd6, 0xab, 0x71, 0xce, 0x6c, 0x88, 0x00, 0x5b, 0xd0, 0x53, 0x09, 0xd8, 0x42, 0xa8, 0xc8, 0xef, 0xf6, 0x35, 0x7e, 0xa7, 0x5a, 0xdf, 0x82, 0xf3, 0x44, 0xd0, 0xa4, 0xbe, 0x98, 0x13, 0xd3, 0xe0, 0xd5, 0xe9, 0x27, 0xb8, 0xa9, 0x8c, 0x15, 0x24, 0xe7, 0xf1, 0x69, 0xc3, 0xab, 0xce, 0x2b, 0x07, 0x07, 0x3c, 0x1e, 0x7c, 0x79, 0xca, 0x0d, 0xcf, 0xa5, 0xe3, 0x7a, 0xfe, 0xa2, 0xa3, 0x21, 0xa6, 0x06, 0x25, 0xd8, 0x71, 0xc5, 0x26, 0x03, 0x9b, 0x96, 0x1e, 0x25, 0xa2, 0x2f, 0xb3, 0x01, 0x2e, 0x85, 0x9d, 0xfe, 0xe8, 0x31, 0xf5, 0x55, 0x30, 0x07, 0xde, 0xe1, 0x5e, 0x45, 0x6e, 0x0c, 0x4f, 0xb3, 0xce, 0x1a, 0x5b, 0x42, 0x64, 0xe6, 0x54, 0xb4, 0xed, 0x88, 0x86, 0xd5, 0x31, 0x5f, 0xf6, 0xa0, 0x69, 0x5f, 0xfe, 0x11, 0xe1, 0x9d, 0x1b, 0xcc, 0x83, 0x3e, 0x9b, 0x3a, 0x77, 0xab, 0x3d, 0xa0, 0x58, 0x0f, 0x49, 0x3e, 0x0e, 0x09, 0xf2, 0xdd, 0xe2, 0x6e, 0x02, 0x99, 0x9c, 0x96, 0x78, 0x30, 0xa1, 0x4e, 0xbb, 0x6d, 0x2c, 0x01, 0xd6, 0xd1, 0xb1, 0xc2, 0xe2, 0x74, 0x45, 0xda, 0x0c, 0x2b, 0x2e, 0x09, 0xcb, 0xae, 0xb3, 0xca, 0xa5, 0xb3, 0xe2, 0x15, 0xdc, 0x99, 0xbd, 0x73, 0x12, 0xf5, 0x74, 0x01, 0xcf, 0x3d, 0x55, 0xe9, 0x43, 0x4f, 0x77, 0xb8, 0x0d, 0x4a, 0xf2, 0xfd, 0x83, 0x0d, 0xbc, 0xe6, 0xe4, 0x97, 0xf9, 0x1d, 0x7d, 0x1e, 0xf7, 0xe7, 0xaa, 0xff, 0x07, 0xbb, 0xc8, 0x1f, 0xd5, 0x83, 0x17, 0x7a, 0xe7, 0x51, 0x72, 0x51, 0x96, 0xb2, 0x29, 0x12, 0x70, 0x84, 0x1a, 0x82, 0x3d, 0xa1, 0xa6, 0xef, 0x04, 0x23, 0xdb, 0x0d, 0x3f, 0x17, 0xdb, 0x7e, 0x7a, 0x01, 0x03, 0x6a, 0x60, 0xec, 0x1a, 0x46, 0xed, 0x51, 0x07, 0x1a, 0xbc, 0xf9, 0xe3, 0xb3, 0x42, 0x53, 0xb3, 0x3d, 0x07, 0x16, 0x8f, 0xc2, 0x7d, 0xb1, 0xa9, 0x84, 0xc4, 0x33, 0xbc, 0x05, 0x34, 0x5b, 0xd5, 0x21, 0x1b, 0x5f, 0x87, 0x16, 0xfb, 0xcc, 0x97, 0xf6, 0x7f, 0xd0, 0x94, 0x04, 0xba, 0x1d, 0xbe, 0x3f, 0x78, 0x56, 0x80, 0x80, 0x01, 0x86, 0x98, 0xe5, 0x07, 0x2a, 0x86, 0x74, 0xab, 0xfd, 0xe5, 0x7f, 0x1c, 0x5d, 0xf7, 0x87, 0xd6, 0xb7, 0x24, 0x63, 0x20, 0x5c, 0x0a, 0x88, 0x28, 0x78, 0x83, 0xdd, 0xa3, 0xab, 0x97, 0x58, 0xf4, 0xdb, 0x63, 0xe9, 0x2e, 0xa9, 0xff, 0x56, 0xfc, 0xdd, 0xc3, 0x92, 0x06, 0xa1, 0x15, 0x35, 0x51, 0x83, 0x6b, 0xf8, 0x34, 0x65, 0xa4, 0x13, 0xb9, 0x3e, 0x7c, 0xe1, 0x1f, 0x29, 0xae, 0x91, 0x64, 0x3b, 0xdf, 0x66, 0xea, 0xfa, 0xfa, 0x91, 0x38, 0x31, 0x73, 0x3d, 0x84, 0x56, 0xe1, 0x21, 0x52, 0x96, 0x1a, 0xc9, 0xb5, 0x6d, 0x2a, 0xd6, 0x85, 0x20, 0xc3, 0x5d, 0x75, 0xcd, 0x7d, 0xd0, 0x98, 0x34, 0x7f, 0x70, 0xc5, 0xff, 0x64, 0x98, 0xe2, 0x6b, 0x5c, 0xc9, 0xb1, 0x06, 0x25, 0x43, 0xb8, 0x36, 0x83, 0x3e, 0xdf, 0xd3, 0xd3, 0x6f, 0xb1, 0xd5, 0xb4, 0x39, 0x66, 0xea, 0x17, 0x2e, 0xb5, 0xf7, 0x24, 0x69, 0x4c, 0x8f, 0x73, 0xe9, 0x61, 0xc3, 0xf2, 0x60, 0xc2, 0xe9, 0xfe, 0x02, 0x3d, 0x12, 0xd0, 0xc7, 0xd8, 0xbe, 0xad, 0x49, 0xee, 0x23, 0xf1, 0x15, 0x36, 0x60, 0xbc, 0xce, 0x79, 0x02, 0x43, 0xed, 0x1a, 0x87, 0xb3, 0xeb, 0xb9, 0x7a, 0x13, 0x7b, 0x7e, 0xe8, 0xd8, 0xa3, 0x07, 0x5c, 0xcb, 0xb0, 0xe3, 0x8f, 0x61, 0x46, 0xc1, 0xd3, 0x94, 0xcd, 0xd5, 0x05, 0x93, 0xc6, 0x27, 0x6b, 0xf8, 0xdd, 0xfb, 0x2c, 0x33, 0x43, 0x60, 0x5a, 0x01, 0x46, 0x5a, 0x8b, 0xc7, 0x1f, 0x9b, 0x37, 0x3f, 0x04, 0xd8, 0xf7, 0xef, 0x24, 0xb8, 0xf0, 0x2f, 0xd3, 0x02, 0x42, 0xa5, 0x86, 0x02, 0xa2, 0xec, 0x14, 0xc6, 0x27, 0x29, 0x21, 0x9a, 0xb9, 0x2e, 0xf0, 0x5d, 0x5d, 0x81, 0x56, 0xf4, 0x59, 0xe8, 0x9e, 0xa0, 0xba, 0x97, 0x0e, 0x90, 0x56, 0xbd, 0xef, 0xf4, 0x40, 0x31, 0x9f, 0xcf, 0x14, 0xe2, 0xc7, 0x62, 0xa3, 0x56, 0xce, 0x15, 0xfa, 0xa0, 0xe0, 0x9b, 0xe2, 0x30, 0x39, 0x5d, 0xc1, 0xf7, 0xdf, 0x3c, 0xd5, 0xf4, 0x94, 0x5d, 0xb7, 0x2f, 0xff, 0x71, 0x3e, 0x0e, 0x0b, 0x5b, 0x7d, 0xd6, 0xbf, 0x2c, 0x33, 0x29, 0xc8, 0x74, 0x91, 0x85, 0x97, 0xcf, 0xfa, 0xc0, 0x07, 0x6e, 0x56, 0x77, 0xf4, 0x30, 0x76, 0x5b, 0xa9, 0x5f, 0x44, 0x5c, 0x0d, 0xe4, 0x99, 0x09, 0x0b, 0x57, 0xd0, 0xc3, 0x2c, 0xd1, 0x20, 0x91, 0x24, 0xfa, 0xb7, 0xc9, 0x42, 0x07, 0xaa, 0xb2, 0x2d, 0xd9, 0x2a, 0x25, 0x90, 0x7b, 0x8c, 0xd8, 0xdc, 0xab, 0x4f, 0x8b, 0x1b, 0x4e, 0x23, 0x68, 0xe5, 0xc2, 0x1e, 0x9b, 0xf7, 0xdf, 0xfa, 0x3a, 0xd3, 0x94, 0xd2, 0xd1, 0xce, 0x92, 0x9e, 0xca, 0xde, 0x40, 0xd7, 0x48, 0x47, 0x70, 0x9c, 0xeb, 0x09, 0x2f, 0x84, 0x3e, 0x65, 0x50, 0x53, 0xdb, 0x05, 0x06, 0x59, 0x34, 0xf5, 0x20, 0x4e, 0xfe, 0x00, 0x3a, 0x03, 0xfd, 0xd9, 0x29, 0x38, 0x5f, 0xff, 0xc4, 0xe2, 0x5f, 0x8e, 0x62, 0x74, 0x0f, 0xdc, 0xac, 0x7a, 0xf3, 0xc8, 0x32, 0xf0, 0xf0, 0xbd, 0x82, 0x04, 0xf4, 0x6e, 0xda, 0xba, 0x8f, 0x64, 0x2b, 0x2e, 0xf7, 0x94, 0x79, 0x3c, 0x0c, 0x5c, 0x57, 0x4b, 0x49, 0x88, 0x04, 0xeb, 0xcb, 0x63, 0x41, 0xf3, 0x15, 0xbd, 0x92, 0x56, 0x49, 0xc8, 0xe2, 0x78, 0x59, 0x03, 0xf7, 0x53, 0x00, 0x90, 0x7e, 0x88, 0xeb, 0xd5, 0x56, 0xa4, 0x50, 0x2e, 0x16, 0x0c, 0x6d, 0x39, 0xc3, 0x3a, 0xf1, 0xa0, 0xab, 0x40, 0xa9, 0xc7, 0xa6, 0x55, 0xb4, 0x3b, 0x3d, 0x60, 0xe9, 0x81, 0x90, 0xcb, 0x27, 0x1a, 0xff, 0xc3, 0x16, 0x6d, 0x9f, 0xb2, 0x96, 0x0e, 0xc1, 0x77, 0x26, 0xd6, 0x52, 0x93, 0x98, 0xb0, 0x0e, 0x44, 0x19, 0x6e, 0x4d, 0x71, 0x6b, 0xcd, 0x45, 0xce, 0x4a, 0x14, 0x8f, 0x90, 0xe7, 0x46, 0x06, 0x6e, 0x65, 0xaa, 0xe1, 0x0c, 0x44, 0x3a, 0xa4, 0x1a, 0x53, 0x4c, 0x06, 0x0c, 0xc7, 0x97, 0x9e, 0x73, 0x47, 0x96, 0x3d, 0x84, 0x95, 0x2d, 0xfe, 0x48, 0x35, 0x5a, 0x4c, 0x38, 0xea, 0x1e, 0xd3, 0x9f, 0xb7, 0xa0, 0xd4, 0xd1, 0xfe, 0x36, 0x55, 0x56, 0x1b, 0x36, 0x23, 0x96, 0x2e, 0x28, 0xcf, 0xa0, 0x8c, 0xc9, 0x42, 0x86, 0x54, 0x90, 0x47, 0x5c, 0x53, 0x56, 0x41, 0x11, 0xb3, 0xe1, 0x8c, 0x57, 0x96, 0xff, 0x6e, 0xc8, 0x7b, 0x29, 0x18, 0xf7, 0x2b, 0x0e, 0x18, 0x89, 0x03, 0x37, 0x89, 0x17, 0x31, 0xdc, 0x02, 0x07, 0x32, 0xc4, 0x23, 0xe6, 0x99, 0xc6, 0x1b, 0xbd, 0x74, 0x83, 0x6e, 0x71, 0x93, 0x5b, 0xe9, 0x72, 0xde, 0xdb, 0xee, 0x2d, 0x97, 0xe9, 0x06, 0xa1, 0x08, 0x7e, 0xcc, 0x59, 0x72, 0x47, 0xa7, 0x03, 0xf2, 0x35, 0xc6, 0x15, 0x28, 0x23, 0x19, 0x02, 0x8b, 0xb2, 0x88, 0xc0, 0xe3, 0xbe, 0x45, 0x07, 0x2e, 0x7f, 0xd1, 0x86, 0xbd, 0x38, 0x14, 0xb3, 0x3a, 0x84, 0x71, 0xa9, 0x32, 0xe5, 0x5e, 0x5a, 0x1e, 0x48, 0x7d, 0x9b, 0x7c, 0x29, 0x61, 0x6e, 0xc0, 0x74, 0xea, 0xc5, 0x3f, 0xcd, 0x5a, 0x33, 0xe3, 0xf0, 0xf8, 0x91, 0x1f, 0xc4, 0xc5, 0x2a, 0xe1, 0xfc, 0xf6, 0xda, 0x8b, 0x74, 0x75, 0xd0, 0x90, 0xb1, 0xf2, 0x7c, 0x97, 0xef, 0x6c, 0x71, 0xfd, 0x3f, 0xae, 0x66, 0x9d, 0xf6, 0x45, 0xdd, 0x38, 0x33, 0xd7, 0xed, 0x56, 0x58, 0x9a, 0x32, 0xc2, 0x0e, 0x5c, 0x61, 0x1d, 0x8c, 0x8e, 0x5a, 0x7a, 0xce, 0xc0, 0x5e, 0xf4, 0xbe, 0xb9, 0xd1, 0x61, 0xc8, 0x49, 0xd5, 0xaf, 0xcd, 0xf1, 0x40, 0x82, 0xfb, 0xe9, 0xb2, 0x0e, 0x4e, 0x73, 0xbf, 0xf4, 0x4e, 0x05, 0x56, 0x11, 0x75, 0xf1, 0x0b, 0x9d, 0x41, 0x7a, 0x6d, 0x60, 0x8f, 0xa6, 0x1f, 0xd6, 0x15, 0x2b, 0xc5, 0xdd, 0x55, 0x10, 0x1e, 0x28, 0x7d, 0x26, 0x5e, 0x88, 0x81, 0x39, 0x7d, 0xa8, 0x8c, 0x11, 0x8d, 0x7a, 0xf4, 0xe0, 0x55, 0x25, 0xfa, 0x2c, 0xa4, 0x93, 0x39, 0x87, 0xef, 0x70, 0xa9, 0x74, 0x9a, 0x4e, 0xa7, 0x9b, 0xbf, 0x1a, 0x10, 0x43, 0xba, 0x6c, 0x62, 0xae, 0x6d, 0x2e, 0x83, 0x13, 0x0f, 0xc9, 0x8f, 0x76, 0x80, 0x75, 0xa5, 0xb2, 0xb4, 0x15, 0xa5, 0xb9, 0x34, 0x16, 0x1b, 0xe1, 0x50, 0xdd, 0x71, 0x83, 0xf8, 0x53, 0x1d, 0x2f, 0xc2, 0xde, 0x36, 0x46, 0x95, 0x72, 0x99, 0xfa, 0xcc, 0x4e, 0xb1, 0x1f, 0x35, 0xab, 0xcb, 0x5c, 0x82, 0x1f, 0xcc, 0x52, 0x6e, 0x32, 0xa5, 0x2a, 0xa6, 0xaf, 0x8a, 0x9e, 0xbc, 0x9f, 0xa2, 0x71, 0xb3, 0x89, 0xb5, 0xfc, 0x3e, 0x4f, 0x62, 0x53, 0xe6, 0xc3, 0x30, 0x10, 0xa8, 0xa9, 0xda, 0xfc, 0xbd, 0x74, 0xfe, 0x21, 0x5e, 0xa2, 0xd6, 0xe6, 0xc1, 0xd9, 0xed, 0x1e, 0x8c, 0x73, 0x1b, 0xdf, 0x10, 0x4e, 0x61, 0x1e, 0x2b, 0x3b, 0xaf, 0x14, 0xc0, 0xd5, 0xbe, 0x59, 0x7e, 0xfd, 0xc6, 0x2c, 0x37, 0xd2, 0xb1, 0x2b, 0xe5, 0x7b, 0x13, 0x6a, 0xa1, 0x9a, 0xb2, 0x80, 0xf6, 0x62, 0xc7, 0xda, 0xb1, 0xbc, 0x1d, 0x54, 0x38, 0xe7, 0xb3, 0xdb, 0x67, 0xdc, 0x16, 0x4c, 0x1d, 0x8c, 0x09, 0xdb, 0xaa, 0x6c, 0x73, 0x5b, 0x1d, 0x1a, 0x96, 0xbf, 0x6e, 0x68, 0x2c, 0xc3, 0x1e, 0x35, 0xe3, 0x3c, 0x5c, 0x1d, 0xe7, 0x54, 0x92, 0x9d, 0x70, 0x98, 0x5b, 0x72, 0x1e, 0x33, 0x3d, 0x32, 0x36, 0xab, 0xd9, 0xb7, 0xc2, 0x0f, 0xe0, 0x63, 0x0d, 0x13, 0x7c, 0x18, 0x5b, 0x15, 0x08, 0x64, 0x7f, 0xbe, 0x25, 0x48, 0x06, 0x36, 0xc4, 0xe9, 0x32, 0xc5, 0x2d, 0x52, 0xa0, 0x32, 0x4f, 0x25, 0x3d, 0x16, 0xc2, 0x65, 0x36, 0xab, 0xd9, 0xd3, 0x8f, 0x78, 0x59, 0x3d, 0x74, 0xc0, 0xca, 0xaa, 0x4d, 0x7b, 0x0d, 0x58, 0xa1, 0xcf, 0x71, 0x46, 0xf4, 0x8d, 0xe5, 0xb2, 0x77, 0x85, 0x80, 0x4b, 0x0b, 0x7b, 0xdf, 0x02, 0x5c, 0x50, 0xd7, 0xa1, 0xbf, 0xcc, 0xba, 0xd1, 0x29, 0xef, 0x42, 0x0f, 0x9c, 0x07, 0xe9, 0x80, 0x4d, 0x16, 0xc2, 0x4d, 0x97, 0xd8, 0xe6, 0x78, 0xa6, 0xde, 0xf8, 0x46, 0xee, 0x9d, 0xb7, 0x19, 0x73, 0xc0, 0x26, 0xd1, 0xa6, 0xb3, 0x67, 0x97, 0xa4, 0x0f, 0x95, 0x24, 0xea, 0x36, 0x40, 0xdf, 0x29, 0xb9, 0xc8, 0xf0, 0x69, 0x11, 0x41, 0x71, 0x83, 0x69, 0x78, 0xf0, 0x86, 0x5a, 0xf0, 0x5a, 0xd9, 0x79, 0xee, 0x98, 0x88, 0xfe, 0x35, 0x06, 0xea, 0xb2, 0xee, 0xee, 0xf7, 0xd6, 0x66, 0x81, 0x1e, 0x6f, 0xe5, 0x3e, 0x93, 0x8c, 0x85, 0x06, 0xcb, 0x58, 0xc7, 0x16, 0x02, 0x4b, 0x53, 0x2a, 0x2a, 0x9d, 0x2d, 0x6b, 0x0f, 0x8a, 0x49, 0xeb, 0x0e, 0x33, 0x11, 0x37, 0x00, 0xbd, 0xc3, 0x06, 0x7c, 0xe5, 0x0a, 0x3e, 0x27, 0xce, 0xbd, 0xce, 0x70, 0x1c, 0xf2, 0xa0, 0xb2, 0xf1, 0x70, 0x1a, 0x22, 0x0d, 0x73, 0x3d, 0x20, 0x57, 0xdb, 0x8b, 0x30, 0x26, 0x7d, 0xca, 0x45, 0x7e, 0x40, 0x2e, 0xf8, 0x31, 0x00, 0xe0, 0x1e, 0xd1, 0x60, 0x26, 0x7e, 0x9b, 0x68, 0xf6, 0x9e, 0x97, 0x4b, 0xfe, 0x73, 0xe3, 0x11, 0xf6, 0x37, 0xa2, 0x49, 0xf4, 0x3e, 0x68, 0xf9, 0xa0, 0x1f, 0xd1, 0xeb, 0x58, 0xde, 0xe6, 0x87, 0xde, 0x2d, 0x4f, 0xbe, 0x77, 0x48, 0xf1, 0xc4, 0x15, 0x2b, 0x00, 0x88, 0x0a, 0xb0, 0x8f, 0xfc, 0xd8, 0x9b, 0xd1, 0x6c, 0x01, 0xed, 0x9f, 0xd1, 0x90, 0xae, 0x05, 0xd9, 0xb6, 0x8b, 0xb6, 0x26, 0x3f, 0x56, 0x6f, 0x16, 0x1a, 0x8e, 0x41, 0xca, 0x08, 0x24, 0x52, 0x0b, 0xbc, 0x08, 0x7f, 0xd0, 0x99, 0x1a, 0x01, 0x78, 0x87, 0x9c, 0x75, 0xdd, 0xfe, 0xd5, 0x48, 0x64, 0xb8, 0x52, 0x95, 0x60, 0x75, 0xef, 0xcb, 0x8b, 0xd4, 0x90, 0x94, 0x07, 0x5e, 0x7e, 0xa3, 0x3f, 0x28, 0xe8, 0x9a, 0x1c, 0xa5, 0xa0, 0xf4, 0xe7, 0xe8, 0x5d, 0x3f, 0x84, 0xde, 0x60, 0x24, 0xee, 0xb9, 0x1c, 0x37, 0x48, 0x62, 0xde, 0x87, 0xcd, 0xc1, 0x1e, 0x50, 0xbe, 0x63, 0x5b, 0xa4, 0xc6, 0x8c, 0xea, 0x1e, 0x3d, 0x25, 0xbf, 0xe1, 0x78, 0x0a, 0xd3, 0xfb, 0xc2, 0x39, 0xdb, 0x9b, 0x62, 0xbd, 0xd2, 0x7c, 0x3c, 0x13, 0x08, 0xa2, 0x26, 0x4f, 0xe4, 0x1a, 0x1d, 0xd2, 0xd1, 0x3f, 0x0d, 0x03, 0xde, 0x18, 0xbe, 0xe4, 0x70, 0xfd, 0x66, 0x1a, 0xf9, 0xf3, 0x74, 0x75, 0x50, 0x5f, 0xfb, 0xe3, 0xe0, 0xc7, 0x32, 0x62, 0x50, 0x00, 0xcb, 0xc2, 0x12, 0x49, 0x58, 0x52, 0xa9, 0xde, 0x6d, 0xd3, 0xb1, 0x8a, 0x01, 0x00, 0x67, 0x69, 0x9a, 0x3f, 0x35, 0x0a, 0x75, 0x4b, 0xe5, 0xe8, 0xd8, 0x91, 0x70, 0x80, 0xcc, 0x45, 0xae, 0x63, 0x08, 0x05, 0x1d, 0x89, 0xb0, 0x26, 0x5f, 0x6e, 0xba, 0xb3, 0xc7, 0x89, 0xc7, 0x6f, 0x73, 0x9b, 0x72, 0x3e, 0x18, 0x71, 0x19, 0xa5, 0x70, 0x28, 0x91, 0x32, 0x32, 0x32, 0x18, 0xd8, 0x2b, 0xbd, 0x82, 0x54, 0x65, 0xd5, 0x74, 0x7b, 0x62, 0xa3, 0x04, 0x8b, 0x11, 0x5e, 0xbf, 0x42, 0xb8, 0x0d, 0x28, 0xba, 0x60, 0xb9, 0x95, 0xa2, 0xc0, 0x8e, 0x87, 0xa1, 0x26, 0x05, 0x37, 0x94, 0xac, 0xbb, 0x84, 0x17, 0x9c, 0xb3, 0xb1, 0x72, 0xb5, 0x6e, 0x5e, 0x8a, 0x7a, 0x76, 0x5b, 0xb8, 0x92, 0x21, 0xf4, 0x3d, 0x66, 0x2b, 0xb5, 0x69, 0xda, 0x81, 0x90, 0x06, 0x2a, 0x81, 0x39, 0x26, 0x7e, 0x1c, 0x5b, 0xcc, 0x98, 0x8a, 0xc2, 0x31, 0xf9, 0x21, 0xa2, 0xd6, 0x98, 0x31, 0xbd, 0x41, 0x3e, 0x43, 0x68, 0x1c, 0xb3, 0xb0, 0x6e, 0x40, 0x36, 0x8d, 0xac, 0x2a, 0x55, 0xc0, 0xe0, 0x09, 0x04, 0x0b, 0x55, 0x65, 0xf7, 0xee, 0x4a, 0x44, 0x4f, 0x0d, 0x2f, 0xdd, 0x84, 0x90, 0xe2, 0x20, 0x8b, 0x2d, 0x5d, 0xaa, 0xbd, 0x57, 0x30, 0x76, 0x0b, 0xff, 0x22, 0x81, 0x25, 0x57, 0xb6, 0x5b, 0x6d, 0xdd, 0xd1, 0x14, 0x46, 0x48, 0x2c, 0x47, 0x77, 0xce, 0x92, 0x7f, 0x0d, 0x93, 0x0e, 0x69, 0xd2, 0x63, 0xcd, 0x57, 0x3c, 0xb4, 0x57, 0xff, 0xbc, 0x00, 0x05, 0x84, 0x98, 0xc6, 0x5d, 0xf1, 0xfd, 0xac, 0xdf, 0x17, 0x77, 0x62, 0xfb, 0x18, 0xbb, 0xf7, 0xc8, 0x05, 0x1c, 0x9e, 0xd5, 0x9b, 0x8d, 0x37, 0xbd, 0x46, 0xea, 0xe5, 0x9f, 0xda, 0xff, 0xef, 0x87, 0xdc, 0x7a, 0xa4, 0x2e, 0x84, 0x3e, 0x04, 0x3f, 0x54, 0xd3, 0xb5, 0xeb, 0x07, 0x32, 0x1c, 0x3a, 0xee, 0x36, 0x84, 0x12, 0xd9, 0x6b, 0xce, 0xd5, 0x84, 0x4b, 0xce, 0x96, 0x04, 0x93, 0x13, 0x3f, 0xc2, 0x43, 0x04, 0xa3, 0x3c, 0xd2, 0x73, 0xb7, 0x0e, 0x00, 0x0c, 0x29, 0x93, 0x24, 0x19, 0xb7, 0x3f, 0x38, 0xca, 0x5b, 0x77, 0x9d, 0x76, 0x3f, 0x34, 0xa4, 0xe1, 0x1c, 0x13, 0x02, 0x0f, 0x00, 0x43, 0x01, 0x81, 0x5a, 0xe0, 0xd4, 0x86, 0xf8, 0x89, 0x26, 0x6c, 0xdf, 0xc9, 0x9d, 0x98, 0x6f, 0x45, 0x44, 0x60, 0x40, 0x63, 0x34, 0xe2, 0x24, 0xcb, 0x54, 0x5c, 0xc6, 0xb6, 0x99, 0x74, 0x97, 0x57, 0xbb, 0x21, 0xa1, 0x1b, 0xd5, 0xd3, 0x05, 0xcf, 0x87, 0x29, 0x37, 0x75, 0x9f, 0x96, 0x95, 0xa4, 0xbf, 0x1f, 0x61, 0x26, 0x7b, 0x0d, 0xf5, 0xa1, 0x5a, 0x44, 0xe0, 0x78, 0x6a, 0x15, 0x5c, 0x60, 0x69, 0xf5, 0x89, 0x4e, 0x39, 0x3b, 0x07, 0xf3, 0x8e, 0xaa, 0xbb, 0xfb, 0x3f, 0xb5, 0x9f, 0x7e, 0xb8, 0x84, 0xb0, 0x0b, 0x5e, 0x42, 0xb7, 0xb8, 0xe3, 0xa0, 0x53, 0x44, 0xf2, 0x58, 0x6c, 0xdb, 0xcf, 0xb4, 0xa5, 0x50, 0x00, 0x28, 0x1e, 0xfe, 0xef, 0x8a, 0x33, 0xe1, 0xfa, 0x72, 0x6f, 0x95, 0xff, 0xdb, 0xf9, 0xf7, 0x4b, 0xf5, 0x65, 0x88, 0xb2, 0x5f, 0x32, 0x4b, 0x48, 0x30, 0x34, 0x51, 0x00, 0x78, 0xf8, 0x0e, 0x15, 0xad, 0x91, 0xc3, 0xe3, 0x74, 0x2a, 0x1c, 0x6a, 0x34, 0x0c, 0x51, 0x59, 0x6d, 0xf7, 0x3b, 0x66, 0x68, 0xf7, 0x31, 0xe4, 0x9b, 0x05, 0x00, 0x8b, 0xe5, 0x1c, 0xc2, 0x3d, 0x39, 0xda, 0x5c, 0x24, 0xf4, 0x2d, 0x52, 0x9a, 0xf7, 0xc6, 0x27, 0x2a, 0xdf, 0x5a, 0x79, 0x5b, 0x74, 0x15, 0x2b, 0x6f, 0x91, 0xaa, 0x60, 0x24, 0xdd, 0x3a, 0xa2, 0xa9, 0x98, 0x90, 0x30, 0x19, 0xfa, 0x73, 0x23, 0x54, 0xc9, 0x2d, 0x30, 0xb3, 0x19, 0x77, 0xc1, 0xd2, 0x44, 0x0f, 0xa4, 0x73, 0x94, 0xb2, 0x40, 0x1c, 0xc7, 0x55, 0x6d, 0x69, 0x7b, 0xc5, 0xb8, 0x50, 0xb4, 0xed, 0x57, 0x4d, 0xd2, 0x08, 0x32, 0x99, 0xb4, 0xac, 0x36, 0x08, 0x7f, 0x62, 0xaf, 0x1d, 0xee, 0x95, 0x2c, 0x8f, 0x75, 0x0b, 0xf3, 0xa0, 0xf4, 0x3b, 0x60, 0x4a, 0xa6, 0x83, 0x16, 0xb0, 0x6b, 0x23, 0xa9, 0x7e, 0x4f, 0x62, 0x8c, 0x91, 0xd9, 0x11, 0xaa, 0x82, 0xbd, 0x48, 0xeb, 0x84, 0xdb, 0x2d, 0x94, 0x3f, 0x20, 0x2b, 0x4f, 0xda, 0x64, 0x9f, 0x5b, 0x83, 0x1c, 0x5e, 0xf9, 0xbf, 0x83, 0xb3, 0xea, 0xb7, 0xb9, 0x5e, 0x8d, 0xff, 0x9d, 0x90, 0x70, 0x54, 0x23, 0x11, 0xfb, 0xf7, 0xaf, 0x85, 0xda, 0x16, 0x67, 0xda, 0x60, 0x31, 0xeb, 0xed, 0xc1, 0x66, 0x6e, 0x8a, 0xf8, 0xb0, 0xe3, 0xb6, 0x81, 0xaa, 0x08, 0xd0, 0x32, 0xf5, 0xa9, 0xcf, 0x09, 0x91, 0x40, 0x93, 0xc5, 0x4e, 0x54, 0xcb, 0xeb, 0x1d, 0x12, 0x90, 0x10, 0x82, 0x52, 0xd5, 0x56, 0xb4, 0x5b, 0xde, 0x88, 0x5a, 0xb1, 0x6a, 0x3d, 0xad, 0x03, 0x1b, 0xa0, 0x8b, 0xf7, 0xad, 0x26, 0x6b, 0x36, 0x68, 0x08, 0x01, 0xe4, 0x5e, 0xf5, 0xa2, 0x19, 0xd6, 0x8f, 0x59, 0x1c, 0x0a, 0x4f, 0x97, 0x2b, 0x8d, 0xc2, 0x78, 0xef, 0x9f, 0xea, 0xfd, 0xcc, 0xd4, 0x68, 0xc9, 0xad, 0x80, 0x65, 0xfe, 0x6a, 0xbd, 0xf0, 0x57, 0x9d, 0x97, 0x6a, 0xcc, 0xea, 0xa1, 0x7e, 0x84, 0xb6, 0x34, 0x17, 0xc1, 0x52, 0x05, 0xee, 0xf4, 0x86, 0x29, 0x8a, 0x9f, 0x3f, 0xd5, 0xdf, 0x31, 0x2d, 0x5d, 0xff, 0xf6, 0xfa, 0x81, 0x24, 0xa5, 0x70, 0x2b, 0x2c, 0xa0, 0x3d, 0xb5, 0x4b, 0x15, 0xfc, 0x92, 0x53, 0xa2, 0xbf, 0x5b, 0x74, 0x6f, 0xb7, 0xbd, 0xcd, 0x62, 0xb4, 0x1f, 0x77, 0xff, 0x0f, 0x65, 0x9c, 0x11, 0x91, 0xd0, 0xff, 0xa1, 0xda, 0xc0, 0x23, 0x18, 0xae, 0xf9, 0xcc, 0x10, 0x09, 0xf9, 0xa7, 0xd4, 0x28, 0xf6, 0x2e, 0xa8, 0x16, 0x03, 0xb3, 0xd6, 0x0b, 0x14, 0xa3, 0xea, 0xaf, 0x6a, 0xe8, 0x6e, 0x67, 0xe2, 0x59, 0x0f, 0x23, 0xbf, 0xeb, 0x64, 0x85, 0x5c, 0x01, 0x7c, 0x1c, 0xf7, 0x76, 0x76, 0xa6, 0x8f, 0x32, 0x51, 0xe3, 0x80, 0xfa, 0xd6, 0x30, 0x76, 0x54, 0x4e, 0xd1, 0x32, 0x56, 0x46, 0xa2, 0x2b, 0xc4, 0x9b, 0x4b, 0x9d, 0xe0, 0x7e, 0x35, 0x49, 0xa4, 0xec, 0xed, 0xbc, 0xcc, 0x8b, 0x5f, 0x17, 0x73, 0x58, 0x23, 0xf9, 0x15, 0x82, 0x42, 0x6f, 0x6b, 0x1c, 0xdd, 0xcd, 0xe4, 0x4a, 0x86, 0x56, 0xa6, 0x2b, 0x61, 0xe7, 0xbf, 0xfe, 0xf0, 0xe9, 0x82, 0x2b, 0xdd, 0x5c, 0x47, 0x6a, 0x3f, 0x0d, 0xda, 0x61, 0xbe, 0x51, 0x97, 0x5a, 0xa7, 0x7b, 0x1a, 0x8d, 0x28, 0x4b, 0x4a, 0x1d, 0xe5, 0x28, 0xcb, 0xc9, 0xeb, 0x1f, 0xd6, 0x02, 0xa2, 0x91, 0x44, 0xe2, 0x8d, 0xe7, 0x92, 0x3f, 0x7f, 0x43, 0x9a, 0x0c, 0xfd, 0x7c, 0x41, 0x64, 0x31, 0x91, 0xb4, 0x52, 0x33, 0xda, 0x9e, 0x23, 0xbb, 0xca, 0x0b, 0x79, 0x94, 0x92, 0x68, 0xd5, 0x72, 0xcb, 0x79, 0x2c, 0xf2, 0x12, 0x81, 0x62, 0xd6, 0xd8, 0x65, 0xe6, 0x21, 0xc9, 0xa0, 0x7b, 0xb1, 0xcc, 0xd7, 0xa0, 0x78, 0x4a, 0x6f, 0x1c, 0x45, 0x0b, 0xed, 0x05, 0x0c, 0xbc, 0x6a, 0x73, 0x11, 0x3f, 0x9e, 0x1a, 0xa0, 0xc4, 0xa9, 0x4d, 0xae, 0xc2, 0xa1, 0x5f, 0x77, 0xee, 0xe4, 0xbc, 0x84, 0x4f, 0xd0, 0xda, 0x84, 0x8c, 0x14, 0xe6, 0x6e, 0x4b, 0x52, 0xf5, 0xa2, 0x0d, 0x89, 0x16, 0x89, 0x4b, 0x33, 0x1c, 0xdf, 0x64, 0x48, 0xac, 0x18, 0xc5, 0x27, 0x78, 0x14, 0x42, 0x7f, 0x16, 0x62, 0x78, 0xb5, 0x8e, 0x7b, 0xc2, 0xb5, 0x4c, 0xdb, 0xe4, 0x35, 0xfc, 0x65, 0x24, 0x5f, 0x27, 0xc8, 0xcf, 0x1f, 0x18, 0x16, 0x57, 0x35, 0xf3, 0x83, 0x5b, 0x3d, 0xec, 0x01, 0xa0, 0x12, 0xb3, 0x4c, 0xb8, 0x9b, 0xac, 0xc1, 0x5a, 0x77, 0x13, 0x54, 0x02, 0x57, 0x4e, 0x59, 0x1b, 0x5d, 0xa5, 0x83, 0x5b, 0xa9, 0x08, 0xa0, 0xcd, 0x96, 0xfa, 0xb9, 0x27, 0x9b, 0x44, 0x74, 0x19, 0x57, 0x89, 0xb0, 0x84, 0xe5, 0x49, 0x12, 0x7a, 0xd5, 0xe8, 0x94, 0x2a, 0xe3, 0xb2, 0xba, 0x99, 0xda, 0x23, 0x6c, 0xc3, 0x07, 0x3a, 0x11, 0x54, 0x95, 0x97, 0xd1, 0xcd, 0xad, 0x3f, 0xe8, 0x5d, 0x3e, 0x7c, 0x53, 0xc1, 0xf7, 0xff, 0xe5, 0xae, 0xc8, 0xd6, 0x08, 0x4f, 0x2c, 0x58, 0x23, 0x9c, 0x6d, 0xe9, 0xfe, 0xfe, 0xc0, 0x36, 0xf9, 0x93, 0xef, 0x9a, 0xf4, 0xc2, 0xef, 0x4c, 0x75, 0x69, 0x98, 0xb7, 0x56, 0x81, 0x6d, 0xa2, 0xc1, 0xbc, 0x39, 0x63, 0x60, 0xa7, 0xab, 0xd1, 0x12, 0x0d, 0xb0, 0xd9, 0x10, 0x45, 0xdd, 0x5f, 0xce, 0xdc, 0x7f, 0xd9, 0x01, 0xa4, 0xff, 0xf9, 0x2f, 0x81, 0x07, 0x87, 0xa7, 0xb3, 0xe0, 0xc0, 0xc9, 0xe8, 0xda, 0x61, 0xca, 0x38, 0x47, 0xa5, 0x57, 0x9c, 0x34, 0xdb, 0x0e, 0x65, 0xc0, 0x86, 0xa7, 0x1f, 0xff, 0x53, 0xc9, 0xb2, 0x37, 0xea, 0xc2, 0xa4, 0xed, 0x79, 0x0e, 0xa9, 0x20, 0x3a, 0x37, 0x50, 0x6d, 0x6e, 0xbd, 0x4e, 0x2c, 0x62, 0x96, 0x62, 0xd6, 0x89, 0xf0, 0xea, 0x07, 0x78, 0xa6, 0x17, 0xb6, 0x47, 0x22, 0xca, 0x00, 0xe9, 0x3c, 0x30, 0x69, 0xd9, 0x3b, 0x10, 0xa1, 0x53, 0x20, 0x6f, 0x3e, 0x53, 0x52, 0xbf, 0xa3, 0x47, 0xe1, 0xb5, 0x4b, 0x2b, 0x21, 0x5e, 0x3d, 0xba, 0x64, 0x49, 0xf4, 0xf8, +}; diff --git a/Pak/src/pak_main.cpp b/Pak/src/pak_main.cpp index d629d71..f7b874a 100644 --- a/Pak/src/pak_main.cpp +++ b/Pak/src/pak_main.cpp @@ -3,332 +3,9 @@ #include #include -const u8 g_AES_256_0[256] = { - 0x63, 0x7c, 0x77, 0x7b, 0xf2, 0x6b, 0x6f, 0xc5, 0x30, 0x01, 0x67, 0x2b, 0xfe, 0xd7, 0xab, 0x76, - 0xca, 0x82, 0xc9, 0x7d, 0xfa, 0x59, 0x47, 0xf0, 0xad, 0xd4, 0xa2, 0xaf, 0x9c, 0xa4, 0x72, 0xc0, - 0xb7, 0xfd, 0x93, 0x26, 0x36, 0x3f, 0xf7, 0xcc, 0x34, 0xa5, 0xe5, 0xf1, 0x71, 0xd8, 0x31, 0x15, - 0x04, 0xc7, 0x23, 0xc3, 0x18, 0x96, 0x05, 0x9a, 0x07, 0x12, 0x80, 0xe2, 0xeb, 0x27, 0xb2, 0x75, - 0x09, 0x83, 0x2c, 0x1a, 0x1b, 0x6e, 0x5a, 0xa0, 0x52, 0x3b, 0xd6, 0xb3, 0x29, 0xe3, 0x2f, 0x84, - 0x53, 0xd1, 0x00, 0xed, 0x20, 0xfc, 0xb1, 0x5b, 0x6a, 0xcb, 0xbe, 0x39, 0x4a, 0x4c, 0x58, 0xcf, - 0xd0, 0xef, 0xaa, 0xfb, 0x43, 0x4d, 0x33, 0x85, 0x45, 0xf9, 0x02, 0x7f, 0x50, 0x3c, 0x9f, 0xa8, - 0x51, 0xa3, 0x40, 0x8f, 0x92, 0x9d, 0x38, 0xf5, 0xbc, 0xb6, 0xda, 0x21, 0x10, 0xff, 0xf3, 0xd2, - 0xcd, 0x0c, 0x13, 0xec, 0x5f, 0x97, 0x44, 0x17, 0xc4, 0xa7, 0x7e, 0x3d, 0x64, 0x5d, 0x19, 0x73, - 0x60, 0x81, 0x4f, 0xdc, 0x22, 0x2a, 0x90, 0x88, 0x46, 0xee, 0xb8, 0x14, 0xde, 0x5e, 0x0b, 0xdb, - 0xe0, 0x32, 0x3a, 0x0a, 0x49, 0x06, 0x24, 0x5c, 0xc2, 0xd3, 0xac, 0x62, 0x91, 0x95, 0xe4, 0x79, - 0xe7, 0xc8, 0x37, 0x6d, 0x8d, 0xd5, 0x4e, 0xa9, 0x6c, 0x56, 0xf4, 0xea, 0x65, 0x7a, 0xae, 0x08, - 0xba, 0x78, 0x25, 0x2e, 0x1c, 0xa6, 0xb4, 0xc6, 0xe8, 0xdd, 0x74, 0x1f, 0x4b, 0xbd, 0x8b, 0x8a, - 0x70, 0x3e, 0xb5, 0x66, 0x48, 0x03, 0xf6, 0x0e, 0x61, 0x35, 0x57, 0xb9, 0x86, 0xc1, 0x1d, 0x9e, - 0xe1, 0xf8, 0x98, 0x11, 0x69, 0xd9, 0x8e, 0x94, 0x9b, 0x1e, 0x87, 0xe9, 0xce, 0x55, 0x28, 0xdf, - 0x8c, 0xa1, 0x89, 0x0d, 0xbf, 0xe6, 0x42, 0x68, 0x41, 0x99, 0x2d, 0x0f, 0xb0, 0x54, 0xbb, 0x16, -}; - -const u8 g_AES_1024_0[1024] = { - 0x51, 0xf4, 0xa7, 0x50, 0x7e, 0x41, 0x65, 0x53, 0x1a, 0x17, 0xa4, 0xc3, 0x3a, 0x27, 0x5e, 0x96, 0x3b, 0xab, 0x6b, 0xcb, 0x1f, 0x9d, 0x45, 0xf1, 0xac, 0xfa, 0x58, 0xab, 0x4b, 0xe3, 0x03, 0x93, 0x20, 0x30, 0xfa, 0x55, 0xad, 0x76, 0x6d, 0xf6, 0x88, 0xcc, 0x76, 0x91, 0xf5, 0x02, 0x4c, 0x25, 0x4f, 0xe5, 0xd7, 0xfc, 0xc5, 0x2a, 0xcb, 0xd7, 0x26, 0x35, 0x44, 0x80, 0xb5, 0x62, 0xa3, 0x8f, 0xde, 0xb1, 0x5a, 0x49, 0x25, 0xba, 0x1b, 0x67, 0x45, 0xea, 0x0e, 0x98, 0x5d, 0xfe, 0xc0, 0xe1, 0xc3, 0x2f, 0x75, 0x02, 0x81, 0x4c, 0xf0, 0x12, 0x8d, 0x46, 0x97, 0xa3, 0x6b, 0xd3, 0xf9, 0xc6, 0x03, 0x8f, 0x5f, 0xe7, 0x15, 0x92, 0x9c, 0x95, 0xbf, 0x6d, 0x7a, 0xeb, 0x95, 0x52, 0x59, 0xda, 0xd4, 0xbe, 0x83, 0x2d, 0x58, 0x74, 0x21, 0xd3, 0x49, 0xe0, 0x69, 0x29, 0x8e, 0xc9, 0xc8, 0x44, 0x75, 0xc2, 0x89, 0x6a, 0xf4, 0x8e, 0x79, 0x78, 0x99, 0x58, 0x3e, 0x6b, 0x27, 0xb9, 0x71, 0xdd, 0xbe, 0xe1, 0x4f, 0xb6, 0xf0, 0x88, 0xad, 0x17, 0xc9, 0x20, 0xac, 0x66, 0x7d, 0xce, 0x3a, 0xb4, 0x63, 0xdf, 0x4a, 0x18, 0xe5, 0x1a, 0x31, 0x82, 0x97, 0x51, 0x33, 0x60, 0x62, 0x53, 0x7f, 0x45, 0xb1, 0x64, 0x77, 0xe0, 0xbb, 0x6b, 0xae, 0x84, 0xfe, 0x81, 0xa0, 0x1c, 0xf9, 0x08, 0x2b, 0x94, 0x70, 0x48, 0x68, 0x58, 0x8f, 0x45, 0xfd, 0x19, 0x94, 0xde, 0x6c, 0x87, 0x52, 0x7b, 0xf8, 0xb7, 0xab, 0x73, 0xd3, 0x23, 0x72, 0x4b, 0x02, 0xe2, 0xe3, 0x1f, 0x8f, 0x57, 0x66, 0x55, 0xab, 0x2a, 0xb2, 0xeb, 0x28, 0x07, 0x2f, 0xb5, 0xc2, 0x03, 0x86, 0xc5, 0x7b, 0x9a, 0xd3, 0x37, 0x08, 0xa5, 0x30, 0x28, 0x87, 0xf2, 0x23, 0xbf, 0xa5, 0xb2, 0x02, 0x03, 0x6a, 0xba, 0xed, 0x16, 0x82, 0x5c, 0x8a, 0xcf, 0x1c, 0x2b, 0xa7, 0x79, 0xb4, 0x92, 0xf3, 0x07, 0xf2, 0xf0, 0x4e, 0x69, 0xe2, 0xa1, 0x65, 0xda, 0xf4, 0xcd, 0x06, 0x05, 0xbe, 0xd5, 0xd1, 0x34, 0x62, 0x1f, 0xc4, 0xa6, 0xfe, 0x8a, 0x34, 0x2e, 0x53, 0x9d, 0xa2, 0xf3, 0x55, 0xa0, 0x05, 0x8a, 0xe1, 0x32, 0xa4, 0xf6, 0xeb, 0x75, 0x0b, 0x83, 0xec, 0x39, 0x40, 0x60, 0xef, 0xaa, 0x5e, 0x71, 0x9f, 0x06, 0xbd, 0x6e, 0x10, 0x51, 0x3e, 0x21, 0x8a, 0xf9, 0x96, 0xdd, 0x06, 0x3d, 0xdd, 0x3e, 0x05, 0xae, 0x4d, 0xe6, 0xbd, 0x46, 0x91, 0x54, 0x8d, 0xb5, 0x71, 0xc4, 0x5d, 0x05, 0x04, 0x06, 0xd4, 0x6f, 0x60, 0x50, 0x15, 0xff, 0x19, 0x98, 0xfb, 0x24, 0xd6, 0xbd, 0xe9, 0x97, 0x89, 0x40, 0x43, 0xcc, 0x67, 0xd9, 0x9e, 0x77, 0xb0, 0xe8, 0x42, 0xbd, 0x07, 0x89, 0x8b, 0x88, 0xe7, 0x19, 0x5b, 0x38, 0x79, 0xc8, 0xee, 0xdb, 0xa1, 0x7c, 0x0a, 0x47, 0x7c, 0x42, 0x0f, 0xe9, 0xf8, 0x84, 0x1e, 0xc9, 0x00, 0x00, 0x00, 0x00, 0x09, 0x80, 0x86, 0x83, 0x32, 0x2b, 0xed, 0x48, 0x1e, 0x11, 0x70, 0xac, 0x6c, 0x5a, 0x72, 0x4e, 0xfd, 0x0e, 0xff, 0xfb, 0x0f, 0x85, 0x38, 0x56, 0x3d, 0xae, 0xd5, 0x1e, 0x36, 0x2d, 0x39, 0x27, 0x0a, 0x0f, 0xd9, 0x64, 0x68, 0x5c, 0xa6, 0x21, 0x9b, 0x5b, 0x54, 0xd1, 0x24, 0x36, 0x2e, 0x3a, 0x0c, 0x0a, 0x67, 0xb1, 0x93, 0x57, 0xe7, 0x0f, 0xb4, 0xee, 0x96, 0xd2, 0x1b, 0x9b, 0x91, 0x9e, 0x80, 0xc0, 0xc5, 0x4f, 0x61, 0xdc, 0x20, 0xa2, 0x5a, 0x77, 0x4b, 0x69, 0x1c, 0x12, 0x1a, 0x16, 0xe2, 0x93, 0xba, 0x0a, 0xc0, 0xa0, 0x2a, 0xe5, 0x3c, 0x22, 0xe0, 0x43, 0x12, 0x1b, 0x17, 0x1d, 0x0e, 0x09, 0x0d, 0x0b, 0xf2, 0x8b, 0xc7, 0xad, 0x2d, 0xb6, 0xa8, 0xb9, 0x14, 0x1e, 0xa9, 0xc8, 0x57, 0xf1, 0x19, 0x85, 0xaf, 0x75, 0x07, 0x4c, 0xee, 0x99, 0xdd, 0xbb, 0xa3, 0x7f, 0x60, 0xfd, 0xf7, 0x01, 0x26, 0x9f, 0x5c, 0x72, 0xf5, 0xbc, 0x44, 0x66, 0x3b, 0xc5, 0x5b, 0xfb, 0x7e, 0x34, 0x8b, 0x43, 0x29, 0x76, 0xcb, 0x23, 0xc6, 0xdc, 0xb6, 0xed, 0xfc, 0x68, 0xb8, 0xe4, 0xf1, 0x63, 0xd7, 0x31, 0xdc, 0xca, 0x42, 0x63, 0x85, 0x10, 0x13, 0x97, 0x22, 0x40, 0x84, 0xc6, 0x11, 0x20, 0x85, 0x4a, 0x24, 0x7d, 0xd2, 0xbb, 0x3d, 0xf8, 0xae, 0xf9, 0x32, 0x11, 0xc7, 0x29, 0xa1, 0x6d, 0x1d, 0x9e, 0x2f, 0x4b, 0xdc, 0xb2, 0x30, 0xf3, 0x0d, 0x86, 0x52, 0xec, 0x77, 0xc1, 0xe3, 0xd0, 0x2b, 0xb3, 0x16, 0x6c, 0xa9, 0x70, 0xb9, 0x99, 0x11, 0x94, 0x48, 0xfa, 0x47, 0xe9, 0x64, 0x22, 0xa8, 0xfc, 0x8c, 0xc4, 0xa0, 0xf0, 0x3f, 0x1a, 0x56, 0x7d, 0x2c, 0xd8, 0x22, 0x33, 0x90, 0xef, 0x87, 0x49, 0x4e, 0xc7, 0xd9, 0x38, 0xd1, 0xc1, 0x8c, 0xca, 0xa2, 0xfe, 0x98, 0xd4, 0x0b, 0x36, 0xa6, 0xf5, 0x81, 0xcf, 0xa5, 0x7a, 0xde, 0x28, 0xda, 0xb7, 0x8e, 0x26, 0x3f, 0xad, 0xbf, 0xa4, 0x2c, 0x3a, 0x9d, 0xe4, 0x50, 0x78, 0x92, 0x0d, 0x6a, 0x5f, 0xcc, 0x9b, 0x54, 0x7e, 0x46, 0x62, 0xf6, 0x8d, 0x13, 0xc2, 0x90, 0xd8, 0xb8, 0xe8, 0x2e, 0x39, 0xf7, 0x5e, 0x82, 0xc3, 0xaf, 0xf5, 0x9f, 0x5d, 0x80, 0xbe, 0x69, 0xd0, 0x93, 0x7c, 0x6f, 0xd5, 0x2d, 0xa9, 0xcf, 0x25, 0x12, 0xb3, 0xc8, 0xac, 0x99, 0x3b, 0x10, 0x18, 0x7d, 0xa7, 0xe8, 0x9c, 0x63, 0x6e, 0xdb, 0x3b, 0xbb, 0x7b, 0xcd, 0x26, 0x78, 0x09, 0x6e, 0x59, 0x18, 0xf4, 0xec, 0x9a, 0xb7, 0x01, 0x83, 0x4f, 0x9a, 0xa8, 0xe6, 0x95, 0x6e, 0x65, 0xaa, 0xff, 0xe6, 0x7e, 0x21, 0xbc, 0xcf, 0x08, 0xef, 0x15, 0xe8, 0xe6, 0xba, 0xe7, 0x9b, 0xd9, 0x4a, 0x6f, 0x36, 0xce, 0xea, 0x9f, 0x09, 0xd4, 0x29, 0xb0, 0x7c, 0xd6, 0x31, 0xa4, 0xb2, 0xaf, 0x2a, 0x3f, 0x23, 0x31, 0xc6, 0xa5, 0x94, 0x30, 0x35, 0xa2, 0x66, 0xc0, 0x74, 0x4e, 0xbc, 0x37, 0xfc, 0x82, 0xca, 0xa6, 0xe0, 0x90, 0xd0, 0xb0, 0x33, 0xa7, 0xd8, 0x15, 0xf1, 0x04, 0x98, 0x4a, 0x41, 0xec, 0xda, 0xf7, 0x7f, 0xcd, 0x50, 0x0e, 0x17, 0x91, 0xf6, 0x2f, 0x76, 0x4d, 0xd6, 0x8d, 0x43, 0xef, 0xb0, 0x4d, 0xcc, 0xaa, 0x4d, 0x54, 0xe4, 0x96, 0x04, 0xdf, 0x9e, 0xd1, 0xb5, 0xe3, 0x4c, 0x6a, 0x88, 0x1b, 0xc1, 0x2c, 0x1f, 0xb8, 0x46, 0x65, 0x51, 0x7f, 0x9d, 0x5e, 0xea, 0x04, 0x01, 0x8c, 0x35, 0x5d, 0xfa, 0x87, 0x74, 0x73, 0xfb, 0x0b, 0x41, 0x2e, 0xb3, 0x67, 0x1d, 0x5a, 0x92, 0xdb, 0xd2, 0x52, 0xe9, 0x10, 0x56, 0x33, 0x6d, 0xd6, 0x47, 0x13, 0x9a, 0xd7, 0x61, 0x8c, 0x37, 0xa1, 0x0c, 0x7a, 0x59, 0xf8, 0x14, 0x8e, 0xeb, 0x13, 0x3c, 0x89, 0xce, 0xa9, 0x27, 0xee, 0xb7, 0x61, 0xc9, 0x35, 0xe1, 0x1c, 0xe5, 0xed, 0x7a, 0x47, 0xb1, 0x3c, 0x9c, 0xd2, 0xdf, 0x59, 0x55, 0xf2, 0x73, 0x3f, 0x18, 0x14, 0xce, 0x79, 0x73, 0xc7, 0x37, 0xbf, 0x53, 0xf7, 0xcd, 0xea, 0x5f, 0xfd, 0xaa, 0x5b, 0xdf, 0x3d, 0x6f, 0x14, 0x78, 0x44, 0xdb, 0x86, 0xca, 0xaf, 0xf3, 0x81, 0xb9, 0x68, 0xc4, 0x3e, 0x38, 0x24, 0x34, 0x2c, 0xc2, 0xa3, 0x40, 0x5f, 0x16, 0x1d, 0xc3, 0x72, 0xbc, 0xe2, 0x25, 0x0c, 0x28, 0x3c, 0x49, 0x8b, 0xff, 0x0d, 0x95, 0x41, 0x39, 0xa8, 0x01, 0x71, 0x08, 0x0c, 0xb3, 0xde, 0xd8, 0xb4, 0xe4, 0x9c, 0x64, 0x56, 0xc1, 0x90, 0x7b, 0xcb, 0x84, 0x61, 0xd5, 0x32, 0xb6, 0x70, 0x48, 0x6c, 0x5c, 0x74, 0xd0, 0xb8, 0x57, 0x42, -}; - -const u8 g_AES_1024_1[1024] = { - 0x50, 0x51, 0xf4, 0xa7, 0x53, 0x7e, 0x41, 0x65, 0xc3, 0x1a, 0x17, 0xa4, 0x96, 0x3a, 0x27, 0x5e, 0xcb, 0x3b, 0xab, 0x6b, 0xf1, 0x1f, 0x9d, 0x45, 0xab, 0xac, 0xfa, 0x58, 0x93, 0x4b, 0xe3, 0x03, 0x55, 0x20, 0x30, 0xfa, 0xf6, 0xad, 0x76, 0x6d, 0x91, 0x88, 0xcc, 0x76, 0x25, 0xf5, 0x02, 0x4c, 0xfc, 0x4f, 0xe5, 0xd7, 0xd7, 0xc5, 0x2a, 0xcb, 0x80, 0x26, 0x35, 0x44, 0x8f, 0xb5, 0x62, 0xa3, 0x49, 0xde, 0xb1, 0x5a, 0x67, 0x25, 0xba, 0x1b, 0x98, 0x45, 0xea, 0x0e, 0xe1, 0x5d, 0xfe, 0xc0, 0x02, 0xc3, 0x2f, 0x75, 0x12, 0x81, 0x4c, 0xf0, 0xa3, 0x8d, 0x46, 0x97, 0xc6, 0x6b, 0xd3, 0xf9, 0xe7, 0x03, 0x8f, 0x5f, 0x95, 0x15, 0x92, 0x9c, 0xeb, 0xbf, 0x6d, 0x7a, 0xda, 0x95, 0x52, 0x59, 0x2d, 0xd4, 0xbe, 0x83, 0xd3, 0x58, 0x74, 0x21, 0x29, 0x49, 0xe0, 0x69, 0x44, 0x8e, 0xc9, 0xc8, 0x6a, 0x75, 0xc2, 0x89, 0x78, 0xf4, 0x8e, 0x79, 0x6b, 0x99, 0x58, 0x3e, 0xdd, 0x27, 0xb9, 0x71, 0xb6, 0xbe, 0xe1, 0x4f, 0x17, 0xf0, 0x88, 0xad, 0x66, 0xc9, 0x20, 0xac, 0xb4, 0x7d, 0xce, 0x3a, 0x18, 0x63, 0xdf, 0x4a, 0x82, 0xe5, 0x1a, 0x31, 0x60, 0x97, 0x51, 0x33, 0x45, 0x62, 0x53, 0x7f, 0xe0, 0xb1, 0x64, 0x77, 0x84, 0xbb, 0x6b, 0xae, 0x1c, 0xfe, 0x81, 0xa0, 0x94, 0xf9, 0x08, 0x2b, 0x58, 0x70, 0x48, 0x68, 0x19, 0x8f, 0x45, 0xfd, 0x87, 0x94, 0xde, 0x6c, 0xb7, 0x52, 0x7b, 0xf8, 0x23, 0xab, 0x73, 0xd3, 0xe2, 0x72, 0x4b, 0x02, 0x57, 0xe3, 0x1f, 0x8f, 0x2a, 0x66, 0x55, 0xab, 0x07, 0xb2, 0xeb, 0x28, 0x03, 0x2f, 0xb5, 0xc2, 0x9a, 0x86, 0xc5, 0x7b, 0xa5, 0xd3, 0x37, 0x08, 0xf2, 0x30, 0x28, 0x87, 0xb2, 0x23, 0xbf, 0xa5, 0xba, 0x02, 0x03, 0x6a, 0x5c, 0xed, 0x16, 0x82, 0x2b, 0x8a, 0xcf, 0x1c, 0x92, 0xa7, 0x79, 0xb4, 0xf0, 0xf3, 0x07, 0xf2, 0xa1, 0x4e, 0x69, 0xe2, 0xcd, 0x65, 0xda, 0xf4, 0xd5, 0x06, 0x05, 0xbe, 0x1f, 0xd1, 0x34, 0x62, 0x8a, 0xc4, 0xa6, 0xfe, 0x9d, 0x34, 0x2e, 0x53, 0xa0, 0xa2, 0xf3, 0x55, 0x32, 0x05, 0x8a, 0xe1, 0x75, 0xa4, 0xf6, 0xeb, 0x39, 0x0b, 0x83, 0xec, 0xaa, 0x40, 0x60, 0xef, 0x06, 0x5e, 0x71, 0x9f, 0x51, 0xbd, 0x6e, 0x10, 0xf9, 0x3e, 0x21, 0x8a, 0x3d, 0x96, 0xdd, 0x06, 0xae, 0xdd, 0x3e, 0x05, 0x46, 0x4d, 0xe6, 0xbd, 0xb5, 0x91, 0x54, 0x8d, 0x05, 0x71, 0xc4, 0x5d, 0x6f, 0x04, 0x06, 0xd4, 0xff, 0x60, 0x50, 0x15, 0x24, 0x19, 0x98, 0xfb, 0x97, 0xd6, 0xbd, 0xe9, 0xcc, 0x89, 0x40, 0x43, 0x77, 0x67, 0xd9, 0x9e, 0xbd, 0xb0, 0xe8, 0x42, 0x88, 0x07, 0x89, 0x8b, 0x38, 0xe7, 0x19, 0x5b, 0xdb, 0x79, 0xc8, 0xee, 0x47, 0xa1, 0x7c, 0x0a, 0xe9, 0x7c, 0x42, 0x0f, 0xc9, 0xf8, 0x84, 0x1e, 0x00, 0x00, 0x00, 0x00, 0x83, 0x09, 0x80, 0x86, 0x48, 0x32, 0x2b, 0xed, 0xac, 0x1e, 0x11, 0x70, 0x4e, 0x6c, 0x5a, 0x72, 0xfb, 0xfd, 0x0e, 0xff, 0x56, 0x0f, 0x85, 0x38, 0x1e, 0x3d, 0xae, 0xd5, 0x27, 0x36, 0x2d, 0x39, 0x64, 0x0a, 0x0f, 0xd9, 0x21, 0x68, 0x5c, 0xa6, 0xd1, 0x9b, 0x5b, 0x54, 0x3a, 0x24, 0x36, 0x2e, 0xb1, 0x0c, 0x0a, 0x67, 0x0f, 0x93, 0x57, 0xe7, 0xd2, 0xb4, 0xee, 0x96, 0x9e, 0x1b, 0x9b, 0x91, 0x4f, 0x80, 0xc0, 0xc5, 0xa2, 0x61, 0xdc, 0x20, 0x69, 0x5a, 0x77, 0x4b, 0x16, 0x1c, 0x12, 0x1a, 0x0a, 0xe2, 0x93, 0xba, 0xe5, 0xc0, 0xa0, 0x2a, 0x43, 0x3c, 0x22, 0xe0, 0x1d, 0x12, 0x1b, 0x17, 0x0b, 0x0e, 0x09, 0x0d, 0xad, 0xf2, 0x8b, 0xc7, 0xb9, 0x2d, 0xb6, 0xa8, 0xc8, 0x14, 0x1e, 0xa9, 0x85, 0x57, 0xf1, 0x19, 0x4c, 0xaf, 0x75, 0x07, 0xbb, 0xee, 0x99, 0xdd, 0xfd, 0xa3, 0x7f, 0x60, 0x9f, 0xf7, 0x01, 0x26, 0xbc, 0x5c, 0x72, 0xf5, 0xc5, 0x44, 0x66, 0x3b, 0x34, 0x5b, 0xfb, 0x7e, 0x76, 0x8b, 0x43, 0x29, 0xdc, 0xcb, 0x23, 0xc6, 0x68, 0xb6, 0xed, 0xfc, 0x63, 0xb8, 0xe4, 0xf1, 0xca, 0xd7, 0x31, 0xdc, 0x10, 0x42, 0x63, 0x85, 0x40, 0x13, 0x97, 0x22, 0x20, 0x84, 0xc6, 0x11, 0x7d, 0x85, 0x4a, 0x24, 0xf8, 0xd2, 0xbb, 0x3d, 0x11, 0xae, 0xf9, 0x32, 0x6d, 0xc7, 0x29, 0xa1, 0x4b, 0x1d, 0x9e, 0x2f, 0xf3, 0xdc, 0xb2, 0x30, 0xec, 0x0d, 0x86, 0x52, 0xd0, 0x77, 0xc1, 0xe3, 0x6c, 0x2b, 0xb3, 0x16, 0x99, 0xa9, 0x70, 0xb9, 0xfa, 0x11, 0x94, 0x48, 0x22, 0x47, 0xe9, 0x64, 0xc4, 0xa8, 0xfc, 0x8c, 0x1a, 0xa0, 0xf0, 0x3f, 0xd8, 0x56, 0x7d, 0x2c, 0xef, 0x22, 0x33, 0x90, 0xc7, 0x87, 0x49, 0x4e, 0xc1, 0xd9, 0x38, 0xd1, 0xfe, 0x8c, 0xca, 0xa2, 0x36, 0x98, 0xd4, 0x0b, 0xcf, 0xa6, 0xf5, 0x81, 0x28, 0xa5, 0x7a, 0xde, 0x26, 0xda, 0xb7, 0x8e, 0xa4, 0x3f, 0xad, 0xbf, 0xe4, 0x2c, 0x3a, 0x9d, 0x0d, 0x50, 0x78, 0x92, 0x9b, 0x6a, 0x5f, 0xcc, 0x62, 0x54, 0x7e, 0x46, 0xc2, 0xf6, 0x8d, 0x13, 0xe8, 0x90, 0xd8, 0xb8, 0x5e, 0x2e, 0x39, 0xf7, 0xf5, 0x82, 0xc3, 0xaf, 0xbe, 0x9f, 0x5d, 0x80, 0x7c, 0x69, 0xd0, 0x93, 0xa9, 0x6f, 0xd5, 0x2d, 0xb3, 0xcf, 0x25, 0x12, 0x3b, 0xc8, 0xac, 0x99, 0xa7, 0x10, 0x18, 0x7d, 0x6e, 0xe8, 0x9c, 0x63, 0x7b, 0xdb, 0x3b, 0xbb, 0x09, 0xcd, 0x26, 0x78, 0xf4, 0x6e, 0x59, 0x18, 0x01, 0xec, 0x9a, 0xb7, 0xa8, 0x83, 0x4f, 0x9a, 0x65, 0xe6, 0x95, 0x6e, 0x7e, 0xaa, 0xff, 0xe6, 0x08, 0x21, 0xbc, 0xcf, 0xe6, 0xef, 0x15, 0xe8, 0xd9, 0xba, 0xe7, 0x9b, 0xce, 0x4a, 0x6f, 0x36, 0xd4, 0xea, 0x9f, 0x09, 0xd6, 0x29, 0xb0, 0x7c, 0xaf, 0x31, 0xa4, 0xb2, 0x31, 0x2a, 0x3f, 0x23, 0x30, 0xc6, 0xa5, 0x94, 0xc0, 0x35, 0xa2, 0x66, 0x37, 0x74, 0x4e, 0xbc, 0xa6, 0xfc, 0x82, 0xca, 0xb0, 0xe0, 0x90, 0xd0, 0x15, 0x33, 0xa7, 0xd8, 0x4a, 0xf1, 0x04, 0x98, 0xf7, 0x41, 0xec, 0xda, 0x0e, 0x7f, 0xcd, 0x50, 0x2f, 0x17, 0x91, 0xf6, 0x8d, 0x76, 0x4d, 0xd6, 0x4d, 0x43, 0xef, 0xb0, 0x54, 0xcc, 0xaa, 0x4d, 0xdf, 0xe4, 0x96, 0x04, 0xe3, 0x9e, 0xd1, 0xb5, 0x1b, 0x4c, 0x6a, 0x88, 0xb8, 0xc1, 0x2c, 0x1f, 0x7f, 0x46, 0x65, 0x51, 0x04, 0x9d, 0x5e, 0xea, 0x5d, 0x01, 0x8c, 0x35, 0x73, 0xfa, 0x87, 0x74, 0x2e, 0xfb, 0x0b, 0x41, 0x5a, 0xb3, 0x67, 0x1d, 0x52, 0x92, 0xdb, 0xd2, 0x33, 0xe9, 0x10, 0x56, 0x13, 0x6d, 0xd6, 0x47, 0x8c, 0x9a, 0xd7, 0x61, 0x7a, 0x37, 0xa1, 0x0c, 0x8e, 0x59, 0xf8, 0x14, 0x89, 0xeb, 0x13, 0x3c, 0xee, 0xce, 0xa9, 0x27, 0x35, 0xb7, 0x61, 0xc9, 0xed, 0xe1, 0x1c, 0xe5, 0x3c, 0x7a, 0x47, 0xb1, 0x59, 0x9c, 0xd2, 0xdf, 0x3f, 0x55, 0xf2, 0x73, 0x79, 0x18, 0x14, 0xce, 0xbf, 0x73, 0xc7, 0x37, 0xea, 0x53, 0xf7, 0xcd, 0x5b, 0x5f, 0xfd, 0xaa, 0x14, 0xdf, 0x3d, 0x6f, 0x86, 0x78, 0x44, 0xdb, 0x81, 0xca, 0xaf, 0xf3, 0x3e, 0xb9, 0x68, 0xc4, 0x2c, 0x38, 0x24, 0x34, 0x5f, 0xc2, 0xa3, 0x40, 0x72, 0x16, 0x1d, 0xc3, 0x0c, 0xbc, 0xe2, 0x25, 0x8b, 0x28, 0x3c, 0x49, 0x41, 0xff, 0x0d, 0x95, 0x71, 0x39, 0xa8, 0x01, 0xde, 0x08, 0x0c, 0xb3, 0x9c, 0xd8, 0xb4, 0xe4, 0x90, 0x64, 0x56, 0xc1, 0x61, 0x7b, 0xcb, 0x84, 0x70, 0xd5, 0x32, 0xb6, 0x74, 0x48, 0x6c, 0x5c, 0x42, 0xd0, 0xb8, 0x57 -}; - -const u8 g_AES_1024_2[1024] = { - 0xa7, 0x50, 0x51, 0xf4, 0x65, 0x53, 0x7e, 0x41, 0xa4, 0xc3, 0x1a, 0x17, 0x5e, 0x96, 0x3a, 0x27, 0x6b, 0xcb, 0x3b, 0xab, 0x45, 0xf1, 0x1f, 0x9d, 0x58, 0xab, 0xac, 0xfa, 0x03, 0x93, 0x4b, 0xe3, 0xfa, 0x55, 0x20, 0x30, 0x6d, 0xf6, 0xad, 0x76, 0x76, 0x91, 0x88, 0xcc, 0x4c, 0x25, 0xf5, 0x02, 0xd7, 0xfc, 0x4f, 0xe5, 0xcb, 0xd7, 0xc5, 0x2a, 0x44, 0x80, 0x26, 0x35, 0xa3, 0x8f, 0xb5, 0x62, 0x5a, 0x49, 0xde, 0xb1, 0x1b, 0x67, 0x25, 0xba, 0x0e, 0x98, 0x45, 0xea, 0xc0, 0xe1, 0x5d, 0xfe, 0x75, 0x02, 0xc3, 0x2f, 0xf0, 0x12, 0x81, 0x4c, 0x97, 0xa3, 0x8d, 0x46, 0xf9, 0xc6, 0x6b, 0xd3, 0x5f, 0xe7, 0x03, 0x8f, 0x9c, 0x95, 0x15, 0x92, 0x7a, 0xeb, 0xbf, 0x6d, 0x59, 0xda, 0x95, 0x52, 0x83, 0x2d, 0xd4, 0xbe, 0x21, 0xd3, 0x58, 0x74, 0x69, 0x29, 0x49, 0xe0, 0xc8, 0x44, 0x8e, 0xc9, 0x89, 0x6a, 0x75, 0xc2, 0x79, 0x78, 0xf4, 0x8e, 0x3e, 0x6b, 0x99, 0x58, 0x71, 0xdd, 0x27, 0xb9, 0x4f, 0xb6, 0xbe, 0xe1, 0xad, 0x17, 0xf0, 0x88, 0xac, 0x66, 0xc9, 0x20, 0x3a, 0xb4, 0x7d, 0xce, 0x4a, 0x18, 0x63, 0xdf, 0x31, 0x82, 0xe5, 0x1a, 0x33, 0x60, 0x97, 0x51, 0x7f, 0x45, 0x62, 0x53, 0x77, 0xe0, 0xb1, 0x64, 0xae, 0x84, 0xbb, 0x6b, 0xa0, 0x1c, 0xfe, 0x81, 0x2b, 0x94, 0xf9, 0x08, 0x68, 0x58, 0x70, 0x48, 0xfd, 0x19, 0x8f, 0x45, 0x6c, 0x87, 0x94, 0xde, 0xf8, 0xb7, 0x52, 0x7b, 0xd3, 0x23, 0xab, 0x73, 0x02, 0xe2, 0x72, 0x4b, 0x8f, 0x57, 0xe3, 0x1f, 0xab, 0x2a, 0x66, 0x55, 0x28, 0x07, 0xb2, 0xeb, 0xc2, 0x03, 0x2f, 0xb5, 0x7b, 0x9a, 0x86, 0xc5, 0x08, 0xa5, 0xd3, 0x37, 0x87, 0xf2, 0x30, 0x28, 0xa5, 0xb2, 0x23, 0xbf, 0x6a, 0xba, 0x02, 0x03, 0x82, 0x5c, 0xed, 0x16, 0x1c, 0x2b, 0x8a, 0xcf, 0xb4, 0x92, 0xa7, 0x79, 0xf2, 0xf0, 0xf3, 0x07, 0xe2, 0xa1, 0x4e, 0x69, 0xf4, 0xcd, 0x65, 0xda, 0xbe, 0xd5, 0x06, 0x05, 0x62, 0x1f, 0xd1, 0x34, 0xfe, 0x8a, 0xc4, 0xa6, 0x53, 0x9d, 0x34, 0x2e, 0x55, 0xa0, 0xa2, 0xf3, 0xe1, 0x32, 0x05, 0x8a, 0xeb, 0x75, 0xa4, 0xf6, 0xec, 0x39, 0x0b, 0x83, 0xef, 0xaa, 0x40, 0x60, 0x9f, 0x06, 0x5e, 0x71, 0x10, 0x51, 0xbd, 0x6e, 0x8a, 0xf9, 0x3e, 0x21, 0x06, 0x3d, 0x96, 0xdd, 0x05, 0xae, 0xdd, 0x3e, 0xbd, 0x46, 0x4d, 0xe6, 0x8d, 0xb5, 0x91, 0x54, 0x5d, 0x05, 0x71, 0xc4, 0xd4, 0x6f, 0x04, 0x06, 0x15, 0xff, 0x60, 0x50, 0xfb, 0x24, 0x19, 0x98, 0xe9, 0x97, 0xd6, 0xbd, 0x43, 0xcc, 0x89, 0x40, 0x9e, 0x77, 0x67, 0xd9, 0x42, 0xbd, 0xb0, 0xe8, 0x8b, 0x88, 0x07, 0x89, 0x5b, 0x38, 0xe7, 0x19, 0xee, 0xdb, 0x79, 0xc8, 0x0a, 0x47, 0xa1, 0x7c, 0x0f, 0xe9, 0x7c, 0x42, 0x1e, 0xc9, 0xf8, 0x84, 0x00, 0x00, 0x00, 0x00, 0x86, 0x83, 0x09, 0x80, 0xed, 0x48, 0x32, 0x2b, 0x70, 0xac, 0x1e, 0x11, 0x72, 0x4e, 0x6c, 0x5a, 0xff, 0xfb, 0xfd, 0x0e, 0x38, 0x56, 0x0f, 0x85, 0xd5, 0x1e, 0x3d, 0xae, 0x39, 0x27, 0x36, 0x2d, 0xd9, 0x64, 0x0a, 0x0f, 0xa6, 0x21, 0x68, 0x5c, 0x54, 0xd1, 0x9b, 0x5b, 0x2e, 0x3a, 0x24, 0x36, 0x67, 0xb1, 0x0c, 0x0a, 0xe7, 0x0f, 0x93, 0x57, 0x96, 0xd2, 0xb4, 0xee, 0x91, 0x9e, 0x1b, 0x9b, 0xc5, 0x4f, 0x80, 0xc0, 0x20, 0xa2, 0x61, 0xdc, 0x4b, 0x69, 0x5a, 0x77, 0x1a, 0x16, 0x1c, 0x12, 0xba, 0x0a, 0xe2, 0x93, 0x2a, 0xe5, 0xc0, 0xa0, 0xe0, 0x43, 0x3c, 0x22, 0x17, 0x1d, 0x12, 0x1b, 0x0d, 0x0b, 0x0e, 0x09, 0xc7, 0xad, 0xf2, 0x8b, 0xa8, 0xb9, 0x2d, 0xb6, 0xa9, 0xc8, 0x14, 0x1e, 0x19, 0x85, 0x57, 0xf1, 0x07, 0x4c, 0xaf, 0x75, 0xdd, 0xbb, 0xee, 0x99, 0x60, 0xfd, 0xa3, 0x7f, 0x26, 0x9f, 0xf7, 0x01, 0xf5, 0xbc, 0x5c, 0x72, 0x3b, 0xc5, 0x44, 0x66, 0x7e, 0x34, 0x5b, 0xfb, 0x29, 0x76, 0x8b, 0x43, 0xc6, 0xdc, 0xcb, 0x23, 0xfc, 0x68, 0xb6, 0xed, 0xf1, 0x63, 0xb8, 0xe4, 0xdc, 0xca, 0xd7, 0x31, 0x85, 0x10, 0x42, 0x63, 0x22, 0x40, 0x13, 0x97, 0x11, 0x20, 0x84, 0xc6, 0x24, 0x7d, 0x85, 0x4a, 0x3d, 0xf8, 0xd2, 0xbb, 0x32, 0x11, 0xae, 0xf9, 0xa1, 0x6d, 0xc7, 0x29, 0x2f, 0x4b, 0x1d, 0x9e, 0x30, 0xf3, 0xdc, 0xb2, 0x52, 0xec, 0x0d, 0x86, 0xe3, 0xd0, 0x77, 0xc1, 0x16, 0x6c, 0x2b, 0xb3, 0xb9, 0x99, 0xa9, 0x70, 0x48, 0xfa, 0x11, 0x94, 0x64, 0x22, 0x47, 0xe9, 0x8c, 0xc4, 0xa8, 0xfc, 0x3f, 0x1a, 0xa0, 0xf0, 0x2c, 0xd8, 0x56, 0x7d, 0x90, 0xef, 0x22, 0x33, 0x4e, 0xc7, 0x87, 0x49, 0xd1, 0xc1, 0xd9, 0x38, 0xa2, 0xfe, 0x8c, 0xca, 0x0b, 0x36, 0x98, 0xd4, 0x81, 0xcf, 0xa6, 0xf5, 0xde, 0x28, 0xa5, 0x7a, 0x8e, 0x26, 0xda, 0xb7, 0xbf, 0xa4, 0x3f, 0xad, 0x9d, 0xe4, 0x2c, 0x3a, 0x92, 0x0d, 0x50, 0x78, 0xcc, 0x9b, 0x6a, 0x5f, 0x46, 0x62, 0x54, 0x7e, 0x13, 0xc2, 0xf6, 0x8d, 0xb8, 0xe8, 0x90, 0xd8, 0xf7, 0x5e, 0x2e, 0x39, 0xaf, 0xf5, 0x82, 0xc3, 0x80, 0xbe, 0x9f, 0x5d, 0x93, 0x7c, 0x69, 0xd0, 0x2d, 0xa9, 0x6f, 0xd5, 0x12, 0xb3, 0xcf, 0x25, 0x99, 0x3b, 0xc8, 0xac, 0x7d, 0xa7, 0x10, 0x18, 0x63, 0x6e, 0xe8, 0x9c, 0xbb, 0x7b, 0xdb, 0x3b, 0x78, 0x09, 0xcd, 0x26, 0x18, 0xf4, 0x6e, 0x59, 0xb7, 0x01, 0xec, 0x9a, 0x9a, 0xa8, 0x83, 0x4f, 0x6e, 0x65, 0xe6, 0x95, 0xe6, 0x7e, 0xaa, 0xff, 0xcf, 0x08, 0x21, 0xbc, 0xe8, 0xe6, 0xef, 0x15, 0x9b, 0xd9, 0xba, 0xe7, 0x36, 0xce, 0x4a, 0x6f, 0x09, 0xd4, 0xea, 0x9f, 0x7c, 0xd6, 0x29, 0xb0, 0xb2, 0xaf, 0x31, 0xa4, 0x23, 0x31, 0x2a, 0x3f, 0x94, 0x30, 0xc6, 0xa5, 0x66, 0xc0, 0x35, 0xa2, 0xbc, 0x37, 0x74, 0x4e, 0xca, 0xa6, 0xfc, 0x82, 0xd0, 0xb0, 0xe0, 0x90, 0xd8, 0x15, 0x33, 0xa7, 0x98, 0x4a, 0xf1, 0x04, 0xda, 0xf7, 0x41, 0xec, 0x50, 0x0e, 0x7f, 0xcd, 0xf6, 0x2f, 0x17, 0x91, 0xd6, 0x8d, 0x76, 0x4d, 0xb0, 0x4d, 0x43, 0xef, 0x4d, 0x54, 0xcc, 0xaa, 0x04, 0xdf, 0xe4, 0x96, 0xb5, 0xe3, 0x9e, 0xd1, 0x88, 0x1b, 0x4c, 0x6a, 0x1f, 0xb8, 0xc1, 0x2c, 0x51, 0x7f, 0x46, 0x65, 0xea, 0x04, 0x9d, 0x5e, 0x35, 0x5d, 0x01, 0x8c, 0x74, 0x73, 0xfa, 0x87, 0x41, 0x2e, 0xfb, 0x0b, 0x1d, 0x5a, 0xb3, 0x67, 0xd2, 0x52, 0x92, 0xdb, 0x56, 0x33, 0xe9, 0x10, 0x47, 0x13, 0x6d, 0xd6, 0x61, 0x8c, 0x9a, 0xd7, 0x0c, 0x7a, 0x37, 0xa1, 0x14, 0x8e, 0x59, 0xf8, 0x3c, 0x89, 0xeb, 0x13, 0x27, 0xee, 0xce, 0xa9, 0xc9, 0x35, 0xb7, 0x61, 0xe5, 0xed, 0xe1, 0x1c, 0xb1, 0x3c, 0x7a, 0x47, 0xdf, 0x59, 0x9c, 0xd2, 0x73, 0x3f, 0x55, 0xf2, 0xce, 0x79, 0x18, 0x14, 0x37, 0xbf, 0x73, 0xc7, 0xcd, 0xea, 0x53, 0xf7, 0xaa, 0x5b, 0x5f, 0xfd, 0x6f, 0x14, 0xdf, 0x3d, 0xdb, 0x86, 0x78, 0x44, 0xf3, 0x81, 0xca, 0xaf, 0xc4, 0x3e, 0xb9, 0x68, 0x34, 0x2c, 0x38, 0x24, 0x40, 0x5f, 0xc2, 0xa3, 0xc3, 0x72, 0x16, 0x1d, 0x25, 0x0c, 0xbc, 0xe2, 0x49, 0x8b, 0x28, 0x3c, 0x95, 0x41, 0xff, 0x0d, 0x01, 0x71, 0x39, 0xa8, 0xb3, 0xde, 0x08, 0x0c, 0xe4, 0x9c, 0xd8, 0xb4, 0xc1, 0x90, 0x64, 0x56, 0x84, 0x61, 0x7b, 0xcb, 0xb6, 0x70, 0xd5, 0x32, 0x5c, 0x74, 0x48, 0x6c, 0x57, 0x42, 0xd0, 0xb8, -}; - -const u8 g_AES_1024_3[1024] = { - 0xf4, 0xa7, 0x50, 0x51, 0x41, 0x65, 0x53, 0x7e, 0x17, 0xa4, 0xc3, 0x1a, 0x27, 0x5e, 0x96, 0x3a, 0xab, 0x6b, 0xcb, 0x3b, 0x9d, 0x45, 0xf1, 0x1f, 0xfa, 0x58, 0xab, 0xac, 0xe3, 0x03, 0x93, 0x4b, 0x30, 0xfa, 0x55, 0x20, 0x76, 0x6d, 0xf6, 0xad, 0xcc, 0x76, 0x91, 0x88, 0x02, 0x4c, 0x25, 0xf5, 0xe5, 0xd7, 0xfc, 0x4f, 0x2a, 0xcb, 0xd7, 0xc5, 0x35, 0x44, 0x80, 0x26, 0x62, 0xa3, 0x8f, 0xb5, 0xb1, 0x5a, 0x49, 0xde, 0xba, 0x1b, 0x67, 0x25, 0xea, 0x0e, 0x98, 0x45, 0xfe, 0xc0, 0xe1, 0x5d, 0x2f, 0x75, 0x02, 0xc3, 0x4c, 0xf0, 0x12, 0x81, 0x46, 0x97, 0xa3, 0x8d, 0xd3, 0xf9, 0xc6, 0x6b, 0x8f, 0x5f, 0xe7, 0x03, 0x92, 0x9c, 0x95, 0x15, 0x6d, 0x7a, 0xeb, 0xbf, 0x52, 0x59, 0xda, 0x95, 0xbe, 0x83, 0x2d, 0xd4, 0x74, 0x21, 0xd3, 0x58, 0xe0, 0x69, 0x29, 0x49, 0xc9, 0xc8, 0x44, 0x8e, 0xc2, 0x89, 0x6a, 0x75, 0x8e, 0x79, 0x78, 0xf4, 0x58, 0x3e, 0x6b, 0x99, 0xb9, 0x71, 0xdd, 0x27, 0xe1, 0x4f, 0xb6, 0xbe, 0x88, 0xad, 0x17, 0xf0, 0x20, 0xac, 0x66, 0xc9, 0xce, 0x3a, 0xb4, 0x7d, 0xdf, 0x4a, 0x18, 0x63, 0x1a, 0x31, 0x82, 0xe5, 0x51, 0x33, 0x60, 0x97, 0x53, 0x7f, 0x45, 0x62, 0x64, 0x77, 0xe0, 0xb1, 0x6b, 0xae, 0x84, 0xbb, 0x81, 0xa0, 0x1c, 0xfe, 0x08, 0x2b, 0x94, 0xf9, 0x48, 0x68, 0x58, 0x70, 0x45, 0xfd, 0x19, 0x8f, 0xde, 0x6c, 0x87, 0x94, 0x7b, 0xf8, 0xb7, 0x52, 0x73, 0xd3, 0x23, 0xab, 0x4b, 0x02, 0xe2, 0x72, 0x1f, 0x8f, 0x57, 0xe3, 0x55, 0xab, 0x2a, 0x66, 0xeb, 0x28, 0x07, 0xb2, 0xb5, 0xc2, 0x03, 0x2f, 0xc5, 0x7b, 0x9a, 0x86, 0x37, 0x08, 0xa5, 0xd3, 0x28, 0x87, 0xf2, 0x30, 0xbf, 0xa5, 0xb2, 0x23, 0x03, 0x6a, 0xba, 0x02, 0x16, 0x82, 0x5c, 0xed, 0xcf, 0x1c, 0x2b, 0x8a, 0x79, 0xb4, 0x92, 0xa7, 0x07, 0xf2, 0xf0, 0xf3, 0x69, 0xe2, 0xa1, 0x4e, 0xda, 0xf4, 0xcd, 0x65, 0x05, 0xbe, 0xd5, 0x06, 0x34, 0x62, 0x1f, 0xd1, 0xa6, 0xfe, 0x8a, 0xc4, 0x2e, 0x53, 0x9d, 0x34, 0xf3, 0x55, 0xa0, 0xa2, 0x8a, 0xe1, 0x32, 0x05, 0xf6, 0xeb, 0x75, 0xa4, 0x83, 0xec, 0x39, 0x0b, 0x60, 0xef, 0xaa, 0x40, 0x71, 0x9f, 0x06, 0x5e, 0x6e, 0x10, 0x51, 0xbd, 0x21, 0x8a, 0xf9, 0x3e, 0xdd, 0x06, 0x3d, 0x96, 0x3e, 0x05, 0xae, 0xdd, 0xe6, 0xbd, 0x46, 0x4d, 0x54, 0x8d, 0xb5, 0x91, 0xc4, 0x5d, 0x05, 0x71, 0x06, 0xd4, 0x6f, 0x04, 0x50, 0x15, 0xff, 0x60, 0x98, 0xfb, 0x24, 0x19, 0xbd, 0xe9, 0x97, 0xd6, 0x40, 0x43, 0xcc, 0x89, 0xd9, 0x9e, 0x77, 0x67, 0xe8, 0x42, 0xbd, 0xb0, 0x89, 0x8b, 0x88, 0x07, 0x19, 0x5b, 0x38, 0xe7, 0xc8, 0xee, 0xdb, 0x79, 0x7c, 0x0a, 0x47, 0xa1, 0x42, 0x0f, 0xe9, 0x7c, 0x84, 0x1e, 0xc9, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x80, 0x86, 0x83, 0x09, 0x2b, 0xed, 0x48, 0x32, 0x11, 0x70, 0xac, 0x1e, 0x5a, 0x72, 0x4e, 0x6c, 0x0e, 0xff, 0xfb, 0xfd, 0x85, 0x38, 0x56, 0x0f, 0xae, 0xd5, 0x1e, 0x3d, 0x2d, 0x39, 0x27, 0x36, 0x0f, 0xd9, 0x64, 0x0a, 0x5c, 0xa6, 0x21, 0x68, 0x5b, 0x54, 0xd1, 0x9b, 0x36, 0x2e, 0x3a, 0x24, 0x0a, 0x67, 0xb1, 0x0c, 0x57, 0xe7, 0x0f, 0x93, 0xee, 0x96, 0xd2, 0xb4, 0x9b, 0x91, 0x9e, 0x1b, 0xc0, 0xc5, 0x4f, 0x80, 0xdc, 0x20, 0xa2, 0x61, 0x77, 0x4b, 0x69, 0x5a, 0x12, 0x1a, 0x16, 0x1c, 0x93, 0xba, 0x0a, 0xe2, 0xa0, 0x2a, 0xe5, 0xc0, 0x22, 0xe0, 0x43, 0x3c, 0x1b, 0x17, 0x1d, 0x12, 0x09, 0x0d, 0x0b, 0x0e, 0x8b, 0xc7, 0xad, 0xf2, 0xb6, 0xa8, 0xb9, 0x2d, 0x1e, 0xa9, 0xc8, 0x14, 0xf1, 0x19, 0x85, 0x57, 0x75, 0x07, 0x4c, 0xaf, 0x99, 0xdd, 0xbb, 0xee, 0x7f, 0x60, 0xfd, 0xa3, 0x01, 0x26, 0x9f, 0xf7, 0x72, 0xf5, 0xbc, 0x5c, 0x66, 0x3b, 0xc5, 0x44, 0xfb, 0x7e, 0x34, 0x5b, 0x43, 0x29, 0x76, 0x8b, 0x23, 0xc6, 0xdc, 0xcb, 0xed, 0xfc, 0x68, 0xb6, 0xe4, 0xf1, 0x63, 0xb8, 0x31, 0xdc, 0xca, 0xd7, 0x63, 0x85, 0x10, 0x42, 0x97, 0x22, 0x40, 0x13, 0xc6, 0x11, 0x20, 0x84, 0x4a, 0x24, 0x7d, 0x85, 0xbb, 0x3d, 0xf8, 0xd2, 0xf9, 0x32, 0x11, 0xae, 0x29, 0xa1, 0x6d, 0xc7, 0x9e, 0x2f, 0x4b, 0x1d, 0xb2, 0x30, 0xf3, 0xdc, 0x86, 0x52, 0xec, 0x0d, 0xc1, 0xe3, 0xd0, 0x77, 0xb3, 0x16, 0x6c, 0x2b, 0x70, 0xb9, 0x99, 0xa9, 0x94, 0x48, 0xfa, 0x11, 0xe9, 0x64, 0x22, 0x47, 0xfc, 0x8c, 0xc4, 0xa8, 0xf0, 0x3f, 0x1a, 0xa0, 0x7d, 0x2c, 0xd8, 0x56, 0x33, 0x90, 0xef, 0x22, 0x49, 0x4e, 0xc7, 0x87, 0x38, 0xd1, 0xc1, 0xd9, 0xca, 0xa2, 0xfe, 0x8c, 0xd4, 0x0b, 0x36, 0x98, 0xf5, 0x81, 0xcf, 0xa6, 0x7a, 0xde, 0x28, 0xa5, 0xb7, 0x8e, 0x26, 0xda, 0xad, 0xbf, 0xa4, 0x3f, 0x3a, 0x9d, 0xe4, 0x2c, 0x78, 0x92, 0x0d, 0x50, 0x5f, 0xcc, 0x9b, 0x6a, 0x7e, 0x46, 0x62, 0x54, 0x8d, 0x13, 0xc2, 0xf6, 0xd8, 0xb8, 0xe8, 0x90, 0x39, 0xf7, 0x5e, 0x2e, 0xc3, 0xaf, 0xf5, 0x82, 0x5d, 0x80, 0xbe, 0x9f, 0xd0, 0x93, 0x7c, 0x69, 0xd5, 0x2d, 0xa9, 0x6f, 0x25, 0x12, 0xb3, 0xcf, 0xac, 0x99, 0x3b, 0xc8, 0x18, 0x7d, 0xa7, 0x10, 0x9c, 0x63, 0x6e, 0xe8, 0x3b, 0xbb, 0x7b, 0xdb, 0x26, 0x78, 0x09, 0xcd, 0x59, 0x18, 0xf4, 0x6e, 0x9a, 0xb7, 0x01, 0xec, 0x4f, 0x9a, 0xa8, 0x83, 0x95, 0x6e, 0x65, 0xe6, 0xff, 0xe6, 0x7e, 0xaa, 0xbc, 0xcf, 0x08, 0x21, 0x15, 0xe8, 0xe6, 0xef, 0xe7, 0x9b, 0xd9, 0xba, 0x6f, 0x36, 0xce, 0x4a, 0x9f, 0x09, 0xd4, 0xea, 0xb0, 0x7c, 0xd6, 0x29, 0xa4, 0xb2, 0xaf, 0x31, 0x3f, 0x23, 0x31, 0x2a, 0xa5, 0x94, 0x30, 0xc6, 0xa2, 0x66, 0xc0, 0x35, 0x4e, 0xbc, 0x37, 0x74, 0x82, 0xca, 0xa6, 0xfc, 0x90, 0xd0, 0xb0, 0xe0, 0xa7, 0xd8, 0x15, 0x33, 0x04, 0x98, 0x4a, 0xf1, 0xec, 0xda, 0xf7, 0x41, 0xcd, 0x50, 0x0e, 0x7f, 0x91, 0xf6, 0x2f, 0x17, 0x4d, 0xd6, 0x8d, 0x76, 0xef, 0xb0, 0x4d, 0x43, 0xaa, 0x4d, 0x54, 0xcc, 0x96, 0x04, 0xdf, 0xe4, 0xd1, 0xb5, 0xe3, 0x9e, 0x6a, 0x88, 0x1b, 0x4c, 0x2c, 0x1f, 0xb8, 0xc1, 0x65, 0x51, 0x7f, 0x46, 0x5e, 0xea, 0x04, 0x9d, 0x8c, 0x35, 0x5d, 0x01, 0x87, 0x74, 0x73, 0xfa, 0x0b, 0x41, 0x2e, 0xfb, 0x67, 0x1d, 0x5a, 0xb3, 0xdb, 0xd2, 0x52, 0x92, 0x10, 0x56, 0x33, 0xe9, 0xd6, 0x47, 0x13, 0x6d, 0xd7, 0x61, 0x8c, 0x9a, 0xa1, 0x0c, 0x7a, 0x37, 0xf8, 0x14, 0x8e, 0x59, 0x13, 0x3c, 0x89, 0xeb, 0xa9, 0x27, 0xee, 0xce, 0x61, 0xc9, 0x35, 0xb7, 0x1c, 0xe5, 0xed, 0xe1, 0x47, 0xb1, 0x3c, 0x7a, 0xd2, 0xdf, 0x59, 0x9c, 0xf2, 0x73, 0x3f, 0x55, 0x14, 0xce, 0x79, 0x18, 0xc7, 0x37, 0xbf, 0x73, 0xf7, 0xcd, 0xea, 0x53, 0xfd, 0xaa, 0x5b, 0x5f, 0x3d, 0x6f, 0x14, 0xdf, 0x44, 0xdb, 0x86, 0x78, 0xaf, 0xf3, 0x81, 0xca, 0x68, 0xc4, 0x3e, 0xb9, 0x24, 0x34, 0x2c, 0x38, 0xa3, 0x40, 0x5f, 0xc2, 0x1d, 0xc3, 0x72, 0x16, 0xe2, 0x25, 0x0c, 0xbc, 0x3c, 0x49, 0x8b, 0x28, 0x0d, 0x95, 0x41, 0xff, 0xa8, 0x01, 0x71, 0x39, 0x0c, 0xb3, 0xde, 0x08, 0xb4, 0xe4, 0x9c, 0xd8, 0x56, 0xc1, 0x90, 0x64, 0xcb, 0x84, 0x61, 0x7b, 0x32, 0xb6, 0x70, 0xd5, 0x6c, 0x5c, 0x74, 0x48, 0xb8, 0x57, 0x42, 0xd0, -}; - -const u8 g_AES_1024_1_0_byte[1024] = { - 0xc6, 0x63, 0x63, 0xa5, 0xf8, 0x7c, 0x7c, 0x84, 0xee, 0x77, 0x77, 0x99, 0xf6, 0x7b, 0x7b, 0x8d, 0xff, 0xf2, 0xf2, 0x0d, 0xd6, 0x6b, 0x6b, 0xbd, 0xde, 0x6f, 0x6f, 0xb1, 0x91, 0xc5, 0xc5, 0x54, 0x60, 0x30, 0x30, 0x50, 0x02, 0x01, 0x01, 0x03, 0xce, 0x67, 0x67, 0xa9, 0x56, 0x2b, 0x2b, 0x7d, 0xe7, 0xfe, 0xfe, 0x19, 0xb5, 0xd7, 0xd7, 0x62, 0x4d, 0xab, 0xab, 0xe6, 0xec, 0x76, 0x76, 0x9a, 0x8f, 0xca, 0xca, 0x45, 0x1f, 0x82, 0x82, 0x9d, 0x89, 0xc9, 0xc9, 0x40, 0xfa, 0x7d, 0x7d, 0x87, 0xef, 0xfa, 0xfa, 0x15, 0xb2, 0x59, 0x59, 0xeb, 0x8e, 0x47, 0x47, 0xc9, 0xfb, 0xf0, 0xf0, 0x0b, 0x41, 0xad, 0xad, 0xec, 0xb3, 0xd4, 0xd4, 0x67, 0x5f, 0xa2, 0xa2, 0xfd, 0x45, 0xaf, 0xaf, 0xea, 0x23, 0x9c, 0x9c, 0xbf, 0x53, 0xa4, 0xa4, 0xf7, 0xe4, 0x72, 0x72, 0x96, 0x9b, 0xc0, 0xc0, 0x5b, 0x75, 0xb7, 0xb7, 0xc2, 0xe1, 0xfd, 0xfd, 0x1c, 0x3d, 0x93, 0x93, 0xae, 0x4c, 0x26, 0x26, 0x6a, 0x6c, 0x36, 0x36, 0x5a, 0x7e, 0x3f, 0x3f, 0x41, 0xf5, 0xf7, 0xf7, 0x02, 0x83, 0xcc, 0xcc, 0x4f, 0x68, 0x34, 0x34, 0x5c, 0x51, 0xa5, 0xa5, 0xf4, 0xd1, 0xe5, 0xe5, 0x34, 0xf9, 0xf1, 0xf1, 0x08, 0xe2, 0x71, 0x71, 0x93, 0xab, 0xd8, 0xd8, 0x73, 0x62, 0x31, 0x31, 0x53, 0x2a, 0x15, 0x15, 0x3f, 0x08, 0x04, 0x04, 0x0c, 0x95, 0xc7, 0xc7, 0x52, 0x46, 0x23, 0x23, 0x65, 0x9d, 0xc3, 0xc3, 0x5e, 0x30, 0x18, 0x18, 0x28, 0x37, 0x96, 0x96, 0xa1, 0x0a, 0x05, 0x05, 0x0f, 0x2f, 0x9a, 0x9a, 0xb5, 0x0e, 0x07, 0x07, 0x09, 0x24, 0x12, 0x12, 0x36, 0x1b, 0x80, 0x80, 0x9b, 0xdf, 0xe2, 0xe2, 0x3d, 0xcd, 0xeb, 0xeb, 0x26, 0x4e, 0x27, 0x27, 0x69, 0x7f, 0xb2, 0xb2, 0xcd, 0xea, 0x75, 0x75, 0x9f, 0x12, 0x09, 0x09, 0x1b, 0x1d, 0x83, 0x83, 0x9e, 0x58, 0x2c, 0x2c, 0x74, 0x34, 0x1a, 0x1a, 0x2e, 0x36, 0x1b, 0x1b, 0x2d, 0xdc, 0x6e, 0x6e, 0xb2, 0xb4, 0x5a, 0x5a, 0xee, 0x5b, 0xa0, 0xa0, 0xfb, 0xa4, 0x52, 0x52, 0xf6, 0x76, 0x3b, 0x3b, 0x4d, 0xb7, 0xd6, 0xd6, 0x61, 0x7d, 0xb3, 0xb3, 0xce, 0x52, 0x29, 0x29, 0x7b, 0xdd, 0xe3, 0xe3, 0x3e, 0x5e, 0x2f, 0x2f, 0x71, 0x13, 0x84, 0x84, 0x97, 0xa6, 0x53, 0x53, 0xf5, 0xb9, 0xd1, 0xd1, 0x68, 0x00, 0x00, 0x00, 0x00, 0xc1, 0xed, 0xed, 0x2c, 0x40, 0x20, 0x20, 0x60, 0xe3, 0xfc, 0xfc, 0x1f, 0x79, 0xb1, 0xb1, 0xc8, 0xb6, 0x5b, 0x5b, 0xed, 0xd4, 0x6a, 0x6a, 0xbe, 0x8d, 0xcb, 0xcb, 0x46, 0x67, 0xbe, 0xbe, 0xd9, 0x72, 0x39, 0x39, 0x4b, 0x94, 0x4a, 0x4a, 0xde, 0x98, 0x4c, 0x4c, 0xd4, 0xb0, 0x58, 0x58, 0xe8, 0x85, 0xcf, 0xcf, 0x4a, 0xbb, 0xd0, 0xd0, 0x6b, 0xc5, 0xef, 0xef, 0x2a, 0x4f, 0xaa, 0xaa, 0xe5, 0xed, 0xfb, 0xfb, 0x16, 0x86, 0x43, 0x43, 0xc5, 0x9a, 0x4d, 0x4d, 0xd7, 0x66, 0x33, 0x33, 0x55, 0x11, 0x85, 0x85, 0x94, 0x8a, 0x45, 0x45, 0xcf, 0xe9, 0xf9, 0xf9, 0x10, 0x04, 0x02, 0x02, 0x06, 0xfe, 0x7f, 0x7f, 0x81, 0xa0, 0x50, 0x50, 0xf0, 0x78, 0x3c, 0x3c, 0x44, 0x25, 0x9f, 0x9f, 0xba, 0x4b, 0xa8, 0xa8, 0xe3, 0xa2, 0x51, 0x51, 0xf3, 0x5d, 0xa3, 0xa3, 0xfe, 0x80, 0x40, 0x40, 0xc0, 0x05, 0x8f, 0x8f, 0x8a, 0x3f, 0x92, 0x92, 0xad, 0x21, 0x9d, 0x9d, 0xbc, 0x70, 0x38, 0x38, 0x48, 0xf1, 0xf5, 0xf5, 0x04, 0x63, 0xbc, 0xbc, 0xdf, 0x77, 0xb6, 0xb6, 0xc1, 0xaf, 0xda, 0xda, 0x75, 0x42, 0x21, 0x21, 0x63, 0x20, 0x10, 0x10, 0x30, 0xe5, 0xff, 0xff, 0x1a, 0xfd, 0xf3, 0xf3, 0x0e, 0xbf, 0xd2, 0xd2, 0x6d, 0x81, 0xcd, 0xcd, 0x4c, 0x18, 0x0c, 0x0c, 0x14, 0x26, 0x13, 0x13, 0x35, 0xc3, 0xec, 0xec, 0x2f, 0xbe, 0x5f, 0x5f, 0xe1, 0x35, 0x97, 0x97, 0xa2, 0x88, 0x44, 0x44, 0xcc, 0x2e, 0x17, 0x17, 0x39, 0x93, 0xc4, 0xc4, 0x57, 0x55, 0xa7, 0xa7, 0xf2, 0xfc, 0x7e, 0x7e, 0x82, 0x7a, 0x3d, 0x3d, 0x47, 0xc8, 0x64, 0x64, 0xac, 0xba, 0x5d, 0x5d, 0xe7, 0x32, 0x19, 0x19, 0x2b, 0xe6, 0x73, 0x73, 0x95, 0xc0, 0x60, 0x60, 0xa0, 0x19, 0x81, 0x81, 0x98, 0x9e, 0x4f, 0x4f, 0xd1, 0xa3, 0xdc, 0xdc, 0x7f, 0x44, 0x22, 0x22, 0x66, 0x54, 0x2a, 0x2a, 0x7e, 0x3b, 0x90, 0x90, 0xab, 0x0b, 0x88, 0x88, 0x83, 0x8c, 0x46, 0x46, 0xca, 0xc7, 0xee, 0xee, 0x29, 0x6b, 0xb8, 0xb8, 0xd3, 0x28, 0x14, 0x14, 0x3c, 0xa7, 0xde, 0xde, 0x79, 0xbc, 0x5e, 0x5e, 0xe2, 0x16, 0x0b, 0x0b, 0x1d, 0xad, 0xdb, 0xdb, 0x76, 0xdb, 0xe0, 0xe0, 0x3b, 0x64, 0x32, 0x32, 0x56, 0x74, 0x3a, 0x3a, 0x4e, 0x14, 0x0a, 0x0a, 0x1e, 0x92, 0x49, 0x49, 0xdb, 0x0c, 0x06, 0x06, 0x0a, 0x48, 0x24, 0x24, 0x6c, 0xb8, 0x5c, 0x5c, 0xe4, 0x9f, 0xc2, 0xc2, 0x5d, 0xbd, 0xd3, 0xd3, 0x6e, 0x43, 0xac, 0xac, 0xef, 0xc4, 0x62, 0x62, 0xa6, 0x39, 0x91, 0x91, 0xa8, 0x31, 0x95, 0x95, 0xa4, 0xd3, 0xe4, 0xe4, 0x37, 0xf2, 0x79, 0x79, 0x8b, 0xd5, 0xe7, 0xe7, 0x32, 0x8b, 0xc8, 0xc8, 0x43, 0x6e, 0x37, 0x37, 0x59, 0xda, 0x6d, 0x6d, 0xb7, 0x01, 0x8d, 0x8d, 0x8c, 0xb1, 0xd5, 0xd5, 0x64, 0x9c, 0x4e, 0x4e, 0xd2, 0x49, 0xa9, 0xa9, 0xe0, 0xd8, 0x6c, 0x6c, 0xb4, 0xac, 0x56, 0x56, 0xfa, 0xf3, 0xf4, 0xf4, 0x07, 0xcf, 0xea, 0xea, 0x25, 0xca, 0x65, 0x65, 0xaf, 0xf4, 0x7a, 0x7a, 0x8e, 0x47, 0xae, 0xae, 0xe9, 0x10, 0x08, 0x08, 0x18, 0x6f, 0xba, 0xba, 0xd5, 0xf0, 0x78, 0x78, 0x88, 0x4a, 0x25, 0x25, 0x6f, 0x5c, 0x2e, 0x2e, 0x72, 0x38, 0x1c, 0x1c, 0x24, 0x57, 0xa6, 0xa6, 0xf1, 0x73, 0xb4, 0xb4, 0xc7, 0x97, 0xc6, 0xc6, 0x51, 0xcb, 0xe8, 0xe8, 0x23, 0xa1, 0xdd, 0xdd, 0x7c, 0xe8, 0x74, 0x74, 0x9c, 0x3e, 0x1f, 0x1f, 0x21, 0x96, 0x4b, 0x4b, 0xdd, 0x61, 0xbd, 0xbd, 0xdc, 0x0d, 0x8b, 0x8b, 0x86, 0x0f, 0x8a, 0x8a, 0x85, 0xe0, 0x70, 0x70, 0x90, 0x7c, 0x3e, 0x3e, 0x42, 0x71, 0xb5, 0xb5, 0xc4, 0xcc, 0x66, 0x66, 0xaa, 0x90, 0x48, 0x48, 0xd8, 0x06, 0x03, 0x03, 0x05, 0xf7, 0xf6, 0xf6, 0x01, 0x1c, 0x0e, 0x0e, 0x12, 0xc2, 0x61, 0x61, 0xa3, 0x6a, 0x35, 0x35, 0x5f, 0xae, 0x57, 0x57, 0xf9, 0x69, 0xb9, 0xb9, 0xd0, 0x17, 0x86, 0x86, 0x91, 0x99, 0xc1, 0xc1, 0x58, 0x3a, 0x1d, 0x1d, 0x27, 0x27, 0x9e, 0x9e, 0xb9, 0xd9, 0xe1, 0xe1, 0x38, 0xeb, 0xf8, 0xf8, 0x13, 0x2b, 0x98, 0x98, 0xb3, 0x22, 0x11, 0x11, 0x33, 0xd2, 0x69, 0x69, 0xbb, 0xa9, 0xd9, 0xd9, 0x70, 0x07, 0x8e, 0x8e, 0x89, 0x33, 0x94, 0x94, 0xa7, 0x2d, 0x9b, 0x9b, 0xb6, 0x3c, 0x1e, 0x1e, 0x22, 0x15, 0x87, 0x87, 0x92, 0xc9, 0xe9, 0xe9, 0x20, 0x87, 0xce, 0xce, 0x49, 0xaa, 0x55, 0x55, 0xff, 0x50, 0x28, 0x28, 0x78, 0xa5, 0xdf, 0xdf, 0x7a, 0x03, 0x8c, 0x8c, 0x8f, 0x59, 0xa1, 0xa1, 0xf8, 0x09, 0x89, 0x89, 0x80, 0x1a, 0x0d, 0x0d, 0x17, 0x65, 0xbf, 0xbf, 0xda, 0xd7, 0xe6, 0xe6, 0x31, 0x84, 0x42, 0x42, 0xc6, 0xd0, 0x68, 0x68, 0xb8, 0x82, 0x41, 0x41, 0xc3, 0x29, 0x99, 0x99, 0xb0, 0x5a, 0x2d, 0x2d, 0x77, 0x1e, 0x0f, 0x0f, 0x11, 0x7b, 0xb0, 0xb0, 0xcb, 0xa8, 0x54, 0x54, 0xfc, 0x6d, 0xbb, 0xbb, 0xd6, 0x2c, 0x16, 0x16, 0x3a, -}; - -const u8 g_AES_1024_1_1_byte[1024] = { - 0xa5, 0xc6, 0x63, 0x63, 0x84, 0xf8, 0x7c, 0x7c, 0x99, 0xee, 0x77, 0x77, 0x8d, 0xf6, 0x7b, 0x7b, 0x0d, 0xff, 0xf2, 0xf2, 0xbd, 0xd6, 0x6b, 0x6b, 0xb1, 0xde, 0x6f, 0x6f, 0x54, 0x91, 0xc5, 0xc5, 0x50, 0x60, 0x30, 0x30, 0x03, 0x02, 0x01, 0x01, 0xa9, 0xce, 0x67, 0x67, 0x7d, 0x56, 0x2b, 0x2b, 0x19, 0xe7, 0xfe, 0xfe, 0x62, 0xb5, 0xd7, 0xd7, 0xe6, 0x4d, 0xab, 0xab, 0x9a, 0xec, 0x76, 0x76, 0x45, 0x8f, 0xca, 0xca, 0x9d, 0x1f, 0x82, 0x82, 0x40, 0x89, 0xc9, 0xc9, 0x87, 0xfa, 0x7d, 0x7d, 0x15, 0xef, 0xfa, 0xfa, 0xeb, 0xb2, 0x59, 0x59, 0xc9, 0x8e, 0x47, 0x47, 0x0b, 0xfb, 0xf0, 0xf0, 0xec, 0x41, 0xad, 0xad, 0x67, 0xb3, 0xd4, 0xd4, 0xfd, 0x5f, 0xa2, 0xa2, 0xea, 0x45, 0xaf, 0xaf, 0xbf, 0x23, 0x9c, 0x9c, 0xf7, 0x53, 0xa4, 0xa4, 0x96, 0xe4, 0x72, 0x72, 0x5b, 0x9b, 0xc0, 0xc0, 0xc2, 0x75, 0xb7, 0xb7, 0x1c, 0xe1, 0xfd, 0xfd, 0xae, 0x3d, 0x93, 0x93, 0x6a, 0x4c, 0x26, 0x26, 0x5a, 0x6c, 0x36, 0x36, 0x41, 0x7e, 0x3f, 0x3f, 0x02, 0xf5, 0xf7, 0xf7, 0x4f, 0x83, 0xcc, 0xcc, 0x5c, 0x68, 0x34, 0x34, 0xf4, 0x51, 0xa5, 0xa5, 0x34, 0xd1, 0xe5, 0xe5, 0x08, 0xf9, 0xf1, 0xf1, 0x93, 0xe2, 0x71, 0x71, 0x73, 0xab, 0xd8, 0xd8, 0x53, 0x62, 0x31, 0x31, 0x3f, 0x2a, 0x15, 0x15, 0x0c, 0x08, 0x04, 0x04, 0x52, 0x95, 0xc7, 0xc7, 0x65, 0x46, 0x23, 0x23, 0x5e, 0x9d, 0xc3, 0xc3, 0x28, 0x30, 0x18, 0x18, 0xa1, 0x37, 0x96, 0x96, 0x0f, 0x0a, 0x05, 0x05, 0xb5, 0x2f, 0x9a, 0x9a, 0x09, 0x0e, 0x07, 0x07, 0x36, 0x24, 0x12, 0x12, 0x9b, 0x1b, 0x80, 0x80, 0x3d, 0xdf, 0xe2, 0xe2, 0x26, 0xcd, 0xeb, 0xeb, 0x69, 0x4e, 0x27, 0x27, 0xcd, 0x7f, 0xb2, 0xb2, 0x9f, 0xea, 0x75, 0x75, 0x1b, 0x12, 0x09, 0x09, 0x9e, 0x1d, 0x83, 0x83, 0x74, 0x58, 0x2c, 0x2c, 0x2e, 0x34, 0x1a, 0x1a, 0x2d, 0x36, 0x1b, 0x1b, 0xb2, 0xdc, 0x6e, 0x6e, 0xee, 0xb4, 0x5a, 0x5a, 0xfb, 0x5b, 0xa0, 0xa0, 0xf6, 0xa4, 0x52, 0x52, 0x4d, 0x76, 0x3b, 0x3b, 0x61, 0xb7, 0xd6, 0xd6, 0xce, 0x7d, 0xb3, 0xb3, 0x7b, 0x52, 0x29, 0x29, 0x3e, 0xdd, 0xe3, 0xe3, 0x71, 0x5e, 0x2f, 0x2f, 0x97, 0x13, 0x84, 0x84, 0xf5, 0xa6, 0x53, 0x53, 0x68, 0xb9, 0xd1, 0xd1, 0x00, 0x00, 0x00, 0x00, 0x2c, 0xc1, 0xed, 0xed, 0x60, 0x40, 0x20, 0x20, 0x1f, 0xe3, 0xfc, 0xfc, 0xc8, 0x79, 0xb1, 0xb1, 0xed, 0xb6, 0x5b, 0x5b, 0xbe, 0xd4, 0x6a, 0x6a, 0x46, 0x8d, 0xcb, 0xcb, 0xd9, 0x67, 0xbe, 0xbe, 0x4b, 0x72, 0x39, 0x39, 0xde, 0x94, 0x4a, 0x4a, 0xd4, 0x98, 0x4c, 0x4c, 0xe8, 0xb0, 0x58, 0x58, 0x4a, 0x85, 0xcf, 0xcf, 0x6b, 0xbb, 0xd0, 0xd0, 0x2a, 0xc5, 0xef, 0xef, 0xe5, 0x4f, 0xaa, 0xaa, 0x16, 0xed, 0xfb, 0xfb, 0xc5, 0x86, 0x43, 0x43, 0xd7, 0x9a, 0x4d, 0x4d, 0x55, 0x66, 0x33, 0x33, 0x94, 0x11, 0x85, 0x85, 0xcf, 0x8a, 0x45, 0x45, 0x10, 0xe9, 0xf9, 0xf9, 0x06, 0x04, 0x02, 0x02, 0x81, 0xfe, 0x7f, 0x7f, 0xf0, 0xa0, 0x50, 0x50, 0x44, 0x78, 0x3c, 0x3c, 0xba, 0x25, 0x9f, 0x9f, 0xe3, 0x4b, 0xa8, 0xa8, 0xf3, 0xa2, 0x51, 0x51, 0xfe, 0x5d, 0xa3, 0xa3, 0xc0, 0x80, 0x40, 0x40, 0x8a, 0x05, 0x8f, 0x8f, 0xad, 0x3f, 0x92, 0x92, 0xbc, 0x21, 0x9d, 0x9d, 0x48, 0x70, 0x38, 0x38, 0x04, 0xf1, 0xf5, 0xf5, 0xdf, 0x63, 0xbc, 0xbc, 0xc1, 0x77, 0xb6, 0xb6, 0x75, 0xaf, 0xda, 0xda, 0x63, 0x42, 0x21, 0x21, 0x30, 0x20, 0x10, 0x10, 0x1a, 0xe5, 0xff, 0xff, 0x0e, 0xfd, 0xf3, 0xf3, 0x6d, 0xbf, 0xd2, 0xd2, 0x4c, 0x81, 0xcd, 0xcd, 0x14, 0x18, 0x0c, 0x0c, 0x35, 0x26, 0x13, 0x13, 0x2f, 0xc3, 0xec, 0xec, 0xe1, 0xbe, 0x5f, 0x5f, 0xa2, 0x35, 0x97, 0x97, 0xcc, 0x88, 0x44, 0x44, 0x39, 0x2e, 0x17, 0x17, 0x57, 0x93, 0xc4, 0xc4, 0xf2, 0x55, 0xa7, 0xa7, 0x82, 0xfc, 0x7e, 0x7e, 0x47, 0x7a, 0x3d, 0x3d, 0xac, 0xc8, 0x64, 0x64, 0xe7, 0xba, 0x5d, 0x5d, 0x2b, 0x32, 0x19, 0x19, 0x95, 0xe6, 0x73, 0x73, 0xa0, 0xc0, 0x60, 0x60, 0x98, 0x19, 0x81, 0x81, 0xd1, 0x9e, 0x4f, 0x4f, 0x7f, 0xa3, 0xdc, 0xdc, 0x66, 0x44, 0x22, 0x22, 0x7e, 0x54, 0x2a, 0x2a, 0xab, 0x3b, 0x90, 0x90, 0x83, 0x0b, 0x88, 0x88, 0xca, 0x8c, 0x46, 0x46, 0x29, 0xc7, 0xee, 0xee, 0xd3, 0x6b, 0xb8, 0xb8, 0x3c, 0x28, 0x14, 0x14, 0x79, 0xa7, 0xde, 0xde, 0xe2, 0xbc, 0x5e, 0x5e, 0x1d, 0x16, 0x0b, 0x0b, 0x76, 0xad, 0xdb, 0xdb, 0x3b, 0xdb, 0xe0, 0xe0, 0x56, 0x64, 0x32, 0x32, 0x4e, 0x74, 0x3a, 0x3a, 0x1e, 0x14, 0x0a, 0x0a, 0xdb, 0x92, 0x49, 0x49, 0x0a, 0x0c, 0x06, 0x06, 0x6c, 0x48, 0x24, 0x24, 0xe4, 0xb8, 0x5c, 0x5c, 0x5d, 0x9f, 0xc2, 0xc2, 0x6e, 0xbd, 0xd3, 0xd3, 0xef, 0x43, 0xac, 0xac, 0xa6, 0xc4, 0x62, 0x62, 0xa8, 0x39, 0x91, 0x91, 0xa4, 0x31, 0x95, 0x95, 0x37, 0xd3, 0xe4, 0xe4, 0x8b, 0xf2, 0x79, 0x79, 0x32, 0xd5, 0xe7, 0xe7, 0x43, 0x8b, 0xc8, 0xc8, 0x59, 0x6e, 0x37, 0x37, 0xb7, 0xda, 0x6d, 0x6d, 0x8c, 0x01, 0x8d, 0x8d, 0x64, 0xb1, 0xd5, 0xd5, 0xd2, 0x9c, 0x4e, 0x4e, 0xe0, 0x49, 0xa9, 0xa9, 0xb4, 0xd8, 0x6c, 0x6c, 0xfa, 0xac, 0x56, 0x56, 0x07, 0xf3, 0xf4, 0xf4, 0x25, 0xcf, 0xea, 0xea, 0xaf, 0xca, 0x65, 0x65, 0x8e, 0xf4, 0x7a, 0x7a, 0xe9, 0x47, 0xae, 0xae, 0x18, 0x10, 0x08, 0x08, 0xd5, 0x6f, 0xba, 0xba, 0x88, 0xf0, 0x78, 0x78, 0x6f, 0x4a, 0x25, 0x25, 0x72, 0x5c, 0x2e, 0x2e, 0x24, 0x38, 0x1c, 0x1c, 0xf1, 0x57, 0xa6, 0xa6, 0xc7, 0x73, 0xb4, 0xb4, 0x51, 0x97, 0xc6, 0xc6, 0x23, 0xcb, 0xe8, 0xe8, 0x7c, 0xa1, 0xdd, 0xdd, 0x9c, 0xe8, 0x74, 0x74, 0x21, 0x3e, 0x1f, 0x1f, 0xdd, 0x96, 0x4b, 0x4b, 0xdc, 0x61, 0xbd, 0xbd, 0x86, 0x0d, 0x8b, 0x8b, 0x85, 0x0f, 0x8a, 0x8a, 0x90, 0xe0, 0x70, 0x70, 0x42, 0x7c, 0x3e, 0x3e, 0xc4, 0x71, 0xb5, 0xb5, 0xaa, 0xcc, 0x66, 0x66, 0xd8, 0x90, 0x48, 0x48, 0x05, 0x06, 0x03, 0x03, 0x01, 0xf7, 0xf6, 0xf6, 0x12, 0x1c, 0x0e, 0x0e, 0xa3, 0xc2, 0x61, 0x61, 0x5f, 0x6a, 0x35, 0x35, 0xf9, 0xae, 0x57, 0x57, 0xd0, 0x69, 0xb9, 0xb9, 0x91, 0x17, 0x86, 0x86, 0x58, 0x99, 0xc1, 0xc1, 0x27, 0x3a, 0x1d, 0x1d, 0xb9, 0x27, 0x9e, 0x9e, 0x38, 0xd9, 0xe1, 0xe1, 0x13, 0xeb, 0xf8, 0xf8, 0xb3, 0x2b, 0x98, 0x98, 0x33, 0x22, 0x11, 0x11, 0xbb, 0xd2, 0x69, 0x69, 0x70, 0xa9, 0xd9, 0xd9, 0x89, 0x07, 0x8e, 0x8e, 0xa7, 0x33, 0x94, 0x94, 0xb6, 0x2d, 0x9b, 0x9b, 0x22, 0x3c, 0x1e, 0x1e, 0x92, 0x15, 0x87, 0x87, 0x20, 0xc9, 0xe9, 0xe9, 0x49, 0x87, 0xce, 0xce, 0xff, 0xaa, 0x55, 0x55, 0x78, 0x50, 0x28, 0x28, 0x7a, 0xa5, 0xdf, 0xdf, 0x8f, 0x03, 0x8c, 0x8c, 0xf8, 0x59, 0xa1, 0xa1, 0x80, 0x09, 0x89, 0x89, 0x17, 0x1a, 0x0d, 0x0d, 0xda, 0x65, 0xbf, 0xbf, 0x31, 0xd7, 0xe6, 0xe6, 0xc6, 0x84, 0x42, 0x42, 0xb8, 0xd0, 0x68, 0x68, 0xc3, 0x82, 0x41, 0x41, 0xb0, 0x29, 0x99, 0x99, 0x77, 0x5a, 0x2d, 0x2d, 0x11, 0x1e, 0x0f, 0x0f, 0xcb, 0x7b, 0xb0, 0xb0, 0xfc, 0xa8, 0x54, 0x54, 0xd6, 0x6d, 0xbb, 0xbb, 0x3a, 0x2c, 0x16, 0x16, -}; - -const u8 g_AES_1024_1_2_byte[1024] = { - 0x63, 0xa5, 0xc6, 0x63, 0x7c, 0x84, 0xf8, 0x7c, 0x77, 0x99, 0xee, 0x77, 0x7b, 0x8d, 0xf6, 0x7b, 0xf2, 0x0d, 0xff, 0xf2, 0x6b, 0xbd, 0xd6, 0x6b, 0x6f, 0xb1, 0xde, 0x6f, 0xc5, 0x54, 0x91, 0xc5, 0x30, 0x50, 0x60, 0x30, 0x01, 0x03, 0x02, 0x01, 0x67, 0xa9, 0xce, 0x67, 0x2b, 0x7d, 0x56, 0x2b, 0xfe, 0x19, 0xe7, 0xfe, 0xd7, 0x62, 0xb5, 0xd7, 0xab, 0xe6, 0x4d, 0xab, 0x76, 0x9a, 0xec, 0x76, 0xca, 0x45, 0x8f, 0xca, 0x82, 0x9d, 0x1f, 0x82, 0xc9, 0x40, 0x89, 0xc9, 0x7d, 0x87, 0xfa, 0x7d, 0xfa, 0x15, 0xef, 0xfa, 0x59, 0xeb, 0xb2, 0x59, 0x47, 0xc9, 0x8e, 0x47, 0xf0, 0x0b, 0xfb, 0xf0, 0xad, 0xec, 0x41, 0xad, 0xd4, 0x67, 0xb3, 0xd4, 0xa2, 0xfd, 0x5f, 0xa2, 0xaf, 0xea, 0x45, 0xaf, 0x9c, 0xbf, 0x23, 0x9c, 0xa4, 0xf7, 0x53, 0xa4, 0x72, 0x96, 0xe4, 0x72, 0xc0, 0x5b, 0x9b, 0xc0, 0xb7, 0xc2, 0x75, 0xb7, 0xfd, 0x1c, 0xe1, 0xfd, 0x93, 0xae, 0x3d, 0x93, 0x26, 0x6a, 0x4c, 0x26, 0x36, 0x5a, 0x6c, 0x36, 0x3f, 0x41, 0x7e, 0x3f, 0xf7, 0x02, 0xf5, 0xf7, 0xcc, 0x4f, 0x83, 0xcc, 0x34, 0x5c, 0x68, 0x34, 0xa5, 0xf4, 0x51, 0xa5, 0xe5, 0x34, 0xd1, 0xe5, 0xf1, 0x08, 0xf9, 0xf1, 0x71, 0x93, 0xe2, 0x71, 0xd8, 0x73, 0xab, 0xd8, 0x31, 0x53, 0x62, 0x31, 0x15, 0x3f, 0x2a, 0x15, 0x04, 0x0c, 0x08, 0x04, 0xc7, 0x52, 0x95, 0xc7, 0x23, 0x65, 0x46, 0x23, 0xc3, 0x5e, 0x9d, 0xc3, 0x18, 0x28, 0x30, 0x18, 0x96, 0xa1, 0x37, 0x96, 0x05, 0x0f, 0x0a, 0x05, 0x9a, 0xb5, 0x2f, 0x9a, 0x07, 0x09, 0x0e, 0x07, 0x12, 0x36, 0x24, 0x12, 0x80, 0x9b, 0x1b, 0x80, 0xe2, 0x3d, 0xdf, 0xe2, 0xeb, 0x26, 0xcd, 0xeb, 0x27, 0x69, 0x4e, 0x27, 0xb2, 0xcd, 0x7f, 0xb2, 0x75, 0x9f, 0xea, 0x75, 0x09, 0x1b, 0x12, 0x09, 0x83, 0x9e, 0x1d, 0x83, 0x2c, 0x74, 0x58, 0x2c, 0x1a, 0x2e, 0x34, 0x1a, 0x1b, 0x2d, 0x36, 0x1b, 0x6e, 0xb2, 0xdc, 0x6e, 0x5a, 0xee, 0xb4, 0x5a, 0xa0, 0xfb, 0x5b, 0xa0, 0x52, 0xf6, 0xa4, 0x52, 0x3b, 0x4d, 0x76, 0x3b, 0xd6, 0x61, 0xb7, 0xd6, 0xb3, 0xce, 0x7d, 0xb3, 0x29, 0x7b, 0x52, 0x29, 0xe3, 0x3e, 0xdd, 0xe3, 0x2f, 0x71, 0x5e, 0x2f, 0x84, 0x97, 0x13, 0x84, 0x53, 0xf5, 0xa6, 0x53, 0xd1, 0x68, 0xb9, 0xd1, 0x00, 0x00, 0x00, 0x00, 0xed, 0x2c, 0xc1, 0xed, 0x20, 0x60, 0x40, 0x20, 0xfc, 0x1f, 0xe3, 0xfc, 0xb1, 0xc8, 0x79, 0xb1, 0x5b, 0xed, 0xb6, 0x5b, 0x6a, 0xbe, 0xd4, 0x6a, 0xcb, 0x46, 0x8d, 0xcb, 0xbe, 0xd9, 0x67, 0xbe, 0x39, 0x4b, 0x72, 0x39, 0x4a, 0xde, 0x94, 0x4a, 0x4c, 0xd4, 0x98, 0x4c, 0x58, 0xe8, 0xb0, 0x58, 0xcf, 0x4a, 0x85, 0xcf, 0xd0, 0x6b, 0xbb, 0xd0, 0xef, 0x2a, 0xc5, 0xef, 0xaa, 0xe5, 0x4f, 0xaa, 0xfb, 0x16, 0xed, 0xfb, 0x43, 0xc5, 0x86, 0x43, 0x4d, 0xd7, 0x9a, 0x4d, 0x33, 0x55, 0x66, 0x33, 0x85, 0x94, 0x11, 0x85, 0x45, 0xcf, 0x8a, 0x45, 0xf9, 0x10, 0xe9, 0xf9, 0x02, 0x06, 0x04, 0x02, 0x7f, 0x81, 0xfe, 0x7f, 0x50, 0xf0, 0xa0, 0x50, 0x3c, 0x44, 0x78, 0x3c, 0x9f, 0xba, 0x25, 0x9f, 0xa8, 0xe3, 0x4b, 0xa8, 0x51, 0xf3, 0xa2, 0x51, 0xa3, 0xfe, 0x5d, 0xa3, 0x40, 0xc0, 0x80, 0x40, 0x8f, 0x8a, 0x05, 0x8f, 0x92, 0xad, 0x3f, 0x92, 0x9d, 0xbc, 0x21, 0x9d, 0x38, 0x48, 0x70, 0x38, 0xf5, 0x04, 0xf1, 0xf5, 0xbc, 0xdf, 0x63, 0xbc, 0xb6, 0xc1, 0x77, 0xb6, 0xda, 0x75, 0xaf, 0xda, 0x21, 0x63, 0x42, 0x21, 0x10, 0x30, 0x20, 0x10, 0xff, 0x1a, 0xe5, 0xff, 0xf3, 0x0e, 0xfd, 0xf3, 0xd2, 0x6d, 0xbf, 0xd2, 0xcd, 0x4c, 0x81, 0xcd, 0x0c, 0x14, 0x18, 0x0c, 0x13, 0x35, 0x26, 0x13, 0xec, 0x2f, 0xc3, 0xec, 0x5f, 0xe1, 0xbe, 0x5f, 0x97, 0xa2, 0x35, 0x97, 0x44, 0xcc, 0x88, 0x44, 0x17, 0x39, 0x2e, 0x17, 0xc4, 0x57, 0x93, 0xc4, 0xa7, 0xf2, 0x55, 0xa7, 0x7e, 0x82, 0xfc, 0x7e, 0x3d, 0x47, 0x7a, 0x3d, 0x64, 0xac, 0xc8, 0x64, 0x5d, 0xe7, 0xba, 0x5d, 0x19, 0x2b, 0x32, 0x19, 0x73, 0x95, 0xe6, 0x73, 0x60, 0xa0, 0xc0, 0x60, 0x81, 0x98, 0x19, 0x81, 0x4f, 0xd1, 0x9e, 0x4f, 0xdc, 0x7f, 0xa3, 0xdc, 0x22, 0x66, 0x44, 0x22, 0x2a, 0x7e, 0x54, 0x2a, 0x90, 0xab, 0x3b, 0x90, 0x88, 0x83, 0x0b, 0x88, 0x46, 0xca, 0x8c, 0x46, 0xee, 0x29, 0xc7, 0xee, 0xb8, 0xd3, 0x6b, 0xb8, 0x14, 0x3c, 0x28, 0x14, 0xde, 0x79, 0xa7, 0xde, 0x5e, 0xe2, 0xbc, 0x5e, 0x0b, 0x1d, 0x16, 0x0b, 0xdb, 0x76, 0xad, 0xdb, 0xe0, 0x3b, 0xdb, 0xe0, 0x32, 0x56, 0x64, 0x32, 0x3a, 0x4e, 0x74, 0x3a, 0x0a, 0x1e, 0x14, 0x0a, 0x49, 0xdb, 0x92, 0x49, 0x06, 0x0a, 0x0c, 0x06, 0x24, 0x6c, 0x48, 0x24, 0x5c, 0xe4, 0xb8, 0x5c, 0xc2, 0x5d, 0x9f, 0xc2, 0xd3, 0x6e, 0xbd, 0xd3, 0xac, 0xef, 0x43, 0xac, 0x62, 0xa6, 0xc4, 0x62, 0x91, 0xa8, 0x39, 0x91, 0x95, 0xa4, 0x31, 0x95, 0xe4, 0x37, 0xd3, 0xe4, 0x79, 0x8b, 0xf2, 0x79, 0xe7, 0x32, 0xd5, 0xe7, 0xc8, 0x43, 0x8b, 0xc8, 0x37, 0x59, 0x6e, 0x37, 0x6d, 0xb7, 0xda, 0x6d, 0x8d, 0x8c, 0x01, 0x8d, 0xd5, 0x64, 0xb1, 0xd5, 0x4e, 0xd2, 0x9c, 0x4e, 0xa9, 0xe0, 0x49, 0xa9, 0x6c, 0xb4, 0xd8, 0x6c, 0x56, 0xfa, 0xac, 0x56, 0xf4, 0x07, 0xf3, 0xf4, 0xea, 0x25, 0xcf, 0xea, 0x65, 0xaf, 0xca, 0x65, 0x7a, 0x8e, 0xf4, 0x7a, 0xae, 0xe9, 0x47, 0xae, 0x08, 0x18, 0x10, 0x08, 0xba, 0xd5, 0x6f, 0xba, 0x78, 0x88, 0xf0, 0x78, 0x25, 0x6f, 0x4a, 0x25, 0x2e, 0x72, 0x5c, 0x2e, 0x1c, 0x24, 0x38, 0x1c, 0xa6, 0xf1, 0x57, 0xa6, 0xb4, 0xc7, 0x73, 0xb4, 0xc6, 0x51, 0x97, 0xc6, 0xe8, 0x23, 0xcb, 0xe8, 0xdd, 0x7c, 0xa1, 0xdd, 0x74, 0x9c, 0xe8, 0x74, 0x1f, 0x21, 0x3e, 0x1f, 0x4b, 0xdd, 0x96, 0x4b, 0xbd, 0xdc, 0x61, 0xbd, 0x8b, 0x86, 0x0d, 0x8b, 0x8a, 0x85, 0x0f, 0x8a, 0x70, 0x90, 0xe0, 0x70, 0x3e, 0x42, 0x7c, 0x3e, 0xb5, 0xc4, 0x71, 0xb5, 0x66, 0xaa, 0xcc, 0x66, 0x48, 0xd8, 0x90, 0x48, 0x03, 0x05, 0x06, 0x03, 0xf6, 0x01, 0xf7, 0xf6, 0x0e, 0x12, 0x1c, 0x0e, 0x61, 0xa3, 0xc2, 0x61, 0x35, 0x5f, 0x6a, 0x35, 0x57, 0xf9, 0xae, 0x57, 0xb9, 0xd0, 0x69, 0xb9, 0x86, 0x91, 0x17, 0x86, 0xc1, 0x58, 0x99, 0xc1, 0x1d, 0x27, 0x3a, 0x1d, 0x9e, 0xb9, 0x27, 0x9e, 0xe1, 0x38, 0xd9, 0xe1, 0xf8, 0x13, 0xeb, 0xf8, 0x98, 0xb3, 0x2b, 0x98, 0x11, 0x33, 0x22, 0x11, 0x69, 0xbb, 0xd2, 0x69, 0xd9, 0x70, 0xa9, 0xd9, 0x8e, 0x89, 0x07, 0x8e, 0x94, 0xa7, 0x33, 0x94, 0x9b, 0xb6, 0x2d, 0x9b, 0x1e, 0x22, 0x3c, 0x1e, 0x87, 0x92, 0x15, 0x87, 0xe9, 0x20, 0xc9, 0xe9, 0xce, 0x49, 0x87, 0xce, 0x55, 0xff, 0xaa, 0x55, 0x28, 0x78, 0x50, 0x28, 0xdf, 0x7a, 0xa5, 0xdf, 0x8c, 0x8f, 0x03, 0x8c, 0xa1, 0xf8, 0x59, 0xa1, 0x89, 0x80, 0x09, 0x89, 0x0d, 0x17, 0x1a, 0x0d, 0xbf, 0xda, 0x65, 0xbf, 0xe6, 0x31, 0xd7, 0xe6, 0x42, 0xc6, 0x84, 0x42, 0x68, 0xb8, 0xd0, 0x68, 0x41, 0xc3, 0x82, 0x41, 0x99, 0xb0, 0x29, 0x99, 0x2d, 0x77, 0x5a, 0x2d, 0x0f, 0x11, 0x1e, 0x0f, 0xb0, 0xcb, 0x7b, 0xb0, 0x54, 0xfc, 0xa8, 0x54, 0xbb, 0xd6, 0x6d, 0xbb, 0x16, 0x3a, 0x2c, 0x16, -}; - -const u8 g_AES_1024_1_3_byte[1024] = { - 0x63, 0x63, 0xa5, 0xc6, 0x7c, 0x7c, 0x84, 0xf8, 0x77, 0x77, 0x99, 0xee, 0x7b, 0x7b, 0x8d, 0xf6, 0xf2, 0xf2, 0x0d, 0xff, 0x6b, 0x6b, 0xbd, 0xd6, 0x6f, 0x6f, 0xb1, 0xde, 0xc5, 0xc5, 0x54, 0x91, 0x30, 0x30, 0x50, 0x60, 0x01, 0x01, 0x03, 0x02, 0x67, 0x67, 0xa9, 0xce, 0x2b, 0x2b, 0x7d, 0x56, 0xfe, 0xfe, 0x19, 0xe7, 0xd7, 0xd7, 0x62, 0xb5, 0xab, 0xab, 0xe6, 0x4d, 0x76, 0x76, 0x9a, 0xec, 0xca, 0xca, 0x45, 0x8f, 0x82, 0x82, 0x9d, 0x1f, 0xc9, 0xc9, 0x40, 0x89, 0x7d, 0x7d, 0x87, 0xfa, 0xfa, 0xfa, 0x15, 0xef, 0x59, 0x59, 0xeb, 0xb2, 0x47, 0x47, 0xc9, 0x8e, 0xf0, 0xf0, 0x0b, 0xfb, 0xad, 0xad, 0xec, 0x41, 0xd4, 0xd4, 0x67, 0xb3, 0xa2, 0xa2, 0xfd, 0x5f, 0xaf, 0xaf, 0xea, 0x45, 0x9c, 0x9c, 0xbf, 0x23, 0xa4, 0xa4, 0xf7, 0x53, 0x72, 0x72, 0x96, 0xe4, 0xc0, 0xc0, 0x5b, 0x9b, 0xb7, 0xb7, 0xc2, 0x75, 0xfd, 0xfd, 0x1c, 0xe1, 0x93, 0x93, 0xae, 0x3d, 0x26, 0x26, 0x6a, 0x4c, 0x36, 0x36, 0x5a, 0x6c, 0x3f, 0x3f, 0x41, 0x7e, 0xf7, 0xf7, 0x02, 0xf5, 0xcc, 0xcc, 0x4f, 0x83, 0x34, 0x34, 0x5c, 0x68, 0xa5, 0xa5, 0xf4, 0x51, 0xe5, 0xe5, 0x34, 0xd1, 0xf1, 0xf1, 0x08, 0xf9, 0x71, 0x71, 0x93, 0xe2, 0xd8, 0xd8, 0x73, 0xab, 0x31, 0x31, 0x53, 0x62, 0x15, 0x15, 0x3f, 0x2a, 0x04, 0x04, 0x0c, 0x08, 0xc7, 0xc7, 0x52, 0x95, 0x23, 0x23, 0x65, 0x46, 0xc3, 0xc3, 0x5e, 0x9d, 0x18, 0x18, 0x28, 0x30, 0x96, 0x96, 0xa1, 0x37, 0x05, 0x05, 0x0f, 0x0a, 0x9a, 0x9a, 0xb5, 0x2f, 0x07, 0x07, 0x09, 0x0e, 0x12, 0x12, 0x36, 0x24, 0x80, 0x80, 0x9b, 0x1b, 0xe2, 0xe2, 0x3d, 0xdf, 0xeb, 0xeb, 0x26, 0xcd, 0x27, 0x27, 0x69, 0x4e, 0xb2, 0xb2, 0xcd, 0x7f, 0x75, 0x75, 0x9f, 0xea, 0x09, 0x09, 0x1b, 0x12, 0x83, 0x83, 0x9e, 0x1d, 0x2c, 0x2c, 0x74, 0x58, 0x1a, 0x1a, 0x2e, 0x34, 0x1b, 0x1b, 0x2d, 0x36, 0x6e, 0x6e, 0xb2, 0xdc, 0x5a, 0x5a, 0xee, 0xb4, 0xa0, 0xa0, 0xfb, 0x5b, 0x52, 0x52, 0xf6, 0xa4, 0x3b, 0x3b, 0x4d, 0x76, 0xd6, 0xd6, 0x61, 0xb7, 0xb3, 0xb3, 0xce, 0x7d, 0x29, 0x29, 0x7b, 0x52, 0xe3, 0xe3, 0x3e, 0xdd, 0x2f, 0x2f, 0x71, 0x5e, 0x84, 0x84, 0x97, 0x13, 0x53, 0x53, 0xf5, 0xa6, 0xd1, 0xd1, 0x68, 0xb9, 0x00, 0x00, 0x00, 0x00, 0xed, 0xed, 0x2c, 0xc1, 0x20, 0x20, 0x60, 0x40, 0xfc, 0xfc, 0x1f, 0xe3, 0xb1, 0xb1, 0xc8, 0x79, 0x5b, 0x5b, 0xed, 0xb6, 0x6a, 0x6a, 0xbe, 0xd4, 0xcb, 0xcb, 0x46, 0x8d, 0xbe, 0xbe, 0xd9, 0x67, 0x39, 0x39, 0x4b, 0x72, 0x4a, 0x4a, 0xde, 0x94, 0x4c, 0x4c, 0xd4, 0x98, 0x58, 0x58, 0xe8, 0xb0, 0xcf, 0xcf, 0x4a, 0x85, 0xd0, 0xd0, 0x6b, 0xbb, 0xef, 0xef, 0x2a, 0xc5, 0xaa, 0xaa, 0xe5, 0x4f, 0xfb, 0xfb, 0x16, 0xed, 0x43, 0x43, 0xc5, 0x86, 0x4d, 0x4d, 0xd7, 0x9a, 0x33, 0x33, 0x55, 0x66, 0x85, 0x85, 0x94, 0x11, 0x45, 0x45, 0xcf, 0x8a, 0xf9, 0xf9, 0x10, 0xe9, 0x02, 0x02, 0x06, 0x04, 0x7f, 0x7f, 0x81, 0xfe, 0x50, 0x50, 0xf0, 0xa0, 0x3c, 0x3c, 0x44, 0x78, 0x9f, 0x9f, 0xba, 0x25, 0xa8, 0xa8, 0xe3, 0x4b, 0x51, 0x51, 0xf3, 0xa2, 0xa3, 0xa3, 0xfe, 0x5d, 0x40, 0x40, 0xc0, 0x80, 0x8f, 0x8f, 0x8a, 0x05, 0x92, 0x92, 0xad, 0x3f, 0x9d, 0x9d, 0xbc, 0x21, 0x38, 0x38, 0x48, 0x70, 0xf5, 0xf5, 0x04, 0xf1, 0xbc, 0xbc, 0xdf, 0x63, 0xb6, 0xb6, 0xc1, 0x77, 0xda, 0xda, 0x75, 0xaf, 0x21, 0x21, 0x63, 0x42, 0x10, 0x10, 0x30, 0x20, 0xff, 0xff, 0x1a, 0xe5, 0xf3, 0xf3, 0x0e, 0xfd, 0xd2, 0xd2, 0x6d, 0xbf, 0xcd, 0xcd, 0x4c, 0x81, 0x0c, 0x0c, 0x14, 0x18, 0x13, 0x13, 0x35, 0x26, 0xec, 0xec, 0x2f, 0xc3, 0x5f, 0x5f, 0xe1, 0xbe, 0x97, 0x97, 0xa2, 0x35, 0x44, 0x44, 0xcc, 0x88, 0x17, 0x17, 0x39, 0x2e, 0xc4, 0xc4, 0x57, 0x93, 0xa7, 0xa7, 0xf2, 0x55, 0x7e, 0x7e, 0x82, 0xfc, 0x3d, 0x3d, 0x47, 0x7a, 0x64, 0x64, 0xac, 0xc8, 0x5d, 0x5d, 0xe7, 0xba, 0x19, 0x19, 0x2b, 0x32, 0x73, 0x73, 0x95, 0xe6, 0x60, 0x60, 0xa0, 0xc0, 0x81, 0x81, 0x98, 0x19, 0x4f, 0x4f, 0xd1, 0x9e, 0xdc, 0xdc, 0x7f, 0xa3, 0x22, 0x22, 0x66, 0x44, 0x2a, 0x2a, 0x7e, 0x54, 0x90, 0x90, 0xab, 0x3b, 0x88, 0x88, 0x83, 0x0b, 0x46, 0x46, 0xca, 0x8c, 0xee, 0xee, 0x29, 0xc7, 0xb8, 0xb8, 0xd3, 0x6b, 0x14, 0x14, 0x3c, 0x28, 0xde, 0xde, 0x79, 0xa7, 0x5e, 0x5e, 0xe2, 0xbc, 0x0b, 0x0b, 0x1d, 0x16, 0xdb, 0xdb, 0x76, 0xad, 0xe0, 0xe0, 0x3b, 0xdb, 0x32, 0x32, 0x56, 0x64, 0x3a, 0x3a, 0x4e, 0x74, 0x0a, 0x0a, 0x1e, 0x14, 0x49, 0x49, 0xdb, 0x92, 0x06, 0x06, 0x0a, 0x0c, 0x24, 0x24, 0x6c, 0x48, 0x5c, 0x5c, 0xe4, 0xb8, 0xc2, 0xc2, 0x5d, 0x9f, 0xd3, 0xd3, 0x6e, 0xbd, 0xac, 0xac, 0xef, 0x43, 0x62, 0x62, 0xa6, 0xc4, 0x91, 0x91, 0xa8, 0x39, 0x95, 0x95, 0xa4, 0x31, 0xe4, 0xe4, 0x37, 0xd3, 0x79, 0x79, 0x8b, 0xf2, 0xe7, 0xe7, 0x32, 0xd5, 0xc8, 0xc8, 0x43, 0x8b, 0x37, 0x37, 0x59, 0x6e, 0x6d, 0x6d, 0xb7, 0xda, 0x8d, 0x8d, 0x8c, 0x01, 0xd5, 0xd5, 0x64, 0xb1, 0x4e, 0x4e, 0xd2, 0x9c, 0xa9, 0xa9, 0xe0, 0x49, 0x6c, 0x6c, 0xb4, 0xd8, 0x56, 0x56, 0xfa, 0xac, 0xf4, 0xf4, 0x07, 0xf3, 0xea, 0xea, 0x25, 0xcf, 0x65, 0x65, 0xaf, 0xca, 0x7a, 0x7a, 0x8e, 0xf4, 0xae, 0xae, 0xe9, 0x47, 0x08, 0x08, 0x18, 0x10, 0xba, 0xba, 0xd5, 0x6f, 0x78, 0x78, 0x88, 0xf0, 0x25, 0x25, 0x6f, 0x4a, 0x2e, 0x2e, 0x72, 0x5c, 0x1c, 0x1c, 0x24, 0x38, 0xa6, 0xa6, 0xf1, 0x57, 0xb4, 0xb4, 0xc7, 0x73, 0xc6, 0xc6, 0x51, 0x97, 0xe8, 0xe8, 0x23, 0xcb, 0xdd, 0xdd, 0x7c, 0xa1, 0x74, 0x74, 0x9c, 0xe8, 0x1f, 0x1f, 0x21, 0x3e, 0x4b, 0x4b, 0xdd, 0x96, 0xbd, 0xbd, 0xdc, 0x61, 0x8b, 0x8b, 0x86, 0x0d, 0x8a, 0x8a, 0x85, 0x0f, 0x70, 0x70, 0x90, 0xe0, 0x3e, 0x3e, 0x42, 0x7c, 0xb5, 0xb5, 0xc4, 0x71, 0x66, 0x66, 0xaa, 0xcc, 0x48, 0x48, 0xd8, 0x90, 0x03, 0x03, 0x05, 0x06, 0xf6, 0xf6, 0x01, 0xf7, 0x0e, 0x0e, 0x12, 0x1c, 0x61, 0x61, 0xa3, 0xc2, 0x35, 0x35, 0x5f, 0x6a, 0x57, 0x57, 0xf9, 0xae, 0xb9, 0xb9, 0xd0, 0x69, 0x86, 0x86, 0x91, 0x17, 0xc1, 0xc1, 0x58, 0x99, 0x1d, 0x1d, 0x27, 0x3a, 0x9e, 0x9e, 0xb9, 0x27, 0xe1, 0xe1, 0x38, 0xd9, 0xf8, 0xf8, 0x13, 0xeb, 0x98, 0x98, 0xb3, 0x2b, 0x11, 0x11, 0x33, 0x22, 0x69, 0x69, 0xbb, 0xd2, 0xd9, 0xd9, 0x70, 0xa9, 0x8e, 0x8e, 0x89, 0x07, 0x94, 0x94, 0xa7, 0x33, 0x9b, 0x9b, 0xb6, 0x2d, 0x1e, 0x1e, 0x22, 0x3c, 0x87, 0x87, 0x92, 0x15, 0xe9, 0xe9, 0x20, 0xc9, 0xce, 0xce, 0x49, 0x87, 0x55, 0x55, 0xff, 0xaa, 0x28, 0x28, 0x78, 0x50, 0xdf, 0xdf, 0x7a, 0xa5, 0x8c, 0x8c, 0x8f, 0x03, 0xa1, 0xa1, 0xf8, 0x59, 0x89, 0x89, 0x80, 0x09, 0x0d, 0x0d, 0x17, 0x1a, 0xbf, 0xbf, 0xda, 0x65, 0xe6, 0xe6, 0x31, 0xd7, 0x42, 0x42, 0xc6, 0x84, 0x68, 0x68, 0xb8, 0xd0, 0x41, 0x41, 0xc3, 0x82, 0x99, 0x99, 0xb0, 0x29, 0x2d, 0x2d, 0x77, 0x5a, 0x0f, 0x0f, 0x11, 0x1e, 0xb0, 0xb0, 0xcb, 0x7b, 0x54, 0x54, 0xfc, 0xa8, 0xbb, 0xbb, 0xd6, 0x6d, 0x16, 0x16, 0x3a, 0x2c, -}; - -struct CryptCtx -{ - u8 key1[16]; - u8 key2[16]; - u32 key1Expansion1[44] = {0}; - u32 key1Expansion2[44] = {0}; - - void Init(const u8* key1_, const u8* key2_) - { - memmove(key1, key1_, 16); - memmove(key2, key2_, 16); - - // key expansion - const int rounds = 10; - - memmove(key1Expansion1, key1_, 16); - - const u32 roundTable[10] = { - 0x1, 0x2, 0x4, 0x8, 0x10, 0x20, 0x40, 0x80, 0x1b, 0x36 - }; - - u32* buff1_4 = key1Expansion1; - for(int i = 0; i < rounds; i++) { - const u32 swapID = buff1_4[3]; - u32 xor1; - u8* xor1_4 = (u8*)&xor1; - xor1_4[0] = g_AES_256_0[swapID >> 8 & 0xff]; - xor1_4[1] = g_AES_256_0[swapID >> 16 & 0xff]; - xor1_4[2] = g_AES_256_0[swapID >> 24]; - xor1_4[3] = g_AES_256_0[swapID & 0xff]; - - buff1_4[4] = roundTable[i] ^ buff1_4[0] ^ xor1; - - u32* p = buff1_4; - for(int j = 0; j < 3; j++) { - p[5] = p[4] ^ p[1]; - p++; - } - - buff1_4 += 4; - } - - buff1_4 = key1Expansion1 + rounds * 4 + 1; // end - u32* buff2_4 = key1Expansion2; - for(int i = 0; i < rounds+1; i++) { - buff2_4[0] = buff1_4[-1]; - buff2_4[1] = buff1_4[0]; - buff2_4[2] = buff1_4[1]; - buff2_4[3] = buff1_4[2]; - buff2_4 += 4; - buff1_4 -= 4; - } - - u8* buff2_1 = (u8*)key1Expansion2 + 17; - for(int i = 0; i < 40; i++) { - buff2_4 = (u32*)(buff2_1 - 1); - buff2_4[0] = - *(u32*)(g_AES_1024_2 + (u32)g_AES_256_0[buff2_1[1]] * 4) ^ - *(u32*)(g_AES_1024_3 + (u32)g_AES_256_0[buff2_1[2]] * 4) ^ - *(u32*)(g_AES_1024_1 + (u32)g_AES_256_0[buff2_1[0]] * 4) ^ - *(u32*)(g_AES_1024_0 + (u32)g_AES_256_0[buff2_1[-1]] * 4); - buff2_1 += 4; - } - } - - void Key2AddOffset(u8* out, i32 offset) - { - memmove(out, key2, sizeof(key2)); - - u64 add = 0; - u8* add1 = (u8*)&add; - add1[0] = out[15]; - add1[1] = out[14]; - add1[2] = out[13]; - add1[3] = out[12]; - add1[4] = out[11]; - add1[5] = out[10]; - add1[6] = out[9]; - add1[7] = out[8]; - - add += offset; - - out[8] = add1[7]; - out[9] = add1[6]; - out[10] = add1[5]; - out[11] = add1[4]; - out[12] = add1[3]; - out[13] = add1[2]; - out[14] = add1[1]; - out[15] = add1[0]; - } - - void ComputeXorBlock(u32* key) - { - const u32* g_AES_1024_1_0 = (u32*)g_AES_1024_1_0_byte; - const u32* g_AES_1024_1_1 = (u32*)g_AES_1024_1_1_byte; - const u32* g_AES_1024_1_2 = (u32*)g_AES_1024_1_2_byte; - const u32* g_AES_1024_1_3 = (u32*)g_AES_1024_1_3_byte; - - const u32* exp1 = key1Expansion1; - - u32 xor0 = *exp1 ^ *key; - u32 xor1 = exp1[1] ^ key[1]; - u32 xor3 = exp1[3] ^ key[3]; - u32 xor2 = exp1[2] ^ key[2]; - - u32 step1_0 = g_AES_1024_1_2[xor2 >> 0x10 & 0xff] ^ g_AES_1024_1_1[xor1 >> 8 & 0xff] ^ - g_AES_1024_1_3[xor3 >> 0x18] ^ g_AES_1024_1_0[xor0 & 0xff] ^ exp1[4]; - u32 step1_1 = g_AES_1024_1_2[xor3 >> 0x10 & 0xff] ^ g_AES_1024_1_1[xor2 >> 8 & 0xff] ^ - g_AES_1024_1_3[xor0 >> 0x18] ^ g_AES_1024_1_0[xor1 & 0xff] ^ exp1[5]; - u32 step1_2 = g_AES_1024_1_1[xor3 >> 8 & 0xff] ^ g_AES_1024_1_2[xor0 >> 0x10 & 0xff] ^ - g_AES_1024_1_3[xor1 >> 0x18] ^ g_AES_1024_1_0[xor2 & 0xff] ^ exp1[6]; - u32 step1_3 = g_AES_1024_1_2[xor1 >> 0x10 & 0xff] ^ g_AES_1024_1_1[xor0 >> 8 & 0xff] ^ - g_AES_1024_1_3[xor2 >> 0x18] ^ g_AES_1024_1_0[xor3 & 0xff] ^ exp1[7]; - - const u32 rounds = 10; - u32 roundIt = 2; - if(rounds != 2) { - const u32* exp1_p10 = exp1 + 10; - do { - xor0 = g_AES_1024_1_2[step1_2 >> 0x10 & 0xff] ^ g_AES_1024_1_1[step1_1 >> 8 & 0xff] ^ - g_AES_1024_1_3[step1_3 >> 0x18] ^ g_AES_1024_1_0[step1_0 & 0xff] ^ exp1_p10[-2]; - xor2 = g_AES_1024_1_2[step1_3 >> 0x10 & 0xff] ^ g_AES_1024_1_1[step1_2 >> 8 & 0xff] ^ - g_AES_1024_1_3[step1_0 >> 0x18] ^ g_AES_1024_1_0[step1_1 & 0xff] ^ exp1_p10[-1]; - xor1 = g_AES_1024_1_1[step1_3 >> 8 & 0xff] ^ g_AES_1024_1_2[step1_0 >> 0x10 & 0xff] ^ - g_AES_1024_1_3[step1_1 >> 0x18] ^ g_AES_1024_1_0[step1_2 & 0xff] ^ *exp1_p10; - xor3 = g_AES_1024_1_2[step1_1 >> 0x10 & 0xff] ^ g_AES_1024_1_1[step1_0 >> 8 & 0xff] ^ - g_AES_1024_1_3[step1_2 >> 0x18] ^ g_AES_1024_1_0[step1_3 & 0xff] ^ exp1_p10[1]; - step1_0 = g_AES_1024_1_2[xor1 >> 0x10 & 0xff] ^ g_AES_1024_1_1[xor2 >> 8 & 0xff] ^ - g_AES_1024_1_3[xor3 >> 0x18] ^ g_AES_1024_1_0[xor0 & 0xff] ^ exp1_p10[2]; - step1_1 = g_AES_1024_1_2[xor3 >> 0x10 & 0xff] ^ g_AES_1024_1_1[xor1 >> 8 & 0xff] ^ - g_AES_1024_1_3[xor0 >> 0x18] ^ g_AES_1024_1_0[xor2 & 0xff] ^ exp1_p10[3]; - step1_2 = g_AES_1024_1_1[xor3 >> 8 & 0xff] ^ g_AES_1024_1_2[xor0 >> 0x10 & 0xff] ^ - g_AES_1024_1_3[xor2 >> 0x18] ^ g_AES_1024_1_0[xor1 & 0xff] ^ exp1_p10[4]; - step1_3 = g_AES_1024_1_2[xor2 >> 0x10 & 0xff] ^ g_AES_1024_1_1[xor0 >> 8 & 0xff] ^ - g_AES_1024_1_3[xor1 >> 0x18] ^ g_AES_1024_1_0[xor3 & 0xff] ^ exp1_p10[5]; - - exp1_p10 = exp1_p10 + 8; - roundIt = roundIt + 2; - } while (roundIt != rounds); - } - - *key = g_AES_1024_1_0[step1_2 >> 0x10 & 0xff] & 0xff0000 ^ - g_AES_1024_1_3[step1_1 >> 8 & 0xff] & 0xff00 ^ - g_AES_1024_1_1[step1_3 >> 0x18] & 0xff000000 ^ - (u32)*(u8 *)(g_AES_1024_1_2 + (step1_0 & 0xff)) ^ exp1[rounds * 4]; - key[1] = g_AES_1024_1_0[step1_3 >> 0x10 & 0xff] & 0xff0000 ^ - g_AES_1024_1_3[step1_2 >> 8 & 0xff] & 0xff00 ^ - g_AES_1024_1_1[step1_0 >> 0x18] & 0xff000000 ^ - (u32)*(u8 *)(g_AES_1024_1_2 + (step1_1 & 0xff)) ^ exp1[rounds * 4 + 1]; - key[2] = g_AES_1024_1_0[step1_0 >> 0x10 & 0xff] & 0xff0000 ^ - g_AES_1024_1_3[step1_3 >> 8 & 0xff] & 0xff00 ^ - g_AES_1024_1_1[step1_1 >> 0x18] & 0xff000000 ^ - (u32)*(u8 *)(g_AES_1024_1_2 + (step1_2 & 0xff)) ^ exp1[rounds * 4 + 2]; - key[3] = g_AES_1024_1_0[step1_1 >> 0x10 & 0xff] & 0xff0000 ^ - g_AES_1024_1_3[step1_0 >> 8 & 0xff] & 0xff00 ^ - g_AES_1024_1_1[step1_2 >> 0x18] & 0xff000000 ^ - (u32)*(u8 *)(g_AES_1024_1_2 + (step1_3 & 0xff)) ^ exp1[rounds * 4 + 3]; - } - - void KeyAlteration(u8* key) - { - u8* p = key + 0xf; - *p += 1; - i32 i = 0; - if(*p == 0) { - while(true) { - i = i + 1; - p = p + -1; - if(i == 8) break; - *p = *p + 1; - if(*p != 0) { - return; - } - } - - *(u32 *)(key + 8) = 0; - *(u32 *)(key + 0xc) = 0; - } - } - - void Decrypt(void* data, const int dataSize, const int dataOffsetFromStart) - { - decltype(key2) key2PlusOffset; - Key2AddOffset(key2PlusOffset, dataOffsetFromStart >> 4); - - u32* data4 = (u32*)data; - i32 processedSize = dataSize; - - if(dataOffsetFromStart > 0) { - u32 offsetAndF = dataOffsetFromStart & 0xf; - i32 sizePlusOffsetAndF = (offsetAndF - 1) + processedSize; - if(sizePlusOffsetAndF > 0xf) { - sizePlusOffsetAndF = 0xf; - } - - u32 block[4]; - memmove(block, key2PlusOffset, sizeof(block)); - STATIC_ASSERT(sizeof(block) == sizeof(key2PlusOffset)); - ComputeXorBlock(block); - - i32 var1 = (sizePlusOffsetAndF - offsetAndF) + 1; - if(offsetAndF != 0 && offsetAndF <= sizePlusOffsetAndF) { - i32 it = offsetAndF; - - if(var1 > 0x1f) { - u8* pCur = (u8*)data; - ASSERT_MSG(0, "implement me"); - } - if(it <= sizePlusOffsetAndF) { - u8* pCur = (u8*)data + (it - offsetAndF); - do { - *pCur ^= *(((u8*)block) + it); - it++; - pCur++; - } while (it <= sizePlusOffsetAndF); - } - - processedSize -= var1; - data4 = (u32*)((u8*)data + var1); - } - - if(offsetAndF != 0) { - KeyAlteration(key2PlusOffset); - } - } - - if(dataSize >= 16) { - const int count16 = dataSize/16; - - for(int i = 0; i < count16; i++) { - u32 block[4]; - memmove(block, key2PlusOffset, sizeof(block)); - STATIC_ASSERT(sizeof(block) == sizeof(key2PlusOffset)); - ComputeXorBlock(block); - - data4[0] ^= block[0]; - data4[1] ^= block[1]; - data4[2] ^= block[2]; - data4[3] ^= block[3]; - data4 += 4; - - KeyAlteration(key2PlusOffset); - } - - processedSize -= count16 * 16; - } - - if(processedSize > 0) { - u32 block[4]; - memmove(block, key2PlusOffset, sizeof(block)); - STATIC_ASSERT(sizeof(block) == sizeof(key2PlusOffset)); - ComputeXorBlock(block); - - u32* pBlock = block; - if(processedSize >= 4) { - const int count4 = processedSize/4; - - for(int i = 0; i < count4; i++) { - data4[0] ^= pBlock[0]; - data4++; - pBlock++; - } - - processedSize -= count4 * 4; - } - if(processedSize > 0) { - u32 hold = 0; - memmove(&hold, data4, processedSize); - hold ^= pBlock[0]; - memmove(data4, &hold, processedSize); - } - } - } -}; +#include "crypto_aes.h" +#include "crypto_xor.h" +#include "keys.h" struct PakHeader { @@ -403,6 +80,125 @@ bool FileSaveBuff(const wchar_t* path, const void* data, const i32 dataSize) return true; } +bool UnpakSpecial_FileListXml(const char* outputDir, u8* fileData, i32 fileSize) +{ + LOG("Unpaking FileList.xml..."); + + ConstBuffer fileBuff(fileData, fileSize); + PakHeader& header = fileBuff.Read(); + + LOG("magic='%.4s' version=%d.%d", (char*)&header.magic, header.majorVersion, header.minorVersion); + + // decrypt + CryptoAES ctx; + + const u8 key1[16] = { + 0xa0, 0x1d, 0x3d, 0x99, + 0x3b, 0x82, 0x0f, 0x1e, + 0x13, 0x0a, 0x89, 0x55, + 0x8d, 0xc0, 0xde, 0x22 + }; + + const u8 key2[16] = { + 0x49, 0x59, 0x63, 0x55, + 0xfd, 0x61, 0x71, 0x01, + 0x00, 0xf3, 0xb9, 0xde, + 0xb6, 0x6f, 0xb2, 0xa5, + }; + + ctx.Init(key1, key2); + ctx.Decrypt(&header._unk1, 28, 0); + + LOG("header = {"); + LOG(" subHeaderSize=%d", header.subHeaderSize); + LOG(" destSizeRelated1=%d", header.destSizeRelated1); + LOG(" destSizeRelated2=%d", header.destSizeRelated2); + LOG(" encryptionRelated1=%d", header.encryptionRelated1); + LOG(" encryptionRelated2=%d", header.encryptionRelated2); + LOG("}"); + + u8* subHeaderData = fileBuff.ReadRaw(header.subHeaderSize); + ctx.Decrypt(subHeaderData, header.subHeaderSize, 28); + + const SubHeader& subHeader = *(SubHeader*)subHeaderData; + LOG("subHeader = {"); + LOG(" i1=%#x", subHeader.i1); + LOG(" dataOffset=%d", subHeader.dataOffset); + LOG(" extractedSize=%d", subHeader.extractedSize); + LOG_NNL(" unk=[ "); + for(int i = 0; i < ARRAY_COUNT(subHeader.unk); i++) { + LOG_NNL("%x,", subHeader.unk[i]); + } + LOG("]"); + LOG(" compressedSize=%d", subHeader.compressedSize); + LOG(" u1=%d", subHeader.u1); + LOG(" u2=%d", subHeader.u2); + LOG(" name=%ws", subHeader.name); + LOG("}"); + + // reset file pointer + fileBuff = ConstBuffer(fileData, fileSize); + fileBuff.ReadRaw(subHeader.dataOffset); // skip offset + + u8* src = fileBuff.ReadRaw(subHeader.compressedSize); // read crypted data + ctx.Decrypt(src, subHeader.compressedSize, 0); + + ASSERT(subHeader.extractedSize < ((u32)2 * (1024*1024*1024))); // < 2GB + u8* dest = (u8*)malloc(subHeader.extractedSize); + + BrotliDecoderState* dec = BrotliDecoderCreateInstance(0, 0, 0); + + size_t decodedSize = subHeader.extractedSize; + BrotliDecoderResult bdr = BrotliDecoderDecompress(subHeader.compressedSize, src, &decodedSize, dest); + + if(bdr == BrotliDecoderResult::BROTLI_DECODER_RESULT_SUCCESS) { + wchar_t path[256] = {0}; + mbstowcs(path, outputDir, ARRAY_COUNT(path)); + + _mkdir(outputDir); + PathAppendW(path, subHeader.name); + + LOG("Writing '%ls'", path); + bool r = FileSaveBuff(path, dest, decodedSize); + if(!r) { + LOG("ERROR(FileSaveBuff): failed to save file '%ls'", path); + return false; + } + } + else { + LOG("ERROR(BrotliDecoderDecompress): could not decode input"); + return false; + } + + BrotliDecoderDestroyInstance(dec); + return true; +} + +bool UnpakFile(const char* outputDir, u8* fileData, i32 fileSize) +{ + LOG("Unpaking..."); + + CryptoXOR ctx; + ctx.Init(g_XorKey, sizeof(g_XorKey)); + + ConstBuffer fileBuff(fileData, fileSize); + PakHeader& header = fileBuff.Read(); + + LOG("magic='%.4s' version=%d.%d", (char*)&header.magic, header.majorVersion, header.minorVersion); + + ctx.Decrypt(&header._unk1, 28, 0); + + LOG("header = {"); + LOG(" subHeaderSize=%d", header.subHeaderSize); + LOG(" destSizeRelated1=%d", header.destSizeRelated1); + LOG(" destSizeRelated2=%d", header.destSizeRelated2); + LOG(" encryptionRelated1=%d", header.encryptionRelated1); + LOG(" encryptionRelated2=%d", header.encryptionRelated2); + LOG("}"); + + return true; +} + int main(int argc, char** argv) { LogInit("pak.log"); @@ -420,92 +216,15 @@ int main(int argc, char** argv) return 1; } - ConstBuffer fileBuff(fileData, fileSize); - PakHeader& header = fileBuff.Read(); - - LOG("magic='%.4s' version=%d.%d", (char*)&header.magic, header.majorVersion, header.minorVersion); - - // decrypt - CryptCtx ctx; - - const u8 key1[16] = { - 0xa0, 0x1d, 0x3d, 0x99, - 0x3b, 0x82, 0x0f, 0x1e, - 0x13, 0x0a, 0x89, 0x55, - 0x8d, 0xc0, 0xde, 0x22 - }; - - const u8 key2[16] = { - 0x49, 0x59, 0x63, 0x55, - 0xfd, 0x61, 0x71, 0x01, - 0x00, 0xf3, 0xb9, 0xde, - 0xb6, 0x6f, 0xb2, 0xa5, - }; - - ctx.Init(key1, key2); - ctx.Decrypt(&header._unk1, 28, 0); - - LOG("header = {"); - LOG(" subHeaderSize=%d", header.subHeaderSize); - LOG(" destSizeRelated1=%d", header.destSizeRelated1); - LOG(" destSizeRelated2=%d", header.destSizeRelated2); - LOG(" encryptionRelated1=%d", header.encryptionRelated1); - LOG(" encryptionRelated2=%d", header.encryptionRelated2); - LOG("}"); - - u8* subHeaderData = fileBuff.ReadRaw(header.subHeaderSize); - ctx.Decrypt(subHeaderData, header.subHeaderSize, 28); - - const SubHeader& subHeader = *(SubHeader*)subHeaderData; - LOG("subHeader = {"); - LOG(" i1=%#x", subHeader.i1); - LOG(" dataOffset=%d", subHeader.dataOffset); - LOG(" extractedSize=%d", subHeader.extractedSize); - LOG_NNL(" unk=[ "); - for(int i = 0; i < ARRAY_COUNT(subHeader.unk); i++) { - LOG_NNL("%x,", subHeader.unk[i]); - } - LOG("]"); - LOG(" compressedSize=%d", subHeader.compressedSize); - LOG(" u1=%d", subHeader.u1); - LOG(" u2=%d", subHeader.u2); - LOG(" name=%ws", subHeader.name); - LOG("}"); - - // reset file pointer - fileBuff = ConstBuffer(fileData, fileSize); - fileBuff.ReadRaw(subHeader.dataOffset); // skip offset - - u8* src = fileBuff.ReadRaw(subHeader.compressedSize); // read crypted data - ctx.Decrypt(src, subHeader.compressedSize, 0); - - ASSERT(subHeader.extractedSize < ((u32)2 * (1024*1024*1024))); // < 2GB - u8* dest = (u8*)malloc(subHeader.extractedSize); - - BrotliDecoderState* dec = BrotliDecoderCreateInstance(0, 0, 0); - - size_t decodedSize = subHeader.extractedSize; - BrotliDecoderResult bdr = BrotliDecoderDecompress(subHeader.compressedSize, src, &decodedSize, dest); - - if(bdr == BrotliDecoderResult::BROTLI_DECODER_RESULT_SUCCESS) { - wchar_t path[256] = {0}; - mbstowcs(path, outputDir, ARRAY_COUNT(path)); - - _mkdir(outputDir); - PathAppendW(path, subHeader.name); - - LOG("Writing '%ls'", path); - bool r = FileSaveBuff(path, dest, decodedSize); - if(!r) { - LOG("ERROR(FileSaveBuff): failed to save file '%ls'", path); - } + char filename[256]; + PathGetFilename(inputPath, filename); + if(strcmp(filename, "FileList.xml.pak") == 0) { + UnpakSpecial_FileListXml(outputDir, fileData, fileSize); } else { - LOG("ERROR(BrotliDecoderDecompress): could not decode input"); + UnpakFile(outputDir, fileData, fileSize); } - BrotliDecoderDestroyInstance(dec); - LOG("Done."); return 0; } From 0ee2f5584c8f04a5d8de8efbae4ac82645ee4379 Mon Sep 17 00:00:00 2001 From: LordSk Date: Sat, 25 Jul 2020 18:01:31 +0200 Subject: [PATCH 08/14] Read file tree --- Pak/src/pak_main.cpp | 107 ++++++++++++++++++++++++++++++++++++++----- 1 file changed, 95 insertions(+), 12 deletions(-) diff --git a/Pak/src/pak_main.cpp b/Pak/src/pak_main.cpp index f7b874a..29f96e9 100644 --- a/Pak/src/pak_main.cpp +++ b/Pak/src/pak_main.cpp @@ -17,10 +17,10 @@ struct PakHeader i32 _unk2; i32 subHeaderSize; - i32 destSizeRelated1; - i32 destSizeRelated2; - u16 encryptionRelated1; - u16 encryptionRelated2; + i32 totalDirectoryCount; + i32 totalFileCount; + u16 rootDirectoryCount; + u16 rootFileCount; i32 _unk3; }; @@ -43,6 +43,80 @@ POP_PACKED STATIC_ASSERT(sizeof(SubHeader)-2 == 28); +struct PakFile +{ + const PakHeader header; + + struct Directory + { + i32 ID; + u16 dirCount; + u16 fileCount; + wchar_t* name; + }; + + Array dirs; + + explicit PakFile(const PakHeader& header_) + :header(header_) + { + dirs.Reserve(header.totalDirectoryCount); + } + + void ReadDirectory(ConstBuffer& buff, const i32 dirCount, const i32 fileCount, const wchar_t* dirName) + { + LOG("%ls {", dirName); + + buff.Read(); + + // root directory entries + for(int i = 0; i < dirCount; i++) { + u16 entrySize = buff.Read(); + void* entryData = buff.ReadRaw(entrySize - 2); + ConstBuffer entry(entryData, entrySize); + + u16 ID = entry.Read(); + u16 dirCount = entry.Read(); + u16 fileCount = entry.Read(); + wchar_t* name = (wchar_t*)entry.ReadRaw(entrySize - 8); + + LOG("[DIR] ID=%d dirCount=%d fileCount=%d name='%ls'", ID, dirCount, fileCount, name); + + PakFile::Directory dir; + dir.ID = ID; + dir.dirCount = dirCount; + dir.fileCount = fileCount; + dir.name = name; + dirs.Push(dir); + } + + // root file entries + for(int i = 0; i < fileCount; i++) { + u16 entrySize = buff.Read(); + void* entryData = buff.ReadRaw(entrySize - 2); + ConstBuffer entry(entryData, entrySize); + + i32 offset = entry.Read(); + i32 decompressedSize = entry.Read(); + u8* unk = entry.Read(); + i32 compressedSize = entry.Read(); + u16 i1 = entry.Read(); + u16 i2 = entry.Read(); + wchar_t* name = (wchar_t*)entry.ReadRaw(entrySize - 26); + + LOG("[FILE] offset=%d size(%d > %d) name='%ls'", offset, compressedSize, decompressedSize, name); + } + + // directories content + for(int di = 0; di < dirCount; di++) { + const PakFile::Directory& dir = dirs[di]; + ReadDirectory(buff, dir.dirCount, dir.fileCount, dir.name); + } + + LOG("}"); + } +}; + void PrintUsage() { LOG("Usage: pak \"inputfile\" \"outputDir\""); @@ -111,10 +185,10 @@ bool UnpakSpecial_FileListXml(const char* outputDir, u8* fileData, i32 fileSize) LOG("header = {"); LOG(" subHeaderSize=%d", header.subHeaderSize); - LOG(" destSizeRelated1=%d", header.destSizeRelated1); - LOG(" destSizeRelated2=%d", header.destSizeRelated2); - LOG(" encryptionRelated1=%d", header.encryptionRelated1); - LOG(" encryptionRelated2=%d", header.encryptionRelated2); + LOG(" destSizeRelated1=%d", header.totalDirectoryCount); + LOG(" destSizeRelated2=%d", header.totalFileCount); + LOG(" encryptionRelated1=%d", header.rootDirectoryCount); + LOG(" encryptionRelated2=%d", header.rootFileCount); LOG("}"); u8* subHeaderData = fileBuff.ReadRaw(header.subHeaderSize); @@ -190,12 +264,21 @@ bool UnpakFile(const char* outputDir, u8* fileData, i32 fileSize) LOG("header = {"); LOG(" subHeaderSize=%d", header.subHeaderSize); - LOG(" destSizeRelated1=%d", header.destSizeRelated1); - LOG(" destSizeRelated2=%d", header.destSizeRelated2); - LOG(" encryptionRelated1=%d", header.encryptionRelated1); - LOG(" encryptionRelated2=%d", header.encryptionRelated2); + LOG(" totalDirectoryCount=%d", header.totalDirectoryCount); + LOG(" totalFileCount=%d", header.totalFileCount); + LOG(" rootDirectoryCount=%d", header.rootDirectoryCount); + LOG(" rootFileCount=%d", header.rootFileCount); LOG("}"); + u8* subHeaderData = fileBuff.ReadRaw(header.subHeaderSize); + ctx.Decrypt(subHeaderData, header.subHeaderSize, 28); + + fileSaveBuff("header.raw", subHeaderData, header.subHeaderSize); + + ConstBuffer buff(subHeaderData, header.subHeaderSize); + + PakFile pak(header); + pak.ReadDirectory(buff, header.rootDirectoryCount, header.rootFileCount, L"root"); return true; } From 6a7a1624b03738e78b5c36aef7c28d2464a650ea Mon Sep 17 00:00:00 2001 From: LordSk Date: Sat, 25 Jul 2020 19:23:25 +0200 Subject: [PATCH 09/14] Extract files --- Pak/src/base.h | 18 +++++ Pak/src/keys.h | 4 ++ Pak/src/pak_main.cpp | 166 +++++++++++++++++++++++++++++++++++++++---- 3 files changed, 173 insertions(+), 15 deletions(-) diff --git a/Pak/src/base.h b/Pak/src/base.h index ba69825..18b6f40 100644 --- a/Pak/src/base.h +++ b/Pak/src/base.h @@ -357,3 +357,21 @@ inline void logAsHex(const void* data, int size) } LOG_NNL("]"); } + +// https://www.gingerbill.org/article/2015/08/19/defer-in-cpp/ +template +struct privDefer { + F f; + privDefer(F f) : f(f) {} + ~privDefer() { f(); } +}; + +template +privDefer defer_func(F f) { + return privDefer(f); +} + +#define DEFER_1(x, y) x##y +#define DEFER_2(x, y) DEFER_1(x, y) +#define DEFER_3(x) DEFER_2(x, __COUNTER__) +#define defer(code) auto DEFER_3(_defer_) = defer_func([&](){code;}) diff --git a/Pak/src/keys.h b/Pak/src/keys.h index 5127d17..cd2c02c 100644 --- a/Pak/src/keys.h +++ b/Pak/src/keys.h @@ -4,3 +4,7 @@ const u8 g_XorKey[16384] = { 0x39, 0xff, 0x2a, 0x33, 0x1b, 0xd0, 0x9a, 0x18, 0x2f, 0x71, 0xb7, 0xb0, 0x51, 0xb6, 0x3a, 0x9d, 0xa1, 0xef, 0x74, 0x96, 0x3f, 0x1a, 0xdd, 0x68, 0x5c, 0xf7, 0x66, 0xcd, 0x97, 0x89, 0x94, 0xb7, 0x01, 0x46, 0x29, 0xdc, 0xce, 0x59, 0x4b, 0xf4, 0x9b, 0x6e, 0xba, 0x7e, 0x4c, 0x67, 0x42, 0xfb, 0x72, 0x0b, 0xcd, 0xc9, 0xcb, 0x0c, 0x89, 0x77, 0xfd, 0xec, 0x56, 0x55, 0xd8, 0x68, 0x8b, 0x40, 0x50, 0x79, 0x91, 0x40, 0x33, 0xbd, 0x0f, 0x2e, 0xa4, 0x4d, 0xa6, 0xbf, 0xa2, 0x80, 0xf6, 0x76, 0x04, 0x09, 0x54, 0x14, 0x73, 0xe4, 0xb4, 0x1f, 0x0f, 0x8f, 0x8a, 0xbb, 0x0d, 0x8c, 0x84, 0x11, 0x42, 0xfd, 0x4c, 0x05, 0xf3, 0xc6, 0x11, 0x58, 0xaa, 0x1d, 0xb9, 0x4e, 0xb1, 0x7a, 0xef, 0x28, 0xca, 0x50, 0xcf, 0x40, 0x7a, 0x85, 0x36, 0x97, 0x2a, 0x2c, 0x8c, 0xe9, 0x6a, 0x89, 0xf0, 0x71, 0x6e, 0xdd, 0x81, 0xd5, 0xfa, 0x1f, 0x0d, 0x8e, 0xf0, 0x55, 0x1f, 0x49, 0x75, 0x20, 0x5c, 0xb2, 0x35, 0x0c, 0xa5, 0x6d, 0xe3, 0x9e, 0x8a, 0x66, 0x4f, 0x0d, 0x02, 0xf6, 0xe0, 0xca, 0x3a, 0x5a, 0xa5, 0xb5, 0x99, 0xa0, 0x38, 0x27, 0x32, 0x64, 0xb8, 0xc8, 0xde, 0xc1, 0x35, 0x1c, 0xeb, 0x22, 0xa3, 0x43, 0xa0, 0x6d, 0x93, 0x2d, 0xcb, 0x78, 0xaa, 0x5c, 0xf7, 0x61, 0x71, 0x6d, 0x61, 0x63, 0x03, 0xde, 0xd7, 0xd2, 0x49, 0x93, 0x16, 0x43, 0x7e, 0xc9, 0xb8, 0x16, 0x0f, 0xb8, 0x7f, 0x21, 0x6b, 0xeb, 0x53, 0x0f, 0xac, 0xd2, 0x87, 0x21, 0x89, 0x36, 0x29, 0x2a, 0x19, 0xba, 0x4e, 0x12, 0xff, 0xa2, 0x2a, 0x9e, 0x11, 0xc3, 0xff, 0xb8, 0xd9, 0x75, 0xdd, 0xdd, 0x59, 0x1a, 0x06, 0x6d, 0xb5, 0xa0, 0x43, 0xe2, 0x5b, 0x09, 0xf3, 0x0f, 0x03, 0xa4, 0x80, 0xdd, 0xd8, 0xdf, 0xa8, 0x38, 0xa8, 0x2a, 0x70, 0x70, 0x1e, 0x4b, 0x6c, 0x6e, 0xac, 0x94, 0x18, 0xc0, 0xcd, 0xb8, 0xdf, 0xd8, 0x72, 0xad, 0x9c, 0x22, 0xbd, 0xd9, 0x70, 0xa4, 0xa3, 0x9e, 0x26, 0x55, 0x55, 0x3a, 0x5a, 0x72, 0x9b, 0xde, 0x54, 0x20, 0x7e, 0xd6, 0x8b, 0x8f, 0xdb, 0x24, 0x75, 0xee, 0x13, 0x13, 0x8d, 0xcc, 0xaf, 0x88, 0x92, 0x45, 0xb2, 0x6f, 0xda, 0x90, 0xee, 0x0b, 0x80, 0x2d, 0xa5, 0xe3, 0x5e, 0x28, 0x75, 0x88, 0xb5, 0xfb, 0x5c, 0xf0, 0xba, 0xf1, 0x3b, 0xa4, 0x0b, 0x9f, 0xd8, 0x2d, 0xd5, 0x0e, 0x22, 0x10, 0xb2, 0xaf, 0xca, 0x25, 0x1b, 0x5a, 0xf3, 0x0b, 0x55, 0x6b, 0x5b, 0xe9, 0x7d, 0x01, 0xd2, 0x61, 0x94, 0xc0, 0x91, 0xd7, 0x2e, 0xe7, 0xd8, 0x15, 0xe1, 0x43, 0x88, 0x4a, 0x9b, 0xd1, 0x96, 0x59, 0x46, 0x45, 0x2e, 0x9b, 0x45, 0x6d, 0x4f, 0x25, 0x10, 0xf2, 0x91, 0x8a, 0x9c, 0xc7, 0xae, 0x8e, 0x81, 0x46, 0xe2, 0x12, 0x53, 0x17, 0x97, 0x0b, 0xe0, 0x31, 0xf5, 0x3c, 0x57, 0x07, 0xbb, 0x2a, 0x23, 0x4e, 0x53, 0x17, 0x37, 0x05, 0x4c, 0xbc, 0xc4, 0xba, 0xe4, 0x00, 0xe3, 0xc2, 0x8d, 0x47, 0x32, 0x76, 0xb9, 0x1d, 0x23, 0xca, 0x24, 0xc2, 0x3e, 0x44, 0xf7, 0xea, 0x95, 0x1e, 0x78, 0x20, 0x7f, 0xd0, 0x4a, 0xca, 0xb4, 0x2e, 0x65, 0x2a, 0xc5, 0x67, 0x17, 0xc6, 0x0e, 0xbb, 0xf4, 0xc8, 0x1f, 0xf2, 0xea, 0xe0, 0x31, 0xdb, 0x6f, 0xaf, 0x08, 0x08, 0x30, 0x7b, 0x1f, 0x73, 0x6e, 0x2f, 0x12, 0xd7, 0x79, 0x38, 0x0e, 0x8a, 0xd0, 0x1a, 0x16, 0x83, 0x9d, 0x81, 0x23, 0xad, 0x87, 0xf0, 0x9f, 0xff, 0xc1, 0x21, 0xb9, 0x02, 0x12, 0x57, 0xde, 0xc9, 0x12, 0xd5, 0xc0, 0x98, 0x1f, 0x7f, 0xb1, 0x19, 0x3d, 0xe4, 0xa7, 0xb6, 0x61, 0x9c, 0x72, 0x53, 0x5b, 0x41, 0x1b, 0x00, 0x69, 0xd4, 0xe5, 0xe1, 0xee, 0xb5, 0x7f, 0x21, 0x6d, 0xfb, 0x27, 0x12, 0x5e, 0xb0, 0xa0, 0x31, 0x89, 0xac, 0x18, 0xfd, 0x3b, 0x6e, 0x7b, 0x17, 0x07, 0x38, 0xb2, 0x63, 0x00, 0x37, 0xfa, 0x84, 0x84, 0x97, 0x5d, 0x34, 0xde, 0xe9, 0x37, 0xe3, 0x17, 0x29, 0x3c, 0x17, 0x9e, 0xe8, 0x1e, 0x4f, 0xe1, 0xa9, 0x60, 0x4f, 0x01, 0xb9, 0x58, 0x36, 0xfe, 0x2f, 0x49, 0x92, 0xd6, 0x40, 0xc1, 0x79, 0xc6, 0x29, 0xeb, 0xa0, 0x62, 0x46, 0xbf, 0x0c, 0x2a, 0xda, 0x3f, 0x22, 0xc8, 0xfc, 0xbf, 0x2f, 0x5c, 0xae, 0xa6, 0x73, 0x7d, 0x38, 0xab, 0x89, 0xca, 0xf2, 0x82, 0x80, 0x5f, 0x95, 0x98, 0xc4, 0x0f, 0x08, 0x00, 0x00, 0x94, 0x69, 0xf6, 0xd6, 0x13, 0x92, 0x42, 0xd8, 0xe4, 0x05, 0xb6, 0x84, 0xfc, 0x67, 0x42, 0xc2, 0xac, 0xae, 0x83, 0x66, 0xeb, 0x82, 0xf8, 0x7e, 0xc2, 0xea, 0x36, 0x17, 0x51, 0xa4, 0x36, 0x25, 0xc5, 0x6a, 0xca, 0xe3, 0x88, 0x78, 0x29, 0x71, 0xb7, 0xfc, 0x07, 0x29, 0xb6, 0x6a, 0x38, 0xd2, 0x6f, 0xc0, 0xd3, 0xa2, 0xb9, 0xf1, 0x51, 0x4f, 0x14, 0xa6, 0x9c, 0xbf, 0x50, 0x1c, 0xd0, 0xfa, 0x24, 0xe3, 0xcb, 0x17, 0x4d, 0x8e, 0xc3, 0xfd, 0xbb, 0xbf, 0x53, 0x70, 0x99, 0xfb, 0x0c, 0xfe, 0xed, 0x88, 0x51, 0xdd, 0x2f, 0x81, 0xbb, 0x3e, 0xbf, 0x77, 0x93, 0xe7, 0x93, 0x2f, 0xc2, 0x15, 0x1c, 0xb9, 0x64, 0xd9, 0x7f, 0xd0, 0xd2, 0x5d, 0xb7, 0x0d, 0xd1, 0xbf, 0xf8, 0xed, 0xf3, 0x4e, 0x4f, 0x26, 0x5f, 0xb9, 0x67, 0xb7, 0xb8, 0x4e, 0xeb, 0x07, 0xc4, 0x69, 0x3e, 0xe6, 0xcc, 0x91, 0xb0, 0x91, 0x27, 0xd1, 0x5c, 0x9b, 0x7a, 0x0e, 0xfa, 0x20, 0x30, 0x62, 0x81, 0xe8, 0x40, 0xca, 0xc4, 0x3a, 0x6d, 0xfe, 0x5c, 0xc7, 0x06, 0x0b, 0x4a, 0x14, 0x04, 0xa1, 0xbd, 0xc2, 0xa6, 0x6a, 0xc5, 0x16, 0xe6, 0x74, 0x6d, 0x87, 0xb5, 0x53, 0x49, 0x32, 0x2f, 0x03, 0x0f, 0x58, 0x2e, 0xe7, 0xec, 0x6a, 0xd5, 0x4b, 0x62, 0xd4, 0xd5, 0x29, 0x30, 0x47, 0xa5, 0x47, 0x7a, 0x73, 0x0a, 0x48, 0xb9, 0xa2, 0xad, 0xbe, 0xdb, 0x3c, 0x5a, 0x70, 0x6c, 0x6f, 0xed, 0x98, 0x7c, 0x61, 0xb3, 0x81, 0x77, 0x28, 0x3e, 0x8d, 0xc9, 0xb4, 0xdf, 0x25, 0xb1, 0x4e, 0xf3, 0x88, 0xbe, 0x88, 0xf6, 0x9f, 0x67, 0x15, 0x87, 0x65, 0x8e, 0x32, 0x58, 0xb7, 0x47, 0x14, 0x60, 0xd9, 0x93, 0x90, 0x10, 0x03, 0xa6, 0x97, 0xac, 0x3d, 0x31, 0x82, 0xc4, 0x8e, 0xf0, 0xc9, 0x4a, 0x40, 0x2d, 0x45, 0xb0, 0x66, 0x06, 0xc8, 0xee, 0x70, 0x9e, 0x6e, 0x1e, 0x26, 0x18, 0x97, 0xf4, 0x1d, 0xd8, 0x8d, 0x75, 0xb6, 0x83, 0x9f, 0xb9, 0x34, 0x09, 0x97, 0x89, 0x5e, 0x63, 0xcc, 0x78, 0x7a, 0x5f, 0xef, 0x86, 0x90, 0x34, 0x8b, 0x65, 0x57, 0xd1, 0xa6, 0xea, 0x65, 0xef, 0xe6, 0xa6, 0xe9, 0x06, 0x19, 0x10, 0x9a, 0x17, 0xd6, 0x4e, 0xc4, 0x55, 0x22, 0x8e, 0x2d, 0x69, 0xb6, 0xa8, 0xb9, 0x8d, 0x05, 0x64, 0xc7, 0xde, 0xaf, 0x4b, 0x9c, 0x54, 0xb9, 0xa0, 0xaf, 0xb6, 0x43, 0xe6, 0xd8, 0xe9, 0x8c, 0xbd, 0x7d, 0xff, 0x17, 0x9d, 0x52, 0xe9, 0x62, 0x72, 0x95, 0x08, 0x08, 0x66, 0x80, 0x27, 0xa1, 0x69, 0x2f, 0xc2, 0x6d, 0x83, 0x49, 0x14, 0x67, 0x53, 0x48, 0x12, 0x43, 0x6f, 0x21, 0x68, 0xbd, 0x8c, 0x23, 0x38, 0xa4, 0xfe, 0xac, 0xc5, 0x8a, 0x32, 0xed, 0xe8, 0x3c, 0x7c, 0x30, 0x43, 0x84, 0x74, 0x8f, 0xda, 0x90, 0xb2, 0x7c, 0x49, 0x02, 0x8e, 0x46, 0x8e, 0x48, 0x72, 0xc4, 0x0e, 0xfa, 0xab, 0xbc, 0x40, 0xdd, 0x23, 0xb9, 0x34, 0x79, 0x72, 0xf7, 0xc9, 0xd0, 0xa0, 0x2e, 0xb0, 0x5d, 0x7a, 0x5f, 0xfe, 0x26, 0x27, 0x55, 0x34, 0xf7, 0xf9, 0xd3, 0x57, 0x96, 0xd8, 0x51, 0x0e, 0x00, 0xb2, 0xf5, 0xaa, 0xbf, 0x09, 0x09, 0x9e, 0x5b, 0x2f, 0xce, 0x87, 0xe7, 0x7a, 0x30, 0x73, 0x5b, 0x13, 0xc7, 0x39, 0x04, 0xe2, 0x70, 0x0a, 0x1b, 0x70, 0x5c, 0x4c, 0xf4, 0xf5, 0x57, 0xdf, 0x95, 0x9c, 0x9b, 0x6d, 0x1f, 0x4a, 0xc4, 0x57, 0x18, 0x57, 0xe2, 0x8d, 0x55, 0xde, 0x16, 0x43, 0xab, 0xae, 0xd1, 0x34, 0x7c, 0xa5, 0x24, 0xc8, 0x0e, 0xd1, 0xe2, 0x79, 0x27, 0x49, 0xe4, 0x12, 0xae, 0x4e, 0xe1, 0x60, 0xcb, 0x5a, 0x47, 0x7b, 0xdc, 0xc0, 0xe9, 0x4b, 0xb5, 0x05, 0xac, 0xa6, 0x6d, 0xae, 0x02, 0x9c, 0x0f, 0x66, 0x46, 0xd6, 0xe6, 0xfc, 0xd2, 0x89, 0x0e, 0xef, 0xde, 0x26, 0x18, 0xe0, 0xd9, 0xea, 0xde, 0x4d, 0x4f, 0x3f, 0x38, 0x1c, 0x3d, 0x87, 0x8a, 0xbc, 0xe7, 0xb6, 0x3d, 0x4c, 0xa6, 0x4a, 0x11, 0xb7, 0x99, 0x0c, 0x0e, 0xe7, 0xa7, 0x94, 0x21, 0xb2, 0x65, 0x55, 0xf2, 0x32, 0x68, 0xdd, 0xf1, 0xb9, 0x94, 0x12, 0xa1, 0xa8, 0xe1, 0x09, 0x23, 0x9f, 0x95, 0x83, 0x15, 0xa4, 0x30, 0x4d, 0x8d, 0x0f, 0x1b, 0x91, 0x5c, 0xa6, 0xfb, 0xdb, 0xd1, 0xa7, 0x96, 0xae, 0xac, 0x65, 0x98, 0x25, 0xa6, 0x6d, 0x9b, 0x18, 0x0d, 0x0b, 0x70, 0xa1, 0x43, 0x54, 0xe5, 0xd8, 0xd8, 0x59, 0x38, 0xb4, 0xf0, 0x52, 0x2e, 0xbf, 0xbe, 0x32, 0x63, 0x93, 0xe6, 0xba, 0xfd, 0x46, 0xb2, 0x93, 0xbd, 0x04, 0x4c, 0xd4, 0x90, 0x0f, 0xfb, 0x6c, 0xfc, 0xd9, 0xb5, 0xeb, 0x92, 0x27, 0x1c, 0xd4, 0x64, 0x8c, 0x38, 0xc2, 0x66, 0x32, 0xbc, 0xa9, 0x16, 0x2c, 0x4d, 0x02, 0xad, 0xf1, 0x47, 0xe8, 0x52, 0x75, 0x23, 0x66, 0xaa, 0x14, 0x5e, 0x54, 0xe0, 0xe8, 0xdc, 0x6e, 0xb6, 0x67, 0xb1, 0x66, 0xb0, 0x2d, 0x7c, 0x64, 0x8e, 0x6b, 0x66, 0x43, 0xe5, 0xd7, 0xb7, 0xde, 0x0a, 0x60, 0x3b, 0x68, 0xfe, 0x3a, 0xa2, 0x77, 0xbb, 0x0a, 0x85, 0x65, 0xea, 0x1a, 0x71, 0x30, 0xef, 0x91, 0x1f, 0x47, 0xb5, 0x77, 0x5b, 0xf9, 0x7d, 0x51, 0x29, 0xe9, 0x15, 0xab, 0x51, 0x7a, 0x4d, 0x7c, 0x90, 0x8a, 0x19, 0xc3, 0x0e, 0x4b, 0xad, 0x48, 0x9b, 0xae, 0x07, 0x89, 0x48, 0x52, 0x3f, 0x00, 0xf4, 0x34, 0xaf, 0xc8, 0x8b, 0x04, 0xae, 0xbe, 0x36, 0x97, 0x70, 0xa8, 0xdf, 0x9f, 0x1f, 0xbc, 0x00, 0xe7, 0x7e, 0xcc, 0xfb, 0xca, 0xb6, 0xc5, 0x3c, 0xe6, 0xf0, 0x22, 0x4b, 0xd1, 0x2b, 0x8d, 0xb8, 0x05, 0x9f, 0x3a, 0x8a, 0x4a, 0x77, 0x75, 0x9f, 0xc1, 0x26, 0x8e, 0x53, 0xbe, 0xb2, 0xb9, 0xaf, 0x8e, 0xcc, 0x6a, 0x61, 0x1b, 0x71, 0x4c, 0x63, 0x8b, 0xd5, 0xd1, 0x3e, 0xc1, 0x4c, 0xdc, 0xcd, 0xf6, 0x09, 0x8c, 0x22, 0x6e, 0x7a, 0x70, 0x8d, 0x28, 0xe9, 0xf5, 0x95, 0xb5, 0xf0, 0xde, 0x65, 0x5a, 0xa2, 0x19, 0x79, 0xc1, 0x5c, 0xf1, 0xcd, 0xe2, 0xa2, 0xc5, 0x6d, 0x13, 0xf2, 0x10, 0x1c, 0x04, 0x57, 0xfd, 0x07, 0x5f, 0xc1, 0x03, 0xd2, 0x68, 0x16, 0x97, 0xa0, 0xc6, 0xea, 0xfa, 0xa9, 0x5a, 0x7e, 0x23, 0xac, 0x77, 0x34, 0x14, 0x61, 0x1c, 0x1d, 0x12, 0x76, 0x66, 0x29, 0x01, 0x02, 0x7c, 0xf1, 0x97, 0xdd, 0xe0, 0xc8, 0x14, 0x43, 0xaa, 0xab, 0xbb, 0x18, 0xff, 0x12, 0x1c, 0x61, 0x0b, 0xa8, 0xee, 0xc2, 0x43, 0x8d, 0xd0, 0x46, 0x09, 0xb8, 0x03, 0x0d, 0xa6, 0x1c, 0x03, 0xe7, 0x00, 0xa0, 0x80, 0x60, 0x73, 0x42, 0x5b, 0xd2, 0xf1, 0xd8, 0xf9, 0xaf, 0x64, 0xe4, 0xc9, 0x3e, 0x1d, 0x39, 0x10, 0x70, 0x35, 0xef, 0xfc, 0xd4, 0x16, 0x0a, 0x48, 0xc3, 0x81, 0xca, 0xd5, 0xfb, 0xec, 0xbc, 0x01, 0x4d, 0xa0, 0x37, 0x95, 0x2b, 0x3e, 0xba, 0xc4, 0x89, 0x5a, 0x95, 0xd3, 0x84, 0x74, 0xd4, 0xe2, 0xa2, 0xfa, 0x8a, 0xdf, 0x2c, 0xb3, 0x7e, 0x32, 0xce, 0x8b, 0x4a, 0xa8, 0xaa, 0x9c, 0x28, 0xf8, 0xd5, 0xa9, 0x07, 0xee, 0x17, 0xc2, 0x7b, 0xe7, 0xf3, 0xfe, 0x88, 0x00, 0x23, 0xd1, 0x12, 0x76, 0xed, 0x5d, 0x6d, 0xd9, 0xc4, 0xcd, 0x5a, 0xd3, 0x66, 0xcf, 0xa7, 0xf1, 0x23, 0x27, 0x47, 0x80, 0x8f, 0x53, 0x03, 0x20, 0x88, 0x16, 0x1c, 0x1b, 0xeb, 0x77, 0x01, 0x9a, 0x07, 0x01, 0x94, 0x76, 0xf2, 0xc0, 0x89, 0x6b, 0xea, 0xaa, 0x98, 0x29, 0x3e, 0xd9, 0x80, 0xd8, 0x8e, 0xf3, 0x80, 0xec, 0x57, 0xcc, 0xa6, 0x9c, 0xc2, 0xac, 0x1e, 0xca, 0xef, 0xbe, 0x49, 0xa9, 0x7c, 0xc1, 0xba, 0x94, 0x30, 0xe9, 0x94, 0x4b, 0xf5, 0x9f, 0xb7, 0xa1, 0xf4, 0x9e, 0xbe, 0xfe, 0x16, 0x81, 0xe0, 0xdc, 0x19, 0xec, 0x0d, 0xd6, 0x8f, 0xa0, 0xb1, 0x5a, 0x8b, 0x1f, 0xf3, 0x0a, 0xa4, 0xc4, 0x20, 0x06, 0x1b, 0xad, 0xe5, 0x78, 0xfb, 0xf2, 0xf4, 0x7e, 0x20, 0xa5, 0xe2, 0xdc, 0x1a, 0xc1, 0x46, 0x99, 0x71, 0x0f, 0xbf, 0x06, 0x75, 0xaa, 0x92, 0xdc, 0x1b, 0x23, 0x1d, 0xbf, 0x16, 0x69, 0x2e, 0x02, 0xd3, 0x7d, 0xe0, 0xd9, 0x60, 0x7b, 0xcb, 0x02, 0x17, 0x81, 0xa9, 0x89, 0x1d, 0x28, 0x4c, 0x51, 0x59, 0xca, 0x3e, 0xa4, 0xf1, 0xee, 0x87, 0x30, 0x00, 0xd5, 0x7e, 0x6b, 0x57, 0x7f, 0x10, 0xb1, 0x70, 0xfb, 0xfb, 0x6d, 0x22, 0x3c, 0x70, 0x83, 0x58, 0x20, 0x5a, 0x82, 0xe9, 0x71, 0xcf, 0xc1, 0xe1, 0xdf, 0x71, 0x35, 0xbf, 0x3e, 0x71, 0x3d, 0xa0, 0x73, 0x2d, 0x06, 0xd0, 0xb2, 0x69, 0xe7, 0x3b, 0xc2, 0xb9, 0x0d, 0x3c, 0x12, 0x96, 0xa6, 0xfb, 0x4f, 0x4e, 0x26, 0x5b, 0xc3, 0x04, 0xe3, 0x36, 0xde, 0xa6, 0x00, 0x0d, 0xb6, 0x1a, 0x21, 0x00, 0xbd, 0x86, 0x61, 0x0d, 0xe7, 0x15, 0xe5, 0xd0, 0xf5, 0x1e, 0xd0, 0x1e, 0x02, 0xbb, 0xd3, 0x49, 0x0f, 0xb7, 0x09, 0x42, 0x41, 0x14, 0xae, 0x39, 0x7d, 0xe5, 0x00, 0xde, 0x95, 0x2e, 0x22, 0x03, 0xb1, 0xbc, 0x19, 0x23, 0x63, 0x31, 0x66, 0x83, 0x5f, 0x0a, 0x2c, 0x42, 0x23, 0x66, 0x4f, 0x8a, 0xcd, 0x38, 0xd2, 0x0e, 0x45, 0x7b, 0xa3, 0x2f, 0xae, 0x28, 0xe2, 0x5e, 0x0c, 0xce, 0xc8, 0x74, 0xcc, 0xbb, 0x95, 0x5e, 0x8a, 0x65, 0xca, 0x98, 0x95, 0x51, 0x2a, 0x78, 0x61, 0x70, 0x36, 0x4b, 0x3a, 0x06, 0x90, 0x2a, 0x8a, 0x7d, 0xb2, 0x90, 0x82, 0x7a, 0xb8, 0x7f, 0x70, 0x53, 0xe3, 0xb1, 0xe8, 0xf2, 0x4a, 0xea, 0xc6, 0x32, 0x64, 0x37, 0x99, 0x54, 0xf5, 0x8e, 0x4d, 0xaf, 0xac, 0xdc, 0xb3, 0x2d, 0x4c, 0x83, 0xc4, 0x1e, 0x28, 0xc6, 0x2d, 0x70, 0x1e, 0x4e, 0xa8, 0xae, 0xb0, 0xdf, 0x24, 0x60, 0x42, 0xe8, 0xfd, 0x94, 0xbe, 0x91, 0xe1, 0x58, 0x2f, 0x12, 0x3d, 0xc8, 0x01, 0xb4, 0xfe, 0x1e, 0x08, 0xfc, 0xc9, 0xcf, 0x89, 0x34, 0xcc, 0xbe, 0x69, 0x31, 0x8a, 0xee, 0xca, 0x07, 0xb1, 0x98, 0x29, 0x1f, 0x89, 0x8c, 0xe8, 0x84, 0x1c, 0x78, 0xb7, 0x6d, 0x02, 0x6b, 0x5c, 0x37, 0x1a, 0x25, 0xb1, 0x0f, 0xe2, 0xeb, 0x40, 0x8f, 0x28, 0x86, 0x6d, 0x95, 0x1d, 0x72, 0x53, 0xad, 0x01, 0xbd, 0x17, 0x54, 0x57, 0x27, 0x03, 0x58, 0x9a, 0x5f, 0xcc, 0x31, 0xfa, 0x05, 0x9c, 0xf8, 0x32, 0x90, 0x1e, 0xe6, 0xe9, 0xfa, 0x61, 0xb4, 0x69, 0x43, 0xf2, 0x57, 0x27, 0xc7, 0xa3, 0x49, 0xa8, 0x5d, 0x2e, 0xa1, 0x29, 0xa8, 0x02, 0xed, 0x8e, 0x1e, 0x59, 0x2e, 0x79, 0xc8, 0xed, 0xb9, 0x91, 0xfb, 0xb1, 0xd2, 0x6f, 0xb1, 0x0c, 0x2a, 0x27, 0xfa, 0xf3, 0x7c, 0x0c, 0x30, 0x9e, 0x75, 0x01, 0x4d, 0xaa, 0xfe, 0x5b, 0x3e, 0x74, 0x8a, 0x1d, 0x5d, 0x01, 0x94, 0xe8, 0x7f, 0xc4, 0xef, 0x59, 0xd6, 0xe7, 0x78, 0xe4, 0x62, 0xcb, 0x82, 0xd4, 0x82, 0xca, 0x0b, 0xe5, 0xed, 0xe6, 0xd6, 0xb7, 0x81, 0x8a, 0xe5, 0xa9, 0xd0, 0xdc, 0xbb, 0x2f, 0x23, 0xb4, 0xbc, 0x5d, 0x38, 0x37, 0xbf, 0x9e, 0x33, 0x95, 0xaa, 0xf6, 0xce, 0x6f, 0x35, 0xb2, 0x4f, 0xf0, 0x43, 0x3e, 0x92, 0x01, 0xce, 0xe8, 0x43, 0x0f, 0x37, 0x6c, 0xfe, 0x44, 0x6c, 0x76, 0x3a, 0xbd, 0x90, 0x82, 0x2f, 0x31, 0x21, 0x52, 0x8b, 0xcf, 0x18, 0x51, 0xa0, 0x30, 0x80, 0x16, 0x9d, 0x22, 0x64, 0xf3, 0x1e, 0x7f, 0x84, 0x84, 0x5c, 0xfd, 0xf7, 0x18, 0x1a, 0x56, 0xfa, 0xb3, 0x8b, 0x96, 0x73, 0xb9, 0x77, 0x51, 0x8c, 0x4c, 0xdb, 0x3f, 0xad, 0xbd, 0x07, 0x66, 0x7c, 0xee, 0xa6, 0xa7, 0xe7, 0x73, 0xfa, 0x38, 0x5e, 0xbd, 0x43, 0xbb, 0xbf, 0x96, 0x4f, 0x06, 0x6c, 0x9c, 0xa2, 0xf2, 0x0c, 0xdf, 0x71, 0xaa, 0xcc, 0x99, 0xde, 0x8e, 0x2a, 0x79, 0x3b, 0x49, 0x88, 0x7b, 0x9f, 0x6a, 0x3f, 0xac, 0xfe, 0x74, 0x61, 0x75, 0x07, 0xaf, 0xa2, 0xfd, 0xf8, 0x3e, 0xa9, 0xbd, 0x18, 0xa0, 0x1f, 0xee, 0x60, 0xf7, 0xaa, 0x25, 0x8d, 0x15, 0x51, 0xa9, 0x13, 0xea, 0xc6, 0xe3, 0x14, 0xd5, 0x61, 0x1d, 0x01, 0xef, 0x47, 0x62, 0xbe, 0x1d, 0x01, 0x11, 0x96, 0x15, 0x3c, 0x21, 0x99, 0x4c, 0x4c, 0x2a, 0x52, 0xf3, 0xb4, 0x56, 0x6d, 0xaf, 0x02, 0x10, 0xdd, 0xb3, 0xb4, 0x47, 0x05, 0x57, 0x31, 0xf7, 0xe3, 0x3d, 0x0e, 0xfe, 0x7e, 0x5c, 0xb1, 0x70, 0xac, 0x77, 0x68, 0x9c, 0x6f, 0x8a, 0x3a, 0x9b, 0x67, 0x14, 0x22, 0x87, 0xe3, 0xc0, 0x61, 0xa6, 0xa5, 0xa4, 0x48, 0x63, 0x52, 0xbd, 0x41, 0xe4, 0x6b, 0x50, 0x0f, 0x5d, 0xc4, 0x17, 0x5e, 0x59, 0xbd, 0x63, 0x0f, 0xf9, 0x84, 0x61, 0x61, 0xa1, 0x65, 0x86, 0x98, 0x69, 0xe2, 0xf4, 0xbb, 0x1f, 0x73, 0xc1, 0xe6, 0xfa, 0xf7, 0x0e, 0xc4, 0xc7, 0x03, 0xb4, 0xaf, 0xee, 0x98, 0x42, 0xc2, 0x70, 0xe6, 0x82, 0x93, 0x1b, 0x21, 0x2e, 0xc5, 0x87, 0x3b, 0x42, 0x2c, 0x14, 0xba, 0xc0, 0xec, 0x1a, 0x2f, 0x70, 0x74, 0xd7, 0xca, 0xb8, 0x66, 0x25, 0xa3, 0x8e, 0x86, 0x38, 0x50, 0xff, 0x1f, 0x1b, 0x3a, 0x0c, 0x0b, 0x00, 0xe5, 0x16, 0xcd, 0x64, 0xb2, 0xf9, 0x34, 0x74, 0x42, 0x7a, 0x5f, 0xce, 0x60, 0xfd, 0x64, 0xf6, 0xb7, 0xb1, 0x0f, 0x74, 0xb4, 0x96, 0x24, 0x2b, 0xfb, 0x47, 0x96, 0xad, 0xaa, 0x42, 0x93, 0xd6, 0x80, 0xc3, 0xd7, 0x75, 0x31, 0x63, 0x26, 0xcc, 0x7a, 0x7b, 0xf3, 0x66, 0x37, 0xf7, 0x25, 0x81, 0x6b, 0xac, 0xec, 0x90, 0x5c, 0x6d, 0xc9, 0x4c, 0xbd, 0x2e, 0xca, 0x5c, 0x59, 0xbd, 0xc3, 0x7d, 0x7c, 0x12, 0x48, 0xad, 0xab, 0xed, 0x97, 0xad, 0x83, 0x6b, 0x9e, 0x86, 0x84, 0x7e, 0xb8, 0x8a, 0x94, 0x53, 0x6e, 0x71, 0xae, 0x84, 0x49, 0x6c, 0x75, 0x1c, 0x60, 0xfc, 0xfb, 0x7d, 0x29, 0xc5, 0xb4, 0x5b, 0xed, 0x6d, 0xec, 0xc0, 0xa3, 0x2c, 0xc2, 0xa5, 0xff, 0x94, 0xe7, 0x17, 0xa7, 0x86, 0xc8, 0x9d, 0x22, 0x98, 0x39, 0x55, 0xc4, 0x31, 0x30, 0x5f, 0x2c, 0x3d, 0xf3, 0x73, 0x93, 0xd4, 0xd2, 0x34, 0x20, 0xd8, 0x8e, 0xb8, 0x9a, 0x61, 0x24, 0xbf, 0xb1, 0x13, 0x8a, 0xf5, 0x46, 0x4b, 0xa3, 0x7f, 0x55, 0xa0, 0x56, 0x93, 0x4c, 0xe0, 0xa3, 0x74, 0x30, 0x75, 0x2c, 0x37, 0x64, 0xe1, 0x36, 0x83, 0x75, 0x0a, 0x97, 0xf0, 0x07, 0x87, 0x53, 0x56, 0x88, 0xf0, 0x7d, 0x22, 0x9c, 0xe4, 0xa1, 0xb6, 0x58, 0x0d, 0x6a, 0x5c, 0xb2, 0x6b, 0x6c, 0xe6, 0xfd, 0xf5, 0x12, 0xb3, 0x79, 0x5a, 0xb4, 0xba, 0x7b, 0x2b, 0xee, 0xa8, 0x30, 0x0e, 0x84, 0x18, 0x5f, 0xca, 0xa6, 0x56, 0xf5, 0xc3, 0xdc, 0xb3, 0x6d, 0xf7, 0xcd, 0x17, 0xaa, 0x2f, 0xc7, 0xd8, 0x32, 0x0f, 0x60, 0x91, 0xa8, 0x66, 0x4f, 0xbf, 0x61, 0x7f, 0x1c, 0xc0, 0x4d, 0x2c, 0xd5, 0x23, 0x70, 0x27, 0x6b, 0xe1, 0x2c, 0x7e, 0xb1, 0xbf, 0xdf, 0x08, 0xa0, 0x58, 0x0c, 0xef, 0x87, 0xbe, 0x82, 0xd5, 0x2d, 0x0f, 0x92, 0x90, 0xcc, 0x0d, 0xc7, 0x30, 0x7c, 0x93, 0xef, 0xa7, 0xff, 0x54, 0xfa, 0xa2, 0x9d, 0xf5, 0x07, 0x38, 0xb9, 0xff, 0x5a, 0x84, 0x83, 0xed, 0x60, 0xa3, 0x5a, 0x92, 0xaf, 0xcd, 0xda, 0x84, 0x94, 0xb1, 0x46, 0x9c, 0xd8, 0x51, 0xb5, 0x8a, 0x6b, 0xf2, 0x54, 0xf9, 0xdb, 0x0e, 0x92, 0x35, 0xd7, 0xce, 0x2f, 0xb2, 0xc1, 0xd7, 0x05, 0x3d, 0x01, 0x44, 0x83, 0x09, 0xa5, 0x68, 0x04, 0xff, 0x0e, 0x87, 0x7a, 0xc3, 0xba, 0x13, 0x12, 0x4c, 0xcf, 0xd8, 0xee, 0x37, 0xfb, 0x74, 0xf1, 0x53, 0x73, 0x1f, 0x26, 0xfe, 0x55, 0x7e, 0xc0, 0x03, 0x2b, 0x6a, 0xf9, 0x35, 0x65, 0x75, 0x39, 0xd9, 0xae, 0x7f, 0x89, 0x3c, 0xbe, 0x71, 0x73, 0xec, 0x59, 0x16, 0xe0, 0xce, 0x03, 0x66, 0x7a, 0x70, 0x08, 0x9e, 0x50, 0xb0, 0xce, 0x2f, 0x83, 0xed, 0x9d, 0x75, 0x0d, 0x60, 0x30, 0xbb, 0xfb, 0xa6, 0x28, 0x2a, 0x5a, 0x06, 0x20, 0x93, 0xc6, 0x34, 0x31, 0xdf, 0xc2, 0x7c, 0xf4, 0xb9, 0x5c, 0x98, 0xe3, 0xb8, 0x68, 0x02, 0xb5, 0xbc, 0x06, 0x83, 0xd8, 0xde, 0x43, 0x68, 0xa9, 0x2c, 0x88, 0x00, 0x81, 0x1d, 0xd1, 0x5d, 0xa0, 0x8b, 0xa4, 0xf8, 0xbd, 0xc7, 0x7a, 0x48, 0x3a, 0xa9, 0x95, 0xcc, 0xa0, 0x8a, 0x79, 0x35, 0x33, 0x9d, 0x3d, 0x72, 0x97, 0xde, 0xcf, 0xe7, 0x6f, 0x26, 0xb5, 0xcb, 0x35, 0x5e, 0xd3, 0x8e, 0x08, 0xd5, 0x58, 0x1a, 0x41, 0x7a, 0x58, 0xd2, 0x29, 0x16, 0x77, 0x51, 0x65, 0xf9, 0x7f, 0x99, 0x91, 0xb7, 0x10, 0xfa, 0x6c, 0x0c, 0x07, 0xe6, 0x5f, 0xfa, 0x8b, 0x4b, 0xa1, 0x74, 0x2c, 0x67, 0x73, 0x08, 0x7f, 0x55, 0xe7, 0xda, 0xdd, 0x0f, 0x7b, 0x20, 0xb4, 0x07, 0x77, 0x30, 0x0e, 0x82, 0x78, 0x92, 0xe5, 0x49, 0x9b, 0x62, 0xd5, 0x20, 0x45, 0x59, 0xfd, 0x65, 0x9b, 0xb0, 0x6d, 0xf5, 0xed, 0x39, 0x46, 0x80, 0x23, 0xba, 0xea, 0xca, 0xb6, 0x3a, 0xf6, 0xdb, 0x0b, 0x2b, 0x03, 0x12, 0x51, 0xeb, 0xd0, 0x6d, 0xab, 0x86, 0xf5, 0x78, 0xae, 0x74, 0x9f, 0x89, 0x2c, 0x81, 0x57, 0xaa, 0xde, 0xab, 0x35, 0x26, 0x0c, 0xa9, 0x6f, 0xde, 0x32, 0x04, 0xf6, 0xbd, 0x72, 0xcd, 0x26, 0x55, 0xd6, 0xf1, 0xbb, 0x9d, 0x23, 0xa3, 0xed, 0xaa, 0xe8, 0xc1, 0x44, 0xa9, 0x2e, 0xc7, 0x02, 0x4a, 0x00, 0x61, 0x73, 0x81, 0x53, 0x3a, 0x8a, 0xc3, 0x68, 0xa9, 0xcd, 0x40, 0xa9, 0x65, 0x88, 0x7a, 0x0c, 0x7b, 0x5e, 0x63, 0x0d, 0xbb, 0xb9, 0x54, 0x89, 0x8a, 0x7c, 0x32, 0xd5, 0xe2, 0xb6, 0x3d, 0xb1, 0x3b, 0x61, 0xf3, 0xc6, 0x00, 0x98, 0xfb, 0x5d, 0xa1, 0x57, 0x8f, 0xab, 0x2b, 0x67, 0xf5, 0x53, 0x82, 0x18, 0xcf, 0x1b, 0x21, 0xe5, 0x3d, 0xd4, 0x7b, 0xaa, 0x73, 0x6a, 0x1d, 0x08, 0xaf, 0xd2, 0xf4, 0x0d, 0x0a, 0x28, 0x97, 0x4f, 0xb1, 0x1d, 0x3f, 0xcd, 0x22, 0x0f, 0xd5, 0x85, 0x90, 0xdb, 0x96, 0x3c, 0x22, 0xbe, 0x1b, 0x9a, 0xf7, 0x5a, 0x48, 0xcc, 0x1a, 0xea, 0x89, 0x7f, 0x37, 0x91, 0xc4, 0xcd, 0xcf, 0xf2, 0x53, 0x0e, 0x25, 0xe6, 0xac, 0x03, 0x67, 0x17, 0x4f, 0x2b, 0x5e, 0xd1, 0x10, 0x19, 0x74, 0x77, 0xa6, 0xa1, 0xfd, 0xa6, 0x8e, 0x31, 0xf6, 0xdf, 0x3a, 0x36, 0xfa, 0xd1, 0x71, 0x98, 0x9a, 0x1e, 0x8c, 0xc5, 0xf9, 0xb6, 0x0c, 0xf4, 0xcf, 0x6f, 0x73, 0xf9, 0xb9, 0x72, 0x1d, 0x61, 0x28, 0xbf, 0xed, 0xf9, 0x0a, 0xc1, 0x1a, 0x35, 0x21, 0x65, 0xcb, 0x3c, 0x1a, 0x4b, 0xa1, 0x07, 0xab, 0xd4, 0x27, 0x64, 0x60, 0xef, 0xb1, 0x33, 0x8e, 0xc2, 0xa8, 0x4a, 0xd7, 0x49, 0x7a, 0x9f, 0x9d, 0x3d, 0xfc, 0x43, 0xc9, 0xa8, 0x67, 0xa3, 0x4d, 0x4b, 0xb8, 0xba, 0x43, 0x28, 0x78, 0xee, 0x5a, 0x93, 0x97, 0x61, 0xba, 0x93, 0x2a, 0xa6, 0x33, 0x05, 0x19, 0x28, 0x62, 0xdd, 0x7c, 0x99, 0x1f, 0x0f, 0xea, 0xbd, 0x81, 0x47, 0x02, 0xd0, 0x8d, 0xab, 0xdd, 0x4a, 0x44, 0xb3, 0x68, 0x65, 0x4c, 0xe7, 0x81, 0xbd, 0x3d, 0x3c, 0xa3, 0xba, 0x96, 0x0b, 0xdf, 0x3f, 0x2a, 0x28, 0x92, 0xc8, 0x4d, 0x22, 0x4b, 0x60, 0x43, 0x3d, 0x4b, 0xd2, 0x28, 0x5b, 0xf8, 0x66, 0x01, 0x3d, 0xd2, 0xe2, 0xda, 0xb4, 0x8c, 0xce, 0xed, 0xee, 0x41, 0x7f, 0xf3, 0x4d, 0xc3, 0x52, 0xfb, 0x3e, 0x11, 0x44, 0x99, 0xfe, 0x34, 0xaf, 0x85, 0xf3, 0xe2, 0x88, 0xe7, 0xa8, 0x29, 0x5f, 0xe7, 0x0b, 0xb2, 0x55, 0x30, 0x59, 0x41, 0x37, 0x38, 0x9d, 0xfe, 0x22, 0x7a, 0x51, 0x10, 0xca, 0x74, 0xc0, 0x9e, 0xd5, 0x42, 0x5e, 0x7e, 0x37, 0x6b, 0x02, 0xf3, 0x79, 0xa9, 0xa3, 0x38, 0x27, 0x30, 0x72, 0x23, 0xa1, 0x04, 0xa6, 0x74, 0xaf, 0x78, 0xaa, 0xd3, 0xd0, 0x10, 0xd4, 0x88, 0x65, 0x6b, 0x81, 0x1c, 0x8a, 0x56, 0x6f, 0x16, 0xfb, 0x81, 0x2e, 0xf2, 0x48, 0xaf, 0xc5, 0x85, 0xd1, 0x9e, 0xd1, 0xb4, 0x5a, 0x6a, 0x26, 0x2a, 0x22, 0x43, 0xb4, 0x27, 0xe1, 0x91, 0xc0, 0x0a, 0xcb, 0xda, 0xc7, 0xe9, 0x24, 0x83, 0x20, 0x09, 0xb4, 0xab, 0x78, 0x20, 0x5b, 0x71, 0x40, 0xbd, 0x81, 0x0b, 0x6a, 0x11, 0xb7, 0x6a, 0x04, 0x76, 0xe7, 0x94, 0x15, 0xba, 0xea, 0xf4, 0x2e, 0x78, 0x94, 0x73, 0xce, 0x37, 0x5c, 0xab, 0x7d, 0x1a, 0x5d, 0x5e, 0xe5, 0x56, 0xd1, 0x00, 0x6a, 0x1b, 0x6b, 0x63, 0x59, 0x91, 0x83, 0xff, 0x54, 0xad, 0x02, 0xcc, 0x92, 0xcb, 0x10, 0x5e, 0x15, 0x70, 0xb3, 0x40, 0xd5, 0x4b, 0x7f, 0x6a, 0x4a, 0x6c, 0x5d, 0x6f, 0x28, 0xfb, 0x35, 0xa1, 0x97, 0x6b, 0xfe, 0x66, 0xa1, 0xc2, 0xa3, 0x33, 0x25, 0x71, 0xb8, 0x38, 0x0f, 0x8c, 0x14, 0x5e, 0x07, 0xee, 0x97, 0x3b, 0x6b, 0xcf, 0xa4, 0x73, 0xce, 0x7f, 0x02, 0xdf, 0x16, 0xc1, 0x71, 0x5d, 0x63, 0x57, 0x79, 0x36, 0xcc, 0xbb, 0x10, 0xec, 0x95, 0x43, 0x96, 0x58, 0x74, 0x1f, 0x93, 0x02, 0x94, 0x49, 0x72, 0x3d, 0xfe, 0xa6, 0x5b, 0x1c, 0xdb, 0x9a, 0x56, 0x8b, 0x38, 0xf2, 0x94, 0x91, 0xcf, 0x56, 0x2d, 0x24, 0xe3, 0xd2, 0xd5, 0xaf, 0x8f, 0xdf, 0x11, 0x30, 0xa1, 0xfb, 0x4d, 0x16, 0xb2, 0x7f, 0xe8, 0x57, 0x90, 0xd7, 0xf5, 0x87, 0x9c, 0x09, 0x24, 0x72, 0x23, 0xd2, 0x16, 0x4b, 0xb2, 0x81, 0x50, 0x75, 0xc3, 0x5e, 0xd4, 0xe5, 0x2c, 0x3d, 0x73, 0x4e, 0x7c, 0xee, 0x74, 0xd1, 0x1d, 0x73, 0xe9, 0x63, 0x8f, 0x0c, 0xcb, 0x28, 0xa2, 0x8e, 0x5f, 0xe1, 0xdb, 0xfa, 0x08, 0xa5, 0xbc, 0x09, 0xf3, 0x13, 0x75, 0x84, 0x8b, 0xff, 0x35, 0x9b, 0x69, 0x2e, 0x2c, 0x7b, 0x26, 0xc1, 0x88, 0x67, 0x2c, 0xfa, 0x21, 0x30, 0x9b, 0x65, 0xeb, 0x35, 0xa6, 0x25, 0xde, 0x52, 0x79, 0xb8, 0xa8, 0xf0, 0x30, 0xd4, 0x07, 0xd4, 0xc1, 0x43, 0x42, 0xa2, 0x51, 0x39, 0x61, 0x68, 0x12, 0xb6, 0x09, 0x10, 0xa3, 0x85, 0x8b, 0xad, 0xbd, 0x08, 0x5b, 0xd6, 0xc8, 0x8b, 0x67, 0x66, 0x98, 0x9a, 0xd3, 0x0b, 0x57, 0x07, 0x1f, 0x8d, 0x83, 0x80, 0x99, 0x1b, 0x8d, 0x87, 0xb1, 0xfd, 0x69, 0xeb, 0x25, 0x73, 0x51, 0xe3, 0x52, 0x0d, 0xed, 0x22, 0xaf, 0xb5, 0xbc, 0x40, 0x58, 0xa4, 0x77, 0xa3, 0x8c, 0x02, 0xe6, 0x94, 0xb6, 0xd2, 0x1c, 0xb2, 0x1a, 0x2e, 0x0c, 0xb1, 0xb6, 0xe8, 0xc8, 0x2f, 0x55, 0xc4, 0xf4, 0x1d, 0x78, 0xf5, 0xa7, 0xb9, 0xf4, 0x7f, 0xb2, 0x16, 0x40, 0x5b, 0xe4, 0xe0, 0x70, 0x1d, 0x1e, 0xfb, 0x7d, 0x36, 0x7e, 0x32, 0x1f, 0x8b, 0x09, 0xff, 0xe6, 0xfe, 0x41, 0x52, 0xcb, 0x51, 0x67, 0xbf, 0x2a, 0xb5, 0x35, 0x33, 0x6c, 0x64, 0x7a, 0x73, 0x29, 0xba, 0x1c, 0xf5, 0x7a, 0x83, 0x7f, 0xa5, 0x5f, 0xf9, 0x1a, 0x3c, 0xbd, 0xe5, 0x73, 0x24, 0xcd, 0x77, 0x1e, 0x24, 0xd1, 0x42, 0x95, 0x97, 0x1b, 0xfa, 0x56, 0xc6, 0x74, 0x9e, 0x46, 0x51, 0xd4, 0x29, 0xc0, 0x45, 0xfe, 0x7d, 0x82, 0xfb, 0x9f, 0x07, 0x24, 0x39, 0x6a, 0xd5, 0x84, 0x9f, 0xda, 0x83, 0xc0, 0xb7, 0x91, 0xfd, 0x90, 0x2b, 0x79, 0xab, 0xde, 0x0f, 0xe5, 0xed, 0x2b, 0x14, 0x29, 0xf9, 0x7a, 0x94, 0xbf, 0x75, 0x03, 0x7e, 0x19, 0xc7, 0x0c, 0x73, 0xae, 0x82, 0x70, 0xe1, 0x0f, 0xb2, 0x9f, 0x98, 0x71, 0x2a, 0x3c, 0x1c, 0x68, 0x8b, 0x1c, 0x1d, 0x2a, 0x9f, 0xdc, 0xe6, 0xcc, 0x6f, 0x34, 0x68, 0xef, 0x0b, 0x2a, 0xcf, 0xe4, 0xdf, 0x1c, 0x0f, 0x85, 0x10, 0xf4, 0x41, 0x75, 0x2c, 0x0d, 0x7a, 0x51, 0x9b, 0x96, 0xd3, 0x1b, 0x2e, 0xa5, 0xcb, 0x9a, 0x0c, 0x8e, 0x2c, 0x7a, 0x46, 0xbb, 0xaf, 0x1e, 0xb6, 0x4a, 0x95, 0x2e, 0xe5, 0x18, 0xcb, 0x62, 0x51, 0xc1, 0x4c, 0x4e, 0x6f, 0xcf, 0xd2, 0x64, 0xe2, 0xec, 0x87, 0xb4, 0x09, 0x3f, 0x28, 0x3e, 0x10, 0x2b, 0x47, 0x15, 0xb0, 0x4f, 0xec, 0x8a, 0x90, 0xdd, 0x09, 0x44, 0x79, 0x4e, 0x8b, 0x8e, 0xc9, 0x35, 0x4b, 0x04, 0x37, 0x89, 0x77, 0xad, 0x5b, 0xd7, 0x41, 0x0d, 0x75, 0x4f, 0x14, 0xdb, 0x4f, 0xc7, 0x03, 0x4e, 0x0b, 0xfd, 0x2e, 0x4f, 0xe4, 0x8c, 0x45, 0x31, 0xa8, 0x44, 0x2a, 0x5e, 0x0a, 0xcc, 0x16, 0x12, 0xc6, 0xaa, 0x70, 0x79, 0xac, 0x36, 0xf6, 0x0d, 0x1f, 0x2a, 0x43, 0xe7, 0x53, 0x6b, 0x73, 0xbb, 0x88, 0x8d, 0xb9, 0xa0, 0xde, 0x24, 0x7d, 0x0b, 0xf9, 0x67, 0xc7, 0xe2, 0x9b, 0x37, 0x37, 0xbe, 0x37, 0x43, 0x97, 0xed, 0x1c, 0x25, 0x3c, 0x0b, 0x8f, 0x36, 0xee, 0x77, 0xbf, 0x69, 0x20, 0xd3, 0xf3, 0x5e, 0x9b, 0x78, 0x1a, 0x1e, 0xee, 0x59, 0x20, 0x4b, 0x3a, 0xf5, 0x02, 0xf2, 0x3c, 0x0e, 0x40, 0xd2, 0x03, 0x71, 0xaa, 0xaf, 0x87, 0xde, 0xe4, 0x59, 0xf9, 0x73, 0x4c, 0x13, 0xb0, 0x31, 0xf4, 0x0d, 0x96, 0xc0, 0x3c, 0x47, 0x5f, 0x33, 0xdc, 0xec, 0xd3, 0x66, 0x11, 0xe8, 0xa1, 0x2f, 0x8d, 0x5c, 0x5c, 0xdb, 0x26, 0x39, 0x6b, 0x13, 0xaa, 0xa3, 0xf5, 0xdc, 0xf3, 0xcf, 0xff, 0x66, 0x4e, 0x37, 0x69, 0x43, 0xf3, 0x5d, 0xdc, 0x6b, 0x1c, 0x37, 0x20, 0x63, 0x15, 0x9f, 0x37, 0xd7, 0xd1, 0x09, 0xcf, 0x85, 0x6f, 0xbb, 0x81, 0xd2, 0x79, 0x30, 0x06, 0xce, 0xb5, 0x37, 0x63, 0xcf, 0x3b, 0xf8, 0x4c, 0x92, 0x75, 0xea, 0xda, 0xed, 0xaf, 0x90, 0x1b, 0x1b, 0xb1, 0xc0, 0xac, 0xb7, 0xcb, 0x35, 0xd6, 0xb0, 0xc3, 0x07, 0xf5, 0xfc, 0x46, 0x50, 0x3b, 0x18, 0xe7, 0x6f, 0xfb, 0xcd, 0x71, 0xad, 0x7c, 0x74, 0x68, 0x1c, 0xb9, 0xb4, 0xac, 0x0c, 0x71, 0xa4, 0x07, 0x56, 0x66, 0xf6, 0xa6, 0xfb, 0xcf, 0xac, 0x2c, 0x29, 0x33, 0x62, 0xab, 0xe6, 0xb8, 0x0e, 0x72, 0x2d, 0xd8, 0x7a, 0x16, 0x1e, 0x6c, 0x50, 0x0c, 0x9e, 0xfa, 0x41, 0xac, 0x29, 0x4d, 0x06, 0x3b, 0xa5, 0x08, 0xb0, 0x2c, 0x5d, 0x9a, 0x80, 0xbd, 0x5f, 0xa6, 0xaf, 0xc8, 0x77, 0x3d, 0x40, 0x74, 0x66, 0xc9, 0x2e, 0x37, 0xc3, 0x58, 0xf6, 0x8b, 0x5b, 0xf9, 0xa1, 0x93, 0x42, 0x3d, 0xf2, 0x94, 0xf1, 0xa4, 0xf8, 0x94, 0xf9, 0xd8, 0x67, 0x5e, 0xca, 0x9e, 0xcc, 0x69, 0x4d, 0x65, 0xca, 0xa9, 0x33, 0xc8, 0xaf, 0x71, 0x3c, 0x5e, 0xca, 0x00, 0x36, 0x75, 0x37, 0x5d, 0x90, 0xb1, 0x7b, 0x9f, 0x55, 0x7f, 0xd4, 0x8c, 0x3b, 0x78, 0x76, 0x60, 0xdc, 0xea, 0x2d, 0x72, 0x7e, 0xaa, 0x19, 0x21, 0x49, 0x92, 0x09, 0xe9, 0xb7, 0x6d, 0x4c, 0x3f, 0x86, 0x62, 0x1b, 0xbc, 0xee, 0x0c, 0x19, 0xac, 0x85, 0x5e, 0x36, 0xfe, 0x66, 0xa9, 0xab, 0x97, 0x8e, 0x9a, 0x0b, 0xd0, 0x2f, 0xdf, 0xe6, 0x49, 0x31, 0x79, 0xa7, 0x6c, 0xce, 0x81, 0xc0, 0xd4, 0x00, 0x72, 0x32, 0xfa, 0x6f, 0x4a, 0x8d, 0x29, 0x73, 0x06, 0xe8, 0x7f, 0x5a, 0x75, 0x80, 0xf0, 0x92, 0xc7, 0x2a, 0x9f, 0x01, 0xa7, 0xfc, 0x3e, 0x4a, 0x05, 0x24, 0x81, 0xaa, 0x17, 0xfa, 0x89, 0x24, 0xbe, 0xbd, 0xd6, 0xc0, 0xf3, 0x62, 0x27, 0xfb, 0x28, 0xb1, 0xe2, 0x7d, 0xbc, 0x9f, 0x86, 0x07, 0x26, 0x66, 0x53, 0x53, 0x68, 0xbe, 0xc0, 0x7f, 0x3d, 0xba, 0x44, 0x2e, 0xd6, 0x63, 0x5d, 0x56, 0x0b, 0x5d, 0x36, 0x66, 0x35, 0x86, 0xb9, 0xc7, 0x5f, 0xb6, 0x2c, 0xa7, 0xd9, 0x19, 0x25, 0xac, 0xa6, 0x5e, 0xfb, 0xd4, 0x11, 0x8f, 0xb5, 0x74, 0x89, 0xb0, 0xe1, 0xe3, 0x2d, 0xf5, 0x2f, 0x7e, 0x78, 0x29, 0x7c, 0xc3, 0x5c, 0x6e, 0x88, 0x96, 0xd8, 0xc7, 0x3c, 0xed, 0xa0, 0xaa, 0x7c, 0xc8, 0xe2, 0x51, 0x26, 0x15, 0x6a, 0x22, 0x9d, 0x48, 0xe0, 0xcc, 0x57, 0xdc, 0x20, 0xba, 0x05, 0x07, 0xcb, 0xc5, 0xbd, 0x76, 0x56, 0xb9, 0x55, 0x1d, 0x7f, 0xc0, 0x1c, 0x38, 0x86, 0x01, 0x05, 0x62, 0x2b, 0x7b, 0xd9, 0xfc, 0x7d, 0x20, 0x67, 0xfa, 0xd7, 0x6c, 0x63, 0x75, 0x4f, 0xe1, 0x27, 0x74, 0x12, 0xd2, 0xb2, 0x4b, 0x9d, 0x22, 0xa3, 0x67, 0x99, 0x0a, 0x78, 0x2d, 0x07, 0x86, 0xb6, 0xcd, 0x48, 0x5e, 0xbf, 0x03, 0xf6, 0xaa, 0xad, 0x79, 0xf3, 0x66, 0x8e, 0xc4, 0x7c, 0x38, 0x38, 0x6b, 0x6b, 0xc8, 0x55, 0xfb, 0x15, 0x2d, 0x98, 0x29, 0x91, 0xd8, 0xaa, 0xdf, 0xfd, 0x70, 0xe6, 0x04, 0x6e, 0x23, 0xbb, 0xb6, 0x18, 0xea, 0x74, 0xb4, 0x97, 0x1b, 0x40, 0x15, 0x31, 0x1a, 0x8f, 0x9c, 0x47, 0x85, 0x94, 0x0e, 0x87, 0x5d, 0xaa, 0x72, 0x58, 0x3b, 0x99, 0x04, 0x46, 0x9a, 0xe9, 0x6a, 0x00, 0x14, 0x65, 0xe2, 0xb3, 0xee, 0x43, 0xa0, 0x05, 0xa6, 0x6c, 0xfe, 0x6e, 0x1d, 0x18, 0x1c, 0x74, 0x85, 0x69, 0xbc, 0x45, 0x1e, 0xc2, 0x62, 0x99, 0xbf, 0x71, 0xa3, 0x4f, 0xde, 0xd2, 0x4d, 0x8b, 0x74, 0x45, 0xa6, 0xcd, 0xce, 0xbe, 0x20, 0x3d, 0x36, 0xc2, 0xd2, 0x90, 0x20, 0x30, 0x03, 0x27, 0x47, 0x18, 0xc3, 0x60, 0x07, 0x31, 0xf2, 0x87, 0x46, 0x06, 0xcb, 0x97, 0x55, 0x54, 0x93, 0x15, 0x5a, 0x57, 0x63, 0x07, 0x41, 0xf5, 0x35, 0x06, 0x5b, 0x11, 0x8a, 0x1a, 0x88, 0xb5, 0x06, 0x29, 0x8f, 0x32, 0x77, 0xe2, 0x5e, 0x6a, 0x93, 0x53, 0x08, 0x7e, 0x4a, 0xd9, 0xb6, 0xcd, 0xa2, 0x99, 0xc7, 0x35, 0x1b, 0xd1, 0xd0, 0xf7, 0xcc, 0x08, 0x47, 0x98, 0xdb, 0x74, 0xc9, 0x9e, 0x82, 0xb9, 0x04, 0x10, 0xec, 0x03, 0xf5, 0x06, 0x7d, 0xd9, 0xb2, 0xc4, 0x21, 0x16, 0x3f, 0x97, 0xc8, 0x30, 0x77, 0x00, 0xd1, 0xef, 0xd1, 0x3f, 0x3b, 0x20, 0xc9, 0xe5, 0x7b, 0x01, 0x9d, 0x8a, 0x1d, 0x26, 0x5d, 0x63, 0x13, 0x34, 0xeb, 0x60, 0xd0, 0x74, 0x86, 0x77, 0xc9, 0x9b, 0x80, 0x57, 0xc4, 0xba, 0xe2, 0x10, 0xff, 0x14, 0x18, 0xb1, 0xc4, 0x36, 0x79, 0xe9, 0x00, 0x04, 0xcf, 0xc1, 0x15, 0x6c, 0xd1, 0x95, 0xe9, 0x4c, 0x3e, 0xf6, 0x2c, 0x0d, 0xd1, 0xf5, 0xef, 0x8d, 0x50, 0xd7, 0x6e, 0xe8, 0x68, 0x1a, 0x01, 0x13, 0x9f, 0x1c, 0x7c, 0xe6, 0x0b, 0xc1, 0x6a, 0x8c, 0x38, 0xa0, 0x4e, 0xa5, 0xb5, 0x59, 0xd3, 0x2f, 0x19, 0x82, 0x85, 0xbc, 0x1d, 0x6f, 0xf8, 0x90, 0xa9, 0x24, 0xf5, 0xd7, 0xd4, 0x1e, 0xf8, 0x17, 0x36, 0x00, 0x0b, 0x7e, 0x40, 0xa0, 0x60, 0x71, 0xcf, 0xe4, 0x2d, 0x35, 0x02, 0x48, 0x97, 0x28, 0xe0, 0xd9, 0xaf, 0x79, 0xb5, 0x8f, 0xf7, 0xfc, 0xa6, 0xde, 0x2b, 0xad, 0x43, 0x6f, 0x6d, 0x22, 0x93, 0xb5, 0xfd, 0x0b, 0xc5, 0xc0, 0x51, 0xbe, 0xd5, 0xec, 0x6c, 0x8e, 0xa7, 0xfa, 0xd7, 0x57, 0xf0, 0x8d, 0x3f, 0x25, 0xe6, 0xd0, 0xda, 0x69, 0x1a, 0x6c, 0x3e, 0x91, 0xc3, 0xf5, 0xe7, 0x56, 0xaf, 0xb8, 0x6d, 0x96, 0x45, 0x7c, 0x3b, 0x21, 0x26, 0x8e, 0xa4, 0x07, 0x7a, 0x40, 0x60, 0x33, 0x52, 0x29, 0x5b, 0x4d, 0x52, 0x0d, 0x22, 0x5e, 0xcf, 0x78, 0xb7, 0xb5, 0x84, 0x58, 0x8a, 0xa9, 0xdd, 0xcc, 0xf7, 0xc4, 0x44, 0x9e, 0xe2, 0xfc, 0xbf, 0x58, 0x33, 0x4e, 0x5c, 0xac, 0x63, 0xfd, 0xe9, 0x22, 0x90, 0xf7, 0xd0, 0x6f, 0x0b, 0xc2, 0x3b, 0x7b, 0xc5, 0x90, 0x98, 0xf4, 0xaf, 0xe9, 0x19, 0x10, 0x2b, 0xa8, 0x98, 0x86, 0x6d, 0x43, 0xcc, 0x2f, 0x8d, 0xd6, 0x5b, 0xf1, 0xf1, 0x93, 0x10, 0xd3, 0xfe, 0xb3, 0xa2, 0x25, 0xb8, 0xeb, 0x08, 0x56, 0x99, 0x25, 0x0f, 0x9b, 0xb3, 0x6b, 0x93, 0xbc, 0x2f, 0xc0, 0xd2, 0xe2, 0x79, 0x22, 0xf4, 0x4c, 0x6e, 0x75, 0xdd, 0x3b, 0x56, 0x14, 0x5c, 0xad, 0x85, 0x70, 0x21, 0xe6, 0x70, 0xb0, 0x6f, 0x23, 0xb0, 0x86, 0x9f, 0x64, 0x28, 0xa2, 0x6d, 0x72, 0xd0, 0x86, 0x1f, 0x16, 0x87, 0xe8, 0xc2, 0x21, 0x90, 0x90, 0x3d, 0x44, 0x79, 0x87, 0x3b, 0x24, 0xeb, 0x3b, 0x2c, 0x7f, 0x3f, 0x3c, 0xe0, 0x1a, 0x8e, 0x97, 0x22, 0x8e, 0xfa, 0xa3, 0x78, 0x48, 0xbd, 0x3a, 0xb3, 0xd1, 0x31, 0x7b, 0xaf, 0x0d, 0xc9, 0x9b, 0x8f, 0x42, 0x5d, 0x4b, 0x0a, 0x2a, 0xc8, 0x33, 0x30, 0x88, 0xc3, 0xa0, 0xd4, 0xe5, 0xce, 0x99, 0xe5, 0xf0, 0x70, 0xbf, 0xaf, 0x5a, 0xe6, 0xc1, 0x11, 0x66, 0x79, 0x00, 0xae, 0x16, 0x06, 0x1b, 0x94, 0xb9, 0x1e, 0xd9, 0xa6, 0x2f, 0xdf, 0x40, 0x1a, 0xeb, 0xf2, 0xd6, 0x86, 0x78, 0x62, 0x67, 0x11, 0x1e, 0x24, 0xef, 0xe1, 0x9c, 0x4e, 0x34, 0xe8, 0x45, 0x30, 0x7a, 0x72, 0x31, 0xbe, 0xc3, 0x8f, 0x4c, 0xb8, 0xab, 0xd1, 0x30, 0xbb, 0xb1, 0xea, 0x46, 0x28, 0x74, 0x69, 0xc7, 0x0e, 0x4d, 0x9e, 0x00, 0x1d, 0x75, 0x93, 0x09, 0x0e, 0x5d, 0x03, 0x8d, 0x43, 0x0f, 0x05, 0x51, 0xef, 0x46, 0x01, 0x04, 0x50, 0xb0, 0x34, 0xcf, 0x6a, 0xbe, 0x03, 0xef, 0x87, 0x00, 0x19, 0x94, 0xbd, 0xd3, 0xa2, 0x3e, 0x2d, 0x0a, 0xb0, 0x98, 0xa8, 0x84, 0xc4, 0x43, 0x61, 0xc6, 0xea, 0x31, 0xc3, 0xb8, 0xc9, 0x43, 0x6a, 0x22, 0xc6, 0x49, 0xdd, 0xab, 0x2b, 0x9d, 0x81, 0xb5, 0x63, 0xc7, 0xa4, 0x26, 0x2a, 0x5c, 0x5e, 0xb1, 0x65, 0xd1, 0x99, 0x0b, 0x87, 0xba, 0xaf, 0xaa, 0x5a, 0x39, 0x1a, 0x5d, 0x73, 0x0c, 0x66, 0x1a, 0xee, 0x49, 0x60, 0x70, 0xdc, 0xb5, 0xa8, 0x07, 0xb2, 0xed, 0xba, 0xd4, 0x86, 0x74, 0x1a, 0xca, 0x58, 0x9b, 0x88, 0xa1, 0x1a, 0xa5, 0x6a, 0x87, 0xa4, 0xba, 0x36, 0x92, 0xa0, 0xd1, 0x8a, 0xcb, 0xf1, 0x2b, 0x1a, 0x08, 0x84, 0xb1, 0x3a, 0xaa, 0x81, 0xcc, 0xa2, 0x88, 0xc9, 0x75, 0x0a, 0x3f, 0xee, 0x75, 0x16, 0x28, 0x7a, 0x83, 0xa3, 0x9f, 0x4a, 0x42, 0xf8, 0xde, 0x7b, 0x1a, 0xfd, 0x0b, 0xb2, 0x74, 0xbf, 0x7f, 0x6a, 0x1d, 0x93, 0x0b, 0xee, 0x03, 0xdc, 0xbf, 0xb0, 0x16, 0x58, 0x79, 0x6b, 0x32, 0x50, 0xca, 0x7a, 0xa0, 0xd4, 0x45, 0x2e, 0x56, 0x78, 0x6c, 0xb7, 0x20, 0xf5, 0x42, 0x95, 0xec, 0xf5, 0x60, 0xf5, 0x94, 0x3e, 0x34, 0xbb, 0x2b, 0xf1, 0x61, 0xfb, 0x5b, 0xb5, 0x11, 0x15, 0x59, 0xfc, 0xe6, 0x47, 0x56, 0xa7, 0x3b, 0xe1, 0xdc, 0x0f, 0x79, 0xce, 0x2a, 0xd0, 0x8b, 0x27, 0xd5, 0x50, 0x2c, 0x0f, 0x78, 0x55, 0xad, 0x25, 0x5b, 0xfa, 0xda, 0xbb, 0x7e, 0xbd, 0xc6, 0x79, 0xd7, 0x79, 0xb7, 0xee, 0x48, 0x4c, 0xb7, 0x94, 0xa2, 0xfe, 0xf7, 0x68, 0xaf, 0x2b, 0xf6, 0xe9, 0xae, 0xc4, 0x3f, 0x2c, 0x8d, 0x90, 0xeb, 0x98, 0x45, 0xc4, 0x4d, 0x89, 0x8b, 0x6e, 0x6f, 0x97, 0xfd, 0x4a, 0x26, 0xc2, 0xd4, 0x8f, 0x04, 0xac, 0x2d, 0xa7, 0x7d, 0xae, 0x27, 0xfe, 0xb4, 0xe3, 0x15, 0xf8, 0x3a, 0xcc, 0x05, 0xaf, 0x1a, 0x69, 0x66, 0x02, 0x77, 0x0a, 0xbc, 0x0d, 0x22, 0x32, 0xc9, 0x45, 0x54, 0xb1, 0x59, 0x40, 0xe5, 0x43, 0x90, 0x5c, 0xa3, 0xd2, 0x2a, 0x80, 0x6d, 0x45, 0x9d, 0x93, 0xe8, 0xbf, 0xa2, 0xc2, 0xd1, 0x39, 0x58, 0x35, 0xf4, 0xd3, 0x5a, 0x10, 0x93, 0xcc, 0x58, 0xb8, 0x27, 0x2d, 0x62, 0xb8, 0x0f, 0x0a, 0x7b, 0xbc, 0x24, 0x5c, 0xeb, 0x6c, 0xda, 0xab, 0x6c, 0xdf, 0x4d, 0x18, 0x45, 0x19, 0xd5, 0xf4, 0x7d, 0xa0, 0xf5, 0x7b, 0xe4, 0x5c, 0x8a, 0x7f, 0x66, 0xea, 0xe2, 0xbf, 0xdd, 0x93, 0x2b, 0x63, 0xa1, 0x0c, 0x3e, 0xf6, 0xf0, 0x0f, 0x31, 0xf1, 0x87, 0x49, 0x7c, 0x89, 0xd1, 0x66, 0xcf, 0x4a, 0x40, 0x18, 0xb5, 0x38, 0xae, 0xf1, 0x08, 0xad, 0x94, 0x1e, 0xac, 0xa8, 0x02, 0x12, 0x0d, 0x69, 0x04, 0x02, 0xfd, 0xe6, 0x86, 0x51, 0x31, 0xfd, 0x4c, 0xa1, 0x06, 0x66, 0xf4, 0xe3, 0xed, 0xf6, 0x58, 0xd5, 0xfc, 0x47, 0xf3, 0x64, 0x4a, 0x6f, 0xac, 0x75, 0x52, 0x34, 0x37, 0xd6, 0x22, 0xbb, 0xad, 0x7d, 0x0f, 0xa7, 0xa0, 0x9c, 0x65, 0x9a, 0x82, 0x5d, 0x45, 0x6f, 0x72, 0x26, 0xf8, 0x2d, 0xe1, 0xef, 0x76, 0x07, 0xf8, 0x30, 0x65, 0x54, 0x48, 0x04, 0x2f, 0x19, 0xbb, 0xc9, 0x5a, 0xbb, 0x6e, 0x94, 0x45, 0xcc, 0x9e, 0x69, 0x0e, 0x14, 0x0f, 0x2f, 0x39, 0x5c, 0xed, 0xf5, 0x74, 0x32, 0x7b, 0xab, 0x07, 0xc9, 0xc4, 0x73, 0xe9, 0x19, 0x2c, 0xdc, 0x9b, 0x2e, 0x99, 0xca, 0x7d, 0xa7, 0x41, 0xcc, 0xda, 0x58, 0x85, 0x5d, 0x30, 0x9b, 0x31, 0x7f, 0x1f, 0x2a, 0x24, 0xc9, 0x6a, 0x0a, 0x95, 0xd3, 0x80, 0x31, 0x36, 0xb0, 0xd1, 0x69, 0x10, 0xa6, 0xa8, 0x3c, 0xd7, 0x54, 0xca, 0x29, 0x9d, 0x2e, 0x3a, 0xc7, 0x3f, 0xd1, 0xc2, 0x29, 0x76, 0x2c, 0x14, 0x39, 0x56, 0x45, 0x27, 0x7e, 0xff, 0xf4, 0x38, 0xaa, 0x4b, 0x9d, 0xa5, 0xc9, 0x97, 0x8c, 0x59, 0xe5, 0xc1, 0xd4, 0xa1, 0xc0, 0x17, 0xea, 0x54, 0x7a, 0xed, 0xeb, 0x89, 0x92, 0x9e, 0x69, 0xb1, 0xed, 0x15, 0x18, 0xde, 0x67, 0x85, 0x6e, 0xd6, 0x58, 0x00, 0x0c, 0xf6, 0x3d, 0x47, 0xef, 0xbf, 0xbc, 0x6e, 0x12, 0x1c, 0x85, 0x51, 0x16, 0xa5, 0x6f, 0x4f, 0xcd, 0xec, 0x34, 0x99, 0xff, 0xad, 0x30, 0xe3, 0xa5, 0x58, 0x7d, 0xd7, 0x8d, 0x41, 0xf7, 0x98, 0xa2, 0xc8, 0x4d, 0x18, 0x1f, 0x7b, 0xdd, 0xf4, 0xc6, 0x28, 0xe4, 0xf2, 0xb5, 0x74, 0x1d, 0xe9, 0xcc, 0x7a, 0x89, 0x77, 0xcc, 0x5a, 0x47, 0x5d, 0xe2, 0xfe, 0x70, 0x0c, 0x9f, 0x44, 0x80, 0xde, 0x45, 0x26, 0x6f, 0x78, 0xb5, 0xf2, 0xb5, 0x06, 0x4f, 0xa2, 0xbd, 0xd2, 0xbc, 0x7c, 0x6a, 0x15, 0xcb, 0xac, 0xa9, 0xfe, 0xf6, 0x1a, 0x17, 0x91, 0xf0, 0x41, 0xec, 0xc1, 0xff, 0x36, 0xf8, 0xa3, 0xea, 0x07, 0x02, 0x7f, 0xb5, 0xb8, 0x97, 0xe4, 0x1f, 0x86, 0x93, 0x75, 0x94, 0x40, 0x56, 0xfc, 0xec, 0xc5, 0xf8, 0xef, 0xac, 0x31, 0x30, 0xad, 0x84, 0x60, 0x27, 0xec, 0x33, 0x9b, 0x0d, 0xa9, 0xcd, 0xf1, 0x68, 0x2d, 0x86, 0x5b, 0x12, 0x58, 0xf4, 0xb4, 0x83, 0x7b, 0x72, 0xd7, 0xdc, 0x6e, 0x09, 0x03, 0xa8, 0x3c, 0xf2, 0x85, 0x13, 0x4d, 0xc2, 0xdc, 0x91, 0xe5, 0x82, 0x5c, 0x87, 0x90, 0x4b, 0x40, 0xec, 0xee, 0xe2, 0xf3, 0x04, 0x57, 0xbb, 0x70, 0xc2, 0xaf, 0xaf, 0x76, 0x36, 0xfa, 0x56, 0x4d, 0x56, 0x27, 0xe5, 0xd4, 0xd8, 0x3f, 0xbd, 0x78, 0x62, 0x9b, 0x8d, 0xa2, 0x22, 0x0c, 0x5c, 0xa8, 0x12, 0x77, 0xe0, 0x19, 0xe1, 0x63, 0x2f, 0x34, 0xf9, 0x81, 0x93, 0x5f, 0x4f, 0xb3, 0x74, 0xc2, 0x66, 0x3e, 0x37, 0x64, 0x21, 0x1c, 0x82, 0xf5, 0x96, 0xc7, 0x0a, 0xdb, 0xe2, 0x67, 0xee, 0x7f, 0xb0, 0x9d, 0xec, 0x34, 0x48, 0x40, 0x7d, 0x17, 0x8c, 0x08, 0xf5, 0x85, 0x3d, 0xc6, 0x91, 0x5e, 0x52, 0xf2, 0xb9, 0x58, 0xc6, 0xb0, 0x27, 0x70, 0x49, 0x3a, 0x0d, 0x77, 0x72, 0xf4, 0x52, 0xad, 0xbb, 0x6e, 0x0c, 0x1f, 0x56, 0x28, 0x2d, 0x37, 0x6c, 0x16, 0x15, 0x09, 0x2d, 0x7c, 0x5c, 0x49, 0x7f, 0x2b, 0x6e, 0x84, 0xc4, 0xfd, 0x72, 0x16, 0xec, 0x6f, 0x9d, 0x1a, 0x70, 0xfe, 0xe5, 0x52, 0x4e, 0x26, 0x35, 0x97, 0x96, 0x68, 0xde, 0x3c, 0x1e, 0x0c, 0x7b, 0x16, 0x33, 0x36, 0xd2, 0xa4, 0x16, 0xd6, 0xad, 0x3d, 0x23, 0xc9, 0x88, 0x02, 0xe3, 0x5a, 0xcc, 0xdf, 0xb3, 0x05, 0x14, 0x87, 0x0a, 0x8f, 0xa9, 0xf6, 0x87, 0x3c, 0x5d, 0x92, 0x6f, 0x02, 0x78, 0xe4, 0x42, 0x33, 0x07, 0x08, 0xaa, 0x46, 0xa7, 0xd1, 0x40, 0x64, 0xcf, 0xcf, 0x7b, 0x48, 0x3a, 0x33, 0xe3, 0x73, 0x63, 0x36, 0x28, 0x84, 0xda, 0x51, 0xf5, 0x0c, 0x71, 0x71, 0x6f, 0x73, 0xdf, 0x8c, 0xe3, 0xd2, 0xee, 0xe3, 0xaf, 0xc1, 0x96, 0xa1, 0x55, 0xe3, 0x2d, 0x31, 0xb9, 0xac, 0x45, 0xde, 0xd9, 0x3b, 0x94, 0x90, 0xc7, 0x13, 0x35, 0xbe, 0x47, 0xa6, 0xf6, 0x42, 0x2b, 0xcc, 0x41, 0xa3, 0x43, 0xbc, 0xcd, 0x76, 0xe2, 0x26, 0xf9, 0x90, 0x51, 0x69, 0x20, 0x84, 0x74, 0x9c, 0x57, 0x9f, 0x4c, 0x56, 0xe4, 0x17, 0x60, 0xd6, 0xcb, 0x5f, 0xbf, 0x8b, 0x33, 0x19, 0xde, 0x5e, 0x89, 0x34, 0xa0, 0xe1, 0x62, 0x56, 0x83, 0x77, 0xc2, 0x4e, 0x80, 0x25, 0xff, 0x64, 0x8c, 0xb9, 0xe8, 0xec, 0xe0, 0x13, 0x3f, 0xf4, 0xe2, 0x15, 0x63, 0x95, 0x47, 0x5c, 0x9f, 0x98, 0x1d, 0xde, 0x2a, 0x38, 0x91, 0x25, 0x55, 0x1d, 0xd5, 0xa8, 0x45, 0x37, 0x09, 0x79, 0x9e, 0x8d, 0x1a, 0x10, 0x12, 0xa7, 0x03, 0xb2, 0xa3, 0x17, 0x66, 0xba, 0x93, 0x13, 0x50, 0x15, 0xff, 0x54, 0x11, 0xcf, 0xe7, 0x6f, 0xf6, 0x47, 0x47, 0xb1, 0x67, 0xdd, 0x69, 0xcd, 0xa5, 0x34, 0xa1, 0xc1, 0xcb, 0xa2, 0xb8, 0x04, 0x6f, 0x6d, 0xd0, 0x04, 0xfe, 0xe8, 0xef, 0x70, 0x30, 0x67, 0x15, 0xb9, 0xe8, 0x4a, 0x28, 0xd1, 0x28, 0x4c, 0xf1, 0x7c, 0xe7, 0x5b, 0xcd, 0x38, 0x1d, 0x78, 0x13, 0x4e, 0x18, 0x25, 0xaf, 0x21, 0xc4, 0x10, 0x4b, 0x8c, 0xcd, 0xfa, 0xf0, 0xa4, 0xd3, 0xf0, 0x86, 0x74, 0x8a, 0xc6, 0x72, 0xa8, 0xc1, 0x2e, 0xad, 0x3a, 0x1e, 0xa4, 0x62, 0x5a, 0x1d, 0x0b, 0x3d, 0x0f, 0xc9, 0xcb, 0x8c, 0xe9, 0x03, 0xe9, 0x4f, 0x0f, 0xed, 0x9e, 0x74, 0x50, 0xf4, 0x58, 0x8d, 0xbe, 0x66, 0xa4, 0xab, 0x68, 0x23, 0xea, 0x64, 0x4b, 0x44, 0xc7, 0x8a, 0x22, 0x38, 0xbe, 0x65, 0xfa, 0x40, 0x2e, 0x3b, 0x1a, 0xd9, 0x69, 0x05, 0xa1, 0xd4, 0x95, 0x5e, 0x29, 0xf5, 0xaf, 0x9d, 0x9f, 0x1d, 0xd1, 0x5c, 0x1a, 0x8a, 0xc9, 0xda, 0xa4, 0x70, 0x7f, 0x6c, 0x15, 0x08, 0x1a, 0x89, 0xb7, 0xfb, 0x25, 0xcf, 0xfd, 0xfa, 0xa6, 0x17, 0x1c, 0x10, 0x75, 0x70, 0x97, 0xbc, 0x19, 0xa8, 0x93, 0x83, 0x57, 0xef, 0x38, 0x6b, 0x50, 0xb6, 0x05, 0xdf, 0x8a, 0xb2, 0xd3, 0xa4, 0x5b, 0x21, 0x61, 0x57, 0xf0, 0x9d, 0x9c, 0xe3, 0xf4, 0xf4, 0x2c, 0x4c, 0xd8, 0xf7, 0xd5, 0x70, 0x31, 0xff, 0xe8, 0x50, 0x82, 0x03, 0x4b, 0x0d, 0x56, 0x4d, 0x70, 0x74, 0x15, 0xfa, 0xac, 0xa6, 0x2f, 0x0a, 0xb3, 0xa5, 0xbb, 0x19, 0x92, 0xa0, 0x88, 0xb1, 0x8b, 0xdb, 0xc5, 0x86, 0x44, 0x96, 0x6c, 0xe9, 0x8c, 0x82, 0xcb, 0x00, 0x6a, 0x8b, 0xe6, 0x6c, 0x90, 0x38, 0x63, 0xb0, 0x90, 0x6a, 0x19, 0x64, 0x18, 0x1a, 0xd6, 0xb0, 0x74, 0x09, 0x23, 0x15, 0x34, 0x3c, 0xf5, 0x1e, 0x62, 0x03, 0xed, 0x79, 0x18, 0x0d, 0x6b, 0xc7, 0x2f, 0xc9, 0xd3, 0x0e, 0xa0, 0x45, 0x78, 0x18, 0x82, 0xb6, 0x0a, 0x61, 0x7b, 0x5f, 0x58, 0x11, 0x1d, 0xf7, 0x95, 0x15, 0x3d, 0x66, 0x26, 0x7b, 0xb6, 0x28, 0xc1, 0x52, 0xd9, 0x60, 0xa7, 0xfe, 0x81, 0xd2, 0xd0, 0x44, 0x83, 0xe7, 0x6a, 0xe5, 0xd9, 0x30, 0xfa, 0x87, 0x3a, 0xd2, 0xa3, 0xba, 0xdf, 0x4f, 0xf7, 0x04, 0x1e, 0xb5, 0xb7, 0xfb, 0x09, 0x23, 0xaa, 0x22, 0x50, 0xea, 0x69, 0x73, 0x2d, 0x74, 0x50, 0x9f, 0xdc, 0x96, 0xcd, 0xad, 0x63, 0xc0, 0xaa, 0xdd, 0x2c, 0xf3, 0x68, 0x90, 0x53, 0xfb, 0x2c, 0xef, 0x34, 0x01, 0x7b, 0x2c, 0x47, 0x70, 0x9a, 0x10, 0xa4, 0x26, 0x84, 0x0f, 0x9f, 0x3f, 0xe0, 0x17, 0x8f, 0xdb, 0x0b, 0x3c, 0xbc, 0x33, 0x81, 0xb3, 0x03, 0xd8, 0x2d, 0x99, 0xd1, 0x18, 0x61, 0x5e, 0x14, 0x59, 0x3e, 0xe4, 0x1b, 0x89, 0x8c, 0xc8, 0x72, 0x5f, 0xdb, 0x4e, 0x51, 0xe2, 0x9e, 0x6b, 0x26, 0xa5, 0x09, 0xd3, 0x26, 0x7a, 0x1b, 0x16, 0x54, 0xdb, 0x3e, 0x96, 0x75, 0xbc, 0xba, 0x44, 0x7f, 0x3f, 0xea, 0x6e, 0xae, 0x72, 0x4e, 0xff, 0x7d, 0x96, 0x82, 0xfb, 0x05, 0xd6, 0x86, 0xac, 0xc6, 0x25, 0x39, 0x21, 0xd1, 0x27, 0x87, 0x33, 0x1f, 0x29, 0xed, 0xf7, 0x5c, 0x3f, 0x77, 0x66, 0x74, 0x3f, 0x6c, 0x0b, 0xb7, 0x8b, 0xde, 0x4b, 0xde, 0x0b, 0xe3, 0xc5, 0xb7, 0x52, 0xdf, 0xe9, 0x3d, 0x20, 0x95, 0xa3, 0xca, 0x41, 0x8a, 0xc0, 0xc8, 0xda, 0x97, 0xf2, 0x43, 0x8e, 0x39, 0x3d, 0xd6, 0xdf, 0xfa, 0x01, 0xb8, 0x5f, 0xae, 0x9c, 0x8d, 0xbe, 0x64, 0xf4, 0x2b, 0x18, 0x62, 0x3a, 0xd7, 0xf0, 0xd6, 0x4d, 0xf4, 0x77, 0x2b, 0x02, 0xa2, 0xa7, 0x55, 0x89, 0xf0, 0x98, 0xaf, 0x64, 0x84, 0xf3, 0x24, 0xd3, 0x72, 0x37, 0x88, 0xb5, 0x24, 0xb1, 0x03, 0x2b, 0x61, 0x4d, 0x4d, 0xb8, 0x6c, 0xf6, 0xad, 0x75, 0x47, 0xcc, 0xed, 0x2e, 0xf9, 0x62, 0x0a, 0x54, 0x8b, 0x41, 0x20, 0x20, 0xbe, 0xd2, 0x9d, 0x30, 0x15, 0x82, 0xcf, 0xd8, 0x61, 0xc9, 0xb9, 0x9b, 0x7a, 0x9a, 0x4c, 0xeb, 0x96, 0xc0, 0x8b, 0x68, 0xba, 0x06, 0xa7, 0x27, 0x98, 0xfb, 0x41, 0x15, 0x3d, 0xcb, 0x85, 0x21, 0x21, 0xfe, 0x5a, 0x91, 0xd4, 0xf0, 0x97, 0xcb, 0x47, 0xa8, 0xf5, 0xdc, 0x1d, 0xae, 0xe8, 0xf2, 0xb0, 0xc1, 0xd4, 0x29, 0x1d, 0xb0, 0x81, 0x27, 0x5f, 0xf7, 0x92, 0x01, 0xfb, 0x28, 0xe1, 0x9f, 0x64, 0xb1, 0xac, 0x94, 0x09, 0x50, 0x9f, 0xd9, 0x19, 0x3f, 0xb5, 0xaf, 0xcd, 0xed, 0x64, 0x7c, 0x50, 0x7e, 0xac, 0x30, 0x65, 0x3c, 0x7b, 0x2c, 0x28, 0x5c, 0x58, 0x2a, 0x1d, 0x3b, 0x8b, 0x24, 0x81, 0x4b, 0x23, 0xe3, 0x4f, 0x17, 0xed, 0x72, 0x04, 0x2a, 0x7f, 0x0f, 0x87, 0xd7, 0x4b, 0xa2, 0xf4, 0x35, 0x48, 0xbe, 0x95, 0xe3, 0x36, 0x39, 0x26, 0xde, 0x28, 0x81, 0x98, 0x0e, 0x3f, 0x7a, 0x70, 0xdd, 0xa9, 0x89, 0x9f, 0xbf, 0x0b, 0x93, 0x0f, 0x35, 0x8c, 0x4d, 0xae, 0x97, 0xf2, 0xa0, 0x38, 0x42, 0x63, 0x99, 0x49, 0xfc, 0x41, 0x9b, 0x46, 0x3e, 0x38, 0x4a, 0x8d, 0xba, 0xb2, 0xdd, 0xea, 0x8c, 0x1c, 0x70, 0x82, 0x17, 0xd6, 0xb4, 0xab, 0x10, 0x09, 0x25, 0x84, 0x79, 0xca, 0x10, 0xa9, 0x43, 0xfa, 0x59, 0x95, 0xac, 0xb0, 0xb7, 0x96, 0xaa, 0x00, 0xe1, 0xe7, 0xba, 0x2c, 0x97, 0x2a, 0x6f, 0x15, 0x37, 0x30, 0x6c, 0xe2, 0x68, 0x96, 0x82, 0x4a, 0xbc, 0x4b, 0xdf, 0xa3, 0xcb, 0xf6, 0x81, 0x3f, 0xb6, 0x0f, 0x6d, 0xc7, 0xad, 0xa2, 0xaf, 0x74, 0xaf, 0x74, 0x6a, 0xd2, 0x22, 0x1b, 0x10, 0x42, 0x03, 0x38, 0x55, 0xe9, 0x56, 0x70, 0x96, 0xbc, 0x62, 0xdc, 0x29, 0xab, 0xde, 0xa6, 0xf2, 0xa8, 0x09, 0x45, 0x4e, 0x76, 0x70, 0x87, 0x3b, 0x00, 0x91, 0xa9, 0x7c, 0x66, 0x41, 0x4f, 0x1f, 0xba, 0x3c, 0xbe, 0x60, 0xde, 0x34, 0xff, 0x91, 0xbb, 0x1d, 0xef, 0xcc, 0xf8, 0x12, 0x46, 0x6f, 0x0f, 0x8e, 0x40, 0x4d, 0x0c, 0x9e, 0x71, 0x4e, 0x99, 0xd0, 0xdc, 0x0b, 0xd3, 0x0d, 0xe9, 0xd2, 0x66, 0xb0, 0x31, 0xec, 0xa9, 0x23, 0xca, 0xb6, 0x54, 0x0c, 0x36, 0x90, 0x78, 0x76, 0x24, 0x01, 0xf0, 0x88, 0xe7, 0x9b, 0xd2, 0xe7, 0x87, 0x12, 0x47, 0x7c, 0x52, 0x1f, 0xb3, 0x46, 0xb6, 0x91, 0x23, 0xff, 0x0e, 0xc5, 0xa1, 0xe6, 0xf6, 0x2f, 0x84, 0xb0, 0xba, 0xd3, 0xc7, 0x0c, 0x82, 0xd9, 0xe0, 0x50, 0xd6, 0x2e, 0x2d, 0xd5, 0xfc, 0x52, 0xfa, 0x75, 0xdf, 0x0d, 0xe3, 0x36, 0x16, 0x73, 0x8c, 0xfe, 0x3f, 0xe4, 0xe9, 0x8c, 0x24, 0x5d, 0x7a, 0x1e, 0x83, 0xae, 0x7a, 0x61, 0x66, 0x08, 0x81, 0x37, 0x1d, 0xca, 0xc0, 0x39, 0xb5, 0x23, 0xe0, 0xc8, 0xcc, 0xb7, 0x54, 0x9f, 0x1c, 0xbb, 0x59, 0x4f, 0xa5, 0x5b, 0x28, 0xf0, 0x55, 0xc5, 0x91, 0x20, 0xe7, 0xd4, 0xba, 0x94, 0xff, 0xd5, 0xac, 0x0d, 0x92, 0xfb, 0xce, 0x19, 0x90, 0x14, 0xd6, 0x10, 0x74, 0xcb, 0x42, 0xeb, 0x3a, 0x53, 0x78, 0x05, 0x4e, 0x8a, 0xe9, 0xb6, 0x6f, 0x61, 0x55, 0x51, 0x6e, 0x09, 0x20, 0xc6, 0xa4, 0x1b, 0x66, 0x50, 0xec, 0x1e, 0xa0, 0x9c, 0x2a, 0x55, 0x42, 0xaa, 0x84, 0x4c, 0xe5, 0x1b, 0x3c, 0xfa, 0x77, 0x0a, 0xa8, 0x67, 0x41, 0x2d, 0x9c, 0x0f, 0x9f, 0x50, 0x76, 0xc1, 0x1a, 0xed, 0x62, 0xbd, 0xf7, 0x0f, 0x83, 0x80, 0x6d, 0x49, 0x2c, 0xb5, 0x8d, 0x24, 0x48, 0x08, 0x9b, 0xe4, 0x55, 0x35, 0xf3, 0xbd, 0x75, 0x4c, 0x6f, 0x31, 0x63, 0x1d, 0xab, 0x60, 0x8c, 0xf2, 0x3e, 0x41, 0xb6, 0x26, 0x94, 0x41, 0x84, 0xd8, 0x03, 0x81, 0x6d, 0x7f, 0x77, 0x67, 0xd3, 0xed, 0xbf, 0x10, 0x22, 0x8d, 0x2b, 0x77, 0xd7, 0x33, 0xb9, 0x2e, 0x2e, 0xbc, 0x76, 0xd4, 0x0f, 0x05, 0xf7, 0xaa, 0x17, 0xdf, 0x70, 0x48, 0xe7, 0xa4, 0x03, 0x4f, 0xec, 0xd6, 0x22, 0xfc, 0x06, 0x8f, 0x4d, 0x15, 0x48, 0xd8, 0x2a, 0xdd, 0xa3, 0x0c, 0x05, 0x6d, 0x29, 0xe3, 0x6b, 0xf6, 0x9b, 0x76, 0x20, 0x35, 0x5f, 0xd9, 0xf1, 0x85, 0xbc, 0x0c, 0x1c, 0x4f, 0x1b, 0x88, 0xe5, 0x78, 0xf6, 0x46, 0x16, 0xab, 0x31, 0x87, 0xe0, 0x9a, 0xd2, 0xf6, 0x47, 0xca, 0x0e, 0xcc, 0xaf, 0x44, 0xfd, 0x8e, 0x0f, 0x4c, 0x03, 0xc7, 0x1a, 0x25, 0x73, 0x41, 0x8f, 0x07, 0x1e, 0x67, 0x6d, 0xa2, 0x2a, 0x49, 0x80, 0x79, 0x1f, 0x4f, 0x98, 0x51, 0x70, 0x08, 0x2c, 0x1c, 0xe1, 0x16, 0xe2, 0xbf, 0xc6, 0x9d, 0x51, 0x03, 0xe1, 0xc4, 0xcc, 0x62, 0x01, 0xc8, 0x94, 0xda, 0xc0, 0x6c, 0x14, 0x73, 0x80, 0x3c, 0x01, 0xed, 0x52, 0x60, 0xe1, 0x44, 0x3f, 0xd2, 0xe3, 0xfe, 0xaa, 0x60, 0xd5, 0x43, 0x18, 0xbf, 0xe0, 0xf6, 0x0e, 0x6c, 0x4f, 0x2d, 0x73, 0xcf, 0x96, 0x86, 0x48, 0x42, 0xfe, 0xe5, 0x73, 0x30, 0xb9, 0x34, 0x65, 0x39, 0x84, 0x4d, 0x55, 0xad, 0xd4, 0x75, 0xcc, 0xf0, 0x6f, 0x65, 0xde, 0x65, 0x4c, 0x91, 0xea, 0x3b, 0xfb, 0xaf, 0x9e, 0xc5, 0xcb, 0x41, 0xc1, 0x42, 0x03, 0xe4, 0x57, 0x44, 0x23, 0x7f, 0x1a, 0xa4, 0x39, 0x3d, 0xe7, 0xef, 0xc4, 0xf7, 0x49, 0x6f, 0x45, 0x34, 0xab, 0xa6, 0x4a, 0xfd, 0x39, 0xe7, 0x5d, 0x2a, 0x96, 0x0e, 0x35, 0x3a, 0xe7, 0x47, 0x2a, 0xe2, 0xc9, 0x40, 0xdb, 0x01, 0x49, 0x37, 0x30, 0xd7, 0x2a, 0xe3, 0xac, 0xa8, 0x49, 0xa6, 0xae, 0x52, 0xcc, 0xbc, 0x54, 0x36, 0x8b, 0x7a, 0xc4, 0x25, 0x16, 0x63, 0x7d, 0x88, 0x87, 0x98, 0xae, 0x83, 0x65, 0x19, 0xf4, 0x82, 0xc2, 0xec, 0x9c, 0xd8, 0x7c, 0xa1, 0xd5, 0x63, 0x96, 0x40, 0x40, 0xfb, 0x40, 0xa8, 0x32, 0x9c, 0xc9, 0x01, 0xa2, 0x78, 0xac, 0xf5, 0xd0, 0xd8, 0xea, 0xb7, 0x2e, 0x55, 0x82, 0x9e, 0x6d, 0x1e, 0x1e, 0x68, 0x14, 0x22, 0x3a, 0xe7, 0x50, 0xe3, 0x7e, 0x75, 0xac, 0xd4, 0xb1, 0x8f, 0xf9, 0x03, 0x1f, 0x3f, 0xbf, 0xff, 0xc1, 0xb2, 0xa5, 0x31, 0x92, 0xfb, 0x5e, 0x2d, 0x2c, 0x85, 0x8e, 0xc6, 0x40, 0xcc, 0x8a, 0xc2, 0xaa, 0xa5, 0xfb, 0x5c, 0x9f, 0x8e, 0x95, 0x58, 0xed, 0x67, 0x37, 0xf7, 0xf4, 0xfa, 0xfa, 0x2c, 0xcc, 0xe7, 0x88, 0x44, 0x92, 0xdc, 0x48, 0x1f, 0xfb, 0x91, 0x19, 0x7a, 0xc2, 0x02, 0xfe, 0x42, 0x5f, 0x24, 0x5e, 0x64, 0x7a, 0xca, 0xf0, 0x0a, 0x4e, 0x66, 0x6d, 0xf0, 0xa5, 0x1d, 0xf7, 0x7b, 0x02, 0xae, 0x12, 0x30, 0xaa, 0xda, 0x4b, 0xd2, 0x3a, 0x5b, 0xf2, 0xc0, 0x3d, 0x9b, 0x8e, 0x16, 0xe5, 0x82, 0x0e, 0x5f, 0x82, 0x46, 0xb0, 0x7b, 0x98, 0xac, 0xf4, 0x91, 0x07, 0x82, 0xd6, 0x5f, 0xf4, 0xc3, 0x25, 0x93, 0xaf, 0x9d, 0x46, 0x54, 0x74, 0x91, 0x9d, 0x13, 0x0a, 0x21, 0x98, 0x85, 0xd1, 0xc3, 0xf3, 0x96, 0x95, 0xd0, 0x5b, 0xb0, 0x8f, 0xad, 0x88, 0x5a, 0xbd, 0x83, 0x33, 0x3b, 0x38, 0xb9, 0xa6, 0x17, 0x46, 0x5d, 0xb6, 0x36, 0xac, 0xf2, 0x15, 0xa7, 0x24, 0x6a, 0xf5, 0x1d, 0xef, 0xc3, 0xde, 0x0d, 0x16, 0xf8, 0x95, 0x25, 0xce, 0x8f, 0xe6, 0x71, 0xce, 0x67, 0x8e, 0x68, 0x49, 0x9c, 0x84, 0xd2, 0xaa, 0xd3, 0xcb, 0xb2, 0x06, 0xae, 0xd0, 0x52, 0x72, 0xf9, 0x8f, 0x91, 0xbe, 0x61, 0x17, 0x41, 0xf1, 0x4e, 0x0a, 0x9c, 0xaa, 0xb5, 0x19, 0x1d, 0xf5, 0x71, 0x6e, 0x8e, 0xe0, 0xe8, 0xe3, 0xf3, 0x90, 0x3d, 0xc6, 0x75, 0x68, 0xac, 0x8f, 0x44, 0x8e, 0x9e, 0xa1, 0xe4, 0xc1, 0x98, 0xae, 0x07, 0x15, 0xbd, 0x92, 0x52, 0x23, 0x3a, 0xbf, 0xfb, 0x0c, 0x2d, 0x9d, 0xaa, 0xc9, 0x7b, 0x26, 0x5b, 0xe1, 0x33, 0x42, 0x16, 0x3c, 0x9f, 0x9f, 0x11, 0xd5, 0xd1, 0x51, 0x30, 0x66, 0x0a, 0x92, 0x94, 0xeb, 0x42, 0x37, 0x02, 0x58, 0x5e, 0x89, 0x3f, 0x4c, 0xe0, 0x79, 0x9e, 0x1d, 0xcf, 0xa3, 0x3d, 0x93, 0x5c, 0xd3, 0x63, 0xca, 0xc4, 0xe5, 0x98, 0xe7, 0x1c, 0xbf, 0x62, 0xac, 0xe6, 0x3c, 0x10, 0x4e, 0xcb, 0xbf, 0x7c, 0xb6, 0x30, 0xe2, 0xdf, 0x84, 0x40, 0x6d, 0x7b, 0xae, 0xe1, 0xfb, 0x55, 0x96, 0xfa, 0x6c, 0xe0, 0x22, 0x0f, 0x2d, 0x5a, 0x7b, 0xbb, 0xdf, 0xa7, 0xe9, 0xbc, 0x19, 0xe6, 0x96, 0xbc, 0x97, 0x10, 0xb5, 0xce, 0x9f, 0x6f, 0xb8, 0xdd, 0x7c, 0xc2, 0x6c, 0xd3, 0x96, 0x4b, 0xc2, 0xed, 0xd5, 0x3d, 0x09, 0xbc, 0xf9, 0xbc, 0x28, 0xef, 0x2d, 0x32, 0x4c, 0x9f, 0x0a, 0xff, 0x1d, 0xc3, 0xf0, 0x5f, 0x05, 0x8d, 0x7b, 0x28, 0x12, 0xb2, 0x4f, 0xef, 0x65, 0x70, 0x82, 0xb1, 0x94, 0x1d, 0xa9, 0x5f, 0xb9, 0xc5, 0xb9, 0x8c, 0xf2, 0x0c, 0xba, 0x8a, 0xe2, 0x84, 0xa3, 0x82, 0x8a, 0x9a, 0xde, 0xb6, 0x49, 0xe3, 0xf1, 0x97, 0x73, 0x47, 0x88, 0x44, 0xff, 0x30, 0xb5, 0x27, 0xa4, 0x05, 0x67, 0x94, 0xf2, 0x71, 0xd6, 0x5d, 0x29, 0x12, 0x84, 0x94, 0x06, 0xe3, 0x40, 0x2a, 0xee, 0xa4, 0x43, 0x27, 0x27, 0x6c, 0x92, 0xaa, 0x7e, 0xf4, 0x2c, 0x49, 0xbe, 0x9e, 0x58, 0x11, 0x0f, 0xc5, 0x5b, 0xb4, 0x44, 0x29, 0x56, 0xf6, 0x3a, 0x35, 0x4b, 0x3d, 0x2e, 0x28, 0xb2, 0x88, 0xf4, 0xab, 0x90, 0x1f, 0xbc, 0xc0, 0xf2, 0xe2, 0x36, 0x3c, 0x53, 0xa3, 0x96, 0x71, 0xa2, 0xef, 0x25, 0xd1, 0xe1, 0x28, 0xf4, 0x63, 0x3d, 0x1b, 0x85, 0x69, 0xec, 0x56, 0xbe, 0x06, 0xec, 0x2c, 0x65, 0x15, 0x10, 0x02, 0xde, 0x8b, 0x34, 0x7c, 0x40, 0x5f, 0x11, 0x6e, 0x26, 0x4d, 0x24, 0xce, 0xdd, 0x6b, 0x3d, 0x87, 0x62, 0x5a, 0x45, 0x29, 0x12, 0xf2, 0x9a, 0x71, 0x05, 0x09, 0x13, 0x08, 0x78, 0xf7, 0xdf, 0x5f, 0x3e, 0x32, 0xf4, 0x11, 0x10, 0x98, 0x83, 0x9e, 0x2f, 0xc9, 0xd7, 0x65, 0xf5, 0x62, 0x57, 0xcf, 0xe6, 0xfb, 0x63, 0x76, 0x80, 0x95, 0x6b, 0xa2, 0x6f, 0xcb, 0xcf, 0xef, 0xde, 0xc8, 0xe2, 0x29, 0x0a, 0x50, 0x93, 0x44, 0xa7, 0x56, 0x73, 0xdf, 0xad, 0xbb, 0x2e, 0x30, 0xdf, 0x43, 0x85, 0x01, 0x77, 0xbd, 0xd4, 0x72, 0x45, 0x65, 0xff, 0xa4, 0x14, 0x40, 0xa7, 0x19, 0xac, 0xce, 0x5f, 0xee, 0x15, 0xa6, 0x1b, 0xa4, 0x8c, 0x2b, 0xf7, 0x91, 0x5a, 0xdb, 0xb9, 0x46, 0x54, 0x70, 0x22, 0x03, 0x04, 0xe7, 0x35, 0xf5, 0x7f, 0x5c, 0xbd, 0x1a, 0x35, 0x5e, 0x4a, 0xfe, 0xaf, 0x99, 0xd7, 0x5e, 0x62, 0xbe, 0xff, 0x6a, 0x83, 0x0a, 0x21, 0xa5, 0x13, 0x5d, 0xe9, 0x15, 0x97, 0xfb, 0x94, 0xc9, 0xe1, 0xfd, 0xf4, 0x6c, 0xea, 0x6c, 0x98, 0x1c, 0xd1, 0x75, 0xbd, 0x24, 0xf0, 0x3a, 0x40, 0x69, 0x7f, 0xb7, 0x2d, 0xc2, 0x6b, 0xae, 0x79, 0x54, 0x87, 0xba, 0x47, 0xdf, 0xfb, 0xaa, 0x14, 0x9e, 0x67, 0x5a, 0x2c, 0x4f, 0x71, 0xdd, 0x86, 0xef, 0x3b, 0x69, 0xe9, 0x63, 0x59, 0x66, 0xd2, 0x6f, 0x09, 0xf2, 0x06, 0xbe, 0x80, 0xd8, 0xd0, 0x20, 0x2a, 0x7e, 0x4c, 0xcc, 0x56, 0x46, 0xcf, 0x7c, 0x33, 0x9e, 0x66, 0x1b, 0xce, 0x54, 0x32, 0x6d, 0xa3, 0x6f, 0xb0, 0x8b, 0x7d, 0xf7, 0x5f, 0x4a, 0x39, 0xdd, 0xfd, 0x0d, 0x81, 0xa7, 0x27, 0xd8, 0x38, 0xd6, 0xc9, 0x96, 0xbb, 0x93, 0x75, 0xa3, 0xad, 0x63, 0xdc, 0x5e, 0xac, 0x95, 0x73, 0xcd, 0xa0, 0x32, 0x41, 0x58, 0xdb, 0xa0, 0x1a, 0x03, 0xfa, 0xfc, 0x67, 0xeb, 0xdd, 0xc5, 0x63, 0xa4, 0xef, 0x93, 0xe5, 0x24, 0x27, 0xc9, 0x58, 0xd8, 0x87, 0x2e, 0x02, 0xd9, 0xf8, 0x98, 0x7d, 0x27, 0x21, 0xfb, 0xfb, 0x56, 0xc6, 0xe7, 0xa1, 0xa6, 0x35, 0x07, 0xb4, 0x0d, 0xc8, 0x85, 0xef, 0x0e, 0x9c, 0x2c, 0xd2, 0xcf, 0xcf, 0x8b, 0x68, 0xb2, 0x6d, 0xa8, 0x84, 0xbb, 0xaa, 0x59, 0x22, 0x9c, 0x37, 0xe6, 0x23, 0x58, 0xee, 0x83, 0x3f, 0xc9, 0xa5, 0x18, 0x51, 0x2c, 0xd8, 0xc3, 0x66, 0xe2, 0x2e, 0x30, 0x95, 0xa0, 0x54, 0x3c, 0x48, 0x50, 0x12, 0x7a, 0xae, 0x2a, 0x21, 0x3b, 0xaa, 0x90, 0x57, 0x32, 0x02, 0x88, 0x2d, 0x07, 0xc0, 0x55, 0x7c, 0xb8, 0x5c, 0x42, 0x5c, 0xcd, 0x92, 0x9f, 0x54, 0xc5, 0xd0, 0xd1, 0x06, 0x3f, 0x4c, 0xcb, 0x73, 0xae, 0x8d, 0x9c, 0x77, 0x89, 0xe7, 0x05, 0x1d, 0xe7, 0x2d, 0x90, 0x68, 0x89, 0xe9, 0x77, 0x75, 0xf1, 0x0f, 0xab, 0xf8, 0x83, 0xb0, 0x5c, 0x06, 0xbc, 0x84, 0xc8, 0xab, 0xd8, 0xeb, 0x1f, 0xa0, 0x9c, 0x35, 0x46, 0xce, 0x50, 0x97, 0xef, 0xcb, 0x53, 0x90, 0xf2, 0x8f, 0x88, 0x6d, 0x6f, 0x1f, 0x0f, 0xfe, 0x30, 0x66, 0xf5, 0x15, 0x85, 0x22, 0x83, 0xe6, 0x93, 0xfd, 0x1a, 0x58, 0x20, 0x90, 0xb4, 0x4f, 0xc1, 0x61, 0x47, 0xc1, 0x9c, 0xe1, 0x98, 0x4e, 0x6b, 0x78, 0x38, 0x7a, 0x93, 0x4f, 0x0d, 0xca, 0x33, 0xdb, 0x18, 0x9b, 0xa1, 0xd6, 0x4d, 0xb0, 0xb0, 0x53, 0x38, 0x9d, 0x12, 0xcd, 0xb9, 0x7a, 0x48, 0x21, 0x96, 0xb7, 0xdb, 0x1a, 0xff, 0xfd, 0xd0, 0x3f, 0x8f, 0x30, 0xc9, 0xbf, 0x80, 0xec, 0xc8, 0xe8, 0x37, 0x32, 0xd8, 0xc3, 0xa1, 0x80, 0xad, 0x33, 0x0e, 0x95, 0xa3, 0x41, 0x42, 0x18, 0xbb, 0xae, 0xa4, 0x33, 0xa5, 0x3b, 0x34, 0x5d, 0xeb, 0x04, 0xc9, 0xdc, 0xa1, 0x7c, 0xe7, 0xb0, 0x6a, 0x5a, 0xe6, 0xfd, 0x70, 0x57, 0x32, 0xee, 0x45, 0x03, 0xdd, 0xaa, 0x4a, 0x8e, 0x3f, 0x64, 0x47, 0xf2, 0x44, 0x12, 0x70, 0x57, 0xc0, 0xf4, 0xf7, 0x5b, 0xb8, 0x1f, 0x25, 0xec, 0x99, 0xa1, 0x31, 0x24, 0x5e, 0x33, 0x01, 0xf6, 0x9b, 0x7f, 0xfa, 0x85, 0x11, 0x44, 0x21, 0x31, 0x19, 0xa8, 0xf0, 0xf1, 0x30, 0x7f, 0x19, 0x98, 0xe4, 0xff, 0x14, 0xc0, 0x2e, 0x34, 0x84, 0xde, 0xd2, 0xe0, 0x8c, 0xcd, 0xb4, 0x6a, 0xdd, 0xc6, 0x51, 0x1a, 0x2d, 0x4e, 0x8a, 0x88, 0x1f, 0xbe, 0xbc, 0xbf, 0x4e, 0xc4, 0x0a, 0x9a, 0x0a, 0x13, 0xc9, 0x02, 0x74, 0x79, 0xa2, 0xfd, 0xb1, 0x04, 0x74, 0xaf, 0xb0, 0xf6, 0x21, 0x33, 0xac, 0x9e, 0x48, 0x06, 0x5f, 0x78, 0x36, 0xac, 0x1d, 0x44, 0xed, 0x6d, 0xf5, 0x95, 0x64, 0xad, 0xd6, 0x0d, 0xf8, 0xbe, 0x36, 0xd3, 0x64, 0x05, 0xaa, 0xbb, 0x05, 0xec, 0x1a, 0x22, 0xe2, 0x91, 0xb1, 0x85, 0x5f, 0x7f, 0x1c, 0xc5, 0x0c, 0x29, 0xad, 0x17, 0x62, 0x82, 0x84, 0x9f, 0x74, 0x3b, 0x87, 0x72, 0x77, 0x33, 0x22, 0xd8, 0x80, 0x0c, 0xa3, 0x70, 0x2a, 0xbf, 0xbd, 0xb5, 0x28, 0x57, 0xd0, 0xe9, 0x07, 0x13, 0x77, 0x13, 0x01, 0x06, 0xfb, 0xbf, 0x6d, 0x7d, 0xf1, 0xbe, 0x4c, 0x9f, 0x61, 0xc8, 0x6a, 0xa4, 0xa7, 0xc0, 0xf4, 0x02, 0x6d, 0x7b, 0xa4, 0x78, 0xd4, 0xa8, 0x9d, 0x99, 0xb5, 0x5b, 0x34, 0x76, 0x1d, 0xb4, 0x47, 0xa9, 0x43, 0x24, 0x89, 0x08, 0xca, 0xea, 0x57, 0xb9, 0x50, 0x61, 0x7f, 0xe4, 0x2e, 0x06, 0x3e, 0x92, 0x08, 0x6b, 0x5c, 0x52, 0x87, 0xf8, 0xbf, 0xc6, 0xca, 0x75, 0xfd, 0x20, 0xb6, 0xf9, 0xe2, 0x89, 0x2c, 0xc4, 0xc7, 0x8e, 0x2b, 0xa7, 0xfc, 0x7c, 0x20, 0xd4, 0xf2, 0xb3, 0xde, 0x19, 0x9e, 0xce, 0xa9, 0x22, 0x57, 0x98, 0xb8, 0xae, 0x85, 0xe4, 0xa1, 0x46, 0xdf, 0x64, 0x6b, 0xf1, 0x4e, 0x46, 0x94, 0x1d, 0x4b, 0xb6, 0x21, 0x1a, 0x05, 0x52, 0xa4, 0x3f, 0xa0, 0x0e, 0xa9, 0x28, 0xf0, 0xb7, 0x27, 0x77, 0xf5, 0xc2, 0x79, 0xfe, 0x26, 0x92, 0x6e, 0x05, 0xfc, 0x19, 0x53, 0x22, 0xe0, 0x4a, 0xe1, 0xdc, 0x48, 0xfc, 0x0b, 0x53, 0xff, 0x1d, 0x2c, 0x89, 0xad, 0x5b, 0xa2, 0x0c, 0x44, 0x54, 0x6c, 0x51, 0x2a, 0x9b, 0xb5, 0xe6, 0x3a, 0x76, 0x13, 0x5c, 0x7a, 0x89, 0xea, 0x60, 0x65, 0xcd, 0x73, 0x1c, 0x86, 0xb2, 0x93, 0xd2, 0xcf, 0x17, 0xf6, 0x00, 0xce, 0x2d, 0xa1, 0x83, 0x70, 0xc0, 0x1a, 0xcf, 0x02, 0x45, 0x9d, 0xfe, 0x35, 0xae, 0x0d, 0x4d, 0x73, 0xc4, 0x89, 0xa7, 0xbd, 0x0f, 0xd5, 0xac, 0xd0, 0x49, 0x32, 0x42, 0x8b, 0x8a, 0x8e, 0x0a, 0x19, 0x59, 0x16, 0xef, 0xeb, 0x30, 0x4c, 0xc6, 0xee, 0x7e, 0xb9, 0xaf, 0x69, 0x5d, 0x18, 0x5c, 0x5a, 0x08, 0x49, 0xa6, 0x9e, 0xec, 0xbf, 0xee, 0xea, 0x86, 0x6c, 0x70, 0xa1, 0x19, 0x57, 0x41, 0x70, 0x8f, 0xb3, 0x0b, 0x4e, 0x3d, 0x90, 0xfe, 0x5d, 0x1b, 0xb5, 0x17, 0x00, 0x28, 0x4e, 0x56, 0xa5, 0xd7, 0x68, 0x85, 0xd9, 0xde, 0x1d, 0x0c, 0x14, 0xfe, 0x7b, 0x11, 0x45, 0x0c, 0xa1, 0xd6, 0x80, 0xa8, 0x10, 0xbd, 0x92, 0x09, 0x34, 0xb4, 0x6a, 0x0d, 0x40, 0xd2, 0xd5, 0xb8, 0x76, 0xd4, 0x0d, 0x35, 0xb0, 0xa0, 0xc1, 0x6b, 0xc1, 0x5d, 0xe2, 0xfa, 0xb7, 0x28, 0x15, 0x83, 0x2b, 0x2c, 0x26, 0xb0, 0xd6, 0x41, 0xa1, 0x45, 0xbd, 0x7d, 0xfd, 0x6e, 0x8f, 0x0e, 0xd5, 0xb2, 0x25, 0x53, 0xab, 0x1c, 0xa1, 0x2b, 0x44, 0xb8, 0xf6, 0xfc, 0x3f, 0xb6, 0x1c, 0x40, 0x69, 0x6d, 0xa1, 0x27, 0xc1, 0x96, 0x00, 0x7a, 0x02, 0xd7, 0x27, 0xec, 0x73, 0x7f, 0x64, 0xfe, 0x04, 0xd2, 0x81, 0xd5, 0xeb, 0x6d, 0xb9, 0x68, 0x75, 0x51, 0x7c, 0x9d, 0x1f, 0xed, 0x6a, 0x48, 0x8a, 0xf9, 0x26, 0xb6, 0xbe, 0xe8, 0x75, 0xc2, 0x12, 0xca, 0x41, 0x72, 0xa5, 0xaf, 0xaa, 0xc9, 0x8b, 0x4e, 0x84, 0xf5, 0xc5, 0xb8, 0x26, 0x0a, 0x2e, 0x05, 0x65, 0x74, 0x9e, 0xb7, 0x46, 0xa7, 0x25, 0x92, 0xe0, 0x45, 0x48, 0x6a, 0xb0, 0x0e, 0x79, 0x9b, 0x68, 0x7d, 0x59, 0x13, 0x84, 0x81, 0xf1, 0x38, 0x76, 0x70, 0xcd, 0x25, 0x5c, 0xc0, 0xa4, 0x51, 0xb7, 0x4d, 0xc5, 0xd1, 0x54, 0x48, 0xe4, 0xc9, 0xc8, 0x69, 0xe4, 0x86, 0x9d, 0xea, 0x62, 0xe2, 0x06, 0x2d, 0x82, 0x66, 0x68, 0xbb, 0x93, 0x95, 0xf1, 0x48, 0xdd, 0x5a, 0x39, 0x2d, 0xd6, 0xc1, 0xef, 0x4f, 0xcc, 0xfd, 0xf6, 0x13, 0x9c, 0x3b, 0x5a, 0xd6, 0xf0, 0x35, 0x42, 0x18, 0xd1, 0xc0, 0xe5, 0x24, 0x9e, 0x32, 0x71, 0x93, 0xb8, 0x9e, 0xd7, 0xc5, 0xea, 0x0a, 0x66, 0xf4, 0x77, 0x47, 0xce, 0x56, 0xc8, 0xae, 0x76, 0x92, 0xc6, 0xb2, 0xa3, 0x18, 0x44, 0xe7, 0x9b, 0x6d, 0xef, 0x1b, 0xf3, 0x96, 0x97, 0x2b, 0xeb, 0x11, 0x9d, 0x82, 0x9a, 0x6d, 0x47, 0x41, 0xad, 0x9e, 0x32, 0xa0, 0x94, 0x4d, 0x59, 0xe2, 0x18, 0x41, 0xf3, 0x58, 0x0c, 0x33, 0x2d, 0x85, 0xb8, 0xd9, 0x2c, 0x43, 0x0c, 0x5b, 0xb1, 0x09, 0x98, 0x5e, 0x07, 0x05, 0x18, 0x0c, 0x9f, 0x6f, 0xa0, 0x9f, 0xb8, 0xda, 0xfa, 0x1c, 0x58, 0x2d, 0x55, 0xd2, 0x96, 0x67, 0x54, 0x75, 0x45, 0xae, 0x2f, 0x29, 0xc7, 0x41, 0x1f, 0xc5, 0xad, 0x59, 0x0f, 0x7b, 0x93, 0x13, 0xb3, 0x66, 0x34, 0xf1, 0x4c, 0x11, 0xe3, 0x67, 0x77, 0x99, 0x42, 0x69, 0x2e, 0x61, 0x79, 0xae, 0xcf, 0xc0, 0xdb, 0xd1, 0xd1, 0x36, 0x2e, 0xb9, 0xd0, 0x5d, 0xe0, 0xc1, 0xab, 0x9c, 0x3f, 0x27, 0xd5, 0x6d, 0x3c, 0x89, 0x2a, 0x79, 0x7d, 0xa4, 0x5a, 0x22, 0xb5, 0xe1, 0x78, 0xb7, 0x87, 0x34, 0x3e, 0x4f, 0xfc, 0xbf, 0xff, 0x71, 0xf7, 0xc3, 0xc9, 0xd8, 0x5d, 0x1d, 0x48, 0x5e, 0x01, 0x39, 0x08, 0xf1, 0x56, 0xee, 0xe2, 0x61, 0x6d, 0x63, 0x01, 0x1b, 0xaa, 0xbe, 0xe9, 0x7d, 0xe2, 0xde, 0x70, 0xe4, 0xe7, 0x46, 0x72, 0xad, 0xc7, 0xb6, 0xc3, 0x82, 0xab, 0x5b, 0x11, 0xee, 0x4b, 0x9e, 0x02, 0x3c, 0x0c, 0x4b, 0x66, 0xc9, 0x93, 0x74, 0xd8, 0x4f, 0xfc, 0x3b, 0x80, 0xd4, 0x30, 0x27, 0xf8, 0x66, 0xce, 0x6d, 0xc1, 0x1b, 0x64, 0x1d, 0x15, 0xfb, 0xd4, 0xd4, 0xa6, 0xf4, 0x71, 0xcb, 0xb1, 0x3d, 0x1d, 0x02, 0x1b, 0x50, 0x96, 0x83, 0x4c, 0xf4, 0x87, 0x4f, 0xea, 0x86, 0xd7, 0x1e, 0x56, 0xc6, 0x2a, 0xce, 0xd6, 0xbc, 0x3e, 0x65, 0xed, 0x9c, 0xa4, 0x4f, 0x68, 0x53, 0xa7, 0xb8, 0x8e, 0xa2, 0xc6, 0x9f, 0xd3, 0x67, 0x13, 0x2d, 0x8c, 0xb6, 0xf7, 0x52, 0xe3, 0xa2, 0x8e, 0xc6, 0xe9, 0xc2, 0x6f, 0x7f, 0x03, 0x3b, 0x27, 0xc4, 0x4f, 0xe9, 0xb8, 0xb0, 0x22, 0xfd, 0x0c, 0x74, 0x8a, 0x78, 0x0a, 0x4f, 0xea, 0xff, 0xed, 0x9d, 0x73, 0x26, 0x80, 0xbc, 0x71, 0xb8, 0xd1, 0x61, 0xa2, 0xc6, 0x2d, 0x5e, 0x26, 0x60, 0xe6, 0xde, 0xa9, 0x08, 0x51, 0xd2, 0x94, 0x5e, 0x19, 0xa3, 0xec, 0xff, 0x77, 0x3b, 0x2e, 0xad, 0x94, 0x6c, 0x50, 0xac, 0xaa, 0xab, 0xb7, 0xab, 0xe1, 0x2d, 0x39, 0xc7, 0x6c, 0x8f, 0xb8, 0xe6, 0xac, 0x46, 0x12, 0x62, 0x9b, 0x24, 0x61, 0x3f, 0x60, 0x3d, 0x49, 0xeb, 0x44, 0x3a, 0xff, 0x77, 0xba, 0x8e, 0x1f, 0x64, 0xc9, 0xdc, 0xce, 0x04, 0x35, 0xba, 0x5c, 0xff, 0xf1, 0xf8, 0x77, 0x4b, 0xda, 0x2c, 0x85, 0xae, 0xe9, 0x53, 0x27, 0x05, 0x55, 0x76, 0x27, 0x82, 0x7a, 0x39, 0x4d, 0xf5, 0x7c, 0xcb, 0xf5, 0x4c, 0x1b, 0x5f, 0x43, 0x33, 0xa7, 0xf9, 0x15, 0xd7, 0xe1, 0xa6, 0x0c, 0x23, 0x08, 0xa9, 0xb2, 0x26, 0x0d, 0xe1, 0xf1, 0x85, 0x1c, 0xcc, 0x08, 0x93, 0x70, 0x8a, 0xaa, 0x75, 0x5f, 0xc3, 0xb0, 0xfe, 0xd2, 0x7f, 0x82, 0x61, 0x5d, 0x79, 0x6f, 0xf8, 0xd4, 0x3a, 0x14, 0x45, 0x7d, 0x21, 0x74, 0xc5, 0x8f, 0x7f, 0xc0, 0x9b, 0x9b, 0xf3, 0x48, 0x2c, 0x5f, 0xc8, 0x20, 0x28, 0xd6, 0x15, 0x84, 0x90, 0x00, 0x98, 0x00, 0xcd, 0x32, 0xa1, 0x53, 0x11, 0x25, 0xbf, 0x50, 0xfc, 0x16, 0x57, 0x44, 0xf4, 0xd8, 0xcd, 0x89, 0x44, 0x72, 0x83, 0x5c, 0x11, 0x3d, 0x87, 0xa1, 0xb0, 0x2f, 0xfb, 0xe0, 0x53, 0x77, 0x7c, 0xfa, 0x5c, 0x98, 0xb9, 0xd2, 0xd0, 0xcf, 0xf1, 0xcc, 0xd8, 0x08, 0xfc, 0x2c, 0x12, 0xe1, 0x94, 0x6f, 0xec, 0x86, 0x3d, 0x97, 0x28, 0x92, 0xd0, 0xbd, 0x4a, 0xbf, 0x22, 0xdf, 0x45, 0x09, 0xa6, 0xa0, 0xa4, 0xd6, 0x1d, 0xe9, 0x7f, 0xad, 0x07, 0x84, 0x04, 0xfc, 0x74, 0x5f, 0xd5, 0x83, 0xe9, 0x05, 0xd9, 0x9d, 0x84, 0xbe, 0x00, 0xb1, 0xc2, 0x6e, 0xd7, 0x0b, 0x3a, 0x83, 0xf4, 0xb2, 0x49, 0xc8, 0x41, 0x2f, 0xe5, 0xce, 0x81, 0x34, 0x9a, 0x9a, 0x11, 0x5d, 0x2d, 0x96, 0xda, 0xf1, 0xbc, 0xcb, 0xbb, 0xd3, 0x83, 0x7c, 0x16, 0x3b, 0xed, 0x93, 0x4e, 0x0a, 0x8d, 0xe5, 0x57, 0x26, 0x13, 0xc6, 0x13, 0x3e, 0x56, 0xa7, 0x1e, 0x44, 0x75, 0xa1, 0x47, 0x5d, 0x1a, 0x36, 0x9e, 0x1e, 0xe5, 0x74, 0xa7, 0xcb, 0xb9, 0x35, 0x6c, 0xff, 0x99, 0x2a, 0x60, 0x1c, 0x91, 0x99, 0xd9, 0xae, 0x27, 0xa6, 0x6b, 0x44, 0xcf, 0xdd, 0x5c, 0x92, 0xa4, 0xdc, 0x5b, 0x72, 0xa6, 0xb0, 0xe9, 0xc9, 0x45, 0x14, 0x9f, 0x73, 0x76, 0x76, 0xdf, 0x9b, 0x6d, 0xe8, 0x5d, 0xb1, 0xb8, 0xbd, 0x1b, 0x78, 0xe2, 0x7e, 0xf0, 0x6f, 0x13, 0xb8, 0xc9, 0x34, 0xe9, 0x6d, 0xbf, 0xa7, 0x82, 0x6f, 0x02, 0xf4, 0x0d, 0xcf, 0xc2, 0x88, 0x65, 0x95, 0x2d, 0xf2, 0x4b, 0xe6, 0x30, 0x1c, 0x23, 0x34, 0x56, 0xcc, 0x86, 0x10, 0xf8, 0x95, 0xcc, 0x70, 0x87, 0x15, 0x69, 0x1d, 0xfc, 0x4b, 0xe0, 0xde, 0x64, 0xb7, 0x1f, 0xc5, 0x99, 0x2a, 0x3a, 0x26, 0x63, 0xaf, 0x5b, 0x15, 0xaf, 0x2b, 0x7e, 0x7d, 0x80, 0x0f, 0x3d, 0x35, 0xc4, 0xa9, 0x7e, 0x3f, 0x30, 0x21, 0xb2, 0xc2, 0x3d, 0x7a, 0xa0, 0xe2, 0xec, 0x99, 0x99, 0xb3, 0x83, 0x64, 0x6a, 0xba, 0xa8, 0x58, 0xcf, 0xe8, 0xc3, 0x03, 0xe0, 0xc6, 0x13, 0x09, 0xc1, 0x84, 0x1a, 0xd6, 0x22, 0x17, 0xc1, 0x0c, 0xff, 0xee, 0x50, 0x31, 0x7c, 0xed, 0xfa, 0x86, 0xe2, 0x87, 0x5e, 0x6c, 0xe4, 0x15, 0x57, 0x67, 0x7f, 0xe8, 0x48, 0x37, 0xdc, 0xd6, 0xce, 0x16, 0x31, 0xc5, 0xff, 0xc4, 0x74, 0x1b, 0xfa, 0x64, 0x1c, 0x0a, 0xc7, 0x2b, 0x69, 0xbf, 0x3e, 0x82, 0x19, 0x9b, 0x3d, 0x30, 0x14, 0xe7, 0x67, 0x0a, 0xfb, 0x0a, 0x48, 0x80, 0x85, 0xee, 0xcf, 0x4a, 0xe0, 0x9c, 0xb3, 0x53, 0xbc, 0x9d, 0xde, 0xcb, 0x64, 0x9e, 0x3c, 0xc8, 0xa3, 0x4c, 0xfd, 0x5a, 0xf0, 0x07, 0x24, 0x1c, 0xab, 0x66, 0x6c, 0xff, 0xb6, 0x2d, 0x33, 0x29, 0xed, 0x7d, 0x87, 0xb1, 0x8e, 0x1e, 0x3c, 0xad, 0xea, 0xef, 0x5d, 0x21, 0x5f, 0xbe, 0x5c, 0x12, 0x6e, 0x55, 0x04, 0xce, 0xc6, 0x68, 0x1a, 0x74, 0x3f, 0x09, 0xd1, 0xb6, 0x48, 0xd5, 0x48, 0x4e, 0x8c, 0x6f, 0xb5, 0x07, 0x82, 0xe7, 0x7f, 0x51, 0x7d, 0x84, 0x71, 0xf9, 0xeb, 0xdd, 0x2c, 0xa3, 0xe0, 0xcb, 0x36, 0xcc, 0x75, 0xfe, 0xed, 0xfe, 0xef, 0xcc, 0x3c, 0x7b, 0x12, 0xde, 0xeb, 0x24, 0x52, 0xbf, 0x73, 0x25, 0xfa, 0xb5, 0xe2, 0x8e, 0xcd, 0x8c, 0xd3, 0xb8, 0x67, 0x83, 0x9a, 0x05, 0x42, 0x4c, 0xcc, 0x77, 0x36, 0xe2, 0xb2, 0x0d, 0xa9, 0xc0, 0x8e, 0xaf, 0x6c, 0x34, 0xca, 0x2e, 0x97, 0xdc, 0x4f, 0x98, 0x69, 0x61, 0x8b, 0x86, 0x7b, 0xca, 0x74, 0xd0, 0x11, 0xa4, 0x7b, 0x9b, 0xa0, 0xc4, 0xf3, 0x90, 0x9d, 0xaa, 0x7c, 0xa0, 0xe8, 0xcc, 0xb3, 0x4b, 0x24, 0x03, 0xba, 0x2f, 0x48, 0x84, 0x4c, 0x93, 0xfd, 0xf2, 0x0d, 0x86, 0x1b, 0x88, 0x55, 0xab, 0x1d, 0x54, 0xc8, 0xaa, 0x70, 0x06, 0xba, 0x4a, 0xb2, 0x94, 0xd8, 0xde, 0x70, 0x85, 0xd7, 0x2c, 0x5b, 0xd1, 0x4c, 0x08, 0xb9, 0xd9, 0xfe, 0x58, 0x7d, 0x4e, 0x15, 0xf0, 0x95, 0xaa, 0x36, 0xd3, 0x72, 0x92, 0x60, 0xbc, 0x10, 0x6e, 0x29, 0x97, 0x1d, 0xdc, 0x48, 0x7e, 0xee, 0xa7, 0xdc, 0x2b, 0x5f, 0x5f, 0xfd, 0xfe, 0xc9, 0x8a, 0x49, 0xe1, 0x00, 0xae, 0xe7, 0xda, 0xa9, 0xe1, 0x35, 0x6e, 0x7a, 0x2b, 0xfa, 0xd9, 0xcc, 0x10, 0xa6, 0xa3, 0x00, 0x5f, 0xef, 0x0a, 0xf3, 0x36, 0x03, 0xde, 0xd2, 0x45, 0xec, 0x0c, 0xdb, 0x05, 0x04, 0x13, 0xf8, 0x64, 0xd0, 0xcf, 0xa7, 0xc0, 0x80, 0xf0, 0xc6, 0x4b, 0xcc, 0xb7, 0x79, 0x76, 0x4a, 0xb1, 0x83, 0x40, 0xdb, 0xdd, 0xcc, 0x77, 0x4d, 0xe4, 0xa2, 0xe2, 0x86, 0x28, 0x1b, 0xf1, 0x76, 0x40, 0x0a, 0xe0, 0x3a, 0xed, 0x66, 0xd7, 0x6d, 0x56, 0x59, 0xed, 0x06, 0xe3, 0x8b, 0x66, 0xe1, 0x40, 0x5a, 0x2e, 0xad, 0xe1, 0xc0, 0x5b, 0xbe, 0x41, 0xf8, 0x0c, 0xea, 0xc5, 0xde, 0x27, 0x56, 0xd0, 0x14, 0x43, 0xca, 0x70, 0x67, 0x7b, 0x4d, 0xde, 0x32, 0x6b, 0x32, 0x3c, 0xb8, 0x89, 0x3e, 0x6e, 0x82, 0x49, 0xce, 0xa2, 0x1f, 0xdd, 0x95, 0xb7, 0x78, 0x75, 0x7d, 0x36, 0x15, 0x61, 0x1c, 0xde, 0x8a, 0x80, 0x9e, 0x53, 0x05, 0x95, 0x97, 0xf4, 0x7f, 0x4e, 0xde, 0xb1, 0x6b, 0x4a, 0x3c, 0xc4, 0xd0, 0x17, 0x6f, 0xaa, 0x74, 0x8a, 0x5f, 0xa9, 0x37, 0xff, 0xe5, 0x85, 0x74, 0xab, 0x3d, 0xb0, 0x39, 0x04, 0xd7, 0xa5, 0xbe, 0xf6, 0x54, 0x46, 0xa8, 0x67, 0x1f, 0x9d, 0x93, 0x36, 0x42, 0x2e, 0xa7, 0xf6, 0x1b, 0x1f, 0xec, 0xd8, 0x0c, 0x74, 0xa7, 0x08, 0x7c, 0x7d, 0xf1, 0xe1, 0xc5, 0xfa, 0x37, 0x90, 0x59, 0x54, 0x47, 0x5f, 0x51, 0x0c, 0x66, 0x83, 0xd3, 0x47, 0x13, 0x61, 0x8e, 0xc7, 0x7e, 0xc3, 0x99, 0x1e, 0xa3, 0x13, 0x9e, 0x65, 0x7b, 0xf1, 0x31, 0x85, 0xe4, 0x02, 0x5e, 0x13, 0xac, 0xb3, 0x0e, 0x00, 0x69, 0x29, 0x35, 0x41, 0xc3, 0x43, 0xd3, 0xae, 0xac, 0x1c, 0x34, 0x6d, 0xbd, 0x2b, 0x1a, 0xda, 0x3e, 0xa0, 0xc3, 0x31, 0xc8, 0x88, 0xcc, 0x82, 0xe6, 0xfa, 0xf3, 0x2f, 0xd6, 0x75, 0xdd, 0x2c, 0xe9, 0x37, 0x2b, 0x4a, 0xe3, 0x31, 0xb2, 0x59, 0x0a, 0x1e, 0x7b, 0xf7, 0x63, 0xb3, 0xfd, 0x3f, 0x28, 0x4e, 0x04, 0x65, 0x11, 0xa0, 0xb0, 0x14, 0x7b, 0x87, 0xa6, 0x02, 0xc2, 0xa6, 0x4b, 0x0d, 0x13, 0x11, 0x6c, 0x96, 0xf9, 0xa8, 0x5d, 0x24, 0x98, 0x6a, 0x89, 0x07, 0x1b, 0x12, 0xa5, 0xfc, 0xaa, 0xa8, 0x77, 0x4a, 0xaf, 0xf2, 0x9d, 0x16, 0xde, 0x3e, 0xad, 0xc1, 0xad, 0x38, 0xf4, 0x25, 0xa0, 0x47, 0x84, 0x57, 0x56, 0x0f, 0xf8, 0x4a, 0x4f, 0xe6, 0xf9, 0x1f, 0x36, 0x19, 0xd7, 0xff, 0x69, 0x04, 0xab, 0x46, 0xa1, 0xaf, 0x55, 0x75, 0x30, 0x3d, 0x02, 0x1d, 0x70, 0x8c, 0xee, 0x44, 0x37, 0x4b, 0xdf, 0x5d, 0xdb, 0x8e, 0x1d, 0xc4, 0x41, 0x39, 0x0b, 0xd6, 0x71, 0x8a, 0x51, 0x85, 0xd4, 0x5f, 0x6e, 0x04, 0xd0, 0x1c, 0x05, 0x02, 0x8e, 0xe8, 0x50, 0x33, 0x5f, 0xf9, 0xb2, 0xeb, 0x8b, 0x8b, 0xaa, 0x4e, 0x75, 0x9b, 0xdb, 0xcc, 0x29, 0xaf, 0x9e, 0x8e, 0xe8, 0x14, 0xea, 0xc6, 0xaa, 0xf2, 0x35, 0x92, 0xc0, 0x12, 0x57, 0xa2, 0xfe, 0xd9, 0x9a, 0x78, 0x01, 0xe9, 0x4c, 0x76, 0xac, 0xfa, 0xef, 0x99, 0x38, 0xca, 0xcf, 0x8b, 0x01, 0x92, 0xe0, 0x1d, 0xda, 0x02, 0x13, 0x73, 0x98, 0x62, 0x5e, 0x42, 0x66, 0x9e, 0x8e, 0xd0, 0x94, 0xcb, 0xd0, 0x1f, 0x3b, 0x15, 0xb5, 0x0e, 0x04, 0xe2, 0xce, 0xc3, 0xeb, 0xd9, 0x44, 0x69, 0x46, 0xe9, 0x99, 0x65, 0x13, 0x76, 0x96, 0xa7, 0xaa, 0x5f, 0x6f, 0xfb, 0xf4, 0xa2, 0xb0, 0x3b, 0xb1, 0x8b, 0x18, 0x89, 0xd2, 0x57, 0x61, 0xfb, 0xc5, 0x22, 0x0c, 0x7b, 0xb7, 0xab, 0x07, 0x47, 0x14, 0xda, 0x6c, 0x48, 0x2a, 0xf3, 0xfc, 0xe7, 0x0c, 0x1e, 0xff, 0x15, 0x76, 0xaf, 0x18, 0xa0, 0x6b, 0x8a, 0xc0, 0x88, 0x54, 0x58, 0x0f, 0x74, 0x97, 0x5c, 0x1f, 0x75, 0xfb, 0x28, 0x00, 0x4c, 0xfc, 0x9d, 0x2f, 0x4f, 0x70, 0x62, 0xfc, 0xde, 0x38, 0x28, 0x5c, 0xfb, 0xfc, 0x71, 0x62, 0x68, 0xad, 0xfe, 0x91, 0xd0, 0x8c, 0x7f, 0x89, 0x4d, 0x29, 0xe0, 0x6e, 0x86, 0x6e, 0x0e, 0x2e, 0x13, 0x4a, 0x4f, 0xcc, 0x2c, 0xed, 0xe0, 0x0b, 0xe5, 0x57, 0x11, 0x3b, 0xf0, 0xa6, 0xd0, 0x95, 0x9a, 0xa6, 0xb7, 0xbf, 0xc9, 0x00, 0x8a, 0x83, 0x54, 0x62, 0x2b, 0x26, 0x04, 0xcc, 0xbc, 0xbb, 0xdf, 0xc8, 0x8c, 0xd0, 0xe4, 0xad, 0x35, 0x0d, 0xff, 0xe7, 0x52, 0xa8, 0xe9, 0x4e, 0xdf, 0x6e, 0xaa, 0x12, 0x6c, 0x4c, 0x1a, 0x9b, 0xda, 0xc6, 0xb1, 0x83, 0xfa, 0xf7, 0xd8, 0xe3, 0xc5, 0xe1, 0x47, 0xb7, 0x8d, 0x87, 0xef, 0xdb, 0x81, 0x0c, 0x01, 0x4d, 0xf4, 0xe7, 0x10, 0x08, 0x3d, 0xf4, 0x69, 0x30, 0xc5, 0x78, 0xa8, 0xb2, 0xaf, 0xc8, 0x04, 0x25, 0x4a, 0x7e, 0x9e, 0xb7, 0xab, 0x4a, 0x9c, 0xeb, 0x55, 0x23, 0x10, 0x6e, 0x53, 0xe6, 0x6b, 0x11, 0x69, 0x6c, 0x36, 0xfa, 0x30, 0xae, 0x7d, 0x7f, 0x2f, 0xd9, 0xc8, 0x54, 0xaf, 0x0c, 0x2c, 0x89, 0x35, 0xb8, 0x17, 0x64, 0x77, 0x4f, 0xa1, 0x24, 0x44, 0x35, 0x91, 0x87, 0x72, 0x04, 0x0a, 0x47, 0xe9, 0xf7, 0xe1, 0x58, 0x36, 0x56, 0x17, 0x56, 0xa9, 0x3f, 0xc0, 0xb8, 0xca, 0x3a, 0x73, 0x4f, 0x40, 0xd4, 0x95, 0x2a, 0xd2, 0x70, 0xba, 0x92, 0x47, 0x14, 0xd7, 0x65, 0x26, 0xa1, 0xf6, 0xeb, 0xa3, 0x23, 0x05, 0xad, 0x09, 0xa0, 0xf4, 0xde, 0xeb, 0xb4, 0xe4, 0x3c, 0xe3, 0x5b, 0xab, 0x5b, 0xde, 0x8f, 0x9c, 0xde, 0x7f, 0x3f, 0x70, 0x84, 0x5c, 0x94, 0x3c, 0x47, 0x98, 0x9e, 0xf1, 0x5b, 0xba, 0x7d, 0x65, 0x4c, 0x5b, 0x6e, 0x83, 0xb7, 0xac, 0x50, 0xe9, 0xbc, 0x46, 0x15, 0xf1, 0x6c, 0x24, 0xb2, 0x7d, 0x55, 0x8f, 0x22, 0x1a, 0xb7, 0x07, 0xa5, 0xe2, 0x71, 0x21, 0x6b, 0xdf, 0x47, 0x6a, 0x9c, 0xb8, 0x1e, 0x15, 0x96, 0x25, 0x95, 0x85, 0x45, 0xa1, 0x6a, 0x06, 0x9b, 0x09, 0x05, 0x0d, 0x5f, 0x3a, 0x8a, 0x2b, 0xaf, 0x9a, 0xe1, 0x90, 0xfa, 0xcf, 0xa6, 0xe5, 0x1d, 0xb4, 0x64, 0xfc, 0x62, 0xca, 0x0a, 0x1e, 0x15, 0x97, 0x27, 0x19, 0x07, 0x55, 0xc2, 0xbe, 0x4b, 0x71, 0xe5, 0x66, 0x9b, 0x00, 0xa1, 0x7a, 0x5a, 0xf9, 0x8f, 0xf9, 0xc9, 0x28, 0xa6, 0xe1, 0xd3, 0x94, 0x12, 0x50, 0x39, 0x03, 0x24, 0x40, 0xfb, 0x30, 0xd5, 0xf8, 0xc0, 0x92, 0x95, 0x97, 0x7f, 0x77, 0x1f, 0xb6, 0x75, 0xfb, 0xfb, 0x38, 0xc7, 0x28, 0x6e, 0xe0, 0xf7, 0xc2, 0xd3, 0x2f, 0x54, 0xd9, 0x69, 0x86, 0x98, 0xdf, 0x2f, 0xf5, 0x23, 0x71, 0xbb, 0x6d, 0xd3, 0x74, 0x25, 0x43, 0xc6, 0x25, 0x4d, 0x11, 0xdf, 0x63, 0x2d, 0x22, 0x90, 0x28, 0xbc, 0x73, 0x9e, 0x15, 0x78, 0x46, 0x96, 0x46, 0x99, 0xe4, 0xef, 0x7a, 0x28, 0x43, 0xb3, 0x64, 0xab, 0x3b, 0x2c, 0x8d, 0xa0, 0xb2, 0x8e, 0x05, 0x8c, 0x48, 0xb7, 0xe8, 0x5d, 0x32, 0x99, 0x6b, 0x58, 0xb5, 0x07, 0x45, 0x5d, 0x3e, 0x4f, 0x24, 0x38, 0x30, 0x54, 0x57, 0xb3, 0x7b, 0x29, 0x2f, 0xee, 0x5f, 0x9e, 0xa8, 0xe1, 0x74, 0x34, 0xef, 0xd8, 0xc8, 0xb2, 0x91, 0xfd, 0x8c, 0x15, 0x68, 0xd7, 0xac, 0x2a, 0xf3, 0xa0, 0x86, 0xe0, 0x2f, 0x66, 0x8e, 0xce, 0x31, 0x38, 0x9f, 0x46, 0x5c, 0xc7, 0xb8, 0xb8, 0x4a, 0x7d, 0x04, 0x58, 0x6d, 0x5c, 0x7a, 0xd9, 0xe8, 0xe8, 0xb4, 0x2f, 0x9d, 0xe8, 0xf2, 0x5b, 0x17, 0xcb, 0x77, 0x26, 0xbc, 0x31, 0x0d, 0x4c, 0x21, 0x7b, 0xa1, 0xce, 0xd8, 0xe5, 0x35, 0x1d, 0xc5, 0xc8, 0xaf, 0x94, 0xc4, 0xfe, 0xce, 0x7c, 0x22, 0xcc, 0xd5, 0x13, 0xbf, 0x7d, 0x40, 0xb6, 0x3e, 0xea, 0x1d, 0x05, 0xe3, 0xd3, 0x5c, 0xa2, 0x43, 0xe8, 0x6f, 0x4b, 0xa1, 0x40, 0x07, 0xd8, 0x56, 0xc5, 0x3c, 0x54, 0xa2, 0xbd, 0x74, 0x79, 0x47, 0x47, 0xd8, 0x97, 0xdd, 0x54, 0x3b, 0xb5, 0x29, 0x5e, 0x76, 0xc2, 0xe1, 0xc8, 0xa0, 0xb2, 0xc3, 0x67, 0xb0, 0xe7, 0x55, 0xd1, 0xe9, 0xad, 0x77, 0x1e, 0x5d, 0xe1, 0x47, 0x6e, 0x80, 0x5f, 0xe8, 0xa9, 0x01, 0xb5, 0xe3, 0xf3, 0xde, 0x7d, 0x03, 0x6f, 0x2f, 0x27, 0xcd, 0xbe, 0xc9, 0x2e, 0x76, 0x0b, 0xaf, 0xce, 0x60, 0xc9, 0x6e, 0xcd, 0x71, 0xa6, 0x40, 0x41, 0x56, 0x13, 0xe1, 0x40, 0x44, 0x16, 0x80, 0x69, 0xbd, 0xfe, 0x10, 0xb0, 0xbd, 0xce, 0x8a, 0x12, 0x99, 0xdb, 0x4c, 0x06, 0x8b, 0x2d, 0xba, 0xe4, 0xf3, 0x2e, 0x15, 0x97, 0x36, 0xab, 0x5e, 0x57, 0x81, 0x12, 0x4b, 0xbd, 0x0f, 0xeb, 0xf8, 0xcc, 0xa8, 0x90, 0xc7, 0xe2, 0xc7, 0x54, 0xad, 0x39, 0x3c, 0x95, 0xb2, 0x90, 0xa7, 0x34, 0xba, 0x8d, 0x8d, 0xf8, 0x95, 0x0e, 0xa6, 0x26, 0x7a, 0xa8, 0xba, 0xc2, 0xb7, 0xb5, 0x06, 0x3b, 0x5f, 0xe9, 0xf1, 0x57, 0x6a, 0x57, 0x55, 0xa8, 0x29, 0x7b, 0x24, 0x54, 0xdd, 0x08, 0x2b, 0xdf, 0xad, 0x7f, 0xd2, 0x80, 0x28, 0x1c, 0x07, 0xbb, 0x29, 0x62, 0xf5, 0x7e, 0x60, 0x08, 0xff, 0xa2, 0x9b, 0xff, 0x0a, 0x15, 0xee, 0xd2, 0xa3, 0xf1, 0x32, 0xe6, 0x96, 0x8c, 0x1b, 0x75, 0x74, 0x58, 0x7a, 0xa2, 0x9a, 0x71, 0x6d, 0x88, 0x13, 0x13, 0x8c, 0xb2, 0x3c, 0x08, 0xcf, 0x42, 0x44, 0xfc, 0x48, 0x36, 0x99, 0x92, 0x11, 0xff, 0xe1, 0xae, 0x35, 0x1e, 0xe8, 0xee, 0x08, 0x1a, 0x60, 0x8d, 0x7a, 0xf2, 0x93, 0xab, 0xae, 0xa1, 0xdd, 0x44, 0x91, 0x5b, 0xcc, 0xda, 0x22, 0x62, 0x6e, 0x00, 0x6b, 0x10, 0x58, 0xe6, 0xc2, 0x63, 0x1a, 0x91, 0x87, 0xd2, 0x1c, 0x32, 0xa5, 0xd9, 0xa0, 0xa0, 0xf1, 0x70, 0xe6, 0xe4, 0x2a, 0x64, 0x4e, 0x21, 0x36, 0x74, 0x27, 0xed, 0x36, 0xd3, 0xf0, 0x05, 0x39, 0xb0, 0x21, 0x6f, 0x58, 0x4d, 0x86, 0xb1, 0x7e, 0xd9, 0x23, 0xb0, 0xd2, 0x52, 0x4f, 0x3d, 0x18, 0xfa, 0xf0, 0x62, 0x7e, 0xe2, 0x98, 0x4f, 0xc4, 0x8e, 0x95, 0x47, 0xea, 0x27, 0x46, 0x25, 0x5e, 0x08, 0xbd, 0x21, 0x8c, 0x32, 0x89, 0xda, 0xb1, 0x10, 0x37, 0xe7, 0xe5, 0xda, 0xc3, 0xf4, 0x79, 0x76, 0xc8, 0xbb, 0xb1, 0xcf, 0x89, 0xdb, 0xcc, 0x09, 0x70, 0xe7, 0x2c, 0xab, 0xce, 0x13, 0x1b, 0x3f, 0x06, 0x2e, 0xf8, 0x48, 0x0b, 0x38, 0x74, 0xe3, 0x0f, 0x51, 0xfe, 0xfd, 0xab, 0x85, 0x29, 0x85, 0x29, 0x0b, 0xeb, 0xfc, 0x24, 0xb0, 0x69, 0xc4, 0x1a, 0xf7, 0xa6, 0xc2, 0x60, 0x0c, 0x8f, 0x80, 0x10, 0xb8, 0xdd, 0x29, 0xd8, 0x73, 0xf7, 0x8c, 0x1e, 0xa2, 0xb4, 0x56, 0x9e, 0xbd, 0xa2, 0x3f, 0x87, 0x6e, 0xce, 0x7f, 0x9b, 0xca, 0x3a, 0x27, 0xfd, 0x59, 0x3d, 0x72, 0xea, 0x0b, 0x7d, 0x9b, 0x7b, 0x17, 0xa9, 0x36, 0x43, 0x68, 0x7e, 0x52, 0x31, 0x93, 0x09, 0x35, 0xfd, 0x38, 0x18, 0x46, 0x68, 0x0d, 0xc1, 0x60, 0xd7, 0x8d, 0x6d, 0xb3, 0xcc, 0x89, 0x86, 0x2a, 0x2e, 0x1a, 0x49, 0xf8, 0x4f, 0x65, 0x33, 0xdb, 0x2e, 0x6d, 0xd0, 0x9b, 0x23, 0x7c, 0xca, 0x69, 0x45, 0x26, 0x65, 0x28, 0xe5, 0x56, 0x89, 0x0b, 0x3d, 0x3c, 0xe8, 0x4e, 0x50, 0x10, 0x08, 0x33, 0x12, 0x1d, 0x47, 0x8e, 0x6a, 0x4d, 0xd4, 0x07, 0x19, 0xc3, 0x55, 0xb5, 0x14, 0x45, 0x52, 0x3b, 0x10, 0x95, 0xd4, 0x7c, 0x3e, 0x0e, 0x22, 0xb4, 0x2f, 0xf4, 0x84, 0x91, 0x23, 0xd1, 0x4a, 0x10, 0xfb, 0xea, 0xda, 0x34, 0x9d, 0x8a, 0xc9, 0x97, 0xc8, 0xd5, 0x20, 0x6f, 0x81, 0x2c, 0x70, 0xb9, 0xed, 0xe3, 0xc1, 0x0e, 0x48, 0x27, 0x6d, 0x76, 0x85, 0x02, 0xbf, 0x48, 0xaf, 0xe6, 0x31, 0x9b, 0x8a, 0x03, 0xf6, 0xff, 0xa0, 0x76, 0xe0, 0x67, 0x46, 0x9b, 0x88, 0x87, 0xdd, 0xc3, 0xcb, 0x46, 0x05, 0x9c, 0x68, 0xe2, 0xe3, 0xd6, 0x2f, 0x5f, 0x75, 0x19, 0xa1, 0x8f, 0xe2, 0x74, 0xa6, 0x8e, 0x1d, 0x11, 0x9c, 0x04, 0xdc, 0xe0, 0x5f, 0xf1, 0xa4, 0x09, 0x7e, 0x27, 0xa1, 0x4d, 0xba, 0xff, 0x23, 0x37, 0xab, 0x98, 0xef, 0xf5, 0xdd, 0xed, 0xe7, 0x0b, 0x99, 0x3e, 0xff, 0x8b, 0x84, 0xc0, 0x75, 0xeb, 0x15, 0xe7, 0x7f, 0x54, 0x60, 0xfd, 0x0e, 0x11, 0x8d, 0x83, 0xbe, 0x25, 0x31, 0x80, 0xb2, 0xcd, 0x0e, 0x14, 0x05, 0xba, 0x93, 0xfa, 0xf5, 0xac, 0x6d, 0x0b, 0xb5, 0x43, 0x32, 0x29, 0x02, 0x5b, 0xd2, 0x0b, 0xda, 0x6a, 0x23, 0x6f, 0x41, 0x6c, 0x67, 0xf1, 0x30, 0x13, 0x71, 0x1e, 0x15, 0x02, 0x4e, 0xa8, 0x2b, 0xef, 0x49, 0x44, 0x92, 0x31, 0x80, 0xef, 0xcb, 0x78, 0xe4, 0xd0, 0xab, 0x84, 0x7a, 0xac, 0x3c, 0xce, 0x76, 0x3c, 0x3e, 0x2a, 0x1e, 0x2b, 0xdc, 0x4e, 0x2c, 0x73, 0xda, 0x80, 0x2c, 0x24, 0x9b, 0xdb, 0xa3, 0xcb, 0x75, 0x7d, 0x98, 0xbe, 0xd7, 0x98, 0x2d, 0xc7, 0x57, 0x70, 0xf0, 0xd5, 0xf2, 0xb5, 0xc5, 0x43, 0x88, 0x9e, 0xbd, 0xa9, 0x37, 0x73, 0xfd, 0x4f, 0xe7, 0x50, 0x5c, 0x84, 0x79, 0x38, 0x0e, 0x98, 0xe6, 0xf4, 0x77, 0xab, 0x32, 0x7e, 0x4b, 0x0b, 0x08, 0x6e, 0x37, 0x83, 0xe0, 0x6a, 0x36, 0x55, 0x0b, 0x22, 0x0c, 0x71, 0xe8, 0x85, 0xdc, 0x74, 0x62, 0x3b, 0x9e, 0xe7, 0xfd, 0xc0, 0x7a, 0xc9, 0x12, 0xea, 0x05, 0x55, 0x74, 0x6c, 0xe0, 0xc5, 0x85, 0xa8, 0x33, 0xc9, 0x1f, 0x36, 0x0e, 0x70, 0xc4, 0x9e, 0x89, 0xf8, 0x68, 0x9d, 0xec, 0x75, 0x05, 0xd4, 0x80, 0xaf, 0x30, 0xfe, 0x05, 0x6e, 0xbe, 0x76, 0xf0, 0x52, 0x4a, 0x88, 0x9f, 0xf7, 0xc0, 0xc3, 0xb4, 0xcc, 0x4c, 0xe6, 0x60, 0x8c, 0x18, 0x9a, 0xb4, 0x39, 0x7a, 0x4f, 0x1d, 0x5c, 0x51, 0xc9, 0xe9, 0xd5, 0x0d, 0x6b, 0x63, 0xb8, 0x17, 0x68, 0x23, 0x43, 0xb4, 0xd0, 0x11, 0x85, 0xf9, 0xd7, 0x1d, 0x0e, 0x5f, 0xec, 0xcc, 0xfc, 0x76, 0x55, 0x16, 0xfd, 0x5d, 0xca, 0xf2, 0x6b, 0x0b, 0xb5, 0xf7, 0xd9, 0x78, 0x99, 0xbf, 0x50, 0x4a, 0xf7, 0xa6, 0xbc, 0x89, 0xa0, 0x88, 0x96, 0x72, 0x78, 0x79, 0x99, 0x3a, 0x02, 0x96, 0x65, 0xc2, 0xd7, 0xab, 0xda, 0xf2, 0x13, 0x70, 0x7b, 0xe6, 0x08, 0x85, 0x1d, 0xee, 0x2d, 0x47, 0xdf, 0x76, 0x67, 0x8f, 0xe8, 0x4f, 0x05, 0xf2, 0x15, 0x82, 0x3b, 0x90, 0x1a, 0x5a, 0xc0, 0x84, 0x79, 0xcd, 0x38, 0x4a, 0xe4, 0x77, 0xc7, 0xcf, 0x97, 0x38, 0x01, 0x3a, 0x47, 0xb1, 0x34, 0x25, 0x7c, 0xc8, 0x37, 0xa1, 0x6c, 0xae, 0xf6, 0x79, 0xff, 0x68, 0x2d, 0x4a, 0xca, 0x68, 0x84, 0x3a, 0x58, 0xe9, 0x9e, 0xb0, 0x95, 0x04, 0xc2, 0x14, 0xd7, 0xb2, 0xb6, 0x9c, 0x2f, 0x96, 0x7a, 0xb3, 0x85, 0x70, 0x48, 0x84, 0x40, 0xdc, 0x84, 0x84, 0x2d, 0xca, 0xab, 0x77, 0x7d, 0x79, 0x3e, 0x40, 0xb9, 0xac, 0xcf, 0x2f, 0xd9, 0x7a, 0xd3, 0xa8, 0x88, 0x9f, 0x80, 0xb9, 0x35, 0x5a, 0x7a, 0xb7, 0xbb, 0x92, 0x14, 0xb0, 0x5a, 0x5b, 0x7f, 0x63, 0xb5, 0x24, 0x9f, 0xc2, 0x2b, 0xbc, 0xc4, 0x44, 0xc1, 0xcb, 0xc3, 0xaf, 0x65, 0x74, 0xb4, 0xe8, 0x00, 0x55, 0xf6, 0x76, 0xc7, 0x4d, 0xf7, 0x48, 0xeb, 0x3a, 0x16, 0x9b, 0x54, 0x95, 0x84, 0xd3, 0xfe, 0x9f, 0xf8, 0x51, 0xf8, 0x0f, 0xe2, 0xe9, 0xd3, 0x1e, 0xbf, 0xaa, 0xf4, 0xff, 0xd7, 0x84, 0x2b, 0x7a, 0xc7, 0xf9, 0x69, 0x4d, 0x03, 0xf7, 0x06, 0xaf, 0x96, 0x5e, 0x44, 0xe5, 0x53, 0x0f, 0xdd, 0x78, 0x77, 0x8a, 0x60, 0x3b, 0xf8, 0xee, 0xf7, 0x37, 0x8a, 0x0a, 0x9a, 0xd6, 0xb0, 0xff, 0xd7, 0x90, 0xbb, 0xcc, 0x3d, 0x16, 0xf5, 0x1e, 0x85, 0xb9, 0x81, 0x76, 0x30, 0x39, 0xe6, 0x23, 0x6b, 0x70, 0xc8, 0x97, 0xb2, 0x2d, 0xc1, 0xc1, 0xb9, 0x4e, 0x9a, 0x62, 0xcb, 0x20, 0xfa, 0x5a, 0x6a, 0xe3, 0x7e, 0x59, 0x14, 0x7d, 0x2f, 0xb7, 0x45, 0xf3, 0x13, 0xb9, 0xea, 0xdc, 0x49, 0x52, 0x84, 0x5d, 0x6d, 0x97, 0x36, 0x95, 0x0f, 0xd8, 0xfa, 0xc3, 0xfb, 0x4a, 0x4b, 0x04, 0xb9, 0x07, 0xd9, 0xfd, 0xe9, 0xaf, 0x04, 0xbb, 0x13, 0x7e, 0xf4, 0x62, 0xc8, 0x43, 0x6d, 0x3a, 0x53, 0x03, 0x10, 0x14, 0x3c, 0xc7, 0xb8, 0x31, 0x08, 0x58, 0x8b, 0x86, 0x6a, 0xc5, 0x18, 0xc1, 0xcc, 0x1e, 0xc7, 0x84, 0xb5, 0x66, 0x71, 0xa6, 0x9e, 0xfe, 0x03, 0x68, 0xc1, 0x95, 0x9f, 0xb1, 0x94, 0xd6, 0x5f, 0x7a, 0xf4, 0x96, 0xc9, 0xd8, 0x9e, 0x43, 0xc4, 0xfb, 0x5b, 0x55, 0xa6, 0xdf, 0x09, 0xf6, 0xed, 0x8a, 0x45, 0xf2, 0x21, 0x8e, 0xcb, 0xdc, 0x68, 0xee, 0x90, 0xc0, 0xaa, 0x52, 0x82, 0xff, 0x39, 0x01, 0x8e, 0xe2, 0x80, 0xda, 0x39, 0x7c, 0xb2, 0xe9, 0xa3, 0x61, 0x32, 0x54, 0xcd, 0x4c, 0x0d, 0xa2, 0x83, 0xa3, 0x49, 0x6e, 0x9a, 0x6c, 0x50, 0x24, 0xfc, 0x59, 0x07, 0x59, 0x62, 0x96, 0xeb, 0x5c, 0xc4, 0x89, 0xe5, 0x4d, 0xfb, 0x34, 0xc2, 0x1f, 0x53, 0xec, 0xf6, 0x80, 0x54, 0x40, 0x2f, 0x1a, 0x31, 0xac, 0x50, 0x75, 0x52, 0x3b, 0x40, 0xbd, 0xd8, 0x18, 0x29, 0x5d, 0xe8, 0x5d, 0x27, 0xcd, 0x68, 0x26, 0xca, 0x3a, 0xdc, 0xc6, 0x7d, 0xe8, 0xf1, 0xc5, 0xdf, 0x90, 0xfb, 0xb0, 0x6f, 0x4d, 0x12, 0xa7, 0x9e, 0x5b, 0xd9, 0x56, 0xda, 0x2c, 0x8d, 0x60, 0x85, 0xfc, 0xef, 0x95, 0xd0, 0xcb, 0x5d, 0x13, 0x8f, 0x49, 0x52, 0x43, 0xe8, 0x7b, 0x52, 0x3d, 0xf8, 0x10, 0xf3, 0x69, 0x4c, 0x51, 0xb6, 0xe6, 0xbb, 0xd9, 0x9d, 0xae, 0x26, 0x44, 0x9f, 0xec, 0x42, 0xf0, 0x91, 0x4c, 0x39, 0x1b, 0xdc, 0x62, 0xb6, 0xa9, 0x25, 0xb4, 0xdd, 0x36, 0xed, 0xe2, 0x65, 0x6d, 0x25, 0x1a, 0x4d, 0x02, 0x4b, 0x98, 0x2c, 0x63, 0xdb, 0x0a, 0x88, 0xd0, 0xd0, 0xfb, 0x3d, 0x5d, 0x64, 0x26, 0x46, 0x48, 0xbc, 0x75, 0xc2, 0xb8, 0x4a, 0xe9, 0x97, 0xfb, 0xca, 0x83, 0x73, 0xc3, 0x49, 0x32, 0x3e, 0x6a, 0xd0, 0x58, 0xd1, 0x56, 0xc7, 0x7a, 0x25, 0x3f, 0xc2, 0x5c, 0xaf, 0x3c, 0x64, 0xa8, 0x73, 0x10, 0xda, 0xf9, 0xb1, 0x36, 0xc2, 0x72, 0x98, 0x16, 0xf8, 0xb9, 0x07, 0x2f, 0xb5, 0x14, 0xce, 0x9d, 0xa0, 0xd8, 0x3d, 0x56, 0x2c, 0x5f, 0x1e, 0x68, 0x44, 0x9c, 0xc0, 0x6a, 0x15, 0x32, 0x5a, 0xae, 0x4b, 0x4b, 0x94, 0xb6, 0x4d, 0x13, 0x23, 0x66, 0xcd, 0xfe, 0xd9, 0xd5, 0xe5, 0xa7, 0x0e, 0xd7, 0x6e, 0x03, 0xd9, 0xff, 0x92, 0x7e, 0xc8, 0x5c, 0x5b, 0xd0, 0x18, 0xf3, 0x34, 0x78, 0xf6, 0x1a, 0x92, 0xb7, 0xbb, 0x04, 0x6e, 0xc2, 0x1d, 0x44, 0x55, 0xef, 0xba, 0x1a, 0xe6, 0x94, 0x67, 0x92, 0x02, 0x51, 0xc0, 0x4a, 0x43, 0x96, 0x5b, 0xac, 0xd8, 0x5a, 0xaa, 0xc7, 0xfb, 0xae, 0xa8, 0x67, 0x37, 0x89, 0x06, 0xe8, 0x7b, 0xb7, 0x47, 0xd7, 0x75, 0x1d, 0x90, 0x98, 0x31, 0x1e, 0xd1, 0x73, 0x17, 0x0a, 0x6e, 0x22, 0xf5, 0xbe, 0x6a, 0x94, 0x25, 0x63, 0x77, 0x42, 0xc4, 0xa0, 0x80, 0x42, 0x5c, 0x7e, 0xe2, 0x25, 0x4e, 0xe3, 0xfb, 0x61, 0xa2, 0xea, 0xff, 0xf4, 0xc9, 0xbd, 0x76, 0x93, 0x08, 0x39, 0x7e, 0x99, 0x87, 0x1f, 0x68, 0xc2, 0x0a, 0x73, 0xfb, 0xf6, 0xfc, 0x25, 0x9f, 0x2b, 0x9a, 0x10, 0xcd, 0xfe, 0xe1, 0xdc, 0xd3, 0x21, 0x73, 0x22, 0x35, 0xd8, 0xec, 0xd0, 0x53, 0xa3, 0xa3, 0xe1, 0xdb, 0xbd, 0x6f, 0x92, 0x3a, 0x51, 0xff, 0xef, 0xc9, 0xd7, 0x9a, 0xb2, 0x25, 0x0f, 0xef, 0x02, 0xab, 0x64, 0x87, 0x3e, 0x5e, 0x8c, 0x23, 0x10, 0x4f, 0xac, 0x58, 0xdd, 0x04, 0x3b, 0x97, 0x5d, 0x87, 0xe6, 0xf2, 0x12, 0xc6, 0xc3, 0x18, 0x97, 0xa9, 0x4f, 0xce, 0xc7, 0x53, 0xe0, 0x36, 0x52, 0x5e, 0xca, 0x45, 0xfd, 0xcf, 0xd6, 0x67, 0x38, 0xea, 0x48, 0x91, 0xaf, 0x1d, 0xd2, 0xd8, 0x3d, 0x34, 0x39, 0x3c, 0xb0, 0x3a, 0x74, 0x07, 0xa5, 0x0e, 0xd2, 0x31, 0x29, 0x94, 0x5e, 0x7a, 0x5b, 0x4f, 0x84, 0x95, 0x37, 0xaa, 0x77, 0x23, 0x9c, 0x2e, 0xda, 0xc8, 0x85, 0x9b, 0xa4, 0x56, 0xd6, 0x8b, 0xd3, 0xc5, 0x21, 0x4e, 0x8c, 0x94, 0x8f, 0x46, 0x94, 0xeb, 0x01, 0x67, 0xa1, 0xf2, 0xaf, 0xda, 0x23, 0x3e, 0x5f, 0xc9, 0xde, 0x27, 0x2a, 0x53, 0x88, 0xd7, 0x82, 0xc0, 0x65, 0xb9, 0xd0, 0xf7, 0x22, 0x83, 0x3b, 0x5f, 0xd4, 0x52, 0x54, 0x4f, 0x3a, 0xf8, 0x20, 0xfb, 0x90, 0x2e, 0x97, 0x01, 0xa8, 0xcb, 0x52, 0xc2, 0xc0, 0xac, 0x44, 0x94, 0x4b, 0x5e, 0xc6, 0xa8, 0x3e, 0x12, 0x67, 0xb3, 0x15, 0xf9, 0xbe, 0xc3, 0xa6, 0x79, 0xe0, 0x27, 0xd1, 0x8f, 0x46, 0x01, 0x47, 0x21, 0x2f, 0xb2, 0xfe, 0xcf, 0xa9, 0x02, 0xce, 0xf9, 0x38, 0x75, 0x2a, 0x18, 0x29, 0xa4, 0xff, 0x8f, 0x8f, 0xe7, 0xa1, 0x34, 0xda, 0xbd, 0x50, 0xb3, 0xf9, 0x1c, 0xf6, 0x02, 0x37, 0x58, 0xeb, 0x9e, 0x14, 0xcc, 0xf1, 0x0a, 0x3e, 0x82, 0xb1, 0x0a, 0xf7, 0x52, 0xff, 0xe9, 0xb6, 0xcc, 0x10, 0x13, 0x0a, 0xa7, 0x3c, 0x95, 0xc1, 0x86, 0xfe, 0x6f, 0x53, 0xa0, 0x9c, 0x5f, 0xe0, 0x17, 0xfe, 0xea, 0x0a, 0xfd, 0x2b, 0x80, 0xc1, 0x42, 0x8d, 0xcd, 0xd5, 0xf6, 0x18, 0xab, 0x9a, 0x7e, 0x8d, 0x29, 0xb9, 0xc4, 0x82, 0x1b, 0xb0, 0x34, 0xd5, 0x38, 0x5e, 0xa3, 0xdf, 0x3f, 0x9c, 0x8f, 0x85, 0xb5, 0xd3, 0xb5, 0x7c, 0x36, 0x60, 0xbb, 0xc4, 0x05, 0x6f, 0x7a, 0x87, 0xca, 0x52, 0x85, 0x4a, 0x0f, 0xad, 0xed, 0x35, 0x3d, 0xad, 0xe7, 0x34, 0xf4, 0x16, 0x22, 0x93, 0x6a, 0xd2, 0xef, 0xde, 0x7d, 0x40, 0x97, 0x9c, 0x83, 0xbf, 0x8f, 0x9e, 0x25, 0x27, 0x81, 0x91, 0x0d, 0x94, 0x05, 0x01, 0x49, 0x7a, 0xda, 0x5e, 0x27, 0xac, 0x1a, 0xe7, 0x7e, 0xc6, 0x75, 0x0a, 0x09, 0xc6, 0x11, 0x42, 0xd7, 0x82, 0x84, 0x91, 0x56, 0xec, 0x74, 0x41, 0xe5, 0x82, 0xa0, 0xa5, 0x9e, 0xa1, 0x44, 0x19, 0xbf, 0x28, 0xfb, 0x5f, 0x4f, 0x4e, 0xe9, 0x9b, 0x44, 0x49, 0xef, 0x72, 0x9a, 0x81, 0x22, 0x14, 0x9a, 0xcd, 0xaf, 0xe9, 0x81, 0xaf, 0x2f, 0xf1, 0x05, 0xb1, 0x93, 0xc8, 0x43, 0xce, 0xe1, 0x18, 0x3b, 0xa2, 0x4c, 0x7c, 0x22, 0xe7, 0x51, 0x5a, 0xd6, 0xda, 0xbe, 0xf2, 0x52, 0x60, 0xe6, 0x51, 0x5f, 0xc4, 0x9a, 0x12, 0xe3, 0xe7, 0x29, 0x29, 0x76, 0xf5, 0x9b, 0xef, 0xad, 0x8e, 0x3f, 0x8a, 0x55, 0xa4, 0x4b, 0x5b, 0x73, 0x3e, 0x41, 0xce, 0xe8, 0x7a, 0x35, 0xa5, 0x4d, 0xe0, 0x58, 0x1b, 0x01, 0x20, 0xfe, 0x1e, 0x64, 0x35, 0x5c, 0xc3, 0xda, 0x36, 0x18, 0xbb, 0x40, 0x66, 0x7a, 0x67, 0x33, 0x52, 0xbb, 0x19, 0xae, 0x22, 0x80, 0xb9, 0x8e, 0x10, 0xd9, 0xef, 0x14, 0xef, 0xf1, 0x78, 0xda, 0xa3, 0xaf, 0x0a, 0x17, 0x8e, 0x24, 0xf9, 0xcb, 0xd6, 0xa9, 0xce, 0xfe, 0x9a, 0x75, 0xb3, 0xb0, 0xed, 0xdf, 0x8f, 0x0e, 0xdd, 0x1c, 0x18, 0x51, 0x98, 0x35, 0x0b, 0xcd, 0x3d, 0x4a, 0x6d, 0x0a, 0x79, 0x36, 0x74, 0x8e, 0x5e, 0xeb, 0x6d, 0x6c, 0x64, 0x93, 0x8d, 0x6d, 0x5a, 0xa2, 0xaa, 0x29, 0x72, 0xce, 0x2c, 0x81, 0xa7, 0xee, 0x35, 0x98, 0xe1, 0x50, 0x33, 0x73, 0x75, 0x24, 0x15, 0x59, 0x52, 0x25, 0xce, 0x2a, 0x17, 0x60, 0x24, 0xb6, 0xeb, 0x22, 0xe4, 0xf8, 0x18, 0xc7, 0x15, 0x72, 0x6b, 0x24, 0xe5, 0x48, 0xfa, 0xd2, 0x5c, 0x9b, 0x50, 0x49, 0xe2, 0x39, 0x6a, 0x74, 0xe7, 0x1d, 0x38, 0x99, 0xaa, 0xaf, 0x96, 0xf4, 0xaf, 0x85, 0xdf, 0x2f, 0x4f, 0xfe, 0x8e, 0x9c, 0xbb, 0xca, 0xbf, 0x40, 0x88, 0xc6, 0xcf, 0x17, 0x11, 0xfb, 0xb7, 0xb7, 0xf8, 0x92, 0xe9, 0x04, 0xec, 0x85, 0x3a, 0x1b, 0xae, 0xbb, 0xab, 0xb4, 0x38, 0x98, 0xb0, 0x2e, 0x42, 0x22, 0xf2, 0x4e, 0x8c, 0x56, 0xf0, 0x6a, 0x83, 0xb1, 0xf1, 0xf1, 0xee, 0x23, 0xca, 0x7e, 0x5d, 0x52, 0xd6, 0x64, 0xc6, 0x68, 0x21, 0x4f, 0xd5, 0xe7, 0x5f, 0x2b, 0x38, 0x21, 0xb7, 0xb7, 0xad, 0x44, 0xcc, 0x0e, 0x7f, 0x95, 0xc1, 0x89, 0x23, 0x96, 0x75, 0x00, 0x00, 0x2e, 0x3d, 0x80, 0xf3, 0x1c, 0xf6, 0xf0, 0x6e, 0x26, 0x07, 0x84, 0x91, 0xec, 0xa4, 0x06, 0x20, 0x90, 0x71, 0x19, 0x80, 0xd3, 0x62, 0xae, 0x33, 0xcb, 0xe8, 0x67, 0xb1, 0x99, 0x4e, 0x26, 0xc9, 0xbc, 0x1e, 0x9d, 0xb2, 0x2b, 0xd6, 0xab, 0x71, 0xce, 0x6c, 0x88, 0x00, 0x5b, 0xd0, 0x53, 0x09, 0xd8, 0x42, 0xa8, 0xc8, 0xef, 0xf6, 0x35, 0x7e, 0xa7, 0x5a, 0xdf, 0x82, 0xf3, 0x44, 0xd0, 0xa4, 0xbe, 0x98, 0x13, 0xd3, 0xe0, 0xd5, 0xe9, 0x27, 0xb8, 0xa9, 0x8c, 0x15, 0x24, 0xe7, 0xf1, 0x69, 0xc3, 0xab, 0xce, 0x2b, 0x07, 0x07, 0x3c, 0x1e, 0x7c, 0x79, 0xca, 0x0d, 0xcf, 0xa5, 0xe3, 0x7a, 0xfe, 0xa2, 0xa3, 0x21, 0xa6, 0x06, 0x25, 0xd8, 0x71, 0xc5, 0x26, 0x03, 0x9b, 0x96, 0x1e, 0x25, 0xa2, 0x2f, 0xb3, 0x01, 0x2e, 0x85, 0x9d, 0xfe, 0xe8, 0x31, 0xf5, 0x55, 0x30, 0x07, 0xde, 0xe1, 0x5e, 0x45, 0x6e, 0x0c, 0x4f, 0xb3, 0xce, 0x1a, 0x5b, 0x42, 0x64, 0xe6, 0x54, 0xb4, 0xed, 0x88, 0x86, 0xd5, 0x31, 0x5f, 0xf6, 0xa0, 0x69, 0x5f, 0xfe, 0x11, 0xe1, 0x9d, 0x1b, 0xcc, 0x83, 0x3e, 0x9b, 0x3a, 0x77, 0xab, 0x3d, 0xa0, 0x58, 0x0f, 0x49, 0x3e, 0x0e, 0x09, 0xf2, 0xdd, 0xe2, 0x6e, 0x02, 0x99, 0x9c, 0x96, 0x78, 0x30, 0xa1, 0x4e, 0xbb, 0x6d, 0x2c, 0x01, 0xd6, 0xd1, 0xb1, 0xc2, 0xe2, 0x74, 0x45, 0xda, 0x0c, 0x2b, 0x2e, 0x09, 0xcb, 0xae, 0xb3, 0xca, 0xa5, 0xb3, 0xe2, 0x15, 0xdc, 0x99, 0xbd, 0x73, 0x12, 0xf5, 0x74, 0x01, 0xcf, 0x3d, 0x55, 0xe9, 0x43, 0x4f, 0x77, 0xb8, 0x0d, 0x4a, 0xf2, 0xfd, 0x83, 0x0d, 0xbc, 0xe6, 0xe4, 0x97, 0xf9, 0x1d, 0x7d, 0x1e, 0xf7, 0xe7, 0xaa, 0xff, 0x07, 0xbb, 0xc8, 0x1f, 0xd5, 0x83, 0x17, 0x7a, 0xe7, 0x51, 0x72, 0x51, 0x96, 0xb2, 0x29, 0x12, 0x70, 0x84, 0x1a, 0x82, 0x3d, 0xa1, 0xa6, 0xef, 0x04, 0x23, 0xdb, 0x0d, 0x3f, 0x17, 0xdb, 0x7e, 0x7a, 0x01, 0x03, 0x6a, 0x60, 0xec, 0x1a, 0x46, 0xed, 0x51, 0x07, 0x1a, 0xbc, 0xf9, 0xe3, 0xb3, 0x42, 0x53, 0xb3, 0x3d, 0x07, 0x16, 0x8f, 0xc2, 0x7d, 0xb1, 0xa9, 0x84, 0xc4, 0x33, 0xbc, 0x05, 0x34, 0x5b, 0xd5, 0x21, 0x1b, 0x5f, 0x87, 0x16, 0xfb, 0xcc, 0x97, 0xf6, 0x7f, 0xd0, 0x94, 0x04, 0xba, 0x1d, 0xbe, 0x3f, 0x78, 0x56, 0x80, 0x80, 0x01, 0x86, 0x98, 0xe5, 0x07, 0x2a, 0x86, 0x74, 0xab, 0xfd, 0xe5, 0x7f, 0x1c, 0x5d, 0xf7, 0x87, 0xd6, 0xb7, 0x24, 0x63, 0x20, 0x5c, 0x0a, 0x88, 0x28, 0x78, 0x83, 0xdd, 0xa3, 0xab, 0x97, 0x58, 0xf4, 0xdb, 0x63, 0xe9, 0x2e, 0xa9, 0xff, 0x56, 0xfc, 0xdd, 0xc3, 0x92, 0x06, 0xa1, 0x15, 0x35, 0x51, 0x83, 0x6b, 0xf8, 0x34, 0x65, 0xa4, 0x13, 0xb9, 0x3e, 0x7c, 0xe1, 0x1f, 0x29, 0xae, 0x91, 0x64, 0x3b, 0xdf, 0x66, 0xea, 0xfa, 0xfa, 0x91, 0x38, 0x31, 0x73, 0x3d, 0x84, 0x56, 0xe1, 0x21, 0x52, 0x96, 0x1a, 0xc9, 0xb5, 0x6d, 0x2a, 0xd6, 0x85, 0x20, 0xc3, 0x5d, 0x75, 0xcd, 0x7d, 0xd0, 0x98, 0x34, 0x7f, 0x70, 0xc5, 0xff, 0x64, 0x98, 0xe2, 0x6b, 0x5c, 0xc9, 0xb1, 0x06, 0x25, 0x43, 0xb8, 0x36, 0x83, 0x3e, 0xdf, 0xd3, 0xd3, 0x6f, 0xb1, 0xd5, 0xb4, 0x39, 0x66, 0xea, 0x17, 0x2e, 0xb5, 0xf7, 0x24, 0x69, 0x4c, 0x8f, 0x73, 0xe9, 0x61, 0xc3, 0xf2, 0x60, 0xc2, 0xe9, 0xfe, 0x02, 0x3d, 0x12, 0xd0, 0xc7, 0xd8, 0xbe, 0xad, 0x49, 0xee, 0x23, 0xf1, 0x15, 0x36, 0x60, 0xbc, 0xce, 0x79, 0x02, 0x43, 0xed, 0x1a, 0x87, 0xb3, 0xeb, 0xb9, 0x7a, 0x13, 0x7b, 0x7e, 0xe8, 0xd8, 0xa3, 0x07, 0x5c, 0xcb, 0xb0, 0xe3, 0x8f, 0x61, 0x46, 0xc1, 0xd3, 0x94, 0xcd, 0xd5, 0x05, 0x93, 0xc6, 0x27, 0x6b, 0xf8, 0xdd, 0xfb, 0x2c, 0x33, 0x43, 0x60, 0x5a, 0x01, 0x46, 0x5a, 0x8b, 0xc7, 0x1f, 0x9b, 0x37, 0x3f, 0x04, 0xd8, 0xf7, 0xef, 0x24, 0xb8, 0xf0, 0x2f, 0xd3, 0x02, 0x42, 0xa5, 0x86, 0x02, 0xa2, 0xec, 0x14, 0xc6, 0x27, 0x29, 0x21, 0x9a, 0xb9, 0x2e, 0xf0, 0x5d, 0x5d, 0x81, 0x56, 0xf4, 0x59, 0xe8, 0x9e, 0xa0, 0xba, 0x97, 0x0e, 0x90, 0x56, 0xbd, 0xef, 0xf4, 0x40, 0x31, 0x9f, 0xcf, 0x14, 0xe2, 0xc7, 0x62, 0xa3, 0x56, 0xce, 0x15, 0xfa, 0xa0, 0xe0, 0x9b, 0xe2, 0x30, 0x39, 0x5d, 0xc1, 0xf7, 0xdf, 0x3c, 0xd5, 0xf4, 0x94, 0x5d, 0xb7, 0x2f, 0xff, 0x71, 0x3e, 0x0e, 0x0b, 0x5b, 0x7d, 0xd6, 0xbf, 0x2c, 0x33, 0x29, 0xc8, 0x74, 0x91, 0x85, 0x97, 0xcf, 0xfa, 0xc0, 0x07, 0x6e, 0x56, 0x77, 0xf4, 0x30, 0x76, 0x5b, 0xa9, 0x5f, 0x44, 0x5c, 0x0d, 0xe4, 0x99, 0x09, 0x0b, 0x57, 0xd0, 0xc3, 0x2c, 0xd1, 0x20, 0x91, 0x24, 0xfa, 0xb7, 0xc9, 0x42, 0x07, 0xaa, 0xb2, 0x2d, 0xd9, 0x2a, 0x25, 0x90, 0x7b, 0x8c, 0xd8, 0xdc, 0xab, 0x4f, 0x8b, 0x1b, 0x4e, 0x23, 0x68, 0xe5, 0xc2, 0x1e, 0x9b, 0xf7, 0xdf, 0xfa, 0x3a, 0xd3, 0x94, 0xd2, 0xd1, 0xce, 0x92, 0x9e, 0xca, 0xde, 0x40, 0xd7, 0x48, 0x47, 0x70, 0x9c, 0xeb, 0x09, 0x2f, 0x84, 0x3e, 0x65, 0x50, 0x53, 0xdb, 0x05, 0x06, 0x59, 0x34, 0xf5, 0x20, 0x4e, 0xfe, 0x00, 0x3a, 0x03, 0xfd, 0xd9, 0x29, 0x38, 0x5f, 0xff, 0xc4, 0xe2, 0x5f, 0x8e, 0x62, 0x74, 0x0f, 0xdc, 0xac, 0x7a, 0xf3, 0xc8, 0x32, 0xf0, 0xf0, 0xbd, 0x82, 0x04, 0xf4, 0x6e, 0xda, 0xba, 0x8f, 0x64, 0x2b, 0x2e, 0xf7, 0x94, 0x79, 0x3c, 0x0c, 0x5c, 0x57, 0x4b, 0x49, 0x88, 0x04, 0xeb, 0xcb, 0x63, 0x41, 0xf3, 0x15, 0xbd, 0x92, 0x56, 0x49, 0xc8, 0xe2, 0x78, 0x59, 0x03, 0xf7, 0x53, 0x00, 0x90, 0x7e, 0x88, 0xeb, 0xd5, 0x56, 0xa4, 0x50, 0x2e, 0x16, 0x0c, 0x6d, 0x39, 0xc3, 0x3a, 0xf1, 0xa0, 0xab, 0x40, 0xa9, 0xc7, 0xa6, 0x55, 0xb4, 0x3b, 0x3d, 0x60, 0xe9, 0x81, 0x90, 0xcb, 0x27, 0x1a, 0xff, 0xc3, 0x16, 0x6d, 0x9f, 0xb2, 0x96, 0x0e, 0xc1, 0x77, 0x26, 0xd6, 0x52, 0x93, 0x98, 0xb0, 0x0e, 0x44, 0x19, 0x6e, 0x4d, 0x71, 0x6b, 0xcd, 0x45, 0xce, 0x4a, 0x14, 0x8f, 0x90, 0xe7, 0x46, 0x06, 0x6e, 0x65, 0xaa, 0xe1, 0x0c, 0x44, 0x3a, 0xa4, 0x1a, 0x53, 0x4c, 0x06, 0x0c, 0xc7, 0x97, 0x9e, 0x73, 0x47, 0x96, 0x3d, 0x84, 0x95, 0x2d, 0xfe, 0x48, 0x35, 0x5a, 0x4c, 0x38, 0xea, 0x1e, 0xd3, 0x9f, 0xb7, 0xa0, 0xd4, 0xd1, 0xfe, 0x36, 0x55, 0x56, 0x1b, 0x36, 0x23, 0x96, 0x2e, 0x28, 0xcf, 0xa0, 0x8c, 0xc9, 0x42, 0x86, 0x54, 0x90, 0x47, 0x5c, 0x53, 0x56, 0x41, 0x11, 0xb3, 0xe1, 0x8c, 0x57, 0x96, 0xff, 0x6e, 0xc8, 0x7b, 0x29, 0x18, 0xf7, 0x2b, 0x0e, 0x18, 0x89, 0x03, 0x37, 0x89, 0x17, 0x31, 0xdc, 0x02, 0x07, 0x32, 0xc4, 0x23, 0xe6, 0x99, 0xc6, 0x1b, 0xbd, 0x74, 0x83, 0x6e, 0x71, 0x93, 0x5b, 0xe9, 0x72, 0xde, 0xdb, 0xee, 0x2d, 0x97, 0xe9, 0x06, 0xa1, 0x08, 0x7e, 0xcc, 0x59, 0x72, 0x47, 0xa7, 0x03, 0xf2, 0x35, 0xc6, 0x15, 0x28, 0x23, 0x19, 0x02, 0x8b, 0xb2, 0x88, 0xc0, 0xe3, 0xbe, 0x45, 0x07, 0x2e, 0x7f, 0xd1, 0x86, 0xbd, 0x38, 0x14, 0xb3, 0x3a, 0x84, 0x71, 0xa9, 0x32, 0xe5, 0x5e, 0x5a, 0x1e, 0x48, 0x7d, 0x9b, 0x7c, 0x29, 0x61, 0x6e, 0xc0, 0x74, 0xea, 0xc5, 0x3f, 0xcd, 0x5a, 0x33, 0xe3, 0xf0, 0xf8, 0x91, 0x1f, 0xc4, 0xc5, 0x2a, 0xe1, 0xfc, 0xf6, 0xda, 0x8b, 0x74, 0x75, 0xd0, 0x90, 0xb1, 0xf2, 0x7c, 0x97, 0xef, 0x6c, 0x71, 0xfd, 0x3f, 0xae, 0x66, 0x9d, 0xf6, 0x45, 0xdd, 0x38, 0x33, 0xd7, 0xed, 0x56, 0x58, 0x9a, 0x32, 0xc2, 0x0e, 0x5c, 0x61, 0x1d, 0x8c, 0x8e, 0x5a, 0x7a, 0xce, 0xc0, 0x5e, 0xf4, 0xbe, 0xb9, 0xd1, 0x61, 0xc8, 0x49, 0xd5, 0xaf, 0xcd, 0xf1, 0x40, 0x82, 0xfb, 0xe9, 0xb2, 0x0e, 0x4e, 0x73, 0xbf, 0xf4, 0x4e, 0x05, 0x56, 0x11, 0x75, 0xf1, 0x0b, 0x9d, 0x41, 0x7a, 0x6d, 0x60, 0x8f, 0xa6, 0x1f, 0xd6, 0x15, 0x2b, 0xc5, 0xdd, 0x55, 0x10, 0x1e, 0x28, 0x7d, 0x26, 0x5e, 0x88, 0x81, 0x39, 0x7d, 0xa8, 0x8c, 0x11, 0x8d, 0x7a, 0xf4, 0xe0, 0x55, 0x25, 0xfa, 0x2c, 0xa4, 0x93, 0x39, 0x87, 0xef, 0x70, 0xa9, 0x74, 0x9a, 0x4e, 0xa7, 0x9b, 0xbf, 0x1a, 0x10, 0x43, 0xba, 0x6c, 0x62, 0xae, 0x6d, 0x2e, 0x83, 0x13, 0x0f, 0xc9, 0x8f, 0x76, 0x80, 0x75, 0xa5, 0xb2, 0xb4, 0x15, 0xa5, 0xb9, 0x34, 0x16, 0x1b, 0xe1, 0x50, 0xdd, 0x71, 0x83, 0xf8, 0x53, 0x1d, 0x2f, 0xc2, 0xde, 0x36, 0x46, 0x95, 0x72, 0x99, 0xfa, 0xcc, 0x4e, 0xb1, 0x1f, 0x35, 0xab, 0xcb, 0x5c, 0x82, 0x1f, 0xcc, 0x52, 0x6e, 0x32, 0xa5, 0x2a, 0xa6, 0xaf, 0x8a, 0x9e, 0xbc, 0x9f, 0xa2, 0x71, 0xb3, 0x89, 0xb5, 0xfc, 0x3e, 0x4f, 0x62, 0x53, 0xe6, 0xc3, 0x30, 0x10, 0xa8, 0xa9, 0xda, 0xfc, 0xbd, 0x74, 0xfe, 0x21, 0x5e, 0xa2, 0xd6, 0xe6, 0xc1, 0xd9, 0xed, 0x1e, 0x8c, 0x73, 0x1b, 0xdf, 0x10, 0x4e, 0x61, 0x1e, 0x2b, 0x3b, 0xaf, 0x14, 0xc0, 0xd5, 0xbe, 0x59, 0x7e, 0xfd, 0xc6, 0x2c, 0x37, 0xd2, 0xb1, 0x2b, 0xe5, 0x7b, 0x13, 0x6a, 0xa1, 0x9a, 0xb2, 0x80, 0xf6, 0x62, 0xc7, 0xda, 0xb1, 0xbc, 0x1d, 0x54, 0x38, 0xe7, 0xb3, 0xdb, 0x67, 0xdc, 0x16, 0x4c, 0x1d, 0x8c, 0x09, 0xdb, 0xaa, 0x6c, 0x73, 0x5b, 0x1d, 0x1a, 0x96, 0xbf, 0x6e, 0x68, 0x2c, 0xc3, 0x1e, 0x35, 0xe3, 0x3c, 0x5c, 0x1d, 0xe7, 0x54, 0x92, 0x9d, 0x70, 0x98, 0x5b, 0x72, 0x1e, 0x33, 0x3d, 0x32, 0x36, 0xab, 0xd9, 0xb7, 0xc2, 0x0f, 0xe0, 0x63, 0x0d, 0x13, 0x7c, 0x18, 0x5b, 0x15, 0x08, 0x64, 0x7f, 0xbe, 0x25, 0x48, 0x06, 0x36, 0xc4, 0xe9, 0x32, 0xc5, 0x2d, 0x52, 0xa0, 0x32, 0x4f, 0x25, 0x3d, 0x16, 0xc2, 0x65, 0x36, 0xab, 0xd9, 0xd3, 0x8f, 0x78, 0x59, 0x3d, 0x74, 0xc0, 0xca, 0xaa, 0x4d, 0x7b, 0x0d, 0x58, 0xa1, 0xcf, 0x71, 0x46, 0xf4, 0x8d, 0xe5, 0xb2, 0x77, 0x85, 0x80, 0x4b, 0x0b, 0x7b, 0xdf, 0x02, 0x5c, 0x50, 0xd7, 0xa1, 0xbf, 0xcc, 0xba, 0xd1, 0x29, 0xef, 0x42, 0x0f, 0x9c, 0x07, 0xe9, 0x80, 0x4d, 0x16, 0xc2, 0x4d, 0x97, 0xd8, 0xe6, 0x78, 0xa6, 0xde, 0xf8, 0x46, 0xee, 0x9d, 0xb7, 0x19, 0x73, 0xc0, 0x26, 0xd1, 0xa6, 0xb3, 0x67, 0x97, 0xa4, 0x0f, 0x95, 0x24, 0xea, 0x36, 0x40, 0xdf, 0x29, 0xb9, 0xc8, 0xf0, 0x69, 0x11, 0x41, 0x71, 0x83, 0x69, 0x78, 0xf0, 0x86, 0x5a, 0xf0, 0x5a, 0xd9, 0x79, 0xee, 0x98, 0x88, 0xfe, 0x35, 0x06, 0xea, 0xb2, 0xee, 0xee, 0xf7, 0xd6, 0x66, 0x81, 0x1e, 0x6f, 0xe5, 0x3e, 0x93, 0x8c, 0x85, 0x06, 0xcb, 0x58, 0xc7, 0x16, 0x02, 0x4b, 0x53, 0x2a, 0x2a, 0x9d, 0x2d, 0x6b, 0x0f, 0x8a, 0x49, 0xeb, 0x0e, 0x33, 0x11, 0x37, 0x00, 0xbd, 0xc3, 0x06, 0x7c, 0xe5, 0x0a, 0x3e, 0x27, 0xce, 0xbd, 0xce, 0x70, 0x1c, 0xf2, 0xa0, 0xb2, 0xf1, 0x70, 0x1a, 0x22, 0x0d, 0x73, 0x3d, 0x20, 0x57, 0xdb, 0x8b, 0x30, 0x26, 0x7d, 0xca, 0x45, 0x7e, 0x40, 0x2e, 0xf8, 0x31, 0x00, 0xe0, 0x1e, 0xd1, 0x60, 0x26, 0x7e, 0x9b, 0x68, 0xf6, 0x9e, 0x97, 0x4b, 0xfe, 0x73, 0xe3, 0x11, 0xf6, 0x37, 0xa2, 0x49, 0xf4, 0x3e, 0x68, 0xf9, 0xa0, 0x1f, 0xd1, 0xeb, 0x58, 0xde, 0xe6, 0x87, 0xde, 0x2d, 0x4f, 0xbe, 0x77, 0x48, 0xf1, 0xc4, 0x15, 0x2b, 0x00, 0x88, 0x0a, 0xb0, 0x8f, 0xfc, 0xd8, 0x9b, 0xd1, 0x6c, 0x01, 0xed, 0x9f, 0xd1, 0x90, 0xae, 0x05, 0xd9, 0xb6, 0x8b, 0xb6, 0x26, 0x3f, 0x56, 0x6f, 0x16, 0x1a, 0x8e, 0x41, 0xca, 0x08, 0x24, 0x52, 0x0b, 0xbc, 0x08, 0x7f, 0xd0, 0x99, 0x1a, 0x01, 0x78, 0x87, 0x9c, 0x75, 0xdd, 0xfe, 0xd5, 0x48, 0x64, 0xb8, 0x52, 0x95, 0x60, 0x75, 0xef, 0xcb, 0x8b, 0xd4, 0x90, 0x94, 0x07, 0x5e, 0x7e, 0xa3, 0x3f, 0x28, 0xe8, 0x9a, 0x1c, 0xa5, 0xa0, 0xf4, 0xe7, 0xe8, 0x5d, 0x3f, 0x84, 0xde, 0x60, 0x24, 0xee, 0xb9, 0x1c, 0x37, 0x48, 0x62, 0xde, 0x87, 0xcd, 0xc1, 0x1e, 0x50, 0xbe, 0x63, 0x5b, 0xa4, 0xc6, 0x8c, 0xea, 0x1e, 0x3d, 0x25, 0xbf, 0xe1, 0x78, 0x0a, 0xd3, 0xfb, 0xc2, 0x39, 0xdb, 0x9b, 0x62, 0xbd, 0xd2, 0x7c, 0x3c, 0x13, 0x08, 0xa2, 0x26, 0x4f, 0xe4, 0x1a, 0x1d, 0xd2, 0xd1, 0x3f, 0x0d, 0x03, 0xde, 0x18, 0xbe, 0xe4, 0x70, 0xfd, 0x66, 0x1a, 0xf9, 0xf3, 0x74, 0x75, 0x50, 0x5f, 0xfb, 0xe3, 0xe0, 0xc7, 0x32, 0x62, 0x50, 0x00, 0xcb, 0xc2, 0x12, 0x49, 0x58, 0x52, 0xa9, 0xde, 0x6d, 0xd3, 0xb1, 0x8a, 0x01, 0x00, 0x67, 0x69, 0x9a, 0x3f, 0x35, 0x0a, 0x75, 0x4b, 0xe5, 0xe8, 0xd8, 0x91, 0x70, 0x80, 0xcc, 0x45, 0xae, 0x63, 0x08, 0x05, 0x1d, 0x89, 0xb0, 0x26, 0x5f, 0x6e, 0xba, 0xb3, 0xc7, 0x89, 0xc7, 0x6f, 0x73, 0x9b, 0x72, 0x3e, 0x18, 0x71, 0x19, 0xa5, 0x70, 0x28, 0x91, 0x32, 0x32, 0x32, 0x18, 0xd8, 0x2b, 0xbd, 0x82, 0x54, 0x65, 0xd5, 0x74, 0x7b, 0x62, 0xa3, 0x04, 0x8b, 0x11, 0x5e, 0xbf, 0x42, 0xb8, 0x0d, 0x28, 0xba, 0x60, 0xb9, 0x95, 0xa2, 0xc0, 0x8e, 0x87, 0xa1, 0x26, 0x05, 0x37, 0x94, 0xac, 0xbb, 0x84, 0x17, 0x9c, 0xb3, 0xb1, 0x72, 0xb5, 0x6e, 0x5e, 0x8a, 0x7a, 0x76, 0x5b, 0xb8, 0x92, 0x21, 0xf4, 0x3d, 0x66, 0x2b, 0xb5, 0x69, 0xda, 0x81, 0x90, 0x06, 0x2a, 0x81, 0x39, 0x26, 0x7e, 0x1c, 0x5b, 0xcc, 0x98, 0x8a, 0xc2, 0x31, 0xf9, 0x21, 0xa2, 0xd6, 0x98, 0x31, 0xbd, 0x41, 0x3e, 0x43, 0x68, 0x1c, 0xb3, 0xb0, 0x6e, 0x40, 0x36, 0x8d, 0xac, 0x2a, 0x55, 0xc0, 0xe0, 0x09, 0x04, 0x0b, 0x55, 0x65, 0xf7, 0xee, 0x4a, 0x44, 0x4f, 0x0d, 0x2f, 0xdd, 0x84, 0x90, 0xe2, 0x20, 0x8b, 0x2d, 0x5d, 0xaa, 0xbd, 0x57, 0x30, 0x76, 0x0b, 0xff, 0x22, 0x81, 0x25, 0x57, 0xb6, 0x5b, 0x6d, 0xdd, 0xd1, 0x14, 0x46, 0x48, 0x2c, 0x47, 0x77, 0xce, 0x92, 0x7f, 0x0d, 0x93, 0x0e, 0x69, 0xd2, 0x63, 0xcd, 0x57, 0x3c, 0xb4, 0x57, 0xff, 0xbc, 0x00, 0x05, 0x84, 0x98, 0xc6, 0x5d, 0xf1, 0xfd, 0xac, 0xdf, 0x17, 0x77, 0x62, 0xfb, 0x18, 0xbb, 0xf7, 0xc8, 0x05, 0x1c, 0x9e, 0xd5, 0x9b, 0x8d, 0x37, 0xbd, 0x46, 0xea, 0xe5, 0x9f, 0xda, 0xff, 0xef, 0x87, 0xdc, 0x7a, 0xa4, 0x2e, 0x84, 0x3e, 0x04, 0x3f, 0x54, 0xd3, 0xb5, 0xeb, 0x07, 0x32, 0x1c, 0x3a, 0xee, 0x36, 0x84, 0x12, 0xd9, 0x6b, 0xce, 0xd5, 0x84, 0x4b, 0xce, 0x96, 0x04, 0x93, 0x13, 0x3f, 0xc2, 0x43, 0x04, 0xa3, 0x3c, 0xd2, 0x73, 0xb7, 0x0e, 0x00, 0x0c, 0x29, 0x93, 0x24, 0x19, 0xb7, 0x3f, 0x38, 0xca, 0x5b, 0x77, 0x9d, 0x76, 0x3f, 0x34, 0xa4, 0xe1, 0x1c, 0x13, 0x02, 0x0f, 0x00, 0x43, 0x01, 0x81, 0x5a, 0xe0, 0xd4, 0x86, 0xf8, 0x89, 0x26, 0x6c, 0xdf, 0xc9, 0x9d, 0x98, 0x6f, 0x45, 0x44, 0x60, 0x40, 0x63, 0x34, 0xe2, 0x24, 0xcb, 0x54, 0x5c, 0xc6, 0xb6, 0x99, 0x74, 0x97, 0x57, 0xbb, 0x21, 0xa1, 0x1b, 0xd5, 0xd3, 0x05, 0xcf, 0x87, 0x29, 0x37, 0x75, 0x9f, 0x96, 0x95, 0xa4, 0xbf, 0x1f, 0x61, 0x26, 0x7b, 0x0d, 0xf5, 0xa1, 0x5a, 0x44, 0xe0, 0x78, 0x6a, 0x15, 0x5c, 0x60, 0x69, 0xf5, 0x89, 0x4e, 0x39, 0x3b, 0x07, 0xf3, 0x8e, 0xaa, 0xbb, 0xfb, 0x3f, 0xb5, 0x9f, 0x7e, 0xb8, 0x84, 0xb0, 0x0b, 0x5e, 0x42, 0xb7, 0xb8, 0xe3, 0xa0, 0x53, 0x44, 0xf2, 0x58, 0x6c, 0xdb, 0xcf, 0xb4, 0xa5, 0x50, 0x00, 0x28, 0x1e, 0xfe, 0xef, 0x8a, 0x33, 0xe1, 0xfa, 0x72, 0x6f, 0x95, 0xff, 0xdb, 0xf9, 0xf7, 0x4b, 0xf5, 0x65, 0x88, 0xb2, 0x5f, 0x32, 0x4b, 0x48, 0x30, 0x34, 0x51, 0x00, 0x78, 0xf8, 0x0e, 0x15, 0xad, 0x91, 0xc3, 0xe3, 0x74, 0x2a, 0x1c, 0x6a, 0x34, 0x0c, 0x51, 0x59, 0x6d, 0xf7, 0x3b, 0x66, 0x68, 0xf7, 0x31, 0xe4, 0x9b, 0x05, 0x00, 0x8b, 0xe5, 0x1c, 0xc2, 0x3d, 0x39, 0xda, 0x5c, 0x24, 0xf4, 0x2d, 0x52, 0x9a, 0xf7, 0xc6, 0x27, 0x2a, 0xdf, 0x5a, 0x79, 0x5b, 0x74, 0x15, 0x2b, 0x6f, 0x91, 0xaa, 0x60, 0x24, 0xdd, 0x3a, 0xa2, 0xa9, 0x98, 0x90, 0x30, 0x19, 0xfa, 0x73, 0x23, 0x54, 0xc9, 0x2d, 0x30, 0xb3, 0x19, 0x77, 0xc1, 0xd2, 0x44, 0x0f, 0xa4, 0x73, 0x94, 0xb2, 0x40, 0x1c, 0xc7, 0x55, 0x6d, 0x69, 0x7b, 0xc5, 0xb8, 0x50, 0xb4, 0xed, 0x57, 0x4d, 0xd2, 0x08, 0x32, 0x99, 0xb4, 0xac, 0x36, 0x08, 0x7f, 0x62, 0xaf, 0x1d, 0xee, 0x95, 0x2c, 0x8f, 0x75, 0x0b, 0xf3, 0xa0, 0xf4, 0x3b, 0x60, 0x4a, 0xa6, 0x83, 0x16, 0xb0, 0x6b, 0x23, 0xa9, 0x7e, 0x4f, 0x62, 0x8c, 0x91, 0xd9, 0x11, 0xaa, 0x82, 0xbd, 0x48, 0xeb, 0x84, 0xdb, 0x2d, 0x94, 0x3f, 0x20, 0x2b, 0x4f, 0xda, 0x64, 0x9f, 0x5b, 0x83, 0x1c, 0x5e, 0xf9, 0xbf, 0x83, 0xb3, 0xea, 0xb7, 0xb9, 0x5e, 0x8d, 0xff, 0x9d, 0x90, 0x70, 0x54, 0x23, 0x11, 0xfb, 0xf7, 0xaf, 0x85, 0xda, 0x16, 0x67, 0xda, 0x60, 0x31, 0xeb, 0xed, 0xc1, 0x66, 0x6e, 0x8a, 0xf8, 0xb0, 0xe3, 0xb6, 0x81, 0xaa, 0x08, 0xd0, 0x32, 0xf5, 0xa9, 0xcf, 0x09, 0x91, 0x40, 0x93, 0xc5, 0x4e, 0x54, 0xcb, 0xeb, 0x1d, 0x12, 0x90, 0x10, 0x82, 0x52, 0xd5, 0x56, 0xb4, 0x5b, 0xde, 0x88, 0x5a, 0xb1, 0x6a, 0x3d, 0xad, 0x03, 0x1b, 0xa0, 0x8b, 0xf7, 0xad, 0x26, 0x6b, 0x36, 0x68, 0x08, 0x01, 0xe4, 0x5e, 0xf5, 0xa2, 0x19, 0xd6, 0x8f, 0x59, 0x1c, 0x0a, 0x4f, 0x97, 0x2b, 0x8d, 0xc2, 0x78, 0xef, 0x9f, 0xea, 0xfd, 0xcc, 0xd4, 0x68, 0xc9, 0xad, 0x80, 0x65, 0xfe, 0x6a, 0xbd, 0xf0, 0x57, 0x9d, 0x97, 0x6a, 0xcc, 0xea, 0xa1, 0x7e, 0x84, 0xb6, 0x34, 0x17, 0xc1, 0x52, 0x05, 0xee, 0xf4, 0x86, 0x29, 0x8a, 0x9f, 0x3f, 0xd5, 0xdf, 0x31, 0x2d, 0x5d, 0xff, 0xf6, 0xfa, 0x81, 0x24, 0xa5, 0x70, 0x2b, 0x2c, 0xa0, 0x3d, 0xb5, 0x4b, 0x15, 0xfc, 0x92, 0x53, 0xa2, 0xbf, 0x5b, 0x74, 0x6f, 0xb7, 0xbd, 0xcd, 0x62, 0xb4, 0x1f, 0x77, 0xff, 0x0f, 0x65, 0x9c, 0x11, 0x91, 0xd0, 0xff, 0xa1, 0xda, 0xc0, 0x23, 0x18, 0xae, 0xf9, 0xcc, 0x10, 0x09, 0xf9, 0xa7, 0xd4, 0x28, 0xf6, 0x2e, 0xa8, 0x16, 0x03, 0xb3, 0xd6, 0x0b, 0x14, 0xa3, 0xea, 0xaf, 0x6a, 0xe8, 0x6e, 0x67, 0xe2, 0x59, 0x0f, 0x23, 0xbf, 0xeb, 0x64, 0x85, 0x5c, 0x01, 0x7c, 0x1c, 0xf7, 0x76, 0x76, 0xa6, 0x8f, 0x32, 0x51, 0xe3, 0x80, 0xfa, 0xd6, 0x30, 0x76, 0x54, 0x4e, 0xd1, 0x32, 0x56, 0x46, 0xa2, 0x2b, 0xc4, 0x9b, 0x4b, 0x9d, 0xe0, 0x7e, 0x35, 0x49, 0xa4, 0xec, 0xed, 0xbc, 0xcc, 0x8b, 0x5f, 0x17, 0x73, 0x58, 0x23, 0xf9, 0x15, 0x82, 0x42, 0x6f, 0x6b, 0x1c, 0xdd, 0xcd, 0xe4, 0x4a, 0x86, 0x56, 0xa6, 0x2b, 0x61, 0xe7, 0xbf, 0xfe, 0xf0, 0xe9, 0x82, 0x2b, 0xdd, 0x5c, 0x47, 0x6a, 0x3f, 0x0d, 0xda, 0x61, 0xbe, 0x51, 0x97, 0x5a, 0xa7, 0x7b, 0x1a, 0x8d, 0x28, 0x4b, 0x4a, 0x1d, 0xe5, 0x28, 0xcb, 0xc9, 0xeb, 0x1f, 0xd6, 0x02, 0xa2, 0x91, 0x44, 0xe2, 0x8d, 0xe7, 0x92, 0x3f, 0x7f, 0x43, 0x9a, 0x0c, 0xfd, 0x7c, 0x41, 0x64, 0x31, 0x91, 0xb4, 0x52, 0x33, 0xda, 0x9e, 0x23, 0xbb, 0xca, 0x0b, 0x79, 0x94, 0x92, 0x68, 0xd5, 0x72, 0xcb, 0x79, 0x2c, 0xf2, 0x12, 0x81, 0x62, 0xd6, 0xd8, 0x65, 0xe6, 0x21, 0xc9, 0xa0, 0x7b, 0xb1, 0xcc, 0xd7, 0xa0, 0x78, 0x4a, 0x6f, 0x1c, 0x45, 0x0b, 0xed, 0x05, 0x0c, 0xbc, 0x6a, 0x73, 0x11, 0x3f, 0x9e, 0x1a, 0xa0, 0xc4, 0xa9, 0x4d, 0xae, 0xc2, 0xa1, 0x5f, 0x77, 0xee, 0xe4, 0xbc, 0x84, 0x4f, 0xd0, 0xda, 0x84, 0x8c, 0x14, 0xe6, 0x6e, 0x4b, 0x52, 0xf5, 0xa2, 0x0d, 0x89, 0x16, 0x89, 0x4b, 0x33, 0x1c, 0xdf, 0x64, 0x48, 0xac, 0x18, 0xc5, 0x27, 0x78, 0x14, 0x42, 0x7f, 0x16, 0x62, 0x78, 0xb5, 0x8e, 0x7b, 0xc2, 0xb5, 0x4c, 0xdb, 0xe4, 0x35, 0xfc, 0x65, 0x24, 0x5f, 0x27, 0xc8, 0xcf, 0x1f, 0x18, 0x16, 0x57, 0x35, 0xf3, 0x83, 0x5b, 0x3d, 0xec, 0x01, 0xa0, 0x12, 0xb3, 0x4c, 0xb8, 0x9b, 0xac, 0xc1, 0x5a, 0x77, 0x13, 0x54, 0x02, 0x57, 0x4e, 0x59, 0x1b, 0x5d, 0xa5, 0x83, 0x5b, 0xa9, 0x08, 0xa0, 0xcd, 0x96, 0xfa, 0xb9, 0x27, 0x9b, 0x44, 0x74, 0x19, 0x57, 0x89, 0xb0, 0x84, 0xe5, 0x49, 0x12, 0x7a, 0xd5, 0xe8, 0x94, 0x2a, 0xe3, 0xb2, 0xba, 0x99, 0xda, 0x23, 0x6c, 0xc3, 0x07, 0x3a, 0x11, 0x54, 0x95, 0x97, 0xd1, 0xcd, 0xad, 0x3f, 0xe8, 0x5d, 0x3e, 0x7c, 0x53, 0xc1, 0xf7, 0xff, 0xe5, 0xae, 0xc8, 0xd6, 0x08, 0x4f, 0x2c, 0x58, 0x23, 0x9c, 0x6d, 0xe9, 0xfe, 0xfe, 0xc0, 0x36, 0xf9, 0x93, 0xef, 0x9a, 0xf4, 0xc2, 0xef, 0x4c, 0x75, 0x69, 0x98, 0xb7, 0x56, 0x81, 0x6d, 0xa2, 0xc1, 0xbc, 0x39, 0x63, 0x60, 0xa7, 0xab, 0xd1, 0x12, 0x0d, 0xb0, 0xd9, 0x10, 0x45, 0xdd, 0x5f, 0xce, 0xdc, 0x7f, 0xd9, 0x01, 0xa4, 0xff, 0xf9, 0x2f, 0x81, 0x07, 0x87, 0xa7, 0xb3, 0xe0, 0xc0, 0xc9, 0xe8, 0xda, 0x61, 0xca, 0x38, 0x47, 0xa5, 0x57, 0x9c, 0x34, 0xdb, 0x0e, 0x65, 0xc0, 0x86, 0xa7, 0x1f, 0xff, 0x53, 0xc9, 0xb2, 0x37, 0xea, 0xc2, 0xa4, 0xed, 0x79, 0x0e, 0xa9, 0x20, 0x3a, 0x37, 0x50, 0x6d, 0x6e, 0xbd, 0x4e, 0x2c, 0x62, 0x96, 0x62, 0xd6, 0x89, 0xf0, 0xea, 0x07, 0x78, 0xa6, 0x17, 0xb6, 0x47, 0x22, 0xca, 0x00, 0xe9, 0x3c, 0x30, 0x69, 0xd9, 0x3b, 0x10, 0xa1, 0x53, 0x20, 0x6f, 0x3e, 0x53, 0x52, 0xbf, 0xa3, 0x47, 0xe1, 0xb5, 0x4b, 0x2b, 0x21, 0x5e, 0x3d, 0xba, 0x64, 0x49, 0xf4, 0xf8, }; + +const u8 g_IndividualXorKey[16384] = { + 0x39, 0xff, 0x2a, 0x33, 0x1b, 0xd0, 0x9a, 0x18, 0x2f, 0x71, 0xb7, 0xb0, 0x51, 0xb6, 0x3a, 0x9d, 0xa1, 0xef, 0x74, 0x96, 0x3f, 0x1a, 0xdd, 0x68, 0x5c, 0xf7, 0x66, 0xcd, 0x97, 0x89, 0x94, 0xb7, 0x01, 0x46, 0x29, 0xdc, 0xce, 0x59, 0x4b, 0xf4, 0x9b, 0x6e, 0xba, 0x7e, 0x4c, 0x67, 0x42, 0xfb, 0x72, 0x0b, 0xcd, 0xc9, 0xcb, 0x0c, 0x89, 0x77, 0xfd, 0xec, 0x56, 0x55, 0xd8, 0x68, 0x8b, 0x40, 0x50, 0x79, 0x91, 0x40, 0x33, 0xbd, 0x0f, 0x2e, 0xa4, 0x4d, 0xa6, 0xbf, 0xa2, 0x80, 0xf6, 0x76, 0x04, 0x09, 0x54, 0x14, 0x73, 0xe4, 0xb4, 0x1f, 0x0f, 0x8f, 0x8a, 0xbb, 0x0d, 0x8c, 0x84, 0x11, 0x42, 0xfd, 0x4c, 0x05, 0xf3, 0xc6, 0x11, 0x58, 0xaa, 0x1d, 0xb9, 0x4e, 0xb1, 0x7a, 0xef, 0x28, 0xca, 0x50, 0xcf, 0x40, 0x7a, 0x85, 0x36, 0x97, 0x2a, 0x2c, 0x8c, 0xe9, 0x6a, 0x89, 0xf0, 0x71, 0x6e, 0xdd, 0x81, 0xd5, 0xfa, 0x1f, 0x0d, 0x8e, 0xf0, 0x55, 0x1f, 0x49, 0x75, 0x20, 0x5c, 0xb2, 0x35, 0x0c, 0xa5, 0x6d, 0xe3, 0x9e, 0x8a, 0x66, 0x4f, 0x0d, 0x02, 0xf6, 0xe0, 0xca, 0x3a, 0x5a, 0xa5, 0xb5, 0x99, 0xa0, 0x38, 0x27, 0x32, 0x64, 0xb8, 0xc8, 0xde, 0xc1, 0x35, 0x1c, 0xeb, 0x22, 0xa3, 0x43, 0xa0, 0x6d, 0x93, 0x2d, 0xcb, 0x78, 0xaa, 0x5c, 0xf7, 0x61, 0x71, 0x6d, 0x61, 0x63, 0x03, 0xde, 0xd7, 0xd2, 0x49, 0x93, 0x16, 0x43, 0x7e, 0xc9, 0xb8, 0x16, 0x0f, 0xb8, 0x7f, 0x21, 0x6b, 0xeb, 0x53, 0x0f, 0xac, 0xd2, 0x87, 0x21, 0x89, 0x36, 0x29, 0x2a, 0x19, 0xba, 0x4e, 0x12, 0xff, 0xa2, 0x2a, 0x9e, 0x11, 0xc3, 0xff, 0xb8, 0xd9, 0x75, 0xdd, 0xdd, 0x59, 0x1a, 0x06, 0x6d, 0xb5, 0xa0, 0x43, 0xe2, 0x5b, 0x09, 0xf3, 0x0f, 0x03, 0xa4, 0x80, 0xdd, 0xd8, 0xdf, 0xa8, 0x38, 0xa8, 0x2a, 0x70, 0x70, 0x1e, 0x4b, 0x6c, 0x6e, 0xac, 0x94, 0x18, 0xc0, 0xcd, 0xb8, 0xdf, 0xd8, 0x72, 0xad, 0x9c, 0x22, 0xbd, 0xd9, 0x70, 0xa4, 0xa3, 0x9e, 0x26, 0x55, 0x55, 0x3a, 0x5a, 0x72, 0x9b, 0xde, 0x54, 0x20, 0x7e, 0xd6, 0x8b, 0x8f, 0xdb, 0x24, 0x75, 0xee, 0x13, 0x13, 0x8d, 0xcc, 0xaf, 0x88, 0x92, 0x45, 0xb2, 0x6f, 0xda, 0x90, 0xee, 0x0b, 0x80, 0x2d, 0xa5, 0xe3, 0x5e, 0x28, 0x75, 0x88, 0xb5, 0xfb, 0x5c, 0xf0, 0xba, 0xf1, 0x3b, 0xa4, 0x0b, 0x9f, 0xd8, 0x2d, 0xd5, 0x0e, 0x22, 0x10, 0xb2, 0xaf, 0xca, 0x25, 0x1b, 0x5a, 0xf3, 0x0b, 0x55, 0x6b, 0x5b, 0xe9, 0x7d, 0x01, 0xd2, 0x61, 0x94, 0xc0, 0x91, 0xd7, 0x2e, 0xe7, 0xd8, 0x15, 0xe1, 0x43, 0x88, 0x4a, 0x9b, 0xd1, 0x96, 0x59, 0x46, 0x45, 0x2e, 0x9b, 0x45, 0x6d, 0x4f, 0x25, 0x10, 0xf2, 0x91, 0x8a, 0x9c, 0xc7, 0xae, 0x8e, 0x81, 0x46, 0xe2, 0x12, 0x53, 0x17, 0x97, 0x0b, 0xe0, 0x31, 0xf5, 0x3c, 0x57, 0x07, 0xbb, 0x2a, 0x23, 0x4e, 0x53, 0x17, 0x37, 0x05, 0x4c, 0xbc, 0xc4, 0xba, 0xe4, 0x00, 0xe3, 0xc2, 0x8d, 0x47, 0x32, 0x76, 0xb9, 0x1d, 0x23, 0xca, 0x24, 0xc2, 0x3e, 0x44, 0xf7, 0xea, 0x95, 0x1e, 0x78, 0x20, 0x7f, 0xd0, 0x4a, 0xca, 0xb4, 0x2e, 0x65, 0x2a, 0xc5, 0x67, 0x17, 0xc6, 0x0e, 0xbb, 0xf4, 0xc8, 0x1f, 0xf2, 0xea, 0xe0, 0x31, 0xdb, 0x6f, 0xaf, 0x08, 0x08, 0x30, 0x7b, 0x1f, 0x73, 0x6e, 0x2f, 0x12, 0xd7, 0x79, 0x38, 0x0e, 0x8a, 0xd0, 0x1a, 0x16, 0x83, 0x9d, 0x81, 0x23, 0xad, 0x87, 0xf0, 0x9f, 0xff, 0xc1, 0x21, 0xb9, 0x02, 0x12, 0x57, 0xde, 0xc9, 0x12, 0xd5, 0xc0, 0x98, 0x1f, 0x7f, 0xb1, 0x19, 0x3d, 0xe4, 0xa7, 0xb6, 0x61, 0x9c, 0x72, 0x53, 0x5b, 0x41, 0x1b, 0x00, 0x69, 0xd4, 0xe5, 0xe1, 0xee, 0xb5, 0x7f, 0x21, 0x6d, 0xfb, 0x27, 0x12, 0x5e, 0xb0, 0xa0, 0x31, 0x89, 0xac, 0x18, 0xfd, 0x3b, 0x6e, 0x7b, 0x17, 0x07, 0x38, 0xb2, 0x63, 0x00, 0x37, 0xfa, 0x84, 0x84, 0x97, 0x5d, 0x34, 0xde, 0xe9, 0x37, 0xe3, 0x17, 0x29, 0x3c, 0x17, 0x9e, 0xe8, 0x1e, 0x4f, 0xe1, 0xa9, 0x60, 0x4f, 0x01, 0xb9, 0x58, 0x36, 0xfe, 0x2f, 0x49, 0x92, 0xd6, 0x40, 0xc1, 0x79, 0xc6, 0x29, 0xeb, 0xa0, 0x62, 0x46, 0xbf, 0x0c, 0x2a, 0xda, 0x3f, 0x22, 0xc8, 0xfc, 0xbf, 0x2f, 0x5c, 0xae, 0xa6, 0x73, 0x7d, 0x38, 0xab, 0x89, 0xca, 0xf2, 0x82, 0x80, 0x5f, 0x95, 0x98, 0xc4, 0x0f, 0x08, 0x00, 0x00, 0x94, 0x69, 0xf6, 0xd6, 0x13, 0x92, 0x42, 0xd8, 0xe4, 0x05, 0xb6, 0x84, 0xfc, 0x67, 0x42, 0xc2, 0xac, 0xae, 0x83, 0x66, 0xeb, 0x82, 0xf8, 0x7e, 0xc2, 0xea, 0x36, 0x17, 0x51, 0xa4, 0x36, 0x25, 0xc5, 0x6a, 0xca, 0xe3, 0x88, 0x78, 0x29, 0x71, 0xb7, 0xfc, 0x07, 0x29, 0xb6, 0x6a, 0x38, 0xd2, 0x6f, 0xc0, 0xd3, 0xa2, 0xb9, 0xf1, 0x51, 0x4f, 0x14, 0xa6, 0x9c, 0xbf, 0x50, 0x1c, 0xd0, 0xfa, 0x24, 0xe3, 0xcb, 0x17, 0x4d, 0x8e, 0xc3, 0xfd, 0xbb, 0xbf, 0x53, 0x70, 0x99, 0xfb, 0x0c, 0xfe, 0xed, 0x88, 0x51, 0xdd, 0x2f, 0x81, 0xbb, 0x3e, 0xbf, 0x77, 0x93, 0xe7, 0x93, 0x2f, 0xc2, 0x15, 0x1c, 0xb9, 0x64, 0xd9, 0x7f, 0xd0, 0xd2, 0x5d, 0xb7, 0x0d, 0xd1, 0xbf, 0xf8, 0xed, 0xf3, 0x4e, 0x4f, 0x26, 0x5f, 0xb9, 0x67, 0xb7, 0xb8, 0x4e, 0xeb, 0x07, 0xc4, 0x69, 0x3e, 0xe6, 0xcc, 0x91, 0xb0, 0x91, 0x27, 0xd1, 0x5c, 0x9b, 0x7a, 0x0e, 0xfa, 0x20, 0x30, 0x62, 0x81, 0xe8, 0x40, 0xca, 0xc4, 0x3a, 0x6d, 0xfe, 0x5c, 0xc7, 0x06, 0x0b, 0x4a, 0x14, 0x04, 0xa1, 0xbd, 0xc2, 0xa6, 0x6a, 0xc5, 0x16, 0xe6, 0x74, 0x6d, 0x87, 0xb5, 0x53, 0x49, 0x32, 0x2f, 0x03, 0x0f, 0x58, 0x2e, 0xe7, 0xec, 0x6a, 0xd5, 0x4b, 0x62, 0xd4, 0xd5, 0x29, 0x30, 0x47, 0xa5, 0x47, 0x7a, 0x73, 0x0a, 0x48, 0xb9, 0xa2, 0xad, 0xbe, 0xdb, 0x3c, 0x5a, 0x70, 0x6c, 0x6f, 0xed, 0x98, 0x7c, 0x61, 0xb3, 0x81, 0x77, 0x28, 0x3e, 0x8d, 0xc9, 0xb4, 0xdf, 0x25, 0xb1, 0x4e, 0xf3, 0x88, 0xbe, 0x88, 0xf6, 0x9f, 0x67, 0x15, 0x87, 0x65, 0x8e, 0x32, 0x58, 0xb7, 0x47, 0x14, 0x60, 0xd9, 0x93, 0x90, 0x10, 0x03, 0xa6, 0x97, 0xac, 0x3d, 0x31, 0x82, 0xc4, 0x8e, 0xf0, 0xc9, 0x4a, 0x40, 0x2d, 0x45, 0xb0, 0x66, 0x06, 0xc8, 0xee, 0x70, 0x9e, 0x6e, 0x1e, 0x26, 0x18, 0x97, 0xf4, 0x1d, 0xd8, 0x8d, 0x75, 0xb6, 0x83, 0x9f, 0xb9, 0x34, 0x09, 0x97, 0x89, 0x5e, 0x63, 0xcc, 0x78, 0x7a, 0x5f, 0xef, 0x86, 0x90, 0x34, 0x8b, 0x65, 0x57, 0xd1, 0xa6, 0xea, 0x65, 0xef, 0xe6, 0xa6, 0xe9, 0x06, 0x19, 0x10, 0x9a, 0x17, 0xd6, 0x4e, 0xc4, 0x55, 0x22, 0x8e, 0x2d, 0x69, 0xb6, 0xa8, 0xb9, 0x8d, 0x05, 0x64, 0xc7, 0xde, 0xaf, 0x4b, 0x9c, 0x54, 0xb9, 0xa0, 0xaf, 0xb6, 0x43, 0xe6, 0xd8, 0xe9, 0x8c, 0xbd, 0x7d, 0xff, 0x17, 0x9d, 0x52, 0xe9, 0x62, 0x72, 0x95, 0x08, 0x08, 0x66, 0x80, 0x27, 0xa1, 0x69, 0x2f, 0xc2, 0x6d, 0x83, 0x49, 0x14, 0x67, 0x53, 0x48, 0x12, 0x43, 0x6f, 0x21, 0x68, 0xbd, 0x8c, 0x23, 0x38, 0xa4, 0xfe, 0xac, 0xc5, 0x8a, 0x32, 0xed, 0xe8, 0x3c, 0x7c, 0x30, 0x43, 0x84, 0x74, 0x8f, 0xda, 0x90, 0xb2, 0x7c, 0x49, 0x02, 0x8e, 0x46, 0x8e, 0x48, 0x72, 0xc4, 0x0e, 0xfa, 0xab, 0xbc, 0x40, 0xdd, 0x23, 0xb9, 0x34, 0x79, 0x72, 0xf7, 0xc9, 0xd0, 0xa0, 0x2e, 0xb0, 0x5d, 0x7a, 0x5f, 0xfe, 0x26, 0x27, 0x55, 0x34, 0xf7, 0xf9, 0xd3, 0x57, 0x96, 0xd8, 0x51, 0x0e, 0x00, 0xb2, 0xf5, 0xaa, 0xbf, 0x09, 0x09, 0x9e, 0x5b, 0x2f, 0xce, 0x87, 0xe7, 0x7a, 0x30, 0x73, 0x5b, 0x13, 0xc7, 0x39, 0x04, 0xe2, 0x70, 0x0a, 0x1b, 0x70, 0x5c, 0x4c, 0xf4, 0xf5, 0x57, 0xdf, 0x95, 0x9c, 0x9b, 0x6d, 0x1f, 0x4a, 0xc4, 0x57, 0x18, 0x57, 0xe2, 0x8d, 0x55, 0xde, 0x16, 0x43, 0xab, 0xae, 0xd1, 0x34, 0x7c, 0xa5, 0x24, 0xc8, 0x0e, 0xd1, 0xe2, 0x79, 0x27, 0x49, 0xe4, 0x12, 0xae, 0x4e, 0xe1, 0x60, 0xcb, 0x5a, 0x47, 0x7b, 0xdc, 0xc0, 0xe9, 0x4b, 0xb5, 0x05, 0xac, 0xa6, 0x6d, 0xae, 0x02, 0x9c, 0x0f, 0x66, 0x46, 0xd6, 0xe6, 0xfc, 0xd2, 0x89, 0x0e, 0xef, 0xde, 0x26, 0x18, 0xe0, 0xd9, 0xea, 0xde, 0x4d, 0x4f, 0x3f, 0x38, 0x1c, 0x3d, 0x87, 0x8a, 0xbc, 0xe7, 0xb6, 0x3d, 0x4c, 0xa6, 0x4a, 0x11, 0xb7, 0x99, 0x0c, 0x0e, 0xe7, 0xa7, 0x94, 0x21, 0xb2, 0x65, 0x55, 0xf2, 0x32, 0x68, 0xdd, 0xf1, 0xb9, 0x94, 0x12, 0xa1, 0xa8, 0xe1, 0x09, 0x23, 0x9f, 0x95, 0x83, 0x15, 0xa4, 0x30, 0x4d, 0x8d, 0x0f, 0x1b, 0x91, 0x5c, 0xa6, 0xfb, 0xdb, 0xd1, 0xa7, 0x96, 0xae, 0xac, 0x65, 0x98, 0x25, 0xa6, 0x6d, 0x9b, 0x18, 0x0d, 0x0b, 0x70, 0xa1, 0x43, 0x54, 0xe5, 0xd8, 0xd8, 0x59, 0x38, 0xb4, 0xf0, 0x52, 0x2e, 0xbf, 0xbe, 0x32, 0x63, 0x93, 0xe6, 0xba, 0xfd, 0x46, 0xb2, 0x93, 0xbd, 0x04, 0x4c, 0xd4, 0x90, 0x0f, 0xfb, 0x6c, 0xfc, 0xd9, 0xb5, 0xeb, 0x92, 0x27, 0x1c, 0xd4, 0x64, 0x8c, 0x38, 0xc2, 0x66, 0x32, 0xbc, 0xa9, 0x16, 0x2c, 0x4d, 0x02, 0xad, 0xf1, 0x47, 0xe8, 0x52, 0x75, 0x23, 0x66, 0xaa, 0x14, 0x5e, 0x54, 0xe0, 0xe8, 0xdc, 0x6e, 0xb6, 0x67, 0xb1, 0x66, 0xb0, 0x2d, 0x7c, 0x64, 0x8e, 0x6b, 0x66, 0x43, 0xe5, 0xd7, 0xb7, 0xde, 0x0a, 0x60, 0x3b, 0x68, 0xfe, 0x3a, 0xa2, 0x77, 0xbb, 0x0a, 0x85, 0x65, 0xea, 0x1a, 0x71, 0x30, 0xef, 0x91, 0x1f, 0x47, 0xb5, 0x77, 0x5b, 0xf9, 0x7d, 0x51, 0x29, 0xe9, 0x15, 0xab, 0x51, 0x7a, 0x4d, 0x7c, 0x90, 0x8a, 0x19, 0xc3, 0x0e, 0x4b, 0xad, 0x48, 0x9b, 0xae, 0x07, 0x89, 0x48, 0x52, 0x3f, 0x00, 0xf4, 0x34, 0xaf, 0xc8, 0x8b, 0x04, 0xae, 0xbe, 0x36, 0x97, 0x70, 0xa8, 0xdf, 0x9f, 0x1f, 0xbc, 0x00, 0xe7, 0x7e, 0xcc, 0xfb, 0xca, 0xb6, 0xc5, 0x3c, 0xe6, 0xf0, 0x22, 0x4b, 0xd1, 0x2b, 0x8d, 0xb8, 0x05, 0x9f, 0x3a, 0x8a, 0x4a, 0x77, 0x75, 0x9f, 0xc1, 0x26, 0x8e, 0x53, 0xbe, 0xb2, 0xb9, 0xaf, 0x8e, 0xcc, 0x6a, 0x61, 0x1b, 0x71, 0x4c, 0x63, 0x8b, 0xd5, 0xd1, 0x3e, 0xc1, 0x4c, 0xdc, 0xcd, 0xf6, 0x09, 0x8c, 0x22, 0x6e, 0x7a, 0x70, 0x8d, 0x28, 0xe9, 0xf5, 0x95, 0xb5, 0xf0, 0xde, 0x65, 0x5a, 0xa2, 0x19, 0x79, 0xc1, 0x5c, 0xf1, 0xcd, 0xe2, 0xa2, 0xc5, 0x6d, 0x13, 0xf2, 0x10, 0x1c, 0x04, 0x57, 0xfd, 0x07, 0x5f, 0xc1, 0x03, 0xd2, 0x68, 0x16, 0x97, 0xa0, 0xc6, 0xea, 0xfa, 0xa9, 0x5a, 0x7e, 0x23, 0xac, 0x77, 0x34, 0x14, 0x61, 0x1c, 0x1d, 0x12, 0x76, 0x66, 0x29, 0x01, 0x02, 0x7c, 0xf1, 0x97, 0xdd, 0xe0, 0xc8, 0x14, 0x43, 0xaa, 0xab, 0xbb, 0x18, 0xff, 0x12, 0x1c, 0x61, 0x0b, 0xa8, 0xee, 0xc2, 0x43, 0x8d, 0xd0, 0x46, 0x09, 0xb8, 0x03, 0x0d, 0xa6, 0x1c, 0x03, 0xe7, 0x00, 0xa0, 0x80, 0x60, 0x73, 0x42, 0x5b, 0xd2, 0xf1, 0xd8, 0xf9, 0xaf, 0x64, 0xe4, 0xc9, 0x3e, 0x1d, 0x39, 0x10, 0x70, 0x35, 0xef, 0xfc, 0xd4, 0x16, 0x0a, 0x48, 0xc3, 0x81, 0xca, 0xd5, 0xfb, 0xec, 0xbc, 0x01, 0x4d, 0xa0, 0x37, 0x95, 0x2b, 0x3e, 0xba, 0xc4, 0x89, 0x5a, 0x95, 0xd3, 0x84, 0x74, 0xd4, 0xe2, 0xa2, 0xfa, 0x8a, 0xdf, 0x2c, 0xb3, 0x7e, 0x32, 0xce, 0x8b, 0x4a, 0xa8, 0xaa, 0x9c, 0x28, 0xf8, 0xd5, 0xa9, 0x07, 0xee, 0x17, 0xc2, 0x7b, 0xe7, 0xf3, 0xfe, 0x88, 0x00, 0x23, 0xd1, 0x12, 0x76, 0xed, 0x5d, 0x6d, 0xd9, 0xc4, 0xcd, 0x5a, 0xd3, 0x66, 0xcf, 0xa7, 0xf1, 0x23, 0x27, 0x47, 0x80, 0x8f, 0x53, 0x03, 0x20, 0x88, 0x16, 0x1c, 0x1b, 0xeb, 0x77, 0x01, 0x9a, 0x07, 0x01, 0x94, 0x76, 0xf2, 0xc0, 0x89, 0x6b, 0xea, 0xaa, 0x98, 0x29, 0x3e, 0xd9, 0x80, 0xd8, 0x8e, 0xf3, 0x80, 0xec, 0x57, 0xcc, 0xa6, 0x9c, 0xc2, 0xac, 0x1e, 0xca, 0xef, 0xbe, 0x49, 0xa9, 0x7c, 0xc1, 0xba, 0x94, 0x30, 0xe9, 0x94, 0x4b, 0xf5, 0x9f, 0xb7, 0xa1, 0xf4, 0x9e, 0xbe, 0xfe, 0x16, 0x81, 0xe0, 0xdc, 0x19, 0xec, 0x0d, 0xd6, 0x8f, 0xa0, 0xb1, 0x5a, 0x8b, 0x1f, 0xf3, 0x0a, 0xa4, 0xc4, 0x20, 0x06, 0x1b, 0xad, 0xe5, 0x78, 0xfb, 0xf2, 0xf4, 0x7e, 0x20, 0xa5, 0xe2, 0xdc, 0x1a, 0xc1, 0x46, 0x99, 0x71, 0x0f, 0xbf, 0x06, 0x75, 0xaa, 0x92, 0xdc, 0x1b, 0x23, 0x1d, 0xbf, 0x16, 0x69, 0x2e, 0x02, 0xd3, 0x7d, 0xe0, 0xd9, 0x60, 0x7b, 0xcb, 0x02, 0x17, 0x81, 0xa9, 0x89, 0x1d, 0x28, 0x4c, 0x51, 0x59, 0xca, 0x3e, 0xa4, 0xf1, 0xee, 0x87, 0x30, 0x00, 0xd5, 0x7e, 0x6b, 0x57, 0x7f, 0x10, 0xb1, 0x70, 0xfb, 0xfb, 0x6d, 0x22, 0x3c, 0x70, 0x83, 0x58, 0x20, 0x5a, 0x82, 0xe9, 0x71, 0xcf, 0xc1, 0xe1, 0xdf, 0x71, 0x35, 0xbf, 0x3e, 0x71, 0x3d, 0xa0, 0x73, 0x2d, 0x06, 0xd0, 0xb2, 0x69, 0xe7, 0x3b, 0xc2, 0xb9, 0x0d, 0x3c, 0x12, 0x96, 0xa6, 0xfb, 0x4f, 0x4e, 0x26, 0x5b, 0xc3, 0x04, 0xe3, 0x36, 0xde, 0xa6, 0x00, 0x0d, 0xb6, 0x1a, 0x21, 0x00, 0xbd, 0x86, 0x61, 0x0d, 0xe7, 0x15, 0xe5, 0xd0, 0xf5, 0x1e, 0xd0, 0x1e, 0x02, 0xbb, 0xd3, 0x49, 0x0f, 0xb7, 0x09, 0x42, 0x41, 0x14, 0xae, 0x39, 0x7d, 0xe5, 0x00, 0xde, 0x95, 0x2e, 0x22, 0x03, 0xb1, 0xbc, 0x19, 0x23, 0x63, 0x31, 0x66, 0x83, 0x5f, 0x0a, 0x2c, 0x42, 0x23, 0x66, 0x4f, 0x8a, 0xcd, 0x38, 0xd2, 0x0e, 0x45, 0x7b, 0xa3, 0x2f, 0xae, 0x28, 0xe2, 0x5e, 0x0c, 0xce, 0xc8, 0x74, 0xcc, 0xbb, 0x95, 0x5e, 0x8a, 0x65, 0xca, 0x98, 0x95, 0x51, 0x2a, 0x78, 0x61, 0x70, 0x36, 0x4b, 0x3a, 0x06, 0x90, 0x2a, 0x8a, 0x7d, 0xb2, 0x90, 0x82, 0x7a, 0xb8, 0x7f, 0x70, 0x53, 0xe3, 0xb1, 0xe8, 0xf2, 0x4a, 0xea, 0xc6, 0x32, 0x64, 0x37, 0x99, 0x54, 0xf5, 0x8e, 0x4d, 0xaf, 0xac, 0xdc, 0xb3, 0x2d, 0x4c, 0x83, 0xc4, 0x1e, 0x28, 0xc6, 0x2d, 0x70, 0x1e, 0x4e, 0xa8, 0xae, 0xb0, 0xdf, 0x24, 0x60, 0x42, 0xe8, 0xfd, 0x94, 0xbe, 0x91, 0xe1, 0x58, 0x2f, 0x12, 0x3d, 0xc8, 0x01, 0xb4, 0xfe, 0x1e, 0x08, 0xfc, 0xc9, 0xcf, 0x89, 0x34, 0xcc, 0xbe, 0x69, 0x31, 0x8a, 0xee, 0xca, 0x07, 0xb1, 0x98, 0x29, 0x1f, 0x89, 0x8c, 0xe8, 0x84, 0x1c, 0x78, 0xb7, 0x6d, 0x02, 0x6b, 0x5c, 0x37, 0x1a, 0x25, 0xb1, 0x0f, 0xe2, 0xeb, 0x40, 0x8f, 0x28, 0x86, 0x6d, 0x95, 0x1d, 0x72, 0x53, 0xad, 0x01, 0xbd, 0x17, 0x54, 0x57, 0x27, 0x03, 0x58, 0x9a, 0x5f, 0xcc, 0x31, 0xfa, 0x05, 0x9c, 0xf8, 0x32, 0x90, 0x1e, 0xe6, 0xe9, 0xfa, 0x61, 0xb4, 0x69, 0x43, 0xf2, 0x57, 0x27, 0xc7, 0xa3, 0x49, 0xa8, 0x5d, 0x2e, 0xa1, 0x29, 0xa8, 0x02, 0xed, 0x8e, 0x1e, 0x59, 0x2e, 0x79, 0xc8, 0xed, 0xb9, 0x91, 0xfb, 0xb1, 0xd2, 0x6f, 0xb1, 0x0c, 0x2a, 0x27, 0xfa, 0xf3, 0x7c, 0x0c, 0x30, 0x9e, 0x75, 0x01, 0x4d, 0xaa, 0xfe, 0x5b, 0x3e, 0x74, 0x8a, 0x1d, 0x5d, 0x01, 0x94, 0xe8, 0x7f, 0xc4, 0xef, 0x59, 0xd6, 0xe7, 0x78, 0xe4, 0x62, 0xcb, 0x82, 0xd4, 0x82, 0xca, 0x0b, 0xe5, 0xed, 0xe6, 0xd6, 0xb7, 0x81, 0x8a, 0xe5, 0xa9, 0xd0, 0xdc, 0xbb, 0x2f, 0x23, 0xb4, 0xbc, 0x5d, 0x38, 0x37, 0xbf, 0x9e, 0x33, 0x95, 0xaa, 0xf6, 0xce, 0x6f, 0x35, 0xb2, 0x4f, 0xf0, 0x43, 0x3e, 0x92, 0x01, 0xce, 0xe8, 0x43, 0x0f, 0x37, 0x6c, 0xfe, 0x44, 0x6c, 0x76, 0x3a, 0xbd, 0x90, 0x82, 0x2f, 0x31, 0x21, 0x52, 0x8b, 0xcf, 0x18, 0x51, 0xa0, 0x30, 0x80, 0x16, 0x9d, 0x22, 0x64, 0xf3, 0x1e, 0x7f, 0x84, 0x84, 0x5c, 0xfd, 0xf7, 0x18, 0x1a, 0x56, 0xfa, 0xb3, 0x8b, 0x96, 0x73, 0xb9, 0x77, 0x51, 0x8c, 0x4c, 0xdb, 0x3f, 0xad, 0xbd, 0x07, 0x66, 0x7c, 0xee, 0xa6, 0xa7, 0xe7, 0x73, 0xfa, 0x38, 0x5e, 0xbd, 0x43, 0xbb, 0xbf, 0x96, 0x4f, 0x06, 0x6c, 0x9c, 0xa2, 0xf2, 0x0c, 0xdf, 0x71, 0xaa, 0xcc, 0x99, 0xde, 0x8e, 0x2a, 0x79, 0x3b, 0x49, 0x88, 0x7b, 0x9f, 0x6a, 0x3f, 0xac, 0xfe, 0x74, 0x61, 0x75, 0x07, 0xaf, 0xa2, 0xfd, 0xf8, 0x3e, 0xa9, 0xbd, 0x18, 0xa0, 0x1f, 0xee, 0x60, 0xf7, 0xaa, 0x25, 0x8d, 0x15, 0x51, 0xa9, 0x13, 0xea, 0xc6, 0xe3, 0x14, 0xd5, 0x61, 0x1d, 0x01, 0xef, 0x47, 0x62, 0xbe, 0x1d, 0x01, 0x11, 0x96, 0x15, 0x3c, 0x21, 0x99, 0x4c, 0x4c, 0x2a, 0x52, 0xf3, 0xb4, 0x56, 0x6d, 0xaf, 0x02, 0x10, 0xdd, 0xb3, 0xb4, 0x47, 0x05, 0x57, 0x31, 0xf7, 0xe3, 0x3d, 0x0e, 0xfe, 0x7e, 0x5c, 0xb1, 0x70, 0xac, 0x77, 0x68, 0x9c, 0x6f, 0x8a, 0x3a, 0x9b, 0x67, 0x14, 0x22, 0x87, 0xe3, 0xc0, 0x61, 0xa6, 0xa5, 0xa4, 0x48, 0x63, 0x52, 0xbd, 0x41, 0xe4, 0x6b, 0x50, 0x0f, 0x5d, 0xc4, 0x17, 0x5e, 0x59, 0xbd, 0x63, 0x0f, 0xf9, 0x84, 0x61, 0x61, 0xa1, 0x65, 0x86, 0x98, 0x69, 0xe2, 0xf4, 0xbb, 0x1f, 0x73, 0xc1, 0xe6, 0xfa, 0xf7, 0x0e, 0xc4, 0xc7, 0x03, 0xb4, 0xaf, 0xee, 0x98, 0x42, 0xc2, 0x70, 0xe6, 0x82, 0x93, 0x1b, 0x21, 0x2e, 0xc5, 0x87, 0x3b, 0x42, 0x2c, 0x14, 0xba, 0xc0, 0xec, 0x1a, 0x2f, 0x70, 0x74, 0xd7, 0xca, 0xb8, 0x66, 0x25, 0xa3, 0x8e, 0x86, 0x38, 0x50, 0xff, 0x1f, 0x1b, 0x3a, 0x0c, 0x0b, 0x00, 0xe5, 0x16, 0xcd, 0x64, 0xb2, 0xf9, 0x34, 0x74, 0x42, 0x7a, 0x5f, 0xce, 0x60, 0xfd, 0x64, 0xf6, 0xb7, 0xb1, 0x0f, 0x74, 0xb4, 0x96, 0x24, 0x2b, 0xfb, 0x47, 0x96, 0xad, 0xaa, 0x42, 0x93, 0xd6, 0x80, 0xc3, 0xd7, 0x75, 0x31, 0x63, 0x26, 0xcc, 0x7a, 0x7b, 0xf3, 0x66, 0x37, 0xf7, 0x25, 0x81, 0x6b, 0xac, 0xec, 0x90, 0x5c, 0x6d, 0xc9, 0x4c, 0xbd, 0x2e, 0xca, 0x5c, 0x59, 0xbd, 0xc3, 0x7d, 0x7c, 0x12, 0x48, 0xad, 0xab, 0xed, 0x97, 0xad, 0x83, 0x6b, 0x9e, 0x86, 0x84, 0x7e, 0xb8, 0x8a, 0x94, 0x53, 0x6e, 0x71, 0xae, 0x84, 0x49, 0x6c, 0x75, 0x1c, 0x60, 0xfc, 0xfb, 0x7d, 0x29, 0xc5, 0xb4, 0x5b, 0xed, 0x6d, 0xec, 0xc0, 0xa3, 0x2c, 0xc2, 0xa5, 0xff, 0x94, 0xe7, 0x17, 0xa7, 0x86, 0xc8, 0x9d, 0x22, 0x98, 0x39, 0x55, 0xc4, 0x31, 0x30, 0x5f, 0x2c, 0x3d, 0xf3, 0x73, 0x93, 0xd4, 0xd2, 0x34, 0x20, 0xd8, 0x8e, 0xb8, 0x9a, 0x61, 0x24, 0xbf, 0xb1, 0x13, 0x8a, 0xf5, 0x46, 0x4b, 0xa3, 0x7f, 0x55, 0xa0, 0x56, 0x93, 0x4c, 0xe0, 0xa3, 0x74, 0x30, 0x75, 0x2c, 0x37, 0x64, 0xe1, 0x36, 0x83, 0x75, 0x0a, 0x97, 0xf0, 0x07, 0x87, 0x53, 0x56, 0x88, 0xf0, 0x7d, 0x22, 0x9c, 0xe4, 0xa1, 0xb6, 0x58, 0x0d, 0x6a, 0x5c, 0xb2, 0x6b, 0x6c, 0xe6, 0xfd, 0xf5, 0x12, 0xb3, 0x79, 0x5a, 0xb4, 0xba, 0x7b, 0x2b, 0xee, 0xa8, 0x30, 0x0e, 0x84, 0x18, 0x5f, 0xca, 0xa6, 0x56, 0xf5, 0xc3, 0xdc, 0xb3, 0x6d, 0xf7, 0xcd, 0x17, 0xaa, 0x2f, 0xc7, 0xd8, 0x32, 0x0f, 0x60, 0x91, 0xa8, 0x66, 0x4f, 0xbf, 0x61, 0x7f, 0x1c, 0xc0, 0x4d, 0x2c, 0xd5, 0x23, 0x70, 0x27, 0x6b, 0xe1, 0x2c, 0x7e, 0xb1, 0xbf, 0xdf, 0x08, 0xa0, 0x58, 0x0c, 0xef, 0x87, 0xbe, 0x82, 0xd5, 0x2d, 0x0f, 0x92, 0x90, 0xcc, 0x0d, 0xc7, 0x30, 0x7c, 0x93, 0xef, 0xa7, 0xff, 0x54, 0xfa, 0xa2, 0x9d, 0xf5, 0x07, 0x38, 0xb9, 0xff, 0x5a, 0x84, 0x83, 0xed, 0x60, 0xa3, 0x5a, 0x92, 0xaf, 0xcd, 0xda, 0x84, 0x94, 0xb1, 0x46, 0x9c, 0xd8, 0x51, 0xb5, 0x8a, 0x6b, 0xf2, 0x54, 0xf9, 0xdb, 0x0e, 0x92, 0x35, 0xd7, 0xce, 0x2f, 0xb2, 0xc1, 0xd7, 0x05, 0x3d, 0x01, 0x44, 0x83, 0x09, 0xa5, 0x68, 0x04, 0xff, 0x0e, 0x87, 0x7a, 0xc3, 0xba, 0x13, 0x12, 0x4c, 0xcf, 0xd8, 0xee, 0x37, 0xfb, 0x74, 0xf1, 0x53, 0x73, 0x1f, 0x26, 0xfe, 0x55, 0x7e, 0xc0, 0x03, 0x2b, 0x6a, 0xf9, 0x35, 0x65, 0x75, 0x39, 0xd9, 0xae, 0x7f, 0x89, 0x3c, 0xbe, 0x71, 0x73, 0xec, 0x59, 0x16, 0xe0, 0xce, 0x03, 0x66, 0x7a, 0x70, 0x08, 0x9e, 0x50, 0xb0, 0xce, 0x2f, 0x83, 0xed, 0x9d, 0x75, 0x0d, 0x60, 0x30, 0xbb, 0xfb, 0xa6, 0x28, 0x2a, 0x5a, 0x06, 0x20, 0x93, 0xc6, 0x34, 0x31, 0xdf, 0xc2, 0x7c, 0xf4, 0xb9, 0x5c, 0x98, 0xe3, 0xb8, 0x68, 0x02, 0xb5, 0xbc, 0x06, 0x83, 0xd8, 0xde, 0x43, 0x68, 0xa9, 0x2c, 0x88, 0x00, 0x81, 0x1d, 0xd1, 0x5d, 0xa0, 0x8b, 0xa4, 0xf8, 0xbd, 0xc7, 0x7a, 0x48, 0x3a, 0xa9, 0x95, 0xcc, 0xa0, 0x8a, 0x79, 0x35, 0x33, 0x9d, 0x3d, 0x72, 0x97, 0xde, 0xcf, 0xe7, 0x6f, 0x26, 0xb5, 0xcb, 0x35, 0x5e, 0xd3, 0x8e, 0x08, 0xd5, 0x58, 0x1a, 0x41, 0x7a, 0x58, 0xd2, 0x29, 0x16, 0x77, 0x51, 0x65, 0xf9, 0x7f, 0x99, 0x91, 0xb7, 0x10, 0xfa, 0x6c, 0x0c, 0x07, 0xe6, 0x5f, 0xfa, 0x8b, 0x4b, 0xa1, 0x74, 0x2c, 0x67, 0x73, 0x08, 0x7f, 0x55, 0xe7, 0xda, 0xdd, 0x0f, 0x7b, 0x20, 0xb4, 0x07, 0x77, 0x30, 0x0e, 0x82, 0x78, 0x92, 0xe5, 0x49, 0x9b, 0x62, 0xd5, 0x20, 0x45, 0x59, 0xfd, 0x65, 0x9b, 0xb0, 0x6d, 0xf5, 0xed, 0x39, 0x46, 0x80, 0x23, 0xba, 0xea, 0xca, 0xb6, 0x3a, 0xf6, 0xdb, 0x0b, 0x2b, 0x03, 0x12, 0x51, 0xeb, 0xd0, 0x6d, 0xab, 0x86, 0xf5, 0x78, 0xae, 0x74, 0x9f, 0x89, 0x2c, 0x81, 0x57, 0xaa, 0xde, 0xab, 0x35, 0x26, 0x0c, 0xa9, 0x6f, 0xde, 0x32, 0x04, 0xf6, 0xbd, 0x72, 0xcd, 0x26, 0x55, 0xd6, 0xf1, 0xbb, 0x9d, 0x23, 0xa3, 0xed, 0xaa, 0xe8, 0xc1, 0x44, 0xa9, 0x2e, 0xc7, 0x02, 0x4a, 0x00, 0x61, 0x73, 0x81, 0x53, 0x3a, 0x8a, 0xc3, 0x68, 0xa9, 0xcd, 0x40, 0xa9, 0x65, 0x88, 0x7a, 0x0c, 0x7b, 0x5e, 0x63, 0x0d, 0xbb, 0xb9, 0x54, 0x89, 0x8a, 0x7c, 0x32, 0xd5, 0xe2, 0xb6, 0x3d, 0xb1, 0x3b, 0x61, 0xf3, 0xc6, 0x00, 0x98, 0xfb, 0x5d, 0xa1, 0x57, 0x8f, 0xab, 0x2b, 0x67, 0xf5, 0x53, 0x82, 0x18, 0xcf, 0x1b, 0x21, 0xe5, 0x3d, 0xd4, 0x7b, 0xaa, 0x73, 0x6a, 0x1d, 0x08, 0xaf, 0xd2, 0xf4, 0x0d, 0x0a, 0x28, 0x97, 0x4f, 0xb1, 0x1d, 0x3f, 0xcd, 0x22, 0x0f, 0xd5, 0x85, 0x90, 0xdb, 0x96, 0x3c, 0x22, 0xbe, 0x1b, 0x9a, 0xf7, 0x5a, 0x48, 0xcc, 0x1a, 0xea, 0x89, 0x7f, 0x37, 0x91, 0xc4, 0xcd, 0xcf, 0xf2, 0x53, 0x0e, 0x25, 0xe6, 0xac, 0x03, 0x67, 0x17, 0x4f, 0x2b, 0x5e, 0xd1, 0x10, 0x19, 0x74, 0x77, 0xa6, 0xa1, 0xfd, 0xa6, 0x8e, 0x31, 0xf6, 0xdf, 0x3a, 0x36, 0xfa, 0xd1, 0x71, 0x98, 0x9a, 0x1e, 0x8c, 0xc5, 0xf9, 0xb6, 0x0c, 0xf4, 0xcf, 0x6f, 0x73, 0xf9, 0xb9, 0x72, 0x1d, 0x61, 0x28, 0xbf, 0xed, 0xf9, 0x0a, 0xc1, 0x1a, 0x35, 0x21, 0x65, 0xcb, 0x3c, 0x1a, 0x4b, 0xa1, 0x07, 0xab, 0xd4, 0x27, 0x64, 0x60, 0xef, 0xb1, 0x33, 0x8e, 0xc2, 0xa8, 0x4a, 0xd7, 0x49, 0x7a, 0x9f, 0x9d, 0x3d, 0xfc, 0x43, 0xc9, 0xa8, 0x67, 0xa3, 0x4d, 0x4b, 0xb8, 0xba, 0x43, 0x28, 0x78, 0xee, 0x5a, 0x93, 0x97, 0x61, 0xba, 0x93, 0x2a, 0xa6, 0x33, 0x05, 0x19, 0x28, 0x62, 0xdd, 0x7c, 0x99, 0x1f, 0x0f, 0xea, 0xbd, 0x81, 0x47, 0x02, 0xd0, 0x8d, 0xab, 0xdd, 0x4a, 0x44, 0xb3, 0x68, 0x65, 0x4c, 0xe7, 0x81, 0xbd, 0x3d, 0x3c, 0xa3, 0xba, 0x96, 0x0b, 0xdf, 0x3f, 0x2a, 0x28, 0x92, 0xc8, 0x4d, 0x22, 0x4b, 0x60, 0x43, 0x3d, 0x4b, 0xd2, 0x28, 0x5b, 0xf8, 0x66, 0x01, 0x3d, 0xd2, 0xe2, 0xda, 0xb4, 0x8c, 0xce, 0xed, 0xee, 0x41, 0x7f, 0xf3, 0x4d, 0xc3, 0x52, 0xfb, 0x3e, 0x11, 0x44, 0x99, 0xfe, 0x34, 0xaf, 0x85, 0xf3, 0xe2, 0x88, 0xe7, 0xa8, 0x29, 0x5f, 0xe7, 0x0b, 0xb2, 0x55, 0x30, 0x59, 0x41, 0x37, 0x38, 0x9d, 0xfe, 0x22, 0x7a, 0x51, 0x10, 0xca, 0x74, 0xc0, 0x9e, 0xd5, 0x42, 0x5e, 0x7e, 0x37, 0x6b, 0x02, 0xf3, 0x79, 0xa9, 0xa3, 0x38, 0x27, 0x30, 0x72, 0x23, 0xa1, 0x04, 0xa6, 0x74, 0xaf, 0x78, 0xaa, 0xd3, 0xd0, 0x10, 0xd4, 0x88, 0x65, 0x6b, 0x81, 0x1c, 0x8a, 0x56, 0x6f, 0x16, 0xfb, 0x81, 0x2e, 0xf2, 0x48, 0xaf, 0xc5, 0x85, 0xd1, 0x9e, 0xd1, 0xb4, 0x5a, 0x6a, 0x26, 0x2a, 0x22, 0x43, 0xb4, 0x27, 0xe1, 0x91, 0xc0, 0x0a, 0xcb, 0xda, 0xc7, 0xe9, 0x24, 0x83, 0x20, 0x09, 0xb4, 0xab, 0x78, 0x20, 0x5b, 0x71, 0x40, 0xbd, 0x81, 0x0b, 0x6a, 0x11, 0xb7, 0x6a, 0x04, 0x76, 0xe7, 0x94, 0x15, 0xba, 0xea, 0xf4, 0x2e, 0x78, 0x94, 0x73, 0xce, 0x37, 0x5c, 0xab, 0x7d, 0x1a, 0x5d, 0x5e, 0xe5, 0x56, 0xd1, 0x00, 0x6a, 0x1b, 0x6b, 0x63, 0x59, 0x91, 0x83, 0xff, 0x54, 0xad, 0x02, 0xcc, 0x92, 0xcb, 0x10, 0x5e, 0x15, 0x70, 0xb3, 0x40, 0xd5, 0x4b, 0x7f, 0x6a, 0x4a, 0x6c, 0x5d, 0x6f, 0x28, 0xfb, 0x35, 0xa1, 0x97, 0x6b, 0xfe, 0x66, 0xa1, 0xc2, 0xa3, 0x33, 0x25, 0x71, 0xb8, 0x38, 0x0f, 0x8c, 0x14, 0x5e, 0x07, 0xee, 0x97, 0x3b, 0x6b, 0xcf, 0xa4, 0x73, 0xce, 0x7f, 0x02, 0xdf, 0x16, 0xc1, 0x71, 0x5d, 0x63, 0x57, 0x79, 0x36, 0xcc, 0xbb, 0x10, 0xec, 0x95, 0x43, 0x96, 0x58, 0x74, 0x1f, 0x93, 0x02, 0x94, 0x49, 0x72, 0x3d, 0xfe, 0xa6, 0x5b, 0x1c, 0xdb, 0x9a, 0x56, 0x8b, 0x38, 0xf2, 0x94, 0x91, 0xcf, 0x56, 0x2d, 0x24, 0xe3, 0xd2, 0xd5, 0xaf, 0x8f, 0xdf, 0x11, 0x30, 0xa1, 0xfb, 0x4d, 0x16, 0xb2, 0x7f, 0xe8, 0x57, 0x90, 0xd7, 0xf5, 0x87, 0x9c, 0x09, 0x24, 0x72, 0x23, 0xd2, 0x16, 0x4b, 0xb2, 0x81, 0x50, 0x75, 0xc3, 0x5e, 0xd4, 0xe5, 0x2c, 0x3d, 0x73, 0x4e, 0x7c, 0xee, 0x74, 0xd1, 0x1d, 0x73, 0xe9, 0x63, 0x8f, 0x0c, 0xcb, 0x28, 0xa2, 0x8e, 0x5f, 0xe1, 0xdb, 0xfa, 0x08, 0xa5, 0xbc, 0x09, 0xf3, 0x13, 0x75, 0x84, 0x8b, 0xff, 0x35, 0x9b, 0x69, 0x2e, 0x2c, 0x7b, 0x26, 0xc1, 0x88, 0x67, 0x2c, 0xfa, 0x21, 0x30, 0x9b, 0x65, 0xeb, 0x35, 0xa6, 0x25, 0xde, 0x52, 0x79, 0xb8, 0xa8, 0xf0, 0x30, 0xd4, 0x07, 0xd4, 0xc1, 0x43, 0x42, 0xa2, 0x51, 0x39, 0x61, 0x68, 0x12, 0xb6, 0x09, 0x10, 0xa3, 0x85, 0x8b, 0xad, 0xbd, 0x08, 0x5b, 0xd6, 0xc8, 0x8b, 0x67, 0x66, 0x98, 0x9a, 0xd3, 0x0b, 0x57, 0x07, 0x1f, 0x8d, 0x83, 0x80, 0x99, 0x1b, 0x8d, 0x87, 0xb1, 0xfd, 0x69, 0xeb, 0x25, 0x73, 0x51, 0xe3, 0x52, 0x0d, 0xed, 0x22, 0xaf, 0xb5, 0xbc, 0x40, 0x58, 0xa4, 0x77, 0xa3, 0x8c, 0x02, 0xe6, 0x94, 0xb6, 0xd2, 0x1c, 0xb2, 0x1a, 0x2e, 0x0c, 0xb1, 0xb6, 0xe8, 0xc8, 0x2f, 0x55, 0xc4, 0xf4, 0x1d, 0x78, 0xf5, 0xa7, 0xb9, 0xf4, 0x7f, 0xb2, 0x16, 0x40, 0x5b, 0xe4, 0xe0, 0x70, 0x1d, 0x1e, 0xfb, 0x7d, 0x36, 0x7e, 0x32, 0x1f, 0x8b, 0x09, 0xff, 0xe6, 0xfe, 0x41, 0x52, 0xcb, 0x51, 0x67, 0xbf, 0x2a, 0xb5, 0x35, 0x33, 0x6c, 0x64, 0x7a, 0x73, 0x29, 0xba, 0x1c, 0xf5, 0x7a, 0x83, 0x7f, 0xa5, 0x5f, 0xf9, 0x1a, 0x3c, 0xbd, 0xe5, 0x73, 0x24, 0xcd, 0x77, 0x1e, 0x24, 0xd1, 0x42, 0x95, 0x97, 0x1b, 0xfa, 0x56, 0xc6, 0x74, 0x9e, 0x46, 0x51, 0xd4, 0x29, 0xc0, 0x45, 0xfe, 0x7d, 0x82, 0xfb, 0x9f, 0x07, 0x24, 0x39, 0x6a, 0xd5, 0x84, 0x9f, 0xda, 0x83, 0xc0, 0xb7, 0x91, 0xfd, 0x90, 0x2b, 0x79, 0xab, 0xde, 0x0f, 0xe5, 0xed, 0x2b, 0x14, 0x29, 0xf9, 0x7a, 0x94, 0xbf, 0x75, 0x03, 0x7e, 0x19, 0xc7, 0x0c, 0x73, 0xae, 0x82, 0x70, 0xe1, 0x0f, 0xb2, 0x9f, 0x98, 0x71, 0x2a, 0x3c, 0x1c, 0x68, 0x8b, 0x1c, 0x1d, 0x2a, 0x9f, 0xdc, 0xe6, 0xcc, 0x6f, 0x34, 0x68, 0xef, 0x0b, 0x2a, 0xcf, 0xe4, 0xdf, 0x1c, 0x0f, 0x85, 0x10, 0xf4, 0x41, 0x75, 0x2c, 0x0d, 0x7a, 0x51, 0x9b, 0x96, 0xd3, 0x1b, 0x2e, 0xa5, 0xcb, 0x9a, 0x0c, 0x8e, 0x2c, 0x7a, 0x46, 0xbb, 0xaf, 0x1e, 0xb6, 0x4a, 0x95, 0x2e, 0xe5, 0x18, 0xcb, 0x62, 0x51, 0xc1, 0x4c, 0x4e, 0x6f, 0xcf, 0xd2, 0x64, 0xe2, 0xec, 0x87, 0xb4, 0x09, 0x3f, 0x28, 0x3e, 0x10, 0x2b, 0x47, 0x15, 0xb0, 0x4f, 0xec, 0x8a, 0x90, 0xdd, 0x09, 0x44, 0x79, 0x4e, 0x8b, 0x8e, 0xc9, 0x35, 0x4b, 0x04, 0x37, 0x89, 0x77, 0xad, 0x5b, 0xd7, 0x41, 0x0d, 0x75, 0x4f, 0x14, 0xdb, 0x4f, 0xc7, 0x03, 0x4e, 0x0b, 0xfd, 0x2e, 0x4f, 0xe4, 0x8c, 0x45, 0x31, 0xa8, 0x44, 0x2a, 0x5e, 0x0a, 0xcc, 0x16, 0x12, 0xc6, 0xaa, 0x70, 0x79, 0xac, 0x36, 0xf6, 0x0d, 0x1f, 0x2a, 0x43, 0xe7, 0x53, 0x6b, 0x73, 0xbb, 0x88, 0x8d, 0xb9, 0xa0, 0xde, 0x24, 0x7d, 0x0b, 0xf9, 0x67, 0xc7, 0xe2, 0x9b, 0x37, 0x37, 0xbe, 0x37, 0x43, 0x97, 0xed, 0x1c, 0x25, 0x3c, 0x0b, 0x8f, 0x36, 0xee, 0x77, 0xbf, 0x69, 0x20, 0xd3, 0xf3, 0x5e, 0x9b, 0x78, 0x1a, 0x1e, 0xee, 0x59, 0x20, 0x4b, 0x3a, 0xf5, 0x02, 0xf2, 0x3c, 0x0e, 0x40, 0xd2, 0x03, 0x71, 0xaa, 0xaf, 0x87, 0xde, 0xe4, 0x59, 0xf9, 0x73, 0x4c, 0x13, 0xb0, 0x31, 0xf4, 0x0d, 0x96, 0xc0, 0x3c, 0x47, 0x5f, 0x33, 0xdc, 0xec, 0xd3, 0x66, 0x11, 0xe8, 0xa1, 0x2f, 0x8d, 0x5c, 0x5c, 0xdb, 0x26, 0x39, 0x6b, 0x13, 0xaa, 0xa3, 0xf5, 0xdc, 0xf3, 0xcf, 0xff, 0x66, 0x4e, 0x37, 0x69, 0x43, 0xf3, 0x5d, 0xdc, 0x6b, 0x1c, 0x37, 0x20, 0x63, 0x15, 0x9f, 0x37, 0xd7, 0xd1, 0x09, 0xcf, 0x85, 0x6f, 0xbb, 0x81, 0xd2, 0x79, 0x30, 0x06, 0xce, 0xb5, 0x37, 0x63, 0xcf, 0x3b, 0xf8, 0x4c, 0x92, 0x75, 0xea, 0xda, 0xed, 0xaf, 0x90, 0x1b, 0x1b, 0xb1, 0xc0, 0xac, 0xb7, 0xcb, 0x35, 0xd6, 0xb0, 0xc3, 0x07, 0xf5, 0xfc, 0x46, 0x50, 0x3b, 0x18, 0xe7, 0x6f, 0xfb, 0xcd, 0x71, 0xad, 0x7c, 0x74, 0x68, 0x1c, 0xb9, 0xb4, 0xac, 0x0c, 0x71, 0xa4, 0x07, 0x56, 0x66, 0xf6, 0xa6, 0xfb, 0xcf, 0xac, 0x2c, 0x29, 0x33, 0x62, 0xab, 0xe6, 0xb8, 0x0e, 0x72, 0x2d, 0xd8, 0x7a, 0x16, 0x1e, 0x6c, 0x50, 0x0c, 0x9e, 0xfa, 0x41, 0xac, 0x29, 0x4d, 0x06, 0x3b, 0xa5, 0x08, 0xb0, 0x2c, 0x5d, 0x9a, 0x80, 0xbd, 0x5f, 0xa6, 0xaf, 0xc8, 0x77, 0x3d, 0x40, 0x74, 0x66, 0xc9, 0x2e, 0x37, 0xc3, 0x58, 0xf6, 0x8b, 0x5b, 0xf9, 0xa1, 0x93, 0x42, 0x3d, 0xf2, 0x94, 0xf1, 0xa4, 0xf8, 0x94, 0xf9, 0xd8, 0x67, 0x5e, 0xca, 0x9e, 0xcc, 0x69, 0x4d, 0x65, 0xca, 0xa9, 0x33, 0xc8, 0xaf, 0x71, 0x3c, 0x5e, 0xca, 0x00, 0x36, 0x75, 0x37, 0x5d, 0x90, 0xb1, 0x7b, 0x9f, 0x55, 0x7f, 0xd4, 0x8c, 0x3b, 0x78, 0x76, 0x60, 0xdc, 0xea, 0x2d, 0x72, 0x7e, 0xaa, 0x19, 0x21, 0x49, 0x92, 0x09, 0xe9, 0xb7, 0x6d, 0x4c, 0x3f, 0x86, 0x62, 0x1b, 0xbc, 0xee, 0x0c, 0x19, 0xac, 0x85, 0x5e, 0x36, 0xfe, 0x66, 0xa9, 0xab, 0x97, 0x8e, 0x9a, 0x0b, 0xd0, 0x2f, 0xdf, 0xe6, 0x49, 0x31, 0x79, 0xa7, 0x6c, 0xce, 0x81, 0xc0, 0xd4, 0x00, 0x72, 0x32, 0xfa, 0x6f, 0x4a, 0x8d, 0x29, 0x73, 0x06, 0xe8, 0x7f, 0x5a, 0x75, 0x80, 0xf0, 0x92, 0xc7, 0x2a, 0x9f, 0x01, 0xa7, 0xfc, 0x3e, 0x4a, 0x05, 0x24, 0x81, 0xaa, 0x17, 0xfa, 0x89, 0x24, 0xbe, 0xbd, 0xd6, 0xc0, 0xf3, 0x62, 0x27, 0xfb, 0x28, 0xb1, 0xe2, 0x7d, 0xbc, 0x9f, 0x86, 0x07, 0x26, 0x66, 0x53, 0x53, 0x68, 0xbe, 0xc0, 0x7f, 0x3d, 0xba, 0x44, 0x2e, 0xd6, 0x63, 0x5d, 0x56, 0x0b, 0x5d, 0x36, 0x66, 0x35, 0x86, 0xb9, 0xc7, 0x5f, 0xb6, 0x2c, 0xa7, 0xd9, 0x19, 0x25, 0xac, 0xa6, 0x5e, 0xfb, 0xd4, 0x11, 0x8f, 0xb5, 0x74, 0x89, 0xb0, 0xe1, 0xe3, 0x2d, 0xf5, 0x2f, 0x7e, 0x78, 0x29, 0x7c, 0xc3, 0x5c, 0x6e, 0x88, 0x96, 0xd8, 0xc7, 0x3c, 0xed, 0xa0, 0xaa, 0x7c, 0xc8, 0xe2, 0x51, 0x26, 0x15, 0x6a, 0x22, 0x9d, 0x48, 0xe0, 0xcc, 0x57, 0xdc, 0x20, 0xba, 0x05, 0x07, 0xcb, 0xc5, 0xbd, 0x76, 0x56, 0xb9, 0x55, 0x1d, 0x7f, 0xc0, 0x1c, 0x38, 0x86, 0x01, 0x05, 0x62, 0x2b, 0x7b, 0xd9, 0xfc, 0x7d, 0x20, 0x67, 0xfa, 0xd7, 0x6c, 0x63, 0x75, 0x4f, 0xe1, 0x27, 0x74, 0x12, 0xd2, 0xb2, 0x4b, 0x9d, 0x22, 0xa3, 0x67, 0x99, 0x0a, 0x78, 0x2d, 0x07, 0x86, 0xb6, 0xcd, 0x48, 0x5e, 0xbf, 0x03, 0xf6, 0xaa, 0xad, 0x79, 0xf3, 0x66, 0x8e, 0xc4, 0x7c, 0x38, 0x38, 0x6b, 0x6b, 0xc8, 0x55, 0xfb, 0x15, 0x2d, 0x98, 0x29, 0x91, 0xd8, 0xaa, 0xdf, 0xfd, 0x70, 0xe6, 0x04, 0x6e, 0x23, 0xbb, 0xb6, 0x18, 0xea, 0x74, 0xb4, 0x97, 0x1b, 0x40, 0x15, 0x31, 0x1a, 0x8f, 0x9c, 0x47, 0x85, 0x94, 0x0e, 0x87, 0x5d, 0xaa, 0x72, 0x58, 0x3b, 0x99, 0x04, 0x46, 0x9a, 0xe9, 0x6a, 0x00, 0x14, 0x65, 0xe2, 0xb3, 0xee, 0x43, 0xa0, 0x05, 0xa6, 0x6c, 0xfe, 0x6e, 0x1d, 0x18, 0x1c, 0x74, 0x85, 0x69, 0xbc, 0x45, 0x1e, 0xc2, 0x62, 0x99, 0xbf, 0x71, 0xa3, 0x4f, 0xde, 0xd2, 0x4d, 0x8b, 0x74, 0x45, 0xa6, 0xcd, 0xce, 0xbe, 0x20, 0x3d, 0x36, 0xc2, 0xd2, 0x90, 0x20, 0x30, 0x03, 0x27, 0x47, 0x18, 0xc3, 0x60, 0x07, 0x31, 0xf2, 0x87, 0x46, 0x06, 0xcb, 0x97, 0x55, 0x54, 0x93, 0x15, 0x5a, 0x57, 0x63, 0x07, 0x41, 0xf5, 0x35, 0x06, 0x5b, 0x11, 0x8a, 0x1a, 0x88, 0xb5, 0x06, 0x29, 0x8f, 0x32, 0x77, 0xe2, 0x5e, 0x6a, 0x93, 0x53, 0x08, 0x7e, 0x4a, 0xd9, 0xb6, 0xcd, 0xa2, 0x99, 0xc7, 0x35, 0x1b, 0xd1, 0xd0, 0xf7, 0xcc, 0x08, 0x47, 0x98, 0xdb, 0x74, 0xc9, 0x9e, 0x82, 0xb9, 0x04, 0x10, 0xec, 0x03, 0xf5, 0x06, 0x7d, 0xd9, 0xb2, 0xc4, 0x21, 0x16, 0x3f, 0x97, 0xc8, 0x30, 0x77, 0x00, 0xd1, 0xef, 0xd1, 0x3f, 0x3b, 0x20, 0xc9, 0xe5, 0x7b, 0x01, 0x9d, 0x8a, 0x1d, 0x26, 0x5d, 0x63, 0x13, 0x34, 0xeb, 0x60, 0xd0, 0x74, 0x86, 0x77, 0xc9, 0x9b, 0x80, 0x57, 0xc4, 0xba, 0xe2, 0x10, 0xff, 0x14, 0x18, 0xb1, 0xc4, 0x36, 0x79, 0xe9, 0x00, 0x04, 0xcf, 0xc1, 0x15, 0x6c, 0xd1, 0x95, 0xe9, 0x4c, 0x3e, 0xf6, 0x2c, 0x0d, 0xd1, 0xf5, 0xef, 0x8d, 0x50, 0xd7, 0x6e, 0xe8, 0x68, 0x1a, 0x01, 0x13, 0x9f, 0x1c, 0x7c, 0xe6, 0x0b, 0xc1, 0x6a, 0x8c, 0x38, 0xa0, 0x4e, 0xa5, 0xb5, 0x59, 0xd3, 0x2f, 0x19, 0x82, 0x85, 0xbc, 0x1d, 0x6f, 0xf8, 0x90, 0xa9, 0x24, 0xf5, 0xd7, 0xd4, 0x1e, 0xf8, 0x17, 0x36, 0x00, 0x0b, 0x7e, 0x40, 0xa0, 0x60, 0x71, 0xcf, 0xe4, 0x2d, 0x35, 0x02, 0x48, 0x97, 0x28, 0xe0, 0xd9, 0xaf, 0x79, 0xb5, 0x8f, 0xf7, 0xfc, 0xa6, 0xde, 0x2b, 0xad, 0x43, 0x6f, 0x6d, 0x22, 0x93, 0xb5, 0xfd, 0x0b, 0xc5, 0xc0, 0x51, 0xbe, 0xd5, 0xec, 0x6c, 0x8e, 0xa7, 0xfa, 0xd7, 0x57, 0xf0, 0x8d, 0x3f, 0x25, 0xe6, 0xd0, 0xda, 0x69, 0x1a, 0x6c, 0x3e, 0x91, 0xc3, 0xf5, 0xe7, 0x56, 0xaf, 0xb8, 0x6d, 0x96, 0x45, 0x7c, 0x3b, 0x21, 0x26, 0x8e, 0xa4, 0x07, 0x7a, 0x40, 0x60, 0x33, 0x52, 0x29, 0x5b, 0x4d, 0x52, 0x0d, 0x22, 0x5e, 0xcf, 0x78, 0xb7, 0xb5, 0x84, 0x58, 0x8a, 0xa9, 0xdd, 0xcc, 0xf7, 0xc4, 0x44, 0x9e, 0xe2, 0xfc, 0xbf, 0x58, 0x33, 0x4e, 0x5c, 0xac, 0x63, 0xfd, 0xe9, 0x22, 0x90, 0xf7, 0xd0, 0x6f, 0x0b, 0xc2, 0x3b, 0x7b, 0xc5, 0x90, 0x98, 0xf4, 0xaf, 0xe9, 0x19, 0x10, 0x2b, 0xa8, 0x98, 0x86, 0x6d, 0x43, 0xcc, 0x2f, 0x8d, 0xd6, 0x5b, 0xf1, 0xf1, 0x93, 0x10, 0xd3, 0xfe, 0xb3, 0xa2, 0x25, 0xb8, 0xeb, 0x08, 0x56, 0x99, 0x25, 0x0f, 0x9b, 0xb3, 0x6b, 0x93, 0xbc, 0x2f, 0xc0, 0xd2, 0xe2, 0x79, 0x22, 0xf4, 0x4c, 0x6e, 0x75, 0xdd, 0x3b, 0x56, 0x14, 0x5c, 0xad, 0x85, 0x70, 0x21, 0xe6, 0x70, 0xb0, 0x6f, 0x23, 0xb0, 0x86, 0x9f, 0x64, 0x28, 0xa2, 0x6d, 0x72, 0xd0, 0x86, 0x1f, 0x16, 0x87, 0xe8, 0xc2, 0x21, 0x90, 0x90, 0x3d, 0x44, 0x79, 0x87, 0x3b, 0x24, 0xeb, 0x3b, 0x2c, 0x7f, 0x3f, 0x3c, 0xe0, 0x1a, 0x8e, 0x97, 0x22, 0x8e, 0xfa, 0xa3, 0x78, 0x48, 0xbd, 0x3a, 0xb3, 0xd1, 0x31, 0x7b, 0xaf, 0x0d, 0xc9, 0x9b, 0x8f, 0x42, 0x5d, 0x4b, 0x0a, 0x2a, 0xc8, 0x33, 0x30, 0x88, 0xc3, 0xa0, 0xd4, 0xe5, 0xce, 0x99, 0xe5, 0xf0, 0x70, 0xbf, 0xaf, 0x5a, 0xe6, 0xc1, 0x11, 0x66, 0x79, 0x00, 0xae, 0x16, 0x06, 0x1b, 0x94, 0xb9, 0x1e, 0xd9, 0xa6, 0x2f, 0xdf, 0x40, 0x1a, 0xeb, 0xf2, 0xd6, 0x86, 0x78, 0x62, 0x67, 0x11, 0x1e, 0x24, 0xef, 0xe1, 0x9c, 0x4e, 0x34, 0xe8, 0x45, 0x30, 0x7a, 0x72, 0x31, 0xbe, 0xc3, 0x8f, 0x4c, 0xb8, 0xab, 0xd1, 0x30, 0xbb, 0xb1, 0xea, 0x46, 0x28, 0x74, 0x69, 0xc7, 0x0e, 0x4d, 0x9e, 0x00, 0x1d, 0x75, 0x93, 0x09, 0x0e, 0x5d, 0x03, 0x8d, 0x43, 0x0f, 0x05, 0x51, 0xef, 0x46, 0x01, 0x04, 0x50, 0xb0, 0x34, 0xcf, 0x6a, 0xbe, 0x03, 0xef, 0x87, 0x00, 0x19, 0x94, 0xbd, 0xd3, 0xa2, 0x3e, 0x2d, 0x0a, 0xb0, 0x98, 0xa8, 0x84, 0xc4, 0x43, 0x61, 0xc6, 0xea, 0x31, 0xc3, 0xb8, 0xc9, 0x43, 0x6a, 0x22, 0xc6, 0x49, 0xdd, 0xab, 0x2b, 0x9d, 0x81, 0xb5, 0x63, 0xc7, 0xa4, 0x26, 0x2a, 0x5c, 0x5e, 0xb1, 0x65, 0xd1, 0x99, 0x0b, 0x87, 0xba, 0xaf, 0xaa, 0x5a, 0x39, 0x1a, 0x5d, 0x73, 0x0c, 0x66, 0x1a, 0xee, 0x49, 0x60, 0x70, 0xdc, 0xb5, 0xa8, 0x07, 0xb2, 0xed, 0xba, 0xd4, 0x86, 0x74, 0x1a, 0xca, 0x58, 0x9b, 0x88, 0xa1, 0x1a, 0xa5, 0x6a, 0x87, 0xa4, 0xba, 0x36, 0x92, 0xa0, 0xd1, 0x8a, 0xcb, 0xf1, 0x2b, 0x1a, 0x08, 0x84, 0xb1, 0x3a, 0xaa, 0x81, 0xcc, 0xa2, 0x88, 0xc9, 0x75, 0x0a, 0x3f, 0xee, 0x75, 0x16, 0x28, 0x7a, 0x83, 0xa3, 0x9f, 0x4a, 0x42, 0xf8, 0xde, 0x7b, 0x1a, 0xfd, 0x0b, 0xb2, 0x74, 0xbf, 0x7f, 0x6a, 0x1d, 0x93, 0x0b, 0xee, 0x03, 0xdc, 0xbf, 0xb0, 0x16, 0x58, 0x79, 0x6b, 0x32, 0x50, 0xca, 0x7a, 0xa0, 0xd4, 0x45, 0x2e, 0x56, 0x78, 0x6c, 0xb7, 0x20, 0xf5, 0x42, 0x95, 0xec, 0xf5, 0x60, 0xf5, 0x94, 0x3e, 0x34, 0xbb, 0x2b, 0xf1, 0x61, 0xfb, 0x5b, 0xb5, 0x11, 0x15, 0x59, 0xfc, 0xe6, 0x47, 0x56, 0xa7, 0x3b, 0xe1, 0xdc, 0x0f, 0x79, 0xce, 0x2a, 0xd0, 0x8b, 0x27, 0xd5, 0x50, 0x2c, 0x0f, 0x78, 0x55, 0xad, 0x25, 0x5b, 0xfa, 0xda, 0xbb, 0x7e, 0xbd, 0xc6, 0x79, 0xd7, 0x79, 0xb7, 0xee, 0x48, 0x4c, 0xb7, 0x94, 0xa2, 0xfe, 0xf7, 0x68, 0xaf, 0x2b, 0xf6, 0xe9, 0xae, 0xc4, 0x3f, 0x2c, 0x8d, 0x90, 0xeb, 0x98, 0x45, 0xc4, 0x4d, 0x89, 0x8b, 0x6e, 0x6f, 0x97, 0xfd, 0x4a, 0x26, 0xc2, 0xd4, 0x8f, 0x04, 0xac, 0x2d, 0xa7, 0x7d, 0xae, 0x27, 0xfe, 0xb4, 0xe3, 0x15, 0xf8, 0x3a, 0xcc, 0x05, 0xaf, 0x1a, 0x69, 0x66, 0x02, 0x77, 0x0a, 0xbc, 0x0d, 0x22, 0x32, 0xc9, 0x45, 0x54, 0xb1, 0x59, 0x40, 0xe5, 0x43, 0x90, 0x5c, 0xa3, 0xd2, 0x2a, 0x80, 0x6d, 0x45, 0x9d, 0x93, 0xe8, 0xbf, 0xa2, 0xc2, 0xd1, 0x39, 0x58, 0x35, 0xf4, 0xd3, 0x5a, 0x10, 0x93, 0xcc, 0x58, 0xb8, 0x27, 0x2d, 0x62, 0xb8, 0x0f, 0x0a, 0x7b, 0xbc, 0x24, 0x5c, 0xeb, 0x6c, 0xda, 0xab, 0x6c, 0xdf, 0x4d, 0x18, 0x45, 0x19, 0xd5, 0xf4, 0x7d, 0xa0, 0xf5, 0x7b, 0xe4, 0x5c, 0x8a, 0x7f, 0x66, 0xea, 0xe2, 0xbf, 0xdd, 0x93, 0x2b, 0x63, 0xa1, 0x0c, 0x3e, 0xf6, 0xf0, 0x0f, 0x31, 0xf1, 0x87, 0x49, 0x7c, 0x89, 0xd1, 0x66, 0xcf, 0x4a, 0x40, 0x18, 0xb5, 0x38, 0xae, 0xf1, 0x08, 0xad, 0x94, 0x1e, 0xac, 0xa8, 0x02, 0x12, 0x0d, 0x69, 0x04, 0x02, 0xfd, 0xe6, 0x86, 0x51, 0x31, 0xfd, 0x4c, 0xa1, 0x06, 0x66, 0xf4, 0xe3, 0xed, 0xf6, 0x58, 0xd5, 0xfc, 0x47, 0xf3, 0x64, 0x4a, 0x6f, 0xac, 0x75, 0x52, 0x34, 0x37, 0xd6, 0x22, 0xbb, 0xad, 0x7d, 0x0f, 0xa7, 0xa0, 0x9c, 0x65, 0x9a, 0x82, 0x5d, 0x45, 0x6f, 0x72, 0x26, 0xf8, 0x2d, 0xe1, 0xef, 0x76, 0x07, 0xf8, 0x30, 0x65, 0x54, 0x48, 0x04, 0x2f, 0x19, 0xbb, 0xc9, 0x5a, 0xbb, 0x6e, 0x94, 0x45, 0xcc, 0x9e, 0x69, 0x0e, 0x14, 0x0f, 0x2f, 0x39, 0x5c, 0xed, 0xf5, 0x74, 0x32, 0x7b, 0xab, 0x07, 0xc9, 0xc4, 0x73, 0xe9, 0x19, 0x2c, 0xdc, 0x9b, 0x2e, 0x99, 0xca, 0x7d, 0xa7, 0x41, 0xcc, 0xda, 0x58, 0x85, 0x5d, 0x30, 0x9b, 0x31, 0x7f, 0x1f, 0x2a, 0x24, 0xc9, 0x6a, 0x0a, 0x95, 0xd3, 0x80, 0x31, 0x36, 0xb0, 0xd1, 0x69, 0x10, 0xa6, 0xa8, 0x3c, 0xd7, 0x54, 0xca, 0x29, 0x9d, 0x2e, 0x3a, 0xc7, 0x3f, 0xd1, 0xc2, 0x29, 0x76, 0x2c, 0x14, 0x39, 0x56, 0x45, 0x27, 0x7e, 0xff, 0xf4, 0x38, 0xaa, 0x4b, 0x9d, 0xa5, 0xc9, 0x97, 0x8c, 0x59, 0xe5, 0xc1, 0xd4, 0xa1, 0xc0, 0x17, 0xea, 0x54, 0x7a, 0xed, 0xeb, 0x89, 0x92, 0x9e, 0x69, 0xb1, 0xed, 0x15, 0x18, 0xde, 0x67, 0x85, 0x6e, 0xd6, 0x58, 0x00, 0x0c, 0xf6, 0x3d, 0x47, 0xef, 0xbf, 0xbc, 0x6e, 0x12, 0x1c, 0x85, 0x51, 0x16, 0xa5, 0x6f, 0x4f, 0xcd, 0xec, 0x34, 0x99, 0xff, 0xad, 0x30, 0xe3, 0xa5, 0x58, 0x7d, 0xd7, 0x8d, 0x41, 0xf7, 0x98, 0xa2, 0xc8, 0x4d, 0x18, 0x1f, 0x7b, 0xdd, 0xf4, 0xc6, 0x28, 0xe4, 0xf2, 0xb5, 0x74, 0x1d, 0xe9, 0xcc, 0x7a, 0x89, 0x77, 0xcc, 0x5a, 0x47, 0x5d, 0xe2, 0xfe, 0x70, 0x0c, 0x9f, 0x44, 0x80, 0xde, 0x45, 0x26, 0x6f, 0x78, 0xb5, 0xf2, 0xb5, 0x06, 0x4f, 0xa2, 0xbd, 0xd2, 0xbc, 0x7c, 0x6a, 0x15, 0xcb, 0xac, 0xa9, 0xfe, 0xf6, 0x1a, 0x17, 0x91, 0xf0, 0x41, 0xec, 0xc1, 0xff, 0x36, 0xf8, 0xa3, 0xea, 0x07, 0x02, 0x7f, 0xb5, 0xb8, 0x97, 0xe4, 0x1f, 0x86, 0x93, 0x75, 0x94, 0x40, 0x56, 0xfc, 0xec, 0xc5, 0xf8, 0xef, 0xac, 0x31, 0x30, 0xad, 0x84, 0x60, 0x27, 0xec, 0x33, 0x9b, 0x0d, 0xa9, 0xcd, 0xf1, 0x68, 0x2d, 0x86, 0x5b, 0x12, 0x58, 0xf4, 0xb4, 0x83, 0x7b, 0x72, 0xd7, 0xdc, 0x6e, 0x09, 0x03, 0xa8, 0x3c, 0xf2, 0x85, 0x13, 0x4d, 0xc2, 0xdc, 0x91, 0xe5, 0x82, 0x5c, 0x87, 0x90, 0x4b, 0x40, 0xec, 0xee, 0xe2, 0xf3, 0x04, 0x57, 0xbb, 0x70, 0xc2, 0xaf, 0xaf, 0x76, 0x36, 0xfa, 0x56, 0x4d, 0x56, 0x27, 0xe5, 0xd4, 0xd8, 0x3f, 0xbd, 0x78, 0x62, 0x9b, 0x8d, 0xa2, 0x22, 0x0c, 0x5c, 0xa8, 0x12, 0x77, 0xe0, 0x19, 0xe1, 0x63, 0x2f, 0x34, 0xf9, 0x81, 0x93, 0x5f, 0x4f, 0xb3, 0x74, 0xc2, 0x66, 0x3e, 0x37, 0x64, 0x21, 0x1c, 0x82, 0xf5, 0x96, 0xc7, 0x0a, 0xdb, 0xe2, 0x67, 0xee, 0x7f, 0xb0, 0x9d, 0xec, 0x34, 0x48, 0x40, 0x7d, 0x17, 0x8c, 0x08, 0xf5, 0x85, 0x3d, 0xc6, 0x91, 0x5e, 0x52, 0xf2, 0xb9, 0x58, 0xc6, 0xb0, 0x27, 0x70, 0x49, 0x3a, 0x0d, 0x77, 0x72, 0xf4, 0x52, 0xad, 0xbb, 0x6e, 0x0c, 0x1f, 0x56, 0x28, 0x2d, 0x37, 0x6c, 0x16, 0x15, 0x09, 0x2d, 0x7c, 0x5c, 0x49, 0x7f, 0x2b, 0x6e, 0x84, 0xc4, 0xfd, 0x72, 0x16, 0xec, 0x6f, 0x9d, 0x1a, 0x70, 0xfe, 0xe5, 0x52, 0x4e, 0x26, 0x35, 0x97, 0x96, 0x68, 0xde, 0x3c, 0x1e, 0x0c, 0x7b, 0x16, 0x33, 0x36, 0xd2, 0xa4, 0x16, 0xd6, 0xad, 0x3d, 0x23, 0xc9, 0x88, 0x02, 0xe3, 0x5a, 0xcc, 0xdf, 0xb3, 0x05, 0x14, 0x87, 0x0a, 0x8f, 0xa9, 0xf6, 0x87, 0x3c, 0x5d, 0x92, 0x6f, 0x02, 0x78, 0xe4, 0x42, 0x33, 0x07, 0x08, 0xaa, 0x46, 0xa7, 0xd1, 0x40, 0x64, 0xcf, 0xcf, 0x7b, 0x48, 0x3a, 0x33, 0xe3, 0x73, 0x63, 0x36, 0x28, 0x84, 0xda, 0x51, 0xf5, 0x0c, 0x71, 0x71, 0x6f, 0x73, 0xdf, 0x8c, 0xe3, 0xd2, 0xee, 0xe3, 0xaf, 0xc1, 0x96, 0xa1, 0x55, 0xe3, 0x2d, 0x31, 0xb9, 0xac, 0x45, 0xde, 0xd9, 0x3b, 0x94, 0x90, 0xc7, 0x13, 0x35, 0xbe, 0x47, 0xa6, 0xf6, 0x42, 0x2b, 0xcc, 0x41, 0xa3, 0x43, 0xbc, 0xcd, 0x76, 0xe2, 0x26, 0xf9, 0x90, 0x51, 0x69, 0x20, 0x84, 0x74, 0x9c, 0x57, 0x9f, 0x4c, 0x56, 0xe4, 0x17, 0x60, 0xd6, 0xcb, 0x5f, 0xbf, 0x8b, 0x33, 0x19, 0xde, 0x5e, 0x89, 0x34, 0xa0, 0xe1, 0x62, 0x56, 0x83, 0x77, 0xc2, 0x4e, 0x80, 0x25, 0xff, 0x64, 0x8c, 0xb9, 0xe8, 0xec, 0xe0, 0x13, 0x3f, 0xf4, 0xe2, 0x15, 0x63, 0x95, 0x47, 0x5c, 0x9f, 0x98, 0x1d, 0xde, 0x2a, 0x38, 0x91, 0x25, 0x55, 0x1d, 0xd5, 0xa8, 0x45, 0x37, 0x09, 0x79, 0x9e, 0x8d, 0x1a, 0x10, 0x12, 0xa7, 0x03, 0xb2, 0xa3, 0x17, 0x66, 0xba, 0x93, 0x13, 0x50, 0x15, 0xff, 0x54, 0x11, 0xcf, 0xe7, 0x6f, 0xf6, 0x47, 0x47, 0xb1, 0x67, 0xdd, 0x69, 0xcd, 0xa5, 0x34, 0xa1, 0xc1, 0xcb, 0xa2, 0xb8, 0x04, 0x6f, 0x6d, 0xd0, 0x04, 0xfe, 0xe8, 0xef, 0x70, 0x30, 0x67, 0x15, 0xb9, 0xe8, 0x4a, 0x28, 0xd1, 0x28, 0x4c, 0xf1, 0x7c, 0xe7, 0x5b, 0xcd, 0x38, 0x1d, 0x78, 0x13, 0x4e, 0x18, 0x25, 0xaf, 0x21, 0xc4, 0x10, 0x4b, 0x8c, 0xcd, 0xfa, 0xf0, 0xa4, 0xd3, 0xf0, 0x86, 0x74, 0x8a, 0xc6, 0x72, 0xa8, 0xc1, 0x2e, 0xad, 0x3a, 0x1e, 0xa4, 0x62, 0x5a, 0x1d, 0x0b, 0x3d, 0x0f, 0xc9, 0xcb, 0x8c, 0xe9, 0x03, 0xe9, 0x4f, 0x0f, 0xed, 0x9e, 0x74, 0x50, 0xf4, 0x58, 0x8d, 0xbe, 0x66, 0xa4, 0xab, 0x68, 0x23, 0xea, 0x64, 0x4b, 0x44, 0xc7, 0x8a, 0x22, 0x38, 0xbe, 0x65, 0xfa, 0x40, 0x2e, 0x3b, 0x1a, 0xd9, 0x69, 0x05, 0xa1, 0xd4, 0x95, 0x5e, 0x29, 0xf5, 0xaf, 0x9d, 0x9f, 0x1d, 0xd1, 0x5c, 0x1a, 0x8a, 0xc9, 0xda, 0xa4, 0x70, 0x7f, 0x6c, 0x15, 0x08, 0x1a, 0x89, 0xb7, 0xfb, 0x25, 0xcf, 0xfd, 0xfa, 0xa6, 0x17, 0x1c, 0x10, 0x75, 0x70, 0x97, 0xbc, 0x19, 0xa8, 0x93, 0x83, 0x57, 0xef, 0x38, 0x6b, 0x50, 0xb6, 0x05, 0xdf, 0x8a, 0xb2, 0xd3, 0xa4, 0x5b, 0x21, 0x61, 0x57, 0xf0, 0x9d, 0x9c, 0xe3, 0xf4, 0xf4, 0x2c, 0x4c, 0xd8, 0xf7, 0xd5, 0x70, 0x31, 0xff, 0xe8, 0x50, 0x82, 0x03, 0x4b, 0x0d, 0x56, 0x4d, 0x70, 0x74, 0x15, 0xfa, 0xac, 0xa6, 0x2f, 0x0a, 0xb3, 0xa5, 0xbb, 0x19, 0x92, 0xa0, 0x88, 0xb1, 0x8b, 0xdb, 0xc5, 0x86, 0x44, 0x96, 0x6c, 0xe9, 0x8c, 0x82, 0xcb, 0x00, 0x6a, 0x8b, 0xe6, 0x6c, 0x90, 0x38, 0x63, 0xb0, 0x90, 0x6a, 0x19, 0x64, 0x18, 0x1a, 0xd6, 0xb0, 0x74, 0x09, 0x23, 0x15, 0x34, 0x3c, 0xf5, 0x1e, 0x62, 0x03, 0xed, 0x79, 0x18, 0x0d, 0x6b, 0xc7, 0x2f, 0xc9, 0xd3, 0x0e, 0xa0, 0x45, 0x78, 0x18, 0x82, 0xb6, 0x0a, 0x61, 0x7b, 0x5f, 0x58, 0x11, 0x1d, 0xf7, 0x95, 0x15, 0x3d, 0x66, 0x26, 0x7b, 0xb6, 0x28, 0xc1, 0x52, 0xd9, 0x60, 0xa7, 0xfe, 0x81, 0xd2, 0xd0, 0x44, 0x83, 0xe7, 0x6a, 0xe5, 0xd9, 0x30, 0xfa, 0x87, 0x3a, 0xd2, 0xa3, 0xba, 0xdf, 0x4f, 0xf7, 0x04, 0x1e, 0xb5, 0xb7, 0xfb, 0x09, 0x23, 0xaa, 0x22, 0x50, 0xea, 0x69, 0x73, 0x2d, 0x74, 0x50, 0x9f, 0xdc, 0x96, 0xcd, 0xad, 0x63, 0xc0, 0xaa, 0xdd, 0x2c, 0xf3, 0x68, 0x90, 0x53, 0xfb, 0x2c, 0xef, 0x34, 0x01, 0x7b, 0x2c, 0x47, 0x70, 0x9a, 0x10, 0xa4, 0x26, 0x84, 0x0f, 0x9f, 0x3f, 0xe0, 0x17, 0x8f, 0xdb, 0x0b, 0x3c, 0xbc, 0x33, 0x81, 0xb3, 0x03, 0xd8, 0x2d, 0x99, 0xd1, 0x18, 0x61, 0x5e, 0x14, 0x59, 0x3e, 0xe4, 0x1b, 0x89, 0x8c, 0xc8, 0x72, 0x5f, 0xdb, 0x4e, 0x51, 0xe2, 0x9e, 0x6b, 0x26, 0xa5, 0x09, 0xd3, 0x26, 0x7a, 0x1b, 0x16, 0x54, 0xdb, 0x3e, 0x96, 0x75, 0xbc, 0xba, 0x44, 0x7f, 0x3f, 0xea, 0x6e, 0xae, 0x72, 0x4e, 0xff, 0x7d, 0x96, 0x82, 0xfb, 0x05, 0xd6, 0x86, 0xac, 0xc6, 0x25, 0x39, 0x21, 0xd1, 0x27, 0x87, 0x33, 0x1f, 0x29, 0xed, 0xf7, 0x5c, 0x3f, 0x77, 0x66, 0x74, 0x3f, 0x6c, 0x0b, 0xb7, 0x8b, 0xde, 0x4b, 0xde, 0x0b, 0xe3, 0xc5, 0xb7, 0x52, 0xdf, 0xe9, 0x3d, 0x20, 0x95, 0xa3, 0xca, 0x41, 0x8a, 0xc0, 0xc8, 0xda, 0x97, 0xf2, 0x43, 0x8e, 0x39, 0x3d, 0xd6, 0xdf, 0xfa, 0x01, 0xb8, 0x5f, 0xae, 0x9c, 0x8d, 0xbe, 0x64, 0xf4, 0x2b, 0x18, 0x62, 0x3a, 0xd7, 0xf0, 0xd6, 0x4d, 0xf4, 0x77, 0x2b, 0x02, 0xa2, 0xa7, 0x55, 0x89, 0xf0, 0x98, 0xaf, 0x64, 0x84, 0xf3, 0x24, 0xd3, 0x72, 0x37, 0x88, 0xb5, 0x24, 0xb1, 0x03, 0x2b, 0x61, 0x4d, 0x4d, 0xb8, 0x6c, 0xf6, 0xad, 0x75, 0x47, 0xcc, 0xed, 0x2e, 0xf9, 0x62, 0x0a, 0x54, 0x8b, 0x41, 0x20, 0x20, 0xbe, 0xd2, 0x9d, 0x30, 0x15, 0x82, 0xcf, 0xd8, 0x61, 0xc9, 0xb9, 0x9b, 0x7a, 0x9a, 0x4c, 0xeb, 0x96, 0xc0, 0x8b, 0x68, 0xba, 0x06, 0xa7, 0x27, 0x98, 0xfb, 0x41, 0x15, 0x3d, 0xcb, 0x85, 0x21, 0x21, 0xfe, 0x5a, 0x91, 0xd4, 0xf0, 0x97, 0xcb, 0x47, 0xa8, 0xf5, 0xdc, 0x1d, 0xae, 0xe8, 0xf2, 0xb0, 0xc1, 0xd4, 0x29, 0x1d, 0xb0, 0x81, 0x27, 0x5f, 0xf7, 0x92, 0x01, 0xfb, 0x28, 0xe1, 0x9f, 0x64, 0xb1, 0xac, 0x94, 0x09, 0x50, 0x9f, 0xd9, 0x19, 0x3f, 0xb5, 0xaf, 0xcd, 0xed, 0x64, 0x7c, 0x50, 0x7e, 0xac, 0x30, 0x65, 0x3c, 0x7b, 0x2c, 0x28, 0x5c, 0x58, 0x2a, 0x1d, 0x3b, 0x8b, 0x24, 0x81, 0x4b, 0x23, 0xe3, 0x4f, 0x17, 0xed, 0x72, 0x04, 0x2a, 0x7f, 0x0f, 0x87, 0xd7, 0x4b, 0xa2, 0xf4, 0x35, 0x48, 0xbe, 0x95, 0xe3, 0x36, 0x39, 0x26, 0xde, 0x28, 0x81, 0x98, 0x0e, 0x3f, 0x7a, 0x70, 0xdd, 0xa9, 0x89, 0x9f, 0xbf, 0x0b, 0x93, 0x0f, 0x35, 0x8c, 0x4d, 0xae, 0x97, 0xf2, 0xa0, 0x38, 0x42, 0x63, 0x99, 0x49, 0xfc, 0x41, 0x9b, 0x46, 0x3e, 0x38, 0x4a, 0x8d, 0xba, 0xb2, 0xdd, 0xea, 0x8c, 0x1c, 0x70, 0x82, 0x17, 0xd6, 0xb4, 0xab, 0x10, 0x09, 0x25, 0x84, 0x79, 0xca, 0x10, 0xa9, 0x43, 0xfa, 0x59, 0x95, 0xac, 0xb0, 0xb7, 0x96, 0xaa, 0x00, 0xe1, 0xe7, 0xba, 0x2c, 0x97, 0x2a, 0x6f, 0x15, 0x37, 0x30, 0x6c, 0xe2, 0x68, 0x96, 0x82, 0x4a, 0xbc, 0x4b, 0xdf, 0xa3, 0xcb, 0xf6, 0x81, 0x3f, 0xb6, 0x0f, 0x6d, 0xc7, 0xad, 0xa2, 0xaf, 0x74, 0xaf, 0x74, 0x6a, 0xd2, 0x22, 0x1b, 0x10, 0x42, 0x03, 0x38, 0x55, 0xe9, 0x56, 0x70, 0x96, 0xbc, 0x62, 0xdc, 0x29, 0xab, 0xde, 0xa6, 0xf2, 0xa8, 0x09, 0x45, 0x4e, 0x76, 0x70, 0x87, 0x3b, 0x00, 0x91, 0xa9, 0x7c, 0x66, 0x41, 0x4f, 0x1f, 0xba, 0x3c, 0xbe, 0x60, 0xde, 0x34, 0xff, 0x91, 0xbb, 0x1d, 0xef, 0xcc, 0xf8, 0x12, 0x46, 0x6f, 0x0f, 0x8e, 0x40, 0x4d, 0x0c, 0x9e, 0x71, 0x4e, 0x99, 0xd0, 0xdc, 0x0b, 0xd3, 0x0d, 0xe9, 0xd2, 0x66, 0xb0, 0x31, 0xec, 0xa9, 0x23, 0xca, 0xb6, 0x54, 0x0c, 0x36, 0x90, 0x78, 0x76, 0x24, 0x01, 0xf0, 0x88, 0xe7, 0x9b, 0xd2, 0xe7, 0x87, 0x12, 0x47, 0x7c, 0x52, 0x1f, 0xb3, 0x46, 0xb6, 0x91, 0x23, 0xff, 0x0e, 0xc5, 0xa1, 0xe6, 0xf6, 0x2f, 0x84, 0xb0, 0xba, 0xd3, 0xc7, 0x0c, 0x82, 0xd9, 0xe0, 0x50, 0xd6, 0x2e, 0x2d, 0xd5, 0xfc, 0x52, 0xfa, 0x75, 0xdf, 0x0d, 0xe3, 0x36, 0x16, 0x73, 0x8c, 0xfe, 0x3f, 0xe4, 0xe9, 0x8c, 0x24, 0x5d, 0x7a, 0x1e, 0x83, 0xae, 0x7a, 0x61, 0x66, 0x08, 0x81, 0x37, 0x1d, 0xca, 0xc0, 0x39, 0xb5, 0x23, 0xe0, 0xc8, 0xcc, 0xb7, 0x54, 0x9f, 0x1c, 0xbb, 0x59, 0x4f, 0xa5, 0x5b, 0x28, 0xf0, 0x55, 0xc5, 0x91, 0x20, 0xe7, 0xd4, 0xba, 0x94, 0xff, 0xd5, 0xac, 0x0d, 0x92, 0xfb, 0xce, 0x19, 0x90, 0x14, 0xd6, 0x10, 0x74, 0xcb, 0x42, 0xeb, 0x3a, 0x53, 0x78, 0x05, 0x4e, 0x8a, 0xe9, 0xb6, 0x6f, 0x61, 0x55, 0x51, 0x6e, 0x09, 0x20, 0xc6, 0xa4, 0x1b, 0x66, 0x50, 0xec, 0x1e, 0xa0, 0x9c, 0x2a, 0x55, 0x42, 0xaa, 0x84, 0x4c, 0xe5, 0x1b, 0x3c, 0xfa, 0x77, 0x0a, 0xa8, 0x67, 0x41, 0x2d, 0x9c, 0x0f, 0x9f, 0x50, 0x76, 0xc1, 0x1a, 0xed, 0x62, 0xbd, 0xf7, 0x0f, 0x83, 0x80, 0x6d, 0x49, 0x2c, 0xb5, 0x8d, 0x24, 0x48, 0x08, 0x9b, 0xe4, 0x55, 0x35, 0xf3, 0xbd, 0x75, 0x4c, 0x6f, 0x31, 0x63, 0x1d, 0xab, 0x60, 0x8c, 0xf2, 0x3e, 0x41, 0xb6, 0x26, 0x94, 0x41, 0x84, 0xd8, 0x03, 0x81, 0x6d, 0x7f, 0x77, 0x67, 0xd3, 0xed, 0xbf, 0x10, 0x22, 0x8d, 0x2b, 0x77, 0xd7, 0x33, 0xb9, 0x2e, 0x2e, 0xbc, 0x76, 0xd4, 0x0f, 0x05, 0xf7, 0xaa, 0x17, 0xdf, 0x70, 0x48, 0xe7, 0xa4, 0x03, 0x4f, 0xec, 0xd6, 0x22, 0xfc, 0x06, 0x8f, 0x4d, 0x15, 0x48, 0xd8, 0x2a, 0xdd, 0xa3, 0x0c, 0x05, 0x6d, 0x29, 0xe3, 0x6b, 0xf6, 0x9b, 0x76, 0x20, 0x35, 0x5f, 0xd9, 0xf1, 0x85, 0xbc, 0x0c, 0x1c, 0x4f, 0x1b, 0x88, 0xe5, 0x78, 0xf6, 0x46, 0x16, 0xab, 0x31, 0x87, 0xe0, 0x9a, 0xd2, 0xf6, 0x47, 0xca, 0x0e, 0xcc, 0xaf, 0x44, 0xfd, 0x8e, 0x0f, 0x4c, 0x03, 0xc7, 0x1a, 0x25, 0x73, 0x41, 0x8f, 0x07, 0x1e, 0x67, 0x6d, 0xa2, 0x2a, 0x49, 0x80, 0x79, 0x1f, 0x4f, 0x98, 0x51, 0x70, 0x08, 0x2c, 0x1c, 0xe1, 0x16, 0xe2, 0xbf, 0xc6, 0x9d, 0x51, 0x03, 0xe1, 0xc4, 0xcc, 0x62, 0x01, 0xc8, 0x94, 0xda, 0xc0, 0x6c, 0x14, 0x73, 0x80, 0x3c, 0x01, 0xed, 0x52, 0x60, 0xe1, 0x44, 0x3f, 0xd2, 0xe3, 0xfe, 0xaa, 0x60, 0xd5, 0x43, 0x18, 0xbf, 0xe0, 0xf6, 0x0e, 0x6c, 0x4f, 0x2d, 0x73, 0xcf, 0x96, 0x86, 0x48, 0x42, 0xfe, 0xe5, 0x73, 0x30, 0xb9, 0x34, 0x65, 0x39, 0x84, 0x4d, 0x55, 0xad, 0xd4, 0x75, 0xcc, 0xf0, 0x6f, 0x65, 0xde, 0x65, 0x4c, 0x91, 0xea, 0x3b, 0xfb, 0xaf, 0x9e, 0xc5, 0xcb, 0x41, 0xc1, 0x42, 0x03, 0xe4, 0x57, 0x44, 0x23, 0x7f, 0x1a, 0xa4, 0x39, 0x3d, 0xe7, 0xef, 0xc4, 0xf7, 0x49, 0x6f, 0x45, 0x34, 0xab, 0xa6, 0x4a, 0xfd, 0x39, 0xe7, 0x5d, 0x2a, 0x96, 0x0e, 0x35, 0x3a, 0xe7, 0x47, 0x2a, 0xe2, 0xc9, 0x40, 0xdb, 0x01, 0x49, 0x37, 0x30, 0xd7, 0x2a, 0xe3, 0xac, 0xa8, 0x49, 0xa6, 0xae, 0x52, 0xcc, 0xbc, 0x54, 0x36, 0x8b, 0x7a, 0xc4, 0x25, 0x16, 0x63, 0x7d, 0x88, 0x87, 0x98, 0xae, 0x83, 0x65, 0x19, 0xf4, 0x82, 0xc2, 0xec, 0x9c, 0xd8, 0x7c, 0xa1, 0xd5, 0x63, 0x96, 0x40, 0x40, 0xfb, 0x40, 0xa8, 0x32, 0x9c, 0xc9, 0x01, 0xa2, 0x78, 0xac, 0xf5, 0xd0, 0xd8, 0xea, 0xb7, 0x2e, 0x55, 0x82, 0x9e, 0x6d, 0x1e, 0x1e, 0x68, 0x14, 0x22, 0x3a, 0xe7, 0x50, 0xe3, 0x7e, 0x75, 0xac, 0xd4, 0xb1, 0x8f, 0xf9, 0x03, 0x1f, 0x3f, 0xbf, 0xff, 0xc1, 0xb2, 0xa5, 0x31, 0x92, 0xfb, 0x5e, 0x2d, 0x2c, 0x85, 0x8e, 0xc6, 0x40, 0xcc, 0x8a, 0xc2, 0xaa, 0xa5, 0xfb, 0x5c, 0x9f, 0x8e, 0x95, 0x58, 0xed, 0x67, 0x37, 0xf7, 0xf4, 0xfa, 0xfa, 0x2c, 0xcc, 0xe7, 0x88, 0x44, 0x92, 0xdc, 0x48, 0x1f, 0xfb, 0x91, 0x19, 0x7a, 0xc2, 0x02, 0xfe, 0x42, 0x5f, 0x24, 0x5e, 0x64, 0x7a, 0xca, 0xf0, 0x0a, 0x4e, 0x66, 0x6d, 0xf0, 0xa5, 0x1d, 0xf7, 0x7b, 0x02, 0xae, 0x12, 0x30, 0xaa, 0xda, 0x4b, 0xd2, 0x3a, 0x5b, 0xf2, 0xc0, 0x3d, 0x9b, 0x8e, 0x16, 0xe5, 0x82, 0x0e, 0x5f, 0x82, 0x46, 0xb0, 0x7b, 0x98, 0xac, 0xf4, 0x91, 0x07, 0x82, 0xd6, 0x5f, 0xf4, 0xc3, 0x25, 0x93, 0xaf, 0x9d, 0x46, 0x54, 0x74, 0x91, 0x9d, 0x13, 0x0a, 0x21, 0x98, 0x85, 0xd1, 0xc3, 0xf3, 0x96, 0x95, 0xd0, 0x5b, 0xb0, 0x8f, 0xad, 0x88, 0x5a, 0xbd, 0x83, 0x33, 0x3b, 0x38, 0xb9, 0xa6, 0x17, 0x46, 0x5d, 0xb6, 0x36, 0xac, 0xf2, 0x15, 0xa7, 0x24, 0x6a, 0xf5, 0x1d, 0xef, 0xc3, 0xde, 0x0d, 0x16, 0xf8, 0x95, 0x25, 0xce, 0x8f, 0xe6, 0x71, 0xce, 0x67, 0x8e, 0x68, 0x49, 0x9c, 0x84, 0xd2, 0xaa, 0xd3, 0xcb, 0xb2, 0x06, 0xae, 0xd0, 0x52, 0x72, 0xf9, 0x8f, 0x91, 0xbe, 0x61, 0x17, 0x41, 0xf1, 0x4e, 0x0a, 0x9c, 0xaa, 0xb5, 0x19, 0x1d, 0xf5, 0x71, 0x6e, 0x8e, 0xe0, 0xe8, 0xe3, 0xf3, 0x90, 0x3d, 0xc6, 0x75, 0x68, 0xac, 0x8f, 0x44, 0x8e, 0x9e, 0xa1, 0xe4, 0xc1, 0x98, 0xae, 0x07, 0x15, 0xbd, 0x92, 0x52, 0x23, 0x3a, 0xbf, 0xfb, 0x0c, 0x2d, 0x9d, 0xaa, 0xc9, 0x7b, 0x26, 0x5b, 0xe1, 0x33, 0x42, 0x16, 0x3c, 0x9f, 0x9f, 0x11, 0xd5, 0xd1, 0x51, 0x30, 0x66, 0x0a, 0x92, 0x94, 0xeb, 0x42, 0x37, 0x02, 0x58, 0x5e, 0x89, 0x3f, 0x4c, 0xe0, 0x79, 0x9e, 0x1d, 0xcf, 0xa3, 0x3d, 0x93, 0x5c, 0xd3, 0x63, 0xca, 0xc4, 0xe5, 0x98, 0xe7, 0x1c, 0xbf, 0x62, 0xac, 0xe6, 0x3c, 0x10, 0x4e, 0xcb, 0xbf, 0x7c, 0xb6, 0x30, 0xe2, 0xdf, 0x84, 0x40, 0x6d, 0x7b, 0xae, 0xe1, 0xfb, 0x55, 0x96, 0xfa, 0x6c, 0xe0, 0x22, 0x0f, 0x2d, 0x5a, 0x7b, 0xbb, 0xdf, 0xa7, 0xe9, 0xbc, 0x19, 0xe6, 0x96, 0xbc, 0x97, 0x10, 0xb5, 0xce, 0x9f, 0x6f, 0xb8, 0xdd, 0x7c, 0xc2, 0x6c, 0xd3, 0x96, 0x4b, 0xc2, 0xed, 0xd5, 0x3d, 0x09, 0xbc, 0xf9, 0xbc, 0x28, 0xef, 0x2d, 0x32, 0x4c, 0x9f, 0x0a, 0xff, 0x1d, 0xc3, 0xf0, 0x5f, 0x05, 0x8d, 0x7b, 0x28, 0x12, 0xb2, 0x4f, 0xef, 0x65, 0x70, 0x82, 0xb1, 0x94, 0x1d, 0xa9, 0x5f, 0xb9, 0xc5, 0xb9, 0x8c, 0xf2, 0x0c, 0xba, 0x8a, 0xe2, 0x84, 0xa3, 0x82, 0x8a, 0x9a, 0xde, 0xb6, 0x49, 0xe3, 0xf1, 0x97, 0x73, 0x47, 0x88, 0x44, 0xff, 0x30, 0xb5, 0x27, 0xa4, 0x05, 0x67, 0x94, 0xf2, 0x71, 0xd6, 0x5d, 0x29, 0x12, 0x84, 0x94, 0x06, 0xe3, 0x40, 0x2a, 0xee, 0xa4, 0x43, 0x27, 0x27, 0x6c, 0x92, 0xaa, 0x7e, 0xf4, 0x2c, 0x49, 0xbe, 0x9e, 0x58, 0x11, 0x0f, 0xc5, 0x5b, 0xb4, 0x44, 0x29, 0x56, 0xf6, 0x3a, 0x35, 0x4b, 0x3d, 0x2e, 0x28, 0xb2, 0x88, 0xf4, 0xab, 0x90, 0x1f, 0xbc, 0xc0, 0xf2, 0xe2, 0x36, 0x3c, 0x53, 0xa3, 0x96, 0x71, 0xa2, 0xef, 0x25, 0xd1, 0xe1, 0x28, 0xf4, 0x63, 0x3d, 0x1b, 0x85, 0x69, 0xec, 0x56, 0xbe, 0x06, 0xec, 0x2c, 0x65, 0x15, 0x10, 0x02, 0xde, 0x8b, 0x34, 0x7c, 0x40, 0x5f, 0x11, 0x6e, 0x26, 0x4d, 0x24, 0xce, 0xdd, 0x6b, 0x3d, 0x87, 0x62, 0x5a, 0x45, 0x29, 0x12, 0xf2, 0x9a, 0x71, 0x05, 0x09, 0x13, 0x08, 0x78, 0xf7, 0xdf, 0x5f, 0x3e, 0x32, 0xf4, 0x11, 0x10, 0x98, 0x83, 0x9e, 0x2f, 0xc9, 0xd7, 0x65, 0xf5, 0x62, 0x57, 0xcf, 0xe6, 0xfb, 0x63, 0x76, 0x80, 0x95, 0x6b, 0xa2, 0x6f, 0xcb, 0xcf, 0xef, 0xde, 0xc8, 0xe2, 0x29, 0x0a, 0x50, 0x93, 0x44, 0xa7, 0x56, 0x73, 0xdf, 0xad, 0xbb, 0x2e, 0x30, 0xdf, 0x43, 0x85, 0x01, 0x77, 0xbd, 0xd4, 0x72, 0x45, 0x65, 0xff, 0xa4, 0x14, 0x40, 0xa7, 0x19, 0xac, 0xce, 0x5f, 0xee, 0x15, 0xa6, 0x1b, 0xa4, 0x8c, 0x2b, 0xf7, 0x91, 0x5a, 0xdb, 0xb9, 0x46, 0x54, 0x70, 0x22, 0x03, 0x04, 0xe7, 0x35, 0xf5, 0x7f, 0x5c, 0xbd, 0x1a, 0x35, 0x5e, 0x4a, 0xfe, 0xaf, 0x99, 0xd7, 0x5e, 0x62, 0xbe, 0xff, 0x6a, 0x83, 0x0a, 0x21, 0xa5, 0x13, 0x5d, 0xe9, 0x15, 0x97, 0xfb, 0x94, 0xc9, 0xe1, 0xfd, 0xf4, 0x6c, 0xea, 0x6c, 0x98, 0x1c, 0xd1, 0x75, 0xbd, 0x24, 0xf0, 0x3a, 0x40, 0x69, 0x7f, 0xb7, 0x2d, 0xc2, 0x6b, 0xae, 0x79, 0x54, 0x87, 0xba, 0x47, 0xdf, 0xfb, 0xaa, 0x14, 0x9e, 0x67, 0x5a, 0x2c, 0x4f, 0x71, 0xdd, 0x86, 0xef, 0x3b, 0x69, 0xe9, 0x63, 0x59, 0x66, 0xd2, 0x6f, 0x09, 0xf2, 0x06, 0xbe, 0x80, 0xd8, 0xd0, 0x20, 0x2a, 0x7e, 0x4c, 0xcc, 0x56, 0x46, 0xcf, 0x7c, 0x33, 0x9e, 0x66, 0x1b, 0xce, 0x54, 0x32, 0x6d, 0xa3, 0x6f, 0xb0, 0x8b, 0x7d, 0xf7, 0x5f, 0x4a, 0x39, 0xdd, 0xfd, 0x0d, 0x81, 0xa7, 0x27, 0xd8, 0x38, 0xd6, 0xc9, 0x96, 0xbb, 0x93, 0x75, 0xa3, 0xad, 0x63, 0xdc, 0x5e, 0xac, 0x95, 0x73, 0xcd, 0xa0, 0x32, 0x41, 0x58, 0xdb, 0xa0, 0x1a, 0x03, 0xfa, 0xfc, 0x67, 0xeb, 0xdd, 0xc5, 0x63, 0xa4, 0xef, 0x93, 0xe5, 0x24, 0x27, 0xc9, 0x58, 0xd8, 0x87, 0x2e, 0x02, 0xd9, 0xf8, 0x98, 0x7d, 0x27, 0x21, 0xfb, 0xfb, 0x56, 0xc6, 0xe7, 0xa1, 0xa6, 0x35, 0x07, 0xb4, 0x0d, 0xc8, 0x85, 0xef, 0x0e, 0x9c, 0x2c, 0xd2, 0xcf, 0xcf, 0x8b, 0x68, 0xb2, 0x6d, 0xa8, 0x84, 0xbb, 0xaa, 0x59, 0x22, 0x9c, 0x37, 0xe6, 0x23, 0x58, 0xee, 0x83, 0x3f, 0xc9, 0xa5, 0x18, 0x51, 0x2c, 0xd8, 0xc3, 0x66, 0xe2, 0x2e, 0x30, 0x95, 0xa0, 0x54, 0x3c, 0x48, 0x50, 0x12, 0x7a, 0xae, 0x2a, 0x21, 0x3b, 0xaa, 0x90, 0x57, 0x32, 0x02, 0x88, 0x2d, 0x07, 0xc0, 0x55, 0x7c, 0xb8, 0x5c, 0x42, 0x5c, 0xcd, 0x92, 0x9f, 0x54, 0xc5, 0xd0, 0xd1, 0x06, 0x3f, 0x4c, 0xcb, 0x73, 0xae, 0x8d, 0x9c, 0x77, 0x89, 0xe7, 0x05, 0x1d, 0xe7, 0x2d, 0x90, 0x68, 0x89, 0xe9, 0x77, 0x75, 0xf1, 0x0f, 0xab, 0xf8, 0x83, 0xb0, 0x5c, 0x06, 0xbc, 0x84, 0xc8, 0xab, 0xd8, 0xeb, 0x1f, 0xa0, 0x9c, 0x35, 0x46, 0xce, 0x50, 0x97, 0xef, 0xcb, 0x53, 0x90, 0xf2, 0x8f, 0x88, 0x6d, 0x6f, 0x1f, 0x0f, 0xfe, 0x30, 0x66, 0xf5, 0x15, 0x85, 0x22, 0x83, 0xe6, 0x93, 0xfd, 0x1a, 0x58, 0x20, 0x90, 0xb4, 0x4f, 0xc1, 0x61, 0x47, 0xc1, 0x9c, 0xe1, 0x98, 0x4e, 0x6b, 0x78, 0x38, 0x7a, 0x93, 0x4f, 0x0d, 0xca, 0x33, 0xdb, 0x18, 0x9b, 0xa1, 0xd6, 0x4d, 0xb0, 0xb0, 0x53, 0x38, 0x9d, 0x12, 0xcd, 0xb9, 0x7a, 0x48, 0x21, 0x96, 0xb7, 0xdb, 0x1a, 0xff, 0xfd, 0xd0, 0x3f, 0x8f, 0x30, 0xc9, 0xbf, 0x80, 0xec, 0xc8, 0xe8, 0x37, 0x32, 0xd8, 0xc3, 0xa1, 0x80, 0xad, 0x33, 0x0e, 0x95, 0xa3, 0x41, 0x42, 0x18, 0xbb, 0xae, 0xa4, 0x33, 0xa5, 0x3b, 0x34, 0x5d, 0xeb, 0x04, 0xc9, 0xdc, 0xa1, 0x7c, 0xe7, 0xb0, 0x6a, 0x5a, 0xe6, 0xfd, 0x70, 0x57, 0x32, 0xee, 0x45, 0x03, 0xdd, 0xaa, 0x4a, 0x8e, 0x3f, 0x64, 0x47, 0xf2, 0x44, 0x12, 0x70, 0x57, 0xc0, 0xf4, 0xf7, 0x5b, 0xb8, 0x1f, 0x25, 0xec, 0x99, 0xa1, 0x31, 0x24, 0x5e, 0x33, 0x01, 0xf6, 0x9b, 0x7f, 0xfa, 0x85, 0x11, 0x44, 0x21, 0x31, 0x19, 0xa8, 0xf0, 0xf1, 0x30, 0x7f, 0x19, 0x98, 0xe4, 0xff, 0x14, 0xc0, 0x2e, 0x34, 0x84, 0xde, 0xd2, 0xe0, 0x8c, 0xcd, 0xb4, 0x6a, 0xdd, 0xc6, 0x51, 0x1a, 0x2d, 0x4e, 0x8a, 0x88, 0x1f, 0xbe, 0xbc, 0xbf, 0x4e, 0xc4, 0x0a, 0x9a, 0x0a, 0x13, 0xc9, 0x02, 0x74, 0x79, 0xa2, 0xfd, 0xb1, 0x04, 0x74, 0xaf, 0xb0, 0xf6, 0x21, 0x33, 0xac, 0x9e, 0x48, 0x06, 0x5f, 0x78, 0x36, 0xac, 0x1d, 0x44, 0xed, 0x6d, 0xf5, 0x95, 0x64, 0xad, 0xd6, 0x0d, 0xf8, 0xbe, 0x36, 0xd3, 0x64, 0x05, 0xaa, 0xbb, 0x05, 0xec, 0x1a, 0x22, 0xe2, 0x91, 0xb1, 0x85, 0x5f, 0x7f, 0x1c, 0xc5, 0x0c, 0x29, 0xad, 0x17, 0x62, 0x82, 0x84, 0x9f, 0x74, 0x3b, 0x87, 0x72, 0x77, 0x33, 0x22, 0xd8, 0x80, 0x0c, 0xa3, 0x70, 0x2a, 0xbf, 0xbd, 0xb5, 0x28, 0x57, 0xd0, 0xe9, 0x07, 0x13, 0x77, 0x13, 0x01, 0x06, 0xfb, 0xbf, 0x6d, 0x7d, 0xf1, 0xbe, 0x4c, 0x9f, 0x61, 0xc8, 0x6a, 0xa4, 0xa7, 0xc0, 0xf4, 0x02, 0x6d, 0x7b, 0xa4, 0x78, 0xd4, 0xa8, 0x9d, 0x99, 0xb5, 0x5b, 0x34, 0x76, 0x1d, 0xb4, 0x47, 0xa9, 0x43, 0x24, 0x89, 0x08, 0xca, 0xea, 0x57, 0xb9, 0x50, 0x61, 0x7f, 0xe4, 0x2e, 0x06, 0x3e, 0x92, 0x08, 0x6b, 0x5c, 0x52, 0x87, 0xf8, 0xbf, 0xc6, 0xca, 0x75, 0xfd, 0x20, 0xb6, 0xf9, 0xe2, 0x89, 0x2c, 0xc4, 0xc7, 0x8e, 0x2b, 0xa7, 0xfc, 0x7c, 0x20, 0xd4, 0xf2, 0xb3, 0xde, 0x19, 0x9e, 0xce, 0xa9, 0x22, 0x57, 0x98, 0xb8, 0xae, 0x85, 0xe4, 0xa1, 0x46, 0xdf, 0x64, 0x6b, 0xf1, 0x4e, 0x46, 0x94, 0x1d, 0x4b, 0xb6, 0x21, 0x1a, 0x05, 0x52, 0xa4, 0x3f, 0xa0, 0x0e, 0xa9, 0x28, 0xf0, 0xb7, 0x27, 0x77, 0xf5, 0xc2, 0x79, 0xfe, 0x26, 0x92, 0x6e, 0x05, 0xfc, 0x19, 0x53, 0x22, 0xe0, 0x4a, 0xe1, 0xdc, 0x48, 0xfc, 0x0b, 0x53, 0xff, 0x1d, 0x2c, 0x89, 0xad, 0x5b, 0xa2, 0x0c, 0x44, 0x54, 0x6c, 0x51, 0x2a, 0x9b, 0xb5, 0xe6, 0x3a, 0x76, 0x13, 0x5c, 0x7a, 0x89, 0xea, 0x60, 0x65, 0xcd, 0x73, 0x1c, 0x86, 0xb2, 0x93, 0xd2, 0xcf, 0x17, 0xf6, 0x00, 0xce, 0x2d, 0xa1, 0x83, 0x70, 0xc0, 0x1a, 0xcf, 0x02, 0x45, 0x9d, 0xfe, 0x35, 0xae, 0x0d, 0x4d, 0x73, 0xc4, 0x89, 0xa7, 0xbd, 0x0f, 0xd5, 0xac, 0xd0, 0x49, 0x32, 0x42, 0x8b, 0x8a, 0x8e, 0x0a, 0x19, 0x59, 0x16, 0xef, 0xeb, 0x30, 0x4c, 0xc6, 0xee, 0x7e, 0xb9, 0xaf, 0x69, 0x5d, 0x18, 0x5c, 0x5a, 0x08, 0x49, 0xa6, 0x9e, 0xec, 0xbf, 0xee, 0xea, 0x86, 0x6c, 0x70, 0xa1, 0x19, 0x57, 0x41, 0x70, 0x8f, 0xb3, 0x0b, 0x4e, 0x3d, 0x90, 0xfe, 0x5d, 0x1b, 0xb5, 0x17, 0x00, 0x28, 0x4e, 0x56, 0xa5, 0xd7, 0x68, 0x85, 0xd9, 0xde, 0x1d, 0x0c, 0x14, 0xfe, 0x7b, 0x11, 0x45, 0x0c, 0xa1, 0xd6, 0x80, 0xa8, 0x10, 0xbd, 0x92, 0x09, 0x34, 0xb4, 0x6a, 0x0d, 0x40, 0xd2, 0xd5, 0xb8, 0x76, 0xd4, 0x0d, 0x35, 0xb0, 0xa0, 0xc1, 0x6b, 0xc1, 0x5d, 0xe2, 0xfa, 0xb7, 0x28, 0x15, 0x83, 0x2b, 0x2c, 0x26, 0xb0, 0xd6, 0x41, 0xa1, 0x45, 0xbd, 0x7d, 0xfd, 0x6e, 0x8f, 0x0e, 0xd5, 0xb2, 0x25, 0x53, 0xab, 0x1c, 0xa1, 0x2b, 0x44, 0xb8, 0xf6, 0xfc, 0x3f, 0xb6, 0x1c, 0x40, 0x69, 0x6d, 0xa1, 0x27, 0xc1, 0x96, 0x00, 0x7a, 0x02, 0xd7, 0x27, 0xec, 0x73, 0x7f, 0x64, 0xfe, 0x04, 0xd2, 0x81, 0xd5, 0xeb, 0x6d, 0xb9, 0x68, 0x75, 0x51, 0x7c, 0x9d, 0x1f, 0xed, 0x6a, 0x48, 0x8a, 0xf9, 0x26, 0xb6, 0xbe, 0xe8, 0x75, 0xc2, 0x12, 0xca, 0x41, 0x72, 0xa5, 0xaf, 0xaa, 0xc9, 0x8b, 0x4e, 0x84, 0xf5, 0xc5, 0xb8, 0x26, 0x0a, 0x2e, 0x05, 0x65, 0x74, 0x9e, 0xb7, 0x46, 0xa7, 0x25, 0x92, 0xe0, 0x45, 0x48, 0x6a, 0xb0, 0x0e, 0x79, 0x9b, 0x68, 0x7d, 0x59, 0x13, 0x84, 0x81, 0xf1, 0x38, 0x76, 0x70, 0xcd, 0x25, 0x5c, 0xc0, 0xa4, 0x51, 0xb7, 0x4d, 0xc5, 0xd1, 0x54, 0x48, 0xe4, 0xc9, 0xc8, 0x69, 0xe4, 0x86, 0x9d, 0xea, 0x62, 0xe2, 0x06, 0x2d, 0x82, 0x66, 0x68, 0xbb, 0x93, 0x95, 0xf1, 0x48, 0xdd, 0x5a, 0x39, 0x2d, 0xd6, 0xc1, 0xef, 0x4f, 0xcc, 0xfd, 0xf6, 0x13, 0x9c, 0x3b, 0x5a, 0xd6, 0xf0, 0x35, 0x42, 0x18, 0xd1, 0xc0, 0xe5, 0x24, 0x9e, 0x32, 0x71, 0x93, 0xb8, 0x9e, 0xd7, 0xc5, 0xea, 0x0a, 0x66, 0xf4, 0x77, 0x47, 0xce, 0x56, 0xc8, 0xae, 0x76, 0x92, 0xc6, 0xb2, 0xa3, 0x18, 0x44, 0xe7, 0x9b, 0x6d, 0xef, 0x1b, 0xf3, 0x96, 0x97, 0x2b, 0xeb, 0x11, 0x9d, 0x82, 0x9a, 0x6d, 0x47, 0x41, 0xad, 0x9e, 0x32, 0xa0, 0x94, 0x4d, 0x59, 0xe2, 0x18, 0x41, 0xf3, 0x58, 0x0c, 0x33, 0x2d, 0x85, 0xb8, 0xd9, 0x2c, 0x43, 0x0c, 0x5b, 0xb1, 0x09, 0x98, 0x5e, 0x07, 0x05, 0x18, 0x0c, 0x9f, 0x6f, 0xa0, 0x9f, 0xb8, 0xda, 0xfa, 0x1c, 0x58, 0x2d, 0x55, 0xd2, 0x96, 0x67, 0x54, 0x75, 0x45, 0xae, 0x2f, 0x29, 0xc7, 0x41, 0x1f, 0xc5, 0xad, 0x59, 0x0f, 0x7b, 0x93, 0x13, 0xb3, 0x66, 0x34, 0xf1, 0x4c, 0x11, 0xe3, 0x67, 0x77, 0x99, 0x42, 0x69, 0x2e, 0x61, 0x79, 0xae, 0xcf, 0xc0, 0xdb, 0xd1, 0xd1, 0x36, 0x2e, 0xb9, 0xd0, 0x5d, 0xe0, 0xc1, 0xab, 0x9c, 0x3f, 0x27, 0xd5, 0x6d, 0x3c, 0x89, 0x2a, 0x79, 0x7d, 0xa4, 0x5a, 0x22, 0xb5, 0xe1, 0x78, 0xb7, 0x87, 0x34, 0x3e, 0x4f, 0xfc, 0xbf, 0xff, 0x71, 0xf7, 0xc3, 0xc9, 0xd8, 0x5d, 0x1d, 0x48, 0x5e, 0x01, 0x39, 0x08, 0xf1, 0x56, 0xee, 0xe2, 0x61, 0x6d, 0x63, 0x01, 0x1b, 0xaa, 0xbe, 0xe9, 0x7d, 0xe2, 0xde, 0x70, 0xe4, 0xe7, 0x46, 0x72, 0xad, 0xc7, 0xb6, 0xc3, 0x82, 0xab, 0x5b, 0x11, 0xee, 0x4b, 0x9e, 0x02, 0x3c, 0x0c, 0x4b, 0x66, 0xc9, 0x93, 0x74, 0xd8, 0x4f, 0xfc, 0x3b, 0x80, 0xd4, 0x30, 0x27, 0xf8, 0x66, 0xce, 0x6d, 0xc1, 0x1b, 0x64, 0x1d, 0x15, 0xfb, 0xd4, 0xd4, 0xa6, 0xf4, 0x71, 0xcb, 0xb1, 0x3d, 0x1d, 0x02, 0x1b, 0x50, 0x96, 0x83, 0x4c, 0xf4, 0x87, 0x4f, 0xea, 0x86, 0xd7, 0x1e, 0x56, 0xc6, 0x2a, 0xce, 0xd6, 0xbc, 0x3e, 0x65, 0xed, 0x9c, 0xa4, 0x4f, 0x68, 0x53, 0xa7, 0xb8, 0x8e, 0xa2, 0xc6, 0x9f, 0xd3, 0x67, 0x13, 0x2d, 0x8c, 0xb6, 0xf7, 0x52, 0xe3, 0xa2, 0x8e, 0xc6, 0xe9, 0xc2, 0x6f, 0x7f, 0x03, 0x3b, 0x27, 0xc4, 0x4f, 0xe9, 0xb8, 0xb0, 0x22, 0xfd, 0x0c, 0x74, 0x8a, 0x78, 0x0a, 0x4f, 0xea, 0xff, 0xed, 0x9d, 0x73, 0x26, 0x80, 0xbc, 0x71, 0xb8, 0xd1, 0x61, 0xa2, 0xc6, 0x2d, 0x5e, 0x26, 0x60, 0xe6, 0xde, 0xa9, 0x08, 0x51, 0xd2, 0x94, 0x5e, 0x19, 0xa3, 0xec, 0xff, 0x77, 0x3b, 0x2e, 0xad, 0x94, 0x6c, 0x50, 0xac, 0xaa, 0xab, 0xb7, 0xab, 0xe1, 0x2d, 0x39, 0xc7, 0x6c, 0x8f, 0xb8, 0xe6, 0xac, 0x46, 0x12, 0x62, 0x9b, 0x24, 0x61, 0x3f, 0x60, 0x3d, 0x49, 0xeb, 0x44, 0x3a, 0xff, 0x77, 0xba, 0x8e, 0x1f, 0x64, 0xc9, 0xdc, 0xce, 0x04, 0x35, 0xba, 0x5c, 0xff, 0xf1, 0xf8, 0x77, 0x4b, 0xda, 0x2c, 0x85, 0xae, 0xe9, 0x53, 0x27, 0x05, 0x55, 0x76, 0x27, 0x82, 0x7a, 0x39, 0x4d, 0xf5, 0x7c, 0xcb, 0xf5, 0x4c, 0x1b, 0x5f, 0x43, 0x33, 0xa7, 0xf9, 0x15, 0xd7, 0xe1, 0xa6, 0x0c, 0x23, 0x08, 0xa9, 0xb2, 0x26, 0x0d, 0xe1, 0xf1, 0x85, 0x1c, 0xcc, 0x08, 0x93, 0x70, 0x8a, 0xaa, 0x75, 0x5f, 0xc3, 0xb0, 0xfe, 0xd2, 0x7f, 0x82, 0x61, 0x5d, 0x79, 0x6f, 0xf8, 0xd4, 0x3a, 0x14, 0x45, 0x7d, 0x21, 0x74, 0xc5, 0x8f, 0x7f, 0xc0, 0x9b, 0x9b, 0xf3, 0x48, 0x2c, 0x5f, 0xc8, 0x20, 0x28, 0xd6, 0x15, 0x84, 0x90, 0x00, 0x98, 0x00, 0xcd, 0x32, 0xa1, 0x53, 0x11, 0x25, 0xbf, 0x50, 0xfc, 0x16, 0x57, 0x44, 0xf4, 0xd8, 0xcd, 0x89, 0x44, 0x72, 0x83, 0x5c, 0x11, 0x3d, 0x87, 0xa1, 0xb0, 0x2f, 0xfb, 0xe0, 0x53, 0x77, 0x7c, 0xfa, 0x5c, 0x98, 0xb9, 0xd2, 0xd0, 0xcf, 0xf1, 0xcc, 0xd8, 0x08, 0xfc, 0x2c, 0x12, 0xe1, 0x94, 0x6f, 0xec, 0x86, 0x3d, 0x97, 0x28, 0x92, 0xd0, 0xbd, 0x4a, 0xbf, 0x22, 0xdf, 0x45, 0x09, 0xa6, 0xa0, 0xa4, 0xd6, 0x1d, 0xe9, 0x7f, 0xad, 0x07, 0x84, 0x04, 0xfc, 0x74, 0x5f, 0xd5, 0x83, 0xe9, 0x05, 0xd9, 0x9d, 0x84, 0xbe, 0x00, 0xb1, 0xc2, 0x6e, 0xd7, 0x0b, 0x3a, 0x83, 0xf4, 0xb2, 0x49, 0xc8, 0x41, 0x2f, 0xe5, 0xce, 0x81, 0x34, 0x9a, 0x9a, 0x11, 0x5d, 0x2d, 0x96, 0xda, 0xf1, 0xbc, 0xcb, 0xbb, 0xd3, 0x83, 0x7c, 0x16, 0x3b, 0xed, 0x93, 0x4e, 0x0a, 0x8d, 0xe5, 0x57, 0x26, 0x13, 0xc6, 0x13, 0x3e, 0x56, 0xa7, 0x1e, 0x44, 0x75, 0xa1, 0x47, 0x5d, 0x1a, 0x36, 0x9e, 0x1e, 0xe5, 0x74, 0xa7, 0xcb, 0xb9, 0x35, 0x6c, 0xff, 0x99, 0x2a, 0x60, 0x1c, 0x91, 0x99, 0xd9, 0xae, 0x27, 0xa6, 0x6b, 0x44, 0xcf, 0xdd, 0x5c, 0x92, 0xa4, 0xdc, 0x5b, 0x72, 0xa6, 0xb0, 0xe9, 0xc9, 0x45, 0x14, 0x9f, 0x73, 0x76, 0x76, 0xdf, 0x9b, 0x6d, 0xe8, 0x5d, 0xb1, 0xb8, 0xbd, 0x1b, 0x78, 0xe2, 0x7e, 0xf0, 0x6f, 0x13, 0xb8, 0xc9, 0x34, 0xe9, 0x6d, 0xbf, 0xa7, 0x82, 0x6f, 0x02, 0xf4, 0x0d, 0xcf, 0xc2, 0x88, 0x65, 0x95, 0x2d, 0xf2, 0x4b, 0xe6, 0x30, 0x1c, 0x23, 0x34, 0x56, 0xcc, 0x86, 0x10, 0xf8, 0x95, 0xcc, 0x70, 0x87, 0x15, 0x69, 0x1d, 0xfc, 0x4b, 0xe0, 0xde, 0x64, 0xb7, 0x1f, 0xc5, 0x99, 0x2a, 0x3a, 0x26, 0x63, 0xaf, 0x5b, 0x15, 0xaf, 0x2b, 0x7e, 0x7d, 0x80, 0x0f, 0x3d, 0x35, 0xc4, 0xa9, 0x7e, 0x3f, 0x30, 0x21, 0xb2, 0xc2, 0x3d, 0x7a, 0xa0, 0xe2, 0xec, 0x99, 0x99, 0xb3, 0x83, 0x64, 0x6a, 0xba, 0xa8, 0x58, 0xcf, 0xe8, 0xc3, 0x03, 0xe0, 0xc6, 0x13, 0x09, 0xc1, 0x84, 0x1a, 0xd6, 0x22, 0x17, 0xc1, 0x0c, 0xff, 0xee, 0x50, 0x31, 0x7c, 0xed, 0xfa, 0x86, 0xe2, 0x87, 0x5e, 0x6c, 0xe4, 0x15, 0x57, 0x67, 0x7f, 0xe8, 0x48, 0x37, 0xdc, 0xd6, 0xce, 0x16, 0x31, 0xc5, 0xff, 0xc4, 0x74, 0x1b, 0xfa, 0x64, 0x1c, 0x0a, 0xc7, 0x2b, 0x69, 0xbf, 0x3e, 0x82, 0x19, 0x9b, 0x3d, 0x30, 0x14, 0xe7, 0x67, 0x0a, 0xfb, 0x0a, 0x48, 0x80, 0x85, 0xee, 0xcf, 0x4a, 0xe0, 0x9c, 0xb3, 0x53, 0xbc, 0x9d, 0xde, 0xcb, 0x64, 0x9e, 0x3c, 0xc8, 0xa3, 0x4c, 0xfd, 0x5a, 0xf0, 0x07, 0x24, 0x1c, 0xab, 0x66, 0x6c, 0xff, 0xb6, 0x2d, 0x33, 0x29, 0xed, 0x7d, 0x87, 0xb1, 0x8e, 0x1e, 0x3c, 0xad, 0xea, 0xef, 0x5d, 0x21, 0x5f, 0xbe, 0x5c, 0x12, 0x6e, 0x55, 0x04, 0xce, 0xc6, 0x68, 0x1a, 0x74, 0x3f, 0x09, 0xd1, 0xb6, 0x48, 0xd5, 0x48, 0x4e, 0x8c, 0x6f, 0xb5, 0x07, 0x82, 0xe7, 0x7f, 0x51, 0x7d, 0x84, 0x71, 0xf9, 0xeb, 0xdd, 0x2c, 0xa3, 0xe0, 0xcb, 0x36, 0xcc, 0x75, 0xfe, 0xed, 0xfe, 0xef, 0xcc, 0x3c, 0x7b, 0x12, 0xde, 0xeb, 0x24, 0x52, 0xbf, 0x73, 0x25, 0xfa, 0xb5, 0xe2, 0x8e, 0xcd, 0x8c, 0xd3, 0xb8, 0x67, 0x83, 0x9a, 0x05, 0x42, 0x4c, 0xcc, 0x77, 0x36, 0xe2, 0xb2, 0x0d, 0xa9, 0xc0, 0x8e, 0xaf, 0x6c, 0x34, 0xca, 0x2e, 0x97, 0xdc, 0x4f, 0x98, 0x69, 0x61, 0x8b, 0x86, 0x7b, 0xca, 0x74, 0xd0, 0x11, 0xa4, 0x7b, 0x9b, 0xa0, 0xc4, 0xf3, 0x90, 0x9d, 0xaa, 0x7c, 0xa0, 0xe8, 0xcc, 0xb3, 0x4b, 0x24, 0x03, 0xba, 0x2f, 0x48, 0x84, 0x4c, 0x93, 0xfd, 0xf2, 0x0d, 0x86, 0x1b, 0x88, 0x55, 0xab, 0x1d, 0x54, 0xc8, 0xaa, 0x70, 0x06, 0xba, 0x4a, 0xb2, 0x94, 0xd8, 0xde, 0x70, 0x85, 0xd7, 0x2c, 0x5b, 0xd1, 0x4c, 0x08, 0xb9, 0xd9, 0xfe, 0x58, 0x7d, 0x4e, 0x15, 0xf0, 0x95, 0xaa, 0x36, 0xd3, 0x72, 0x92, 0x60, 0xbc, 0x10, 0x6e, 0x29, 0x97, 0x1d, 0xdc, 0x48, 0x7e, 0xee, 0xa7, 0xdc, 0x2b, 0x5f, 0x5f, 0xfd, 0xfe, 0xc9, 0x8a, 0x49, 0xe1, 0x00, 0xae, 0xe7, 0xda, 0xa9, 0xe1, 0x35, 0x6e, 0x7a, 0x2b, 0xfa, 0xd9, 0xcc, 0x10, 0xa6, 0xa3, 0x00, 0x5f, 0xef, 0x0a, 0xf3, 0x36, 0x03, 0xde, 0xd2, 0x45, 0xec, 0x0c, 0xdb, 0x05, 0x04, 0x13, 0xf8, 0x64, 0xd0, 0xcf, 0xa7, 0xc0, 0x80, 0xf0, 0xc6, 0x4b, 0xcc, 0xb7, 0x79, 0x76, 0x4a, 0xb1, 0x83, 0x40, 0xdb, 0xdd, 0xcc, 0x77, 0x4d, 0xe4, 0xa2, 0xe2, 0x86, 0x28, 0x1b, 0xf1, 0x76, 0x40, 0x0a, 0xe0, 0x3a, 0xed, 0x66, 0xd7, 0x6d, 0x56, 0x59, 0xed, 0x06, 0xe3, 0x8b, 0x66, 0xe1, 0x40, 0x5a, 0x2e, 0xad, 0xe1, 0xc0, 0x5b, 0xbe, 0x41, 0xf8, 0x0c, 0xea, 0xc5, 0xde, 0x27, 0x56, 0xd0, 0x14, 0x43, 0xca, 0x70, 0x67, 0x7b, 0x4d, 0xde, 0x32, 0x6b, 0x32, 0x3c, 0xb8, 0x89, 0x3e, 0x6e, 0x82, 0x49, 0xce, 0xa2, 0x1f, 0xdd, 0x95, 0xb7, 0x78, 0x75, 0x7d, 0x36, 0x15, 0x61, 0x1c, 0xde, 0x8a, 0x80, 0x9e, 0x53, 0x05, 0x95, 0x97, 0xf4, 0x7f, 0x4e, 0xde, 0xb1, 0x6b, 0x4a, 0x3c, 0xc4, 0xd0, 0x17, 0x6f, 0xaa, 0x74, 0x8a, 0x5f, 0xa9, 0x37, 0xff, 0xe5, 0x85, 0x74, 0xab, 0x3d, 0xb0, 0x39, 0x04, 0xd7, 0xa5, 0xbe, 0xf6, 0x54, 0x46, 0xa8, 0x67, 0x1f, 0x9d, 0x93, 0x36, 0x42, 0x2e, 0xa7, 0xf6, 0x1b, 0x1f, 0xec, 0xd8, 0x0c, 0x74, 0xa7, 0x08, 0x7c, 0x7d, 0xf1, 0xe1, 0xc5, 0xfa, 0x37, 0x90, 0x59, 0x54, 0x47, 0x5f, 0x51, 0x0c, 0x66, 0x83, 0xd3, 0x47, 0x13, 0x61, 0x8e, 0xc7, 0x7e, 0xc3, 0x99, 0x1e, 0xa3, 0x13, 0x9e, 0x65, 0x7b, 0xf1, 0x31, 0x85, 0xe4, 0x02, 0x5e, 0x13, 0xac, 0xb3, 0x0e, 0x00, 0x69, 0x29, 0x35, 0x41, 0xc3, 0x43, 0xd3, 0xae, 0xac, 0x1c, 0x34, 0x6d, 0xbd, 0x2b, 0x1a, 0xda, 0x3e, 0xa0, 0xc3, 0x31, 0xc8, 0x88, 0xcc, 0x82, 0xe6, 0xfa, 0xf3, 0x2f, 0xd6, 0x75, 0xdd, 0x2c, 0xe9, 0x37, 0x2b, 0x4a, 0xe3, 0x31, 0xb2, 0x59, 0x0a, 0x1e, 0x7b, 0xf7, 0x63, 0xb3, 0xfd, 0x3f, 0x28, 0x4e, 0x04, 0x65, 0x11, 0xa0, 0xb0, 0x14, 0x7b, 0x87, 0xa6, 0x02, 0xc2, 0xa6, 0x4b, 0x0d, 0x13, 0x11, 0x6c, 0x96, 0xf9, 0xa8, 0x5d, 0x24, 0x98, 0x6a, 0x89, 0x07, 0x1b, 0x12, 0xa5, 0xfc, 0xaa, 0xa8, 0x77, 0x4a, 0xaf, 0xf2, 0x9d, 0x16, 0xde, 0x3e, 0xad, 0xc1, 0xad, 0x38, 0xf4, 0x25, 0xa0, 0x47, 0x84, 0x57, 0x56, 0x0f, 0xf8, 0x4a, 0x4f, 0xe6, 0xf9, 0x1f, 0x36, 0x19, 0xd7, 0xff, 0x69, 0x04, 0xab, 0x46, 0xa1, 0xaf, 0x55, 0x75, 0x30, 0x3d, 0x02, 0x1d, 0x70, 0x8c, 0xee, 0x44, 0x37, 0x4b, 0xdf, 0x5d, 0xdb, 0x8e, 0x1d, 0xc4, 0x41, 0x39, 0x0b, 0xd6, 0x71, 0x8a, 0x51, 0x85, 0xd4, 0x5f, 0x6e, 0x04, 0xd0, 0x1c, 0x05, 0x02, 0x8e, 0xe8, 0x50, 0x33, 0x5f, 0xf9, 0xb2, 0xeb, 0x8b, 0x8b, 0xaa, 0x4e, 0x75, 0x9b, 0xdb, 0xcc, 0x29, 0xaf, 0x9e, 0x8e, 0xe8, 0x14, 0xea, 0xc6, 0xaa, 0xf2, 0x35, 0x92, 0xc0, 0x12, 0x57, 0xa2, 0xfe, 0xd9, 0x9a, 0x78, 0x01, 0xe9, 0x4c, 0x76, 0xac, 0xfa, 0xef, 0x99, 0x38, 0xca, 0xcf, 0x8b, 0x01, 0x92, 0xe0, 0x1d, 0xda, 0x02, 0x13, 0x73, 0x98, 0x62, 0x5e, 0x42, 0x66, 0x9e, 0x8e, 0xd0, 0x94, 0xcb, 0xd0, 0x1f, 0x3b, 0x15, 0xb5, 0x0e, 0x04, 0xe2, 0xce, 0xc3, 0xeb, 0xd9, 0x44, 0x69, 0x46, 0xe9, 0x99, 0x65, 0x13, 0x76, 0x96, 0xa7, 0xaa, 0x5f, 0x6f, 0xfb, 0xf4, 0xa2, 0xb0, 0x3b, 0xb1, 0x8b, 0x18, 0x89, 0xd2, 0x57, 0x61, 0xfb, 0xc5, 0x22, 0x0c, 0x7b, 0xb7, 0xab, 0x07, 0x47, 0x14, 0xda, 0x6c, 0x48, 0x2a, 0xf3, 0xfc, 0xe7, 0x0c, 0x1e, 0xff, 0x15, 0x76, 0xaf, 0x18, 0xa0, 0x6b, 0x8a, 0xc0, 0x88, 0x54, 0x58, 0x0f, 0x74, 0x97, 0x5c, 0x1f, 0x75, 0xfb, 0x28, 0x00, 0x4c, 0xfc, 0x9d, 0x2f, 0x4f, 0x70, 0x62, 0xfc, 0xde, 0x38, 0x28, 0x5c, 0xfb, 0xfc, 0x71, 0x62, 0x68, 0xad, 0xfe, 0x91, 0xd0, 0x8c, 0x7f, 0x89, 0x4d, 0x29, 0xe0, 0x6e, 0x86, 0x6e, 0x0e, 0x2e, 0x13, 0x4a, 0x4f, 0xcc, 0x2c, 0xed, 0xe0, 0x0b, 0xe5, 0x57, 0x11, 0x3b, 0xf0, 0xa6, 0xd0, 0x95, 0x9a, 0xa6, 0xb7, 0xbf, 0xc9, 0x00, 0x8a, 0x83, 0x54, 0x62, 0x2b, 0x26, 0x04, 0xcc, 0xbc, 0xbb, 0xdf, 0xc8, 0x8c, 0xd0, 0xe4, 0xad, 0x35, 0x0d, 0xff, 0xe7, 0x52, 0xa8, 0xe9, 0x4e, 0xdf, 0x6e, 0xaa, 0x12, 0x6c, 0x4c, 0x1a, 0x9b, 0xda, 0xc6, 0xb1, 0x83, 0xfa, 0xf7, 0xd8, 0xe3, 0xc5, 0xe1, 0x47, 0xb7, 0x8d, 0x87, 0xef, 0xdb, 0x81, 0x0c, 0x01, 0x4d, 0xf4, 0xe7, 0x10, 0x08, 0x3d, 0xf4, 0x69, 0x30, 0xc5, 0x78, 0xa8, 0xb2, 0xaf, 0xc8, 0x04, 0x25, 0x4a, 0x7e, 0x9e, 0xb7, 0xab, 0x4a, 0x9c, 0xeb, 0x55, 0x23, 0x10, 0x6e, 0x53, 0xe6, 0x6b, 0x11, 0x69, 0x6c, 0x36, 0xfa, 0x30, 0xae, 0x7d, 0x7f, 0x2f, 0xd9, 0xc8, 0x54, 0xaf, 0x0c, 0x2c, 0x89, 0x35, 0xb8, 0x17, 0x64, 0x77, 0x4f, 0xa1, 0x24, 0x44, 0x35, 0x91, 0x87, 0x72, 0x04, 0x0a, 0x47, 0xe9, 0xf7, 0xe1, 0x58, 0x36, 0x56, 0x17, 0x56, 0xa9, 0x3f, 0xc0, 0xb8, 0xca, 0x3a, 0x73, 0x4f, 0x40, 0xd4, 0x95, 0x2a, 0xd2, 0x70, 0xba, 0x92, 0x47, 0x14, 0xd7, 0x65, 0x26, 0xa1, 0xf6, 0xeb, 0xa3, 0x23, 0x05, 0xad, 0x09, 0xa0, 0xf4, 0xde, 0xeb, 0xb4, 0xe4, 0x3c, 0xe3, 0x5b, 0xab, 0x5b, 0xde, 0x8f, 0x9c, 0xde, 0x7f, 0x3f, 0x70, 0x84, 0x5c, 0x94, 0x3c, 0x47, 0x98, 0x9e, 0xf1, 0x5b, 0xba, 0x7d, 0x65, 0x4c, 0x5b, 0x6e, 0x83, 0xb7, 0xac, 0x50, 0xe9, 0xbc, 0x46, 0x15, 0xf1, 0x6c, 0x24, 0xb2, 0x7d, 0x55, 0x8f, 0x22, 0x1a, 0xb7, 0x07, 0xa5, 0xe2, 0x71, 0x21, 0x6b, 0xdf, 0x47, 0x6a, 0x9c, 0xb8, 0x1e, 0x15, 0x96, 0x25, 0x95, 0x85, 0x45, 0xa1, 0x6a, 0x06, 0x9b, 0x09, 0x05, 0x0d, 0x5f, 0x3a, 0x8a, 0x2b, 0xaf, 0x9a, 0xe1, 0x90, 0xfa, 0xcf, 0xa6, 0xe5, 0x1d, 0xb4, 0x64, 0xfc, 0x62, 0xca, 0x0a, 0x1e, 0x15, 0x97, 0x27, 0x19, 0x07, 0x55, 0xc2, 0xbe, 0x4b, 0x71, 0xe5, 0x66, 0x9b, 0x00, 0xa1, 0x7a, 0x5a, 0xf9, 0x8f, 0xf9, 0xc9, 0x28, 0xa6, 0xe1, 0xd3, 0x94, 0x12, 0x50, 0x39, 0x03, 0x24, 0x40, 0xfb, 0x30, 0xd5, 0xf8, 0xc0, 0x92, 0x95, 0x97, 0x7f, 0x77, 0x1f, 0xb6, 0x75, 0xfb, 0xfb, 0x38, 0xc7, 0x28, 0x6e, 0xe0, 0xf7, 0xc2, 0xd3, 0x2f, 0x54, 0xd9, 0x69, 0x86, 0x98, 0xdf, 0x2f, 0xf5, 0x23, 0x71, 0xbb, 0x6d, 0xd3, 0x74, 0x25, 0x43, 0xc6, 0x25, 0x4d, 0x11, 0xdf, 0x63, 0x2d, 0x22, 0x90, 0x28, 0xbc, 0x73, 0x9e, 0x15, 0x78, 0x46, 0x96, 0x46, 0x99, 0xe4, 0xef, 0x7a, 0x28, 0x43, 0xb3, 0x64, 0xab, 0x3b, 0x2c, 0x8d, 0xa0, 0xb2, 0x8e, 0x05, 0x8c, 0x48, 0xb7, 0xe8, 0x5d, 0x32, 0x99, 0x6b, 0x58, 0xb5, 0x07, 0x45, 0x5d, 0x3e, 0x4f, 0x24, 0x38, 0x30, 0x54, 0x57, 0xb3, 0x7b, 0x29, 0x2f, 0xee, 0x5f, 0x9e, 0xa8, 0xe1, 0x74, 0x34, 0xef, 0xd8, 0xc8, 0xb2, 0x91, 0xfd, 0x8c, 0x15, 0x68, 0xd7, 0xac, 0x2a, 0xf3, 0xa0, 0x86, 0xe0, 0x2f, 0x66, 0x8e, 0xce, 0x31, 0x38, 0x9f, 0x46, 0x5c, 0xc7, 0xb8, 0xb8, 0x4a, 0x7d, 0x04, 0x58, 0x6d, 0x5c, 0x7a, 0xd9, 0xe8, 0xe8, 0xb4, 0x2f, 0x9d, 0xe8, 0xf2, 0x5b, 0x17, 0xcb, 0x77, 0x26, 0xbc, 0x31, 0x0d, 0x4c, 0x21, 0x7b, 0xa1, 0xce, 0xd8, 0xe5, 0x35, 0x1d, 0xc5, 0xc8, 0xaf, 0x94, 0xc4, 0xfe, 0xce, 0x7c, 0x22, 0xcc, 0xd5, 0x13, 0xbf, 0x7d, 0x40, 0xb6, 0x3e, 0xea, 0x1d, 0x05, 0xe3, 0xd3, 0x5c, 0xa2, 0x43, 0xe8, 0x6f, 0x4b, 0xa1, 0x40, 0x07, 0xd8, 0x56, 0xc5, 0x3c, 0x54, 0xa2, 0xbd, 0x74, 0x79, 0x47, 0x47, 0xd8, 0x97, 0xdd, 0x54, 0x3b, 0xb5, 0x29, 0x5e, 0x76, 0xc2, 0xe1, 0xc8, 0xa0, 0xb2, 0xc3, 0x67, 0xb0, 0xe7, 0x55, 0xd1, 0xe9, 0xad, 0x77, 0x1e, 0x5d, 0xe1, 0x47, 0x6e, 0x80, 0x5f, 0xe8, 0xa9, 0x01, 0xb5, 0xe3, 0xf3, 0xde, 0x7d, 0x03, 0x6f, 0x2f, 0x27, 0xcd, 0xbe, 0xc9, 0x2e, 0x76, 0x0b, 0xaf, 0xce, 0x60, 0xc9, 0x6e, 0xcd, 0x71, 0xa6, 0x40, 0x41, 0x56, 0x13, 0xe1, 0x40, 0x44, 0x16, 0x80, 0x69, 0xbd, 0xfe, 0x10, 0xb0, 0xbd, 0xce, 0x8a, 0x12, 0x99, 0xdb, 0x4c, 0x06, 0x8b, 0x2d, 0xba, 0xe4, 0xf3, 0x2e, 0x15, 0x97, 0x36, 0xab, 0x5e, 0x57, 0x81, 0x12, 0x4b, 0xbd, 0x0f, 0xeb, 0xf8, 0xcc, 0xa8, 0x90, 0xc7, 0xe2, 0xc7, 0x54, 0xad, 0x39, 0x3c, 0x95, 0xb2, 0x90, 0xa7, 0x34, 0xba, 0x8d, 0x8d, 0xf8, 0x95, 0x0e, 0xa6, 0x26, 0x7a, 0xa8, 0xba, 0xc2, 0xb7, 0xb5, 0x06, 0x3b, 0x5f, 0xe9, 0xf1, 0x57, 0x6a, 0x57, 0x55, 0xa8, 0x29, 0x7b, 0x24, 0x54, 0xdd, 0x08, 0x2b, 0xdf, 0xad, 0x7f, 0xd2, 0x80, 0x28, 0x1c, 0x07, 0xbb, 0x29, 0x62, 0xf5, 0x7e, 0x60, 0x08, 0xff, 0xa2, 0x9b, 0xff, 0x0a, 0x15, 0xee, 0xd2, 0xa3, 0xf1, 0x32, 0xe6, 0x96, 0x8c, 0x1b, 0x75, 0x74, 0x58, 0x7a, 0xa2, 0x9a, 0x71, 0x6d, 0x88, 0x13, 0x13, 0x8c, 0xb2, 0x3c, 0x08, 0xcf, 0x42, 0x44, 0xfc, 0x48, 0x36, 0x99, 0x92, 0x11, 0xff, 0xe1, 0xae, 0x35, 0x1e, 0xe8, 0xee, 0x08, 0x1a, 0x60, 0x8d, 0x7a, 0xf2, 0x93, 0xab, 0xae, 0xa1, 0xdd, 0x44, 0x91, 0x5b, 0xcc, 0xda, 0x22, 0x62, 0x6e, 0x00, 0x6b, 0x10, 0x58, 0xe6, 0xc2, 0x63, 0x1a, 0x91, 0x87, 0xd2, 0x1c, 0x32, 0xa5, 0xd9, 0xa0, 0xa0, 0xf1, 0x70, 0xe6, 0xe4, 0x2a, 0x64, 0x4e, 0x21, 0x36, 0x74, 0x27, 0xed, 0x36, 0xd3, 0xf0, 0x05, 0x39, 0xb0, 0x21, 0x6f, 0x58, 0x4d, 0x86, 0xb1, 0x7e, 0xd9, 0x23, 0xb0, 0xd2, 0x52, 0x4f, 0x3d, 0x18, 0xfa, 0xf0, 0x62, 0x7e, 0xe2, 0x98, 0x4f, 0xc4, 0x8e, 0x95, 0x47, 0xea, 0x27, 0x46, 0x25, 0x5e, 0x08, 0xbd, 0x21, 0x8c, 0x32, 0x89, 0xda, 0xb1, 0x10, 0x37, 0xe7, 0xe5, 0xda, 0xc3, 0xf4, 0x79, 0x76, 0xc8, 0xbb, 0xb1, 0xcf, 0x89, 0xdb, 0xcc, 0x09, 0x70, 0xe7, 0x2c, 0xab, 0xce, 0x13, 0x1b, 0x3f, 0x06, 0x2e, 0xf8, 0x48, 0x0b, 0x38, 0x74, 0xe3, 0x0f, 0x51, 0xfe, 0xfd, 0xab, 0x85, 0x29, 0x85, 0x29, 0x0b, 0xeb, 0xfc, 0x24, 0xb0, 0x69, 0xc4, 0x1a, 0xf7, 0xa6, 0xc2, 0x60, 0x0c, 0x8f, 0x80, 0x10, 0xb8, 0xdd, 0x29, 0xd8, 0x73, 0xf7, 0x8c, 0x1e, 0xa2, 0xb4, 0x56, 0x9e, 0xbd, 0xa2, 0x3f, 0x87, 0x6e, 0xce, 0x7f, 0x9b, 0xca, 0x3a, 0x27, 0xfd, 0x59, 0x3d, 0x72, 0xea, 0x0b, 0x7d, 0x9b, 0x7b, 0x17, 0xa9, 0x36, 0x43, 0x68, 0x7e, 0x52, 0x31, 0x93, 0x09, 0x35, 0xfd, 0x38, 0x18, 0x46, 0x68, 0x0d, 0xc1, 0x60, 0xd7, 0x8d, 0x6d, 0xb3, 0xcc, 0x89, 0x86, 0x2a, 0x2e, 0x1a, 0x49, 0xf8, 0x4f, 0x65, 0x33, 0xdb, 0x2e, 0x6d, 0xd0, 0x9b, 0x23, 0x7c, 0xca, 0x69, 0x45, 0x26, 0x65, 0x28, 0xe5, 0x56, 0x89, 0x0b, 0x3d, 0x3c, 0xe8, 0x4e, 0x50, 0x10, 0x08, 0x33, 0x12, 0x1d, 0x47, 0x8e, 0x6a, 0x4d, 0xd4, 0x07, 0x19, 0xc3, 0x55, 0xb5, 0x14, 0x45, 0x52, 0x3b, 0x10, 0x95, 0xd4, 0x7c, 0x3e, 0x0e, 0x22, 0xb4, 0x2f, 0xf4, 0x84, 0x91, 0x23, 0xd1, 0x4a, 0x10, 0xfb, 0xea, 0xda, 0x34, 0x9d, 0x8a, 0xc9, 0x97, 0xc8, 0xd5, 0x20, 0x6f, 0x81, 0x2c, 0x70, 0xb9, 0xed, 0xe3, 0xc1, 0x0e, 0x48, 0x27, 0x6d, 0x76, 0x85, 0x02, 0xbf, 0x48, 0xaf, 0xe6, 0x31, 0x9b, 0x8a, 0x03, 0xf6, 0xff, 0xa0, 0x76, 0xe0, 0x67, 0x46, 0x9b, 0x88, 0x87, 0xdd, 0xc3, 0xcb, 0x46, 0x05, 0x9c, 0x68, 0xe2, 0xe3, 0xd6, 0x2f, 0x5f, 0x75, 0x19, 0xa1, 0x8f, 0xe2, 0x74, 0xa6, 0x8e, 0x1d, 0x11, 0x9c, 0x04, 0xdc, 0xe0, 0x5f, 0xf1, 0xa4, 0x09, 0x7e, 0x27, 0xa1, 0x4d, 0xba, 0xff, 0x23, 0x37, 0xab, 0x98, 0xef, 0xf5, 0xdd, 0xed, 0xe7, 0x0b, 0x99, 0x3e, 0xff, 0x8b, 0x84, 0xc0, 0x75, 0xeb, 0x15, 0xe7, 0x7f, 0x54, 0x60, 0xfd, 0x0e, 0x11, 0x8d, 0x83, 0xbe, 0x25, 0x31, 0x80, 0xb2, 0xcd, 0x0e, 0x14, 0x05, 0xba, 0x93, 0xfa, 0xf5, 0xac, 0x6d, 0x0b, 0xb5, 0x43, 0x32, 0x29, 0x02, 0x5b, 0xd2, 0x0b, 0xda, 0x6a, 0x23, 0x6f, 0x41, 0x6c, 0x67, 0xf1, 0x30, 0x13, 0x71, 0x1e, 0x15, 0x02, 0x4e, 0xa8, 0x2b, 0xef, 0x49, 0x44, 0x92, 0x31, 0x80, 0xef, 0xcb, 0x78, 0xe4, 0xd0, 0xab, 0x84, 0x7a, 0xac, 0x3c, 0xce, 0x76, 0x3c, 0x3e, 0x2a, 0x1e, 0x2b, 0xdc, 0x4e, 0x2c, 0x73, 0xda, 0x80, 0x2c, 0x24, 0x9b, 0xdb, 0xa3, 0xcb, 0x75, 0x7d, 0x98, 0xbe, 0xd7, 0x98, 0x2d, 0xc7, 0x57, 0x70, 0xf0, 0xd5, 0xf2, 0xb5, 0xc5, 0x43, 0x88, 0x9e, 0xbd, 0xa9, 0x37, 0x73, 0xfd, 0x4f, 0xe7, 0x50, 0x5c, 0x84, 0x79, 0x38, 0x0e, 0x98, 0xe6, 0xf4, 0x77, 0xab, 0x32, 0x7e, 0x4b, 0x0b, 0x08, 0x6e, 0x37, 0x83, 0xe0, 0x6a, 0x36, 0x55, 0x0b, 0x22, 0x0c, 0x71, 0xe8, 0x85, 0xdc, 0x74, 0x62, 0x3b, 0x9e, 0xe7, 0xfd, 0xc0, 0x7a, 0xc9, 0x12, 0xea, 0x05, 0x55, 0x74, 0x6c, 0xe0, 0xc5, 0x85, 0xa8, 0x33, 0xc9, 0x1f, 0x36, 0x0e, 0x70, 0xc4, 0x9e, 0x89, 0xf8, 0x68, 0x9d, 0xec, 0x75, 0x05, 0xd4, 0x80, 0xaf, 0x30, 0xfe, 0x05, 0x6e, 0xbe, 0x76, 0xf0, 0x52, 0x4a, 0x88, 0x9f, 0xf7, 0xc0, 0xc3, 0xb4, 0xcc, 0x4c, 0xe6, 0x60, 0x8c, 0x18, 0x9a, 0xb4, 0x39, 0x7a, 0x4f, 0x1d, 0x5c, 0x51, 0xc9, 0xe9, 0xd5, 0x0d, 0x6b, 0x63, 0xb8, 0x17, 0x68, 0x23, 0x43, 0xb4, 0xd0, 0x11, 0x85, 0xf9, 0xd7, 0x1d, 0x0e, 0x5f, 0xec, 0xcc, 0xfc, 0x76, 0x55, 0x16, 0xfd, 0x5d, 0xca, 0xf2, 0x6b, 0x0b, 0xb5, 0xf7, 0xd9, 0x78, 0x99, 0xbf, 0x50, 0x4a, 0xf7, 0xa6, 0xbc, 0x89, 0xa0, 0x88, 0x96, 0x72, 0x78, 0x79, 0x99, 0x3a, 0x02, 0x96, 0x65, 0xc2, 0xd7, 0xab, 0xda, 0xf2, 0x13, 0x70, 0x7b, 0xe6, 0x08, 0x85, 0x1d, 0xee, 0x2d, 0x47, 0xdf, 0x76, 0x67, 0x8f, 0xe8, 0x4f, 0x05, 0xf2, 0x15, 0x82, 0x3b, 0x90, 0x1a, 0x5a, 0xc0, 0x84, 0x79, 0xcd, 0x38, 0x4a, 0xe4, 0x77, 0xc7, 0xcf, 0x97, 0x38, 0x01, 0x3a, 0x47, 0xb1, 0x34, 0x25, 0x7c, 0xc8, 0x37, 0xa1, 0x6c, 0xae, 0xf6, 0x79, 0xff, 0x68, 0x2d, 0x4a, 0xca, 0x68, 0x84, 0x3a, 0x58, 0xe9, 0x9e, 0xb0, 0x95, 0x04, 0xc2, 0x14, 0xd7, 0xb2, 0xb6, 0x9c, 0x2f, 0x96, 0x7a, 0xb3, 0x85, 0x70, 0x48, 0x84, 0x40, 0xdc, 0x84, 0x84, 0x2d, 0xca, 0xab, 0x77, 0x7d, 0x79, 0x3e, 0x40, 0xb9, 0xac, 0xcf, 0x2f, 0xd9, 0x7a, 0xd3, 0xa8, 0x88, 0x9f, 0x80, 0xb9, 0x35, 0x5a, 0x7a, 0xb7, 0xbb, 0x92, 0x14, 0xb0, 0x5a, 0x5b, 0x7f, 0x63, 0xb5, 0x24, 0x9f, 0xc2, 0x2b, 0xbc, 0xc4, 0x44, 0xc1, 0xcb, 0xc3, 0xaf, 0x65, 0x74, 0xb4, 0xe8, 0x00, 0x55, 0xf6, 0x76, 0xc7, 0x4d, 0xf7, 0x48, 0xeb, 0x3a, 0x16, 0x9b, 0x54, 0x95, 0x84, 0xd3, 0xfe, 0x9f, 0xf8, 0x51, 0xf8, 0x0f, 0xe2, 0xe9, 0xd3, 0x1e, 0xbf, 0xaa, 0xf4, 0xff, 0xd7, 0x84, 0x2b, 0x7a, 0xc7, 0xf9, 0x69, 0x4d, 0x03, 0xf7, 0x06, 0xaf, 0x96, 0x5e, 0x44, 0xe5, 0x53, 0x0f, 0xdd, 0x78, 0x77, 0x8a, 0x60, 0x3b, 0xf8, 0xee, 0xf7, 0x37, 0x8a, 0x0a, 0x9a, 0xd6, 0xb0, 0xff, 0xd7, 0x90, 0xbb, 0xcc, 0x3d, 0x16, 0xf5, 0x1e, 0x85, 0xb9, 0x81, 0x76, 0x30, 0x39, 0xe6, 0x23, 0x6b, 0x70, 0xc8, 0x97, 0xb2, 0x2d, 0xc1, 0xc1, 0xb9, 0x4e, 0x9a, 0x62, 0xcb, 0x20, 0xfa, 0x5a, 0x6a, 0xe3, 0x7e, 0x59, 0x14, 0x7d, 0x2f, 0xb7, 0x45, 0xf3, 0x13, 0xb9, 0xea, 0xdc, 0x49, 0x52, 0x84, 0x5d, 0x6d, 0x97, 0x36, 0x95, 0x0f, 0xd8, 0xfa, 0xc3, 0xfb, 0x4a, 0x4b, 0x04, 0xb9, 0x07, 0xd9, 0xfd, 0xe9, 0xaf, 0x04, 0xbb, 0x13, 0x7e, 0xf4, 0x62, 0xc8, 0x43, 0x6d, 0x3a, 0x53, 0x03, 0x10, 0x14, 0x3c, 0xc7, 0xb8, 0x31, 0x08, 0x58, 0x8b, 0x86, 0x6a, 0xc5, 0x18, 0xc1, 0xcc, 0x1e, 0xc7, 0x84, 0xb5, 0x66, 0x71, 0xa6, 0x9e, 0xfe, 0x03, 0x68, 0xc1, 0x95, 0x9f, 0xb1, 0x94, 0xd6, 0x5f, 0x7a, 0xf4, 0x96, 0xc9, 0xd8, 0x9e, 0x43, 0xc4, 0xfb, 0x5b, 0x55, 0xa6, 0xdf, 0x09, 0xf6, 0xed, 0x8a, 0x45, 0xf2, 0x21, 0x8e, 0xcb, 0xdc, 0x68, 0xee, 0x90, 0xc0, 0xaa, 0x52, 0x82, 0xff, 0x39, 0x01, 0x8e, 0xe2, 0x80, 0xda, 0x39, 0x7c, 0xb2, 0xe9, 0xa3, 0x61, 0x32, 0x54, 0xcd, 0x4c, 0x0d, 0xa2, 0x83, 0xa3, 0x49, 0x6e, 0x9a, 0x6c, 0x50, 0x24, 0xfc, 0x59, 0x07, 0x59, 0x62, 0x96, 0xeb, 0x5c, 0xc4, 0x89, 0xe5, 0x4d, 0xfb, 0x34, 0xc2, 0x1f, 0x53, 0xec, 0xf6, 0x80, 0x54, 0x40, 0x2f, 0x1a, 0x31, 0xac, 0x50, 0x75, 0x52, 0x3b, 0x40, 0xbd, 0xd8, 0x18, 0x29, 0x5d, 0xe8, 0x5d, 0x27, 0xcd, 0x68, 0x26, 0xca, 0x3a, 0xdc, 0xc6, 0x7d, 0xe8, 0xf1, 0xc5, 0xdf, 0x90, 0xfb, 0xb0, 0x6f, 0x4d, 0x12, 0xa7, 0x9e, 0x5b, 0xd9, 0x56, 0xda, 0x2c, 0x8d, 0x60, 0x85, 0xfc, 0xef, 0x95, 0xd0, 0xcb, 0x5d, 0x13, 0x8f, 0x49, 0x52, 0x43, 0xe8, 0x7b, 0x52, 0x3d, 0xf8, 0x10, 0xf3, 0x69, 0x4c, 0x51, 0xb6, 0xe6, 0xbb, 0xd9, 0x9d, 0xae, 0x26, 0x44, 0x9f, 0xec, 0x42, 0xf0, 0x91, 0x4c, 0x39, 0x1b, 0xdc, 0x62, 0xb6, 0xa9, 0x25, 0xb4, 0xdd, 0x36, 0xed, 0xe2, 0x65, 0x6d, 0x25, 0x1a, 0x4d, 0x02, 0x4b, 0x98, 0x2c, 0x63, 0xdb, 0x0a, 0x88, 0xd0, 0xd0, 0xfb, 0x3d, 0x5d, 0x64, 0x26, 0x46, 0x48, 0xbc, 0x75, 0xc2, 0xb8, 0x4a, 0xe9, 0x97, 0xfb, 0xca, 0x83, 0x73, 0xc3, 0x49, 0x32, 0x3e, 0x6a, 0xd0, 0x58, 0xd1, 0x56, 0xc7, 0x7a, 0x25, 0x3f, 0xc2, 0x5c, 0xaf, 0x3c, 0x64, 0xa8, 0x73, 0x10, 0xda, 0xf9, 0xb1, 0x36, 0xc2, 0x72, 0x98, 0x16, 0xf8, 0xb9, 0x07, 0x2f, 0xb5, 0x14, 0xce, 0x9d, 0xa0, 0xd8, 0x3d, 0x56, 0x2c, 0x5f, 0x1e, 0x68, 0x44, 0x9c, 0xc0, 0x6a, 0x15, 0x32, 0x5a, 0xae, 0x4b, 0x4b, 0x94, 0xb6, 0x4d, 0x13, 0x23, 0x66, 0xcd, 0xfe, 0xd9, 0xd5, 0xe5, 0xa7, 0x0e, 0xd7, 0x6e, 0x03, 0xd9, 0xff, 0x92, 0x7e, 0xc8, 0x5c, 0x5b, 0xd0, 0x18, 0xf3, 0x34, 0x78, 0xf6, 0x1a, 0x92, 0xb7, 0xbb, 0x04, 0x6e, 0xc2, 0x1d, 0x44, 0x55, 0xef, 0xba, 0x1a, 0xe6, 0x94, 0x67, 0x92, 0x02, 0x51, 0xc0, 0x4a, 0x43, 0x96, 0x5b, 0xac, 0xd8, 0x5a, 0xaa, 0xc7, 0xfb, 0xae, 0xa8, 0x67, 0x37, 0x89, 0x06, 0xe8, 0x7b, 0xb7, 0x47, 0xd7, 0x75, 0x1d, 0x90, 0x98, 0x31, 0x1e, 0xd1, 0x73, 0x17, 0x0a, 0x6e, 0x22, 0xf5, 0xbe, 0x6a, 0x94, 0x25, 0x63, 0x77, 0x42, 0xc4, 0xa0, 0x80, 0x42, 0x5c, 0x7e, 0xe2, 0x25, 0x4e, 0xe3, 0xfb, 0x61, 0xa2, 0xea, 0xff, 0xf4, 0xc9, 0xbd, 0x76, 0x93, 0x08, 0x39, 0x7e, 0x99, 0x87, 0x1f, 0x68, 0xc2, 0x0a, 0x73, 0xfb, 0xf6, 0xfc, 0x25, 0x9f, 0x2b, 0x9a, 0x10, 0xcd, 0xfe, 0xe1, 0xdc, 0xd3, 0x21, 0x73, 0x22, 0x35, 0xd8, 0xec, 0xd0, 0x53, 0xa3, 0xa3, 0xe1, 0xdb, 0xbd, 0x6f, 0x92, 0x3a, 0x51, 0xff, 0xef, 0xc9, 0xd7, 0x9a, 0xb2, 0x25, 0x0f, 0xef, 0x02, 0xab, 0x64, 0x87, 0x3e, 0x5e, 0x8c, 0x23, 0x10, 0x4f, 0xac, 0x58, 0xdd, 0x04, 0x3b, 0x97, 0x5d, 0x87, 0xe6, 0xf2, 0x12, 0xc6, 0xc3, 0x18, 0x97, 0xa9, 0x4f, 0xce, 0xc7, 0x53, 0xe0, 0x36, 0x52, 0x5e, 0xca, 0x45, 0xfd, 0xcf, 0xd6, 0x67, 0x38, 0xea, 0x48, 0x91, 0xaf, 0x1d, 0xd2, 0xd8, 0x3d, 0x34, 0x39, 0x3c, 0xb0, 0x3a, 0x74, 0x07, 0xa5, 0x0e, 0xd2, 0x31, 0x29, 0x94, 0x5e, 0x7a, 0x5b, 0x4f, 0x84, 0x95, 0x37, 0xaa, 0x77, 0x23, 0x9c, 0x2e, 0xda, 0xc8, 0x85, 0x9b, 0xa4, 0x56, 0xd6, 0x8b, 0xd3, 0xc5, 0x21, 0x4e, 0x8c, 0x94, 0x8f, 0x46, 0x94, 0xeb, 0x01, 0x67, 0xa1, 0xf2, 0xaf, 0xda, 0x23, 0x3e, 0x5f, 0xc9, 0xde, 0x27, 0x2a, 0x53, 0x88, 0xd7, 0x82, 0xc0, 0x65, 0xb9, 0xd0, 0xf7, 0x22, 0x83, 0x3b, 0x5f, 0xd4, 0x52, 0x54, 0x4f, 0x3a, 0xf8, 0x20, 0xfb, 0x90, 0x2e, 0x97, 0x01, 0xa8, 0xcb, 0x52, 0xc2, 0xc0, 0xac, 0x44, 0x94, 0x4b, 0x5e, 0xc6, 0xa8, 0x3e, 0x12, 0x67, 0xb3, 0x15, 0xf9, 0xbe, 0xc3, 0xa6, 0x79, 0xe0, 0x27, 0xd1, 0x8f, 0x46, 0x01, 0x47, 0x21, 0x2f, 0xb2, 0xfe, 0xcf, 0xa9, 0x02, 0xce, 0xf9, 0x38, 0x75, 0x2a, 0x18, 0x29, 0xa4, 0xff, 0x8f, 0x8f, 0xe7, 0xa1, 0x34, 0xda, 0xbd, 0x50, 0xb3, 0xf9, 0x1c, 0xf6, 0x02, 0x37, 0x58, 0xeb, 0x9e, 0x14, 0xcc, 0xf1, 0x0a, 0x3e, 0x82, 0xb1, 0x0a, 0xf7, 0x52, 0xff, 0xe9, 0xb6, 0xcc, 0x10, 0x13, 0x0a, 0xa7, 0x3c, 0x95, 0xc1, 0x86, 0xfe, 0x6f, 0x53, 0xa0, 0x9c, 0x5f, 0xe0, 0x17, 0xfe, 0xea, 0x0a, 0xfd, 0x2b, 0x80, 0xc1, 0x42, 0x8d, 0xcd, 0xd5, 0xf6, 0x18, 0xab, 0x9a, 0x7e, 0x8d, 0x29, 0xb9, 0xc4, 0x82, 0x1b, 0xb0, 0x34, 0xd5, 0x38, 0x5e, 0xa3, 0xdf, 0x3f, 0x9c, 0x8f, 0x85, 0xb5, 0xd3, 0xb5, 0x7c, 0x36, 0x60, 0xbb, 0xc4, 0x05, 0x6f, 0x7a, 0x87, 0xca, 0x52, 0x85, 0x4a, 0x0f, 0xad, 0xed, 0x35, 0x3d, 0xad, 0xe7, 0x34, 0xf4, 0x16, 0x22, 0x93, 0x6a, 0xd2, 0xef, 0xde, 0x7d, 0x40, 0x97, 0x9c, 0x83, 0xbf, 0x8f, 0x9e, 0x25, 0x27, 0x81, 0x91, 0x0d, 0x94, 0x05, 0x01, 0x49, 0x7a, 0xda, 0x5e, 0x27, 0xac, 0x1a, 0xe7, 0x7e, 0xc6, 0x75, 0x0a, 0x09, 0xc6, 0x11, 0x42, 0xd7, 0x82, 0x84, 0x91, 0x56, 0xec, 0x74, 0x41, 0xe5, 0x82, 0xa0, 0xa5, 0x9e, 0xa1, 0x44, 0x19, 0xbf, 0x28, 0xfb, 0x5f, 0x4f, 0x4e, 0xe9, 0x9b, 0x44, 0x49, 0xef, 0x72, 0x9a, 0x81, 0x22, 0x14, 0x9a, 0xcd, 0xaf, 0xe9, 0x81, 0xaf, 0x2f, 0xf1, 0x05, 0xb1, 0x93, 0xc8, 0x43, 0xce, 0xe1, 0x18, 0x3b, 0xa2, 0x4c, 0x7c, 0x22, 0xe7, 0x51, 0x5a, 0xd6, 0xda, 0xbe, 0xf2, 0x52, 0x60, 0xe6, 0x51, 0x5f, 0xc4, 0x9a, 0x12, 0xe3, 0xe7, 0x29, 0x29, 0x76, 0xf5, 0x9b, 0xef, 0xad, 0x8e, 0x3f, 0x8a, 0x55, 0xa4, 0x4b, 0x5b, 0x73, 0x3e, 0x41, 0xce, 0xe8, 0x7a, 0x35, 0xa5, 0x4d, 0xe0, 0x58, 0x1b, 0x01, 0x20, 0xfe, 0x1e, 0x64, 0x35, 0x5c, 0xc3, 0xda, 0x36, 0x18, 0xbb, 0x40, 0x66, 0x7a, 0x67, 0x33, 0x52, 0xbb, 0x19, 0xae, 0x22, 0x80, 0xb9, 0x8e, 0x10, 0xd9, 0xef, 0x14, 0xef, 0xf1, 0x78, 0xda, 0xa3, 0xaf, 0x0a, 0x17, 0x8e, 0x24, 0xf9, 0xcb, 0xd6, 0xa9, 0xce, 0xfe, 0x9a, 0x75, 0xb3, 0xb0, 0xed, 0xdf, 0x8f, 0x0e, 0xdd, 0x1c, 0x18, 0x51, 0x98, 0x35, 0x0b, 0xcd, 0x3d, 0x4a, 0x6d, 0x0a, 0x79, 0x36, 0x74, 0x8e, 0x5e, 0xeb, 0x6d, 0x6c, 0x64, 0x93, 0x8d, 0x6d, 0x5a, 0xa2, 0xaa, 0x29, 0x72, 0xce, 0x2c, 0x81, 0xa7, 0xee, 0x35, 0x98, 0xe1, 0x50, 0x33, 0x73, 0x75, 0x24, 0x15, 0x59, 0x52, 0x25, 0xce, 0x2a, 0x17, 0x60, 0x24, 0xb6, 0xeb, 0x22, 0xe4, 0xf8, 0x18, 0xc7, 0x15, 0x72, 0x6b, 0x24, 0xe5, 0x48, 0xfa, 0xd2, 0x5c, 0x9b, 0x50, 0x49, 0xe2, 0x39, 0x6a, 0x74, 0xe7, 0x1d, 0x38, 0x99, 0xaa, 0xaf, 0x96, 0xf4, 0xaf, 0x85, 0xdf, 0x2f, 0x4f, 0xfe, 0x8e, 0x9c, 0xbb, 0xca, 0xbf, 0x40, 0x88, 0xc6, 0xcf, 0x17, 0x11, 0xfb, 0xb7, 0xb7, 0xf8, 0x92, 0xe9, 0x04, 0xec, 0x85, 0x3a, 0x1b, 0xae, 0xbb, 0xab, 0xb4, 0x38, 0x98, 0xb0, 0x2e, 0x42, 0x22, 0xf2, 0x4e, 0x8c, 0x56, 0xf0, 0x6a, 0x83, 0xb1, 0xf1, 0xf1, 0xee, 0x23, 0xca, 0x7e, 0x5d, 0x52, 0xd6, 0x64, 0xc6, 0x68, 0x21, 0x4f, 0xd5, 0xe7, 0x5f, 0x2b, 0x38, 0x21, 0xb7, 0xb7, 0xad, 0x44, 0xcc, 0x0e, 0x7f, 0x95, 0xc1, 0x89, 0x23, 0x96, 0x75, 0x00, 0x00, 0x2e, 0x3d, 0x80, 0xf3, 0x1c, 0xf6, 0xf0, 0x6e, 0x26, 0x07, 0x84, 0x91, 0xec, 0xa4, 0x06, 0x20, 0x90, 0x71, 0x19, 0x80, 0xd3, 0x62, 0xae, 0x33, 0xcb, 0xe8, 0x67, 0xb1, 0x99, 0x4e, 0x26, 0xc9, 0xbc, 0x1e, 0x9d, 0xb2, 0x2b, 0xd6, 0xab, 0x71, 0xce, 0x6c, 0x88, 0x00, 0x5b, 0xd0, 0x53, 0x09, 0xd8, 0x42, 0xa8, 0xc8, 0xef, 0xf6, 0x35, 0x7e, 0xa7, 0x5a, 0xdf, 0x82, 0xf3, 0x44, 0xd0, 0xa4, 0xbe, 0x98, 0x13, 0xd3, 0xe0, 0xd5, 0xe9, 0x27, 0xb8, 0xa9, 0x8c, 0x15, 0x24, 0xe7, 0xf1, 0x69, 0xc3, 0xab, 0xce, 0x2b, 0x07, 0x07, 0x3c, 0x1e, 0x7c, 0x79, 0xca, 0x0d, 0xcf, 0xa5, 0xe3, 0x7a, 0xfe, 0xa2, 0xa3, 0x21, 0xa6, 0x06, 0x25, 0xd8, 0x71, 0xc5, 0x26, 0x03, 0x9b, 0x96, 0x1e, 0x25, 0xa2, 0x2f, 0xb3, 0x01, 0x2e, 0x85, 0x9d, 0xfe, 0xe8, 0x31, 0xf5, 0x55, 0x30, 0x07, 0xde, 0xe1, 0x5e, 0x45, 0x6e, 0x0c, 0x4f, 0xb3, 0xce, 0x1a, 0x5b, 0x42, 0x64, 0xe6, 0x54, 0xb4, 0xed, 0x88, 0x86, 0xd5, 0x31, 0x5f, 0xf6, 0xa0, 0x69, 0x5f, 0xfe, 0x11, 0xe1, 0x9d, 0x1b, 0xcc, 0x83, 0x3e, 0x9b, 0x3a, 0x77, 0xab, 0x3d, 0xa0, 0x58, 0x0f, 0x49, 0x3e, 0x0e, 0x09, 0xf2, 0xdd, 0xe2, 0x6e, 0x02, 0x99, 0x9c, 0x96, 0x78, 0x30, 0xa1, 0x4e, 0xbb, 0x6d, 0x2c, 0x01, 0xd6, 0xd1, 0xb1, 0xc2, 0xe2, 0x74, 0x45, 0xda, 0x0c, 0x2b, 0x2e, 0x09, 0xcb, 0xae, 0xb3, 0xca, 0xa5, 0xb3, 0xe2, 0x15, 0xdc, 0x99, 0xbd, 0x73, 0x12, 0xf5, 0x74, 0x01, 0xcf, 0x3d, 0x55, 0xe9, 0x43, 0x4f, 0x77, 0xb8, 0x0d, 0x4a, 0xf2, 0xfd, 0x83, 0x0d, 0xbc, 0xe6, 0xe4, 0x97, 0xf9, 0x1d, 0x7d, 0x1e, 0xf7, 0xe7, 0xaa, 0xff, 0x07, 0xbb, 0xc8, 0x1f, 0xd5, 0x83, 0x17, 0x7a, 0xe7, 0x51, 0x72, 0x51, 0x96, 0xb2, 0x29, 0x12, 0x70, 0x84, 0x1a, 0x82, 0x3d, 0xa1, 0xa6, 0xef, 0x04, 0x23, 0xdb, 0x0d, 0x3f, 0x17, 0xdb, 0x7e, 0x7a, 0x01, 0x03, 0x6a, 0x60, 0xec, 0x1a, 0x46, 0xed, 0x51, 0x07, 0x1a, 0xbc, 0xf9, 0xe3, 0xb3, 0x42, 0x53, 0xb3, 0x3d, 0x07, 0x16, 0x8f, 0xc2, 0x7d, 0xb1, 0xa9, 0x84, 0xc4, 0x33, 0xbc, 0x05, 0x34, 0x5b, 0xd5, 0x21, 0x1b, 0x5f, 0x87, 0x16, 0xfb, 0xcc, 0x97, 0xf6, 0x7f, 0xd0, 0x94, 0x04, 0xba, 0x1d, 0xbe, 0x3f, 0x78, 0x56, 0x80, 0x80, 0x01, 0x86, 0x98, 0xe5, 0x07, 0x2a, 0x86, 0x74, 0xab, 0xfd, 0xe5, 0x7f, 0x1c, 0x5d, 0xf7, 0x87, 0xd6, 0xb7, 0x24, 0x63, 0x20, 0x5c, 0x0a, 0x88, 0x28, 0x78, 0x83, 0xdd, 0xa3, 0xab, 0x97, 0x58, 0xf4, 0xdb, 0x63, 0xe9, 0x2e, 0xa9, 0xff, 0x56, 0xfc, 0xdd, 0xc3, 0x92, 0x06, 0xa1, 0x15, 0x35, 0x51, 0x83, 0x6b, 0xf8, 0x34, 0x65, 0xa4, 0x13, 0xb9, 0x3e, 0x7c, 0xe1, 0x1f, 0x29, 0xae, 0x91, 0x64, 0x3b, 0xdf, 0x66, 0xea, 0xfa, 0xfa, 0x91, 0x38, 0x31, 0x73, 0x3d, 0x84, 0x56, 0xe1, 0x21, 0x52, 0x96, 0x1a, 0xc9, 0xb5, 0x6d, 0x2a, 0xd6, 0x85, 0x20, 0xc3, 0x5d, 0x75, 0xcd, 0x7d, 0xd0, 0x98, 0x34, 0x7f, 0x70, 0xc5, 0xff, 0x64, 0x98, 0xe2, 0x6b, 0x5c, 0xc9, 0xb1, 0x06, 0x25, 0x43, 0xb8, 0x36, 0x83, 0x3e, 0xdf, 0xd3, 0xd3, 0x6f, 0xb1, 0xd5, 0xb4, 0x39, 0x66, 0xea, 0x17, 0x2e, 0xb5, 0xf7, 0x24, 0x69, 0x4c, 0x8f, 0x73, 0xe9, 0x61, 0xc3, 0xf2, 0x60, 0xc2, 0xe9, 0xfe, 0x02, 0x3d, 0x12, 0xd0, 0xc7, 0xd8, 0xbe, 0xad, 0x49, 0xee, 0x23, 0xf1, 0x15, 0x36, 0x60, 0xbc, 0xce, 0x79, 0x02, 0x43, 0xed, 0x1a, 0x87, 0xb3, 0xeb, 0xb9, 0x7a, 0x13, 0x7b, 0x7e, 0xe8, 0xd8, 0xa3, 0x07, 0x5c, 0xcb, 0xb0, 0xe3, 0x8f, 0x61, 0x46, 0xc1, 0xd3, 0x94, 0xcd, 0xd5, 0x05, 0x93, 0xc6, 0x27, 0x6b, 0xf8, 0xdd, 0xfb, 0x2c, 0x33, 0x43, 0x60, 0x5a, 0x01, 0x46, 0x5a, 0x8b, 0xc7, 0x1f, 0x9b, 0x37, 0x3f, 0x04, 0xd8, 0xf7, 0xef, 0x24, 0xb8, 0xf0, 0x2f, 0xd3, 0x02, 0x42, 0xa5, 0x86, 0x02, 0xa2, 0xec, 0x14, 0xc6, 0x27, 0x29, 0x21, 0x9a, 0xb9, 0x2e, 0xf0, 0x5d, 0x5d, 0x81, 0x56, 0xf4, 0x59, 0xe8, 0x9e, 0xa0, 0xba, 0x97, 0x0e, 0x90, 0x56, 0xbd, 0xef, 0xf4, 0x40, 0x31, 0x9f, 0xcf, 0x14, 0xe2, 0xc7, 0x62, 0xa3, 0x56, 0xce, 0x15, 0xfa, 0xa0, 0xe0, 0x9b, 0xe2, 0x30, 0x39, 0x5d, 0xc1, 0xf7, 0xdf, 0x3c, 0xd5, 0xf4, 0x94, 0x5d, 0xb7, 0x2f, 0xff, 0x71, 0x3e, 0x0e, 0x0b, 0x5b, 0x7d, 0xd6, 0xbf, 0x2c, 0x33, 0x29, 0xc8, 0x74, 0x91, 0x85, 0x97, 0xcf, 0xfa, 0xc0, 0x07, 0x6e, 0x56, 0x77, 0xf4, 0x30, 0x76, 0x5b, 0xa9, 0x5f, 0x44, 0x5c, 0x0d, 0xe4, 0x99, 0x09, 0x0b, 0x57, 0xd0, 0xc3, 0x2c, 0xd1, 0x20, 0x91, 0x24, 0xfa, 0xb7, 0xc9, 0x42, 0x07, 0xaa, 0xb2, 0x2d, 0xd9, 0x2a, 0x25, 0x90, 0x7b, 0x8c, 0xd8, 0xdc, 0xab, 0x4f, 0x8b, 0x1b, 0x4e, 0x23, 0x68, 0xe5, 0xc2, 0x1e, 0x9b, 0xf7, 0xdf, 0xfa, 0x3a, 0xd3, 0x94, 0xd2, 0xd1, 0xce, 0x92, 0x9e, 0xca, 0xde, 0x40, 0xd7, 0x48, 0x47, 0x70, 0x9c, 0xeb, 0x09, 0x2f, 0x84, 0x3e, 0x65, 0x50, 0x53, 0xdb, 0x05, 0x06, 0x59, 0x34, 0xf5, 0x20, 0x4e, 0xfe, 0x00, 0x3a, 0x03, 0xfd, 0xd9, 0x29, 0x38, 0x5f, 0xff, 0xc4, 0xe2, 0x5f, 0x8e, 0x62, 0x74, 0x0f, 0xdc, 0xac, 0x7a, 0xf3, 0xc8, 0x32, 0xf0, 0xf0, 0xbd, 0x82, 0x04, 0xf4, 0x6e, 0xda, 0xba, 0x8f, 0x64, 0x2b, 0x2e, 0xf7, 0x94, 0x79, 0x3c, 0x0c, 0x5c, 0x57, 0x4b, 0x49, 0x88, 0x04, 0xeb, 0xcb, 0x63, 0x41, 0xf3, 0x15, 0xbd, 0x92, 0x56, 0x49, 0xc8, 0xe2, 0x78, 0x59, 0x03, 0xf7, 0x53, 0x00, 0x90, 0x7e, 0x88, 0xeb, 0xd5, 0x56, 0xa4, 0x50, 0x2e, 0x16, 0x0c, 0x6d, 0x39, 0xc3, 0x3a, 0xf1, 0xa0, 0xab, 0x40, 0xa9, 0xc7, 0xa6, 0x55, 0xb4, 0x3b, 0x3d, 0x60, 0xe9, 0x81, 0x90, 0xcb, 0x27, 0x1a, 0xff, 0xc3, 0x16, 0x6d, 0x9f, 0xb2, 0x96, 0x0e, 0xc1, 0x77, 0x26, 0xd6, 0x52, 0x93, 0x98, 0xb0, 0x0e, 0x44, 0x19, 0x6e, 0x4d, 0x71, 0x6b, 0xcd, 0x45, 0xce, 0x4a, 0x14, 0x8f, 0x90, 0xe7, 0x46, 0x06, 0x6e, 0x65, 0xaa, 0xe1, 0x0c, 0x44, 0x3a, 0xa4, 0x1a, 0x53, 0x4c, 0x06, 0x0c, 0xc7, 0x97, 0x9e, 0x73, 0x47, 0x96, 0x3d, 0x84, 0x95, 0x2d, 0xfe, 0x48, 0x35, 0x5a, 0x4c, 0x38, 0xea, 0x1e, 0xd3, 0x9f, 0xb7, 0xa0, 0xd4, 0xd1, 0xfe, 0x36, 0x55, 0x56, 0x1b, 0x36, 0x23, 0x96, 0x2e, 0x28, 0xcf, 0xa0, 0x8c, 0xc9, 0x42, 0x86, 0x54, 0x90, 0x47, 0x5c, 0x53, 0x56, 0x41, 0x11, 0xb3, 0xe1, 0x8c, 0x57, 0x96, 0xff, 0x6e, 0xc8, 0x7b, 0x29, 0x18, 0xf7, 0x2b, 0x0e, 0x18, 0x89, 0x03, 0x37, 0x89, 0x17, 0x31, 0xdc, 0x02, 0x07, 0x32, 0xc4, 0x23, 0xe6, 0x99, 0xc6, 0x1b, 0xbd, 0x74, 0x83, 0x6e, 0x71, 0x93, 0x5b, 0xe9, 0x72, 0xde, 0xdb, 0xee, 0x2d, 0x97, 0xe9, 0x06, 0xa1, 0x08, 0x7e, 0xcc, 0x59, 0x72, 0x47, 0xa7, 0x03, 0xf2, 0x35, 0xc6, 0x15, 0x28, 0x23, 0x19, 0x02, 0x8b, 0xb2, 0x88, 0xc0, 0xe3, 0xbe, 0x45, 0x07, 0x2e, 0x7f, 0xd1, 0x86, 0xbd, 0x38, 0x14, 0xb3, 0x3a, 0x84, 0x71, 0xa9, 0x32, 0xe5, 0x5e, 0x5a, 0x1e, 0x48, 0x7d, 0x9b, 0x7c, 0x29, 0x61, 0x6e, 0xc0, 0x74, 0xea, 0xc5, 0x3f, 0xcd, 0x5a, 0x33, 0xe3, 0xf0, 0xf8, 0x91, 0x1f, 0xc4, 0xc5, 0x2a, 0xe1, 0xfc, 0xf6, 0xda, 0x8b, 0x74, 0x75, 0xd0, 0x90, 0xb1, 0xf2, 0x7c, 0x97, 0xef, 0x6c, 0x71, 0xfd, 0x3f, 0xae, 0x66, 0x9d, 0xf6, 0x45, 0xdd, 0x38, 0x33, 0xd7, 0xed, 0x56, 0x58, 0x9a, 0x32, 0xc2, 0x0e, 0x5c, 0x61, 0x1d, 0x8c, 0x8e, 0x5a, 0x7a, 0xce, 0xc0, 0x5e, 0xf4, 0xbe, 0xb9, 0xd1, 0x61, 0xc8, 0x49, 0xd5, 0xaf, 0xcd, 0xf1, 0x40, 0x82, 0xfb, 0xe9, 0xb2, 0x0e, 0x4e, 0x73, 0xbf, 0xf4, 0x4e, 0x05, 0x56, 0x11, 0x75, 0xf1, 0x0b, 0x9d, 0x41, 0x7a, 0x6d, 0x60, 0x8f, 0xa6, 0x1f, 0xd6, 0x15, 0x2b, 0xc5, 0xdd, 0x55, 0x10, 0x1e, 0x28, 0x7d, 0x26, 0x5e, 0x88, 0x81, 0x39, 0x7d, 0xa8, 0x8c, 0x11, 0x8d, 0x7a, 0xf4, 0xe0, 0x55, 0x25, 0xfa, 0x2c, 0xa4, 0x93, 0x39, 0x87, 0xef, 0x70, 0xa9, 0x74, 0x9a, 0x4e, 0xa7, 0x9b, 0xbf, 0x1a, 0x10, 0x43, 0xba, 0x6c, 0x62, 0xae, 0x6d, 0x2e, 0x83, 0x13, 0x0f, 0xc9, 0x8f, 0x76, 0x80, 0x75, 0xa5, 0xb2, 0xb4, 0x15, 0xa5, 0xb9, 0x34, 0x16, 0x1b, 0xe1, 0x50, 0xdd, 0x71, 0x83, 0xf8, 0x53, 0x1d, 0x2f, 0xc2, 0xde, 0x36, 0x46, 0x95, 0x72, 0x99, 0xfa, 0xcc, 0x4e, 0xb1, 0x1f, 0x35, 0xab, 0xcb, 0x5c, 0x82, 0x1f, 0xcc, 0x52, 0x6e, 0x32, 0xa5, 0x2a, 0xa6, 0xaf, 0x8a, 0x9e, 0xbc, 0x9f, 0xa2, 0x71, 0xb3, 0x89, 0xb5, 0xfc, 0x3e, 0x4f, 0x62, 0x53, 0xe6, 0xc3, 0x30, 0x10, 0xa8, 0xa9, 0xda, 0xfc, 0xbd, 0x74, 0xfe, 0x21, 0x5e, 0xa2, 0xd6, 0xe6, 0xc1, 0xd9, 0xed, 0x1e, 0x8c, 0x73, 0x1b, 0xdf, 0x10, 0x4e, 0x61, 0x1e, 0x2b, 0x3b, 0xaf, 0x14, 0xc0, 0xd5, 0xbe, 0x59, 0x7e, 0xfd, 0xc6, 0x2c, 0x37, 0xd2, 0xb1, 0x2b, 0xe5, 0x7b, 0x13, 0x6a, 0xa1, 0x9a, 0xb2, 0x80, 0xf6, 0x62, 0xc7, 0xda, 0xb1, 0xbc, 0x1d, 0x54, 0x38, 0xe7, 0xb3, 0xdb, 0x67, 0xdc, 0x16, 0x4c, 0x1d, 0x8c, 0x09, 0xdb, 0xaa, 0x6c, 0x73, 0x5b, 0x1d, 0x1a, 0x96, 0xbf, 0x6e, 0x68, 0x2c, 0xc3, 0x1e, 0x35, 0xe3, 0x3c, 0x5c, 0x1d, 0xe7, 0x54, 0x92, 0x9d, 0x70, 0x98, 0x5b, 0x72, 0x1e, 0x33, 0x3d, 0x32, 0x36, 0xab, 0xd9, 0xb7, 0xc2, 0x0f, 0xe0, 0x63, 0x0d, 0x13, 0x7c, 0x18, 0x5b, 0x15, 0x08, 0x64, 0x7f, 0xbe, 0x25, 0x48, 0x06, 0x36, 0xc4, 0xe9, 0x32, 0xc5, 0x2d, 0x52, 0xa0, 0x32, 0x4f, 0x25, 0x3d, 0x16, 0xc2, 0x65, 0x36, 0xab, 0xd9, 0xd3, 0x8f, 0x78, 0x59, 0x3d, 0x74, 0xc0, 0xca, 0xaa, 0x4d, 0x7b, 0x0d, 0x58, 0xa1, 0xcf, 0x71, 0x46, 0xf4, 0x8d, 0xe5, 0xb2, 0x77, 0x85, 0x80, 0x4b, 0x0b, 0x7b, 0xdf, 0x02, 0x5c, 0x50, 0xd7, 0xa1, 0xbf, 0xcc, 0xba, 0xd1, 0x29, 0xef, 0x42, 0x0f, 0x9c, 0x07, 0xe9, 0x80, 0x4d, 0x16, 0xc2, 0x4d, 0x97, 0xd8, 0xe6, 0x78, 0xa6, 0xde, 0xf8, 0x46, 0xee, 0x9d, 0xb7, 0x19, 0x73, 0xc0, 0x26, 0xd1, 0xa6, 0xb3, 0x67, 0x97, 0xa4, 0x0f, 0x95, 0x24, 0xea, 0x36, 0x40, 0xdf, 0x29, 0xb9, 0xc8, 0xf0, 0x69, 0x11, 0x41, 0x71, 0x83, 0x69, 0x78, 0xf0, 0x86, 0x5a, 0xf0, 0x5a, 0xd9, 0x79, 0xee, 0x98, 0x88, 0xfe, 0x35, 0x06, 0xea, 0xb2, 0xee, 0xee, 0xf7, 0xd6, 0x66, 0x81, 0x1e, 0x6f, 0xe5, 0x3e, 0x93, 0x8c, 0x85, 0x06, 0xcb, 0x58, 0xc7, 0x16, 0x02, 0x4b, 0x53, 0x2a, 0x2a, 0x9d, 0x2d, 0x6b, 0x0f, 0x8a, 0x49, 0xeb, 0x0e, 0x33, 0x11, 0x37, 0x00, 0xbd, 0xc3, 0x06, 0x7c, 0xe5, 0x0a, 0x3e, 0x27, 0xce, 0xbd, 0xce, 0x70, 0x1c, 0xf2, 0xa0, 0xb2, 0xf1, 0x70, 0x1a, 0x22, 0x0d, 0x73, 0x3d, 0x20, 0x57, 0xdb, 0x8b, 0x30, 0x26, 0x7d, 0xca, 0x45, 0x7e, 0x40, 0x2e, 0xf8, 0x31, 0x00, 0xe0, 0x1e, 0xd1, 0x60, 0x26, 0x7e, 0x9b, 0x68, 0xf6, 0x9e, 0x97, 0x4b, 0xfe, 0x73, 0xe3, 0x11, 0xf6, 0x37, 0xa2, 0x49, 0xf4, 0x3e, 0x68, 0xf9, 0xa0, 0x1f, 0xd1, 0xeb, 0x58, 0xde, 0xe6, 0x87, 0xde, 0x2d, 0x4f, 0xbe, 0x77, 0x48, 0xf1, 0xc4, 0x15, 0x2b, 0x00, 0x88, 0x0a, 0xb0, 0x8f, 0xfc, 0xd8, 0x9b, 0xd1, 0x6c, 0x01, 0xed, 0x9f, 0xd1, 0x90, 0xae, 0x05, 0xd9, 0xb6, 0x8b, 0xb6, 0x26, 0x3f, 0x56, 0x6f, 0x16, 0x1a, 0x8e, 0x41, 0xca, 0x08, 0x24, 0x52, 0x0b, 0xbc, 0x08, 0x7f, 0xd0, 0x99, 0x1a, 0x01, 0x78, 0x87, 0x9c, 0x75, 0xdd, 0xfe, 0xd5, 0x48, 0x64, 0xb8, 0x52, 0x95, 0x60, 0x75, 0xef, 0xcb, 0x8b, 0xd4, 0x90, 0x94, 0x07, 0x5e, 0x7e, 0xa3, 0x3f, 0x28, 0xe8, 0x9a, 0x1c, 0xa5, 0xa0, 0xf4, 0xe7, 0xe8, 0x5d, 0x3f, 0x84, 0xde, 0x60, 0x24, 0xee, 0xb9, 0x1c, 0x37, 0x48, 0x62, 0xde, 0x87, 0xcd, 0xc1, 0x1e, 0x50, 0xbe, 0x63, 0x5b, 0xa4, 0xc6, 0x8c, 0xea, 0x1e, 0x3d, 0x25, 0xbf, 0xe1, 0x78, 0x0a, 0xd3, 0xfb, 0xc2, 0x39, 0xdb, 0x9b, 0x62, 0xbd, 0xd2, 0x7c, 0x3c, 0x13, 0x08, 0xa2, 0x26, 0x4f, 0xe4, 0x1a, 0x1d, 0xd2, 0xd1, 0x3f, 0x0d, 0x03, 0xde, 0x18, 0xbe, 0xe4, 0x70, 0xfd, 0x66, 0x1a, 0xf9, 0xf3, 0x74, 0x75, 0x50, 0x5f, 0xfb, 0xe3, 0xe0, 0xc7, 0x32, 0x62, 0x50, 0x00, 0xcb, 0xc2, 0x12, 0x49, 0x58, 0x52, 0xa9, 0xde, 0x6d, 0xd3, 0xb1, 0x8a, 0x01, 0x00, 0x67, 0x69, 0x9a, 0x3f, 0x35, 0x0a, 0x75, 0x4b, 0xe5, 0xe8, 0xd8, 0x91, 0x70, 0x80, 0xcc, 0x45, 0xae, 0x63, 0x08, 0x05, 0x1d, 0x89, 0xb0, 0x26, 0x5f, 0x6e, 0xba, 0xb3, 0xc7, 0x89, 0xc7, 0x6f, 0x73, 0x9b, 0x72, 0x3e, 0x18, 0x71, 0x19, 0xa5, 0x70, 0x28, 0x91, 0x32, 0x32, 0x32, 0x18, 0xd8, 0x2b, 0xbd, 0x82, 0x54, 0x65, 0xd5, 0x74, 0x7b, 0x62, 0xa3, 0x04, 0x8b, 0x11, 0x5e, 0xbf, 0x42, 0xb8, 0x0d, 0x28, 0xba, 0x60, 0xb9, 0x95, 0xa2, 0xc0, 0x8e, 0x87, 0xa1, 0x26, 0x05, 0x37, 0x94, 0xac, 0xbb, 0x84, 0x17, 0x9c, 0xb3, 0xb1, 0x72, 0xb5, 0x6e, 0x5e, 0x8a, 0x7a, 0x76, 0x5b, 0xb8, 0x92, 0x21, 0xf4, 0x3d, 0x66, 0x2b, 0xb5, 0x69, 0xda, 0x81, 0x90, 0x06, 0x2a, 0x81, 0x39, 0x26, 0x7e, 0x1c, 0x5b, 0xcc, 0x98, 0x8a, 0xc2, 0x31, 0xf9, 0x21, 0xa2, 0xd6, 0x98, 0x31, 0xbd, 0x41, 0x3e, 0x43, 0x68, 0x1c, 0xb3, 0xb0, 0x6e, 0x40, 0x36, 0x8d, 0xac, 0x2a, 0x55, 0xc0, 0xe0, 0x09, 0x04, 0x0b, 0x55, 0x65, 0xf7, 0xee, 0x4a, 0x44, 0x4f, 0x0d, 0x2f, 0xdd, 0x84, 0x90, 0xe2, 0x20, 0x8b, 0x2d, 0x5d, 0xaa, 0xbd, 0x57, 0x30, 0x76, 0x0b, 0xff, 0x22, 0x81, 0x25, 0x57, 0xb6, 0x5b, 0x6d, 0xdd, 0xd1, 0x14, 0x46, 0x48, 0x2c, 0x47, 0x77, 0xce, 0x92, 0x7f, 0x0d, 0x93, 0x0e, 0x69, 0xd2, 0x63, 0xcd, 0x57, 0x3c, 0xb4, 0x57, 0xff, 0xbc, 0x00, 0x05, 0x84, 0x98, 0xc6, 0x5d, 0xf1, 0xfd, 0xac, 0xdf, 0x17, 0x77, 0x62, 0xfb, 0x18, 0xbb, 0xf7, 0xc8, 0x05, 0x1c, 0x9e, 0xd5, 0x9b, 0x8d, 0x37, 0xbd, 0x46, 0xea, 0xe5, 0x9f, 0xda, 0xff, 0xef, 0x87, 0xdc, 0x7a, 0xa4, 0x2e, 0x84, 0x3e, 0x04, 0x3f, 0x54, 0xd3, 0xb5, 0xeb, 0x07, 0x32, 0x1c, 0x3a, 0xee, 0x36, 0x84, 0x12, 0xd9, 0x6b, 0xce, 0xd5, 0x84, 0x4b, 0xce, 0x96, 0x04, 0x93, 0x13, 0x3f, 0xc2, 0x43, 0x04, 0xa3, 0x3c, 0xd2, 0x73, 0xb7, 0x0e, 0x00, 0x0c, 0x29, 0x93, 0x24, 0x19, 0xb7, 0x3f, 0x38, 0xca, 0x5b, 0x77, 0x9d, 0x76, 0x3f, 0x34, 0xa4, 0xe1, 0x1c, 0x13, 0x02, 0x0f, 0x00, 0x43, 0x01, 0x81, 0x5a, 0xe0, 0xd4, 0x86, 0xf8, 0x89, 0x26, 0x6c, 0xdf, 0xc9, 0x9d, 0x98, 0x6f, 0x45, 0x44, 0x60, 0x40, 0x63, 0x34, 0xe2, 0x24, 0xcb, 0x54, 0x5c, 0xc6, 0xb6, 0x99, 0x74, 0x97, 0x57, 0xbb, 0x21, 0xa1, 0x1b, 0xd5, 0xd3, 0x05, 0xcf, 0x87, 0x29, 0x37, 0x75, 0x9f, 0x96, 0x95, 0xa4, 0xbf, 0x1f, 0x61, 0x26, 0x7b, 0x0d, 0xf5, 0xa1, 0x5a, 0x44, 0xe0, 0x78, 0x6a, 0x15, 0x5c, 0x60, 0x69, 0xf5, 0x89, 0x4e, 0x39, 0x3b, 0x07, 0xf3, 0x8e, 0xaa, 0xbb, 0xfb, 0x3f, 0xb5, 0x9f, 0x7e, 0xb8, 0x84, 0xb0, 0x0b, 0x5e, 0x42, 0xb7, 0xb8, 0xe3, 0xa0, 0x53, 0x44, 0xf2, 0x58, 0x6c, 0xdb, 0xcf, 0xb4, 0xa5, 0x50, 0x00, 0x28, 0x1e, 0xfe, 0xef, 0x8a, 0x33, 0xe1, 0xfa, 0x72, 0x6f, 0x95, 0xff, 0xdb, 0xf9, 0xf7, 0x4b, 0xf5, 0x65, 0x88, 0xb2, 0x5f, 0x32, 0x4b, 0x48, 0x30, 0x34, 0x51, 0x00, 0x78, 0xf8, 0x0e, 0x15, 0xad, 0x91, 0xc3, 0xe3, 0x74, 0x2a, 0x1c, 0x6a, 0x34, 0x0c, 0x51, 0x59, 0x6d, 0xf7, 0x3b, 0x66, 0x68, 0xf7, 0x31, 0xe4, 0x9b, 0x05, 0x00, 0x8b, 0xe5, 0x1c, 0xc2, 0x3d, 0x39, 0xda, 0x5c, 0x24, 0xf4, 0x2d, 0x52, 0x9a, 0xf7, 0xc6, 0x27, 0x2a, 0xdf, 0x5a, 0x79, 0x5b, 0x74, 0x15, 0x2b, 0x6f, 0x91, 0xaa, 0x60, 0x24, 0xdd, 0x3a, 0xa2, 0xa9, 0x98, 0x90, 0x30, 0x19, 0xfa, 0x73, 0x23, 0x54, 0xc9, 0x2d, 0x30, 0xb3, 0x19, 0x77, 0xc1, 0xd2, 0x44, 0x0f, 0xa4, 0x73, 0x94, 0xb2, 0x40, 0x1c, 0xc7, 0x55, 0x6d, 0x69, 0x7b, 0xc5, 0xb8, 0x50, 0xb4, 0xed, 0x57, 0x4d, 0xd2, 0x08, 0x32, 0x99, 0xb4, 0xac, 0x36, 0x08, 0x7f, 0x62, 0xaf, 0x1d, 0xee, 0x95, 0x2c, 0x8f, 0x75, 0x0b, 0xf3, 0xa0, 0xf4, 0x3b, 0x60, 0x4a, 0xa6, 0x83, 0x16, 0xb0, 0x6b, 0x23, 0xa9, 0x7e, 0x4f, 0x62, 0x8c, 0x91, 0xd9, 0x11, 0xaa, 0x82, 0xbd, 0x48, 0xeb, 0x84, 0xdb, 0x2d, 0x94, 0x3f, 0x20, 0x2b, 0x4f, 0xda, 0x64, 0x9f, 0x5b, 0x83, 0x1c, 0x5e, 0xf9, 0xbf, 0x83, 0xb3, 0xea, 0xb7, 0xb9, 0x5e, 0x8d, 0xff, 0x9d, 0x90, 0x70, 0x54, 0x23, 0x11, 0xfb, 0xf7, 0xaf, 0x85, 0xda, 0x16, 0x67, 0xda, 0x60, 0x31, 0xeb, 0xed, 0xc1, 0x66, 0x6e, 0x8a, 0xf8, 0xb0, 0xe3, 0xb6, 0x81, 0xaa, 0x08, 0xd0, 0x32, 0xf5, 0xa9, 0xcf, 0x09, 0x91, 0x40, 0x93, 0xc5, 0x4e, 0x54, 0xcb, 0xeb, 0x1d, 0x12, 0x90, 0x10, 0x82, 0x52, 0xd5, 0x56, 0xb4, 0x5b, 0xde, 0x88, 0x5a, 0xb1, 0x6a, 0x3d, 0xad, 0x03, 0x1b, 0xa0, 0x8b, 0xf7, 0xad, 0x26, 0x6b, 0x36, 0x68, 0x08, 0x01, 0xe4, 0x5e, 0xf5, 0xa2, 0x19, 0xd6, 0x8f, 0x59, 0x1c, 0x0a, 0x4f, 0x97, 0x2b, 0x8d, 0xc2, 0x78, 0xef, 0x9f, 0xea, 0xfd, 0xcc, 0xd4, 0x68, 0xc9, 0xad, 0x80, 0x65, 0xfe, 0x6a, 0xbd, 0xf0, 0x57, 0x9d, 0x97, 0x6a, 0xcc, 0xea, 0xa1, 0x7e, 0x84, 0xb6, 0x34, 0x17, 0xc1, 0x52, 0x05, 0xee, 0xf4, 0x86, 0x29, 0x8a, 0x9f, 0x3f, 0xd5, 0xdf, 0x31, 0x2d, 0x5d, 0xff, 0xf6, 0xfa, 0x81, 0x24, 0xa5, 0x70, 0x2b, 0x2c, 0xa0, 0x3d, 0xb5, 0x4b, 0x15, 0xfc, 0x92, 0x53, 0xa2, 0xbf, 0x5b, 0x74, 0x6f, 0xb7, 0xbd, 0xcd, 0x62, 0xb4, 0x1f, 0x77, 0xff, 0x0f, 0x65, 0x9c, 0x11, 0x91, 0xd0, 0xff, 0xa1, 0xda, 0xc0, 0x23, 0x18, 0xae, 0xf9, 0xcc, 0x10, 0x09, 0xf9, 0xa7, 0xd4, 0x28, 0xf6, 0x2e, 0xa8, 0x16, 0x03, 0xb3, 0xd6, 0x0b, 0x14, 0xa3, 0xea, 0xaf, 0x6a, 0xe8, 0x6e, 0x67, 0xe2, 0x59, 0x0f, 0x23, 0xbf, 0xeb, 0x64, 0x85, 0x5c, 0x01, 0x7c, 0x1c, 0xf7, 0x76, 0x76, 0xa6, 0x8f, 0x32, 0x51, 0xe3, 0x80, 0xfa, 0xd6, 0x30, 0x76, 0x54, 0x4e, 0xd1, 0x32, 0x56, 0x46, 0xa2, 0x2b, 0xc4, 0x9b, 0x4b, 0x9d, 0xe0, 0x7e, 0x35, 0x49, 0xa4, 0xec, 0xed, 0xbc, 0xcc, 0x8b, 0x5f, 0x17, 0x73, 0x58, 0x23, 0xf9, 0x15, 0x82, 0x42, 0x6f, 0x6b, 0x1c, 0xdd, 0xcd, 0xe4, 0x4a, 0x86, 0x56, 0xa6, 0x2b, 0x61, 0xe7, 0xbf, 0xfe, 0xf0, 0xe9, 0x82, 0x2b, 0xdd, 0x5c, 0x47, 0x6a, 0x3f, 0x0d, 0xda, 0x61, 0xbe, 0x51, 0x97, 0x5a, 0xa7, 0x7b, 0x1a, 0x8d, 0x28, 0x4b, 0x4a, 0x1d, 0xe5, 0x28, 0xcb, 0xc9, 0xeb, 0x1f, 0xd6, 0x02, 0xa2, 0x91, 0x44, 0xe2, 0x8d, 0xe7, 0x92, 0x3f, 0x7f, 0x43, 0x9a, 0x0c, 0xfd, 0x7c, 0x41, 0x64, 0x31, 0x91, 0xb4, 0x52, 0x33, 0xda, 0x9e, 0x23, 0xbb, 0xca, 0x0b, 0x79, 0x94, 0x92, 0x68, 0xd5, 0x72, 0xcb, 0x79, 0x2c, 0xf2, 0x12, 0x81, 0x62, 0xd6, 0xd8, 0x65, 0xe6, 0x21, 0xc9, 0xa0, 0x7b, 0xb1, 0xcc, 0xd7, 0xa0, 0x78, 0x4a, 0x6f, 0x1c, 0x45, 0x0b, 0xed, 0x05, 0x0c, 0xbc, 0x6a, 0x73, 0x11, 0x3f, 0x9e, 0x1a, 0xa0, 0xc4, 0xa9, 0x4d, 0xae, 0xc2, 0xa1, 0x5f, 0x77, 0xee, 0xe4, 0xbc, 0x84, 0x4f, 0xd0, 0xda, 0x84, 0x8c, 0x14, 0xe6, 0x6e, 0x4b, 0x52, 0xf5, 0xa2, 0x0d, 0x89, 0x16, 0x89, 0x4b, 0x33, 0x1c, 0xdf, 0x64, 0x48, 0xac, 0x18, 0xc5, 0x27, 0x78, 0x14, 0x42, 0x7f, 0x16, 0x62, 0x78, 0xb5, 0x8e, 0x7b, 0xc2, 0xb5, 0x4c, 0xdb, 0xe4, 0x35, 0xfc, 0x65, 0x24, 0x5f, 0x27, 0xc8, 0xcf, 0x1f, 0x18, 0x16, 0x57, 0x35, 0xf3, 0x83, 0x5b, 0x3d, 0xec, 0x01, 0xa0, 0x12, 0xb3, 0x4c, 0xb8, 0x9b, 0xac, 0xc1, 0x5a, 0x77, 0x13, 0x54, 0x02, 0x57, 0x4e, 0x59, 0x1b, 0x5d, 0xa5, 0x83, 0x5b, 0xa9, 0x08, 0xa0, 0xcd, 0x96, 0xfa, 0xb9, 0x27, 0x9b, 0x44, 0x74, 0x19, 0x57, 0x89, 0xb0, 0x84, 0xe5, 0x49, 0x12, 0x7a, 0xd5, 0xe8, 0x94, 0x2a, 0xe3, 0xb2, 0xba, 0x99, 0xda, 0x23, 0x6c, 0xc3, 0x07, 0x3a, 0x11, 0x54, 0x95, 0x97, 0xd1, 0xcd, 0xad, 0x3f, 0xe8, 0x5d, 0x3e, 0x7c, 0x53, 0xc1, 0xf7, 0xff, 0xe5, 0xae, 0xc8, 0xd6, 0x08, 0x4f, 0x2c, 0x58, 0x23, 0x9c, 0x6d, 0xe9, 0xfe, 0xfe, 0xc0, 0x36, 0xf9, 0x93, 0xef, 0x9a, 0xf4, 0xc2, 0xef, 0x4c, 0x75, 0x69, 0x98, 0xb7, 0x56, 0x81, 0x6d, 0xa2, 0xc1, 0xbc, 0x39, 0x63, 0x60, 0xa7, 0xab, 0xd1, 0x12, 0x0d, 0xb0, 0xd9, 0x10, 0x45, 0xdd, 0x5f, 0xce, 0xdc, 0x7f, 0xd9, 0x01, 0xa4, 0xff, 0xf9, 0x2f, 0x81, 0x07, 0x87, 0xa7, 0xb3, 0xe0, 0xc0, 0xc9, 0xe8, 0xda, 0x61, 0xca, 0x38, 0x47, 0xa5, 0x57, 0x9c, 0x34, 0xdb, 0x0e, 0x65, 0xc0, 0x86, 0xa7, 0x1f, 0xff, 0x53, 0xc9, 0xb2, 0x37, 0xea, 0xc2, 0xa4, 0xed, 0x79, 0x0e, 0xa9, 0x20, 0x3a, 0x37, 0x50, 0x6d, 0x6e, 0xbd, 0x4e, 0x2c, 0x62, 0x96, 0x62, 0xd6, 0x89, 0xf0, 0xea, 0x07, 0x78, 0xa6, 0x17, 0xb6, 0x47, 0x22, 0xca, 0x00, 0xe9, 0x3c, 0x30, 0x69, 0xd9, 0x3b, 0x10, 0xa1, 0x53, 0x20, 0x6f, 0x3e, 0x53, 0x52, 0xbf, 0xa3, 0x47, 0xe1, 0xb5, 0x4b, 0x2b, 0x21, 0x5e, 0x3d, 0xba, 0x64, 0x49, 0xf4, 0xf8, +}; diff --git a/Pak/src/pak_main.cpp b/Pak/src/pak_main.cpp index 29f96e9..1a84dfe 100644 --- a/Pak/src/pak_main.cpp +++ b/Pak/src/pak_main.cpp @@ -7,6 +7,8 @@ #include "crypto_xor.h" #include "keys.h" +// TODO: cleanup + struct PakHeader { u32 magic; @@ -47,30 +49,58 @@ struct PakFile { const PakHeader header; + enum { + ROOT_ID = -1 + }; + struct Directory { i32 ID; u16 dirCount; u16 fileCount; - wchar_t* name; + const wchar_t* name; + wchar_t path[256]; + }; + + struct File + { + i32 cryptType; + i32 offset; + i32 decompressedSize; + i32 compressedSize; + const wchar_t* name; + wchar_t path[256]; }; Array dirs; + Array files; explicit PakFile(const PakHeader& header_) :header(header_) { - dirs.Reserve(header.totalDirectoryCount); + dirs.Reserve(header.totalDirectoryCount + 1); // + root + dirs.Reserve(header.totalFileCount); + } + + void ReadTree(ConstBuffer& buff) + { + PakFile::Directory& dir = dirs.Push({}); + dir.ID = ROOT_ID; + dir.dirCount = header.rootDirectoryCount; + dir.fileCount = header.rootFileCount; + dir.name = L"root"; + memset(dir.path, 0, sizeof(dir.path)); // "" + ReadDirectory(buff, &dir); } - void ReadDirectory(ConstBuffer& buff, const i32 dirCount, const i32 fileCount, const wchar_t* dirName) + void ReadDirectory(ConstBuffer& buff, const Directory* parent) { - LOG("%ls {", dirName); + LOG("%ls {", parent->name); buff.Read(); // root directory entries - for(int i = 0; i < dirCount; i++) { + for(int i = 0; i < parent->dirCount; i++) { u16 entrySize = buff.Read(); void* entryData = buff.ReadRaw(entrySize - 2); ConstBuffer entry(entryData, entrySize); @@ -87,11 +117,13 @@ struct PakFile dir.dirCount = dirCount; dir.fileCount = fileCount; dir.name = name; + memmove(dir.path, parent->path, sizeof(parent->path)); + PathAppendW(dir.path, dir.name); dirs.Push(dir); } // root file entries - for(int i = 0; i < fileCount; i++) { + for(int i = 0; i < parent->fileCount; i++) { u16 entrySize = buff.Read(); void* entryData = buff.ReadRaw(entrySize - 2); ConstBuffer entry(entryData, entrySize); @@ -101,16 +133,32 @@ struct PakFile u8* unk = entry.Read(); i32 compressedSize = entry.Read(); u16 i1 = entry.Read(); - u16 i2 = entry.Read(); - wchar_t* name = (wchar_t*)entry.ReadRaw(entrySize - 26); - - LOG("[FILE] offset=%d size(%d > %d) name='%ls'", offset, compressedSize, decompressedSize, name); + u16 cryptType = entry.Read(); + const wchar_t* name = (wchar_t*)entry.ReadRaw(entrySize - 26); + + LOG("[FILE] offset=%d size(%d > %d) name='%ls' cryptType=%d", offset, compressedSize, decompressedSize, name, cryptType); + /*LOG_NNL(" unk=[ "); + for(int i = 0; i < 8; i++) { + LOG_NNL("%x,", unk[i]); + } + LOG("]"); + LOG("i1=%d cryptType=%d", i1, cryptType);*/ + + PakFile::File file; + file.cryptType = cryptType; + file.offset = offset; + file.decompressedSize = decompressedSize; + file.compressedSize= compressedSize; + file.name = name; + memmove(file.path, parent->path, sizeof(parent->path)); + PathAppendW(file.path, file.name); + files.Push(file); } // directories content - for(int di = 0; di < dirCount; di++) { - const PakFile::Directory& dir = dirs[di]; - ReadDirectory(buff, dir.dirCount, dir.fileCount, dir.name); + for(int di = 0; di < parent->dirCount; di++) { + const PakFile::Directory& dir = dirs[dirs.Count() - parent->dirCount + di]; + ReadDirectory(buff, &dir); } LOG("}"); @@ -134,9 +182,10 @@ void PathGetDirectory(const char* from, char* out) PathRemoveFileSpecA(out); } +// Warning: replaces file if it exists bool FileSaveBuff(const wchar_t* path, const void* data, const i32 dataSize) { - HANDLE hFile = CreateFileW(path, GENERIC_WRITE, 0, NULL, CREATE_NEW, FILE_ATTRIBUTE_NORMAL, NULL); + HANDLE hFile = CreateFileW(path, GENERIC_WRITE, 0, NULL, TRUNCATE_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL); if(hFile == INVALID_HANDLE_VALUE) { LOG("ERROR(CreateFileW): %d", GetLastError()); return false; @@ -278,7 +327,94 @@ bool UnpakFile(const char* outputDir, u8* fileData, i32 fileSize) ConstBuffer buff(subHeaderData, header.subHeaderSize); PakFile pak(header); - pak.ReadDirectory(buff, header.rootDirectoryCount, header.rootFileCount, L"root"); + pak.ReadTree(buff); + + // create directory tree + LOG("Creating directory tree..."); + const i32 dirCount = pak.dirs.Count(); + for(int i = 0; i < dirCount; i++) { + const PakFile::Directory& dir = pak.dirs[i]; + wchar_t path[512]; + mbstowcs(path, outputDir, ARRAY_COUNT(path)); + + PathAppendW(path, dir.path); + BOOL r = CreateDirectoryW(path, NULL); + } + + // extract files + LOG("Extracting files..."); + CryptoXOR individual1; + individual1.Init(g_IndividualXorKey, sizeof(g_IndividualXorKey)); + + CryptoAES individual2; + const u8 key1[16] = { + 0xa0, 0x1d, 0x3d, 0x99, 0x3b, 0x82, 0x0f, 0x1e, 0x13, 0x0a, 0x89, 0x55, 0x8d, 0xc0, 0xde, 0x22, + }; + + const u8 key2[16] = { + 0x49, 0x59, 0x63, 0x55, 0xfd, 0x61, 0x71, 0x01, 0x00, 0xf3, 0xb9, 0xde, 0xb6, 0x6f, 0xb2, 0xa5, + }; + + individual2.Init(key1, key2); + + BrotliDecoderState* dec = BrotliDecoderCreateInstance(0, 0, 0); + defer(BrotliDecoderDestroyInstance(dec);); + + const i32 fileCount = pak.files.Count(); + for(int i = 0; i < fileCount; i++) { + const PakFile::File& file = pak.files[i]; + + fileBuff = ConstBuffer(fileData, fileSize); + fileBuff.ReadRaw(file.offset); + u8* fileEntryData = fileBuff.ReadRaw(file.compressedSize); + + if(file.cryptType == 1) { + individual1.Decrypt(fileEntryData, file.compressedSize, 0); + } + else if(file.cryptType == 2) { + individual2.Decrypt(fileEntryData, file.compressedSize, 0); + } + else { + ASSERT_MSG(0, "invalid crypt type"); + } + + ASSERT(file.decompressedSize < ((u32)2 * (1024*1024*1024))); // < 2GB + + LOG("'%ls'...", file.name); + if(file.decompressedSize != file.compressedSize) { + u8* dest = (u8*)malloc(file.decompressedSize); + size_t decodedSize = file.decompressedSize; + BrotliDecoderResult bdr = BrotliDecoderDecompress(file.compressedSize, fileEntryData, &decodedSize, dest); + + if(bdr == BrotliDecoderResult::BROTLI_DECODER_RESULT_SUCCESS) { + wchar_t path[512]; + mbstowcs(path, outputDir, ARRAY_COUNT(path)); + PathAppendW(path, file.path); + + bool r = FileSaveBuff(path, dest, decodedSize); + if(!r) { + LOG("ERROR(FileSaveBuff): failed to save file '%ls'", path); + continue; + } + } + else { + LOG("ERROR(BrotliDecoderDecompress): could not decode input"); + continue; + } + } + else { + wchar_t path[512]; + mbstowcs(path, outputDir, ARRAY_COUNT(path)); + PathAppendW(path, file.path); + + bool r = FileSaveBuff(path, fileEntryData, file.compressedSize); + if(!r) { + LOG("ERROR(FileSaveBuff): failed to save file '%ls'", path); + continue; + } + } + } + return true; } From e4036af4ef2589e5d8c6651b7a4760d0aa00432b Mon Sep 17 00:00:00 2001 From: LordSk Date: Sat, 25 Jul 2020 19:37:22 +0200 Subject: [PATCH 10/14] Fixed file creation bug --- Pak/src/pak_main.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Pak/src/pak_main.cpp b/Pak/src/pak_main.cpp index 1a84dfe..5366263 100644 --- a/Pak/src/pak_main.cpp +++ b/Pak/src/pak_main.cpp @@ -185,7 +185,7 @@ void PathGetDirectory(const char* from, char* out) // Warning: replaces file if it exists bool FileSaveBuff(const wchar_t* path, const void* data, const i32 dataSize) { - HANDLE hFile = CreateFileW(path, GENERIC_WRITE, 0, NULL, TRUNCATE_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL); + HANDLE hFile = CreateFileW(path, GENERIC_WRITE, 0, NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL); if(hFile == INVALID_HANDLE_VALUE) { LOG("ERROR(CreateFileW): %d", GetLastError()); return false; From d9fa38257a78b492a3265d6a756f1c1b2fe531a8 Mon Sep 17 00:00:00 2001 From: LordSk Date: Sat, 25 Jul 2020 21:00:14 +0200 Subject: [PATCH 11/14] Fixed subtle bug (using dirs.Count() when it is not constant) --- Pak/src/pak_main.cpp | 22 ++++++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) diff --git a/Pak/src/pak_main.cpp b/Pak/src/pak_main.cpp index 5366263..9909400 100644 --- a/Pak/src/pak_main.cpp +++ b/Pak/src/pak_main.cpp @@ -59,7 +59,7 @@ struct PakFile u16 dirCount; u16 fileCount; const wchar_t* name; - wchar_t path[256]; + wchar_t path[512]; }; struct File @@ -69,7 +69,7 @@ struct PakFile i32 decompressedSize; i32 compressedSize; const wchar_t* name; - wchar_t path[256]; + wchar_t path[512]; }; Array dirs; @@ -79,7 +79,7 @@ struct PakFile :header(header_) { dirs.Reserve(header.totalDirectoryCount + 1); // + root - dirs.Reserve(header.totalFileCount); + files.Reserve(header.totalFileCount); } void ReadTree(ConstBuffer& buff) @@ -91,6 +91,9 @@ struct PakFile dir.name = L"root"; memset(dir.path, 0, sizeof(dir.path)); // "" ReadDirectory(buff, &dir); + + ASSERT(dirs.Count() == header.totalDirectoryCount + 1); + ASSERT(files.Count() == header.totalFileCount); } void ReadDirectory(ConstBuffer& buff, const Directory* parent) @@ -134,6 +137,7 @@ struct PakFile i32 compressedSize = entry.Read(); u16 i1 = entry.Read(); u16 cryptType = entry.Read(); + ASSERT(cryptType == 1 || cryptType == 2); const wchar_t* name = (wchar_t*)entry.ReadRaw(entrySize - 26); LOG("[FILE] offset=%d size(%d > %d) name='%ls' cryptType=%d", offset, compressedSize, decompressedSize, name, cryptType); @@ -156,8 +160,9 @@ struct PakFile } // directories content + const i32 dirCount = dirs.Count(); for(int di = 0; di < parent->dirCount; di++) { - const PakFile::Directory& dir = dirs[dirs.Count() - parent->dirCount + di]; + const PakFile::Directory& dir = dirs[dirCount - parent->dirCount + di]; ReadDirectory(buff, &dir); } @@ -309,6 +314,11 @@ bool UnpakFile(const char* outputDir, u8* fileData, i32 fileSize) LOG("magic='%.4s' version=%d.%d", (char*)&header.magic, header.majorVersion, header.minorVersion); + if(!(header.magic == 0x574b4150 && header.majorVersion == 1 && header.minorVersion)) { + LOG("ERROR(UnpakFile): file format not supported (magic='%.4s' version=%d.%d)", (char*)&header.magic, header.majorVersion, header.minorVersion); + return false; + } + ctx.Decrypt(&header._unk1, 28, 0); LOG("header = {"); @@ -322,7 +332,9 @@ bool UnpakFile(const char* outputDir, u8* fileData, i32 fileSize) u8* subHeaderData = fileBuff.ReadRaw(header.subHeaderSize); ctx.Decrypt(subHeaderData, header.subHeaderSize, 28); +#ifdef CONF_DEBUG fileSaveBuff("header.raw", subHeaderData, header.subHeaderSize); +#endif ConstBuffer buff(subHeaderData, header.subHeaderSize); @@ -427,6 +439,8 @@ int main(int argc, char** argv) const char* inputPath = argv[1]; const char* outputDir = argv[2]; + LOG("'%s' > '%s'", inputPath, outputDir); + // open and read input file i32 fileSize; u8* fileData = fileOpenAndReadAll(inputPath, &fileSize); From 6eba14f58f9adc19586254736e4a5e10aff1c18e Mon Sep 17 00:00:00 2001 From: LordSk Date: Sat, 25 Jul 2020 21:00:37 +0200 Subject: [PATCH 12/14] Added convenient extraction script --- Pak/scripts/extract_paks.py | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 Pak/scripts/extract_paks.py diff --git a/Pak/scripts/extract_paks.py b/Pak/scripts/extract_paks.py new file mode 100644 index 0000000..3ab5ae5 --- /dev/null +++ b/Pak/scripts/extract_paks.py @@ -0,0 +1,30 @@ +import os +import shutil +import glob +import sys + +script_dir = os.path.dirname(os.path.realpath(__file__)) +cur_dir = os.path.realpath(os.getcwd()) +input_dir = sys.argv[1] +output_dir = sys.argv[2] + +print(script_dir, cur_dir, input_dir, output_dir) + +tool_path = os.path.realpath(os.path.join(script_dir, "pak.exe")) +print(tool_path) + +pak_files = glob.glob(input_dir + '/**/*.pak', recursive=True) +#print(pak_files) + +for f in pak_files: + fdir = os.path.dirname(f)[len(input_dir)+1:] + filename = os.path.basename(f) + + #print(filename) + #print(filename[:-4]) + #print(output_dir) + #print(fdir) + os.makedirs(os.path.join(output_dir, fdir), exist_ok=True) + + #print("%s %s %s" % (tool_path, f, os.path.join(output_dir, fdir, filename[:-4]))) + os.system("%s %s %s" % (tool_path, f, os.path.join(output_dir, fdir, filename[:-4]))) \ No newline at end of file From a3b6147123839a96f141432c06afcace3ff2fd7e Mon Sep 17 00:00:00 2001 From: LordSk Date: Sat, 25 Jul 2020 21:13:58 +0200 Subject: [PATCH 13/14] Added script usage --- Pak/scripts/extract_paks.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/Pak/scripts/extract_paks.py b/Pak/scripts/extract_paks.py index 3ab5ae5..a9eaf83 100644 --- a/Pak/scripts/extract_paks.py +++ b/Pak/scripts/extract_paks.py @@ -3,15 +3,20 @@ import glob import sys +if len(sys.argv) < 3: + print('Usage: python extract_paks.py "Path\\To\\MXM" "Path\\To\\Extraction"') + print('Example: python extract_paks.py "C:\\MXM" "C:\\MXM_extracted"') + exit() + script_dir = os.path.dirname(os.path.realpath(__file__)) cur_dir = os.path.realpath(os.getcwd()) input_dir = sys.argv[1] output_dir = sys.argv[2] -print(script_dir, cur_dir, input_dir, output_dir) +#print(script_dir, cur_dir, input_dir, output_dir) tool_path = os.path.realpath(os.path.join(script_dir, "pak.exe")) -print(tool_path) +#print(tool_path) pak_files = glob.glob(input_dir + '/**/*.pak', recursive=True) #print(pak_files) From e775269022bd6c91e20755f1eae3f248ae01b076 Mon Sep 17 00:00:00 2001 From: LordSk Date: Sat, 25 Jul 2020 22:04:32 +0200 Subject: [PATCH 14/14] Fixed space handling in paths --- Pak/scripts/extract_paks.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/Pak/scripts/extract_paks.py b/Pak/scripts/extract_paks.py index a9eaf83..fbbd014 100644 --- a/Pak/scripts/extract_paks.py +++ b/Pak/scripts/extract_paks.py @@ -2,6 +2,7 @@ import shutil import glob import sys +import subprocess if len(sys.argv) < 3: print('Usage: python extract_paks.py "Path\\To\\MXM" "Path\\To\\Extraction"') @@ -31,5 +32,6 @@ #print(fdir) os.makedirs(os.path.join(output_dir, fdir), exist_ok=True) - #print("%s %s %s" % (tool_path, f, os.path.join(output_dir, fdir, filename[:-4]))) - os.system("%s %s %s" % (tool_path, f, os.path.join(output_dir, fdir, filename[:-4]))) \ No newline at end of file + print('"%s" "%s" "%s"' % (tool_path, f, os.path.join(output_dir, fdir, filename[:-4]))) + #os.system('"%s" "%s" "%s"' % (tool_path, f, os.path.join(output_dir, fdir, filename[:-4]))) + subprocess.run([tool_path, f, os.path.join(output_dir, fdir, filename[:-4])]) \ No newline at end of file