From 133604f2496f6337d3ed2ada77eebf8bf58f6fb7 Mon Sep 17 00:00:00 2001 From: Triang3l Date: Sat, 22 Sep 2018 19:03:25 +0300 Subject: [PATCH] [D3D12] Decompress textures if their size is not 4x4-aligned --- .../shaders/dxbc/texture_load_dxn_rg8_cs.cso | Bin 0 -> 17796 bytes .../shaders/dxbc/texture_load_dxn_rg8_cs.h | 1487 +++++++++++++++++ .../shaders/dxbc/texture_load_dxn_rg8_cs.txt | 524 ++++++ .../dxbc/texture_load_dxt3_rgba8_cs.cso | Bin 0 -> 13236 bytes .../shaders/dxbc/texture_load_dxt3_rgba8_cs.h | 1107 ++++++++++++ .../dxbc/texture_load_dxt3_rgba8_cs.txt | 393 +++++ .../shaders/dxbc/texture_load_dxt3a_cs.cso | Bin 6828 -> 7552 bytes .../shaders/dxbc/texture_load_dxt3a_cs.h | 665 ++++---- .../shaders/dxbc/texture_load_dxt3a_cs.txt | 251 +-- .../shaders/dxbc/texture_load_dxt5a_r8_cs.cso | Bin 0 -> 11576 bytes .../shaders/dxbc/texture_load_dxt5a_r8_cs.h | 969 +++++++++++ .../shaders/dxbc/texture_load_dxt5a_r8_cs.txt | 332 ++++ .../gpu/d3d12/shaders/pixel_formats.hlsli | 10 + .../shaders/texture_load_dxn_rg8.cs.hlsl | 82 + .../shaders/texture_load_dxt3_rgba8.cs.hlsl | 64 + .../d3d12/shaders/texture_load_dxt3a.cs.hlsl | 29 +- .../shaders/texture_load_dxt5a_r8.cs.hlsl | 52 + src/xenia/gpu/d3d12/texture_cache.cc | 245 ++- src/xenia/gpu/d3d12/texture_cache.h | 28 +- 19 files changed, 5728 insertions(+), 510 deletions(-) create mode 100644 src/xenia/gpu/d3d12/shaders/dxbc/texture_load_dxn_rg8_cs.cso create mode 100644 src/xenia/gpu/d3d12/shaders/dxbc/texture_load_dxn_rg8_cs.h create mode 100644 src/xenia/gpu/d3d12/shaders/dxbc/texture_load_dxn_rg8_cs.txt create mode 100644 src/xenia/gpu/d3d12/shaders/dxbc/texture_load_dxt3_rgba8_cs.cso create mode 100644 src/xenia/gpu/d3d12/shaders/dxbc/texture_load_dxt3_rgba8_cs.h create mode 100644 src/xenia/gpu/d3d12/shaders/dxbc/texture_load_dxt3_rgba8_cs.txt create mode 100644 src/xenia/gpu/d3d12/shaders/dxbc/texture_load_dxt5a_r8_cs.cso create mode 100644 src/xenia/gpu/d3d12/shaders/dxbc/texture_load_dxt5a_r8_cs.h create mode 100644 src/xenia/gpu/d3d12/shaders/dxbc/texture_load_dxt5a_r8_cs.txt create mode 100644 src/xenia/gpu/d3d12/shaders/texture_load_dxn_rg8.cs.hlsl create mode 100644 src/xenia/gpu/d3d12/shaders/texture_load_dxt3_rgba8.cs.hlsl create mode 100644 src/xenia/gpu/d3d12/shaders/texture_load_dxt5a_r8.cs.hlsl diff --git a/src/xenia/gpu/d3d12/shaders/dxbc/texture_load_dxn_rg8_cs.cso b/src/xenia/gpu/d3d12/shaders/dxbc/texture_load_dxn_rg8_cs.cso new file mode 100644 index 0000000000000000000000000000000000000000..645f2aed2f6e152b57b750c7860c416daf1f2254 GIT binary patch literal 17796 zcmd6uPpn<&Ho;_m*z@Z#?C3+U-Up5D8*fAG?^gZ<&gTOspU^m{{ajnVdcSQPg>lcR`H*Q1)M&5JgLvU(; z76Di<=he#x7hYLedu2}*Jy%;<&$NH}_glH`UfCaByL|276T^+IX4e?dWRKHdiltt| z<^A)YxH!DLw|8X-zwm0_uWM`gn;9=(*}L#N`zx|{uU)+S(zR>5`>RWfuwK3V>iNA( zm-crLhF`yY;ribG-lc<`k3M&5=X0Mw`}v)-ue@||_xjH1y{oTYz7mtiAN%FUhiA_I z+83x>8sitc=d+)C`o$}C7=9xTiw{LX{`OtN)^EmfaOO|R{$Zp3Xy1+Pf99*xHR#`g z{$GzXowV~&-q)kTUx|@A{;Mcu?AVD;~KoObJ67-#D~`Jrrl$oo|dh502RFam;Ivj4d|V(6jw^tYiPt7@?IKKccmHjOYs7@qZZQyzqyI zy5K7{evIwIG1AY4T;c`qrDKP3!IMkqG;qp&^L-0DOJ!xzz;gG5EqCgx{%qA@`0>q~ z_nb^|Al}FpLmqez`&(}Ci8W|qzcCDVpBQOdb>X)od4Y##8uk(|>^c+n>Ob;wM;|z7 z#FY^|e4+3Cu9do|wp}9O?@RTlSr?&64%GD=<42Q^|p8TCLs zz`eP>s3~;O$nCc^tZUFzsHq2jT!O7 z7xIGqQO4cwiLJn!Gj!)1#$&60>?5A?8=J2W!#&zw>iQh!JY*T6v+W1o-;it0d%W>> zz1bQ(j_BoF&OOVErAag1$kU%vhhZn4b5}->$KFyGXA$wTi`U+km%!!PU|xcDPmH<4 zD?XMcP5rEcvp%TG+?8Q{D6fryU5<4a-W$)k=lTGbb(-rEd^yI<=XCO3n>)P3J9l__ zo|Dnn0W$gquQi3;5nt}VR#(Wr)xG4IKs>dj)WfrYeL@H4J@djHi+u#n*7jjMgx+Is zL`JB~?Q~aS*H&HLZEMd%WSkt&9_%sZo^#j-owL?`oA)U-8G5%rKAt1;ml_K!lB}^= zAH=QHX-JrG2F?{0dmB zdq!<`|Ke-zrLM1UFv{&^WS^OrIt=fNG572@x=)VhJ#&31b-ivdz0Tu7%N^dnQK#ey z-B|{-Qm207A2e{e!^;{r=A3)}tn)peDa^C)$k6v(&%e}?B3T-QJ>|f;@57v|w`PukRM!n`PZ>h1+wX91Y#9Is4 zRO(bF@}cz&Ue=TmdE4Tg%x4Mjvz%M_OAI~BVmjo{2l*@`UYvKd9Iv<~sS--ZNj_8CQqFbz-G|>(=$V*^>C9CYPVT^5-h!3;s(9gAUpXHr1>catMF^ z{KgrHzwE)kICA)|(ckC6x5N=U@TJC&o6~>pDeCHW}q#wJg&x|F7{~tEUbOKzeF+jem~_k=A};Y(5$JYopD{B7-LJVG#^G9_LG-P<7}ed zp|KC+`+|4PPi)rZ*>^MQx75|U#XO5+1UJp{aML&*izUwwaC3DdjuG5kp0Nvg>Ibhc zo(1X_qc44q%%MK?>)6rL^hF!U!NY-~UbbUImNarmUNemxlGjWlpV$t~yk?o$-^&kMXcFXlSS#Qt7prYSSilnKrF%;lQ%z0{vP*XSZH zo8*aOEOkED$T7~wU0>#Mt?oW=?>5)j26FJmnp{Kca}CYBn15*I1)90eGSR0VWoDW( zGfkP$h|jrkFY`>?sLfJWYdK;vdDmnQ=Dv;xdDz8T-+b3puOq%{6Z0%1>th}~lXrAv zlsXL0eDje>S01(?PaI>{n>=J^y}dlX7w4VEI|mu!)x~#TSr>87J$RZfKBs~MU+Svu zy)JcvSB5mkQdecf`&`qt3HK{ev-qX|V~m@x(%g?ci`Q3t37aN(`M~tP7&q+lJ-fH@ zZ?FFFX70TV<->Ps^iz9SD|IEuOFP7=lV@cpR~b2X%(X)q;(0bN=9W4xbu};6%JEpI z2E-AUuDAU8xfXn>tMaso?*Np?2wq)$_vc!vAt#=5*LKcCaNtYbtV^BXl_8C>)KwYQ zxM7!d+1r?Fl6fyf`S4j&+QV9@D>+`;Ax@n< zD?_=;$hpgPsSNQv8-o~IZXG!nW8P{^8e^%$@Xbe_nRM;gbe39g){*iUbDz5hkUzJE zO!MM-asYd+2I)A`acuHP7ZuU);mTV$B*7Kib@6Wg4>JSC(s8U(gz#_n9O6 zGS*t$rFjO-#a+4L(3iV$*QYt0vCVpo%iP+SlV-1Wu;RwHJ3a3+un<{z8OFDIwD`2;LS3!KIY+b zi?cC8Myac3sPf=3f8cUWjPoXs+6D){)Kz)r#`9F$!K=&rN}KvKNZZZpru#}=j(J~5 zV=Q&mUhj}iIO|IP8N<%DFQpl4p2h1czVvwcz|6%ByF9CU8|Us2amwfU)L0MN!&<4U zdDaeb%HmlW%2h_6zg~uTWc0ap5A^TI){1wSxZv+=v(=^d1o%={^Q=wx#k%{35xlzM zGtzRc)Q}U;xoi9VBMyA2n{}xZyfUOQmbxm#y4-}b&h(!#bhNsZ=04(CyuRW~kCzY3 zT->nBy6kP7t4ndp=h>Rl9@a`-$??(-amwOZ8Ol{g&K+}oQHFS)je+NtV?Ilzd2Y?! zv763P>&-e+Uf6&g%RYAxAb)NRndZgwh_Tf9J64?j@ocR0#XZb^B|htu zkNoueGS=GO&TFM^ey41C4_uBVbK|a0b2ww0^P-dxQjRLBj3bUzqh#=e7S$U`#Txr=3eUbnKfdCJo6{b_opnMxjJ0W@|l;q zUI%#g{>R&!Rp=c@@c2l#1@2CM*FocZa@tm1)X2#oJvq`I4X*rqL+Xa_&}o5de>2D2 z?>F=BwV*3I>f~6j@6qmedCzw555&wm`_veB?_c&`sqqC%jJZQ24!O(gxi9b45SBZ< zH{*j{?%L$Ni(G6X56UGP(7bE2Jgywv_dgAT>wMp=9lSHexz+A-w8bO@Fg*@I%)(p7l+?_04B6`UXwkT*o(SP#R;YtM`+4uW@k%uaEMw zM{`FWw&ng#;*{IWhh%fOU6 zeP>`#cwUHOEH!?_Lhj!f|7P3uZh0s*@Lj_eZG%snjFUETKjyAY;>`cVpfGOkYzD6` z^{b0JICpjRxPVPuR9D6s>!^qJ_wVLNUH$tlcrc$D>jzxEtGVOB@HzC{cu!`1{asB= zGrym!co&f$jCS_?%H|zR3?ua5Z}*Kkn9F+vsom!phYX(kHT8^Z6Zz0eo!;}@`R37c zQ`{su!K=NV$8$LI$hvkiB7bfTncnr;4*fHZj-#x0H)_xLzT574aPlh85qzw**vQLT zsndI&J71hTg>!Z9m4*JMFlKVS} zPv&F({~+X6m=f<-f+#kPpasQV(eFvsS#1Xrr@qZtDAEe&!(J^w<{(j2bK!@M4)K%Hq z&RXA|h!S~j{0w(=YoQm~_oUsm$ZKB{=*zv-Uh-lunOE%9M`*-?_>{V8uQpNl*aS|S z8ZB%>#_iaYZDdX?Ja@89O>V?po4|H)Z~td8$34p~b#*`Yy55YCz5UiNgycozJ1M^- z%C<0nGrrgPY1hC9(0lhnud&TG^!|=+EC>8WhV^D1i6e4}?d{0TdYB^*8I0I-ZroGI zBTk!gb}Ju{n>#v?r!LL{zZW!LTXj*heLf#e`9vqYe3wV_Z%5(fJbgCFbq#)+e-BS> zd?w&wPy0V1Cr0_&(SPTRzK2Il{tgp;k(VuGoqhhZ&;NNm|8o!@ijl@T?GK{=AUfyr W@#u4n&l$PJ`P+Ch?VZl~%<_NEXU9zd literal 0 HcmV?d00001 diff --git a/src/xenia/gpu/d3d12/shaders/dxbc/texture_load_dxn_rg8_cs.h b/src/xenia/gpu/d3d12/shaders/dxbc/texture_load_dxn_rg8_cs.h new file mode 100644 index 000000000..9d3832a91 --- /dev/null +++ b/src/xenia/gpu/d3d12/shaders/dxbc/texture_load_dxn_rg8_cs.h @@ -0,0 +1,1487 @@ +// generated from `xb buildhlsl` +// source: texture_load_dxn_rg8.cs.hlsl +const uint8_t texture_load_dxn_rg8_cs[] = { + 0x44, 0x58, 0x42, 0x43, 0x1C, 0x9D, 0x9C, 0xBC, 0xDF, 0x71, 0xE2, 0x66, + 0x8B, 0xF3, 0x1A, 0x99, 0x6F, 0x1D, 0xE5, 0xEB, 0x01, 0x00, 0x00, 0x00, + 0x84, 0x45, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x34, 0x00, 0x00, 0x00, + 0x54, 0x04, 0x00, 0x00, 0x64, 0x04, 0x00, 0x00, 0x74, 0x04, 0x00, 0x00, + 0xE8, 0x44, 0x00, 0x00, 0x52, 0x44, 0x45, 0x46, 0x18, 0x04, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0xF8, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, + 0x3C, 0x00, 0x00, 0x00, 0x01, 0x05, 0x53, 0x43, 0x00, 0x05, 0x00, 0x00, + 0xF0, 0x03, 0x00, 0x00, 0x13, 0x13, 0x44, 0x25, 0x3C, 0x00, 0x00, 0x00, + 0x18, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, + 0x24, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xB4, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xCB, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, + 0x06, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x78, 0x65, 0x5F, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x63, + 0x6F, 0x70, 0x79, 0x5F, 0x73, 0x6F, 0x75, 0x72, 0x63, 0x65, 0x00, 0x78, + 0x65, 0x5F, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x63, 0x6F, + 0x70, 0x79, 0x5F, 0x64, 0x65, 0x73, 0x74, 0x00, 0x58, 0x65, 0x54, 0x65, + 0x78, 0x74, 0x75, 0x72, 0x65, 0x43, 0x6F, 0x70, 0x79, 0x43, 0x6F, 0x6E, + 0x73, 0x74, 0x61, 0x6E, 0x74, 0x73, 0x00, 0xAB, 0xE0, 0x00, 0x00, 0x00, + 0x09, 0x00, 0x00, 0x00, 0x10, 0x01, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x78, 0x02, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, + 0x9C, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, + 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, + 0xC0, 0x02, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, + 0x02, 0x00, 0x00, 0x00, 0x9C, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, + 0x00, 0x00, 0x00, 0x00, 0xDC, 0x02, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, + 0x04, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x9C, 0x02, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, + 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xF6, 0x02, 0x00, 0x00, + 0x0C, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, + 0x9C, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, + 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, + 0x11, 0x03, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, + 0x02, 0x00, 0x00, 0x00, 0x34, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, + 0x00, 0x00, 0x00, 0x00, 0x58, 0x03, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x00, + 0x04, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x74, 0x03, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, + 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x98, 0x03, 0x00, 0x00, + 0x20, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, + 0x34, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, + 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, + 0xB4, 0x03, 0x00, 0x00, 0x2C, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, + 0x02, 0x00, 0x00, 0x00, 0x9C, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, + 0x00, 0x00, 0x00, 0x00, 0xCF, 0x03, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, + 0x0C, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x34, 0x03, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, + 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x78, 0x65, 0x5F, 0x74, + 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x63, 0x6F, 0x70, 0x79, 0x5F, + 0x67, 0x75, 0x65, 0x73, 0x74, 0x5F, 0x62, 0x61, 0x73, 0x65, 0x00, 0x64, + 0x77, 0x6F, 0x72, 0x64, 0x00, 0xAB, 0xAB, 0xAB, 0x00, 0x00, 0x13, 0x00, + 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x93, 0x02, 0x00, 0x00, 0x78, 0x65, 0x5F, 0x74, + 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x63, 0x6F, 0x70, 0x79, 0x5F, + 0x67, 0x75, 0x65, 0x73, 0x74, 0x5F, 0x70, 0x69, 0x74, 0x63, 0x68, 0x00, + 0x78, 0x65, 0x5F, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x63, + 0x6F, 0x70, 0x79, 0x5F, 0x68, 0x6F, 0x73, 0x74, 0x5F, 0x62, 0x61, 0x73, + 0x65, 0x00, 0x78, 0x65, 0x5F, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, + 0x5F, 0x63, 0x6F, 0x70, 0x79, 0x5F, 0x68, 0x6F, 0x73, 0x74, 0x5F, 0x70, + 0x69, 0x74, 0x63, 0x68, 0x00, 0x78, 0x65, 0x5F, 0x74, 0x65, 0x78, 0x74, + 0x75, 0x72, 0x65, 0x5F, 0x63, 0x6F, 0x70, 0x79, 0x5F, 0x73, 0x69, 0x7A, + 0x65, 0x5F, 0x74, 0x65, 0x78, 0x65, 0x6C, 0x73, 0x00, 0x75, 0x69, 0x6E, + 0x74, 0x33, 0x00, 0xAB, 0x01, 0x00, 0x13, 0x00, 0x01, 0x00, 0x03, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x2D, 0x03, 0x00, 0x00, 0x78, 0x65, 0x5F, 0x74, 0x65, 0x78, 0x74, 0x75, + 0x72, 0x65, 0x5F, 0x63, 0x6F, 0x70, 0x79, 0x5F, 0x69, 0x73, 0x5F, 0x33, + 0x64, 0x00, 0x62, 0x6F, 0x6F, 0x6C, 0x00, 0xAB, 0x00, 0x00, 0x01, 0x00, + 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x6E, 0x03, 0x00, 0x00, 0x78, 0x65, 0x5F, 0x74, + 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x63, 0x6F, 0x70, 0x79, 0x5F, + 0x73, 0x69, 0x7A, 0x65, 0x5F, 0x62, 0x6C, 0x6F, 0x63, 0x6B, 0x73, 0x00, + 0x78, 0x65, 0x5F, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x63, + 0x6F, 0x70, 0x79, 0x5F, 0x65, 0x6E, 0x64, 0x69, 0x61, 0x6E, 0x6E, 0x65, + 0x73, 0x73, 0x00, 0x78, 0x65, 0x5F, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, + 0x65, 0x5F, 0x63, 0x6F, 0x70, 0x79, 0x5F, 0x67, 0x75, 0x65, 0x73, 0x74, + 0x5F, 0x6D, 0x69, 0x70, 0x5F, 0x6F, 0x66, 0x66, 0x73, 0x65, 0x74, 0x00, + 0x4D, 0x69, 0x63, 0x72, 0x6F, 0x73, 0x6F, 0x66, 0x74, 0x20, 0x28, 0x52, + 0x29, 0x20, 0x48, 0x4C, 0x53, 0x4C, 0x20, 0x53, 0x68, 0x61, 0x64, 0x65, + 0x72, 0x20, 0x43, 0x6F, 0x6D, 0x70, 0x69, 0x6C, 0x65, 0x72, 0x20, 0x31, + 0x30, 0x2E, 0x31, 0x00, 0x49, 0x53, 0x47, 0x4E, 0x08, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x4F, 0x53, 0x47, 0x4E, + 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, + 0x53, 0x48, 0x45, 0x58, 0x6C, 0x40, 0x00, 0x00, 0x51, 0x00, 0x05, 0x00, + 0x1B, 0x10, 0x00, 0x00, 0x6A, 0x08, 0x00, 0x01, 0x59, 0x00, 0x00, 0x07, + 0x46, 0x8E, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xA1, 0x00, 0x00, 0x06, 0x46, 0x7E, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x9D, 0x00, 0x00, 0x06, 0x46, 0xEE, 0x31, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x5F, 0x00, 0x00, 0x02, 0x72, 0x00, 0x02, 0x00, 0x68, 0x00, 0x00, 0x02, + 0x1C, 0x00, 0x00, 0x00, 0x9B, 0x00, 0x00, 0x04, 0x08, 0x00, 0x00, 0x00, + 0x20, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x06, + 0x12, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x02, 0x00, + 0x01, 0x40, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x36, 0x00, 0x00, 0x04, + 0x62, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x56, 0x06, 0x02, 0x00, + 0x50, 0x00, 0x00, 0x09, 0x72, 0x00, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x46, 0x02, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, 0x82, 0x30, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, + 0x3C, 0x00, 0x00, 0x07, 0x82, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x1A, 0x00, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x10, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x07, 0x82, 0x00, 0x10, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x2A, 0x00, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x3A, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1F, 0x00, 0x04, 0x03, + 0x3A, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x00, 0x00, 0x01, + 0x15, 0x00, 0x00, 0x01, 0x1E, 0x00, 0x00, 0x09, 0x72, 0x00, 0x10, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x46, 0x82, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x03, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x09, 0x42, 0x00, 0x10, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x1A, 0x80, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x40, 0x00, 0x00, + 0xFF, 0xFF, 0xFF, 0xFF, 0x1F, 0x00, 0x04, 0x03, 0x2A, 0x00, 0x10, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x1F, 0x00, 0x04, 0x05, 0x3A, 0x80, 0x30, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x1E, 0x00, 0x00, 0x0A, 0xF2, 0x00, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, + 0x06, 0x00, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, + 0x03, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x0C, 0xC2, 0x00, 0x10, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x56, 0x81, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x00, + 0x1F, 0x00, 0x00, 0x00, 0x55, 0x00, 0x00, 0x0A, 0x72, 0x00, 0x10, 0x00, + 0x03, 0x00, 0x00, 0x00, 0x66, 0x09, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x02, 0x40, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, + 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x55, 0x00, 0x00, 0x0A, + 0xC2, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA6, 0x0E, 0x10, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x07, 0x42, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x2A, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x40, 0x00, 0x00, + 0xFE, 0xFF, 0xFF, 0x0F, 0x23, 0x00, 0x00, 0x09, 0x42, 0x00, 0x10, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, + 0x2A, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1A, 0x00, 0x10, 0x00, + 0x03, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x07, 0x82, 0x00, 0x10, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x2A, 0x00, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, + 0x0A, 0x00, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, 0x8C, 0x00, 0x00, 0x0B, + 0x12, 0x00, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, 0x01, 0x40, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x01, 0x40, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x3A, 0x00, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x40, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x55, 0x00, 0x00, 0x0A, 0xF2, 0x00, 0x10, 0x00, + 0x04, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, + 0x02, 0x40, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, + 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x07, + 0xF2, 0x00, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, 0x06, 0x00, 0x10, 0x00, + 0x03, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x00, + 0x8C, 0x00, 0x00, 0x14, 0xF2, 0x00, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, + 0x02, 0x40, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, + 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, + 0x02, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8C, 0x00, 0x00, 0x11, + 0xF2, 0x00, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xF6, 0x0F, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x03, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x07, 0x82, 0x00, 0x10, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x1A, 0x00, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x01, 0x40, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x07, + 0x82, 0x00, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x3A, 0x00, 0x10, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x01, 0x40, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, + 0x8C, 0x00, 0x00, 0x11, 0xF2, 0x00, 0x10, 0x00, 0x04, 0x00, 0x00, 0x00, + 0x02, 0x40, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, + 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, + 0x0A, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, + 0x0A, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, + 0xF6, 0x0F, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x55, 0x00, 0x00, 0x0A, + 0xF2, 0x00, 0x10, 0x00, 0x04, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x04, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, + 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, + 0x55, 0x00, 0x00, 0x0A, 0xF2, 0x00, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, + 0x05, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, + 0x05, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x09, 0xF2, 0x00, 0x10, 0x00, + 0x02, 0x00, 0x00, 0x00, 0xA6, 0x0A, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xF6, 0x0F, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x02, 0x00, 0x00, 0x00, 0x8C, 0x00, 0x00, 0x14, 0xF2, 0x00, 0x10, 0x00, + 0x05, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, + 0x12, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, + 0x02, 0x40, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, + 0x0C, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x02, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x23, 0x00, 0x00, 0x0C, 0xF2, 0x00, 0x10, 0x00, 0x05, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, + 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, + 0x02, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x05, 0x00, 0x00, 0x00, + 0x8C, 0x00, 0x00, 0x11, 0xF2, 0x00, 0x10, 0x00, 0x05, 0x00, 0x00, 0x00, + 0x02, 0x40, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, + 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, + 0x0A, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, + 0x0A, 0x00, 0x00, 0x00, 0xA6, 0x0A, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x05, 0x00, 0x00, 0x00, 0x8C, 0x00, 0x00, 0x0B, + 0x42, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x40, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x01, 0x40, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, + 0x1A, 0x00, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x40, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x07, 0xF2, 0x00, 0x10, 0x00, + 0x06, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x05, 0x00, 0x00, 0x00, + 0xA6, 0x0A, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8A, 0x00, 0x00, 0x0F, + 0xF2, 0x00, 0x10, 0x00, 0x05, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, + 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, + 0x03, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, + 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x05, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x0A, + 0xF2, 0x00, 0x10, 0x00, 0x07, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x03, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, + 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, + 0x8C, 0x00, 0x00, 0x14, 0xF2, 0x00, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, + 0x02, 0x40, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, + 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, + 0x08, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, + 0x02, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x0C, + 0xF2, 0x00, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x05, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, + 0x20, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x0C, + 0xF2, 0x00, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x07, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, + 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, 0x8C, 0x00, 0x00, 0x14, + 0xF2, 0x00, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, + 0x12, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, + 0x12, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, + 0x0F, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x0C, 0xF2, 0x00, 0x10, 0x00, + 0x02, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x00, + 0x02, 0x40, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, + 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x02, 0x00, 0x00, 0x00, 0x8C, 0x00, 0x00, 0x11, 0xF2, 0x00, 0x10, 0x00, + 0x02, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, + 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, + 0x02, 0x40, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, + 0x0D, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0xA6, 0x0A, 0x10, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, + 0x23, 0x00, 0x00, 0x0C, 0xF2, 0x00, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, + 0xA6, 0x0A, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, + 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, + 0x08, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, + 0x8C, 0x00, 0x00, 0x11, 0xF2, 0x00, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, + 0x02, 0x40, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, + 0x09, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, + 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, + 0x03, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x8C, 0x00, 0x00, 0x11, + 0xF2, 0x00, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, + 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, + 0x06, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x06, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x02, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x01, 0x1E, 0x00, 0x00, 0x0A, + 0xF2, 0x00, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, 0x06, 0x00, 0x10, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, + 0x55, 0x00, 0x00, 0x0A, 0xF2, 0x00, 0x10, 0x00, 0x04, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, + 0x05, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, + 0x05, 0x00, 0x00, 0x00, 0x55, 0x00, 0x00, 0x0A, 0xC2, 0x00, 0x10, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x56, 0x05, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x02, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x05, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x09, + 0x82, 0x00, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0A, 0x80, 0x30, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, + 0x01, 0x40, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x00, 0x55, 0x00, 0x00, 0x07, + 0x82, 0x00, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x3A, 0x00, 0x10, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x01, 0x40, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, + 0x23, 0x00, 0x00, 0x09, 0xF2, 0x00, 0x10, 0x00, 0x04, 0x00, 0x00, 0x00, + 0xA6, 0x0A, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF6, 0x0F, 0x10, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x00, + 0x29, 0x00, 0x00, 0x07, 0x42, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x1A, 0x00, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x40, 0x00, 0x00, + 0x07, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x0A, 0x32, 0x00, 0x10, 0x00, + 0x05, 0x00, 0x00, 0x00, 0xA6, 0x0A, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x02, 0x40, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8C, 0x00, 0x00, 0x11, + 0xF2, 0x00, 0x10, 0x00, 0x06, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, + 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, + 0x03, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, + 0x05, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, 0x06, 0x00, 0x10, 0x00, + 0x05, 0x00, 0x00, 0x00, 0x8C, 0x00, 0x00, 0x11, 0xF2, 0x00, 0x10, 0x00, + 0x06, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, + 0x15, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, + 0x02, 0x40, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, + 0x0B, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x04, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x06, 0x00, 0x00, 0x00, + 0x8C, 0x00, 0x00, 0x0B, 0x42, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x40, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x40, 0x00, 0x00, + 0x04, 0x00, 0x00, 0x00, 0x1A, 0x00, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x01, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x07, + 0xF2, 0x00, 0x10, 0x00, 0x06, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x06, 0x00, 0x00, 0x00, 0xA6, 0x0A, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x29, 0x00, 0x00, 0x0A, 0x52, 0x00, 0x10, 0x00, 0x05, 0x00, 0x00, 0x00, + 0x06, 0x00, 0x10, 0x00, 0x05, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, + 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x8C, 0x00, 0x00, 0x11, 0xF2, 0x00, 0x10, 0x00, + 0x07, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, + 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, + 0x02, 0x40, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, + 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x03, 0x00, 0x00, 0x00, 0x06, 0x00, 0x10, 0x00, 0x05, 0x00, 0x00, 0x00, + 0x8C, 0x00, 0x00, 0x11, 0xF2, 0x00, 0x10, 0x00, 0x07, 0x00, 0x00, 0x00, + 0x02, 0x40, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, + 0x15, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, + 0x0E, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, + 0x0E, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x07, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x0C, + 0xF2, 0x00, 0x10, 0x00, 0x07, 0x00, 0x00, 0x00, 0xA6, 0x0A, 0x10, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, + 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x07, 0x00, 0x00, 0x00, 0x8C, 0x00, 0x00, 0x11, + 0xF2, 0x00, 0x10, 0x00, 0x07, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, + 0x0C, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, + 0x0C, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x56, 0x05, 0x10, 0x00, 0x05, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x07, 0x00, 0x00, 0x00, 0x8C, 0x00, 0x00, 0x11, 0xF2, 0x00, 0x10, 0x00, + 0x05, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, + 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, + 0x02, 0x40, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, + 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x03, 0x00, 0x00, 0x00, 0xA6, 0x0A, 0x10, 0x00, 0x05, 0x00, 0x00, 0x00, + 0x8C, 0x00, 0x00, 0x11, 0xF2, 0x00, 0x10, 0x00, 0x04, 0x00, 0x00, 0x00, + 0x02, 0x40, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, + 0x15, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, + 0x0D, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, + 0x0D, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x05, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x0C, + 0xF2, 0x00, 0x10, 0x00, 0x04, 0x00, 0x00, 0x00, 0xA6, 0x0A, 0x10, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, + 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x0A, + 0xF2, 0x00, 0x10, 0x00, 0x04, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x04, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, + 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, + 0x1E, 0x00, 0x00, 0x07, 0xF2, 0x00, 0x10, 0x00, 0x04, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x07, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x04, 0x00, 0x00, 0x00, 0x55, 0x00, 0x00, 0x0A, 0xF2, 0x00, 0x10, 0x00, + 0x03, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, + 0x02, 0x40, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, + 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x07, + 0x42, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3A, 0x00, 0x10, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x40, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, + 0x1E, 0x00, 0x00, 0x07, 0xF2, 0x00, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, + 0xA6, 0x0A, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x03, 0x00, 0x00, 0x00, 0x8C, 0x00, 0x00, 0x14, 0xF2, 0x00, 0x10, 0x00, + 0x03, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, + 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, + 0x02, 0x40, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, + 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x03, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x1E, 0x00, 0x00, 0x07, 0xF2, 0x00, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x03, 0x00, 0x00, 0x00, 0x8C, 0x00, 0x00, 0x11, 0xF2, 0x00, 0x10, 0x00, + 0x02, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, + 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, + 0x02, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x06, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, + 0x15, 0x00, 0x00, 0x01, 0x12, 0x00, 0x00, 0x01, 0x29, 0x00, 0x00, 0x07, + 0x42, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x10, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x01, 0x40, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, + 0x1E, 0x00, 0x00, 0x09, 0x82, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x1A, 0x80, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x02, 0x00, 0x00, 0x00, 0x01, 0x40, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x07, 0x82, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3A, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x40, 0x00, 0x00, + 0xE0, 0xFF, 0xFF, 0xFF, 0x23, 0x00, 0x00, 0x09, 0x82, 0x00, 0x10, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x2A, 0x00, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x3A, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1A, 0x00, 0x10, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x0B, 0x42, 0x00, 0x10, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3A, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x1A, 0x80, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x2A, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x1E, 0x00, 0x00, 0x0A, 0xF2, 0x00, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, + 0xA6, 0x0A, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, + 0x30, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x01, 0x1E, 0x00, 0x00, 0x09, + 0xF2, 0x00, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x02, 0x00, 0x00, 0x00, 0x06, 0x80, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA5, 0x00, 0x00, 0x08, + 0xF2, 0x00, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x10, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x36, 0x79, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xA5, 0x00, 0x00, 0x08, 0xF2, 0x00, 0x10, 0x00, + 0x03, 0x00, 0x00, 0x00, 0x1A, 0x00, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x46, 0x7E, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xA5, 0x00, 0x00, 0x08, 0xF2, 0x00, 0x10, 0x00, 0x04, 0x00, 0x00, 0x00, + 0x2A, 0x00, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x46, 0x7E, 0x20, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA5, 0x00, 0x00, 0x08, + 0xF2, 0x00, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x3A, 0x00, 0x10, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x46, 0x7E, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x55, 0x00, 0x00, 0x09, 0x42, 0x00, 0x10, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3A, 0x80, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x40, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x57, 0x00, 0x00, 0x09, 0x42, 0x00, 0x10, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x2A, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3A, 0x80, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x07, 0x42, 0x00, 0x10, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x2A, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x40, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x1F, 0x00, 0x04, 0x03, + 0x2A, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x0A, + 0xF2, 0x00, 0x10, 0x00, 0x05, 0x00, 0x00, 0x00, 0x96, 0x03, 0x10, 0x00, + 0x02, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, + 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x0A, 0xF2, 0x00, 0x10, 0x00, 0x05, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x05, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, + 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, + 0x00, 0xFF, 0x00, 0xFF, 0x55, 0x00, 0x00, 0x0A, 0xF2, 0x00, 0x10, 0x00, + 0x06, 0x00, 0x00, 0x00, 0x96, 0x03, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, + 0x02, 0x40, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, + 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x0A, + 0xF2, 0x00, 0x10, 0x00, 0x06, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x06, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, + 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, + 0x1E, 0x00, 0x00, 0x07, 0xF2, 0x00, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, + 0x36, 0x09, 0x10, 0x00, 0x05, 0x00, 0x00, 0x00, 0x36, 0x09, 0x10, 0x00, + 0x06, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x09, + 0x82, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3A, 0x80, 0x30, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, + 0x01, 0x40, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x1F, 0x00, 0x04, 0x03, + 0x3A, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x55, 0x00, 0x00, 0x0A, + 0xF2, 0x00, 0x10, 0x00, 0x05, 0x00, 0x00, 0x00, 0x96, 0x03, 0x10, 0x00, + 0x02, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, + 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, + 0x8C, 0x00, 0x00, 0x11, 0xF2, 0x00, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, + 0x02, 0x40, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, + 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, + 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, + 0x10, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, + 0x36, 0x09, 0x10, 0x00, 0x05, 0x00, 0x00, 0x00, 0x36, 0x00, 0x00, 0x05, + 0x12, 0x00, 0x10, 0x00, 0x05, 0x00, 0x00, 0x00, 0x1A, 0x00, 0x10, 0x00, + 0x02, 0x00, 0x00, 0x00, 0x36, 0x00, 0x00, 0x05, 0x12, 0x00, 0x10, 0x00, + 0x06, 0x00, 0x00, 0x00, 0x2A, 0x00, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, + 0x36, 0x00, 0x00, 0x05, 0x12, 0x00, 0x10, 0x00, 0x07, 0x00, 0x00, 0x00, + 0x3A, 0x00, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x01, + 0x36, 0x00, 0x00, 0x05, 0x12, 0x00, 0x10, 0x00, 0x05, 0x00, 0x00, 0x00, + 0x1A, 0x00, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x36, 0x00, 0x00, 0x05, + 0x12, 0x00, 0x10, 0x00, 0x06, 0x00, 0x00, 0x00, 0x2A, 0x00, 0x10, 0x00, + 0x02, 0x00, 0x00, 0x00, 0x36, 0x00, 0x00, 0x05, 0x12, 0x00, 0x10, 0x00, + 0x07, 0x00, 0x00, 0x00, 0x3A, 0x00, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, + 0x15, 0x00, 0x00, 0x01, 0x1F, 0x00, 0x04, 0x03, 0x2A, 0x00, 0x10, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x0A, 0xF2, 0x00, 0x10, 0x00, + 0x08, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, + 0x02, 0x40, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, + 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x0A, + 0xF2, 0x00, 0x10, 0x00, 0x08, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x08, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, + 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, + 0x55, 0x00, 0x00, 0x0A, 0xF2, 0x00, 0x10, 0x00, 0x09, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, + 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, + 0x08, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x0A, 0xF2, 0x00, 0x10, 0x00, + 0x09, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x09, 0x00, 0x00, 0x00, + 0x02, 0x40, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, + 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x1E, 0x00, 0x00, 0x07, + 0xF2, 0x00, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x08, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x09, 0x00, 0x00, 0x00, + 0x15, 0x00, 0x00, 0x01, 0x1F, 0x00, 0x04, 0x03, 0x3A, 0x00, 0x10, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x55, 0x00, 0x00, 0x0A, 0xF2, 0x00, 0x10, 0x00, + 0x08, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, + 0x02, 0x40, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, + 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x8C, 0x00, 0x00, 0x11, + 0xF2, 0x00, 0x10, 0x00, 0x08, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, + 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, + 0x10, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, + 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x08, 0x00, 0x00, 0x00, 0x36, 0x00, 0x00, 0x05, 0x22, 0x00, 0x10, 0x00, + 0x05, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x10, 0x00, 0x08, 0x00, 0x00, 0x00, + 0x36, 0x00, 0x00, 0x05, 0x22, 0x00, 0x10, 0x00, 0x06, 0x00, 0x00, 0x00, + 0x1A, 0x00, 0x10, 0x00, 0x08, 0x00, 0x00, 0x00, 0x36, 0x00, 0x00, 0x05, + 0x22, 0x00, 0x10, 0x00, 0x07, 0x00, 0x00, 0x00, 0x2A, 0x00, 0x10, 0x00, + 0x08, 0x00, 0x00, 0x00, 0x36, 0x00, 0x00, 0x05, 0x22, 0x00, 0x10, 0x00, + 0x02, 0x00, 0x00, 0x00, 0x3A, 0x00, 0x10, 0x00, 0x08, 0x00, 0x00, 0x00, + 0x12, 0x00, 0x00, 0x01, 0x36, 0x00, 0x00, 0x05, 0x22, 0x00, 0x10, 0x00, + 0x05, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, + 0x36, 0x00, 0x00, 0x05, 0x22, 0x00, 0x10, 0x00, 0x06, 0x00, 0x00, 0x00, + 0x1A, 0x00, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, 0x36, 0x00, 0x00, 0x05, + 0x22, 0x00, 0x10, 0x00, 0x07, 0x00, 0x00, 0x00, 0x2A, 0x00, 0x10, 0x00, + 0x03, 0x00, 0x00, 0x00, 0x36, 0x00, 0x00, 0x05, 0x22, 0x00, 0x10, 0x00, + 0x02, 0x00, 0x00, 0x00, 0x3A, 0x00, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, + 0x15, 0x00, 0x00, 0x01, 0x1F, 0x00, 0x04, 0x03, 0x2A, 0x00, 0x10, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x0A, 0xF2, 0x00, 0x10, 0x00, + 0x03, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x00, + 0x02, 0x40, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, + 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x0A, + 0xF2, 0x00, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x03, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, + 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, + 0x55, 0x00, 0x00, 0x0A, 0xF2, 0x00, 0x10, 0x00, 0x08, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, + 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, + 0x08, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x0A, 0xF2, 0x00, 0x10, 0x00, + 0x08, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x08, 0x00, 0x00, 0x00, + 0x02, 0x40, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, + 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x1E, 0x00, 0x00, 0x07, + 0xF2, 0x00, 0x10, 0x00, 0x04, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x03, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x08, 0x00, 0x00, 0x00, + 0x15, 0x00, 0x00, 0x01, 0x1F, 0x00, 0x04, 0x03, 0x3A, 0x00, 0x10, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x55, 0x00, 0x00, 0x0A, 0xF2, 0x00, 0x10, 0x00, + 0x03, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x00, + 0x02, 0x40, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, + 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x8C, 0x00, 0x00, 0x11, + 0xF2, 0x00, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, + 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, + 0x10, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, + 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x03, 0x00, 0x00, 0x00, 0x36, 0x00, 0x00, 0x05, 0x42, 0x00, 0x10, 0x00, + 0x05, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, + 0x36, 0x00, 0x00, 0x05, 0x42, 0x00, 0x10, 0x00, 0x06, 0x00, 0x00, 0x00, + 0x1A, 0x00, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, 0x36, 0x00, 0x00, 0x05, + 0x42, 0x00, 0x10, 0x00, 0x07, 0x00, 0x00, 0x00, 0x2A, 0x00, 0x10, 0x00, + 0x03, 0x00, 0x00, 0x00, 0x36, 0x00, 0x00, 0x05, 0x42, 0x00, 0x10, 0x00, + 0x02, 0x00, 0x00, 0x00, 0x3A, 0x00, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, + 0x12, 0x00, 0x00, 0x01, 0x36, 0x00, 0x00, 0x05, 0x42, 0x00, 0x10, 0x00, + 0x05, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x10, 0x00, 0x04, 0x00, 0x00, 0x00, + 0x36, 0x00, 0x00, 0x05, 0x42, 0x00, 0x10, 0x00, 0x06, 0x00, 0x00, 0x00, + 0x1A, 0x00, 0x10, 0x00, 0x04, 0x00, 0x00, 0x00, 0x36, 0x00, 0x00, 0x05, + 0x42, 0x00, 0x10, 0x00, 0x07, 0x00, 0x00, 0x00, 0x2A, 0x00, 0x10, 0x00, + 0x04, 0x00, 0x00, 0x00, 0x36, 0x00, 0x00, 0x05, 0x42, 0x00, 0x10, 0x00, + 0x02, 0x00, 0x00, 0x00, 0x3A, 0x00, 0x10, 0x00, 0x04, 0x00, 0x00, 0x00, + 0x15, 0x00, 0x00, 0x01, 0x1F, 0x00, 0x04, 0x03, 0x2A, 0x00, 0x10, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x0A, 0xF2, 0x00, 0x10, 0x00, + 0x03, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x02, 0x40, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, + 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x0A, + 0xF2, 0x00, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x03, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, + 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, + 0x55, 0x00, 0x00, 0x0A, 0xF2, 0x00, 0x10, 0x00, 0x04, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, + 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, + 0x08, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x0A, 0xF2, 0x00, 0x10, 0x00, + 0x04, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x00, + 0x02, 0x40, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, + 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x1E, 0x00, 0x00, 0x07, + 0xF2, 0x00, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x03, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x00, + 0x15, 0x00, 0x00, 0x01, 0x1F, 0x00, 0x04, 0x03, 0x3A, 0x00, 0x10, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x55, 0x00, 0x00, 0x0A, 0xF2, 0x00, 0x10, 0x00, + 0x03, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x02, 0x40, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, + 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x8C, 0x00, 0x00, 0x11, + 0xF2, 0x00, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, + 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, + 0x10, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, + 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x03, 0x00, 0x00, 0x00, 0x36, 0x00, 0x00, 0x05, 0x82, 0x00, 0x10, 0x00, + 0x05, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, + 0x36, 0x00, 0x00, 0x05, 0x82, 0x00, 0x10, 0x00, 0x06, 0x00, 0x00, 0x00, + 0x1A, 0x00, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, 0x36, 0x00, 0x00, 0x05, + 0x82, 0x00, 0x10, 0x00, 0x07, 0x00, 0x00, 0x00, 0x2A, 0x00, 0x10, 0x00, + 0x03, 0x00, 0x00, 0x00, 0x36, 0x00, 0x00, 0x05, 0x82, 0x00, 0x10, 0x00, + 0x02, 0x00, 0x00, 0x00, 0x3A, 0x00, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, + 0x12, 0x00, 0x00, 0x01, 0x36, 0x00, 0x00, 0x05, 0x82, 0x00, 0x10, 0x00, + 0x05, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x36, 0x00, 0x00, 0x05, 0x82, 0x00, 0x10, 0x00, 0x06, 0x00, 0x00, 0x00, + 0x1A, 0x00, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x36, 0x00, 0x00, 0x05, + 0x82, 0x00, 0x10, 0x00, 0x07, 0x00, 0x00, 0x00, 0x2A, 0x00, 0x10, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x36, 0x00, 0x00, 0x05, 0x82, 0x00, 0x10, 0x00, + 0x02, 0x00, 0x00, 0x00, 0x3A, 0x00, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x15, 0x00, 0x00, 0x01, 0x55, 0x00, 0x00, 0x0A, 0xF2, 0x00, 0x10, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x05, 0x00, 0x00, 0x00, + 0x02, 0x40, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, + 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x8C, 0x00, 0x00, 0x14, + 0xF2, 0x00, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, + 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, + 0x08, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, + 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x06, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x07, 0xF2, 0x00, 0x10, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, 0x55, 0x00, 0x00, 0x0A, + 0xF2, 0x00, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x06, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, + 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x0A, 0xF2, 0x00, 0x10, 0x00, 0x04, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, + 0x49, 0x92, 0x24, 0x00, 0x49, 0x92, 0x24, 0x00, 0x49, 0x92, 0x24, 0x00, + 0x49, 0x92, 0x24, 0x00, 0x55, 0x00, 0x00, 0x0A, 0xF2, 0x00, 0x10, 0x00, + 0x06, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x02, 0x40, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x0A, + 0xF2, 0x00, 0x10, 0x00, 0x08, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x06, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x49, 0x92, 0x24, 0x00, + 0x49, 0x92, 0x24, 0x00, 0x49, 0x92, 0x24, 0x00, 0x49, 0x92, 0x24, 0x00, + 0x3C, 0x00, 0x00, 0x07, 0xF2, 0x00, 0x10, 0x00, 0x09, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x06, 0x00, 0x00, 0x00, 0x55, 0x00, 0x00, 0x0A, 0xF2, 0x00, 0x10, 0x00, + 0x0A, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x02, 0x40, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, + 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x0A, + 0xF2, 0x00, 0x10, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x0A, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x49, 0x92, 0x24, 0x00, + 0x49, 0x92, 0x24, 0x00, 0x49, 0x92, 0x24, 0x00, 0x49, 0x92, 0x24, 0x00, + 0x3C, 0x00, 0x00, 0x07, 0xF2, 0x00, 0x10, 0x00, 0x09, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x09, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x0A, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x0A, 0xF2, 0x00, 0x10, 0x00, + 0x09, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x09, 0x00, 0x00, 0x00, + 0x02, 0x40, 0x00, 0x00, 0x49, 0x92, 0x24, 0x00, 0x49, 0x92, 0x24, 0x00, + 0x49, 0x92, 0x24, 0x00, 0x49, 0x92, 0x24, 0x00, 0x57, 0x00, 0x00, 0x0A, + 0xF2, 0x00, 0x10, 0x00, 0x09, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x09, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x49, 0x92, 0x24, 0x00, + 0x49, 0x92, 0x24, 0x00, 0x49, 0x92, 0x24, 0x00, 0x49, 0x92, 0x24, 0x00, + 0x3B, 0x00, 0x00, 0x05, 0xF2, 0x00, 0x10, 0x00, 0x08, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x08, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x07, + 0xF2, 0x00, 0x10, 0x00, 0x08, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x04, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x08, 0x00, 0x00, 0x00, + 0x3B, 0x00, 0x00, 0x05, 0xF2, 0x00, 0x10, 0x00, 0x0A, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x07, + 0xF2, 0x00, 0x10, 0x00, 0x08, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x08, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x0A, 0x00, 0x00, 0x00, + 0x3C, 0x00, 0x00, 0x07, 0xF2, 0x00, 0x10, 0x00, 0x09, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x09, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x0A, 0xF2, 0x00, 0x10, 0x00, + 0x09, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x09, 0x00, 0x00, 0x00, + 0x02, 0x40, 0x00, 0x00, 0xB7, 0x6D, 0xDB, 0xFF, 0xB7, 0x6D, 0xDB, 0xFF, + 0xB7, 0x6D, 0xDB, 0xFF, 0xB7, 0x6D, 0xDB, 0xFF, 0x3C, 0x00, 0x00, 0x07, + 0xF2, 0x00, 0x10, 0x00, 0x09, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x08, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x09, 0x00, 0x00, 0x00, + 0x29, 0x00, 0x00, 0x0A, 0xF2, 0x00, 0x10, 0x00, 0x0A, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x08, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x07, 0xF2, 0x00, 0x10, 0x00, + 0x0A, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x09, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x0A, + 0xF2, 0x00, 0x10, 0x00, 0x08, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x08, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, + 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, + 0x3C, 0x00, 0x00, 0x07, 0xF2, 0x00, 0x10, 0x00, 0x0A, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x08, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x0A, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x0A, 0xF2, 0x00, 0x10, 0x00, + 0x0B, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, + 0x02, 0x40, 0x00, 0x00, 0x49, 0x92, 0x24, 0x00, 0x49, 0x92, 0x24, 0x00, + 0x49, 0x92, 0x24, 0x00, 0x49, 0x92, 0x24, 0x00, 0x55, 0x00, 0x00, 0x0A, + 0xF2, 0x00, 0x10, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x03, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x0A, 0xF2, 0x00, 0x10, 0x00, 0x0D, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, + 0x49, 0x92, 0x24, 0x00, 0x49, 0x92, 0x24, 0x00, 0x49, 0x92, 0x24, 0x00, + 0x49, 0x92, 0x24, 0x00, 0x3C, 0x00, 0x00, 0x07, 0xF2, 0x00, 0x10, 0x00, + 0x0E, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x55, 0x00, 0x00, 0x0A, + 0xF2, 0x00, 0x10, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x03, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, + 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x0A, 0xF2, 0x00, 0x10, 0x00, 0x10, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, + 0x49, 0x92, 0x24, 0x00, 0x49, 0x92, 0x24, 0x00, 0x49, 0x92, 0x24, 0x00, + 0x49, 0x92, 0x24, 0x00, 0x3C, 0x00, 0x00, 0x07, 0xF2, 0x00, 0x10, 0x00, + 0x0E, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x0E, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x0A, + 0xF2, 0x00, 0x10, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x0E, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x49, 0x92, 0x24, 0x00, + 0x49, 0x92, 0x24, 0x00, 0x49, 0x92, 0x24, 0x00, 0x49, 0x92, 0x24, 0x00, + 0x57, 0x00, 0x00, 0x0A, 0xF2, 0x00, 0x10, 0x00, 0x0E, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, + 0x49, 0x92, 0x24, 0x00, 0x49, 0x92, 0x24, 0x00, 0x49, 0x92, 0x24, 0x00, + 0x49, 0x92, 0x24, 0x00, 0x3B, 0x00, 0x00, 0x05, 0xF2, 0x00, 0x10, 0x00, + 0x0D, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x0D, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x07, 0xF2, 0x00, 0x10, 0x00, 0x0D, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x0D, 0x00, 0x00, 0x00, 0x3B, 0x00, 0x00, 0x05, 0xF2, 0x00, 0x10, 0x00, + 0x0F, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x10, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x07, 0xF2, 0x00, 0x10, 0x00, 0x0D, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x0F, 0x00, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x07, 0xF2, 0x00, 0x10, 0x00, + 0x0E, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x0A, + 0xF2, 0x00, 0x10, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x0E, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0xB7, 0x6D, 0xDB, 0xFF, + 0xB7, 0x6D, 0xDB, 0xFF, 0xB7, 0x6D, 0xDB, 0xFF, 0xB7, 0x6D, 0xDB, 0xFF, + 0x3C, 0x00, 0x00, 0x07, 0xF2, 0x00, 0x10, 0x00, 0x0E, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x0E, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x0A, 0xF2, 0x00, 0x10, 0x00, + 0x0F, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x0D, 0x00, 0x00, 0x00, + 0x02, 0x40, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x07, + 0xF2, 0x00, 0x10, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x0E, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x0F, 0x00, 0x00, 0x00, + 0x29, 0x00, 0x00, 0x0A, 0xF2, 0x00, 0x10, 0x00, 0x0D, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, + 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, + 0x02, 0x00, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x07, 0xF2, 0x00, 0x10, 0x00, + 0x0F, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x0D, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x07, + 0xF2, 0x00, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x06, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x0A, 0xF2, 0x00, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, + 0x92, 0x24, 0x49, 0x00, 0x92, 0x24, 0x49, 0x00, 0x92, 0x24, 0x49, 0x00, + 0x92, 0x24, 0x49, 0x00, 0x29, 0x00, 0x00, 0x0A, 0xF2, 0x00, 0x10, 0x00, + 0x06, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x02, 0x40, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x55, 0x00, 0x00, 0x0A, + 0xF2, 0x00, 0x10, 0x00, 0x10, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x1E, 0x00, 0x00, 0x07, 0xF2, 0x00, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x06, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x07, 0xF2, 0x00, 0x10, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x10, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x0A, + 0xF2, 0x00, 0x10, 0x00, 0x04, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x04, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0xB6, 0x6D, 0xDB, 0x00, + 0xB6, 0x6D, 0xDB, 0x00, 0xB6, 0x6D, 0xDB, 0x00, 0xB6, 0x6D, 0xDB, 0x00, + 0x01, 0x00, 0x00, 0x07, 0xF2, 0x00, 0x10, 0x00, 0x04, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x04, 0x00, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x07, 0xF2, 0x00, 0x10, 0x00, + 0x06, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x08, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x09, 0x00, 0x00, 0x00, 0x3B, 0x00, 0x00, 0x05, + 0xF2, 0x00, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x07, 0xF2, 0x00, 0x10, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x06, 0x00, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x07, + 0xF2, 0x00, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x04, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x07, 0xF2, 0x00, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x0C, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x0A, 0xF2, 0x00, 0x10, 0x00, + 0x03, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, + 0x02, 0x40, 0x00, 0x00, 0x92, 0x24, 0x49, 0x00, 0x92, 0x24, 0x49, 0x00, + 0x92, 0x24, 0x49, 0x00, 0x92, 0x24, 0x49, 0x00, 0x29, 0x00, 0x00, 0x0A, + 0xF2, 0x00, 0x10, 0x00, 0x04, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x03, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x55, 0x00, 0x00, 0x0A, 0xF2, 0x00, 0x10, 0x00, 0x06, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x07, 0xF2, 0x00, 0x10, 0x00, + 0x03, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x07, + 0xF2, 0x00, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x03, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x06, 0x00, 0x00, 0x00, + 0x1E, 0x00, 0x00, 0x0A, 0xF2, 0x00, 0x10, 0x00, 0x04, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, + 0xB6, 0x6D, 0xDB, 0x00, 0xB6, 0x6D, 0xDB, 0x00, 0xB6, 0x6D, 0xDB, 0x00, + 0xB6, 0x6D, 0xDB, 0x00, 0x01, 0x00, 0x00, 0x07, 0xF2, 0x00, 0x10, 0x00, + 0x04, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x07, + 0xF2, 0x00, 0x10, 0x00, 0x06, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x0D, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x0E, 0x00, 0x00, 0x00, + 0x3B, 0x00, 0x00, 0x05, 0xF2, 0x00, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x07, + 0xF2, 0x00, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x03, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x06, 0x00, 0x00, 0x00, + 0x3C, 0x00, 0x00, 0x07, 0xF2, 0x00, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x03, 0x00, 0x00, 0x00, 0x55, 0x00, 0x00, 0x0A, 0xF2, 0x00, 0x10, 0x00, + 0x04, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x07, 0x00, 0x00, 0x00, + 0x02, 0x40, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, + 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x8C, 0x00, 0x00, 0x14, + 0xF2, 0x00, 0x10, 0x00, 0x06, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, + 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, + 0x08, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, + 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x07, 0xF2, 0x00, 0x10, 0x00, + 0x04, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x06, 0x00, 0x00, 0x00, 0x55, 0x00, 0x00, 0x0A, + 0xF2, 0x00, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x02, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, + 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x0A, 0xF2, 0x00, 0x10, 0x00, 0x06, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, + 0x49, 0x92, 0x24, 0x00, 0x49, 0x92, 0x24, 0x00, 0x49, 0x92, 0x24, 0x00, + 0x49, 0x92, 0x24, 0x00, 0x55, 0x00, 0x00, 0x0A, 0xF2, 0x00, 0x10, 0x00, + 0x08, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x00, + 0x02, 0x40, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x0A, + 0xF2, 0x00, 0x10, 0x00, 0x09, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x08, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x49, 0x92, 0x24, 0x00, + 0x49, 0x92, 0x24, 0x00, 0x49, 0x92, 0x24, 0x00, 0x49, 0x92, 0x24, 0x00, + 0x3C, 0x00, 0x00, 0x07, 0xF2, 0x00, 0x10, 0x00, 0x0B, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x08, 0x00, 0x00, 0x00, 0x55, 0x00, 0x00, 0x0A, 0xF2, 0x00, 0x10, 0x00, + 0x0C, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x00, + 0x02, 0x40, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, + 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x0A, + 0xF2, 0x00, 0x10, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x0C, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x49, 0x92, 0x24, 0x00, + 0x49, 0x92, 0x24, 0x00, 0x49, 0x92, 0x24, 0x00, 0x49, 0x92, 0x24, 0x00, + 0x3C, 0x00, 0x00, 0x07, 0xF2, 0x00, 0x10, 0x00, 0x0B, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x0C, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x0A, 0xF2, 0x00, 0x10, 0x00, + 0x0B, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x0B, 0x00, 0x00, 0x00, + 0x02, 0x40, 0x00, 0x00, 0x49, 0x92, 0x24, 0x00, 0x49, 0x92, 0x24, 0x00, + 0x49, 0x92, 0x24, 0x00, 0x49, 0x92, 0x24, 0x00, 0x57, 0x00, 0x00, 0x0A, + 0xF2, 0x00, 0x10, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x0B, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x49, 0x92, 0x24, 0x00, + 0x49, 0x92, 0x24, 0x00, 0x49, 0x92, 0x24, 0x00, 0x49, 0x92, 0x24, 0x00, + 0x3B, 0x00, 0x00, 0x05, 0xF2, 0x00, 0x10, 0x00, 0x09, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x09, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x07, + 0xF2, 0x00, 0x10, 0x00, 0x09, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x06, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x09, 0x00, 0x00, 0x00, + 0x3B, 0x00, 0x00, 0x05, 0xF2, 0x00, 0x10, 0x00, 0x0C, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x07, + 0xF2, 0x00, 0x10, 0x00, 0x09, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x09, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x0C, 0x00, 0x00, 0x00, + 0x3C, 0x00, 0x00, 0x07, 0xF2, 0x00, 0x10, 0x00, 0x0B, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x0B, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x0A, 0xF2, 0x00, 0x10, 0x00, + 0x0B, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x0B, 0x00, 0x00, 0x00, + 0x02, 0x40, 0x00, 0x00, 0xB7, 0x6D, 0xDB, 0xFF, 0xB7, 0x6D, 0xDB, 0xFF, + 0xB7, 0x6D, 0xDB, 0xFF, 0xB7, 0x6D, 0xDB, 0xFF, 0x3C, 0x00, 0x00, 0x07, + 0xF2, 0x00, 0x10, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x09, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x0B, 0x00, 0x00, 0x00, + 0x29, 0x00, 0x00, 0x0A, 0xF2, 0x00, 0x10, 0x00, 0x0C, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x09, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x07, 0xF2, 0x00, 0x10, 0x00, + 0x0C, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x0B, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x0A, + 0xF2, 0x00, 0x10, 0x00, 0x09, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x09, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, + 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, + 0x3C, 0x00, 0x00, 0x07, 0xF2, 0x00, 0x10, 0x00, 0x0C, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x09, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x0C, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x0A, 0xF2, 0x00, 0x10, 0x00, + 0x0D, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, + 0x02, 0x40, 0x00, 0x00, 0x49, 0x92, 0x24, 0x00, 0x49, 0x92, 0x24, 0x00, + 0x49, 0x92, 0x24, 0x00, 0x49, 0x92, 0x24, 0x00, 0x55, 0x00, 0x00, 0x0A, + 0xF2, 0x00, 0x10, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x02, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x0A, 0xF2, 0x00, 0x10, 0x00, 0x10, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, + 0x49, 0x92, 0x24, 0x00, 0x49, 0x92, 0x24, 0x00, 0x49, 0x92, 0x24, 0x00, + 0x49, 0x92, 0x24, 0x00, 0x3C, 0x00, 0x00, 0x07, 0xF2, 0x00, 0x10, 0x00, + 0x11, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x55, 0x00, 0x00, 0x0A, + 0xF2, 0x00, 0x10, 0x00, 0x12, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x02, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, + 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x0A, 0xF2, 0x00, 0x10, 0x00, 0x13, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x12, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, + 0x49, 0x92, 0x24, 0x00, 0x49, 0x92, 0x24, 0x00, 0x49, 0x92, 0x24, 0x00, + 0x49, 0x92, 0x24, 0x00, 0x3C, 0x00, 0x00, 0x07, 0xF2, 0x00, 0x10, 0x00, + 0x11, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x11, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x12, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x0A, + 0xF2, 0x00, 0x10, 0x00, 0x11, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x11, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x49, 0x92, 0x24, 0x00, + 0x49, 0x92, 0x24, 0x00, 0x49, 0x92, 0x24, 0x00, 0x49, 0x92, 0x24, 0x00, + 0x57, 0x00, 0x00, 0x0A, 0xF2, 0x00, 0x10, 0x00, 0x11, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x11, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, + 0x49, 0x92, 0x24, 0x00, 0x49, 0x92, 0x24, 0x00, 0x49, 0x92, 0x24, 0x00, + 0x49, 0x92, 0x24, 0x00, 0x3B, 0x00, 0x00, 0x05, 0xF2, 0x00, 0x10, 0x00, + 0x10, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x10, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x07, 0xF2, 0x00, 0x10, 0x00, 0x10, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x10, 0x00, 0x00, 0x00, 0x3B, 0x00, 0x00, 0x05, 0xF2, 0x00, 0x10, 0x00, + 0x12, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x13, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x07, 0xF2, 0x00, 0x10, 0x00, 0x10, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x10, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x12, 0x00, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x07, 0xF2, 0x00, 0x10, 0x00, + 0x11, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x11, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x0A, + 0xF2, 0x00, 0x10, 0x00, 0x11, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x11, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0xB7, 0x6D, 0xDB, 0xFF, + 0xB7, 0x6D, 0xDB, 0xFF, 0xB7, 0x6D, 0xDB, 0xFF, 0xB7, 0x6D, 0xDB, 0xFF, + 0x3C, 0x00, 0x00, 0x07, 0xF2, 0x00, 0x10, 0x00, 0x11, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x10, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x11, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x0A, 0xF2, 0x00, 0x10, 0x00, + 0x12, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x10, 0x00, 0x00, 0x00, + 0x02, 0x40, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x07, + 0xF2, 0x00, 0x10, 0x00, 0x12, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x11, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x12, 0x00, 0x00, 0x00, + 0x29, 0x00, 0x00, 0x0A, 0xF2, 0x00, 0x10, 0x00, 0x10, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x10, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, + 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, + 0x02, 0x00, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x07, 0xF2, 0x00, 0x10, 0x00, + 0x12, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x10, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x12, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x07, + 0xF2, 0x00, 0x10, 0x00, 0x04, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x04, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x08, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x0A, 0xF2, 0x00, 0x10, 0x00, 0x04, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, + 0x92, 0x24, 0x49, 0x00, 0x92, 0x24, 0x49, 0x00, 0x92, 0x24, 0x49, 0x00, + 0x92, 0x24, 0x49, 0x00, 0x29, 0x00, 0x00, 0x0A, 0xF2, 0x00, 0x10, 0x00, + 0x08, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x00, + 0x02, 0x40, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x55, 0x00, 0x00, 0x0A, + 0xF2, 0x00, 0x10, 0x00, 0x13, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x04, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x1E, 0x00, 0x00, 0x07, 0xF2, 0x00, 0x10, 0x00, 0x04, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x08, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x07, 0xF2, 0x00, 0x10, 0x00, + 0x04, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x13, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x0A, + 0xF2, 0x00, 0x10, 0x00, 0x06, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x06, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0xB6, 0x6D, 0xDB, 0x00, + 0xB6, 0x6D, 0xDB, 0x00, 0xB6, 0x6D, 0xDB, 0x00, 0xB6, 0x6D, 0xDB, 0x00, + 0x01, 0x00, 0x00, 0x07, 0xF2, 0x00, 0x10, 0x00, 0x06, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x06, 0x00, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x07, 0xF2, 0x00, 0x10, 0x00, + 0x08, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x09, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x3B, 0x00, 0x00, 0x05, + 0xF2, 0x00, 0x10, 0x00, 0x04, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x07, 0xF2, 0x00, 0x10, 0x00, + 0x04, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x08, 0x00, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x07, + 0xF2, 0x00, 0x10, 0x00, 0x04, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x06, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x07, 0xF2, 0x00, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x0E, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x0A, 0xF2, 0x00, 0x10, 0x00, + 0x02, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, + 0x02, 0x40, 0x00, 0x00, 0x92, 0x24, 0x49, 0x00, 0x92, 0x24, 0x49, 0x00, + 0x92, 0x24, 0x49, 0x00, 0x92, 0x24, 0x49, 0x00, 0x29, 0x00, 0x00, 0x0A, + 0xF2, 0x00, 0x10, 0x00, 0x06, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x02, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x55, 0x00, 0x00, 0x0A, 0xF2, 0x00, 0x10, 0x00, 0x08, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x07, 0xF2, 0x00, 0x10, 0x00, + 0x02, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x06, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x07, + 0xF2, 0x00, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x02, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x08, 0x00, 0x00, 0x00, + 0x1E, 0x00, 0x00, 0x0A, 0xF2, 0x00, 0x10, 0x00, 0x06, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, + 0xB6, 0x6D, 0xDB, 0x00, 0xB6, 0x6D, 0xDB, 0x00, 0xB6, 0x6D, 0xDB, 0x00, + 0xB6, 0x6D, 0xDB, 0x00, 0x01, 0x00, 0x00, 0x07, 0xF2, 0x00, 0x10, 0x00, + 0x06, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x06, 0x00, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x07, + 0xF2, 0x00, 0x10, 0x00, 0x08, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x10, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x11, 0x00, 0x00, 0x00, + 0x3B, 0x00, 0x00, 0x05, 0xF2, 0x00, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x07, + 0xF2, 0x00, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x02, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x08, 0x00, 0x00, 0x00, + 0x3C, 0x00, 0x00, 0x07, 0xF2, 0x00, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x06, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x0A, 0xF2, 0x00, 0x10, 0x00, + 0x06, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x05, 0x00, 0x00, 0x00, + 0x02, 0x40, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, + 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x8A, 0x00, 0x00, 0x0F, + 0xF2, 0x00, 0x10, 0x00, 0x05, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, + 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, + 0x08, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, + 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x05, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x0A, + 0xF2, 0x00, 0x10, 0x00, 0x08, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x07, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, + 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, + 0x8A, 0x00, 0x00, 0x0F, 0xF2, 0x00, 0x10, 0x00, 0x07, 0x00, 0x00, 0x00, + 0x02, 0x40, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, + 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, + 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, + 0x08, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x07, 0x00, 0x00, 0x00, + 0x29, 0x00, 0x00, 0x0A, 0x32, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x46, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, + 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x07, 0x12, 0x00, 0x10, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x40, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x0A, + 0x42, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2A, 0x00, 0x02, 0x00, + 0x1A, 0x80, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x1A, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x23, 0x00, 0x00, 0x0B, 0x12, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x2A, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3A, 0x80, 0x30, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x0A, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x09, + 0x12, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x10, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x2A, 0x80, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x07, + 0xF2, 0x00, 0x10, 0x00, 0x09, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x05, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x06, 0x00, 0x00, 0x00, + 0x37, 0x00, 0x00, 0x0F, 0xF2, 0x00, 0x10, 0x00, 0x0B, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x09, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, + 0x05, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, + 0x05, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, + 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, + 0x37, 0x00, 0x00, 0x0F, 0xF2, 0x00, 0x10, 0x00, 0x0D, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x09, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, + 0x6D, 0x0B, 0x00, 0x00, 0x6D, 0x0B, 0x00, 0x00, 0x6D, 0x0B, 0x00, 0x00, + 0x6D, 0x0B, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0xFF, 0x0F, 0x00, 0x00, + 0xFF, 0x0F, 0x00, 0x00, 0xFF, 0x0F, 0x00, 0x00, 0xFF, 0x0F, 0x00, 0x00, + 0x50, 0x00, 0x00, 0x07, 0xF2, 0x00, 0x10, 0x00, 0x0E, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x07, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x08, 0x00, 0x00, 0x00, 0x37, 0x00, 0x00, 0x0F, 0xF2, 0x00, 0x10, 0x00, + 0x10, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x0E, 0x00, 0x00, 0x00, + 0x02, 0x40, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, + 0x05, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, + 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, + 0x07, 0x00, 0x00, 0x00, 0x37, 0x00, 0x00, 0x0F, 0xF2, 0x00, 0x10, 0x00, + 0x11, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x0E, 0x00, 0x00, 0x00, + 0x02, 0x40, 0x00, 0x00, 0x6D, 0x0B, 0x00, 0x00, 0x6D, 0x0B, 0x00, 0x00, + 0x6D, 0x0B, 0x00, 0x00, 0x6D, 0x0B, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, + 0xFF, 0x0F, 0x00, 0x00, 0xFF, 0x0F, 0x00, 0x00, 0xFF, 0x0F, 0x00, 0x00, + 0xFF, 0x0F, 0x00, 0x00, 0x36, 0x00, 0x00, 0x07, 0x42, 0x00, 0x10, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x1A, 0x80, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x36, 0x00, 0x00, 0x05, + 0x82, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1A, 0x00, 0x10, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x36, 0x00, 0x00, 0x05, 0x12, 0x00, 0x10, 0x00, + 0x13, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x36, 0x00, 0x00, 0x05, 0x22, 0x00, 0x10, 0x00, 0x13, 0x00, 0x00, 0x00, + 0x01, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x01, + 0x50, 0x00, 0x00, 0x07, 0x42, 0x00, 0x10, 0x00, 0x13, 0x00, 0x00, 0x00, + 0x1A, 0x00, 0x10, 0x00, 0x13, 0x00, 0x00, 0x00, 0x01, 0x40, 0x00, 0x00, + 0x04, 0x00, 0x00, 0x00, 0x03, 0x00, 0x04, 0x03, 0x2A, 0x00, 0x10, 0x00, + 0x13, 0x00, 0x00, 0x00, 0x4F, 0x00, 0x00, 0x07, 0x42, 0x00, 0x10, 0x00, + 0x13, 0x00, 0x00, 0x00, 0x1A, 0x00, 0x10, 0x00, 0x13, 0x00, 0x00, 0x00, + 0x01, 0x40, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x37, 0x00, 0x00, 0x09, + 0xF2, 0x00, 0x10, 0x00, 0x14, 0x00, 0x00, 0x00, 0xA6, 0x0A, 0x10, 0x00, + 0x13, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x0A, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x07, + 0x82, 0x00, 0x10, 0x00, 0x13, 0x00, 0x00, 0x00, 0x1A, 0x00, 0x10, 0x00, + 0x13, 0x00, 0x00, 0x00, 0x01, 0x40, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x26, 0x00, 0x00, 0x08, 0x00, 0xD0, 0x00, 0x00, 0x82, 0x00, 0x10, 0x00, + 0x13, 0x00, 0x00, 0x00, 0x3A, 0x00, 0x10, 0x00, 0x13, 0x00, 0x00, 0x00, + 0x01, 0x40, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x55, 0x00, 0x00, 0x07, + 0xF2, 0x00, 0x10, 0x00, 0x14, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x14, 0x00, 0x00, 0x00, 0xF6, 0x0F, 0x10, 0x00, 0x13, 0x00, 0x00, 0x00, + 0x37, 0x00, 0x00, 0x09, 0xF2, 0x00, 0x10, 0x00, 0x15, 0x00, 0x00, 0x00, + 0xA6, 0x0A, 0x10, 0x00, 0x13, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, + 0x55, 0x00, 0x00, 0x07, 0xF2, 0x00, 0x10, 0x00, 0x15, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x15, 0x00, 0x00, 0x00, 0xF6, 0x0F, 0x10, 0x00, + 0x13, 0x00, 0x00, 0x00, 0x37, 0x00, 0x00, 0x09, 0xF2, 0x00, 0x10, 0x00, + 0x14, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x09, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x15, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x14, 0x00, 0x00, 0x00, 0x55, 0x00, 0x00, 0x0A, 0xF2, 0x00, 0x10, 0x00, + 0x16, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x15, 0x00, 0x00, 0x00, + 0x02, 0x40, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x07, + 0xF2, 0x00, 0x10, 0x00, 0x16, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x15, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x16, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x07, 0xF2, 0x00, 0x10, 0x00, 0x16, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x09, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x16, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x0A, 0xF2, 0x00, 0x10, 0x00, + 0x16, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x16, 0x00, 0x00, 0x00, + 0x02, 0x40, 0x00, 0x00, 0x92, 0x04, 0x00, 0x00, 0x92, 0x04, 0x00, 0x00, + 0x92, 0x04, 0x00, 0x00, 0x92, 0x04, 0x00, 0x00, 0x29, 0x00, 0x00, 0x0A, + 0xF2, 0x00, 0x10, 0x00, 0x17, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x16, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x55, 0x00, 0x00, 0x0A, 0xF2, 0x00, 0x10, 0x00, 0x18, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x16, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x07, 0xF2, 0x00, 0x10, 0x00, + 0x16, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x16, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x17, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x07, + 0xF2, 0x00, 0x10, 0x00, 0x16, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x16, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x18, 0x00, 0x00, 0x00, + 0x3B, 0x00, 0x00, 0x05, 0xF2, 0x00, 0x10, 0x00, 0x17, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x16, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x07, + 0xF2, 0x00, 0x10, 0x00, 0x14, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x14, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x17, 0x00, 0x00, 0x00, + 0x1E, 0x00, 0x00, 0x08, 0xF2, 0x00, 0x10, 0x00, 0x18, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x80, + 0x41, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x07, + 0xF2, 0x00, 0x10, 0x00, 0x17, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x17, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x18, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x0A, 0xF2, 0x00, 0x10, 0x00, 0x18, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x17, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, + 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, + 0x07, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x0A, 0xF2, 0x00, 0x10, 0x00, + 0x19, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x14, 0x00, 0x00, 0x00, + 0x02, 0x40, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, + 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x26, 0x00, 0x00, 0x08, + 0x00, 0xD0, 0x00, 0x00, 0xF2, 0x00, 0x10, 0x00, 0x19, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x05, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x19, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x09, 0xF2, 0x00, 0x10, 0x00, + 0x18, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x06, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x18, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x19, 0x00, 0x00, 0x00, 0x4E, 0x00, 0x00, 0x08, 0xF2, 0x00, 0x10, 0x00, + 0x18, 0x00, 0x00, 0x00, 0x00, 0xD0, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x18, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x0B, 0x00, 0x00, 0x00, + 0x8A, 0x00, 0x00, 0x0F, 0xF2, 0x00, 0x10, 0x00, 0x19, 0x00, 0x00, 0x00, + 0x02, 0x40, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, + 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, + 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, + 0x03, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x17, 0x00, 0x00, 0x00, + 0x8A, 0x00, 0x00, 0x0F, 0xF2, 0x00, 0x10, 0x00, 0x1A, 0x00, 0x00, 0x00, + 0x02, 0x40, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, + 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, + 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, + 0x03, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x14, 0x00, 0x00, 0x00, + 0x26, 0x00, 0x00, 0x08, 0x00, 0xD0, 0x00, 0x00, 0xF2, 0x00, 0x10, 0x00, + 0x1A, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x05, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x1A, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x09, + 0xF2, 0x00, 0x10, 0x00, 0x19, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x06, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x19, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x1A, 0x00, 0x00, 0x00, 0x4E, 0x00, 0x00, 0x08, + 0xF2, 0x00, 0x10, 0x00, 0x19, 0x00, 0x00, 0x00, 0x00, 0xD0, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x19, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x0B, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x0A, 0xF2, 0x00, 0x10, 0x00, + 0x19, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x19, 0x00, 0x00, 0x00, + 0x02, 0x40, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, + 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x07, + 0xF2, 0x00, 0x10, 0x00, 0x18, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x18, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x19, 0x00, 0x00, 0x00, + 0x8A, 0x00, 0x00, 0x0F, 0xF2, 0x00, 0x10, 0x00, 0x19, 0x00, 0x00, 0x00, + 0x02, 0x40, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, + 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, + 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, + 0x06, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x17, 0x00, 0x00, 0x00, + 0x8A, 0x00, 0x00, 0x0F, 0xF2, 0x00, 0x10, 0x00, 0x1A, 0x00, 0x00, 0x00, + 0x02, 0x40, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, + 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, + 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, + 0x06, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x14, 0x00, 0x00, 0x00, + 0x26, 0x00, 0x00, 0x08, 0x00, 0xD0, 0x00, 0x00, 0xF2, 0x00, 0x10, 0x00, + 0x1A, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x05, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x1A, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x09, + 0xF2, 0x00, 0x10, 0x00, 0x19, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x06, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x19, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x1A, 0x00, 0x00, 0x00, 0x4E, 0x00, 0x00, 0x08, + 0xF2, 0x00, 0x10, 0x00, 0x19, 0x00, 0x00, 0x00, 0x00, 0xD0, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x19, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x0B, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x0A, 0xF2, 0x00, 0x10, 0x00, + 0x19, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x19, 0x00, 0x00, 0x00, + 0x02, 0x40, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, + 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x07, + 0xF2, 0x00, 0x10, 0x00, 0x18, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x18, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x19, 0x00, 0x00, 0x00, + 0x8A, 0x00, 0x00, 0x0F, 0xF2, 0x00, 0x10, 0x00, 0x17, 0x00, 0x00, 0x00, + 0x02, 0x40, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, + 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, + 0x09, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, + 0x09, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x17, 0x00, 0x00, 0x00, + 0x8A, 0x00, 0x00, 0x0F, 0xF2, 0x00, 0x10, 0x00, 0x14, 0x00, 0x00, 0x00, + 0x02, 0x40, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, + 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, + 0x09, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, + 0x09, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x14, 0x00, 0x00, 0x00, + 0x26, 0x00, 0x00, 0x08, 0x00, 0xD0, 0x00, 0x00, 0xF2, 0x00, 0x10, 0x00, + 0x14, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x05, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x14, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x09, + 0xF2, 0x00, 0x10, 0x00, 0x14, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x06, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x17, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x14, 0x00, 0x00, 0x00, 0x4E, 0x00, 0x00, 0x08, + 0xF2, 0x00, 0x10, 0x00, 0x14, 0x00, 0x00, 0x00, 0x00, 0xD0, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x14, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x0B, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x0A, 0xF2, 0x00, 0x10, 0x00, + 0x14, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x14, 0x00, 0x00, 0x00, + 0x02, 0x40, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, + 0x18, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x07, + 0xF2, 0x00, 0x10, 0x00, 0x14, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x14, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x18, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x07, 0xF2, 0x00, 0x10, 0x00, 0x15, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x15, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x16, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x0A, 0xF2, 0x00, 0x10, 0x00, + 0x16, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x15, 0x00, 0x00, 0x00, + 0x02, 0x40, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, + 0x05, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x0A, + 0xF2, 0x00, 0x10, 0x00, 0x16, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x16, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, + 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, + 0x8C, 0x00, 0x00, 0x11, 0xF2, 0x00, 0x10, 0x00, 0x16, 0x00, 0x00, 0x00, + 0x02, 0x40, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x15, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x16, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x0A, + 0xF2, 0x00, 0x10, 0x00, 0x17, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x15, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, + 0x0A, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x0A, 0xF2, 0x00, 0x10, 0x00, 0x17, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x17, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, + 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, + 0x00, 0x00, 0x01, 0x00, 0x1E, 0x00, 0x00, 0x07, 0xF2, 0x00, 0x10, 0x00, + 0x16, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x16, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x17, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x0A, + 0xF2, 0x00, 0x10, 0x00, 0x15, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x15, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, + 0x0F, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x0A, 0xF2, 0x00, 0x10, 0x00, 0x15, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x15, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, + 0x00, 0x00, 0x00, 0x01, 0x1E, 0x00, 0x00, 0x07, 0xF2, 0x00, 0x10, 0x00, + 0x15, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x15, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x16, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x0C, + 0xF2, 0x00, 0x10, 0x00, 0x14, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x15, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, + 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x14, 0x00, 0x00, 0x00, 0x37, 0x00, 0x00, 0x09, + 0xF2, 0x00, 0x10, 0x00, 0x15, 0x00, 0x00, 0x00, 0xA6, 0x0A, 0x10, 0x00, + 0x13, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x0C, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x12, 0x00, 0x00, 0x00, 0x55, 0x00, 0x00, 0x07, + 0xF2, 0x00, 0x10, 0x00, 0x15, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x15, 0x00, 0x00, 0x00, 0xF6, 0x0F, 0x10, 0x00, 0x13, 0x00, 0x00, 0x00, + 0x37, 0x00, 0x00, 0x09, 0xF2, 0x00, 0x10, 0x00, 0x16, 0x00, 0x00, 0x00, + 0xA6, 0x0A, 0x10, 0x00, 0x13, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x04, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, + 0x55, 0x00, 0x00, 0x07, 0xF2, 0x00, 0x10, 0x00, 0x16, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x16, 0x00, 0x00, 0x00, 0xF6, 0x0F, 0x10, 0x00, + 0x13, 0x00, 0x00, 0x00, 0x37, 0x00, 0x00, 0x09, 0xF2, 0x00, 0x10, 0x00, + 0x15, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x0E, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x16, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x15, 0x00, 0x00, 0x00, 0x55, 0x00, 0x00, 0x0A, 0xF2, 0x00, 0x10, 0x00, + 0x17, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x16, 0x00, 0x00, 0x00, + 0x02, 0x40, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x07, + 0xF2, 0x00, 0x10, 0x00, 0x17, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x16, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x17, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x07, 0xF2, 0x00, 0x10, 0x00, 0x17, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x17, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x0A, 0xF2, 0x00, 0x10, 0x00, + 0x17, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x17, 0x00, 0x00, 0x00, + 0x02, 0x40, 0x00, 0x00, 0x92, 0x04, 0x00, 0x00, 0x92, 0x04, 0x00, 0x00, + 0x92, 0x04, 0x00, 0x00, 0x92, 0x04, 0x00, 0x00, 0x29, 0x00, 0x00, 0x0A, + 0xF2, 0x00, 0x10, 0x00, 0x18, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x17, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x55, 0x00, 0x00, 0x0A, 0xF2, 0x00, 0x10, 0x00, 0x19, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x17, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x07, 0xF2, 0x00, 0x10, 0x00, + 0x17, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x17, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x18, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x07, + 0xF2, 0x00, 0x10, 0x00, 0x17, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x17, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x19, 0x00, 0x00, 0x00, + 0x3B, 0x00, 0x00, 0x05, 0xF2, 0x00, 0x10, 0x00, 0x18, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x17, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x07, + 0xF2, 0x00, 0x10, 0x00, 0x15, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x15, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x18, 0x00, 0x00, 0x00, + 0x1E, 0x00, 0x00, 0x08, 0xF2, 0x00, 0x10, 0x00, 0x19, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x11, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x80, + 0x41, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x07, + 0xF2, 0x00, 0x10, 0x00, 0x18, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x18, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x19, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x0A, 0xF2, 0x00, 0x10, 0x00, 0x19, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x18, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, + 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, + 0x07, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x0A, 0xF2, 0x00, 0x10, 0x00, + 0x1A, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x15, 0x00, 0x00, 0x00, + 0x02, 0x40, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, + 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x26, 0x00, 0x00, 0x08, + 0x00, 0xD0, 0x00, 0x00, 0xF2, 0x00, 0x10, 0x00, 0x1A, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x07, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x1A, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x09, 0xF2, 0x00, 0x10, 0x00, + 0x19, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x08, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x19, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x1A, 0x00, 0x00, 0x00, 0x4E, 0x00, 0x00, 0x08, 0xF2, 0x00, 0x10, 0x00, + 0x19, 0x00, 0x00, 0x00, 0x00, 0xD0, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x19, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x10, 0x00, 0x00, 0x00, + 0x8A, 0x00, 0x00, 0x0F, 0xF2, 0x00, 0x10, 0x00, 0x1A, 0x00, 0x00, 0x00, + 0x02, 0x40, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, + 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, + 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, + 0x03, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x18, 0x00, 0x00, 0x00, + 0x8A, 0x00, 0x00, 0x0F, 0xF2, 0x00, 0x10, 0x00, 0x1B, 0x00, 0x00, 0x00, + 0x02, 0x40, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, + 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, + 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, + 0x03, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x15, 0x00, 0x00, 0x00, + 0x26, 0x00, 0x00, 0x08, 0x00, 0xD0, 0x00, 0x00, 0xF2, 0x00, 0x10, 0x00, + 0x1B, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x07, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x1B, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x09, + 0xF2, 0x00, 0x10, 0x00, 0x1A, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x08, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x1A, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x1B, 0x00, 0x00, 0x00, 0x4E, 0x00, 0x00, 0x08, + 0xF2, 0x00, 0x10, 0x00, 0x1A, 0x00, 0x00, 0x00, 0x00, 0xD0, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x1A, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x10, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x0A, 0xF2, 0x00, 0x10, 0x00, + 0x1A, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x1A, 0x00, 0x00, 0x00, + 0x02, 0x40, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, + 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x07, + 0xF2, 0x00, 0x10, 0x00, 0x19, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x19, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x1A, 0x00, 0x00, 0x00, + 0x8A, 0x00, 0x00, 0x0F, 0xF2, 0x00, 0x10, 0x00, 0x1A, 0x00, 0x00, 0x00, + 0x02, 0x40, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, + 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, + 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, + 0x06, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x18, 0x00, 0x00, 0x00, + 0x8A, 0x00, 0x00, 0x0F, 0xF2, 0x00, 0x10, 0x00, 0x1B, 0x00, 0x00, 0x00, + 0x02, 0x40, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, + 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, + 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, + 0x06, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x15, 0x00, 0x00, 0x00, + 0x26, 0x00, 0x00, 0x08, 0x00, 0xD0, 0x00, 0x00, 0xF2, 0x00, 0x10, 0x00, + 0x1B, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x07, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x1B, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x09, + 0xF2, 0x00, 0x10, 0x00, 0x1A, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x08, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x1A, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x1B, 0x00, 0x00, 0x00, 0x4E, 0x00, 0x00, 0x08, + 0xF2, 0x00, 0x10, 0x00, 0x1A, 0x00, 0x00, 0x00, 0x00, 0xD0, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x1A, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x10, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x0A, 0xF2, 0x00, 0x10, 0x00, + 0x1A, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x1A, 0x00, 0x00, 0x00, + 0x02, 0x40, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, + 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x07, + 0xF2, 0x00, 0x10, 0x00, 0x19, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x19, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x1A, 0x00, 0x00, 0x00, + 0x8A, 0x00, 0x00, 0x0F, 0xF2, 0x00, 0x10, 0x00, 0x18, 0x00, 0x00, 0x00, + 0x02, 0x40, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, + 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, + 0x09, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, + 0x09, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x18, 0x00, 0x00, 0x00, + 0x8A, 0x00, 0x00, 0x0F, 0xF2, 0x00, 0x10, 0x00, 0x15, 0x00, 0x00, 0x00, + 0x02, 0x40, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, + 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, + 0x09, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, + 0x09, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x15, 0x00, 0x00, 0x00, + 0x26, 0x00, 0x00, 0x08, 0x00, 0xD0, 0x00, 0x00, 0xF2, 0x00, 0x10, 0x00, + 0x15, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x07, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x15, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x09, + 0xF2, 0x00, 0x10, 0x00, 0x15, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x08, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x18, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x15, 0x00, 0x00, 0x00, 0x4E, 0x00, 0x00, 0x08, + 0xF2, 0x00, 0x10, 0x00, 0x15, 0x00, 0x00, 0x00, 0x00, 0xD0, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x15, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x10, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x0A, 0xF2, 0x00, 0x10, 0x00, + 0x15, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x15, 0x00, 0x00, 0x00, + 0x02, 0x40, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, + 0x18, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x07, + 0xF2, 0x00, 0x10, 0x00, 0x15, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x15, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x19, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x07, 0xF2, 0x00, 0x10, 0x00, 0x16, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x16, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x17, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x0A, 0xF2, 0x00, 0x10, 0x00, + 0x17, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x16, 0x00, 0x00, 0x00, + 0x02, 0x40, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, + 0x05, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x0A, + 0xF2, 0x00, 0x10, 0x00, 0x17, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x17, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, + 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, + 0x8C, 0x00, 0x00, 0x11, 0xF2, 0x00, 0x10, 0x00, 0x17, 0x00, 0x00, 0x00, + 0x02, 0x40, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x16, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x17, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x0A, + 0xF2, 0x00, 0x10, 0x00, 0x18, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x16, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, + 0x0A, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x0A, 0xF2, 0x00, 0x10, 0x00, 0x18, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x18, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, + 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, + 0x00, 0x00, 0x01, 0x00, 0x1E, 0x00, 0x00, 0x07, 0xF2, 0x00, 0x10, 0x00, + 0x17, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x17, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x18, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x0A, + 0xF2, 0x00, 0x10, 0x00, 0x16, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x16, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, + 0x0F, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x0A, 0xF2, 0x00, 0x10, 0x00, 0x16, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x16, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, + 0x00, 0x00, 0x00, 0x01, 0x1E, 0x00, 0x00, 0x07, 0xF2, 0x00, 0x10, 0x00, + 0x16, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x16, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x17, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x0C, + 0xF2, 0x00, 0x10, 0x00, 0x15, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x16, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, + 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x15, 0x00, 0x00, 0x00, 0x55, 0x00, 0x00, 0x0A, + 0xF2, 0x00, 0x10, 0x00, 0x16, 0x00, 0x00, 0x00, 0x86, 0x0D, 0x10, 0x00, + 0x14, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, + 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, + 0x55, 0x00, 0x00, 0x0A, 0xF2, 0x00, 0x10, 0x00, 0x17, 0x00, 0x00, 0x00, + 0x06, 0x05, 0x10, 0x00, 0x14, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, + 0x08, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, + 0x18, 0x00, 0x00, 0x00, 0x8C, 0x00, 0x00, 0x14, 0xF2, 0x00, 0x10, 0x00, + 0x17, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, + 0x10, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, + 0x02, 0x40, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, + 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x17, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x36, 0x00, 0x00, 0x05, 0x52, 0x00, 0x10, 0x00, 0x18, 0x00, 0x00, 0x00, + 0x06, 0x01, 0x10, 0x00, 0x14, 0x00, 0x00, 0x00, 0x36, 0x00, 0x00, 0x05, + 0xA2, 0x00, 0x10, 0x00, 0x18, 0x00, 0x00, 0x00, 0x06, 0x08, 0x10, 0x00, + 0x16, 0x00, 0x00, 0x00, 0x8C, 0x00, 0x00, 0x11, 0xF2, 0x00, 0x10, 0x00, + 0x17, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, + 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, + 0x02, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x18, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x17, 0x00, 0x00, 0x00, + 0x55, 0x00, 0x00, 0x0A, 0xF2, 0x00, 0x10, 0x00, 0x18, 0x00, 0x00, 0x00, + 0x86, 0x0D, 0x10, 0x00, 0x15, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, + 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, + 0x10, 0x00, 0x00, 0x00, 0x36, 0x00, 0x00, 0x05, 0x52, 0x00, 0x10, 0x00, + 0x19, 0x00, 0x00, 0x00, 0x06, 0x01, 0x10, 0x00, 0x15, 0x00, 0x00, 0x00, + 0x36, 0x00, 0x00, 0x05, 0xA2, 0x00, 0x10, 0x00, 0x19, 0x00, 0x00, 0x00, + 0x06, 0x08, 0x10, 0x00, 0x18, 0x00, 0x00, 0x00, 0x8C, 0x00, 0x00, 0x11, + 0xF2, 0x00, 0x10, 0x00, 0x17, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, + 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, + 0x08, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, + 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x19, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x17, 0x00, 0x00, 0x00, 0x55, 0x00, 0x00, 0x0A, 0xF2, 0x00, 0x10, 0x00, + 0x19, 0x00, 0x00, 0x00, 0x06, 0x05, 0x10, 0x00, 0x15, 0x00, 0x00, 0x00, + 0x02, 0x40, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, + 0x08, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x8C, 0x00, 0x00, 0x11, + 0xF2, 0x00, 0x10, 0x00, 0x17, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, + 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, + 0x08, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, + 0x18, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x19, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x17, 0x00, 0x00, 0x00, 0xA6, 0x00, 0x00, 0x08, 0xF2, 0xE0, 0x21, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x10, 0x00, + 0x13, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x17, 0x00, 0x00, 0x00, + 0x55, 0x00, 0x00, 0x0A, 0xF2, 0x00, 0x10, 0x00, 0x17, 0x00, 0x00, 0x00, + 0xA6, 0x0F, 0x10, 0x00, 0x14, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, + 0x08, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, + 0x18, 0x00, 0x00, 0x00, 0x8C, 0x00, 0x00, 0x14, 0xF2, 0x00, 0x10, 0x00, + 0x17, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, + 0x10, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, + 0x02, 0x40, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, + 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x17, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x36, 0x00, 0x00, 0x05, 0x52, 0x00, 0x10, 0x00, 0x16, 0x00, 0x00, 0x00, + 0xA6, 0x0B, 0x10, 0x00, 0x14, 0x00, 0x00, 0x00, 0x8C, 0x00, 0x00, 0x11, + 0xF2, 0x00, 0x10, 0x00, 0x14, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, + 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, + 0x08, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x16, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x17, 0x00, 0x00, 0x00, 0x36, 0x00, 0x00, 0x05, 0x52, 0x00, 0x10, 0x00, + 0x18, 0x00, 0x00, 0x00, 0xA6, 0x0B, 0x10, 0x00, 0x15, 0x00, 0x00, 0x00, + 0x8C, 0x00, 0x00, 0x11, 0xF2, 0x00, 0x10, 0x00, 0x14, 0x00, 0x00, 0x00, + 0x02, 0x40, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, + 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, + 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, + 0x08, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x18, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x14, 0x00, 0x00, 0x00, 0x55, 0x00, 0x00, 0x0A, + 0xF2, 0x00, 0x10, 0x00, 0x15, 0x00, 0x00, 0x00, 0xA6, 0x0F, 0x10, 0x00, + 0x15, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, + 0x18, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, + 0x8C, 0x00, 0x00, 0x11, 0xF2, 0x00, 0x10, 0x00, 0x14, 0x00, 0x00, 0x00, + 0x02, 0x40, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, + 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, + 0x18, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, + 0x18, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x15, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x14, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x07, + 0x42, 0x00, 0x10, 0x00, 0x13, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x10, 0x00, + 0x13, 0x00, 0x00, 0x00, 0x01, 0x40, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, + 0xA6, 0x00, 0x00, 0x08, 0xF2, 0xE0, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x2A, 0x00, 0x10, 0x00, 0x13, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x14, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x07, + 0x82, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3A, 0x00, 0x10, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x40, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x50, 0x00, 0x00, 0x07, 0x42, 0x00, 0x10, 0x00, 0x13, 0x00, 0x00, 0x00, + 0x3A, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2A, 0x00, 0x10, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x1F, 0x00, 0x04, 0x03, 0x2A, 0x00, 0x10, 0x00, + 0x13, 0x00, 0x00, 0x00, 0x3E, 0x00, 0x00, 0x01, 0x15, 0x00, 0x00, 0x01, + 0x1E, 0x00, 0x00, 0x09, 0x12, 0x00, 0x10, 0x00, 0x13, 0x00, 0x00, 0x00, + 0x0A, 0x00, 0x10, 0x00, 0x13, 0x00, 0x00, 0x00, 0x3A, 0x80, 0x30, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x1E, 0x00, 0x00, 0x07, 0x22, 0x00, 0x10, 0x00, 0x13, 0x00, 0x00, 0x00, + 0x1A, 0x00, 0x10, 0x00, 0x13, 0x00, 0x00, 0x00, 0x01, 0x40, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x01, 0x3E, 0x00, 0x00, 0x01, + 0x53, 0x54, 0x41, 0x54, 0x94, 0x00, 0x00, 0x00, 0xD8, 0x01, 0x00, 0x00, + 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x7B, 0x00, 0x00, 0x00, 0xCB, 0x00, 0x00, 0x00, + 0x0A, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x29, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, +}; diff --git a/src/xenia/gpu/d3d12/shaders/dxbc/texture_load_dxn_rg8_cs.txt b/src/xenia/gpu/d3d12/shaders/dxbc/texture_load_dxn_rg8_cs.txt new file mode 100644 index 000000000..f01a2ec73 --- /dev/null +++ b/src/xenia/gpu/d3d12/shaders/dxbc/texture_load_dxn_rg8_cs.txt @@ -0,0 +1,524 @@ +// +// Generated by Microsoft (R) HLSL Shader Compiler 10.1 +// +// +// Buffer Definitions: +// +// cbuffer XeTextureCopyConstants +// { +// +// uint xe_texture_copy_guest_base; // Offset: 0 Size: 4 +// uint xe_texture_copy_guest_pitch; // Offset: 4 Size: 4 +// uint xe_texture_copy_host_base; // Offset: 8 Size: 4 +// uint xe_texture_copy_host_pitch; // Offset: 12 Size: 4 +// uint3 xe_texture_copy_size_texels; // Offset: 16 Size: 12 +// bool xe_texture_copy_is_3d; // Offset: 28 Size: 4 +// uint3 xe_texture_copy_size_blocks; // Offset: 32 Size: 12 +// uint xe_texture_copy_endianness; // Offset: 44 Size: 4 +// uint3 xe_texture_copy_guest_mip_offset;// Offset: 48 Size: 12 +// +// } +// +// +// Resource Bindings: +// +// Name Type Format Dim ID HLSL Bind Count +// ------------------------------ ---------- ------- ----------- ------- -------------- ------ +// xe_texture_copy_source texture byte r/o T0 t0 1 +// xe_texture_copy_dest UAV byte r/w U0 u0 1 +// XeTextureCopyConstants cbuffer NA NA CB0 cb0 1 +// +// +// +// Input signature: +// +// Name Index Mask Register SysValue Format Used +// -------------------- ----- ------ -------- -------- ------- ------ +// no Input +// +// Output signature: +// +// Name Index Mask Register SysValue Format Used +// -------------------- ----- ------ -------- -------- ------- ------ +// no Output +cs_5_1 +dcl_globalFlags refactoringAllowed +dcl_constantbuffer CB0[0:0][4], immediateIndexed, space=0 +dcl_resource_raw T0[0:0], space=0 +dcl_uav_raw U0[0:0], space=0 +dcl_input vThreadID.xyz +dcl_temps 28 +dcl_thread_group 8, 32, 1 +ishl r0.x, vThreadID.x, l(2) +mov r0.yz, vThreadID.yyzy +uge r1.xyz, r0.xyzx, CB0[0][2].xyzx +or r0.w, r1.y, r1.x +or r0.w, r1.z, r0.w +if_nz r0.w + ret +endif +iadd r1.xyz, r0.xyzx, CB0[0][3].xyzx +ieq r0.z, CB0[0][0].y, l(-1) +if_nz r0.z + if_nz CB0[0][1].w + iadd r2.xyzw, r1.xxxx, l(0, 1, 2, 3) + iadd r0.zw, CB0[0][2].yyyx, l(0, 0, 31, 31) + ushr r3.xyz, r1.zyyz, l(2, 4, 3, 0) + ushr r0.zw, r0.zzzw, l(0, 0, 4, 5) + and r0.z, r0.z, l(0x0ffffffe) + imad r0.z, r3.x, r0.z, r3.y + iadd r1.w, r3.z, r3.x + bfi r3.x, l(1), l(1), r1.w, l(0) + ushr r4.xyzw, r2.xyzw, l(3, 3, 3, 3) + iadd r3.xyzw, r3.xxxx, r4.xyzw + bfi r3.xyzw, l(2, 2, 2, 2), l(1, 1, 1, 1), r3.xyzw, l(0, 0, 0, 0) + bfi r3.xyzw, l(1, 1, 1, 1), l(0, 0, 0, 0), r1.wwww, r3.xyzw + ishl r1.w, r1.y, l(12) + and r1.w, r1.w, l(0x00006000) + bfi r4.xyzw, l(3, 3, 3, 3), l(10, 10, 10, 10), r2.xyzw, r1.wwww + ushr r4.xyzw, r4.xyzw, l(6, 6, 6, 6) + ushr r2.xyzw, r2.xyzw, l(5, 5, 5, 5) + imad r2.xyzw, r0.zzzz, r0.wwww, r2.xyzw + bfi r5.xyzw, l(18, 18, 18, 18), l(12, 12, 12, 12), r2.xyzw, l(0, 0, 0, 0) + imad r5.xyzw, r4.xyzw, l(2, 2, 2, 2), r5.xyzw + bfi r5.xyzw, l(2, 2, 2, 2), l(10, 10, 10, 10), r1.zzzz, r5.xyzw + bfi r0.z, l(1), l(4), r1.y, l(0) + iadd r6.xyzw, r5.xyzw, r0.zzzz + ubfe r5.xyzw, l(3, 3, 3, 3), l(6, 6, 6, 6), r5.xyzw + and r7.xyzw, r3.xyzw, l(6, 6, 6, 6) + bfi r3.xyzw, l(1, 1, 1, 1), l(8, 8, 8, 8), r3.xyzw, l(0, 0, 0, 0) + imad r3.xyzw, r5.xyzw, l(32, 32, 32, 32), r3.xyzw + imad r3.xyzw, r7.xyzw, l(4, 4, 4, 4), r3.xyzw + bfi r2.xyzw, l(18, 18, 18, 18), l(15, 15, 15, 15), r2.xyzw, l(0, 0, 0, 0) + imad r2.xyzw, r4.xyzw, l(16, 16, 16, 16), r2.xyzw + bfi r2.xyzw, l(2, 2, 2, 2), l(13, 13, 13, 13), r1.zzzz, r2.xyzw + imad r2.xyzw, r0.zzzz, l(8, 8, 8, 8), r2.xyzw + bfi r2.xyzw, l(9, 9, 9, 9), l(3, 3, 3, 3), r3.xyzw, r2.xyzw + bfi r2.xyzw, l(6, 6, 6, 6), l(0, 0, 0, 0), r6.xyzw, r2.xyzw + else + iadd r3.xyzw, r1.xxxx, l(0, 1, 2, 3) + ushr r4.xyzw, r3.xyzw, l(5, 5, 5, 5) + ushr r0.zw, r1.yyyy, l(0, 0, 5, 2) + iadd r1.w, CB0[0][2].x, l(31) + ushr r1.w, r1.w, l(5) + imad r4.xyzw, r0.zzzz, r1.wwww, r4.xyzw + ishl r0.z, r1.y, l(7) + and r5.xy, r0.zzzz, l(1792, 2048, 0, 0) + bfi r6.xyzw, l(3, 3, 3, 3), l(5, 5, 5, 5), r3.xyzw, r5.xxxx + bfi r6.xyzw, l(21, 21, 21, 21), l(11, 11, 11, 11), r4.xyzw, r6.xyzw + bfi r0.z, l(1), l(4), r1.y, l(0) + iadd r6.xyzw, r6.xyzw, r0.zzzz + ishl r5.xz, r5.xxxx, l(3, 0, 2, 0) + bfi r7.xyzw, l(3, 3, 3, 3), l(8, 8, 8, 8), r3.xyzw, r5.xxxx + bfi r7.xyzw, l(21, 21, 21, 21), l(14, 14, 14, 14), r4.xyzw, r7.xyzw + imad r7.xyzw, r0.zzzz, l(8, 8, 8, 8), r7.xyzw + bfi r7.xyzw, l(12, 12, 12, 12), l(0, 0, 0, 0), r5.yyyy, r7.xyzw + bfi r5.xyzw, l(3, 3, 3, 3), l(7, 7, 7, 7), r3.xyzw, r5.zzzz + bfi r4.xyzw, l(21, 21, 21, 21), l(13, 13, 13, 13), r4.xyzw, r5.xyzw + imad r4.xyzw, r0.zzzz, l(4, 4, 4, 4), r4.xyzw + and r4.xyzw, r4.xyzw, l(1792, 1792, 1792, 1792) + iadd r4.xyzw, r7.xyzw, r4.xyzw + ushr r3.xyzw, r3.xyzw, l(3, 3, 3, 3) + and r0.z, r0.w, l(2) + iadd r3.xyzw, r0.zzzz, r3.xyzw + bfi r3.xyzw, l(2, 2, 2, 2), l(6, 6, 6, 6), r3.xyzw, l(0, 0, 0, 0) + iadd r3.xyzw, r4.xyzw, r3.xyzw + bfi r2.xyzw, l(6, 6, 6, 6), l(0, 0, 0, 0), r6.xyzw, r3.xyzw + endif +else + ishl r0.z, r1.x, l(4) + iadd r0.w, CB0[0][2].y, l(31) + and r0.w, r0.w, l(-32) + imad r0.w, r1.z, r0.w, r1.y + imad r0.z, r0.w, CB0[0][0].y, r0.z + iadd r2.xyzw, r0.zzzz, l(0, 16, 32, 48) +endif +iadd r1.xyzw, r2.xyzw, CB0[0][0].xxxx +ld_raw r2.xyzw, r1.x, T0[0].wxyz +ld_raw r3.xyzw, r1.y, T0[0].xyzw +ld_raw r4.xyzw, r1.z, T0[0].xyzw +ld_raw r1.xyzw, r1.w, T0[0].xyzw +ushr r0.z, CB0[0][2].w, l(1) +xor r0.z, r0.z, CB0[0][2].w +and r0.z, r0.z, l(1) +if_nz r0.z + ishl r5.xyzw, r2.yzwx, l(8, 8, 8, 8) + and r5.xyzw, r5.xyzw, l(0xff00ff00, 0xff00ff00, 0xff00ff00, 0xff00ff00) + ushr r6.xyzw, r2.yzwx, l(8, 8, 8, 8) + and r6.xyzw, r6.xyzw, l(0x00ff00ff, 0x00ff00ff, 0x00ff00ff, 0x00ff00ff) + iadd r2.xyzw, r5.wxyz, r6.wxyz +endif +and r0.w, CB0[0][2].w, l(2) +if_nz r0.w + ushr r5.xyzw, r2.yzwx, l(16, 16, 16, 16) + bfi r2.xyzw, l(16, 16, 16, 16), l(16, 16, 16, 16), r2.xyzw, r5.wxyz + mov r5.x, r2.y + mov r6.x, r2.z + mov r7.x, r2.w +else + mov r5.x, r2.y + mov r6.x, r2.z + mov r7.x, r2.w +endif +if_nz r0.z + ishl r8.xyzw, r3.xyzw, l(8, 8, 8, 8) + and r8.xyzw, r8.xyzw, l(0xff00ff00, 0xff00ff00, 0xff00ff00, 0xff00ff00) + ushr r9.xyzw, r3.xyzw, l(8, 8, 8, 8) + and r9.xyzw, r9.xyzw, l(0x00ff00ff, 0x00ff00ff, 0x00ff00ff, 0x00ff00ff) + iadd r3.xyzw, r8.xyzw, r9.xyzw +endif +if_nz r0.w + ushr r8.xyzw, r3.xyzw, l(16, 16, 16, 16) + bfi r8.xyzw, l(16, 16, 16, 16), l(16, 16, 16, 16), r3.xyzw, r8.xyzw + mov r5.y, r8.x + mov r6.y, r8.y + mov r7.y, r8.z + mov r2.y, r8.w +else + mov r5.y, r3.x + mov r6.y, r3.y + mov r7.y, r3.z + mov r2.y, r3.w +endif +if_nz r0.z + ishl r3.xyzw, r4.xyzw, l(8, 8, 8, 8) + and r3.xyzw, r3.xyzw, l(0xff00ff00, 0xff00ff00, 0xff00ff00, 0xff00ff00) + ushr r8.xyzw, r4.xyzw, l(8, 8, 8, 8) + and r8.xyzw, r8.xyzw, l(0x00ff00ff, 0x00ff00ff, 0x00ff00ff, 0x00ff00ff) + iadd r4.xyzw, r3.xyzw, r8.xyzw +endif +if_nz r0.w + ushr r3.xyzw, r4.xyzw, l(16, 16, 16, 16) + bfi r3.xyzw, l(16, 16, 16, 16), l(16, 16, 16, 16), r4.xyzw, r3.xyzw + mov r5.z, r3.x + mov r6.z, r3.y + mov r7.z, r3.z + mov r2.z, r3.w +else + mov r5.z, r4.x + mov r6.z, r4.y + mov r7.z, r4.z + mov r2.z, r4.w +endif +if_nz r0.z + ishl r3.xyzw, r1.xyzw, l(8, 8, 8, 8) + and r3.xyzw, r3.xyzw, l(0xff00ff00, 0xff00ff00, 0xff00ff00, 0xff00ff00) + ushr r4.xyzw, r1.xyzw, l(8, 8, 8, 8) + and r4.xyzw, r4.xyzw, l(0x00ff00ff, 0x00ff00ff, 0x00ff00ff, 0x00ff00ff) + iadd r1.xyzw, r3.xyzw, r4.xyzw +endif +if_nz r0.w + ushr r3.xyzw, r1.xyzw, l(16, 16, 16, 16) + bfi r3.xyzw, l(16, 16, 16, 16), l(16, 16, 16, 16), r1.xyzw, r3.xyzw + mov r5.w, r3.x + mov r6.w, r3.y + mov r7.w, r3.z + mov r2.w, r3.w +else + mov r5.w, r1.x + mov r6.w, r1.y + mov r7.w, r1.z + mov r2.w, r1.w +endif +ushr r1.xyzw, r5.xyzw, l(16, 16, 16, 16) +bfi r3.xyzw, l(8, 8, 8, 8), l(16, 16, 16, 16), r6.xyzw, l(0, 0, 0, 0) +iadd r1.xyzw, r1.xyzw, r3.xyzw +ushr r3.xyzw, r6.xyzw, l(8, 8, 8, 8) +and r4.xyzw, r1.xyzw, l(0x00249249, 0x00249249, 0x00249249, 0x00249249) +ushr r6.xyzw, r1.xyzw, l(1, 1, 1, 1) +and r8.xyzw, r6.xyzw, l(0x00249249, 0x00249249, 0x00249249, 0x00249249) +or r9.xyzw, r1.xyzw, r6.xyzw +ushr r10.xyzw, r1.xyzw, l(2, 2, 2, 2) +and r11.xyzw, r10.xyzw, l(0x00249249, 0x00249249, 0x00249249, 0x00249249) +or r9.xyzw, r9.xyzw, r10.xyzw +and r9.xyzw, r9.xyzw, l(0x00249249, 0x00249249, 0x00249249, 0x00249249) +xor r9.xyzw, r9.xyzw, l(0x00249249, 0x00249249, 0x00249249, 0x00249249) +not r8.xyzw, r8.xyzw +and r8.xyzw, r4.xyzw, r8.xyzw +not r10.xyzw, r11.xyzw +and r8.xyzw, r8.xyzw, r10.xyzw +or r9.xyzw, r1.xyzw, r9.xyzw +iadd r9.xyzw, r9.xyzw, l(0xffdb6db7, 0xffdb6db7, 0xffdb6db7, 0xffdb6db7) +or r9.xyzw, r8.xyzw, r9.xyzw +ishl r10.xyzw, r8.xyzw, l(1, 1, 1, 1) +or r10.xyzw, r9.xyzw, r10.xyzw +ishl r8.xyzw, r8.xyzw, l(2, 2, 2, 2) +or r10.xyzw, r8.xyzw, r10.xyzw +and r11.xyzw, r3.xyzw, l(0x00249249, 0x00249249, 0x00249249, 0x00249249) +ushr r12.xyzw, r3.xyzw, l(1, 1, 1, 1) +and r13.xyzw, r12.xyzw, l(0x00249249, 0x00249249, 0x00249249, 0x00249249) +or r14.xyzw, r3.xyzw, r12.xyzw +ushr r15.xyzw, r3.xyzw, l(2, 2, 2, 2) +and r16.xyzw, r15.xyzw, l(0x00249249, 0x00249249, 0x00249249, 0x00249249) +or r14.xyzw, r14.xyzw, r15.xyzw +and r14.xyzw, r14.xyzw, l(0x00249249, 0x00249249, 0x00249249, 0x00249249) +xor r14.xyzw, r14.xyzw, l(0x00249249, 0x00249249, 0x00249249, 0x00249249) +not r13.xyzw, r13.xyzw +and r13.xyzw, r11.xyzw, r13.xyzw +not r15.xyzw, r16.xyzw +and r13.xyzw, r13.xyzw, r15.xyzw +or r14.xyzw, r3.xyzw, r14.xyzw +iadd r14.xyzw, r14.xyzw, l(0xffdb6db7, 0xffdb6db7, 0xffdb6db7, 0xffdb6db7) +or r14.xyzw, r13.xyzw, r14.xyzw +ishl r15.xyzw, r13.xyzw, l(1, 1, 1, 1) +or r15.xyzw, r14.xyzw, r15.xyzw +ishl r13.xyzw, r13.xyzw, l(2, 2, 2, 2) +or r15.xyzw, r13.xyzw, r15.xyzw +and r1.xyzw, r1.xyzw, r6.xyzw +and r1.xyzw, r1.xyzw, l(0x00492492, 0x00492492, 0x00492492, 0x00492492) +ishl r6.xyzw, r1.xyzw, l(1, 1, 1, 1) +ushr r16.xyzw, r1.xyzw, l(1, 1, 1, 1) +iadd r1.xyzw, r1.xyzw, r6.xyzw +iadd r1.xyzw, r1.xyzw, r16.xyzw +iadd r4.xyzw, r4.xyzw, l(0x00db6db6, 0x00db6db6, 0x00db6db6, 0x00db6db6) +and r4.xyzw, r1.xyzw, r4.xyzw +or r6.xyzw, r8.xyzw, r9.xyzw +not r1.xyzw, r1.xyzw +and r1.xyzw, r1.xyzw, r6.xyzw +or r1.xyzw, r4.xyzw, r1.xyzw +and r3.xyzw, r3.xyzw, r12.xyzw +and r3.xyzw, r3.xyzw, l(0x00492492, 0x00492492, 0x00492492, 0x00492492) +ishl r4.xyzw, r3.xyzw, l(1, 1, 1, 1) +ushr r6.xyzw, r3.xyzw, l(1, 1, 1, 1) +iadd r3.xyzw, r3.xyzw, r4.xyzw +iadd r3.xyzw, r3.xyzw, r6.xyzw +iadd r4.xyzw, r11.xyzw, l(0x00db6db6, 0x00db6db6, 0x00db6db6, 0x00db6db6) +and r4.xyzw, r3.xyzw, r4.xyzw +or r6.xyzw, r13.xyzw, r14.xyzw +not r3.xyzw, r3.xyzw +and r3.xyzw, r3.xyzw, r6.xyzw +or r3.xyzw, r4.xyzw, r3.xyzw +ushr r4.xyzw, r7.xyzw, l(16, 16, 16, 16) +bfi r6.xyzw, l(8, 8, 8, 8), l(16, 16, 16, 16), r2.xyzw, l(0, 0, 0, 0) +iadd r4.xyzw, r4.xyzw, r6.xyzw +ushr r2.xyzw, r2.xyzw, l(8, 8, 8, 8) +and r6.xyzw, r4.xyzw, l(0x00249249, 0x00249249, 0x00249249, 0x00249249) +ushr r8.xyzw, r4.xyzw, l(1, 1, 1, 1) +and r9.xyzw, r8.xyzw, l(0x00249249, 0x00249249, 0x00249249, 0x00249249) +or r11.xyzw, r4.xyzw, r8.xyzw +ushr r12.xyzw, r4.xyzw, l(2, 2, 2, 2) +and r13.xyzw, r12.xyzw, l(0x00249249, 0x00249249, 0x00249249, 0x00249249) +or r11.xyzw, r11.xyzw, r12.xyzw +and r11.xyzw, r11.xyzw, l(0x00249249, 0x00249249, 0x00249249, 0x00249249) +xor r11.xyzw, r11.xyzw, l(0x00249249, 0x00249249, 0x00249249, 0x00249249) +not r9.xyzw, r9.xyzw +and r9.xyzw, r6.xyzw, r9.xyzw +not r12.xyzw, r13.xyzw +and r9.xyzw, r9.xyzw, r12.xyzw +or r11.xyzw, r4.xyzw, r11.xyzw +iadd r11.xyzw, r11.xyzw, l(0xffdb6db7, 0xffdb6db7, 0xffdb6db7, 0xffdb6db7) +or r11.xyzw, r9.xyzw, r11.xyzw +ishl r12.xyzw, r9.xyzw, l(1, 1, 1, 1) +or r12.xyzw, r11.xyzw, r12.xyzw +ishl r9.xyzw, r9.xyzw, l(2, 2, 2, 2) +or r12.xyzw, r9.xyzw, r12.xyzw +and r13.xyzw, r2.xyzw, l(0x00249249, 0x00249249, 0x00249249, 0x00249249) +ushr r14.xyzw, r2.xyzw, l(1, 1, 1, 1) +and r16.xyzw, r14.xyzw, l(0x00249249, 0x00249249, 0x00249249, 0x00249249) +or r17.xyzw, r2.xyzw, r14.xyzw +ushr r18.xyzw, r2.xyzw, l(2, 2, 2, 2) +and r19.xyzw, r18.xyzw, l(0x00249249, 0x00249249, 0x00249249, 0x00249249) +or r17.xyzw, r17.xyzw, r18.xyzw +and r17.xyzw, r17.xyzw, l(0x00249249, 0x00249249, 0x00249249, 0x00249249) +xor r17.xyzw, r17.xyzw, l(0x00249249, 0x00249249, 0x00249249, 0x00249249) +not r16.xyzw, r16.xyzw +and r16.xyzw, r13.xyzw, r16.xyzw +not r18.xyzw, r19.xyzw +and r16.xyzw, r16.xyzw, r18.xyzw +or r17.xyzw, r2.xyzw, r17.xyzw +iadd r17.xyzw, r17.xyzw, l(0xffdb6db7, 0xffdb6db7, 0xffdb6db7, 0xffdb6db7) +or r17.xyzw, r16.xyzw, r17.xyzw +ishl r18.xyzw, r16.xyzw, l(1, 1, 1, 1) +or r18.xyzw, r17.xyzw, r18.xyzw +ishl r16.xyzw, r16.xyzw, l(2, 2, 2, 2) +or r18.xyzw, r16.xyzw, r18.xyzw +and r4.xyzw, r4.xyzw, r8.xyzw +and r4.xyzw, r4.xyzw, l(0x00492492, 0x00492492, 0x00492492, 0x00492492) +ishl r8.xyzw, r4.xyzw, l(1, 1, 1, 1) +ushr r19.xyzw, r4.xyzw, l(1, 1, 1, 1) +iadd r4.xyzw, r4.xyzw, r8.xyzw +iadd r4.xyzw, r4.xyzw, r19.xyzw +iadd r6.xyzw, r6.xyzw, l(0x00db6db6, 0x00db6db6, 0x00db6db6, 0x00db6db6) +and r6.xyzw, r4.xyzw, r6.xyzw +or r8.xyzw, r9.xyzw, r11.xyzw +not r4.xyzw, r4.xyzw +and r4.xyzw, r4.xyzw, r8.xyzw +or r4.xyzw, r6.xyzw, r4.xyzw +and r2.xyzw, r2.xyzw, r14.xyzw +and r2.xyzw, r2.xyzw, l(0x00492492, 0x00492492, 0x00492492, 0x00492492) +ishl r6.xyzw, r2.xyzw, l(1, 1, 1, 1) +ushr r8.xyzw, r2.xyzw, l(1, 1, 1, 1) +iadd r2.xyzw, r2.xyzw, r6.xyzw +iadd r2.xyzw, r2.xyzw, r8.xyzw +iadd r6.xyzw, r13.xyzw, l(0x00db6db6, 0x00db6db6, 0x00db6db6, 0x00db6db6) +and r6.xyzw, r2.xyzw, r6.xyzw +or r8.xyzw, r16.xyzw, r17.xyzw +not r2.xyzw, r2.xyzw +and r2.xyzw, r2.xyzw, r8.xyzw +or r2.xyzw, r6.xyzw, r2.xyzw +and r6.xyzw, r5.xyzw, l(255, 255, 255, 255) +ubfe r5.xyzw, l(8, 8, 8, 8), l(8, 8, 8, 8), r5.xyzw +and r8.xyzw, r7.xyzw, l(255, 255, 255, 255) +ubfe r7.xyzw, l(8, 8, 8, 8), l(8, 8, 8, 8), r7.xyzw +ishl r0.xy, r0.xyxx, l(2, 2, 0, 0) +ishl r0.x, r0.x, l(1) +imad r0.z, vThreadID.z, CB0[0][1].y, r0.y +imad r0.x, r0.z, CB0[0][0].w, r0.x +iadd r0.x, r0.x, CB0[0][0].z +uge r9.xyzw, r5.xyzw, r6.xyzw +movc r11.xyzw, r9.xyzw, l(5,5,5,5), l(7,7,7,7) +movc r13.xyzw, r9.xyzw, l(2925,2925,2925,2925), l(4095,4095,4095,4095) +uge r14.xyzw, r7.xyzw, r8.xyzw +movc r16.xyzw, r14.xyzw, l(5,5,5,5), l(7,7,7,7) +movc r17.xyzw, r14.xyzw, l(2925,2925,2925,2925), l(4095,4095,4095,4095) +mov r0.z, CB0[0][1].y +mov r0.w, r0.y +mov r19.x, r0.x +mov r19.y, l(0) +loop + uge r19.z, r19.y, l(4) + breakc_nz r19.z + ult r19.z, r19.y, l(2) + movc r20.xyzw, r19.zzzz, r10.xyzw, r15.xyzw + and r19.w, r19.y, l(1) + imul null, r19.w, r19.w, l(12) + ushr r20.xyzw, r20.xyzw, r19.wwww + movc r21.xyzw, r19.zzzz, r1.xyzw, r3.xyzw + ushr r21.xyzw, r21.xyzw, r19.wwww + movc r20.xyzw, r9.xyzw, r21.xyzw, r20.xyzw + ushr r22.xyzw, r21.xyzw, l(1, 1, 1, 1) + and r22.xyzw, r21.xyzw, r22.xyzw + and r22.xyzw, r9.xyzw, r22.xyzw + and r22.xyzw, r22.xyzw, l(1170, 1170, 1170, 1170) + ishl r23.xyzw, r22.xyzw, l(1, 1, 1, 1) + ushr r24.xyzw, r22.xyzw, l(1, 1, 1, 1) + iadd r22.xyzw, r22.xyzw, r23.xyzw + iadd r22.xyzw, r22.xyzw, r24.xyzw + not r23.xyzw, r22.xyzw + and r20.xyzw, r20.xyzw, r23.xyzw + iadd r24.xyzw, r13.xyzw, -r20.xyzw + and r23.xyzw, r23.xyzw, r24.xyzw + and r24.xyzw, r23.xyzw, l(7, 7, 7, 7) + and r25.xyzw, r20.xyzw, l(7, 7, 7, 7) + imul null, r25.xyzw, r5.xyzw, r25.xyzw + imad r24.xyzw, r6.xyzw, r24.xyzw, r25.xyzw + udiv r24.xyzw, null, r24.xyzw, r11.xyzw + ubfe r25.xyzw, l(3, 3, 3, 3), l(3, 3, 3, 3), r23.xyzw + ubfe r26.xyzw, l(3, 3, 3, 3), l(3, 3, 3, 3), r20.xyzw + imul null, r26.xyzw, r5.xyzw, r26.xyzw + imad r25.xyzw, r6.xyzw, r25.xyzw, r26.xyzw + udiv r25.xyzw, null, r25.xyzw, r11.xyzw + ishl r25.xyzw, r25.xyzw, l(8, 8, 8, 8) + or r24.xyzw, r24.xyzw, r25.xyzw + ubfe r25.xyzw, l(3, 3, 3, 3), l(6, 6, 6, 6), r23.xyzw + ubfe r26.xyzw, l(3, 3, 3, 3), l(6, 6, 6, 6), r20.xyzw + imul null, r26.xyzw, r5.xyzw, r26.xyzw + imad r25.xyzw, r6.xyzw, r25.xyzw, r26.xyzw + udiv r25.xyzw, null, r25.xyzw, r11.xyzw + ishl r25.xyzw, r25.xyzw, l(16, 16, 16, 16) + or r24.xyzw, r24.xyzw, r25.xyzw + ubfe r23.xyzw, l(3, 3, 3, 3), l(9, 9, 9, 9), r23.xyzw + ubfe r20.xyzw, l(3, 3, 3, 3), l(9, 9, 9, 9), r20.xyzw + imul null, r20.xyzw, r5.xyzw, r20.xyzw + imad r20.xyzw, r6.xyzw, r23.xyzw, r20.xyzw + udiv r20.xyzw, null, r20.xyzw, r11.xyzw + ishl r20.xyzw, r20.xyzw, l(24, 24, 24, 24) + or r20.xyzw, r20.xyzw, r24.xyzw + and r21.xyzw, r21.xyzw, r22.xyzw + ishl r22.xyzw, r21.xyzw, l(5, 5, 5, 5) + and r22.xyzw, r22.xyzw, l(256, 256, 256, 256) + bfi r22.xyzw, l(1, 1, 1, 1), l(0, 0, 0, 0), r21.xyzw, r22.xyzw + ishl r23.xyzw, r21.xyzw, l(10, 10, 10, 10) + and r23.xyzw, r23.xyzw, l(0x00010000, 0x00010000, 0x00010000, 0x00010000) + iadd r22.xyzw, r22.xyzw, r23.xyzw + ishl r21.xyzw, r21.xyzw, l(15, 15, 15, 15) + and r21.xyzw, r21.xyzw, l(0x01000000, 0x01000000, 0x01000000, 0x01000000) + iadd r21.xyzw, r21.xyzw, r22.xyzw + imad r20.xyzw, r21.xyzw, l(255, 255, 255, 255), r20.xyzw + movc r21.xyzw, r19.zzzz, r12.xyzw, r18.xyzw + ushr r21.xyzw, r21.xyzw, r19.wwww + movc r22.xyzw, r19.zzzz, r4.xyzw, r2.xyzw + ushr r22.xyzw, r22.xyzw, r19.wwww + movc r21.xyzw, r14.xyzw, r22.xyzw, r21.xyzw + ushr r23.xyzw, r22.xyzw, l(1, 1, 1, 1) + and r23.xyzw, r22.xyzw, r23.xyzw + and r23.xyzw, r14.xyzw, r23.xyzw + and r23.xyzw, r23.xyzw, l(1170, 1170, 1170, 1170) + ishl r24.xyzw, r23.xyzw, l(1, 1, 1, 1) + ushr r25.xyzw, r23.xyzw, l(1, 1, 1, 1) + iadd r23.xyzw, r23.xyzw, r24.xyzw + iadd r23.xyzw, r23.xyzw, r25.xyzw + not r24.xyzw, r23.xyzw + and r21.xyzw, r21.xyzw, r24.xyzw + iadd r25.xyzw, r17.xyzw, -r21.xyzw + and r24.xyzw, r24.xyzw, r25.xyzw + and r25.xyzw, r24.xyzw, l(7, 7, 7, 7) + and r26.xyzw, r21.xyzw, l(7, 7, 7, 7) + imul null, r26.xyzw, r7.xyzw, r26.xyzw + imad r25.xyzw, r8.xyzw, r25.xyzw, r26.xyzw + udiv r25.xyzw, null, r25.xyzw, r16.xyzw + ubfe r26.xyzw, l(3, 3, 3, 3), l(3, 3, 3, 3), r24.xyzw + ubfe r27.xyzw, l(3, 3, 3, 3), l(3, 3, 3, 3), r21.xyzw + imul null, r27.xyzw, r7.xyzw, r27.xyzw + imad r26.xyzw, r8.xyzw, r26.xyzw, r27.xyzw + udiv r26.xyzw, null, r26.xyzw, r16.xyzw + ishl r26.xyzw, r26.xyzw, l(8, 8, 8, 8) + or r25.xyzw, r25.xyzw, r26.xyzw + ubfe r26.xyzw, l(3, 3, 3, 3), l(6, 6, 6, 6), r24.xyzw + ubfe r27.xyzw, l(3, 3, 3, 3), l(6, 6, 6, 6), r21.xyzw + imul null, r27.xyzw, r7.xyzw, r27.xyzw + imad r26.xyzw, r8.xyzw, r26.xyzw, r27.xyzw + udiv r26.xyzw, null, r26.xyzw, r16.xyzw + ishl r26.xyzw, r26.xyzw, l(16, 16, 16, 16) + or r25.xyzw, r25.xyzw, r26.xyzw + ubfe r24.xyzw, l(3, 3, 3, 3), l(9, 9, 9, 9), r24.xyzw + ubfe r21.xyzw, l(3, 3, 3, 3), l(9, 9, 9, 9), r21.xyzw + imul null, r21.xyzw, r7.xyzw, r21.xyzw + imad r21.xyzw, r8.xyzw, r24.xyzw, r21.xyzw + udiv r21.xyzw, null, r21.xyzw, r16.xyzw + ishl r21.xyzw, r21.xyzw, l(24, 24, 24, 24) + or r21.xyzw, r21.xyzw, r25.xyzw + and r22.xyzw, r22.xyzw, r23.xyzw + ishl r23.xyzw, r22.xyzw, l(5, 5, 5, 5) + and r23.xyzw, r23.xyzw, l(256, 256, 256, 256) + bfi r23.xyzw, l(1, 1, 1, 1), l(0, 0, 0, 0), r22.xyzw, r23.xyzw + ishl r24.xyzw, r22.xyzw, l(10, 10, 10, 10) + and r24.xyzw, r24.xyzw, l(0x00010000, 0x00010000, 0x00010000, 0x00010000) + iadd r23.xyzw, r23.xyzw, r24.xyzw + ishl r22.xyzw, r22.xyzw, l(15, 15, 15, 15) + and r22.xyzw, r22.xyzw, l(0x01000000, 0x01000000, 0x01000000, 0x01000000) + iadd r22.xyzw, r22.xyzw, r23.xyzw + imad r21.xyzw, r22.xyzw, l(255, 255, 255, 255), r21.xyzw + ushr r22.xyzw, r20.xzyw, l(16, 16, 16, 16) + ushr r23.xyzw, r20.xxyy, l(8, 24, 8, 24) + bfi r23.xyzw, l(8, 16, 8, 16), l(16, 16, 16, 16), r23.xyzw, l(0, 0, 0, 0) + mov r24.xz, r20.xxyx + mov r24.yw, r22.xxxz + bfi r23.xyzw, l(8, 8, 8, 8), l(0, 0, 0, 0), r24.xyzw, r23.xyzw + ushr r24.xyzw, r21.xzyw, l(16, 16, 16, 16) + mov r25.xz, r21.xxyx + mov r25.yw, r24.xxxz + bfi r23.xyzw, l(8, 8, 8, 8), l(8, 8, 8, 8), r25.xyzw, r23.xyzw + ushr r25.xyzw, r21.xxyy, l(8, 24, 8, 24) + bfi r23.xyzw, l(8, 8, 8, 8), l(24, 24, 24, 24), r25.xyzw, r23.xyzw + store_raw U0[0].xyzw, r19.x, r23.xyzw + ushr r23.xyzw, r20.zzww, l(8, 24, 8, 24) + bfi r23.xyzw, l(8, 16, 8, 16), l(16, 16, 16, 16), r23.xyzw, l(0, 0, 0, 0) + mov r22.xz, r20.zzwz + bfi r20.xyzw, l(8, 8, 8, 8), l(0, 0, 0, 0), r22.xyzw, r23.xyzw + mov r24.xz, r21.zzwz + bfi r20.xyzw, l(8, 8, 8, 8), l(8, 8, 8, 8), r24.xyzw, r20.xyzw + ushr r21.xyzw, r21.zzww, l(8, 24, 8, 24) + bfi r20.xyzw, l(8, 8, 8, 8), l(24, 24, 24, 24), r21.xyzw, r20.xyzw + iadd r19.z, r19.x, l(16) + store_raw U0[0].xyzw, r19.z, r20.xyzw + iadd r0.w, r0.w, l(1) + uge r19.z, r0.w, r0.z + if_nz r19.z + ret + endif + iadd r19.x, r19.x, CB0[0][0].w + iadd r19.y, r19.y, l(1) +endloop +ret +// Approximately 472 instruction slots used diff --git a/src/xenia/gpu/d3d12/shaders/dxbc/texture_load_dxt3_rgba8_cs.cso b/src/xenia/gpu/d3d12/shaders/dxbc/texture_load_dxt3_rgba8_cs.cso new file mode 100644 index 0000000000000000000000000000000000000000..167b39699489950e7f1dac050b7722960b0c9286 GIT binary patch literal 13236 zcmbuF-H%;W8OGOHr7bgzv=l)?P)0@#B}mFgAVEWxEsU5TAZ@W;4Q*#?N6SnzGnJ1- zg4L^rc%v~U;)NGtV((1<0OPF}`UjZU=#@7HxgcIqpWid`yn93sw)6${b0XRm(O%IW5pvw(7~Y>n zw~D6Wt_m}$Auq~&b7g63<;|@N8!Jnv*U!JTw7Gs^{OUOk9zFEPqv;z*zy2b1OQV0Ox<2~+b0^+^B&BcZu=w3=DShwOH298=gT5SWZv0Za-i=A!zIQLM?d%DHmpKjUZ z@iQ{(F45Q4cQ{eW*2K z_2?3A?oX|pSAVpvi*>o^qiy%AhmK1w@nY?nnQgh?$t8RmILrOu_Mx4*Ff(jmx%bGH zz4q1q3`$C$T)Vb!A;f`rBik7Az_sjea)VFI!87)~lx{oF@&;w-w|nx!8m?*BOT4ga zQTEz@kWms>G9L-r?qf^)JS&NKZ^ieg*yCcf;8uz(W3v~JM zzP6TIx!MP#_z<&Zt=7#6tMO>A6OY##UmD%`l}k4Uws%%@ksLSMP{-7=xX(v2ju=@+ zF2nkuMobH;2jT(lgV|wCp^N5q&H-z3N$G(4NbvAIlGid3W%8<@x zKk)p9T<5&TJKmmeY}Fd~=;d6F6y<5E(;RQ)*`Hien%8wC%c$|#o6GPlB3>rrZEuqo z;bLtt&f;-DiNsptHPva>&pbHS2UQu#GF%^)*Yv`U`jXP8bR8+y2e_!yxz1V_W6Zcu zC(pH!SWCPkv6kyT8Fd{Xqi(EqO<}j<%l)sZD`f920(3FTO^~WpaIkvD{il^qFxkDc!Ck98 z)7)Po4}8Z^8SQ5#NS$r z=AwzJMP2s6c-I0p<g!QV)(fe0?uX23Be>-5% zK^wz{nl*+TvOd1QaYo`Vd+-;#wx2cX`?=PQaKsLLF8a9E{pUSJU0shn*Pm;&5;xjk z`2VEd`Or%bo}9|A=H9By@feih9*yt9wy*Y=C`PLHQ=DU*OBWB%H8rwRx61=_dHDaMSCF&7?g0*^K(lW&GaaJR3(3uAAj_&2gO3l+O=veRX3T zJ-EI+V;AzQAH03>Szz79*q1s-&Y^v%=dq*a*%#YD4jvGSdYM&^Ec3`Ad5t`BNM0k4 zd}2F1=QYa2{#s__S!U!}COpT-`}|s?yr;>-Psa~=eYr+X z9dG+m=h`+}cbzxq+CJ3t*irKw8{0q*c!qYak!7B99eH(LSR3==Tt}JMU(1X<%ZxnB zgy;D5<(l(7m;XQ4=pruDGxGT-kuG}xgL2n z?s(PwOd9oCZmr8U(N{EjhVxo%uT&k^bI;!R{AQilsG4Y=wH+V!a3th?M!ZPqA_uwX zqiT*jxs5pGnOu)ZHZ-;yN1uy6()kWKPBEUy1>dI&+ag()_uNPqKZpkE)5SXLvJCrQ z<%9e*ei=ufi$3PMw39C9-!iO=`$MEYUHtYNX(wI&zR`9Pn@G8Izt{3RC^qdR*R~-zh_V(3F)Qf)beQ}-9T%=xIp;o9H`+p<4;&+scdv*2H z%Z=#bH~vU{x?-&`z8Swht96lfl0nWN(|v%p*!H<>=NdjuxV^jw(0GQV4ayL=AlBiQ z_mHY2zEjK3=J^u5aLw;YjD7Eq?|kqrTQ<+s`W~v@b9G-DeWy|D^gRoiJm1pbA(Q&E z9(WJ5Jp7>@l4~!wvca;Ro_YFR?Qe&Si3`5hxLul4jW=gK`;+%6V!``8*sn{SZh6&gKv=zN-Q=p&wAtH{em&SecN{1ZM@IN7^7VDfS`4e zY!^7&!J#A8D7+Z^I!Cca!Lk>?c+EmvqtR9{ zu2I&wMy<>K#4|M3C^+YcaW3P&UutWV=TGLzL8M7M=f<_bTI;c#+JD!ApL31tt5N&t z9=vNb#t8f385(O8ob7U~`s}J@_SI;_Id`rfeBs{LSEJ4!^Q<+lw#o9SFXZ*rqvbJ= zJmYG4vG%}F<6yjIp{+g3!7ebaJ^0pT+pVjw_P{yzeSW(3T${1(80XThMR>N^wZ~fP zv7Fj}*Pd(1IP8k#a|oXELl54y=NQ@lzS?8nb{X4eS1q%z_9D*qz0~u}O75O&^NK&5 zB|LMoj_)Dp_o#ob{cVf6L22^b^j!0-Xud9qLGz3g<72s!(|q627u#Hh&%DSp*$3w8 zCV9=@4q2YpxX-0tF`hH$-DeJV=hDqNJlD2yKAX~qdXo&~cQ0(hcK6`>bb*P~t1Bwf z*t%}tL08N}F5TxoYUsT-hW7hD@glLNZun)Lti!Jj)d4)tBFBdJUvz+>=?s~RIDF1U zA5D1Wwf@uiyHaHNosKc@Z^&_Mte-v?eegAIAn(%|F|pS@_zz^#M^`_u(Xb(#nlVms zZTw*k{xFxz(3kl%{B2fU$8Vk$ug7n2H{v(@>t_7+Iq1I6Z^s4P!Pala?AdAl7`Kx@ zV4O$B)7}jPnV3h`k{|cnW9vK;tJ_CVOERcW&2(rN2{sC3DEZDK?!i$Ox5{j~@SYf`OH}5+>?|O{GiO$^n&OP^g ze%||LoJ-d(&VBLxU#2ckEIxnt$It%rXD^=mTBoY2yPvG8361B)S0AgY74bm)(X&-` z<hm3f3W*hlX-lFvx*AiVda_hP`?FE4+S-ph}GR~GBLw^gmB8`t~Y zYUKyL&6R3vYfBxdy2r{3IMA<@fblpRYlG$0J!`8yn<#hHE8{oy*M3yDTlZGKy1lkO zc(vN<)P6My4gPrg1uc~p*7{4Yu2eUAy<3&yBC7r4S|78&cH_pa-tzbRd$7CfD{I%+ z*Sr0_OT)CjySA~^yLq$U9aLXmTi)#Tdp8F&FI+h@^XBD+%QFkB*H^lmGjqLnH`Z=x za_;4q&Q)(MeDxdjEyVbC@x1Wn8`oBKF?>^(#c3Vv?;WW+-_dn2|4XXBOY}4J2OaHQw9xgEOQ%?(n^4&*?^Ysu|OG^rk;(a29{M zYm0p;>!YFPG{WB!F8N~b&7-@x=u=DN5PHVF|HRPGlvx=Py1aYj%VEdrcsjYN{cF%7uWLh0tRb`RFRJR;$wt=6!?-eJ@k-~ zS4Q;NCwrgpTFS$It8uhuyxOLoJ+c>!l=V@N@Sco#-s3UlVuKz(KHl_lgR65e$`3iK z_iEoU>1sY&Yvn_2VB5r%aytk1m-l02=gmHpIW-pV`N-BIN5)8b*dO$Wc~<7g2YUCX zhCPKX$omviT}SpHv&{#3j_g|DN6NfO+Kh}GMYavrN|JBW_y!(&*iTu^7??G5oL}3= z&&VlDP>|!<4~2aL!OPfIOwy|8CrQm(2QJx4Z1sgIqM+chIM)^~ro z4&(ak3F${>ul2RmBHL#jJ@*&gAK4i0FXNRpOu1bn=fN?suf(XaBp;2!nAUUT*k9u? zTrZDF81!D`*k9u?;+?}hk<++D7-v9<*e*|vP{PYE|Nw)h?z*?DCIx5S8kF;7_^1+ka>F=D&K zAmx!$ZpRC*YiSJXOw61e`^LU9f3}4l>oH#D$R5`i89Zz_NQ)W9BtU&i&@7H=Z$CIh18if#+3K=n{18FI^Rd3j`WDl z`0VxBHJ0LReK#ocl7tasbZ^-YLAEH`!iHl)-#M*qD`{1zi$yc3|9uWkK4oNeA0tns@DZ0nqEo~3ilzr99l;oaiB zjPj@M1MEBhDeFN*YNtB{>~Tc zuV|f`IKFcIgJzxB@MUr^GX&SCdUEs|JN|Zde$oGS(7^_@M>o{aI@E{#@i)5f4&<2}Ya<-OlU@c|6hN^)Ns5534Kmpk^J3E#7R$JAH?ni+xcNVx$SF%uP>hRx_jUa}-2U`P zi@tRqv5uea^9!~0VgJxav4_2Ow$bsu3)bt}!g&`~eddtaPI*4D=kpT#6MLtG0oKCR muU!4Lp8r(i=tIOh^pg1VV)p>DaYSs9n!k}o(f>WihyMbHXl{}K literal 6828 zcmb7|&2L>t8OG;MVyAXYle)B25uz6iqKOJh+6tryRYRPbB9*T=l(4dr_=dPmeJ$S` z5xPLA5)vR_Ll;QE0wKCF%ZeqcfE^3|0TxyktPrZQs90g1-?`_p-*bF!T_$=xbKZ~V z{g`*=oSVznE-l~x>+Ape-A8`(mp?uI`ByH!y13FyDgEJ0N;8_D6J0%?(z<9YIxYT{ z%P*`vp*4E{5gikKLDZXBUB>8LF&=&N@~7ZEA$qE&PikHeG2RxP5Y39f@rY}9e-k|< zI!bR>I$Z<2hJMu1-{!rMW!Z9F4DU zjz?){SD166(*iDuG0aM;)krk2^2mFn*zcyK%NQ#y4*tlHDHKMcb;9bQ_H}Ua#71aA%b6 zZfuU9O*_3RuDYNh9xp#5QQO1DXzkhcbYnQYlav=(P0wqy!@dgR#+~8KS4W4i2b=2~ z*Ecr@qr;*}Szp`OS{vTFH5!c5S2k{L4@bjWh0_6gYEwE@U^Xt zJ6c>g|Je)a%d21dDt*gf{#xsK^~D#iz4=&5-_T_-(0%dBL#g*|T?Z>aXZH^V{lfUI zj{nN{n=<&nf&cFdEE{7@?YOOuysepY`YW{_ar8x0?yT$GLGd3&vwEk*-;~)-tUU%GyH)@+RweEa9N7=cWcd^!eG95qW_45i#<>-A( z{_fZE*|~|o*&iSHqig!oA$DRq^MeDK9;-Y!!(clGt!FLZ&D6CK_;9*X6} zVl5{haC#-B|L*ObTB_>+4;k3jVIO!_{3kBecISc)vY)1Ol6^BKdH2dBe{{_kyNdTg zZNH+tsv1cboJjby-g~De80gpjK5SW*E%*%*uZlr@&$i8ywTI$=B;wh|b1rR*l-`xacr@UL@ zKS}A7bI+x_SK@xNwypPz??ia+t+u}R%W}u(8Nb~Bks_W%jp6+Q&#~l^QeV%JjM3I7 z-dqmX#`=zz_|WU>uZJazgst@@Y7F~Fj-LCAorq)%_m}ZvZ?Vqh@IGPd{=%+}vENsc z+5dvpkz#*!VZe)&i!LGYBE|md!iaYc>s-2X@!ob}wEGK;_Mjf_RWKG6y5Fnh|9rYHxn4Sr1TC&VsHpG+&}owmm~$7#f^;H*(H>wBuXAzT+PzYpZRvS-&g7Cycip0I z*0FA}SB%kBH~aGphUwdWE%P%ta3rIZ*sAcD=0cyO22HRq+Y~ z%t-RJf7bcFC+D8@&^La>@ExH%t8Y2uRZK{+2>OImhI~I;Zps+kSO^# zsC9TZFr;(R{>_WN&~aRfr|JXpZol_9Um)`TfaFH(+%M>oGxKbCXX!EhUT=v%*D(`U zr8Dj$ss{3BYB@1fSX=#CdSFkjh<%zpa`JE6t0(82d;IO}8lwNLpyN6m(w(x0*z+6R zcD_5{|MU348K8ENB;T*IYnO|Z_L~0`f2GG6`5<_{$Cz_D1lKrU;5kn8*;74N-yeER zhiV`^>PEiqBgbbPLtaE8cC>2L9tP LPUQW+YcT%@%v4Eu diff --git a/src/xenia/gpu/d3d12/shaders/dxbc/texture_load_dxt3a_cs.h b/src/xenia/gpu/d3d12/shaders/dxbc/texture_load_dxt3a_cs.h index 7ac465ff7..b0c833e0f 100644 --- a/src/xenia/gpu/d3d12/shaders/dxbc/texture_load_dxt3a_cs.h +++ b/src/xenia/gpu/d3d12/shaders/dxbc/texture_load_dxt3a_cs.h @@ -1,11 +1,11 @@ // generated from `xb buildhlsl` // source: texture_load_dxt3a.cs.hlsl const uint8_t texture_load_dxt3a_cs[] = { - 0x44, 0x58, 0x42, 0x43, 0xE2, 0xC4, 0x7A, 0xEC, 0xA3, 0x17, 0x88, 0xC3, - 0xBE, 0x2C, 0x37, 0x6A, 0x3A, 0x6B, 0x12, 0x46, 0x01, 0x00, 0x00, 0x00, - 0xAC, 0x1A, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x34, 0x00, 0x00, 0x00, + 0x44, 0x58, 0x42, 0x43, 0x35, 0x34, 0xAA, 0x0A, 0x4C, 0x05, 0x56, 0x22, + 0x80, 0x7C, 0x1C, 0xEB, 0x89, 0x2C, 0x16, 0x4A, 0x01, 0x00, 0x00, 0x00, + 0x80, 0x1D, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x34, 0x00, 0x00, 0x00, 0x54, 0x04, 0x00, 0x00, 0x64, 0x04, 0x00, 0x00, 0x74, 0x04, 0x00, 0x00, - 0x10, 0x1A, 0x00, 0x00, 0x52, 0x44, 0x45, 0x46, 0x18, 0x04, 0x00, 0x00, + 0xE4, 0x1C, 0x00, 0x00, 0x52, 0x44, 0x45, 0x46, 0x18, 0x04, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0xF8, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x00, 0x01, 0x05, 0x53, 0x43, 0x00, 0x05, 0x00, 0x00, 0xF0, 0x03, 0x00, 0x00, 0x13, 0x13, 0x44, 0x25, 0x3C, 0x00, 0x00, 0x00, @@ -43,7 +43,7 @@ const uint8_t texture_load_dxt3a_cs[] = { 0x9C, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x11, 0x03, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x34, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x02, 0x00, 0x00, 0x00, 0x34, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x58, 0x03, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x74, 0x03, 0x00, 0x00, @@ -96,8 +96,8 @@ const uint8_t texture_load_dxt3a_cs[] = { 0x30, 0x2E, 0x31, 0x00, 0x49, 0x53, 0x47, 0x4E, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x4F, 0x53, 0x47, 0x4E, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, - 0x53, 0x48, 0x45, 0x58, 0x94, 0x15, 0x00, 0x00, 0x51, 0x00, 0x05, 0x00, - 0x65, 0x05, 0x00, 0x00, 0x6A, 0x08, 0x00, 0x01, 0x59, 0x00, 0x00, 0x07, + 0x53, 0x48, 0x45, 0x58, 0x68, 0x18, 0x00, 0x00, 0x51, 0x00, 0x05, 0x00, + 0x1A, 0x06, 0x00, 0x00, 0x6A, 0x08, 0x00, 0x01, 0x59, 0x00, 0x00, 0x07, 0x46, 0x8E, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA1, 0x00, 0x00, 0x06, 0x46, 0x7E, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -105,7 +105,7 @@ const uint8_t texture_load_dxt3a_cs[] = { 0x9D, 0x00, 0x00, 0x06, 0x46, 0xEE, 0x31, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5F, 0x00, 0x00, 0x02, 0x72, 0x00, 0x02, 0x00, 0x68, 0x00, 0x00, 0x02, - 0x09, 0x00, 0x00, 0x00, 0x9B, 0x00, 0x00, 0x04, 0x08, 0x00, 0x00, 0x00, + 0x0A, 0x00, 0x00, 0x00, 0x9B, 0x00, 0x00, 0x04, 0x08, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x06, 0x12, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x02, 0x00, 0x01, 0x40, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x36, 0x00, 0x00, 0x04, @@ -119,46 +119,46 @@ const uint8_t texture_load_dxt3a_cs[] = { 0x00, 0x00, 0x00, 0x00, 0x2A, 0x00, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x3A, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1F, 0x00, 0x04, 0x03, 0x3A, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x00, 0x00, 0x01, - 0x15, 0x00, 0x00, 0x01, 0x1E, 0x00, 0x00, 0x09, 0xE2, 0x00, 0x10, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x06, 0x09, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x06, 0x89, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x03, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x09, 0x12, 0x00, 0x10, 0x00, - 0x01, 0x00, 0x00, 0x00, 0x1A, 0x80, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x15, 0x00, 0x00, 0x01, 0x1E, 0x00, 0x00, 0x09, 0x72, 0x00, 0x10, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x46, 0x82, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x03, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x09, 0x42, 0x00, 0x10, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x1A, 0x80, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x40, 0x00, 0x00, - 0xFF, 0xFF, 0xFF, 0xFF, 0x1F, 0x00, 0x04, 0x03, 0x0A, 0x00, 0x10, 0x00, - 0x01, 0x00, 0x00, 0x00, 0x1F, 0x00, 0x04, 0x05, 0x3A, 0x80, 0x30, 0x00, + 0xFF, 0xFF, 0xFF, 0xFF, 0x1F, 0x00, 0x04, 0x03, 0x2A, 0x00, 0x10, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x1F, 0x00, 0x04, 0x05, 0x3A, 0x80, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, - 0x1E, 0x00, 0x00, 0x0A, 0xF2, 0x00, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, - 0x56, 0x05, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, + 0x1E, 0x00, 0x00, 0x0A, 0xF2, 0x00, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, + 0x06, 0x00, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, - 0x03, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x0C, 0x32, 0x00, 0x10, 0x00, - 0x02, 0x00, 0x00, 0x00, 0x16, 0x85, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x03, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x0C, 0xC2, 0x00, 0x10, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x56, 0x81, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, - 0x1F, 0x00, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x55, 0x00, 0x00, 0x0A, 0x72, 0x00, 0x10, 0x00, - 0x03, 0x00, 0x00, 0x00, 0xB6, 0x0E, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x00, + 0x1F, 0x00, 0x00, 0x00, 0x55, 0x00, 0x00, 0x0A, 0x72, 0x00, 0x10, 0x00, + 0x03, 0x00, 0x00, 0x00, 0x66, 0x09, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x55, 0x00, 0x00, 0x0A, - 0x32, 0x00, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x46, 0x00, 0x10, 0x00, - 0x02, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, - 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x01, 0x00, 0x00, 0x07, 0x12, 0x00, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, - 0x0A, 0x00, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x40, 0x00, 0x00, - 0xFE, 0xFF, 0xFF, 0x0F, 0x23, 0x00, 0x00, 0x09, 0x12, 0x00, 0x10, 0x00, - 0x02, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, - 0x0A, 0x00, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x1A, 0x00, 0x10, 0x00, - 0x03, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x07, 0x42, 0x00, 0x10, 0x00, - 0x02, 0x00, 0x00, 0x00, 0x2A, 0x00, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, + 0xC2, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA6, 0x0E, 0x10, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x07, 0x42, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x2A, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x40, 0x00, 0x00, + 0xFE, 0xFF, 0xFF, 0x0F, 0x23, 0x00, 0x00, 0x09, 0x42, 0x00, 0x10, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, + 0x2A, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1A, 0x00, 0x10, 0x00, + 0x03, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x07, 0x82, 0x00, 0x10, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x2A, 0x00, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, 0x8C, 0x00, 0x00, 0x0B, - 0x82, 0x00, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x40, 0x00, 0x00, + 0x12, 0x00, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, 0x01, 0x40, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x40, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, - 0x2A, 0x00, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x40, 0x00, 0x00, + 0x3A, 0x00, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x55, 0x00, 0x00, 0x0A, 0xF2, 0x00, 0x10, 0x00, - 0x03, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x04, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x07, - 0xF2, 0x00, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, 0xF6, 0x0F, 0x10, 0x00, - 0x02, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, + 0xF2, 0x00, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, 0x06, 0x00, 0x10, 0x00, + 0x03, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x00, 0x8C, 0x00, 0x00, 0x14, 0xF2, 0x00, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, @@ -170,65 +170,65 @@ const uint8_t texture_load_dxt3a_cs[] = { 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0xA6, 0x0A, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, - 0x03, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x07, 0x42, 0x00, 0x10, 0x00, - 0x02, 0x00, 0x00, 0x00, 0x2A, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xF6, 0x0F, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x03, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x07, 0x82, 0x00, 0x10, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x1A, 0x00, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x40, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x07, - 0x42, 0x00, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x2A, 0x00, 0x10, 0x00, - 0x02, 0x00, 0x00, 0x00, 0x01, 0x40, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, + 0x82, 0x00, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x3A, 0x00, 0x10, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x01, 0x40, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x8C, 0x00, 0x00, 0x11, 0xF2, 0x00, 0x10, 0x00, 0x04, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, - 0x09, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, - 0xA6, 0x0A, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x55, 0x00, 0x00, 0x0A, + 0x09, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, + 0xF6, 0x0F, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x55, 0x00, 0x00, 0x0A, 0xF2, 0x00, 0x10, 0x00, 0x04, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, - 0x55, 0x00, 0x00, 0x0A, 0xF2, 0x00, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, - 0x46, 0x0E, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, + 0x55, 0x00, 0x00, 0x0A, 0xF2, 0x00, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x09, 0xF2, 0x00, 0x10, 0x00, - 0x01, 0x00, 0x00, 0x00, 0x06, 0x00, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, - 0x56, 0x05, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, - 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x0A, 0xF2, 0x00, 0x10, 0x00, - 0x02, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x00, + 0x02, 0x00, 0x00, 0x00, 0xA6, 0x0A, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xF6, 0x0F, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x0A, 0xF2, 0x00, 0x10, 0x00, + 0x05, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0xF0, 0x00, 0x00, 0x00, 0xF0, 0x00, 0x00, 0x00, 0xF0, 0x00, 0x00, 0x00, 0xF0, 0x00, 0x00, 0x00, 0x8C, 0x00, 0x00, 0x14, - 0xF2, 0x00, 0x10, 0x00, 0x05, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, + 0xF2, 0x00, 0x10, 0x00, 0x06, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, - 0x46, 0x0E, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x0C, 0xF2, 0x00, 0x10, 0x00, - 0x05, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, + 0x06, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x05, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, - 0x05, 0x00, 0x00, 0x00, 0x8C, 0x00, 0x00, 0x11, 0xF2, 0x00, 0x10, 0x00, - 0x05, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, + 0x06, 0x00, 0x00, 0x00, 0x8C, 0x00, 0x00, 0x11, 0xF2, 0x00, 0x10, 0x00, + 0x06, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, - 0x04, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x05, 0x00, 0x00, 0x00, - 0x8C, 0x00, 0x00, 0x11, 0xF2, 0x00, 0x10, 0x00, 0x05, 0x00, 0x00, 0x00, + 0x04, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x06, 0x00, 0x00, 0x00, + 0x8C, 0x00, 0x00, 0x11, 0xF2, 0x00, 0x10, 0x00, 0x06, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, - 0x09, 0x00, 0x00, 0x00, 0xF6, 0x0F, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x46, 0x0E, 0x10, 0x00, 0x05, 0x00, 0x00, 0x00, 0x8C, 0x00, 0x00, 0x11, - 0xF2, 0x00, 0x10, 0x00, 0x06, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, + 0x09, 0x00, 0x00, 0x00, 0xA6, 0x0A, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x06, 0x00, 0x00, 0x00, 0x8C, 0x00, 0x00, 0x11, + 0xF2, 0x00, 0x10, 0x00, 0x07, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, - 0xA6, 0x0A, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, - 0x05, 0x00, 0x00, 0x00, 0x8A, 0x00, 0x00, 0x0F, 0xF2, 0x00, 0x10, 0x00, - 0x05, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, + 0x56, 0x05, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x06, 0x00, 0x00, 0x00, 0x8A, 0x00, 0x00, 0x0F, 0xF2, 0x00, 0x10, 0x00, + 0x06, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, - 0x05, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x0A, 0xF2, 0x00, 0x10, 0x00, - 0x07, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, + 0x06, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x0A, 0xF2, 0x00, 0x10, 0x00, + 0x08, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x8C, 0x00, 0x00, 0x14, 0xF2, 0x00, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, @@ -238,336 +238,397 @@ const uint8_t texture_load_dxt3a_cs[] = { 0x46, 0x0E, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x0C, 0xF2, 0x00, 0x10, 0x00, - 0x03, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x05, 0x00, 0x00, 0x00, + 0x03, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x06, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x0C, 0xF2, 0x00, 0x10, 0x00, - 0x03, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x07, 0x00, 0x00, 0x00, + 0x03, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x08, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, 0x8C, 0x00, 0x00, 0x14, 0xF2, 0x00, 0x10, 0x00, - 0x01, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, + 0x02, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, - 0x01, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x02, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x23, 0x00, 0x00, 0x0C, 0xF2, 0x00, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, - 0x46, 0x0E, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, + 0x23, 0x00, 0x00, 0x0C, 0xF2, 0x00, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x05, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, - 0x10, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, - 0x8C, 0x00, 0x00, 0x11, 0xF2, 0x00, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x10, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, + 0x8C, 0x00, 0x00, 0x11, 0xF2, 0x00, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x00, - 0x46, 0x0E, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x8C, 0x00, 0x00, 0x11, - 0xF2, 0x00, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x8C, 0x00, 0x00, 0x11, + 0xF2, 0x00, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, - 0xF6, 0x0F, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, - 0x01, 0x00, 0x00, 0x00, 0x8C, 0x00, 0x00, 0x11, 0xF2, 0x00, 0x10, 0x00, - 0x01, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0xA6, 0x0A, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x02, 0x00, 0x00, 0x00, 0x8C, 0x00, 0x00, 0x11, 0xF2, 0x00, 0x10, 0x00, + 0x02, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, - 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0xA6, 0x0A, 0x10, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, - 0x8C, 0x00, 0x00, 0x11, 0xF2, 0x00, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x56, 0x05, 0x10, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, + 0x8C, 0x00, 0x00, 0x11, 0xF2, 0x00, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, - 0x46, 0x0E, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x8C, 0x00, 0x00, 0x11, - 0xF2, 0x00, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, - 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, - 0x06, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x46, 0x0E, 0x10, 0x00, 0x06, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, - 0x01, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x01, 0x1E, 0x00, 0x00, 0x0A, - 0xF2, 0x00, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x56, 0x05, 0x10, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, - 0x55, 0x00, 0x00, 0x0A, 0xF2, 0x00, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, - 0x46, 0x0E, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, - 0x05, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, - 0x05, 0x00, 0x00, 0x00, 0x55, 0x00, 0x00, 0x0A, 0x32, 0x00, 0x10, 0x00, - 0x04, 0x00, 0x00, 0x00, 0xA6, 0x0A, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x02, 0x40, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x09, - 0x42, 0x00, 0x10, 0x00, 0x04, 0x00, 0x00, 0x00, 0x0A, 0x80, 0x30, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, - 0x01, 0x40, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x00, 0x55, 0x00, 0x00, 0x07, - 0x42, 0x00, 0x10, 0x00, 0x04, 0x00, 0x00, 0x00, 0x2A, 0x00, 0x10, 0x00, - 0x04, 0x00, 0x00, 0x00, 0x01, 0x40, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, - 0x23, 0x00, 0x00, 0x09, 0xF2, 0x00, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, - 0x06, 0x00, 0x10, 0x00, 0x04, 0x00, 0x00, 0x00, 0xA6, 0x0A, 0x10, 0x00, - 0x04, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, - 0x29, 0x00, 0x00, 0x0A, 0x52, 0x00, 0x10, 0x00, 0x04, 0x00, 0x00, 0x00, - 0xA6, 0x0A, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, - 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x0A, 0x52, 0x00, 0x10, 0x00, - 0x04, 0x00, 0x00, 0x00, 0x06, 0x02, 0x10, 0x00, 0x04, 0x00, 0x00, 0x00, - 0x02, 0x40, 0x00, 0x00, 0xC0, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8C, 0x00, 0x00, 0x11, - 0xF2, 0x00, 0x10, 0x00, 0x05, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, - 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, - 0x03, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, - 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, - 0x46, 0x0E, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x06, 0x00, 0x10, 0x00, - 0x04, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x07, 0x12, 0x00, 0x10, 0x00, - 0x04, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x10, 0x00, 0x04, 0x00, 0x00, 0x00, - 0x01, 0x40, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x8C, 0x00, 0x00, 0x11, - 0xF2, 0x00, 0x10, 0x00, 0x06, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, - 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, - 0x03, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, - 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, - 0x46, 0x0E, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x06, 0x00, 0x10, 0x00, - 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x0A, 0xF2, 0x00, 0x10, 0x00, - 0x06, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x06, 0x00, 0x00, 0x00, - 0x02, 0x40, 0x00, 0x00, 0xE0, 0x03, 0x00, 0x00, 0xE0, 0x03, 0x00, 0x00, - 0xE0, 0x03, 0x00, 0x00, 0xE0, 0x03, 0x00, 0x00, 0x8C, 0x00, 0x00, 0x11, - 0xF2, 0x00, 0x10, 0x00, 0x07, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, - 0x16, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, - 0x16, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, - 0x0A, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, - 0x46, 0x0E, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, - 0x06, 0x00, 0x00, 0x00, 0x8C, 0x00, 0x00, 0x11, 0xF2, 0x00, 0x10, 0x00, - 0x07, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, - 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, - 0x02, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, - 0x05, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x07, 0x00, 0x00, 0x00, - 0x8C, 0x00, 0x00, 0x11, 0xF2, 0x00, 0x10, 0x00, 0x07, 0x00, 0x00, 0x00, - 0x02, 0x40, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, - 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, - 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, - 0x04, 0x00, 0x00, 0x00, 0xA6, 0x0A, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x46, 0x0E, 0x10, 0x00, 0x07, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x0A, - 0xF2, 0x00, 0x10, 0x00, 0x08, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, - 0x06, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, - 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, - 0x8C, 0x00, 0x00, 0x11, 0xF2, 0x00, 0x10, 0x00, 0x08, 0x00, 0x00, 0x00, - 0x02, 0x40, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, - 0x16, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, - 0x0D, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, - 0x0D, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, - 0x46, 0x0E, 0x10, 0x00, 0x08, 0x00, 0x00, 0x00, 0x8C, 0x00, 0x00, 0x11, - 0xF2, 0x00, 0x10, 0x00, 0x08, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, - 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, - 0x04, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, - 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, - 0x46, 0x0E, 0x10, 0x00, 0x05, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, - 0x08, 0x00, 0x00, 0x00, 0x8C, 0x00, 0x00, 0x11, 0xF2, 0x00, 0x10, 0x00, - 0x08, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, - 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, - 0x02, 0x40, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, - 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0xA6, 0x0A, 0x10, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x08, 0x00, 0x00, 0x00, - 0x8C, 0x00, 0x00, 0x11, 0xF2, 0x00, 0x10, 0x00, 0x08, 0x00, 0x00, 0x00, - 0x02, 0x40, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, - 0x0C, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0xA6, 0x0A, 0x10, 0x00, 0x04, 0x00, 0x00, 0x00, - 0x46, 0x0E, 0x10, 0x00, 0x08, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x0A, - 0xF2, 0x00, 0x10, 0x00, 0x06, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, - 0x06, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, - 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, - 0x8C, 0x00, 0x00, 0x11, 0xF2, 0x00, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, - 0x02, 0x40, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, - 0x16, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, - 0x0C, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, - 0x0C, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, - 0x46, 0x0E, 0x10, 0x00, 0x06, 0x00, 0x00, 0x00, 0x8C, 0x00, 0x00, 0x11, - 0xF2, 0x00, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, - 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, - 0x04, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, - 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, - 0x46, 0x0E, 0x10, 0x00, 0x05, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, - 0x03, 0x00, 0x00, 0x00, 0x8C, 0x00, 0x00, 0x11, 0xF2, 0x00, 0x10, 0x00, - 0x03, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, - 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, - 0x02, 0x40, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, - 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0xA6, 0x0A, 0x10, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, - 0x01, 0x00, 0x00, 0x0A, 0xF2, 0x00, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, - 0x46, 0x0E, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, - 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, - 0x00, 0x07, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x07, 0xF2, 0x00, 0x10, 0x00, - 0x03, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x08, 0x00, 0x00, 0x00, - 0x46, 0x0E, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, 0x55, 0x00, 0x00, 0x0A, - 0xF2, 0x00, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, - 0x02, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, - 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, - 0x01, 0x00, 0x00, 0x07, 0x12, 0x00, 0x10, 0x00, 0x04, 0x00, 0x00, 0x00, - 0x1A, 0x00, 0x10, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x40, 0x00, 0x00, - 0x02, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x07, 0xF2, 0x00, 0x10, 0x00, - 0x02, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, - 0x06, 0x00, 0x10, 0x00, 0x04, 0x00, 0x00, 0x00, 0x8C, 0x00, 0x00, 0x14, - 0xF2, 0x00, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, - 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, - 0x02, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, - 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, - 0x46, 0x0E, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x07, 0xF2, 0x00, 0x10, 0x00, - 0x02, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x8C, 0x00, 0x00, 0x11, - 0xF2, 0x00, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, + 0xF2, 0x00, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x07, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, - 0x02, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x01, 0x12, 0x00, 0x00, 0x01, - 0x29, 0x00, 0x00, 0x07, 0x22, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x1A, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x40, 0x00, 0x00, - 0x03, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x09, 0x12, 0x00, 0x10, 0x00, - 0x02, 0x00, 0x00, 0x00, 0x1A, 0x80, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x40, 0x00, 0x00, - 0x1F, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x07, 0x12, 0x00, 0x10, 0x00, - 0x02, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, - 0x01, 0x40, 0x00, 0x00, 0xE0, 0xFF, 0xFF, 0xFF, 0x23, 0x00, 0x00, 0x09, - 0x42, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3A, 0x00, 0x10, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, - 0x2A, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x0B, - 0x22, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2A, 0x00, 0x10, 0x00, + 0x02, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x01, 0x1E, 0x00, 0x00, 0x0A, + 0xF2, 0x00, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, 0x06, 0x00, 0x10, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, + 0x55, 0x00, 0x00, 0x0A, 0xF2, 0x00, 0x10, 0x00, 0x04, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, + 0x05, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, + 0x05, 0x00, 0x00, 0x00, 0x55, 0x00, 0x00, 0x0A, 0xC2, 0x00, 0x10, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x56, 0x05, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x02, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x05, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x09, + 0x82, 0x00, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0A, 0x80, 0x30, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, + 0x01, 0x40, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x00, 0x55, 0x00, 0x00, 0x07, + 0x82, 0x00, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x3A, 0x00, 0x10, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x01, 0x40, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, + 0x23, 0x00, 0x00, 0x09, 0xF2, 0x00, 0x10, 0x00, 0x04, 0x00, 0x00, 0x00, + 0xA6, 0x0A, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF6, 0x0F, 0x10, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x00, + 0x29, 0x00, 0x00, 0x0A, 0x32, 0x00, 0x10, 0x00, 0x05, 0x00, 0x00, 0x00, + 0x56, 0x05, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, + 0x05, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x0A, 0x32, 0x00, 0x10, 0x00, + 0x05, 0x00, 0x00, 0x00, 0x46, 0x00, 0x10, 0x00, 0x05, 0x00, 0x00, 0x00, + 0x02, 0x40, 0x00, 0x00, 0xC0, 0x01, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8C, 0x00, 0x00, 0x11, + 0xF2, 0x00, 0x10, 0x00, 0x06, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, + 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, + 0x03, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, + 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, 0x06, 0x00, 0x10, 0x00, + 0x05, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x07, 0x42, 0x00, 0x10, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x10, 0x00, 0x05, 0x00, 0x00, 0x00, + 0x01, 0x40, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x8C, 0x00, 0x00, 0x11, + 0xF2, 0x00, 0x10, 0x00, 0x07, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, + 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, + 0x03, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, + 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, 0xA6, 0x0A, 0x10, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x0A, 0xF2, 0x00, 0x10, 0x00, + 0x07, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x07, 0x00, 0x00, 0x00, + 0x02, 0x40, 0x00, 0x00, 0xE0, 0x03, 0x00, 0x00, 0xE0, 0x03, 0x00, 0x00, + 0xE0, 0x03, 0x00, 0x00, 0xE0, 0x03, 0x00, 0x00, 0x8C, 0x00, 0x00, 0x11, + 0xF2, 0x00, 0x10, 0x00, 0x08, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, + 0x16, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, + 0x16, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, + 0x0A, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x07, 0x00, 0x00, 0x00, 0x8C, 0x00, 0x00, 0x11, 0xF2, 0x00, 0x10, 0x00, + 0x08, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, + 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, + 0x02, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x06, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x08, 0x00, 0x00, 0x00, + 0x8C, 0x00, 0x00, 0x11, 0xF2, 0x00, 0x10, 0x00, 0x08, 0x00, 0x00, 0x00, + 0x02, 0x40, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, + 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, + 0x04, 0x00, 0x00, 0x00, 0x56, 0x05, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x08, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x0A, + 0xF2, 0x00, 0x10, 0x00, 0x09, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x07, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, + 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, + 0x8C, 0x00, 0x00, 0x11, 0xF2, 0x00, 0x10, 0x00, 0x09, 0x00, 0x00, 0x00, + 0x02, 0x40, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, + 0x16, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, + 0x0D, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, + 0x0D, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x09, 0x00, 0x00, 0x00, 0x8C, 0x00, 0x00, 0x11, + 0xF2, 0x00, 0x10, 0x00, 0x09, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, + 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, + 0x04, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, + 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x06, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x09, 0x00, 0x00, 0x00, 0x8C, 0x00, 0x00, 0x11, 0xF2, 0x00, 0x10, 0x00, + 0x09, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x02, 0x40, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, + 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x56, 0x05, 0x10, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x09, 0x00, 0x00, 0x00, + 0x8C, 0x00, 0x00, 0x11, 0xF2, 0x00, 0x10, 0x00, 0x05, 0x00, 0x00, 0x00, + 0x02, 0x40, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, + 0x0C, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x56, 0x05, 0x10, 0x00, 0x05, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x09, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x0A, + 0xF2, 0x00, 0x10, 0x00, 0x07, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x07, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, + 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, + 0x8C, 0x00, 0x00, 0x11, 0xF2, 0x00, 0x10, 0x00, 0x04, 0x00, 0x00, 0x00, + 0x02, 0x40, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, + 0x16, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, + 0x0C, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, + 0x0C, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x07, 0x00, 0x00, 0x00, 0x8C, 0x00, 0x00, 0x11, + 0xF2, 0x00, 0x10, 0x00, 0x04, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, + 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, + 0x04, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, + 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x06, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x04, 0x00, 0x00, 0x00, 0x8C, 0x00, 0x00, 0x11, 0xF2, 0x00, 0x10, 0x00, + 0x04, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x02, 0x40, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, + 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x56, 0x05, 0x10, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x0A, 0xF2, 0x00, 0x10, 0x00, 0x04, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, + 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, + 0x00, 0x07, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x07, 0xF2, 0x00, 0x10, 0x00, + 0x04, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x05, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x00, 0x55, 0x00, 0x00, 0x0A, + 0xF2, 0x00, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x03, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, + 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x07, 0x42, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3A, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x40, 0x00, 0x00, + 0x02, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x07, 0xF2, 0x00, 0x10, 0x00, + 0x03, 0x00, 0x00, 0x00, 0xA6, 0x0A, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, 0x8C, 0x00, 0x00, 0x14, + 0xF2, 0x00, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, + 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, + 0x02, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, + 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x07, 0xF2, 0x00, 0x10, 0x00, + 0x03, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, 0x8C, 0x00, 0x00, 0x11, + 0xF2, 0x00, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, + 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, + 0x06, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x08, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x03, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x01, 0x12, 0x00, 0x00, 0x01, + 0x29, 0x00, 0x00, 0x07, 0x42, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x0A, 0x00, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x40, 0x00, 0x00, + 0x03, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x09, 0x82, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1A, 0x80, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1A, 0x00, 0x10, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x40, 0x00, 0x00, + 0x1F, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x07, 0x82, 0x00, 0x10, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3A, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x40, 0x00, 0x00, 0xE0, 0xFF, 0xFF, 0xFF, 0x23, 0x00, 0x00, 0x09, + 0x82, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2A, 0x00, 0x10, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x3A, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x1A, 0x00, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x0B, + 0x42, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3A, 0x00, 0x10, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x1A, 0x80, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2A, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x0A, 0xF2, 0x00, 0x10, 0x00, - 0x01, 0x00, 0x00, 0x00, 0x56, 0x05, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x02, 0x00, 0x00, 0x00, 0xA6, 0x0A, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x01, 0x1E, 0x00, 0x00, 0x09, 0xF2, 0x00, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, - 0x46, 0x0E, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x06, 0x80, 0x30, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x06, 0x80, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0xA5, 0x00, 0x00, 0x08, 0xC2, 0x00, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, - 0x0A, 0x00, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x06, 0x74, 0x20, 0x00, + 0xA5, 0x00, 0x00, 0x08, 0x52, 0x00, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, + 0x0A, 0x00, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x16, 0x70, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA5, 0x00, 0x00, 0x08, - 0x32, 0x00, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x1A, 0x00, 0x10, 0x00, + 0xA2, 0x00, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x1A, 0x00, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x46, 0x70, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0xA5, 0x00, 0x00, 0x08, 0xC2, 0x00, 0x10, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xA5, 0x00, 0x00, 0x08, 0x32, 0x00, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, 0x2A, 0x00, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, - 0x06, 0x74, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0xA5, 0x00, 0x00, 0x08, 0x32, 0x00, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, - 0x3A, 0x00, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x46, 0x70, 0x20, 0x00, + 0x46, 0x70, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xA5, 0x00, 0x00, 0x08, 0xC2, 0x00, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, + 0x3A, 0x00, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x06, 0x74, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x55, 0x00, 0x00, 0x09, - 0x22, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3A, 0x80, 0x30, 0x00, + 0x42, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3A, 0x80, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x40, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x57, 0x00, 0x00, 0x09, - 0x22, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1A, 0x00, 0x10, 0x00, + 0x42, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2A, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3A, 0x80, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x07, - 0x22, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1A, 0x00, 0x10, 0x00, + 0x42, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2A, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x40, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, - 0x1F, 0x00, 0x04, 0x03, 0x1A, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x1F, 0x00, 0x04, 0x03, 0x2A, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x0A, 0xF2, 0x00, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, - 0xE6, 0x04, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, + 0x26, 0x07, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x0A, 0xF2, 0x00, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x55, 0x00, 0x00, 0x0A, - 0xF2, 0x00, 0x10, 0x00, 0x04, 0x00, 0x00, 0x00, 0xE6, 0x04, 0x10, 0x00, + 0xF2, 0x00, 0x10, 0x00, 0x04, 0x00, 0x00, 0x00, 0x26, 0x07, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x0A, 0xF2, 0x00, 0x10, 0x00, 0x04, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x1E, 0x00, 0x00, 0x07, 0xF2, 0x00, 0x10, 0x00, - 0x02, 0x00, 0x00, 0x00, 0xE6, 0x04, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, - 0xE6, 0x04, 0x10, 0x00, 0x04, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x01, - 0x01, 0x00, 0x00, 0x09, 0x42, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x02, 0x00, 0x00, 0x00, 0xD6, 0x08, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, + 0xD6, 0x08, 0x10, 0x00, 0x04, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x01, + 0x01, 0x00, 0x00, 0x09, 0x82, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3A, 0x80, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x40, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, - 0x1F, 0x00, 0x04, 0x03, 0x2A, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x1F, 0x00, 0x04, 0x03, 0x3A, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x55, 0x00, 0x00, 0x0A, 0xF2, 0x00, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, - 0xE6, 0x04, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, + 0x26, 0x07, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x8C, 0x00, 0x00, 0x11, 0xF2, 0x00, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, - 0x02, 0x00, 0x00, 0x00, 0xE6, 0x04, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x02, 0x00, 0x00, 0x00, 0xD6, 0x08, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x36, 0x00, 0x00, 0x05, 0x32, 0x00, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0xE6, 0x0A, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x01, 0x36, 0x00, 0x00, 0x05, 0x32, 0x00, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0xE6, 0x0A, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x01, - 0x1F, 0x00, 0x04, 0x03, 0x1A, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x1F, 0x00, 0x04, 0x03, 0x2A, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x0A, 0xF2, 0x00, 0x10, 0x00, 0x04, 0x00, 0x00, 0x00, - 0xE6, 0x04, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x0A, 0xF2, 0x00, 0x10, 0x00, 0x04, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x55, 0x00, 0x00, 0x0A, - 0xF2, 0x00, 0x10, 0x00, 0x05, 0x00, 0x00, 0x00, 0xE6, 0x04, 0x10, 0x00, + 0xF2, 0x00, 0x10, 0x00, 0x05, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x0A, 0xF2, 0x00, 0x10, 0x00, 0x05, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x05, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x1E, 0x00, 0x00, 0x07, 0xF2, 0x00, 0x10, 0x00, - 0x03, 0x00, 0x00, 0x00, 0xE6, 0x04, 0x10, 0x00, 0x04, 0x00, 0x00, 0x00, - 0xE6, 0x04, 0x10, 0x00, 0x05, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x01, - 0x1F, 0x00, 0x04, 0x03, 0x2A, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x03, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x05, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x01, + 0x1F, 0x00, 0x04, 0x03, 0x3A, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x55, 0x00, 0x00, 0x0A, 0xF2, 0x00, 0x10, 0x00, 0x04, 0x00, 0x00, 0x00, - 0xE6, 0x04, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x8C, 0x00, 0x00, 0x11, 0xF2, 0x00, 0x10, 0x00, - 0x03, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, + 0x04, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, - 0x03, 0x00, 0x00, 0x00, 0xE6, 0x04, 0x10, 0x00, 0x04, 0x00, 0x00, 0x00, - 0x36, 0x00, 0x00, 0x05, 0x32, 0x00, 0x10, 0x00, 0x04, 0x00, 0x00, 0x00, - 0xE6, 0x0A, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x01, - 0x36, 0x00, 0x00, 0x05, 0x32, 0x00, 0x10, 0x00, 0x04, 0x00, 0x00, 0x00, - 0xE6, 0x0A, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x01, - 0x29, 0x00, 0x00, 0x07, 0x12, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x0A, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x40, 0x00, 0x00, - 0x04, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x09, 0x22, 0x00, 0x10, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x2A, 0x00, 0x02, 0x00, 0x1A, 0x80, 0x30, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, - 0x1A, 0x00, 0x02, 0x00, 0x23, 0x00, 0x00, 0x0B, 0x12, 0x00, 0x10, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x1A, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x3A, 0x80, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x1E, 0x00, 0x00, 0x09, 0x12, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x0A, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2A, 0x80, 0x30, 0x00, + 0x03, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x00, + 0x36, 0x00, 0x00, 0x05, 0xC2, 0x00, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x06, 0x08, 0x10, 0x00, 0x04, 0x00, 0x00, 0x00, 0x36, 0x00, 0x00, 0x05, + 0xC2, 0x00, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x56, 0x0D, 0x10, 0x00, + 0x04, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x01, 0x36, 0x00, 0x00, 0x05, + 0xC2, 0x00, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x06, 0x08, 0x10, 0x00, + 0x03, 0x00, 0x00, 0x00, 0x36, 0x00, 0x00, 0x05, 0xC2, 0x00, 0x10, 0x00, + 0x02, 0x00, 0x00, 0x00, 0x56, 0x0D, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, + 0x15, 0x00, 0x00, 0x01, 0x29, 0x00, 0x00, 0x0A, 0x32, 0x00, 0x10, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x46, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x02, 0x40, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x0A, + 0x42, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2A, 0x00, 0x02, 0x00, + 0x1A, 0x80, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x1A, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x23, 0x00, 0x00, 0x0B, 0x12, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x2A, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3A, 0x80, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x36, 0x00, 0x00, 0x05, 0x42, 0x00, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, - 0x01, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA6, 0x00, 0x00, 0x08, - 0xF2, 0xE0, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x0A, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, 0x0A, 0x10, 0x00, - 0x01, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x0A, 0xE2, 0x00, 0x10, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x02, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, - 0x20, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x36, 0x00, 0x00, 0x05, - 0x42, 0x00, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x40, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0xA6, 0x00, 0x00, 0x08, 0xF2, 0xE0, 0x21, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1A, 0x00, 0x10, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x46, 0x0A, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, - 0x36, 0x00, 0x00, 0x05, 0x42, 0x00, 0x10, 0x00, 0x04, 0x00, 0x00, 0x00, - 0x01, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA6, 0x00, 0x00, 0x08, - 0xF2, 0xE0, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x2A, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, 0x0A, 0x10, 0x00, - 0x04, 0x00, 0x00, 0x00, 0x36, 0x00, 0x00, 0x05, 0x42, 0x00, 0x10, 0x00, + 0x0A, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x09, + 0x12, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x10, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x2A, 0x80, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x36, 0x00, 0x00, 0x07, + 0x42, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1A, 0x80, 0x30, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x36, 0x00, 0x00, 0x05, 0x82, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x1A, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x36, 0x00, 0x00, 0x05, + 0x12, 0x00, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x10, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x36, 0x00, 0x00, 0x05, 0x22, 0x00, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, 0x01, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0xA6, 0x00, 0x00, 0x08, 0xF2, 0xE0, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x3A, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x46, 0x0A, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, 0x3E, 0x00, 0x00, 0x01, - 0x53, 0x54, 0x41, 0x54, 0x94, 0x00, 0x00, 0x00, 0x8D, 0x00, 0x00, 0x00, - 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x27, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, - 0x07, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x30, 0x00, 0x00, 0x01, 0x50, 0x00, 0x00, 0x07, 0x42, 0x00, 0x10, 0x00, + 0x03, 0x00, 0x00, 0x00, 0x1A, 0x00, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, + 0x01, 0x40, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x03, 0x00, 0x04, 0x03, + 0x2A, 0x00, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, 0x4F, 0x00, 0x00, 0x07, + 0x42, 0x00, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, 0x1A, 0x00, 0x10, 0x00, + 0x03, 0x00, 0x00, 0x00, 0x01, 0x40, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, + 0x37, 0x00, 0x00, 0x09, 0xF2, 0x00, 0x10, 0x00, 0x04, 0x00, 0x00, 0x00, + 0xA6, 0x0A, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, + 0x8C, 0x00, 0x00, 0x0B, 0x42, 0x00, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, + 0x01, 0x40, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x40, 0x00, 0x00, + 0x04, 0x00, 0x00, 0x00, 0x1A, 0x00, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, + 0x01, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x55, 0x00, 0x00, 0x07, + 0xF2, 0x00, 0x10, 0x00, 0x04, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x04, 0x00, 0x00, 0x00, 0xA6, 0x0A, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, + 0x8C, 0x00, 0x00, 0x14, 0xF2, 0x00, 0x10, 0x00, 0x05, 0x00, 0x00, 0x00, + 0x02, 0x40, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, + 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, + 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, + 0x04, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x00, + 0x02, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8C, 0x00, 0x00, 0x11, + 0xF2, 0x00, 0x10, 0x00, 0x05, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, + 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, + 0x04, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x05, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x0A, 0xF2, 0x00, 0x10, 0x00, + 0x06, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x00, + 0x02, 0x40, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, + 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x0A, + 0xF2, 0x00, 0x10, 0x00, 0x06, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x06, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x00, 0xF0, 0x0F, 0x00, + 0x00, 0xF0, 0x0F, 0x00, 0x00, 0xF0, 0x0F, 0x00, 0x00, 0xF0, 0x0F, 0x00, + 0x1E, 0x00, 0x00, 0x07, 0xF2, 0x00, 0x10, 0x00, 0x05, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x05, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x06, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x0A, 0xF2, 0x00, 0x10, 0x00, + 0x06, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x00, + 0x02, 0x40, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, + 0x0C, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x0A, + 0xF2, 0x00, 0x10, 0x00, 0x06, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x06, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x0F, + 0x00, 0x00, 0xF0, 0x0F, 0x00, 0x00, 0xF0, 0x0F, 0x00, 0x00, 0xF0, 0x0F, + 0x1E, 0x00, 0x00, 0x07, 0xF2, 0x00, 0x10, 0x00, 0x05, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x05, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x06, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x0A, 0xF2, 0x00, 0x10, 0x00, + 0x04, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x00, + 0x02, 0x40, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, + 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x8C, 0x00, 0x00, 0x11, + 0xF2, 0x00, 0x10, 0x00, 0x04, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, + 0x1C, 0x00, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x00, + 0x1C, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x05, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x04, 0x00, 0x00, 0x00, 0xA6, 0x00, 0x00, 0x08, 0xF2, 0xE0, 0x21, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x10, 0x00, + 0x03, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x00, + 0x1E, 0x00, 0x00, 0x07, 0x82, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3A, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x40, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x07, 0x42, 0x00, 0x10, 0x00, + 0x03, 0x00, 0x00, 0x00, 0x3A, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x2A, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1F, 0x00, 0x04, 0x03, + 0x2A, 0x00, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, 0x3E, 0x00, 0x00, 0x01, + 0x15, 0x00, 0x00, 0x01, 0x1E, 0x00, 0x00, 0x09, 0x12, 0x00, 0x10, 0x00, + 0x03, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, + 0x3A, 0x80, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x07, 0x22, 0x00, 0x10, 0x00, + 0x03, 0x00, 0x00, 0x00, 0x1A, 0x00, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, + 0x01, 0x40, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x01, + 0x3E, 0x00, 0x00, 0x01, 0x53, 0x54, 0x41, 0x54, 0x94, 0x00, 0x00, 0x00, + 0xA4, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2E, 0x00, 0x00, 0x00, + 0x27, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, }; diff --git a/src/xenia/gpu/d3d12/shaders/dxbc/texture_load_dxt3a_cs.txt b/src/xenia/gpu/d3d12/shaders/dxbc/texture_load_dxt3a_cs.txt index 3c23a83b4..3c17618d9 100644 --- a/src/xenia/gpu/d3d12/shaders/dxbc/texture_load_dxt3a_cs.txt +++ b/src/xenia/gpu/d3d12/shaders/dxbc/texture_load_dxt3a_cs.txt @@ -11,7 +11,7 @@ // uint xe_texture_copy_guest_pitch; // Offset: 4 Size: 4 // uint xe_texture_copy_host_base; // Offset: 8 Size: 4 // uint xe_texture_copy_host_pitch; // Offset: 12 Size: 4 -// uint3 xe_texture_copy_size_texels; // Offset: 16 Size: 12 [unused] +// uint3 xe_texture_copy_size_texels; // Offset: 16 Size: 12 // bool xe_texture_copy_is_3d; // Offset: 28 Size: 4 // uint3 xe_texture_copy_size_blocks; // Offset: 32 Size: 12 // uint xe_texture_copy_endianness; // Offset: 44 Size: 4 @@ -47,7 +47,7 @@ dcl_constantbuffer CB0[0:0][4], immediateIndexed, space=0 dcl_resource_raw T0[0:0], space=0 dcl_uav_raw U0[0:0], space=0 dcl_input vThreadID.xyz -dcl_temps 9 +dcl_temps 10 dcl_thread_group 8, 32, 1 ishl r0.x, vThreadID.x, l(2) mov r0.yz, vThreadID.yyzy @@ -57,137 +57,160 @@ or r0.w, r1.z, r0.w if_nz r0.w ret endif -iadd r0.yzw, r0.xxyz, CB0[0][3].xxyz -ieq r1.x, CB0[0][0].y, l(-1) -if_nz r1.x +iadd r1.xyz, r0.xyzx, CB0[0][3].xyzx +ieq r0.z, CB0[0][0].y, l(-1) +if_nz r0.z if_nz CB0[0][1].w - iadd r1.xyzw, r0.yyyy, l(0, 1, 2, 3) - iadd r2.xy, CB0[0][2].yxyy, l(31, 31, 0, 0) - ushr r3.xyz, r0.wzzw, l(2, 4, 3, 0) - ushr r2.xy, r2.xyxx, l(4, 5, 0, 0) - and r2.x, r2.x, l(0x0ffffffe) - imad r2.x, r3.x, r2.x, r3.y - iadd r2.z, r3.z, r3.x - bfi r2.w, l(1), l(1), r2.z, l(0) - ushr r3.xyzw, r1.xyzw, l(3, 3, 3, 3) - iadd r3.xyzw, r2.wwww, r3.xyzw + iadd r2.xyzw, r1.xxxx, l(0, 1, 2, 3) + iadd r0.zw, CB0[0][2].yyyx, l(0, 0, 31, 31) + ushr r3.xyz, r1.zyyz, l(2, 4, 3, 0) + ushr r0.zw, r0.zzzw, l(0, 0, 4, 5) + and r0.z, r0.z, l(0x0ffffffe) + imad r0.z, r3.x, r0.z, r3.y + iadd r1.w, r3.z, r3.x + bfi r3.x, l(1), l(1), r1.w, l(0) + ushr r4.xyzw, r2.xyzw, l(3, 3, 3, 3) + iadd r3.xyzw, r3.xxxx, r4.xyzw bfi r3.xyzw, l(2, 2, 2, 2), l(1, 1, 1, 1), r3.xyzw, l(0, 0, 0, 0) - bfi r3.xyzw, l(1, 1, 1, 1), l(0, 0, 0, 0), r2.zzzz, r3.xyzw - ishl r2.z, r0.z, l(11) - and r2.z, r2.z, l(0x00003000) - bfi r4.xyzw, l(3, 3, 3, 3), l(9, 9, 9, 9), r1.xyzw, r2.zzzz + bfi r3.xyzw, l(1, 1, 1, 1), l(0, 0, 0, 0), r1.wwww, r3.xyzw + ishl r1.w, r1.y, l(11) + and r1.w, r1.w, l(0x00003000) + bfi r4.xyzw, l(3, 3, 3, 3), l(9, 9, 9, 9), r2.xyzw, r1.wwww ushr r4.xyzw, r4.xyzw, l(6, 6, 6, 6) - ushr r1.xyzw, r1.xyzw, l(5, 5, 5, 5) - imad r1.xyzw, r2.xxxx, r2.yyyy, r1.xyzw - and r2.xyzw, r4.xyzw, l(240, 240, 240, 240) - bfi r5.xyzw, l(19, 19, 19, 19), l(11, 11, 11, 11), r1.xyzw, l(0, 0, 0, 0) - imad r5.xyzw, r2.xyzw, l(2, 2, 2, 2), r5.xyzw - bfi r5.xyzw, l(4, 4, 4, 4), l(0, 0, 0, 0), r4.xyzw, r5.xyzw - bfi r5.xyzw, l(2, 2, 2, 2), l(9, 9, 9, 9), r0.wwww, r5.xyzw - bfi r6.xyzw, l(1, 1, 1, 1), l(4, 4, 4, 4), r0.zzzz, r5.xyzw - ubfe r5.xyzw, l(3, 3, 3, 3), l(6, 6, 6, 6), r5.xyzw - and r7.xyzw, r3.xyzw, l(6, 6, 6, 6) + ushr r2.xyzw, r2.xyzw, l(5, 5, 5, 5) + imad r2.xyzw, r0.zzzz, r0.wwww, r2.xyzw + and r5.xyzw, r4.xyzw, l(240, 240, 240, 240) + bfi r6.xyzw, l(19, 19, 19, 19), l(11, 11, 11, 11), r2.xyzw, l(0, 0, 0, 0) + imad r6.xyzw, r5.xyzw, l(2, 2, 2, 2), r6.xyzw + bfi r6.xyzw, l(4, 4, 4, 4), l(0, 0, 0, 0), r4.xyzw, r6.xyzw + bfi r6.xyzw, l(2, 2, 2, 2), l(9, 9, 9, 9), r1.zzzz, r6.xyzw + bfi r7.xyzw, l(1, 1, 1, 1), l(4, 4, 4, 4), r1.yyyy, r6.xyzw + ubfe r6.xyzw, l(3, 3, 3, 3), l(6, 6, 6, 6), r6.xyzw + and r8.xyzw, r3.xyzw, l(6, 6, 6, 6) bfi r3.xyzw, l(1, 1, 1, 1), l(8, 8, 8, 8), r3.xyzw, l(0, 0, 0, 0) - imad r3.xyzw, r5.xyzw, l(32, 32, 32, 32), r3.xyzw - imad r3.xyzw, r7.xyzw, l(4, 4, 4, 4), r3.xyzw - bfi r1.xyzw, l(19, 19, 19, 19), l(14, 14, 14, 14), r1.xyzw, l(0, 0, 0, 0) - imad r1.xyzw, r2.xyzw, l(16, 16, 16, 16), r1.xyzw - bfi r1.xyzw, l(4, 4, 4, 4), l(3, 3, 3, 3), r4.xyzw, r1.xyzw - bfi r1.xyzw, l(2, 2, 2, 2), l(12, 12, 12, 12), r0.wwww, r1.xyzw - bfi r1.xyzw, l(1, 1, 1, 1), l(7, 7, 7, 7), r0.zzzz, r1.xyzw - bfi r1.xyzw, l(9, 9, 9, 9), l(3, 3, 3, 3), r3.xyzw, r1.xyzw - bfi r1.xyzw, l(6, 6, 6, 6), l(0, 0, 0, 0), r6.xyzw, r1.xyzw + imad r3.xyzw, r6.xyzw, l(32, 32, 32, 32), r3.xyzw + imad r3.xyzw, r8.xyzw, l(4, 4, 4, 4), r3.xyzw + bfi r2.xyzw, l(19, 19, 19, 19), l(14, 14, 14, 14), r2.xyzw, l(0, 0, 0, 0) + imad r2.xyzw, r5.xyzw, l(16, 16, 16, 16), r2.xyzw + bfi r2.xyzw, l(4, 4, 4, 4), l(3, 3, 3, 3), r4.xyzw, r2.xyzw + bfi r2.xyzw, l(2, 2, 2, 2), l(12, 12, 12, 12), r1.zzzz, r2.xyzw + bfi r2.xyzw, l(1, 1, 1, 1), l(7, 7, 7, 7), r1.yyyy, r2.xyzw + bfi r2.xyzw, l(9, 9, 9, 9), l(3, 3, 3, 3), r3.xyzw, r2.xyzw + bfi r2.xyzw, l(6, 6, 6, 6), l(0, 0, 0, 0), r7.xyzw, r2.xyzw else - iadd r2.xyzw, r0.yyyy, l(0, 1, 2, 3) - ushr r3.xyzw, r2.xyzw, l(5, 5, 5, 5) - ushr r4.xy, r0.zzzz, l(5, 2, 0, 0) - iadd r4.z, CB0[0][2].x, l(31) - ushr r4.z, r4.z, l(5) - imad r3.xyzw, r4.xxxx, r4.zzzz, r3.xyzw - ishl r4.xz, r0.zzzz, l(5, 0, 7, 0) - and r4.xz, r4.xxzx, l(448, 0, 2048, 0) - bfi r5.xyzw, l(3, 3, 3, 3), l(3, 3, 3, 3), r2.xyzw, r4.xxxx - ishl r4.x, r4.x, l(1) - bfi r6.xyzw, l(3, 3, 3, 3), l(4, 4, 4, 4), r2.xyzw, r4.xxxx - and r6.xyzw, r6.xyzw, l(992, 992, 992, 992) - bfi r7.xyzw, l(22, 22, 22, 22), l(10, 10, 10, 10), r3.xyzw, r6.xyzw - bfi r7.xyzw, l(4, 4, 4, 4), l(0, 0, 0, 0), r5.xyzw, r7.xyzw - bfi r7.xyzw, l(1, 1, 1, 1), l(4, 4, 4, 4), r0.zzzz, r7.xyzw - ishl r8.xyzw, r6.xyzw, l(3, 3, 3, 3) - bfi r8.xyzw, l(22, 22, 22, 22), l(13, 13, 13, 13), r3.xyzw, r8.xyzw - bfi r8.xyzw, l(4, 4, 4, 4), l(3, 3, 3, 3), r5.xyzw, r8.xyzw - bfi r8.xyzw, l(1, 1, 1, 1), l(7, 7, 7, 7), r0.zzzz, r8.xyzw - bfi r8.xyzw, l(12, 12, 12, 12), l(0, 0, 0, 0), r4.zzzz, r8.xyzw - ishl r6.xyzw, r6.xyzw, l(2, 2, 2, 2) - bfi r3.xyzw, l(22, 22, 22, 22), l(12, 12, 12, 12), r3.xyzw, r6.xyzw - bfi r3.xyzw, l(4, 4, 4, 4), l(2, 2, 2, 2), r5.xyzw, r3.xyzw - bfi r3.xyzw, l(1, 1, 1, 1), l(6, 6, 6, 6), r0.zzzz, r3.xyzw - and r3.xyzw, r3.xyzw, l(1792, 1792, 1792, 1792) - iadd r3.xyzw, r8.xyzw, r3.xyzw - ushr r2.xyzw, r2.xyzw, l(3, 3, 3, 3) - and r4.x, r4.y, l(2) - iadd r2.xyzw, r2.xyzw, r4.xxxx - bfi r2.xyzw, l(2, 2, 2, 2), l(6, 6, 6, 6), r2.xyzw, l(0, 0, 0, 0) - iadd r2.xyzw, r3.xyzw, r2.xyzw - bfi r1.xyzw, l(6, 6, 6, 6), l(0, 0, 0, 0), r7.xyzw, r2.xyzw + iadd r3.xyzw, r1.xxxx, l(0, 1, 2, 3) + ushr r4.xyzw, r3.xyzw, l(5, 5, 5, 5) + ushr r0.zw, r1.yyyy, l(0, 0, 5, 2) + iadd r1.w, CB0[0][2].x, l(31) + ushr r1.w, r1.w, l(5) + imad r4.xyzw, r0.zzzz, r1.wwww, r4.xyzw + ishl r5.xy, r1.yyyy, l(5, 7, 0, 0) + and r5.xy, r5.xyxx, l(448, 2048, 0, 0) + bfi r6.xyzw, l(3, 3, 3, 3), l(3, 3, 3, 3), r3.xyzw, r5.xxxx + ishl r0.z, r5.x, l(1) + bfi r7.xyzw, l(3, 3, 3, 3), l(4, 4, 4, 4), r3.xyzw, r0.zzzz + and r7.xyzw, r7.xyzw, l(992, 992, 992, 992) + bfi r8.xyzw, l(22, 22, 22, 22), l(10, 10, 10, 10), r4.xyzw, r7.xyzw + bfi r8.xyzw, l(4, 4, 4, 4), l(0, 0, 0, 0), r6.xyzw, r8.xyzw + bfi r8.xyzw, l(1, 1, 1, 1), l(4, 4, 4, 4), r1.yyyy, r8.xyzw + ishl r9.xyzw, r7.xyzw, l(3, 3, 3, 3) + bfi r9.xyzw, l(22, 22, 22, 22), l(13, 13, 13, 13), r4.xyzw, r9.xyzw + bfi r9.xyzw, l(4, 4, 4, 4), l(3, 3, 3, 3), r6.xyzw, r9.xyzw + bfi r9.xyzw, l(1, 1, 1, 1), l(7, 7, 7, 7), r1.yyyy, r9.xyzw + bfi r5.xyzw, l(12, 12, 12, 12), l(0, 0, 0, 0), r5.yyyy, r9.xyzw + ishl r7.xyzw, r7.xyzw, l(2, 2, 2, 2) + bfi r4.xyzw, l(22, 22, 22, 22), l(12, 12, 12, 12), r4.xyzw, r7.xyzw + bfi r4.xyzw, l(4, 4, 4, 4), l(2, 2, 2, 2), r6.xyzw, r4.xyzw + bfi r4.xyzw, l(1, 1, 1, 1), l(6, 6, 6, 6), r1.yyyy, r4.xyzw + and r4.xyzw, r4.xyzw, l(1792, 1792, 1792, 1792) + iadd r4.xyzw, r5.xyzw, r4.xyzw + ushr r3.xyzw, r3.xyzw, l(3, 3, 3, 3) + and r0.z, r0.w, l(2) + iadd r3.xyzw, r0.zzzz, r3.xyzw + bfi r3.xyzw, l(2, 2, 2, 2), l(6, 6, 6, 6), r3.xyzw, l(0, 0, 0, 0) + iadd r3.xyzw, r4.xyzw, r3.xyzw + bfi r2.xyzw, l(6, 6, 6, 6), l(0, 0, 0, 0), r8.xyzw, r3.xyzw endif else - ishl r0.y, r0.y, l(3) - iadd r2.x, CB0[0][2].y, l(31) - and r2.x, r2.x, l(-32) - imad r0.z, r0.w, r2.x, r0.z - imad r0.y, r0.z, CB0[0][0].y, r0.y - iadd r1.xyzw, r0.yyyy, l(0, 8, 16, 24) + ishl r0.z, r1.x, l(3) + iadd r0.w, CB0[0][2].y, l(31) + and r0.w, r0.w, l(-32) + imad r0.w, r1.z, r0.w, r1.y + imad r0.z, r0.w, CB0[0][0].y, r0.z + iadd r2.xyzw, r0.zzzz, l(0, 8, 16, 24) endif -iadd r1.xyzw, r1.xyzw, CB0[0][0].xxxx -ld_raw r2.zw, r1.x, T0[0].xxxy -ld_raw r2.xy, r1.y, T0[0].xyxx -ld_raw r3.zw, r1.z, T0[0].xxxy -ld_raw r3.xy, r1.w, T0[0].xyxx -ushr r0.y, CB0[0][2].w, l(1) -xor r0.y, r0.y, CB0[0][2].w -and r0.y, r0.y, l(1) -if_nz r0.y - ishl r1.xyzw, r2.zwxy, l(8, 8, 8, 8) +iadd r1.xyzw, r2.xyzw, CB0[0][0].xxxx +ld_raw r2.xz, r1.x, T0[0].yxxx +ld_raw r2.yw, r1.y, T0[0].xyxx +ld_raw r3.xy, r1.z, T0[0].xyxx +ld_raw r3.zw, r1.w, T0[0].xxxy +ushr r0.z, CB0[0][2].w, l(1) +xor r0.z, r0.z, CB0[0][2].w +and r0.z, r0.z, l(1) +if_nz r0.z + ishl r1.xyzw, r2.zxwy, l(8, 8, 8, 8) and r1.xyzw, r1.xyzw, l(0xff00ff00, 0xff00ff00, 0xff00ff00, 0xff00ff00) - ushr r4.xyzw, r2.zwxy, l(8, 8, 8, 8) + ushr r4.xyzw, r2.zxwy, l(8, 8, 8, 8) and r4.xyzw, r4.xyzw, l(0x00ff00ff, 0x00ff00ff, 0x00ff00ff, 0x00ff00ff) - iadd r2.xyzw, r1.zwxy, r4.zwxy + iadd r2.xyzw, r1.ywxz, r4.ywxz endif -and r0.z, CB0[0][2].w, l(2) -if_nz r0.z - ushr r1.xyzw, r2.zwxy, l(16, 16, 16, 16) - bfi r2.xyzw, l(16, 16, 16, 16), l(16, 16, 16, 16), r2.xyzw, r1.zwxy +and r0.w, CB0[0][2].w, l(2) +if_nz r0.w + ushr r1.xyzw, r2.zxwy, l(16, 16, 16, 16) + bfi r2.xyzw, l(16, 16, 16, 16), l(16, 16, 16, 16), r2.xyzw, r1.ywxz mov r1.xy, r2.zwzz else mov r1.xy, r2.zwzz endif -if_nz r0.y - ishl r4.xyzw, r3.zwxy, l(8, 8, 8, 8) +if_nz r0.z + ishl r4.xyzw, r3.xyzw, l(8, 8, 8, 8) and r4.xyzw, r4.xyzw, l(0xff00ff00, 0xff00ff00, 0xff00ff00, 0xff00ff00) - ushr r5.xyzw, r3.zwxy, l(8, 8, 8, 8) + ushr r5.xyzw, r3.xyzw, l(8, 8, 8, 8) and r5.xyzw, r5.xyzw, l(0x00ff00ff, 0x00ff00ff, 0x00ff00ff, 0x00ff00ff) - iadd r3.xyzw, r4.zwxy, r5.zwxy + iadd r3.xyzw, r4.xyzw, r5.xyzw endif -if_nz r0.z - ushr r4.xyzw, r3.zwxy, l(16, 16, 16, 16) - bfi r3.xyzw, l(16, 16, 16, 16), l(16, 16, 16, 16), r3.xyzw, r4.zwxy - mov r4.xy, r3.zwzz +if_nz r0.w + ushr r4.xyzw, r3.xyzw, l(16, 16, 16, 16) + bfi r4.xyzw, l(16, 16, 16, 16), l(16, 16, 16, 16), r3.xyzw, r4.xyzw + mov r1.zw, r4.xxxz + mov r2.zw, r4.yyyw else - mov r4.xy, r3.zwzz + mov r1.zw, r3.xxxz + mov r2.zw, r3.yyyw endif -ishl r0.x, r0.x, l(4) -imad r0.y, vThreadID.z, CB0[0][2].y, vThreadID.y -imad r0.x, r0.y, CB0[0][0].w, r0.x +ishl r0.xy, r0.xyxx, l(2, 2, 0, 0) +imad r0.z, vThreadID.z, CB0[0][1].y, r0.y +imad r0.x, r0.z, CB0[0][0].w, r0.x iadd r0.x, r0.x, CB0[0][0].z -mov r1.z, l(0) -store_raw U0[0].xyzw, r0.x, r1.xyzz -iadd r0.yzw, r0.xxxx, l(0, 16, 32, 48) -mov r2.z, l(0) -store_raw U0[0].xyzw, r0.y, r2.xyzz -mov r4.z, l(0) -store_raw U0[0].xyzw, r0.z, r4.xyzz -mov r3.z, l(0) -store_raw U0[0].xyzw, r0.w, r3.xyzz +mov r0.z, CB0[0][1].y +mov r0.w, r0.y +mov r3.x, r0.x +mov r3.y, l(0) +loop + uge r3.z, r3.y, l(4) + breakc_nz r3.z + ult r3.z, r3.y, l(2) + movc r4.xyzw, r3.zzzz, r1.xyzw, r2.xyzw + bfi r3.z, l(1), l(4), r3.y, l(0) + ushr r4.xyzw, r4.xyzw, r3.zzzz + bfi r5.xyzw, l(8, 8, 8, 8), l(4, 4, 4, 4), r4.xyzw, l(0, 0, 0, 0) + bfi r5.xyzw, l(4, 4, 4, 4), l(0, 0, 0, 0), r4.xyzw, r5.xyzw + ishl r6.xyzw, r4.xyzw, l(8, 8, 8, 8) + and r6.xyzw, r6.xyzw, l(0x000ff000, 0x000ff000, 0x000ff000, 0x000ff000) + iadd r5.xyzw, r5.xyzw, r6.xyzw + ishl r6.xyzw, r4.xyzw, l(12, 12, 12, 12) + and r6.xyzw, r6.xyzw, l(0x0ff00000, 0x0ff00000, 0x0ff00000, 0x0ff00000) + iadd r5.xyzw, r5.xyzw, r6.xyzw + ishl r4.xyzw, r4.xyzw, l(16, 16, 16, 16) + bfi r4.xyzw, l(28, 28, 28, 28), l(0, 0, 0, 0), r5.xyzw, r4.xyzw + store_raw U0[0].xyzw, r3.x, r4.xyzw + iadd r0.w, r0.w, l(1) + uge r3.z, r0.w, r0.z + if_nz r3.z + ret + endif + iadd r3.x, r3.x, CB0[0][0].w + iadd r3.y, r3.y, l(1) +endloop ret -// Approximately 141 instruction slots used +// Approximately 164 instruction slots used diff --git a/src/xenia/gpu/d3d12/shaders/dxbc/texture_load_dxt5a_r8_cs.cso b/src/xenia/gpu/d3d12/shaders/dxbc/texture_load_dxt5a_r8_cs.cso new file mode 100644 index 0000000000000000000000000000000000000000..6b146b5523209ce702f3d15de685fd9e1e19ef65 GIT binary patch literal 11576 zcmc(lJB(dd6^8e0$L~q}2(~N>;UQxp+e(m~L;(d9?f5YyQb>$#jHyPpXN(8z8EfWR z7>X#kv@D81fkY@k!W3>OBB+p}NK_P1(S*Vk1qF(N6j3q!-?`_%v(CQvdK^)(qc!`n z*8bOX?{m&|PF^^E;;nydKK+~CzfS$}x4pZ6IIx;0Qc7QbHl>Z~Ul5&pETuV7PxS6H zDV;faYG$9t$o*TiLG)G8#KyBH*z}PWo_zA;7g*aTI@HoZ^^+pnd!o&vO(JmI;+VBR ziMEK=lY1bUQ4PF^d24>QH-D>lb9sLD^3shT%&simT)sS?>gBolm0r3qf37cjLXszz z7FT)~7kew|{sUod73~yoQSWvu_eTm%V)$-5UsZ$S{(Y?@v!2}FB!}z~!S@p@zAex~&)$*qU?p5&ehc;n*oXUQFX1iU&~-?^!5 z&0e~=GN0zYzqCA;?%%(!3RK=><^>$uPZWUBI5!r0m#+@-t}aQQi2aQjm#!^c{@%(E z_Wa`9!o|hK`ITW-KdjdmZp0`UtNGbiPhFTgl+rhJS!~&s(s#F{iEryVnE5f; zUu)DK?Uy?KGjDZytp9@be;#AlX|pQtWmWi9^}EISxk?#3rbI;Uu=ee4PC`oCBsWp| z=ix=kU250QZ_4Skj`_0Y?3u|s^;iAvH9I&%y5lzAZujhOWw*6`+UkIpf}YqHkv|aQY2do;|W< zvwgKc6D6hptgh~u4sjsfU|WVfFqi#JZtw{nYnHv6()Qi$+C=I5?Vh}_hdB*DOC>BcAaZotnF6FBrM#Pt}CCE8=;N`&_CGntrmQ zt>qS1=U@;YV%F@{zU`9Lc);t#LuFvy_?1gH2DX>yVS$faK& z)QD+X>WBw&_qO$G3SBhslTS?^*~6N3ex!LM=L$P=;YrdZ)`(Fg>ws4`**1x7;30?p zTtxJN;34DqT0eG1%0&xRvp?f7qMl}4y7?hj#ElxLF?dhQWvwooI%(IUU5w9f>|)$W zX@`9WgZhZX8h%Eye&>t3n>F_3(v@xF)j3NMvIeYPc+l%_O~WQf{^PPsApOf|*IkzUynn>@~+wJ|mEj;V-ZK4dG%_Hw~Fs9qP6MN#_ zNgnWz^~18|Iq5(?+QOVTxM|NoZl;ybC8hTP<6yMS_2c*wgGjk_=kTzFp4g&SHVxhn zc&@WHQTq3k@v$vyEn+if4Zk88-!Z@!?k?xqSPujc$+~>*_X;->y7ZdcA;*;-+!`a= z#W)xJsTzBUA3eHj3_>0$m#)9yI+w;E&-l#Qv2ENUfq}ezIXtFTID?VwvvWEsZs?2@ z;}&bh7^C7Abux}|L%z0SRNRPjq!>3aw5O>R#BveTk2`y6yN@8pe+GK`zGRyX!? zc8#$|Zt*NpJq`TjZfo*W`f>4n4_5pJL@zPnTa0+|OrXVhJ<#{zbo;!3$9ECfmf7FV zC9~b%UISiuws}l!%{f>VwnyBF$R`5F@zF|A}3p(+cJ)0`rUu)YL$-uMkdv8o> z)^G5C)$(ocOvQgrd~#_2YW@c;AK$QLQ*WvduD`0u!8dmNc6NM`|5lJe2W?0;O%MSoVi|H=NrxqK8npG*2&hTsP03;+MRrLUJB zd2%W{n)eS)hhtFsXEgraVf(N@+D8;4`Hn(wE?pjSqt;wgw(~{3R#6M+`n$ewz~X$3 zTE~}Bd2xKGr(C)@AwR+%#2fvNV>c^l)qeZ_TMy52^tp`B3pmzGkGy^H*|qN4ml$ux zj=6oP`MC_|0iDqXV$1m==9}6&@fz_z|9C$}&O?+1rn zIF5Nj-ny{Wyj*0L=8i zu65>?x3Bn8%X=R(qp3@;Io8ZAZ(s4HmiInn#>EZ0T$i@U;}l zcC2@oy53wz#*?1LSNG$d1K^M2f$6;XKJs(vch^5mk?gbO>>qQ-%D(svb04^dEKhH& zxW*Y_zp>1V`n-=^`Rvhij>T)vcI4%fIx#2yj=OQ2yh~2|JLI_Ar*U$QZPbfR;E&_A zIce;*9a|-zOX|d&_}gd8Sr2o^$~L-2sdvZS^7O`vYjxbsi~1Z}uMw+Uc<1ZVo%Z*1 z^SQ$#u_w+MqaS(l!n-hy-{xq!i0DOb(~>*h@{foUzcIn#n~Ns7?YjqZ{k8ZFgbd$r zH05clWxaN!`tCd3-jj|sx}4`Pg?~qIJaZZT&6G9HL?rL^vlIMWQo62WMq+JsN0;<2 zI`|H+bH`eT%`S|7<^csCG z!}q;;`dsv9 zpsjDz!|rYSZ~fLq+#*?5EmteEt|*6p#6$Hk$vx;CSy%nO=-Rl)z4_qt+SzZsn^42% zql`n?c+PqjA0cORm>R~TTO oJ@?AFpK88Oi~6mwY4B;P^|UPVyDn>^8s{W7;zTX}FAW?13!LQ2Gynhq literal 0 HcmV?d00001 diff --git a/src/xenia/gpu/d3d12/shaders/dxbc/texture_load_dxt5a_r8_cs.h b/src/xenia/gpu/d3d12/shaders/dxbc/texture_load_dxt5a_r8_cs.h new file mode 100644 index 000000000..6025706f3 --- /dev/null +++ b/src/xenia/gpu/d3d12/shaders/dxbc/texture_load_dxt5a_r8_cs.h @@ -0,0 +1,969 @@ +// generated from `xb buildhlsl` +// source: texture_load_dxt5a_r8.cs.hlsl +const uint8_t texture_load_dxt5a_r8_cs[] = { + 0x44, 0x58, 0x42, 0x43, 0x7E, 0xEA, 0x07, 0x50, 0xA7, 0x74, 0xF3, 0x45, + 0xC5, 0xB0, 0x74, 0x8C, 0xBD, 0x1F, 0xFF, 0x02, 0x01, 0x00, 0x00, 0x00, + 0x38, 0x2D, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x34, 0x00, 0x00, 0x00, + 0x54, 0x04, 0x00, 0x00, 0x64, 0x04, 0x00, 0x00, 0x74, 0x04, 0x00, 0x00, + 0x9C, 0x2C, 0x00, 0x00, 0x52, 0x44, 0x45, 0x46, 0x18, 0x04, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0xF8, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, + 0x3C, 0x00, 0x00, 0x00, 0x01, 0x05, 0x53, 0x43, 0x00, 0x05, 0x00, 0x00, + 0xF0, 0x03, 0x00, 0x00, 0x13, 0x13, 0x44, 0x25, 0x3C, 0x00, 0x00, 0x00, + 0x18, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, + 0x24, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xB4, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xCB, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, + 0x06, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x78, 0x65, 0x5F, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x63, + 0x6F, 0x70, 0x79, 0x5F, 0x73, 0x6F, 0x75, 0x72, 0x63, 0x65, 0x00, 0x78, + 0x65, 0x5F, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x63, 0x6F, + 0x70, 0x79, 0x5F, 0x64, 0x65, 0x73, 0x74, 0x00, 0x58, 0x65, 0x54, 0x65, + 0x78, 0x74, 0x75, 0x72, 0x65, 0x43, 0x6F, 0x70, 0x79, 0x43, 0x6F, 0x6E, + 0x73, 0x74, 0x61, 0x6E, 0x74, 0x73, 0x00, 0xAB, 0xE0, 0x00, 0x00, 0x00, + 0x09, 0x00, 0x00, 0x00, 0x10, 0x01, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x78, 0x02, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, + 0x9C, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, + 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, + 0xC0, 0x02, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, + 0x02, 0x00, 0x00, 0x00, 0x9C, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, + 0x00, 0x00, 0x00, 0x00, 0xDC, 0x02, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, + 0x04, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x9C, 0x02, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, + 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xF6, 0x02, 0x00, 0x00, + 0x0C, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, + 0x9C, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, + 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, + 0x11, 0x03, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, + 0x02, 0x00, 0x00, 0x00, 0x34, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, + 0x00, 0x00, 0x00, 0x00, 0x58, 0x03, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x00, + 0x04, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x74, 0x03, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, + 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x98, 0x03, 0x00, 0x00, + 0x20, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, + 0x34, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, + 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, + 0xB4, 0x03, 0x00, 0x00, 0x2C, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, + 0x02, 0x00, 0x00, 0x00, 0x9C, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, + 0x00, 0x00, 0x00, 0x00, 0xCF, 0x03, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, + 0x0C, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x34, 0x03, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, + 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x78, 0x65, 0x5F, 0x74, + 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x63, 0x6F, 0x70, 0x79, 0x5F, + 0x67, 0x75, 0x65, 0x73, 0x74, 0x5F, 0x62, 0x61, 0x73, 0x65, 0x00, 0x64, + 0x77, 0x6F, 0x72, 0x64, 0x00, 0xAB, 0xAB, 0xAB, 0x00, 0x00, 0x13, 0x00, + 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x93, 0x02, 0x00, 0x00, 0x78, 0x65, 0x5F, 0x74, + 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x63, 0x6F, 0x70, 0x79, 0x5F, + 0x67, 0x75, 0x65, 0x73, 0x74, 0x5F, 0x70, 0x69, 0x74, 0x63, 0x68, 0x00, + 0x78, 0x65, 0x5F, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x63, + 0x6F, 0x70, 0x79, 0x5F, 0x68, 0x6F, 0x73, 0x74, 0x5F, 0x62, 0x61, 0x73, + 0x65, 0x00, 0x78, 0x65, 0x5F, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, + 0x5F, 0x63, 0x6F, 0x70, 0x79, 0x5F, 0x68, 0x6F, 0x73, 0x74, 0x5F, 0x70, + 0x69, 0x74, 0x63, 0x68, 0x00, 0x78, 0x65, 0x5F, 0x74, 0x65, 0x78, 0x74, + 0x75, 0x72, 0x65, 0x5F, 0x63, 0x6F, 0x70, 0x79, 0x5F, 0x73, 0x69, 0x7A, + 0x65, 0x5F, 0x74, 0x65, 0x78, 0x65, 0x6C, 0x73, 0x00, 0x75, 0x69, 0x6E, + 0x74, 0x33, 0x00, 0xAB, 0x01, 0x00, 0x13, 0x00, 0x01, 0x00, 0x03, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x2D, 0x03, 0x00, 0x00, 0x78, 0x65, 0x5F, 0x74, 0x65, 0x78, 0x74, 0x75, + 0x72, 0x65, 0x5F, 0x63, 0x6F, 0x70, 0x79, 0x5F, 0x69, 0x73, 0x5F, 0x33, + 0x64, 0x00, 0x62, 0x6F, 0x6F, 0x6C, 0x00, 0xAB, 0x00, 0x00, 0x01, 0x00, + 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x6E, 0x03, 0x00, 0x00, 0x78, 0x65, 0x5F, 0x74, + 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x63, 0x6F, 0x70, 0x79, 0x5F, + 0x73, 0x69, 0x7A, 0x65, 0x5F, 0x62, 0x6C, 0x6F, 0x63, 0x6B, 0x73, 0x00, + 0x78, 0x65, 0x5F, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5F, 0x63, + 0x6F, 0x70, 0x79, 0x5F, 0x65, 0x6E, 0x64, 0x69, 0x61, 0x6E, 0x6E, 0x65, + 0x73, 0x73, 0x00, 0x78, 0x65, 0x5F, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, + 0x65, 0x5F, 0x63, 0x6F, 0x70, 0x79, 0x5F, 0x67, 0x75, 0x65, 0x73, 0x74, + 0x5F, 0x6D, 0x69, 0x70, 0x5F, 0x6F, 0x66, 0x66, 0x73, 0x65, 0x74, 0x00, + 0x4D, 0x69, 0x63, 0x72, 0x6F, 0x73, 0x6F, 0x66, 0x74, 0x20, 0x28, 0x52, + 0x29, 0x20, 0x48, 0x4C, 0x53, 0x4C, 0x20, 0x53, 0x68, 0x61, 0x64, 0x65, + 0x72, 0x20, 0x43, 0x6F, 0x6D, 0x70, 0x69, 0x6C, 0x65, 0x72, 0x20, 0x31, + 0x30, 0x2E, 0x31, 0x00, 0x49, 0x53, 0x47, 0x4E, 0x08, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x4F, 0x53, 0x47, 0x4E, + 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, + 0x53, 0x48, 0x45, 0x58, 0x20, 0x28, 0x00, 0x00, 0x51, 0x00, 0x05, 0x00, + 0x08, 0x0A, 0x00, 0x00, 0x6A, 0x08, 0x00, 0x01, 0x59, 0x00, 0x00, 0x07, + 0x46, 0x8E, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xA1, 0x00, 0x00, 0x06, 0x46, 0x7E, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x9D, 0x00, 0x00, 0x06, 0x46, 0xEE, 0x31, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x5F, 0x00, 0x00, 0x02, 0x72, 0x00, 0x02, 0x00, 0x68, 0x00, 0x00, 0x02, + 0x12, 0x00, 0x00, 0x00, 0x9B, 0x00, 0x00, 0x04, 0x08, 0x00, 0x00, 0x00, + 0x20, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x06, + 0x12, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x02, 0x00, + 0x01, 0x40, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x36, 0x00, 0x00, 0x04, + 0x62, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x56, 0x06, 0x02, 0x00, + 0x50, 0x00, 0x00, 0x09, 0x72, 0x00, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x46, 0x02, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, 0x82, 0x30, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, + 0x3C, 0x00, 0x00, 0x07, 0x82, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x1A, 0x00, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x10, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x07, 0x82, 0x00, 0x10, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x2A, 0x00, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x3A, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1F, 0x00, 0x04, 0x03, + 0x3A, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x00, 0x00, 0x01, + 0x15, 0x00, 0x00, 0x01, 0x1E, 0x00, 0x00, 0x09, 0x72, 0x00, 0x10, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x46, 0x02, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x46, 0x82, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x03, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x09, 0x42, 0x00, 0x10, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x1A, 0x80, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x40, 0x00, 0x00, + 0xFF, 0xFF, 0xFF, 0xFF, 0x1F, 0x00, 0x04, 0x03, 0x2A, 0x00, 0x10, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x1F, 0x00, 0x04, 0x05, 0x3A, 0x80, 0x30, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x1E, 0x00, 0x00, 0x0A, 0xF2, 0x00, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, + 0x06, 0x00, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, + 0x03, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x0C, 0xC2, 0x00, 0x10, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x56, 0x81, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x00, + 0x1F, 0x00, 0x00, 0x00, 0x55, 0x00, 0x00, 0x0A, 0x72, 0x00, 0x10, 0x00, + 0x03, 0x00, 0x00, 0x00, 0x66, 0x09, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x02, 0x40, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, + 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x55, 0x00, 0x00, 0x0A, + 0xC2, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA6, 0x0E, 0x10, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x07, 0x42, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x2A, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x40, 0x00, 0x00, + 0xFE, 0xFF, 0xFF, 0x0F, 0x23, 0x00, 0x00, 0x09, 0x42, 0x00, 0x10, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, + 0x2A, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1A, 0x00, 0x10, 0x00, + 0x03, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x07, 0x82, 0x00, 0x10, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x2A, 0x00, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, + 0x0A, 0x00, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, 0x8C, 0x00, 0x00, 0x0B, + 0x12, 0x00, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, 0x01, 0x40, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x01, 0x40, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x3A, 0x00, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x40, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x55, 0x00, 0x00, 0x0A, 0xF2, 0x00, 0x10, 0x00, + 0x04, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, + 0x02, 0x40, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, + 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x07, + 0xF2, 0x00, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, 0x06, 0x00, 0x10, 0x00, + 0x03, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x00, + 0x8C, 0x00, 0x00, 0x14, 0xF2, 0x00, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, + 0x02, 0x40, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, + 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, + 0x02, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8C, 0x00, 0x00, 0x11, + 0xF2, 0x00, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xF6, 0x0F, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x03, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x07, 0x82, 0x00, 0x10, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x1A, 0x00, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x01, 0x40, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x07, + 0x82, 0x00, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x3A, 0x00, 0x10, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x01, 0x40, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, + 0x8C, 0x00, 0x00, 0x11, 0xF2, 0x00, 0x10, 0x00, 0x04, 0x00, 0x00, 0x00, + 0x02, 0x40, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, + 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, + 0x09, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, + 0x09, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, + 0xF6, 0x0F, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x55, 0x00, 0x00, 0x0A, + 0xF2, 0x00, 0x10, 0x00, 0x04, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x04, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, + 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, + 0x55, 0x00, 0x00, 0x0A, 0xF2, 0x00, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, + 0x05, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, + 0x05, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x09, 0xF2, 0x00, 0x10, 0x00, + 0x02, 0x00, 0x00, 0x00, 0xA6, 0x0A, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xF6, 0x0F, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x0A, 0xF2, 0x00, 0x10, 0x00, + 0x05, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x00, + 0x02, 0x40, 0x00, 0x00, 0xF0, 0x00, 0x00, 0x00, 0xF0, 0x00, 0x00, 0x00, + 0xF0, 0x00, 0x00, 0x00, 0xF0, 0x00, 0x00, 0x00, 0x8C, 0x00, 0x00, 0x14, + 0xF2, 0x00, 0x10, 0x00, 0x06, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, + 0x13, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, + 0x13, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, + 0x0B, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x0C, 0xF2, 0x00, 0x10, 0x00, + 0x06, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x05, 0x00, 0x00, 0x00, + 0x02, 0x40, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, + 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x06, 0x00, 0x00, 0x00, 0x8C, 0x00, 0x00, 0x11, 0xF2, 0x00, 0x10, 0x00, + 0x06, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, + 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, + 0x02, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x04, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x06, 0x00, 0x00, 0x00, + 0x8C, 0x00, 0x00, 0x11, 0xF2, 0x00, 0x10, 0x00, 0x06, 0x00, 0x00, 0x00, + 0x02, 0x40, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, + 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, + 0x09, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, + 0x09, 0x00, 0x00, 0x00, 0xA6, 0x0A, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x06, 0x00, 0x00, 0x00, 0x8C, 0x00, 0x00, 0x11, + 0xF2, 0x00, 0x10, 0x00, 0x07, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, + 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, + 0x56, 0x05, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x06, 0x00, 0x00, 0x00, 0x8A, 0x00, 0x00, 0x0F, 0xF2, 0x00, 0x10, 0x00, + 0x06, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, + 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, + 0x02, 0x40, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, + 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x06, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x0A, 0xF2, 0x00, 0x10, 0x00, + 0x08, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, + 0x02, 0x40, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, + 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x8C, 0x00, 0x00, 0x14, + 0xF2, 0x00, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, + 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x0C, 0xF2, 0x00, 0x10, 0x00, + 0x03, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x06, 0x00, 0x00, 0x00, + 0x02, 0x40, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, + 0x20, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x03, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x0C, 0xF2, 0x00, 0x10, 0x00, + 0x03, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x08, 0x00, 0x00, 0x00, + 0x02, 0x40, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, + 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x03, 0x00, 0x00, 0x00, 0x8C, 0x00, 0x00, 0x14, 0xF2, 0x00, 0x10, 0x00, + 0x02, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, + 0x13, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, + 0x02, 0x40, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, + 0x0E, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x02, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x23, 0x00, 0x00, 0x0C, 0xF2, 0x00, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x05, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, + 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, + 0x10, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, + 0x8C, 0x00, 0x00, 0x11, 0xF2, 0x00, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, + 0x02, 0x40, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, + 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, + 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, + 0x03, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x8C, 0x00, 0x00, 0x11, + 0xF2, 0x00, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, + 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, + 0x02, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, + 0x0C, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, + 0xA6, 0x0A, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x02, 0x00, 0x00, 0x00, 0x8C, 0x00, 0x00, 0x11, 0xF2, 0x00, 0x10, 0x00, + 0x02, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x02, 0x40, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, + 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x56, 0x05, 0x10, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, + 0x8C, 0x00, 0x00, 0x11, 0xF2, 0x00, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, + 0x02, 0x40, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, + 0x09, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, + 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, + 0x03, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x8C, 0x00, 0x00, 0x11, + 0xF2, 0x00, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, + 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, + 0x06, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x07, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x02, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x01, 0x1E, 0x00, 0x00, 0x0A, + 0xF2, 0x00, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, 0x06, 0x00, 0x10, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, + 0x55, 0x00, 0x00, 0x0A, 0xF2, 0x00, 0x10, 0x00, 0x04, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, + 0x05, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, + 0x05, 0x00, 0x00, 0x00, 0x55, 0x00, 0x00, 0x0A, 0xC2, 0x00, 0x10, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x56, 0x05, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x02, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x05, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x09, + 0x82, 0x00, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0A, 0x80, 0x30, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, + 0x01, 0x40, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x00, 0x55, 0x00, 0x00, 0x07, + 0x82, 0x00, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x3A, 0x00, 0x10, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x01, 0x40, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, + 0x23, 0x00, 0x00, 0x09, 0xF2, 0x00, 0x10, 0x00, 0x04, 0x00, 0x00, 0x00, + 0xA6, 0x0A, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF6, 0x0F, 0x10, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x00, + 0x29, 0x00, 0x00, 0x0A, 0x32, 0x00, 0x10, 0x00, 0x05, 0x00, 0x00, 0x00, + 0x56, 0x05, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, + 0x05, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x0A, 0x32, 0x00, 0x10, 0x00, + 0x05, 0x00, 0x00, 0x00, 0x46, 0x00, 0x10, 0x00, 0x05, 0x00, 0x00, 0x00, + 0x02, 0x40, 0x00, 0x00, 0xC0, 0x01, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8C, 0x00, 0x00, 0x11, + 0xF2, 0x00, 0x10, 0x00, 0x06, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, + 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, + 0x03, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, + 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, 0x06, 0x00, 0x10, 0x00, + 0x05, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x07, 0x42, 0x00, 0x10, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x10, 0x00, 0x05, 0x00, 0x00, 0x00, + 0x01, 0x40, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x8C, 0x00, 0x00, 0x11, + 0xF2, 0x00, 0x10, 0x00, 0x07, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, + 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, + 0x03, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, + 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, 0xA6, 0x0A, 0x10, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x0A, 0xF2, 0x00, 0x10, 0x00, + 0x07, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x07, 0x00, 0x00, 0x00, + 0x02, 0x40, 0x00, 0x00, 0xE0, 0x03, 0x00, 0x00, 0xE0, 0x03, 0x00, 0x00, + 0xE0, 0x03, 0x00, 0x00, 0xE0, 0x03, 0x00, 0x00, 0x8C, 0x00, 0x00, 0x11, + 0xF2, 0x00, 0x10, 0x00, 0x08, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, + 0x16, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, + 0x16, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, + 0x0A, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x07, 0x00, 0x00, 0x00, 0x8C, 0x00, 0x00, 0x11, 0xF2, 0x00, 0x10, 0x00, + 0x08, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, + 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, + 0x02, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x06, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x08, 0x00, 0x00, 0x00, + 0x8C, 0x00, 0x00, 0x11, 0xF2, 0x00, 0x10, 0x00, 0x08, 0x00, 0x00, 0x00, + 0x02, 0x40, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, + 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, + 0x04, 0x00, 0x00, 0x00, 0x56, 0x05, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x08, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x0A, + 0xF2, 0x00, 0x10, 0x00, 0x09, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x07, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, + 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, + 0x8C, 0x00, 0x00, 0x11, 0xF2, 0x00, 0x10, 0x00, 0x09, 0x00, 0x00, 0x00, + 0x02, 0x40, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, + 0x16, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, + 0x0D, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, + 0x0D, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x09, 0x00, 0x00, 0x00, 0x8C, 0x00, 0x00, 0x11, + 0xF2, 0x00, 0x10, 0x00, 0x09, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, + 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, + 0x04, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, + 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x06, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x09, 0x00, 0x00, 0x00, 0x8C, 0x00, 0x00, 0x11, 0xF2, 0x00, 0x10, 0x00, + 0x09, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x02, 0x40, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, + 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x56, 0x05, 0x10, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x09, 0x00, 0x00, 0x00, + 0x8C, 0x00, 0x00, 0x11, 0xF2, 0x00, 0x10, 0x00, 0x05, 0x00, 0x00, 0x00, + 0x02, 0x40, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, + 0x0C, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x56, 0x05, 0x10, 0x00, 0x05, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x09, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x0A, + 0xF2, 0x00, 0x10, 0x00, 0x07, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x07, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, + 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, + 0x8C, 0x00, 0x00, 0x11, 0xF2, 0x00, 0x10, 0x00, 0x04, 0x00, 0x00, 0x00, + 0x02, 0x40, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, + 0x16, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, + 0x0C, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, + 0x0C, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x07, 0x00, 0x00, 0x00, 0x8C, 0x00, 0x00, 0x11, + 0xF2, 0x00, 0x10, 0x00, 0x04, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, + 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, + 0x04, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, + 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x06, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x04, 0x00, 0x00, 0x00, 0x8C, 0x00, 0x00, 0x11, 0xF2, 0x00, 0x10, 0x00, + 0x04, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x02, 0x40, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, + 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x56, 0x05, 0x10, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x0A, 0xF2, 0x00, 0x10, 0x00, 0x04, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, + 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, + 0x00, 0x07, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x07, 0xF2, 0x00, 0x10, 0x00, + 0x04, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x05, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x00, 0x55, 0x00, 0x00, 0x0A, + 0xF2, 0x00, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x03, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, + 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x07, 0x42, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3A, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x40, 0x00, 0x00, + 0x02, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x07, 0xF2, 0x00, 0x10, 0x00, + 0x03, 0x00, 0x00, 0x00, 0xA6, 0x0A, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, 0x8C, 0x00, 0x00, 0x14, + 0xF2, 0x00, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, + 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, + 0x02, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, + 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x07, 0xF2, 0x00, 0x10, 0x00, + 0x03, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, 0x8C, 0x00, 0x00, 0x11, + 0xF2, 0x00, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, + 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, + 0x06, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x08, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x03, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x01, 0x12, 0x00, 0x00, 0x01, + 0x29, 0x00, 0x00, 0x07, 0x42, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x0A, 0x00, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x40, 0x00, 0x00, + 0x03, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x09, 0x82, 0x00, 0x10, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x1A, 0x80, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x40, 0x00, 0x00, + 0x1F, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x07, 0x82, 0x00, 0x10, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3A, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x40, 0x00, 0x00, 0xE0, 0xFF, 0xFF, 0xFF, 0x23, 0x00, 0x00, 0x09, + 0x82, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2A, 0x00, 0x10, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x3A, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x1A, 0x00, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x0B, + 0x42, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3A, 0x00, 0x10, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x1A, 0x80, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2A, 0x00, 0x10, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x0A, 0xF2, 0x00, 0x10, 0x00, + 0x02, 0x00, 0x00, 0x00, 0xA6, 0x0A, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x02, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, + 0x10, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x01, + 0x1E, 0x00, 0x00, 0x09, 0xF2, 0x00, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x06, 0x80, 0x30, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xA5, 0x00, 0x00, 0x08, 0x52, 0x00, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, + 0x0A, 0x00, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x16, 0x70, 0x20, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA5, 0x00, 0x00, 0x08, + 0xA2, 0x00, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x1A, 0x00, 0x10, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x46, 0x70, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xA5, 0x00, 0x00, 0x08, 0x32, 0x00, 0x10, 0x00, + 0x03, 0x00, 0x00, 0x00, 0x2A, 0x00, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x46, 0x70, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xA5, 0x00, 0x00, 0x08, 0xC2, 0x00, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, + 0x3A, 0x00, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x06, 0x74, 0x20, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x55, 0x00, 0x00, 0x09, + 0x42, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3A, 0x80, 0x30, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, + 0x01, 0x40, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x57, 0x00, 0x00, 0x09, + 0x42, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2A, 0x00, 0x10, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3A, 0x80, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x07, + 0x42, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2A, 0x00, 0x10, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x40, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x1F, 0x00, 0x04, 0x03, 0x2A, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x29, 0x00, 0x00, 0x0A, 0xF2, 0x00, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x26, 0x07, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, + 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, + 0x08, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x0A, 0xF2, 0x00, 0x10, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x02, 0x40, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, + 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x55, 0x00, 0x00, 0x0A, + 0xF2, 0x00, 0x10, 0x00, 0x04, 0x00, 0x00, 0x00, 0x26, 0x07, 0x10, 0x00, + 0x02, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, + 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x0A, 0xF2, 0x00, 0x10, 0x00, 0x04, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, + 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, + 0xFF, 0x00, 0xFF, 0x00, 0x1E, 0x00, 0x00, 0x07, 0xF2, 0x00, 0x10, 0x00, + 0x02, 0x00, 0x00, 0x00, 0xD6, 0x08, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, + 0xD6, 0x08, 0x10, 0x00, 0x04, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x01, + 0x01, 0x00, 0x00, 0x09, 0x82, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3A, 0x80, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x02, 0x00, 0x00, 0x00, 0x01, 0x40, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, + 0x1F, 0x00, 0x04, 0x03, 0x3A, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x55, 0x00, 0x00, 0x0A, 0xF2, 0x00, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x26, 0x07, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, + 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, + 0x10, 0x00, 0x00, 0x00, 0x8C, 0x00, 0x00, 0x11, 0xF2, 0x00, 0x10, 0x00, + 0x02, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, + 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, + 0x02, 0x40, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, + 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x02, 0x00, 0x00, 0x00, 0xD6, 0x08, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x36, 0x00, 0x00, 0x05, 0x32, 0x00, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, + 0xE6, 0x0A, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x01, + 0x36, 0x00, 0x00, 0x05, 0x32, 0x00, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, + 0xE6, 0x0A, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x01, + 0x1F, 0x00, 0x04, 0x03, 0x2A, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x29, 0x00, 0x00, 0x0A, 0xF2, 0x00, 0x10, 0x00, 0x04, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, + 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, + 0x08, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x0A, 0xF2, 0x00, 0x10, 0x00, + 0x04, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x00, + 0x02, 0x40, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, + 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x55, 0x00, 0x00, 0x0A, + 0xF2, 0x00, 0x10, 0x00, 0x05, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x03, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, + 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x0A, 0xF2, 0x00, 0x10, 0x00, 0x05, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x05, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, + 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, + 0xFF, 0x00, 0xFF, 0x00, 0x1E, 0x00, 0x00, 0x07, 0xF2, 0x00, 0x10, 0x00, + 0x03, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x05, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x01, + 0x1F, 0x00, 0x04, 0x03, 0x3A, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x55, 0x00, 0x00, 0x0A, 0xF2, 0x00, 0x10, 0x00, 0x04, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, + 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, + 0x10, 0x00, 0x00, 0x00, 0x8C, 0x00, 0x00, 0x11, 0xF2, 0x00, 0x10, 0x00, + 0x04, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, + 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, + 0x02, 0x40, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, + 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x03, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x00, + 0x36, 0x00, 0x00, 0x05, 0xC2, 0x00, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x06, 0x08, 0x10, 0x00, 0x04, 0x00, 0x00, 0x00, 0x36, 0x00, 0x00, 0x05, + 0xC2, 0x00, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x56, 0x0D, 0x10, 0x00, + 0x04, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x01, 0x36, 0x00, 0x00, 0x05, + 0xC2, 0x00, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x06, 0x08, 0x10, 0x00, + 0x03, 0x00, 0x00, 0x00, 0x36, 0x00, 0x00, 0x05, 0xC2, 0x00, 0x10, 0x00, + 0x02, 0x00, 0x00, 0x00, 0x56, 0x0D, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, + 0x15, 0x00, 0x00, 0x01, 0x55, 0x00, 0x00, 0x0A, 0xF2, 0x00, 0x10, 0x00, + 0x03, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x02, 0x40, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, + 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x8C, 0x00, 0x00, 0x14, + 0xF2, 0x00, 0x10, 0x00, 0x04, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, + 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, + 0x08, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, + 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x07, 0xF2, 0x00, 0x10, 0x00, + 0x03, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x00, 0x55, 0x00, 0x00, 0x0A, + 0xF2, 0x00, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x02, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, + 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x0A, 0xF2, 0x00, 0x10, 0x00, 0x04, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, + 0x49, 0x92, 0x24, 0x00, 0x49, 0x92, 0x24, 0x00, 0x49, 0x92, 0x24, 0x00, + 0x49, 0x92, 0x24, 0x00, 0x55, 0x00, 0x00, 0x0A, 0xF2, 0x00, 0x10, 0x00, + 0x05, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, + 0x02, 0x40, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x0A, + 0xF2, 0x00, 0x10, 0x00, 0x06, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x05, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x49, 0x92, 0x24, 0x00, + 0x49, 0x92, 0x24, 0x00, 0x49, 0x92, 0x24, 0x00, 0x49, 0x92, 0x24, 0x00, + 0x3C, 0x00, 0x00, 0x07, 0xF2, 0x00, 0x10, 0x00, 0x07, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x05, 0x00, 0x00, 0x00, 0x55, 0x00, 0x00, 0x0A, 0xF2, 0x00, 0x10, 0x00, + 0x08, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, + 0x02, 0x40, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, + 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x0A, + 0xF2, 0x00, 0x10, 0x00, 0x09, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x08, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x49, 0x92, 0x24, 0x00, + 0x49, 0x92, 0x24, 0x00, 0x49, 0x92, 0x24, 0x00, 0x49, 0x92, 0x24, 0x00, + 0x3C, 0x00, 0x00, 0x07, 0xF2, 0x00, 0x10, 0x00, 0x07, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x07, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x08, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x0A, 0xF2, 0x00, 0x10, 0x00, + 0x07, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x07, 0x00, 0x00, 0x00, + 0x02, 0x40, 0x00, 0x00, 0x49, 0x92, 0x24, 0x00, 0x49, 0x92, 0x24, 0x00, + 0x49, 0x92, 0x24, 0x00, 0x49, 0x92, 0x24, 0x00, 0x57, 0x00, 0x00, 0x0A, + 0xF2, 0x00, 0x10, 0x00, 0x07, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x07, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x49, 0x92, 0x24, 0x00, + 0x49, 0x92, 0x24, 0x00, 0x49, 0x92, 0x24, 0x00, 0x49, 0x92, 0x24, 0x00, + 0x3B, 0x00, 0x00, 0x05, 0xF2, 0x00, 0x10, 0x00, 0x06, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x06, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x07, + 0xF2, 0x00, 0x10, 0x00, 0x06, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x04, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x06, 0x00, 0x00, 0x00, + 0x3B, 0x00, 0x00, 0x05, 0xF2, 0x00, 0x10, 0x00, 0x08, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x09, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x07, + 0xF2, 0x00, 0x10, 0x00, 0x06, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x06, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x08, 0x00, 0x00, 0x00, + 0x3C, 0x00, 0x00, 0x07, 0xF2, 0x00, 0x10, 0x00, 0x07, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x07, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x0A, 0xF2, 0x00, 0x10, 0x00, + 0x07, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x07, 0x00, 0x00, 0x00, + 0x02, 0x40, 0x00, 0x00, 0xB7, 0x6D, 0xDB, 0xFF, 0xB7, 0x6D, 0xDB, 0xFF, + 0xB7, 0x6D, 0xDB, 0xFF, 0xB7, 0x6D, 0xDB, 0xFF, 0x3C, 0x00, 0x00, 0x07, + 0xF2, 0x00, 0x10, 0x00, 0x07, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x06, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x07, 0x00, 0x00, 0x00, + 0x29, 0x00, 0x00, 0x0A, 0xF2, 0x00, 0x10, 0x00, 0x08, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x06, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x07, 0xF2, 0x00, 0x10, 0x00, + 0x08, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x07, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x08, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x0A, + 0xF2, 0x00, 0x10, 0x00, 0x06, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x06, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, + 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, + 0x3C, 0x00, 0x00, 0x07, 0xF2, 0x00, 0x10, 0x00, 0x08, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x06, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x08, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x0A, 0xF2, 0x00, 0x10, 0x00, + 0x09, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, + 0x02, 0x40, 0x00, 0x00, 0x49, 0x92, 0x24, 0x00, 0x49, 0x92, 0x24, 0x00, + 0x49, 0x92, 0x24, 0x00, 0x49, 0x92, 0x24, 0x00, 0x55, 0x00, 0x00, 0x0A, + 0xF2, 0x00, 0x10, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x02, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x0A, 0xF2, 0x00, 0x10, 0x00, 0x0B, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, + 0x49, 0x92, 0x24, 0x00, 0x49, 0x92, 0x24, 0x00, 0x49, 0x92, 0x24, 0x00, + 0x49, 0x92, 0x24, 0x00, 0x3C, 0x00, 0x00, 0x07, 0xF2, 0x00, 0x10, 0x00, + 0x0C, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x55, 0x00, 0x00, 0x0A, + 0xF2, 0x00, 0x10, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x02, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, + 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x0A, 0xF2, 0x00, 0x10, 0x00, 0x0E, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, + 0x49, 0x92, 0x24, 0x00, 0x49, 0x92, 0x24, 0x00, 0x49, 0x92, 0x24, 0x00, + 0x49, 0x92, 0x24, 0x00, 0x3C, 0x00, 0x00, 0x07, 0xF2, 0x00, 0x10, 0x00, + 0x0C, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x0C, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x0A, + 0xF2, 0x00, 0x10, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x0C, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x49, 0x92, 0x24, 0x00, + 0x49, 0x92, 0x24, 0x00, 0x49, 0x92, 0x24, 0x00, 0x49, 0x92, 0x24, 0x00, + 0x57, 0x00, 0x00, 0x0A, 0xF2, 0x00, 0x10, 0x00, 0x0C, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, + 0x49, 0x92, 0x24, 0x00, 0x49, 0x92, 0x24, 0x00, 0x49, 0x92, 0x24, 0x00, + 0x49, 0x92, 0x24, 0x00, 0x3B, 0x00, 0x00, 0x05, 0xF2, 0x00, 0x10, 0x00, + 0x0B, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x0B, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x07, 0xF2, 0x00, 0x10, 0x00, 0x0B, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x09, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x0B, 0x00, 0x00, 0x00, 0x3B, 0x00, 0x00, 0x05, 0xF2, 0x00, 0x10, 0x00, + 0x0D, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x0E, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x07, 0xF2, 0x00, 0x10, 0x00, 0x0B, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x0D, 0x00, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x07, 0xF2, 0x00, 0x10, 0x00, + 0x0C, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x0A, + 0xF2, 0x00, 0x10, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x0C, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0xB7, 0x6D, 0xDB, 0xFF, + 0xB7, 0x6D, 0xDB, 0xFF, 0xB7, 0x6D, 0xDB, 0xFF, 0xB7, 0x6D, 0xDB, 0xFF, + 0x3C, 0x00, 0x00, 0x07, 0xF2, 0x00, 0x10, 0x00, 0x0C, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x0C, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x0A, 0xF2, 0x00, 0x10, 0x00, + 0x0D, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x0B, 0x00, 0x00, 0x00, + 0x02, 0x40, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x07, + 0xF2, 0x00, 0x10, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x0C, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x0D, 0x00, 0x00, 0x00, + 0x29, 0x00, 0x00, 0x0A, 0xF2, 0x00, 0x10, 0x00, 0x0B, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, + 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, + 0x02, 0x00, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x07, 0xF2, 0x00, 0x10, 0x00, + 0x0D, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x0B, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x07, + 0xF2, 0x00, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x03, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x05, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x0A, 0xF2, 0x00, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, + 0x92, 0x24, 0x49, 0x00, 0x92, 0x24, 0x49, 0x00, 0x92, 0x24, 0x49, 0x00, + 0x92, 0x24, 0x49, 0x00, 0x29, 0x00, 0x00, 0x0A, 0xF2, 0x00, 0x10, 0x00, + 0x05, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, + 0x02, 0x40, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x55, 0x00, 0x00, 0x0A, + 0xF2, 0x00, 0x10, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x03, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x1E, 0x00, 0x00, 0x07, 0xF2, 0x00, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x05, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x07, 0xF2, 0x00, 0x10, 0x00, + 0x03, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x0A, + 0xF2, 0x00, 0x10, 0x00, 0x04, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x04, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0xB6, 0x6D, 0xDB, 0x00, + 0xB6, 0x6D, 0xDB, 0x00, 0xB6, 0x6D, 0xDB, 0x00, 0xB6, 0x6D, 0xDB, 0x00, + 0x01, 0x00, 0x00, 0x07, 0xF2, 0x00, 0x10, 0x00, 0x04, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x04, 0x00, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x07, 0xF2, 0x00, 0x10, 0x00, + 0x05, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x06, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x07, 0x00, 0x00, 0x00, 0x3B, 0x00, 0x00, 0x05, + 0xF2, 0x00, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x07, 0xF2, 0x00, 0x10, 0x00, + 0x03, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x05, 0x00, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x07, + 0xF2, 0x00, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x04, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x03, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x07, 0xF2, 0x00, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x0A, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x0A, 0xF2, 0x00, 0x10, 0x00, + 0x02, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, + 0x02, 0x40, 0x00, 0x00, 0x92, 0x24, 0x49, 0x00, 0x92, 0x24, 0x49, 0x00, + 0x92, 0x24, 0x49, 0x00, 0x92, 0x24, 0x49, 0x00, 0x29, 0x00, 0x00, 0x0A, + 0xF2, 0x00, 0x10, 0x00, 0x04, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x02, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x55, 0x00, 0x00, 0x0A, 0xF2, 0x00, 0x10, 0x00, 0x05, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x07, 0xF2, 0x00, 0x10, 0x00, + 0x02, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x07, + 0xF2, 0x00, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x02, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x05, 0x00, 0x00, 0x00, + 0x1E, 0x00, 0x00, 0x0A, 0xF2, 0x00, 0x10, 0x00, 0x04, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x09, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, + 0xB6, 0x6D, 0xDB, 0x00, 0xB6, 0x6D, 0xDB, 0x00, 0xB6, 0x6D, 0xDB, 0x00, + 0xB6, 0x6D, 0xDB, 0x00, 0x01, 0x00, 0x00, 0x07, 0xF2, 0x00, 0x10, 0x00, + 0x04, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x07, + 0xF2, 0x00, 0x10, 0x00, 0x05, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x0B, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x0C, 0x00, 0x00, 0x00, + 0x3B, 0x00, 0x00, 0x05, 0xF2, 0x00, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x07, + 0xF2, 0x00, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x02, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x05, 0x00, 0x00, 0x00, + 0x3C, 0x00, 0x00, 0x07, 0xF2, 0x00, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x0A, 0xF2, 0x00, 0x10, 0x00, + 0x04, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x02, 0x40, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, + 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x8A, 0x00, 0x00, 0x0F, + 0xF2, 0x00, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, + 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, + 0x08, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, + 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x0A, + 0x32, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, 0x00, 0x10, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, + 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x23, 0x00, 0x00, 0x0A, 0x42, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x2A, 0x00, 0x02, 0x00, 0x1A, 0x80, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x1A, 0x00, 0x10, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x0B, 0x12, 0x00, 0x10, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x2A, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3A, 0x80, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x1E, 0x00, 0x00, 0x09, 0x12, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x0A, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2A, 0x80, 0x30, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x50, 0x00, 0x00, 0x07, 0xF2, 0x00, 0x10, 0x00, 0x05, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x04, 0x00, 0x00, 0x00, 0x37, 0x00, 0x00, 0x0F, 0xF2, 0x00, 0x10, 0x00, + 0x06, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x05, 0x00, 0x00, 0x00, + 0x02, 0x40, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, + 0x05, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, + 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, + 0x07, 0x00, 0x00, 0x00, 0x37, 0x00, 0x00, 0x0F, 0xF2, 0x00, 0x10, 0x00, + 0x07, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x05, 0x00, 0x00, 0x00, + 0x02, 0x40, 0x00, 0x00, 0x6D, 0x0B, 0x00, 0x00, 0x6D, 0x0B, 0x00, 0x00, + 0x6D, 0x0B, 0x00, 0x00, 0x6D, 0x0B, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, + 0xFF, 0x0F, 0x00, 0x00, 0xFF, 0x0F, 0x00, 0x00, 0xFF, 0x0F, 0x00, 0x00, + 0xFF, 0x0F, 0x00, 0x00, 0x36, 0x00, 0x00, 0x07, 0x42, 0x00, 0x10, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x1A, 0x80, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x36, 0x00, 0x00, 0x05, + 0x82, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1A, 0x00, 0x10, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x36, 0x00, 0x00, 0x05, 0x12, 0x00, 0x10, 0x00, + 0x09, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x36, 0x00, 0x00, 0x05, 0x22, 0x00, 0x10, 0x00, 0x09, 0x00, 0x00, 0x00, + 0x01, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x01, + 0x50, 0x00, 0x00, 0x07, 0x42, 0x00, 0x10, 0x00, 0x09, 0x00, 0x00, 0x00, + 0x1A, 0x00, 0x10, 0x00, 0x09, 0x00, 0x00, 0x00, 0x01, 0x40, 0x00, 0x00, + 0x04, 0x00, 0x00, 0x00, 0x03, 0x00, 0x04, 0x03, 0x2A, 0x00, 0x10, 0x00, + 0x09, 0x00, 0x00, 0x00, 0x4F, 0x00, 0x00, 0x07, 0x42, 0x00, 0x10, 0x00, + 0x09, 0x00, 0x00, 0x00, 0x1A, 0x00, 0x10, 0x00, 0x09, 0x00, 0x00, 0x00, + 0x01, 0x40, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x37, 0x00, 0x00, 0x09, + 0xF2, 0x00, 0x10, 0x00, 0x0A, 0x00, 0x00, 0x00, 0xA6, 0x0A, 0x10, 0x00, + 0x09, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x08, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x07, + 0x82, 0x00, 0x10, 0x00, 0x09, 0x00, 0x00, 0x00, 0x1A, 0x00, 0x10, 0x00, + 0x09, 0x00, 0x00, 0x00, 0x01, 0x40, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x26, 0x00, 0x00, 0x08, 0x00, 0xD0, 0x00, 0x00, 0x82, 0x00, 0x10, 0x00, + 0x09, 0x00, 0x00, 0x00, 0x3A, 0x00, 0x10, 0x00, 0x09, 0x00, 0x00, 0x00, + 0x01, 0x40, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x55, 0x00, 0x00, 0x07, + 0xF2, 0x00, 0x10, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x0A, 0x00, 0x00, 0x00, 0xF6, 0x0F, 0x10, 0x00, 0x09, 0x00, 0x00, 0x00, + 0x37, 0x00, 0x00, 0x09, 0xF2, 0x00, 0x10, 0x00, 0x0B, 0x00, 0x00, 0x00, + 0xA6, 0x0A, 0x10, 0x00, 0x09, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x03, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, + 0x55, 0x00, 0x00, 0x07, 0xF2, 0x00, 0x10, 0x00, 0x0B, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x0B, 0x00, 0x00, 0x00, 0xF6, 0x0F, 0x10, 0x00, + 0x09, 0x00, 0x00, 0x00, 0x37, 0x00, 0x00, 0x09, 0xF2, 0x00, 0x10, 0x00, + 0x0A, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x05, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x0A, 0x00, 0x00, 0x00, 0x55, 0x00, 0x00, 0x0A, 0xF2, 0x00, 0x10, 0x00, + 0x0C, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x0B, 0x00, 0x00, 0x00, + 0x02, 0x40, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x07, + 0xF2, 0x00, 0x10, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x0B, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x0C, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x07, 0xF2, 0x00, 0x10, 0x00, 0x0C, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x05, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x0C, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x0A, 0xF2, 0x00, 0x10, 0x00, + 0x0C, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x0C, 0x00, 0x00, 0x00, + 0x02, 0x40, 0x00, 0x00, 0x92, 0x04, 0x00, 0x00, 0x92, 0x04, 0x00, 0x00, + 0x92, 0x04, 0x00, 0x00, 0x92, 0x04, 0x00, 0x00, 0x29, 0x00, 0x00, 0x0A, + 0xF2, 0x00, 0x10, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x0C, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x55, 0x00, 0x00, 0x0A, 0xF2, 0x00, 0x10, 0x00, 0x0F, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x07, 0xF2, 0x00, 0x10, 0x00, + 0x0C, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x0C, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x07, + 0xF2, 0x00, 0x10, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x0C, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x0F, 0x00, 0x00, 0x00, + 0x3B, 0x00, 0x00, 0x05, 0xF2, 0x00, 0x10, 0x00, 0x0E, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x07, + 0xF2, 0x00, 0x10, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x0A, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x0E, 0x00, 0x00, 0x00, + 0x1E, 0x00, 0x00, 0x08, 0xF2, 0x00, 0x10, 0x00, 0x0F, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x07, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x80, + 0x41, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x07, + 0xF2, 0x00, 0x10, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x0E, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x0F, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x0A, 0xF2, 0x00, 0x10, 0x00, 0x0F, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, + 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, + 0x07, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x0A, 0xF2, 0x00, 0x10, 0x00, + 0x10, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x0A, 0x00, 0x00, 0x00, + 0x02, 0x40, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, + 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x26, 0x00, 0x00, 0x08, + 0x00, 0xD0, 0x00, 0x00, 0xF2, 0x00, 0x10, 0x00, 0x10, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x10, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x09, 0xF2, 0x00, 0x10, 0x00, + 0x0F, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x04, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x10, 0x00, 0x00, 0x00, 0x4E, 0x00, 0x00, 0x08, 0xF2, 0x00, 0x10, 0x00, + 0x0F, 0x00, 0x00, 0x00, 0x00, 0xD0, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x0F, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x06, 0x00, 0x00, 0x00, + 0x8A, 0x00, 0x00, 0x0F, 0xF2, 0x00, 0x10, 0x00, 0x10, 0x00, 0x00, 0x00, + 0x02, 0x40, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, + 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, + 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, + 0x03, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x0E, 0x00, 0x00, 0x00, + 0x8A, 0x00, 0x00, 0x0F, 0xF2, 0x00, 0x10, 0x00, 0x11, 0x00, 0x00, 0x00, + 0x02, 0x40, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, + 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, + 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, + 0x03, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x0A, 0x00, 0x00, 0x00, + 0x26, 0x00, 0x00, 0x08, 0x00, 0xD0, 0x00, 0x00, 0xF2, 0x00, 0x10, 0x00, + 0x11, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x11, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x09, + 0xF2, 0x00, 0x10, 0x00, 0x10, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x04, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x10, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x11, 0x00, 0x00, 0x00, 0x4E, 0x00, 0x00, 0x08, + 0xF2, 0x00, 0x10, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0xD0, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x10, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x06, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x0A, 0xF2, 0x00, 0x10, 0x00, + 0x10, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x10, 0x00, 0x00, 0x00, + 0x02, 0x40, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, + 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x07, + 0xF2, 0x00, 0x10, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x0F, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x10, 0x00, 0x00, 0x00, + 0x8A, 0x00, 0x00, 0x0F, 0xF2, 0x00, 0x10, 0x00, 0x10, 0x00, 0x00, 0x00, + 0x02, 0x40, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, + 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, + 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, + 0x06, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x0E, 0x00, 0x00, 0x00, + 0x8A, 0x00, 0x00, 0x0F, 0xF2, 0x00, 0x10, 0x00, 0x11, 0x00, 0x00, 0x00, + 0x02, 0x40, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, + 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, + 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, + 0x06, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x0A, 0x00, 0x00, 0x00, + 0x26, 0x00, 0x00, 0x08, 0x00, 0xD0, 0x00, 0x00, 0xF2, 0x00, 0x10, 0x00, + 0x11, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x11, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x09, + 0xF2, 0x00, 0x10, 0x00, 0x10, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x04, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x10, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x11, 0x00, 0x00, 0x00, 0x4E, 0x00, 0x00, 0x08, + 0xF2, 0x00, 0x10, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0xD0, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x10, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x06, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x0A, 0xF2, 0x00, 0x10, 0x00, + 0x10, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x10, 0x00, 0x00, 0x00, + 0x02, 0x40, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, + 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x07, + 0xF2, 0x00, 0x10, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x0F, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x10, 0x00, 0x00, 0x00, + 0x8A, 0x00, 0x00, 0x0F, 0xF2, 0x00, 0x10, 0x00, 0x0E, 0x00, 0x00, 0x00, + 0x02, 0x40, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, + 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, + 0x09, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, + 0x09, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x0E, 0x00, 0x00, 0x00, + 0x8A, 0x00, 0x00, 0x0F, 0xF2, 0x00, 0x10, 0x00, 0x0A, 0x00, 0x00, 0x00, + 0x02, 0x40, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, + 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, + 0x09, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, + 0x09, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x0A, 0x00, 0x00, 0x00, + 0x26, 0x00, 0x00, 0x08, 0x00, 0xD0, 0x00, 0x00, 0xF2, 0x00, 0x10, 0x00, + 0x0A, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x09, + 0xF2, 0x00, 0x10, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x04, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x0E, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x4E, 0x00, 0x00, 0x08, + 0xF2, 0x00, 0x10, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x00, 0xD0, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x06, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x0A, 0xF2, 0x00, 0x10, 0x00, + 0x0A, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x0A, 0x00, 0x00, 0x00, + 0x02, 0x40, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, + 0x18, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x07, + 0xF2, 0x00, 0x10, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x0A, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x0F, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x07, 0xF2, 0x00, 0x10, 0x00, 0x0B, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x0C, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x0A, 0xF2, 0x00, 0x10, 0x00, + 0x0C, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x0B, 0x00, 0x00, 0x00, + 0x02, 0x40, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, + 0x05, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x0A, + 0xF2, 0x00, 0x10, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x0C, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, + 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, + 0x8C, 0x00, 0x00, 0x11, 0xF2, 0x00, 0x10, 0x00, 0x0C, 0x00, 0x00, 0x00, + 0x02, 0x40, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x0B, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x0A, + 0xF2, 0x00, 0x10, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x0B, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, + 0x0A, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x0A, 0xF2, 0x00, 0x10, 0x00, 0x0E, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, + 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, + 0x00, 0x00, 0x01, 0x00, 0x1E, 0x00, 0x00, 0x07, 0xF2, 0x00, 0x10, 0x00, + 0x0C, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x0C, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x0A, + 0xF2, 0x00, 0x10, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x0B, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, + 0x0F, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x0A, 0xF2, 0x00, 0x10, 0x00, 0x0B, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, + 0x00, 0x00, 0x00, 0x01, 0x1E, 0x00, 0x00, 0x07, 0xF2, 0x00, 0x10, 0x00, + 0x0B, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, 0x0B, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x0C, + 0xF2, 0x00, 0x10, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x0B, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, + 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, + 0x46, 0x0E, 0x10, 0x00, 0x0A, 0x00, 0x00, 0x00, 0xA6, 0x00, 0x00, 0x08, + 0xF2, 0xE0, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x0A, 0x00, 0x10, 0x00, 0x09, 0x00, 0x00, 0x00, 0x46, 0x0E, 0x10, 0x00, + 0x0A, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x07, 0x82, 0x00, 0x10, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3A, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x40, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x07, + 0x42, 0x00, 0x10, 0x00, 0x09, 0x00, 0x00, 0x00, 0x3A, 0x00, 0x10, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x2A, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x1F, 0x00, 0x04, 0x03, 0x2A, 0x00, 0x10, 0x00, 0x09, 0x00, 0x00, 0x00, + 0x3E, 0x00, 0x00, 0x01, 0x15, 0x00, 0x00, 0x01, 0x1E, 0x00, 0x00, 0x09, + 0x12, 0x00, 0x10, 0x00, 0x09, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x10, 0x00, + 0x09, 0x00, 0x00, 0x00, 0x3A, 0x80, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x07, + 0x22, 0x00, 0x10, 0x00, 0x09, 0x00, 0x00, 0x00, 0x1A, 0x00, 0x10, 0x00, + 0x09, 0x00, 0x00, 0x00, 0x01, 0x40, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x16, 0x00, 0x00, 0x01, 0x3E, 0x00, 0x00, 0x01, 0x53, 0x54, 0x41, 0x54, + 0x94, 0x00, 0x00, 0x00, 0x18, 0x01, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x4E, 0x00, 0x00, 0x00, 0x72, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, + 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, + 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, +}; diff --git a/src/xenia/gpu/d3d12/shaders/dxbc/texture_load_dxt5a_r8_cs.txt b/src/xenia/gpu/d3d12/shaders/dxbc/texture_load_dxt5a_r8_cs.txt new file mode 100644 index 000000000..28e861cff --- /dev/null +++ b/src/xenia/gpu/d3d12/shaders/dxbc/texture_load_dxt5a_r8_cs.txt @@ -0,0 +1,332 @@ +// +// Generated by Microsoft (R) HLSL Shader Compiler 10.1 +// +// +// Buffer Definitions: +// +// cbuffer XeTextureCopyConstants +// { +// +// uint xe_texture_copy_guest_base; // Offset: 0 Size: 4 +// uint xe_texture_copy_guest_pitch; // Offset: 4 Size: 4 +// uint xe_texture_copy_host_base; // Offset: 8 Size: 4 +// uint xe_texture_copy_host_pitch; // Offset: 12 Size: 4 +// uint3 xe_texture_copy_size_texels; // Offset: 16 Size: 12 +// bool xe_texture_copy_is_3d; // Offset: 28 Size: 4 +// uint3 xe_texture_copy_size_blocks; // Offset: 32 Size: 12 +// uint xe_texture_copy_endianness; // Offset: 44 Size: 4 +// uint3 xe_texture_copy_guest_mip_offset;// Offset: 48 Size: 12 +// +// } +// +// +// Resource Bindings: +// +// Name Type Format Dim ID HLSL Bind Count +// ------------------------------ ---------- ------- ----------- ------- -------------- ------ +// xe_texture_copy_source texture byte r/o T0 t0 1 +// xe_texture_copy_dest UAV byte r/w U0 u0 1 +// XeTextureCopyConstants cbuffer NA NA CB0 cb0 1 +// +// +// +// Input signature: +// +// Name Index Mask Register SysValue Format Used +// -------------------- ----- ------ -------- -------- ------- ------ +// no Input +// +// Output signature: +// +// Name Index Mask Register SysValue Format Used +// -------------------- ----- ------ -------- -------- ------- ------ +// no Output +cs_5_1 +dcl_globalFlags refactoringAllowed +dcl_constantbuffer CB0[0:0][4], immediateIndexed, space=0 +dcl_resource_raw T0[0:0], space=0 +dcl_uav_raw U0[0:0], space=0 +dcl_input vThreadID.xyz +dcl_temps 18 +dcl_thread_group 8, 32, 1 +ishl r0.x, vThreadID.x, l(2) +mov r0.yz, vThreadID.yyzy +uge r1.xyz, r0.xyzx, CB0[0][2].xyzx +or r0.w, r1.y, r1.x +or r0.w, r1.z, r0.w +if_nz r0.w + ret +endif +iadd r1.xyz, r0.xyzx, CB0[0][3].xyzx +ieq r0.z, CB0[0][0].y, l(-1) +if_nz r0.z + if_nz CB0[0][1].w + iadd r2.xyzw, r1.xxxx, l(0, 1, 2, 3) + iadd r0.zw, CB0[0][2].yyyx, l(0, 0, 31, 31) + ushr r3.xyz, r1.zyyz, l(2, 4, 3, 0) + ushr r0.zw, r0.zzzw, l(0, 0, 4, 5) + and r0.z, r0.z, l(0x0ffffffe) + imad r0.z, r3.x, r0.z, r3.y + iadd r1.w, r3.z, r3.x + bfi r3.x, l(1), l(1), r1.w, l(0) + ushr r4.xyzw, r2.xyzw, l(3, 3, 3, 3) + iadd r3.xyzw, r3.xxxx, r4.xyzw + bfi r3.xyzw, l(2, 2, 2, 2), l(1, 1, 1, 1), r3.xyzw, l(0, 0, 0, 0) + bfi r3.xyzw, l(1, 1, 1, 1), l(0, 0, 0, 0), r1.wwww, r3.xyzw + ishl r1.w, r1.y, l(11) + and r1.w, r1.w, l(0x00003000) + bfi r4.xyzw, l(3, 3, 3, 3), l(9, 9, 9, 9), r2.xyzw, r1.wwww + ushr r4.xyzw, r4.xyzw, l(6, 6, 6, 6) + ushr r2.xyzw, r2.xyzw, l(5, 5, 5, 5) + imad r2.xyzw, r0.zzzz, r0.wwww, r2.xyzw + and r5.xyzw, r4.xyzw, l(240, 240, 240, 240) + bfi r6.xyzw, l(19, 19, 19, 19), l(11, 11, 11, 11), r2.xyzw, l(0, 0, 0, 0) + imad r6.xyzw, r5.xyzw, l(2, 2, 2, 2), r6.xyzw + bfi r6.xyzw, l(4, 4, 4, 4), l(0, 0, 0, 0), r4.xyzw, r6.xyzw + bfi r6.xyzw, l(2, 2, 2, 2), l(9, 9, 9, 9), r1.zzzz, r6.xyzw + bfi r7.xyzw, l(1, 1, 1, 1), l(4, 4, 4, 4), r1.yyyy, r6.xyzw + ubfe r6.xyzw, l(3, 3, 3, 3), l(6, 6, 6, 6), r6.xyzw + and r8.xyzw, r3.xyzw, l(6, 6, 6, 6) + bfi r3.xyzw, l(1, 1, 1, 1), l(8, 8, 8, 8), r3.xyzw, l(0, 0, 0, 0) + imad r3.xyzw, r6.xyzw, l(32, 32, 32, 32), r3.xyzw + imad r3.xyzw, r8.xyzw, l(4, 4, 4, 4), r3.xyzw + bfi r2.xyzw, l(19, 19, 19, 19), l(14, 14, 14, 14), r2.xyzw, l(0, 0, 0, 0) + imad r2.xyzw, r5.xyzw, l(16, 16, 16, 16), r2.xyzw + bfi r2.xyzw, l(4, 4, 4, 4), l(3, 3, 3, 3), r4.xyzw, r2.xyzw + bfi r2.xyzw, l(2, 2, 2, 2), l(12, 12, 12, 12), r1.zzzz, r2.xyzw + bfi r2.xyzw, l(1, 1, 1, 1), l(7, 7, 7, 7), r1.yyyy, r2.xyzw + bfi r2.xyzw, l(9, 9, 9, 9), l(3, 3, 3, 3), r3.xyzw, r2.xyzw + bfi r2.xyzw, l(6, 6, 6, 6), l(0, 0, 0, 0), r7.xyzw, r2.xyzw + else + iadd r3.xyzw, r1.xxxx, l(0, 1, 2, 3) + ushr r4.xyzw, r3.xyzw, l(5, 5, 5, 5) + ushr r0.zw, r1.yyyy, l(0, 0, 5, 2) + iadd r1.w, CB0[0][2].x, l(31) + ushr r1.w, r1.w, l(5) + imad r4.xyzw, r0.zzzz, r1.wwww, r4.xyzw + ishl r5.xy, r1.yyyy, l(5, 7, 0, 0) + and r5.xy, r5.xyxx, l(448, 2048, 0, 0) + bfi r6.xyzw, l(3, 3, 3, 3), l(3, 3, 3, 3), r3.xyzw, r5.xxxx + ishl r0.z, r5.x, l(1) + bfi r7.xyzw, l(3, 3, 3, 3), l(4, 4, 4, 4), r3.xyzw, r0.zzzz + and r7.xyzw, r7.xyzw, l(992, 992, 992, 992) + bfi r8.xyzw, l(22, 22, 22, 22), l(10, 10, 10, 10), r4.xyzw, r7.xyzw + bfi r8.xyzw, l(4, 4, 4, 4), l(0, 0, 0, 0), r6.xyzw, r8.xyzw + bfi r8.xyzw, l(1, 1, 1, 1), l(4, 4, 4, 4), r1.yyyy, r8.xyzw + ishl r9.xyzw, r7.xyzw, l(3, 3, 3, 3) + bfi r9.xyzw, l(22, 22, 22, 22), l(13, 13, 13, 13), r4.xyzw, r9.xyzw + bfi r9.xyzw, l(4, 4, 4, 4), l(3, 3, 3, 3), r6.xyzw, r9.xyzw + bfi r9.xyzw, l(1, 1, 1, 1), l(7, 7, 7, 7), r1.yyyy, r9.xyzw + bfi r5.xyzw, l(12, 12, 12, 12), l(0, 0, 0, 0), r5.yyyy, r9.xyzw + ishl r7.xyzw, r7.xyzw, l(2, 2, 2, 2) + bfi r4.xyzw, l(22, 22, 22, 22), l(12, 12, 12, 12), r4.xyzw, r7.xyzw + bfi r4.xyzw, l(4, 4, 4, 4), l(2, 2, 2, 2), r6.xyzw, r4.xyzw + bfi r4.xyzw, l(1, 1, 1, 1), l(6, 6, 6, 6), r1.yyyy, r4.xyzw + and r4.xyzw, r4.xyzw, l(1792, 1792, 1792, 1792) + iadd r4.xyzw, r5.xyzw, r4.xyzw + ushr r3.xyzw, r3.xyzw, l(3, 3, 3, 3) + and r0.z, r0.w, l(2) + iadd r3.xyzw, r0.zzzz, r3.xyzw + bfi r3.xyzw, l(2, 2, 2, 2), l(6, 6, 6, 6), r3.xyzw, l(0, 0, 0, 0) + iadd r3.xyzw, r4.xyzw, r3.xyzw + bfi r2.xyzw, l(6, 6, 6, 6), l(0, 0, 0, 0), r8.xyzw, r3.xyzw + endif +else + ishl r0.z, r1.x, l(3) + iadd r0.w, CB0[0][2].y, l(31) + and r0.w, r0.w, l(-32) + imad r0.w, r1.z, r0.w, r1.y + imad r0.z, r0.w, CB0[0][0].y, r0.z + iadd r2.xyzw, r0.zzzz, l(0, 8, 16, 24) +endif +iadd r1.xyzw, r2.xyzw, CB0[0][0].xxxx +ld_raw r2.xz, r1.x, T0[0].yxxx +ld_raw r2.yw, r1.y, T0[0].xyxx +ld_raw r3.xy, r1.z, T0[0].xyxx +ld_raw r3.zw, r1.w, T0[0].xxxy +ushr r0.z, CB0[0][2].w, l(1) +xor r0.z, r0.z, CB0[0][2].w +and r0.z, r0.z, l(1) +if_nz r0.z + ishl r1.xyzw, r2.zxwy, l(8, 8, 8, 8) + and r1.xyzw, r1.xyzw, l(0xff00ff00, 0xff00ff00, 0xff00ff00, 0xff00ff00) + ushr r4.xyzw, r2.zxwy, l(8, 8, 8, 8) + and r4.xyzw, r4.xyzw, l(0x00ff00ff, 0x00ff00ff, 0x00ff00ff, 0x00ff00ff) + iadd r2.xyzw, r1.ywxz, r4.ywxz +endif +and r0.w, CB0[0][2].w, l(2) +if_nz r0.w + ushr r1.xyzw, r2.zxwy, l(16, 16, 16, 16) + bfi r2.xyzw, l(16, 16, 16, 16), l(16, 16, 16, 16), r2.xyzw, r1.ywxz + mov r1.xy, r2.zwzz +else + mov r1.xy, r2.zwzz +endif +if_nz r0.z + ishl r4.xyzw, r3.xyzw, l(8, 8, 8, 8) + and r4.xyzw, r4.xyzw, l(0xff00ff00, 0xff00ff00, 0xff00ff00, 0xff00ff00) + ushr r5.xyzw, r3.xyzw, l(8, 8, 8, 8) + and r5.xyzw, r5.xyzw, l(0x00ff00ff, 0x00ff00ff, 0x00ff00ff, 0x00ff00ff) + iadd r3.xyzw, r4.xyzw, r5.xyzw +endif +if_nz r0.w + ushr r4.xyzw, r3.xyzw, l(16, 16, 16, 16) + bfi r4.xyzw, l(16, 16, 16, 16), l(16, 16, 16, 16), r3.xyzw, r4.xyzw + mov r1.zw, r4.xxxz + mov r2.zw, r4.yyyw +else + mov r1.zw, r3.xxxz + mov r2.zw, r3.yyyw +endif +ushr r3.xyzw, r1.xyzw, l(16, 16, 16, 16) +bfi r4.xyzw, l(8, 8, 8, 8), l(16, 16, 16, 16), r2.xyzw, l(0, 0, 0, 0) +iadd r3.xyzw, r3.xyzw, r4.xyzw +ushr r2.xyzw, r2.xyzw, l(8, 8, 8, 8) +and r4.xyzw, r3.xyzw, l(0x00249249, 0x00249249, 0x00249249, 0x00249249) +ushr r5.xyzw, r3.xyzw, l(1, 1, 1, 1) +and r6.xyzw, r5.xyzw, l(0x00249249, 0x00249249, 0x00249249, 0x00249249) +or r7.xyzw, r3.xyzw, r5.xyzw +ushr r8.xyzw, r3.xyzw, l(2, 2, 2, 2) +and r9.xyzw, r8.xyzw, l(0x00249249, 0x00249249, 0x00249249, 0x00249249) +or r7.xyzw, r7.xyzw, r8.xyzw +and r7.xyzw, r7.xyzw, l(0x00249249, 0x00249249, 0x00249249, 0x00249249) +xor r7.xyzw, r7.xyzw, l(0x00249249, 0x00249249, 0x00249249, 0x00249249) +not r6.xyzw, r6.xyzw +and r6.xyzw, r4.xyzw, r6.xyzw +not r8.xyzw, r9.xyzw +and r6.xyzw, r6.xyzw, r8.xyzw +or r7.xyzw, r3.xyzw, r7.xyzw +iadd r7.xyzw, r7.xyzw, l(0xffdb6db7, 0xffdb6db7, 0xffdb6db7, 0xffdb6db7) +or r7.xyzw, r6.xyzw, r7.xyzw +ishl r8.xyzw, r6.xyzw, l(1, 1, 1, 1) +or r8.xyzw, r7.xyzw, r8.xyzw +ishl r6.xyzw, r6.xyzw, l(2, 2, 2, 2) +or r8.xyzw, r6.xyzw, r8.xyzw +and r9.xyzw, r2.xyzw, l(0x00249249, 0x00249249, 0x00249249, 0x00249249) +ushr r10.xyzw, r2.xyzw, l(1, 1, 1, 1) +and r11.xyzw, r10.xyzw, l(0x00249249, 0x00249249, 0x00249249, 0x00249249) +or r12.xyzw, r2.xyzw, r10.xyzw +ushr r13.xyzw, r2.xyzw, l(2, 2, 2, 2) +and r14.xyzw, r13.xyzw, l(0x00249249, 0x00249249, 0x00249249, 0x00249249) +or r12.xyzw, r12.xyzw, r13.xyzw +and r12.xyzw, r12.xyzw, l(0x00249249, 0x00249249, 0x00249249, 0x00249249) +xor r12.xyzw, r12.xyzw, l(0x00249249, 0x00249249, 0x00249249, 0x00249249) +not r11.xyzw, r11.xyzw +and r11.xyzw, r9.xyzw, r11.xyzw +not r13.xyzw, r14.xyzw +and r11.xyzw, r11.xyzw, r13.xyzw +or r12.xyzw, r2.xyzw, r12.xyzw +iadd r12.xyzw, r12.xyzw, l(0xffdb6db7, 0xffdb6db7, 0xffdb6db7, 0xffdb6db7) +or r12.xyzw, r11.xyzw, r12.xyzw +ishl r13.xyzw, r11.xyzw, l(1, 1, 1, 1) +or r13.xyzw, r12.xyzw, r13.xyzw +ishl r11.xyzw, r11.xyzw, l(2, 2, 2, 2) +or r13.xyzw, r11.xyzw, r13.xyzw +and r3.xyzw, r3.xyzw, r5.xyzw +and r3.xyzw, r3.xyzw, l(0x00492492, 0x00492492, 0x00492492, 0x00492492) +ishl r5.xyzw, r3.xyzw, l(1, 1, 1, 1) +ushr r14.xyzw, r3.xyzw, l(1, 1, 1, 1) +iadd r3.xyzw, r3.xyzw, r5.xyzw +iadd r3.xyzw, r3.xyzw, r14.xyzw +iadd r4.xyzw, r4.xyzw, l(0x00db6db6, 0x00db6db6, 0x00db6db6, 0x00db6db6) +and r4.xyzw, r3.xyzw, r4.xyzw +or r5.xyzw, r6.xyzw, r7.xyzw +not r3.xyzw, r3.xyzw +and r3.xyzw, r3.xyzw, r5.xyzw +or r3.xyzw, r4.xyzw, r3.xyzw +and r2.xyzw, r2.xyzw, r10.xyzw +and r2.xyzw, r2.xyzw, l(0x00492492, 0x00492492, 0x00492492, 0x00492492) +ishl r4.xyzw, r2.xyzw, l(1, 1, 1, 1) +ushr r5.xyzw, r2.xyzw, l(1, 1, 1, 1) +iadd r2.xyzw, r2.xyzw, r4.xyzw +iadd r2.xyzw, r2.xyzw, r5.xyzw +iadd r4.xyzw, r9.xyzw, l(0x00db6db6, 0x00db6db6, 0x00db6db6, 0x00db6db6) +and r4.xyzw, r2.xyzw, r4.xyzw +or r5.xyzw, r11.xyzw, r12.xyzw +not r2.xyzw, r2.xyzw +and r2.xyzw, r2.xyzw, r5.xyzw +or r2.xyzw, r4.xyzw, r2.xyzw +and r4.xyzw, r1.xyzw, l(255, 255, 255, 255) +ubfe r1.xyzw, l(8, 8, 8, 8), l(8, 8, 8, 8), r1.xyzw +ishl r0.xy, r0.xyxx, l(2, 2, 0, 0) +imad r0.z, vThreadID.z, CB0[0][1].y, r0.y +imad r0.x, r0.z, CB0[0][0].w, r0.x +iadd r0.x, r0.x, CB0[0][0].z +uge r5.xyzw, r1.xyzw, r4.xyzw +movc r6.xyzw, r5.xyzw, l(5,5,5,5), l(7,7,7,7) +movc r7.xyzw, r5.xyzw, l(2925,2925,2925,2925), l(4095,4095,4095,4095) +mov r0.z, CB0[0][1].y +mov r0.w, r0.y +mov r9.x, r0.x +mov r9.y, l(0) +loop + uge r9.z, r9.y, l(4) + breakc_nz r9.z + ult r9.z, r9.y, l(2) + movc r10.xyzw, r9.zzzz, r8.xyzw, r13.xyzw + and r9.w, r9.y, l(1) + imul null, r9.w, r9.w, l(12) + ushr r10.xyzw, r10.xyzw, r9.wwww + movc r11.xyzw, r9.zzzz, r3.xyzw, r2.xyzw + ushr r11.xyzw, r11.xyzw, r9.wwww + movc r10.xyzw, r5.xyzw, r11.xyzw, r10.xyzw + ushr r12.xyzw, r11.xyzw, l(1, 1, 1, 1) + and r12.xyzw, r11.xyzw, r12.xyzw + and r12.xyzw, r5.xyzw, r12.xyzw + and r12.xyzw, r12.xyzw, l(1170, 1170, 1170, 1170) + ishl r14.xyzw, r12.xyzw, l(1, 1, 1, 1) + ushr r15.xyzw, r12.xyzw, l(1, 1, 1, 1) + iadd r12.xyzw, r12.xyzw, r14.xyzw + iadd r12.xyzw, r12.xyzw, r15.xyzw + not r14.xyzw, r12.xyzw + and r10.xyzw, r10.xyzw, r14.xyzw + iadd r15.xyzw, r7.xyzw, -r10.xyzw + and r14.xyzw, r14.xyzw, r15.xyzw + and r15.xyzw, r14.xyzw, l(7, 7, 7, 7) + and r16.xyzw, r10.xyzw, l(7, 7, 7, 7) + imul null, r16.xyzw, r1.xyzw, r16.xyzw + imad r15.xyzw, r4.xyzw, r15.xyzw, r16.xyzw + udiv r15.xyzw, null, r15.xyzw, r6.xyzw + ubfe r16.xyzw, l(3, 3, 3, 3), l(3, 3, 3, 3), r14.xyzw + ubfe r17.xyzw, l(3, 3, 3, 3), l(3, 3, 3, 3), r10.xyzw + imul null, r17.xyzw, r1.xyzw, r17.xyzw + imad r16.xyzw, r4.xyzw, r16.xyzw, r17.xyzw + udiv r16.xyzw, null, r16.xyzw, r6.xyzw + ishl r16.xyzw, r16.xyzw, l(8, 8, 8, 8) + or r15.xyzw, r15.xyzw, r16.xyzw + ubfe r16.xyzw, l(3, 3, 3, 3), l(6, 6, 6, 6), r14.xyzw + ubfe r17.xyzw, l(3, 3, 3, 3), l(6, 6, 6, 6), r10.xyzw + imul null, r17.xyzw, r1.xyzw, r17.xyzw + imad r16.xyzw, r4.xyzw, r16.xyzw, r17.xyzw + udiv r16.xyzw, null, r16.xyzw, r6.xyzw + ishl r16.xyzw, r16.xyzw, l(16, 16, 16, 16) + or r15.xyzw, r15.xyzw, r16.xyzw + ubfe r14.xyzw, l(3, 3, 3, 3), l(9, 9, 9, 9), r14.xyzw + ubfe r10.xyzw, l(3, 3, 3, 3), l(9, 9, 9, 9), r10.xyzw + imul null, r10.xyzw, r1.xyzw, r10.xyzw + imad r10.xyzw, r4.xyzw, r14.xyzw, r10.xyzw + udiv r10.xyzw, null, r10.xyzw, r6.xyzw + ishl r10.xyzw, r10.xyzw, l(24, 24, 24, 24) + or r10.xyzw, r10.xyzw, r15.xyzw + and r11.xyzw, r11.xyzw, r12.xyzw + ishl r12.xyzw, r11.xyzw, l(5, 5, 5, 5) + and r12.xyzw, r12.xyzw, l(256, 256, 256, 256) + bfi r12.xyzw, l(1, 1, 1, 1), l(0, 0, 0, 0), r11.xyzw, r12.xyzw + ishl r14.xyzw, r11.xyzw, l(10, 10, 10, 10) + and r14.xyzw, r14.xyzw, l(0x00010000, 0x00010000, 0x00010000, 0x00010000) + iadd r12.xyzw, r12.xyzw, r14.xyzw + ishl r11.xyzw, r11.xyzw, l(15, 15, 15, 15) + and r11.xyzw, r11.xyzw, l(0x01000000, 0x01000000, 0x01000000, 0x01000000) + iadd r11.xyzw, r11.xyzw, r12.xyzw + imad r10.xyzw, r11.xyzw, l(255, 255, 255, 255), r10.xyzw + store_raw U0[0].xyzw, r9.x, r10.xyzw + iadd r0.w, r0.w, l(1) + uge r9.z, r0.w, r0.z + if_nz r9.z + ret + endif + iadd r9.x, r9.x, CB0[0][0].w + iadd r9.y, r9.y, l(1) +endloop +ret +// Approximately 280 instruction slots used diff --git a/src/xenia/gpu/d3d12/shaders/pixel_formats.hlsli b/src/xenia/gpu/d3d12/shaders/pixel_formats.hlsli index 0ece7adfb..6275b5df2 100644 --- a/src/xenia/gpu/d3d12/shaders/pixel_formats.hlsli +++ b/src/xenia/gpu/d3d12/shaders/pixel_formats.hlsli @@ -142,6 +142,16 @@ void XeDXTFourBlocksRowToRGB8( (((block_row_10b_3x >> 20u) / 3u) << 16u); } +uint4 XeDXT3FourBlocksRowToA8(uint4 alpha4) { + // (alpha4 & 0xFu) | ((alpha4 & 0xFu) << 4u) | + // ((alpha4 & 0xF0u) << (8u - 4u)) | ((alpha4 & 0xF0u) << (12u - 4u)) | + // ((alpha4 & 0xF00u) << (16u - 8u)) | ((alpha4 & 0xF00u) << (20u - 8u)) | + // ((alpha4 & 0xF000u) << (24u - 12u)) | ((alpha4 & 0xF000u) << (28u - 12u)) + return (alpha4 & 0xFu) | ((alpha4 & 0xFFu) << 4u) | + ((alpha4 & 0xFF0u) << 8u) | ((alpha4 & 0xFF00u) << 12u) | + ((alpha4 & 0xF000u) << 16u); +} + // & 0x249249 = bits 0 of 24 bits of DXT5 alpha codes. // & 0x492492 = bits 1 of 24 bits of DXT5 alpha codes. // & 0x924924 = bits 2 of 24 bits of DXT5 alpha codes. diff --git a/src/xenia/gpu/d3d12/shaders/texture_load_dxn_rg8.cs.hlsl b/src/xenia/gpu/d3d12/shaders/texture_load_dxn_rg8.cs.hlsl new file mode 100644 index 000000000..b5198b4ed --- /dev/null +++ b/src/xenia/gpu/d3d12/shaders/texture_load_dxn_rg8.cs.hlsl @@ -0,0 +1,82 @@ +#include "pixel_formats.hlsli" +#include "texture_copy.hlsli" + +[numthreads(8, 32, 1)] +void main(uint3 xe_thread_id : SV_DispatchThreadID) { + // 1 thread = 4 DXN (16bpb) blocks to 16x4 R8G8 texels. + uint3 block_index = xe_thread_id; + block_index.x <<= 2u; + [branch] if (any(block_index >= xe_texture_copy_size_blocks)) { + return; + } + uint4 block_offsets_guest = + XeTextureCopyGuestBlockOffsets(block_index, 16u, 4u); + uint4 block_0 = xe_texture_copy_source.Load4(block_offsets_guest.x); + uint4 block_1 = xe_texture_copy_source.Load4(block_offsets_guest.y); + uint4 block_2 = xe_texture_copy_source.Load4(block_offsets_guest.z); + uint4 block_3 = xe_texture_copy_source.Load4(block_offsets_guest.w); + block_0 = XeByteSwap(block_0, xe_texture_copy_endianness); + block_1 = XeByteSwap(block_1, xe_texture_copy_endianness); + block_2 = XeByteSwap(block_2, xe_texture_copy_endianness); + block_3 = XeByteSwap(block_3, xe_texture_copy_endianness); + uint4 r_blocks_0 = uint4(block_0.x, block_1.x, block_2.x, block_3.x); + uint4 r_blocks_1 = uint4(block_0.y, block_1.y, block_2.y, block_3.y); + uint4 g_blocks_0 = uint4(block_0.z, block_1.z, block_2.z, block_3.z); + uint4 g_blocks_1 = uint4(block_0.w, block_1.w, block_2.w, block_3.w); + + // Sort the codes. + uint4 r_codes_r01 = (r_blocks_0 >> 16u) | ((r_blocks_1 & 0xFFu) << 16u); + uint4 r_codes_r23 = r_blocks_1 >> 8u; + uint4 r_weights_8step_r01 = XeDXT5High8StepAlphaWeights(r_codes_r01); + uint4 r_weights_8step_r23 = XeDXT5High8StepAlphaWeights(r_codes_r23); + uint4 r_weights_6step_r01 = XeDXT5High6StepAlphaWeights(r_codes_r01); + uint4 r_weights_6step_r23 = XeDXT5High6StepAlphaWeights(r_codes_r23); + uint4 g_codes_r01 = (g_blocks_0 >> 16u) | ((g_blocks_1 & 0xFFu) << 16u); + uint4 g_codes_r23 = g_blocks_1 >> 8u; + uint4 g_weights_8step_r01 = XeDXT5High8StepAlphaWeights(g_codes_r01); + uint4 g_weights_8step_r23 = XeDXT5High8StepAlphaWeights(g_codes_r23); + uint4 g_weights_6step_r01 = XeDXT5High6StepAlphaWeights(g_codes_r01); + uint4 g_weights_6step_r23 = XeDXT5High6StepAlphaWeights(g_codes_r23); + + // Get the endpoints for mixing. + uint4 r_end_low = r_blocks_0 & 0xFFu; + uint4 r_end_high = (r_blocks_0 >> 8u) & 0xFFu; + uint4 g_end_low = g_blocks_0 & 0xFFu; + uint4 g_end_high = (g_blocks_0 >> 8u) & 0xFFu; + + // Uncompress and write the rows. + uint3 texel_index_host = block_index << uint3(2u, 2u, 0u); + uint texel_offset_host = XeTextureHostLinearOffset( + texel_index_host, xe_texture_copy_size_texels.y, + xe_texture_copy_host_pitch, 2u) + xe_texture_copy_host_base; + for (uint i = 0u; i < 4u; ++i) { + uint4 r_row = XeDXT5Four8StepBlocksRowToA8( + r_end_low, r_end_high, + (i < 2u ? r_weights_8step_r01 : r_weights_8step_r23) >> + ((i & 1u) * 12u), + (i < 2u ? r_weights_6step_r01 : r_weights_6step_r23) >> + ((i & 1u) * 12u)); + uint4 g_row = XeDXT5Four8StepBlocksRowToA8( + g_end_low, g_end_high, + (i < 2u ? g_weights_8step_r01 : g_weights_8step_r23) >> + ((i & 1u) * 12u), + (i < 2u ? g_weights_6step_r01 : g_weights_6step_r23) >> + ((i & 1u) * 12u)); + uint4 rg_row_half = + ((r_row.xxyy >> uint4(0u, 16u, 0u, 16u)) & 0xFFu) | + (((r_row.xxyy >> uint4(8u, 24u, 8u, 24u)) & 0xFFu) << 16u) | + (((g_row.xxyy >> uint4(0u, 16u, 0u, 16u)) & 0xFFu) << 8u) | + (((g_row.xxyy >> uint4(8u, 24u, 8u, 24u)) & 0xFFu) << 24u); + xe_texture_copy_dest.Store4(texel_offset_host, rg_row_half); + rg_row_half = + ((r_row.zzww >> uint4(0u, 16u, 0u, 16u)) & 0xFFu) | + (((r_row.zzww >> uint4(8u, 24u, 8u, 24u)) & 0xFFu) << 16u) | + (((g_row.zzww >> uint4(0u, 16u, 0u, 16u)) & 0xFFu) << 8u) | + (((g_row.zzww >> uint4(8u, 24u, 8u, 24u)) & 0xFFu) << 24u); + xe_texture_copy_dest.Store4(texel_offset_host + 16u, rg_row_half); + if (++texel_index_host.y >= xe_texture_copy_size_texels.y) { + return; + } + texel_offset_host += xe_texture_copy_host_pitch; + } +} diff --git a/src/xenia/gpu/d3d12/shaders/texture_load_dxt3_rgba8.cs.hlsl b/src/xenia/gpu/d3d12/shaders/texture_load_dxt3_rgba8.cs.hlsl new file mode 100644 index 000000000..d948ae377 --- /dev/null +++ b/src/xenia/gpu/d3d12/shaders/texture_load_dxt3_rgba8.cs.hlsl @@ -0,0 +1,64 @@ +#include "pixel_formats.hlsli" +#include "texture_copy.hlsli" + +[numthreads(8, 32, 1)] +void main(uint3 xe_thread_id : SV_DispatchThreadID) { + // 1 thread = 4 DXT3 (16bpb) blocks to 16x4 R8G8B8A8 texels. + uint3 block_index = xe_thread_id; + block_index.x <<= 2u; + [branch] if (any(block_index >= xe_texture_copy_size_blocks)) { + return; + } + uint4 block_offsets_guest = + XeTextureCopyGuestBlockOffsets(block_index, 16u, 4u); + uint4 block_0 = xe_texture_copy_source.Load4(block_offsets_guest.x); + uint4 block_1 = xe_texture_copy_source.Load4(block_offsets_guest.y); + uint4 block_2 = xe_texture_copy_source.Load4(block_offsets_guest.z); + uint4 block_3 = xe_texture_copy_source.Load4(block_offsets_guest.w); + block_0 = XeByteSwap(block_0, xe_texture_copy_endianness); + block_1 = XeByteSwap(block_1, xe_texture_copy_endianness); + block_2 = XeByteSwap(block_2, xe_texture_copy_endianness); + block_3 = XeByteSwap(block_3, xe_texture_copy_endianness); + uint4 alpha4_r01 = uint4(block_0.x, block_1.x, block_2.x, block_3.x); + uint4 alpha4_r23 = uint4(block_0.y, block_1.y, block_2.y, block_3.y); + + uint4 rgb_codes = uint4(block_0.w, block_1.w, block_2.w, block_3.w); + // Sort the color indices so they can be used as weights for the second + // endpoint. + uint4 rgb_weights_high = XeDXTHighColorWeights(rgb_codes); + + // Get the endpoints for mixing, as 8-bit components in 10-bit sequences. + uint4 rgb_565 = uint4(block_0.z, block_1.z, block_2.z, block_3.z); + uint4 rgb_10b_low, rgb_10b_high; + XeDXTColorEndpointsTo8In10(rgb_565, rgb_10b_low, rgb_10b_high); + + // Uncompress and write the rows. + uint3 texel_index_host = block_index << uint3(2u, 2u, 0u); + uint texel_offset_host = XeTextureHostLinearOffset( + texel_index_host, xe_texture_copy_size_texels.y, + xe_texture_copy_host_pitch, 4u) + xe_texture_copy_host_base; + for (uint i = 0u; i < 4u; ++i) { + uint4 row_0, row_1, row_2, row_3; + XeDXTFourBlocksRowToRGB8(rgb_10b_low, rgb_10b_high, + rgb_weights_high >> (i * 8u), + row_0, row_1, row_2, row_3); + uint4 alpha_row = XeDXT3FourBlocksRowToA8( + (i < 2u ? alpha4_r01 : alpha4_r23) >> ((i & 1u) * 16u)); + xe_texture_copy_dest.Store4( + texel_offset_host, + row_0 | ((alpha_row.xxxx << uint4(24u, 16u, 8u, 0u)) & 0xFF000000u)); + xe_texture_copy_dest.Store4( + texel_offset_host + 16u, + row_1 | ((alpha_row.yyyy << uint4(24u, 16u, 8u, 0u)) & 0xFF000000u)); + xe_texture_copy_dest.Store4( + texel_offset_host + 32u, + row_2 | ((alpha_row.zzzz << uint4(24u, 16u, 8u, 0u)) & 0xFF000000u)); + xe_texture_copy_dest.Store4( + texel_offset_host + 48u, + row_3 | ((alpha_row.wwww << uint4(24u, 16u, 8u, 0u)) & 0xFF000000u)); + if (++texel_index_host.y >= xe_texture_copy_size_texels.y) { + return; + } + texel_offset_host += xe_texture_copy_host_pitch; + } +} diff --git a/src/xenia/gpu/d3d12/shaders/texture_load_dxt3a.cs.hlsl b/src/xenia/gpu/d3d12/shaders/texture_load_dxt3a.cs.hlsl index fe3672591..878181816 100644 --- a/src/xenia/gpu/d3d12/shaders/texture_load_dxt3a.cs.hlsl +++ b/src/xenia/gpu/d3d12/shaders/texture_load_dxt3a.cs.hlsl @@ -1,8 +1,10 @@ +#include "pixel_formats.hlsli" #include "texture_copy.hlsli" [numthreads(8, 32, 1)] void main(uint3 xe_thread_id : SV_DispatchThreadID) { - // 1 thread = 4 DXT3A blocks to 4 DXT3 blocks with zero color. + // 1 thread = 4 DXT3A (8bpb) blocks to 16x4 R8 texels (no need to convert to + // DXT3 because the overhead is the same, 2x, but the size must be 4-aligned). uint3 block_index = xe_thread_id; block_index.x <<= 2u; [branch] if (any(block_index >= xe_texture_copy_size_blocks)) { @@ -16,14 +18,19 @@ void main(uint3 xe_thread_id : SV_DispatchThreadID) { xe_texture_copy_source.Load2(block_offsets_guest.w)); blocks_01 = XeByteSwap(blocks_01, xe_texture_copy_endianness); blocks_23 = XeByteSwap(blocks_23, xe_texture_copy_endianness); - uint block_offset_host = XeTextureHostLinearOffset( - block_index, xe_texture_copy_size_blocks.y, xe_texture_copy_host_pitch, - 16u) + xe_texture_copy_host_base; - xe_texture_copy_dest.Store4(block_offset_host, uint4(blocks_01.xy, 0u, 0u)); - xe_texture_copy_dest.Store4(block_offset_host + 16u, - uint4(blocks_01.zw, 0u, 0u)); - xe_texture_copy_dest.Store4(block_offset_host + 32u, - uint4(blocks_23.xy, 0u, 0u)); - xe_texture_copy_dest.Store4(block_offset_host + 48u, - uint4(blocks_23.zw, 0u, 0u)); + uint4 alpha4_r01 = uint4(blocks_01.xz, blocks_23.xz); + uint4 alpha4_r23 = uint4(blocks_01.yw, blocks_23.yw); + // Uncompress and write the rows. + uint3 texel_index_host = block_index << uint3(2u, 2u, 0u); + uint texel_offset_host = XeTextureHostLinearOffset( + texel_index_host, xe_texture_copy_size_texels.y, + xe_texture_copy_host_pitch, 1u) + xe_texture_copy_host_base; + for (uint i = 0u; i < 4u; ++i) { + xe_texture_copy_dest.Store4(texel_offset_host, XeDXT3FourBlocksRowToA8( + (i < 2u ? alpha4_r01 : alpha4_r23) >> ((i & 1u) * 16u))); + if (++texel_index_host.y >= xe_texture_copy_size_texels.y) { + return; + } + texel_offset_host += xe_texture_copy_host_pitch; + } } diff --git a/src/xenia/gpu/d3d12/shaders/texture_load_dxt5a_r8.cs.hlsl b/src/xenia/gpu/d3d12/shaders/texture_load_dxt5a_r8.cs.hlsl new file mode 100644 index 000000000..2538c93c2 --- /dev/null +++ b/src/xenia/gpu/d3d12/shaders/texture_load_dxt5a_r8.cs.hlsl @@ -0,0 +1,52 @@ +#include "pixel_formats.hlsli" +#include "texture_copy.hlsli" + +[numthreads(8, 32, 1)] +void main(uint3 xe_thread_id : SV_DispatchThreadID) { + // 1 thread = 4 DXT5A (8bpb) blocks to 16x4 R8 texels. + uint3 block_index = xe_thread_id; + block_index.x <<= 2u; + [branch] if (any(block_index >= xe_texture_copy_size_blocks)) { + return; + } + uint4 block_offsets_guest = + XeTextureCopyGuestBlockOffsets(block_index, 8u, 3u); + uint4 blocks_01 = uint4(xe_texture_copy_source.Load2(block_offsets_guest.x), + xe_texture_copy_source.Load2(block_offsets_guest.y)); + uint4 blocks_23 = uint4(xe_texture_copy_source.Load2(block_offsets_guest.z), + xe_texture_copy_source.Load2(block_offsets_guest.w)); + blocks_01 = XeByteSwap(blocks_01, xe_texture_copy_endianness); + blocks_23 = XeByteSwap(blocks_23, xe_texture_copy_endianness); + uint4 r_blocks_0 = uint4(blocks_01.xz, blocks_23.xz); + uint4 r_blocks_1 = uint4(blocks_01.yw, blocks_23.yw); + + // Sort the codes. + uint4 r_codes_r01 = (r_blocks_0 >> 16u) | ((r_blocks_1 & 0xFFu) << 16u); + uint4 r_codes_r23 = r_blocks_1 >> 8u; + uint4 r_weights_8step_r01 = XeDXT5High8StepAlphaWeights(r_codes_r01); + uint4 r_weights_8step_r23 = XeDXT5High8StepAlphaWeights(r_codes_r23); + uint4 r_weights_6step_r01 = XeDXT5High6StepAlphaWeights(r_codes_r01); + uint4 r_weights_6step_r23 = XeDXT5High6StepAlphaWeights(r_codes_r23); + + // Get the endpoints for mixing. + uint4 r_end_low = r_blocks_0 & 0xFFu; + uint4 r_end_high = (r_blocks_0 >> 8u) & 0xFFu; + + // Uncompress and write the rows. + uint3 texel_index_host = block_index << uint3(2u, 2u, 0u); + uint texel_offset_host = XeTextureHostLinearOffset( + texel_index_host, xe_texture_copy_size_texels.y, + xe_texture_copy_host_pitch, 1u) + xe_texture_copy_host_base; + for (uint i = 0u; i < 4u; ++i) { + xe_texture_copy_dest.Store4(texel_offset_host, XeDXT5Four8StepBlocksRowToA8( + r_end_low, r_end_high, + (i < 2u ? r_weights_8step_r01 : r_weights_8step_r23) >> + ((i & 1u) * 12u), + (i < 2u ? r_weights_6step_r01 : r_weights_6step_r23) >> + ((i & 1u) * 12u))); + if (++texel_index_host.y >= xe_texture_copy_size_texels.y) { + return; + } + texel_offset_host += xe_texture_copy_host_pitch; + } +} diff --git a/src/xenia/gpu/d3d12/texture_cache.cc b/src/xenia/gpu/d3d12/texture_cache.cc index a8b9af66b..5bf45dfea 100644 --- a/src/xenia/gpu/d3d12/texture_cache.cc +++ b/src/xenia/gpu/d3d12/texture_cache.cc @@ -34,143 +34,210 @@ namespace d3d12 { #include "xenia/gpu/d3d12/shaders/dxbc/texture_load_ctx1_cs.h" #include "xenia/gpu/d3d12/shaders/dxbc/texture_load_depth_float_cs.h" #include "xenia/gpu/d3d12/shaders/dxbc/texture_load_depth_unorm_cs.h" +#include "xenia/gpu/d3d12/shaders/dxbc/texture_load_dxn_rg8_cs.h" #include "xenia/gpu/d3d12/shaders/dxbc/texture_load_dxt1_rgba8_cs.h" +#include "xenia/gpu/d3d12/shaders/dxbc/texture_load_dxt3_rgba8_cs.h" #include "xenia/gpu/d3d12/shaders/dxbc/texture_load_dxt3a_cs.h" #include "xenia/gpu/d3d12/shaders/dxbc/texture_load_dxt5_rgba8_cs.h" +#include "xenia/gpu/d3d12/shaders/dxbc/texture_load_dxt5a_r8_cs.h" #include "xenia/gpu/d3d12/shaders/dxbc/texture_tile_32bpp_cs.h" #include "xenia/gpu/d3d12/shaders/dxbc/texture_tile_64bpp_cs.h" const TextureCache::HostFormat TextureCache::host_formats_[64] = { // k_1_REVERSE - {DXGI_FORMAT_UNKNOWN, LoadMode::kUnknown, TileMode::kUnknown}, + {DXGI_FORMAT_UNKNOWN, LoadMode::kUnknown, TileMode::kUnknown, + DXGI_FORMAT_UNKNOWN, LoadMode::kUnknown}, // k_1 - {DXGI_FORMAT_UNKNOWN, LoadMode::kUnknown, TileMode::kUnknown}, + {DXGI_FORMAT_UNKNOWN, LoadMode::kUnknown, TileMode::kUnknown, + DXGI_FORMAT_UNKNOWN, LoadMode::kUnknown}, // k_8 - {DXGI_FORMAT_R8_UNORM, LoadMode::k8bpb, TileMode::kUnknown}, + {DXGI_FORMAT_R8_UNORM, LoadMode::k8bpb, TileMode::kUnknown, + DXGI_FORMAT_UNKNOWN, LoadMode::kUnknown}, // k_1_5_5_5 - {DXGI_FORMAT_B5G5R5A1_UNORM, LoadMode::k16bpb, TileMode::kUnknown}, + {DXGI_FORMAT_B5G5R5A1_UNORM, LoadMode::k16bpb, TileMode::kUnknown, + DXGI_FORMAT_UNKNOWN, LoadMode::kUnknown}, // k_5_6_5 - {DXGI_FORMAT_B5G6R5_UNORM, LoadMode::k16bpb, TileMode::kUnknown}, + {DXGI_FORMAT_B5G6R5_UNORM, LoadMode::k16bpb, TileMode::kUnknown, + DXGI_FORMAT_UNKNOWN, LoadMode::kUnknown}, // k_6_5_5 - {DXGI_FORMAT_UNKNOWN, LoadMode::kUnknown, TileMode::kUnknown}, + {DXGI_FORMAT_UNKNOWN, LoadMode::kUnknown, TileMode::kUnknown, + DXGI_FORMAT_UNKNOWN, LoadMode::kUnknown}, // k_8_8_8_8 - {DXGI_FORMAT_R8G8B8A8_UNORM, LoadMode::k32bpb, TileMode::k32bpp}, + {DXGI_FORMAT_R8G8B8A8_UNORM, LoadMode::k32bpb, TileMode::k32bpp, + DXGI_FORMAT_UNKNOWN, LoadMode::kUnknown}, // k_2_10_10_10 - {DXGI_FORMAT_R10G10B10A2_UNORM, LoadMode::k32bpb, TileMode::k32bpp}, + {DXGI_FORMAT_R10G10B10A2_UNORM, LoadMode::k32bpb, TileMode::k32bpp, + DXGI_FORMAT_UNKNOWN, LoadMode::kUnknown}, // k_8_A - {DXGI_FORMAT_R8_UNORM, LoadMode::k8bpb, TileMode::kUnknown}, + {DXGI_FORMAT_R8_UNORM, LoadMode::k8bpb, TileMode::kUnknown, + DXGI_FORMAT_UNKNOWN, LoadMode::kUnknown}, // k_8_B - {DXGI_FORMAT_UNKNOWN, LoadMode::kUnknown, TileMode::kUnknown}, + {DXGI_FORMAT_UNKNOWN, LoadMode::kUnknown, TileMode::kUnknown, + DXGI_FORMAT_UNKNOWN, LoadMode::kUnknown}, // k_8_8 - {DXGI_FORMAT_R8G8_UNORM, LoadMode::k16bpb, TileMode::kUnknown}, + {DXGI_FORMAT_R8G8_UNORM, LoadMode::k16bpb, TileMode::kUnknown, + DXGI_FORMAT_UNKNOWN, LoadMode::kUnknown}, // k_Cr_Y1_Cb_Y0_REP - {DXGI_FORMAT_UNKNOWN, LoadMode::kUnknown, TileMode::kUnknown}, + {DXGI_FORMAT_UNKNOWN, LoadMode::kUnknown, TileMode::kUnknown, + DXGI_FORMAT_UNKNOWN, LoadMode::kUnknown}, // k_Y1_Cr_Y0_Cb_REP - {DXGI_FORMAT_UNKNOWN, LoadMode::kUnknown, TileMode::kUnknown}, + {DXGI_FORMAT_UNKNOWN, LoadMode::kUnknown, TileMode::kUnknown, + DXGI_FORMAT_UNKNOWN, LoadMode::kUnknown}, // k_16_16_EDRAM - {DXGI_FORMAT_R16G16_UNORM, LoadMode::k32bpb, TileMode::k32bpp}, + {DXGI_FORMAT_R16G16_UNORM, LoadMode::k32bpb, TileMode::k32bpp, + DXGI_FORMAT_UNKNOWN, LoadMode::kUnknown}, // k_8_8_8_8_A - {DXGI_FORMAT_UNKNOWN, LoadMode::kUnknown, TileMode::kUnknown}, + {DXGI_FORMAT_UNKNOWN, LoadMode::kUnknown, TileMode::kUnknown, + DXGI_FORMAT_UNKNOWN, LoadMode::kUnknown}, // k_4_4_4_4 - {DXGI_FORMAT_B4G4R4A4_UNORM, LoadMode::k16bpb, TileMode::kUnknown}, + {DXGI_FORMAT_B4G4R4A4_UNORM, LoadMode::k16bpb, TileMode::kUnknown, + DXGI_FORMAT_UNKNOWN, LoadMode::kUnknown}, // k_10_11_11 - {DXGI_FORMAT_UNKNOWN, LoadMode::kUnknown, TileMode::kUnknown}, + {DXGI_FORMAT_UNKNOWN, LoadMode::kUnknown, TileMode::kUnknown, + DXGI_FORMAT_UNKNOWN, LoadMode::kUnknown}, // k_11_11_10 - {DXGI_FORMAT_UNKNOWN, LoadMode::kUnknown, TileMode::kUnknown}, + {DXGI_FORMAT_UNKNOWN, LoadMode::kUnknown, TileMode::kUnknown, + DXGI_FORMAT_UNKNOWN, LoadMode::kUnknown}, // k_DXT1 - {DXGI_FORMAT_BC1_UNORM, LoadMode::k64bpb, TileMode::kUnknown}, + {DXGI_FORMAT_BC1_UNORM, LoadMode::k64bpb, TileMode::kUnknown, + DXGI_FORMAT_R8G8B8A8_UNORM, LoadMode::kDXT1ToRGBA8}, // k_DXT2_3 - {DXGI_FORMAT_BC2_UNORM, LoadMode::k128bpb, TileMode::kUnknown}, + {DXGI_FORMAT_BC2_UNORM, LoadMode::k128bpb, TileMode::kUnknown, + DXGI_FORMAT_R8G8B8A8_UNORM, LoadMode::kDXT3ToRGBA8}, // k_DXT4_5 - {DXGI_FORMAT_BC3_UNORM, LoadMode::k128bpb, TileMode::kUnknown}, + {DXGI_FORMAT_BC3_UNORM, LoadMode::k128bpb, TileMode::kUnknown, + DXGI_FORMAT_R8G8B8A8_UNORM, LoadMode::kDXT5ToRGBA8}, // k_16_16_16_16_EDRAM - {DXGI_FORMAT_R16G16B16A16_UNORM, LoadMode::k64bpb, TileMode::k64bpp}, + {DXGI_FORMAT_R16G16B16A16_UNORM, LoadMode::k64bpb, TileMode::k64bpp, + DXGI_FORMAT_UNKNOWN, LoadMode::kUnknown}, // R32_FLOAT for depth because shaders would require an additional SRV to // sample stencil, which we don't provide. // k_24_8 - {DXGI_FORMAT_R32_FLOAT, LoadMode::kDepthUnorm, TileMode::kUnknown}, + {DXGI_FORMAT_R32_FLOAT, LoadMode::kDepthUnorm, TileMode::kUnknown, + DXGI_FORMAT_UNKNOWN, LoadMode::kUnknown}, // k_24_8_FLOAT - {DXGI_FORMAT_R32_FLOAT, LoadMode::kDepthFloat, TileMode::kUnknown}, + {DXGI_FORMAT_R32_FLOAT, LoadMode::kDepthFloat, TileMode::kUnknown, + DXGI_FORMAT_UNKNOWN, LoadMode::kUnknown}, // k_16 - {DXGI_FORMAT_R16_UNORM, LoadMode::k16bpb, TileMode::kUnknown}, + {DXGI_FORMAT_R16_UNORM, LoadMode::k16bpb, TileMode::kUnknown, + DXGI_FORMAT_UNKNOWN, LoadMode::kUnknown}, // k_16_16 - {DXGI_FORMAT_R16G16_UNORM, LoadMode::k32bpb, TileMode::k32bpp}, + {DXGI_FORMAT_R16G16_UNORM, LoadMode::k32bpb, TileMode::k32bpp, + DXGI_FORMAT_UNKNOWN, LoadMode::kUnknown}, // k_16_16_16_16 - {DXGI_FORMAT_R16G16B16A16_UNORM, LoadMode::k64bpb, TileMode::k64bpp}, + {DXGI_FORMAT_R16G16B16A16_UNORM, LoadMode::k64bpb, TileMode::k64bpp, + DXGI_FORMAT_UNKNOWN, LoadMode::kUnknown}, // k_16_EXPAND - {DXGI_FORMAT_R16_FLOAT, LoadMode::k16bpb, TileMode::kUnknown}, + {DXGI_FORMAT_R16_FLOAT, LoadMode::k16bpb, TileMode::kUnknown, + DXGI_FORMAT_UNKNOWN, LoadMode::kUnknown}, // k_16_16_EXPAND - {DXGI_FORMAT_R16G16_FLOAT, LoadMode::k32bpb, TileMode::k32bpp}, + {DXGI_FORMAT_R16G16_FLOAT, LoadMode::k32bpb, TileMode::k32bpp, + DXGI_FORMAT_UNKNOWN, LoadMode::kUnknown}, // k_16_16_16_16_EXPAND - {DXGI_FORMAT_R16G16B16A16_FLOAT, LoadMode::k64bpb, TileMode::k64bpp}, + {DXGI_FORMAT_R16G16B16A16_FLOAT, LoadMode::k64bpb, TileMode::k64bpp, + DXGI_FORMAT_UNKNOWN, LoadMode::kUnknown}, // k_16_FLOAT - {DXGI_FORMAT_R16_FLOAT, LoadMode::k16bpb, TileMode::kUnknown}, + {DXGI_FORMAT_R16_FLOAT, LoadMode::k16bpb, TileMode::kUnknown, + DXGI_FORMAT_UNKNOWN, LoadMode::kUnknown}, // k_16_16_FLOAT - {DXGI_FORMAT_R16G16_FLOAT, LoadMode::k32bpb, TileMode::k32bpp}, + {DXGI_FORMAT_R16G16_FLOAT, LoadMode::k32bpb, TileMode::k32bpp, + DXGI_FORMAT_UNKNOWN, LoadMode::kUnknown}, // k_16_16_16_16_FLOAT - {DXGI_FORMAT_R16G16B16A16_FLOAT, LoadMode::k64bpb, TileMode::k64bpp}, + {DXGI_FORMAT_R16G16B16A16_FLOAT, LoadMode::k64bpb, TileMode::k64bpp, + DXGI_FORMAT_UNKNOWN, LoadMode::kUnknown}, // k_32 - {DXGI_FORMAT_UNKNOWN, LoadMode::kUnknown, TileMode::kUnknown}, + {DXGI_FORMAT_UNKNOWN, LoadMode::kUnknown, TileMode::kUnknown, + DXGI_FORMAT_UNKNOWN, LoadMode::kUnknown}, // k_32_32 - {DXGI_FORMAT_UNKNOWN, LoadMode::kUnknown, TileMode::kUnknown}, + {DXGI_FORMAT_UNKNOWN, LoadMode::kUnknown, TileMode::kUnknown, + DXGI_FORMAT_UNKNOWN, LoadMode::kUnknown}, // k_32_32_32_32 - {DXGI_FORMAT_UNKNOWN, LoadMode::kUnknown, TileMode::kUnknown}, + {DXGI_FORMAT_UNKNOWN, LoadMode::kUnknown, TileMode::kUnknown, + DXGI_FORMAT_UNKNOWN, LoadMode::kUnknown}, // k_32_FLOAT - {DXGI_FORMAT_R32_FLOAT, LoadMode::k32bpb, TileMode::k32bpp}, + {DXGI_FORMAT_R32_FLOAT, LoadMode::k32bpb, TileMode::k32bpp, + DXGI_FORMAT_UNKNOWN, LoadMode::kUnknown}, // k_32_32_FLOAT - {DXGI_FORMAT_R32G32_FLOAT, LoadMode::k64bpb, TileMode::k64bpp}, + {DXGI_FORMAT_R32G32_FLOAT, LoadMode::k64bpb, TileMode::k64bpp, + DXGI_FORMAT_UNKNOWN, LoadMode::kUnknown}, // k_32_32_32_32_FLOAT - {DXGI_FORMAT_R32G32B32A32_FLOAT, LoadMode::k128bpb, TileMode::kUnknown}, + {DXGI_FORMAT_R32G32B32A32_FLOAT, LoadMode::k128bpb, TileMode::kUnknown, + DXGI_FORMAT_UNKNOWN, LoadMode::kUnknown}, // k_32_AS_8 - {DXGI_FORMAT_UNKNOWN, LoadMode::kUnknown, TileMode::kUnknown}, + {DXGI_FORMAT_UNKNOWN, LoadMode::kUnknown, TileMode::kUnknown, + DXGI_FORMAT_UNKNOWN, LoadMode::kUnknown}, // k_32_AS_8_8 - {DXGI_FORMAT_UNKNOWN, LoadMode::kUnknown, TileMode::kUnknown}, + {DXGI_FORMAT_UNKNOWN, LoadMode::kUnknown, TileMode::kUnknown, + DXGI_FORMAT_UNKNOWN, LoadMode::kUnknown}, // k_16_MPEG - {DXGI_FORMAT_UNKNOWN, LoadMode::kUnknown, TileMode::kUnknown}, + {DXGI_FORMAT_UNKNOWN, LoadMode::kUnknown, TileMode::kUnknown, + DXGI_FORMAT_UNKNOWN, LoadMode::kUnknown}, // k_16_16_MPEG - {DXGI_FORMAT_UNKNOWN, LoadMode::kUnknown, TileMode::kUnknown}, + {DXGI_FORMAT_UNKNOWN, LoadMode::kUnknown, TileMode::kUnknown, + DXGI_FORMAT_UNKNOWN, LoadMode::kUnknown}, // k_8_INTERLACED - {DXGI_FORMAT_UNKNOWN, LoadMode::kUnknown, TileMode::kUnknown}, + {DXGI_FORMAT_UNKNOWN, LoadMode::kUnknown, TileMode::kUnknown, + DXGI_FORMAT_UNKNOWN, LoadMode::kUnknown}, // k_32_AS_8_INTERLACED - {DXGI_FORMAT_UNKNOWN, LoadMode::kUnknown, TileMode::kUnknown}, + {DXGI_FORMAT_UNKNOWN, LoadMode::kUnknown, TileMode::kUnknown, + DXGI_FORMAT_UNKNOWN, LoadMode::kUnknown}, // k_32_AS_8_8_INTERLACED - {DXGI_FORMAT_UNKNOWN, LoadMode::kUnknown, TileMode::kUnknown}, + {DXGI_FORMAT_UNKNOWN, LoadMode::kUnknown, TileMode::kUnknown, + DXGI_FORMAT_UNKNOWN, LoadMode::kUnknown}, // k_16_INTERLACED - {DXGI_FORMAT_UNKNOWN, LoadMode::kUnknown, TileMode::kUnknown}, + {DXGI_FORMAT_UNKNOWN, LoadMode::kUnknown, TileMode::kUnknown, + DXGI_FORMAT_UNKNOWN, LoadMode::kUnknown}, // k_16_MPEG_INTERLACED - {DXGI_FORMAT_UNKNOWN, LoadMode::kUnknown, TileMode::kUnknown}, + {DXGI_FORMAT_UNKNOWN, LoadMode::kUnknown, TileMode::kUnknown, + DXGI_FORMAT_UNKNOWN, LoadMode::kUnknown}, // k_16_16_MPEG_INTERLACED - {DXGI_FORMAT_UNKNOWN, LoadMode::kUnknown, TileMode::kUnknown}, + {DXGI_FORMAT_UNKNOWN, LoadMode::kUnknown, TileMode::kUnknown, + DXGI_FORMAT_UNKNOWN, LoadMode::kUnknown}, // k_DXN - {DXGI_FORMAT_BC5_UNORM, LoadMode::k128bpb, TileMode::kUnknown}, + {DXGI_FORMAT_BC5_UNORM, LoadMode::k128bpb, TileMode::kUnknown, + DXGI_FORMAT_R8G8_UNORM, LoadMode::kDXNToRG8}, // k_8_8_8_8_AS_16_16_16_16 - {DXGI_FORMAT_R8G8B8A8_UNORM, LoadMode::k32bpb, TileMode::k32bpp}, + {DXGI_FORMAT_R8G8B8A8_UNORM, LoadMode::k32bpb, TileMode::k32bpp, + DXGI_FORMAT_UNKNOWN, LoadMode::kUnknown}, // k_DXT1_AS_16_16_16_16 - {DXGI_FORMAT_BC1_UNORM, LoadMode::k64bpb, TileMode::kUnknown}, + {DXGI_FORMAT_BC1_UNORM, LoadMode::k64bpb, TileMode::kUnknown, + DXGI_FORMAT_R8G8B8A8_UNORM, LoadMode::kDXT1ToRGBA8}, // k_DXT2_3_AS_16_16_16_16 - {DXGI_FORMAT_BC2_UNORM, LoadMode::k128bpb, TileMode::kUnknown}, + {DXGI_FORMAT_BC2_UNORM, LoadMode::k128bpb, TileMode::kUnknown, + DXGI_FORMAT_R8G8B8A8_UNORM, LoadMode::kDXT3ToRGBA8}, // k_DXT4_5_AS_16_16_16_16 - {DXGI_FORMAT_BC3_UNORM, LoadMode::k128bpb, TileMode::kUnknown}, + {DXGI_FORMAT_BC3_UNORM, LoadMode::k128bpb, TileMode::kUnknown, + DXGI_FORMAT_R8G8B8A8_UNORM, LoadMode::kDXT5ToRGBA8}, // k_2_10_10_10_AS_16_16_16_16 - {DXGI_FORMAT_R10G10B10A2_UNORM, LoadMode::k32bpb, TileMode::k32bpp}, + {DXGI_FORMAT_R10G10B10A2_UNORM, LoadMode::k32bpb, TileMode::k32bpp, + DXGI_FORMAT_UNKNOWN, LoadMode::kUnknown}, // k_10_11_11_AS_16_16_16_16 - {DXGI_FORMAT_UNKNOWN, LoadMode::kUnknown, TileMode::kUnknown}, + {DXGI_FORMAT_UNKNOWN, LoadMode::kUnknown, TileMode::kUnknown, + DXGI_FORMAT_UNKNOWN, LoadMode::kUnknown}, // k_11_11_10_AS_16_16_16_16 - {DXGI_FORMAT_UNKNOWN, LoadMode::kUnknown, TileMode::kUnknown}, + {DXGI_FORMAT_UNKNOWN, LoadMode::kUnknown, TileMode::kUnknown, + DXGI_FORMAT_UNKNOWN, LoadMode::kUnknown}, // k_32_32_32_FLOAT - {DXGI_FORMAT_UNKNOWN, LoadMode::kUnknown, TileMode::kUnknown}, + {DXGI_FORMAT_UNKNOWN, LoadMode::kUnknown, TileMode::kUnknown, + DXGI_FORMAT_UNKNOWN, LoadMode::kUnknown}, // k_DXT3A - {DXGI_FORMAT_BC2_UNORM, LoadMode::kDXT3A, TileMode::kUnknown}, + {DXGI_FORMAT_R8_UNORM, LoadMode::kDXT3A, TileMode::kUnknown, + DXGI_FORMAT_UNKNOWN, LoadMode::kUnknown}, // k_DXT5A - {DXGI_FORMAT_BC4_UNORM, LoadMode::k64bpb, TileMode::kUnknown}, + {DXGI_FORMAT_BC4_UNORM, LoadMode::k64bpb, TileMode::kUnknown, + DXGI_FORMAT_R8_UNORM, LoadMode::kDXT5AToR8}, // k_CTX1 - {DXGI_FORMAT_R8G8_UNORM, LoadMode::kCTX1, TileMode::kUnknown}, + {DXGI_FORMAT_R8G8_UNORM, LoadMode::kCTX1, TileMode::kUnknown, + DXGI_FORMAT_UNKNOWN, LoadMode::kUnknown}, // k_DXT3A_AS_1_1_1_1 - {DXGI_FORMAT_UNKNOWN, LoadMode::kUnknown, TileMode::kUnknown}, + {DXGI_FORMAT_UNKNOWN, LoadMode::kUnknown, TileMode::kUnknown, + DXGI_FORMAT_UNKNOWN, LoadMode::kUnknown}, // k_8_8_8_8_GAMMA - {DXGI_FORMAT_R8G8B8A8_UNORM, LoadMode::k32bpb, TileMode::k32bpp}, + {DXGI_FORMAT_R8G8B8A8_UNORM, LoadMode::k32bpb, TileMode::k32bpp, + DXGI_FORMAT_UNKNOWN, LoadMode::kUnknown}, // k_2_10_10_10_FLOAT_EDRAM - {DXGI_FORMAT_UNKNOWN, LoadMode::kUnknown, TileMode::kUnknown}, + {DXGI_FORMAT_UNKNOWN, LoadMode::kUnknown, TileMode::kUnknown, + DXGI_FORMAT_UNKNOWN, LoadMode::kUnknown}, }; const char* const TextureCache::dimension_names_[4] = {"1D", "2D", "3D", @@ -183,8 +250,11 @@ const TextureCache::LoadModeInfo TextureCache::load_mode_info_[] = { {texture_load_64bpb_cs, sizeof(texture_load_64bpb_cs)}, {texture_load_128bpb_cs, sizeof(texture_load_128bpb_cs)}, {texture_load_dxt1_rgba8_cs, sizeof(texture_load_dxt1_rgba8_cs)}, + {texture_load_dxt3_rgba8_cs, sizeof(texture_load_dxt3_rgba8_cs)}, {texture_load_dxt5_rgba8_cs, sizeof(texture_load_dxt5_rgba8_cs)}, + {texture_load_dxn_rg8_cs, sizeof(texture_load_dxn_rg8_cs)}, {texture_load_dxt3a_cs, sizeof(texture_load_dxt3a_cs)}, + {texture_load_dxt5a_r8_cs, sizeof(texture_load_dxt5a_r8_cs)}, {texture_load_ctx1_cs, sizeof(texture_load_ctx1_cs)}, {texture_load_depth_unorm_cs, sizeof(texture_load_depth_unorm_cs)}, {texture_load_depth_float_cs, sizeof(texture_load_depth_float_cs)}, @@ -399,7 +469,7 @@ void TextureCache::WriteTextureSRV(uint32_t fetch_constant, D3D12_CPU_DESCRIPTOR_HANDLE handle) { const TextureBinding& binding = texture_bindings_[fetch_constant]; D3D12_SHADER_RESOURCE_VIEW_DESC desc; - desc.Format = host_formats_[uint32_t(binding.key.format)].dxgi_format; + desc.Format = GetDXGIFormat(binding.key); if (desc.Format == DXGI_FORMAT_UNKNOWN) { // A null descriptor must still have a valid format. desc.Format = DXGI_FORMAT_R8G8B8A8_UNORM; @@ -633,7 +703,7 @@ bool TextureCache::RequestSwapTexture(D3D12_CPU_DESCRIPTOR_HANDLE handle) { D3D12_RESOURCE_STATE_PIXEL_SHADER_RESOURCE); texture->state = D3D12_RESOURCE_STATE_PIXEL_SHADER_RESOURCE; D3D12_SHADER_RESOURCE_VIEW_DESC srv_desc; - srv_desc.Format = host_formats_[uint32_t(key.format)].dxgi_format; + srv_desc.Format = GetDXGIFormat(key); srv_desc.ViewDimension = D3D12_SRV_DIMENSION_TEXTURE2D; srv_desc.Shader4ComponentMapping = swizzle | @@ -648,6 +718,18 @@ bool TextureCache::RequestSwapTexture(D3D12_CPU_DESCRIPTOR_HANDLE handle) { return true; } +bool TextureCache::IsDecompressionNeeded(TextureFormat format, uint32_t width, + uint32_t height) { + DXGI_FORMAT dxgi_format_uncompressed = + host_formats_[uint32_t(format)].dxgi_format_uncompressed; + if (dxgi_format_uncompressed == DXGI_FORMAT_UNKNOWN) { + return false; + } + const FormatInfo* format_info = FormatInfo::Get(format); + return (width & (format_info->block_width - 1)) != 0 || + (height & (format_info->block_height - 1)) != 0; +} + void TextureCache::TextureKeyFromFetchConstant( const xenos::xe_gpu_texture_fetch_t& fetch, TextureKey& key_out, uint32_t& swizzle_out) { @@ -750,14 +832,13 @@ void TextureCache::TextureKeyFromFetchConstant( // Swap red and blue. swizzle ^= ((~swizzle & (1 | (1 << 3) | (1 << 6) | (1 << 9))) << 1) & (swizzle_not_constant >> 1); - } else if (format == TextureFormat::k_DXT3A) { - // DXT3A is emulated as DXT3 with zero color, but the alpha should be - // replicated into all channels. + } else if (format == TextureFormat::k_DXT3A || + format == TextureFormat::k_DXT5A) { + // DXT3A is emulated as R8, DXT5A is emulated as BC4 or (for unaligned size) + // R8, but DXT5 alpha (in the red component of R8 and BC4) should be + // replicated. // http://fileadmin.cs.lth.se/cs/Personal/Michael_Doggett/talks/unc-xenos-doggett.pdf - // If not 0.0 or 1.0 (if the high bit isn't set), make 3 (alpha). - swizzle |= (swizzle_not_constant >> 1) | (swizzle_not_constant >> 2); - } else if (format == TextureFormat::k_DXT5A) { - // DXT5A is emulated as BC4, but DXT5 alpha (BC4 red) should be replicated. + // If not 0.0 or 1.0 (if the high bit isn't set), make 0 (red). swizzle &= ~((swizzle_not_constant >> 1) | (swizzle_not_constant >> 2)); } swizzle_out = swizzle; @@ -803,7 +884,7 @@ TextureCache::Texture* TextureCache::FindOrCreateTexture(TextureKey key) { // Create the resource. If failed to create one, don't create a texture object // at all so it won't be in indeterminate state. D3D12_RESOURCE_DESC desc; - desc.Format = host_formats_[uint32_t(key.format)].dxgi_format; + desc.Format = GetDXGIFormat(key); if (desc.Format == DXGI_FORMAT_UNKNOWN) { return nullptr; } @@ -921,12 +1002,17 @@ bool TextureCache::LoadTextureData(Texture* texture) { auto device = provider->GetDevice(); // Get the pipeline. - const HostFormat& host_format = host_formats_[uint32_t(texture->key.format)]; - if (host_format.load_mode == LoadMode::kUnknown) { + TextureFormat guest_format = texture->key.format; + uint32_t width = texture->key.width; + uint32_t height = texture->key.height; + bool decompress = IsDecompressionNeeded(guest_format, width, height); + const HostFormat& host_format = host_formats_[uint32_t(guest_format)]; + LoadMode load_mode = + decompress ? host_format.decompress_mode : host_format.load_mode; + if (load_mode == LoadMode::kUnknown) { return false; } - ID3D12PipelineState* pipeline = - load_pipelines_[uint32_t(host_format.load_mode)]; + ID3D12PipelineState* pipeline = load_pipelines_[uint32_t(load_mode)]; if (pipeline == nullptr) { return false; } @@ -947,11 +1033,8 @@ bool TextureCache::LoadTextureData(Texture* texture) { // Get the guest layout. bool is_3d = texture->key.dimension == Dimension::k3D; - uint32_t width = texture->key.width; - uint32_t height = texture->key.height; uint32_t depth = is_3d ? texture->key.depth : 1; uint32_t slice_count = is_3d ? 1 : texture->key.depth; - TextureFormat guest_format = texture->key.format; const FormatInfo* guest_format_info = FormatInfo::Get(guest_format); uint32_t block_width = guest_format_info->block_width; uint32_t block_height = guest_format_info->block_height; diff --git a/src/xenia/gpu/d3d12/texture_cache.h b/src/xenia/gpu/d3d12/texture_cache.h index 1bc260fce..1ec36477a 100644 --- a/src/xenia/gpu/d3d12/texture_cache.h +++ b/src/xenia/gpu/d3d12/texture_cache.h @@ -99,9 +99,12 @@ class TextureCache { k32bpb, k64bpb, k128bpb, - kDXT1AsRGBA8, - kDXT5AsRGBA8, + kDXT1ToRGBA8, + kDXT3ToRGBA8, + kDXT5ToRGBA8, + kDXNToRG8, kDXT3A, + kDXT5AToR8, kCTX1, kDepthUnorm, kDepthFloat, @@ -133,9 +136,15 @@ class TextureCache { }; struct HostFormat { + // Format info for the regular case. DXGI_FORMAT dxgi_format; LoadMode load_mode; TileMode tile_mode; + // Uncompression info for when the regular host format for this texture is + // block-compressed, but the size is not block-aligned, and thus such + // texture cannot be created in Direct3D on PC and needs decompression. + DXGI_FORMAT dxgi_format_uncompressed; + LoadMode decompress_mode; }; union TextureKey { @@ -274,6 +283,21 @@ class TextureCache { Texture* texture; }; + // Whether decompression is needed on the host (Direct3D only allows creation + // of block-compressed textures with 4x4-aligned dimensions on PC). + static bool IsDecompressionNeeded(TextureFormat format, uint32_t width, + uint32_t height); + static inline DXGI_FORMAT GetDXGIFormat(TextureFormat format, uint32_t width, + uint32_t height) { + const HostFormat& host_format = host_formats_[uint32_t(format)]; + return IsDecompressionNeeded(format, width, height) + ? host_format.dxgi_format_uncompressed + : host_format.dxgi_format; + } + static inline DXGI_FORMAT GetDXGIFormat(TextureKey key) { + return GetDXGIFormat(key.format, key.width, key.height); + } + // Converts a texture fetch constant to a texture key, normalizing and // validating the values, or creating an invalid key. static void TextureKeyFromFetchConstant(