#if 0 // // Generated by Microsoft (R) D3D Shader Disassembler // // // Input signature: // // Name Index Mask Register SysValue Format Used // -------------------- ----- ------ -------- -------- ------- ------ // SV_POSITION 0 xyzw 0 POS float // COLOR 0 xyzw 1 NONE float xyzw // TEXCOORD 0 xy 2 NONE float // TEXCOORD 1 xyz 3 NONE float xyz // TEXCOORD 2 xyz 4 NONE float // TEXCOORD 3 xyz 5 NONE float xyz // TEXCOORD 4 xyzw 6 NONE float // TEXCOORD 5 xyz 7 NONE float // // // Output signature: // // Name Index Mask Register SysValue Format Used // -------------------- ----- ------ -------- -------- ------- ------ // SV_Target 0 xyzw 0 TARGET float xyzw // // // Constant buffer to DX9 shader constant mappings: // // Target Reg Buffer Start Reg # of Regs Data Conversion // ---------- ------- --------- --------- ---------------------- // c0 cb0 0 1 ( FLT, FLT, FLT, FLT) // c1 cb0 2 1 ( FLT, FLT, FLT, FLT) // c2 cb0 4 1 ( FLT, FLT, FLT, FLT) // c3 cb1 0 4 ( FLT, FLT, FLT, FLT) // c7 cb1 9 3 ( FLT, FLT, FLT, FLT) // c10 cb1 13 3 ( FLT, FLT, FLT, FLT) // // // Level9 shader bytecode: // ps_2_0 def c13, 9.99999975e-005, 0, 0, 0 dcl t0 // pixel<4,5,6,7> dcl t2.xyz // pixel<10,11,12> dcl t4.xyz // pixel<16,17,18> #line 104 "C:\Users\ChuckW\Desktop\D3D11 Projects\DirectXTK\Src\Shaders\DGSLPhong.hlsl" mov r0.xyz, c1 // MaterialVars::MaterialSpecular<0,1,2> mul r1.xyz, r0, c4 mul r2.xyz, r0, c5 #line 122 dp3 r0.w, t4, t4 rsq r0.w, r0.w #line 101 mad r3.xyz, t4, r0.w, c8 nrm r4.xyz, r3 // ::vHalf<0,1,2> #line 121 nrm r3.xyz, t2 // ::worldNormal<0,1,2> #line 102 dp3_sat r1.w, r3, r4 // ::specularAmount<0> mov r2.w, c2.x // MaterialVars::MaterialSpecularPower<0> max r3.w, r2.w, c13.x pow r2.w, r1.w, r3.w mul r1.w, r2.w, c11.x // ::specularAmount<0> mul r2.xyz, r1.w, r2 // ::specular<0,1,2> #line 101 mad r4.xyz, t4, r0.w, c7 mad r5.xyz, t4, r0.w, c9 nrm r6.xyz, r5 // ::vHalf<0,1,2> dp3_sat r0.w, r3, r6 // ::specularAmount<0> pow r1.w, r0.w, r3.w mul r0.w, r1.w, c12.x // ::specularAmount<0> nrm r5.xyz, r4 // ::vHalf<0,1,2> dp3_sat r1.w, r3, r5 // ::specularAmount<0> pow r2.w, r1.w, r3.w mul r1.w, r2.w, c10.x // ::specularAmount<0> #line 130 mad r1.xyz, r1, r1.w, r2 // ::local4<0,1,2> #line 104 mul r0.xyz, r0, c6 #line 130 mad r0.xyz, r0, r0.w, r1 // ::local4<0,1,2> #line 82 dp3_sat r0.w, c7, r3 // ::diffuseAmount<0> mul r1.xyz, r0.w, c4 mul r1.xyz, r1, t0 // ::diffuse<0,1,2> #line 129 mov r2.xyz, c0 // MaterialVars::MaterialAmbient<0,1,2> mad r1.xyz, r2, c3, r1 // ::local1<0,1,2> #line 82 dp3_sat r0.w, c8, r3 // ::diffuseAmount<0> dp3_sat r1.w, c9, r3 // ::diffuseAmount<0> mul r2.xyz, r1.w, c6 mul r3.xyz, r0.w, c5 #line 129 mad r1.xyz, r3, t0, r1 // ::local1<0,1,2> mad_sat r1.xyz, r2, t0, r1 // ::local1<0,1,2> #line 134 add r0.xyz, r0, r1 // CombineRGBWithAlpha::rgb<0,1,2> mov r0.w, t0.w mov oC0, r0 // ::main<0,1,2,3> // approximately 55 instruction slots used ps_4_0 dcl_constantbuffer CB0[5], immediateIndexed dcl_constantbuffer CB1[16], immediateIndexed dcl_input_ps linear v1.xyzw dcl_input_ps linear v3.xyz dcl_input_ps linear v5.xyz dcl_output o0.xyzw dcl_temps 5 mul r0.xyz, cb0[2].xyzx, cb1[1].xyzx mul r1.xyz, cb0[2].xyzx, cb1[2].xyzx dp3 r0.w, v5.xyzx, v5.xyzx rsq r0.w, r0.w mad r2.xyz, v5.xyzx, r0.wwww, cb1[10].xyzx dp3 r1.w, r2.xyzx, r2.xyzx rsq r1.w, r1.w mul r2.xyz, r1.wwww, r2.xyzx dp3 r1.w, v3.xyzx, v3.xyzx rsq r1.w, r1.w mul r3.xyz, r1.wwww, v3.xyzx dp3_sat r1.w, r3.xyzx, r2.xyzx log r1.w, r1.w max r2.x, cb0[4].x, l(0.000100) mul r1.w, r1.w, r2.x exp r1.w, r1.w mul r1.w, r1.w, cb1[14].x mul r1.xyz, r1.wwww, r1.xyzx mad r2.yzw, v5.xxyz, r0.wwww, cb1[9].xxyz mad r4.xyz, v5.xyzx, r0.wwww, cb1[11].xyzx dp3 r0.w, r2.yzwy, r2.yzwy rsq r0.w, r0.w mul r2.yzw, r0.wwww, r2.yyzw dp3_sat r0.w, r3.xyzx, r2.yzwy log r0.w, r0.w mul r0.w, r0.w, r2.x exp r0.w, r0.w mul r0.w, r0.w, cb1[13].x mad r0.xyz, r0.xyzx, r0.wwww, r1.xyzx mul r1.xyz, cb0[2].xyzx, cb1[3].xyzx dp3 r0.w, r4.xyzx, r4.xyzx rsq r0.w, r0.w mul r2.yzw, r0.wwww, r4.xxyz dp3_sat r0.w, r3.xyzx, r2.yzwy log r0.w, r0.w mul r0.w, r0.w, r2.x exp r0.w, r0.w mul r0.w, r0.w, cb1[15].x mad r0.xyz, r1.xyzx, r0.wwww, r0.xyzx dp3_sat r0.w, cb1[9].xyzx, r3.xyzx mul r1.xyz, r0.wwww, cb1[1].xyzx mul r1.xyz, r1.xyzx, v1.xyzx mad r1.xyz, cb0[0].xyzx, cb1[0].xyzx, r1.xyzx dp3_sat r0.w, cb1[10].xyzx, r3.xyzx dp3_sat r1.w, cb1[11].xyzx, r3.xyzx mul r2.xyz, r1.wwww, cb1[3].xyzx mul r3.xyz, r0.wwww, cb1[2].xyzx mad r1.xyz, r3.xyzx, v1.xyzx, r1.xyzx mad_sat r1.xyz, r2.xyzx, v1.xyzx, r1.xyzx add o0.xyz, r0.xyzx, r1.xyzx mov o0.w, v1.w ret // Approximately 0 instruction slots used #endif const BYTE DGSLPhong_main[] = { 68, 88, 66, 67, 145, 228, 63, 219, 246, 199, 6, 222, 145, 182, 226, 253, 100, 9, 201, 136, 1, 0, 0, 0, 8, 17, 0, 0, 4, 0, 0, 0, 48, 0, 0, 0, 180, 9, 0, 0, 232, 15, 0, 0, 212, 16, 0, 0, 65, 111, 110, 57, 124, 9, 0, 0, 124, 9, 0, 0, 0, 2, 255, 255, 16, 9, 0, 0, 108, 0, 0, 0, 6, 0, 36, 0, 0, 0, 108, 0, 0, 0, 108, 0, 0, 0, 36, 0, 0, 0, 108, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 4, 0, 1, 0, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 4, 0, 3, 0, 0, 0, 0, 0, 1, 0, 9, 0, 3, 0, 7, 0, 0, 0, 0, 0, 1, 0, 13, 0, 3, 0, 10, 0, 0, 0, 0, 0, 0, 2, 255, 255, 254, 255, 144, 1, 68, 66, 85, 71, 40, 0, 0, 0, 20, 6, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 116, 0, 0, 0, 45, 0, 0, 0, 120, 0, 0, 0, 14, 0, 0, 0, 252, 4, 0, 0, 36, 3, 0, 0, 67, 58, 92, 85, 115, 101, 114, 115, 92, 67, 104, 117, 99, 107, 87, 92, 68, 101, 115, 107, 116, 111, 112, 92, 68, 51, 68, 49, 49, 32, 80, 114, 111, 106, 101, 99, 116, 115, 92, 68, 105, 114, 101, 99, 116, 88, 84, 75, 92, 83, 114, 99, 92, 83, 104, 97, 100, 101, 114, 115, 92, 68, 71, 83, 76, 80, 104, 111, 110, 103, 46, 104, 108, 115, 108, 0, 40, 0, 0, 0, 0, 0, 255, 255, 72, 6, 0, 0, 0, 0, 255, 255, 96, 6, 0, 0, 0, 0, 255, 255, 108, 6, 0, 0, 0, 0, 255, 255, 120, 6, 0, 0, 104, 0, 0, 0, 132, 6, 0, 0, 104, 0, 0, 0, 144, 6, 0, 0, 104, 0, 0, 0, 160, 6, 0, 0, 122, 0, 0, 0, 176, 6, 0, 0, 122, 0, 0, 0, 192, 6, 0, 0, 101, 0, 0, 0, 204, 6, 0, 0, 101, 0, 0, 0, 224, 6, 0, 0, 121, 0, 0, 0, 236, 6, 0, 0, 102, 0, 0, 0, 248, 6, 0, 0, 103, 0, 0, 0, 8, 7, 0, 0, 103, 0, 0, 0, 20, 7, 0, 0, 103, 0, 0, 0, 36, 7, 0, 0, 103, 0, 0, 0, 52, 7, 0, 0, 104, 0, 0, 0, 68, 7, 0, 0, 101, 0, 0, 0, 84, 7, 0, 0, 101, 0, 0, 0, 104, 7, 0, 0, 101, 0, 0, 0, 124, 7, 0, 0, 102, 0, 0, 0, 136, 7, 0, 0, 103, 0, 0, 0, 152, 7, 0, 0, 103, 0, 0, 0, 168, 7, 0, 0, 101, 0, 0, 0, 184, 7, 0, 0, 102, 0, 0, 0, 196, 7, 0, 0, 103, 0, 0, 0, 212, 7, 0, 0, 103, 0, 0, 0, 228, 7, 0, 0, 130, 0, 0, 0, 244, 7, 0, 0, 104, 0, 0, 0, 8, 8, 0, 0, 130, 0, 0, 0, 24, 8, 0, 0, 82, 0, 0, 0, 44, 8, 0, 0, 83, 0, 0, 0, 60, 8, 0, 0, 83, 0, 0, 0, 76, 8, 0, 0, 129, 0, 0, 0, 92, 8, 0, 0, 129, 0, 0, 0, 104, 8, 0, 0, 82, 0, 0, 0, 124, 8, 0, 0, 82, 0, 0, 0, 140, 8, 0, 0, 83, 0, 0, 0, 156, 8, 0, 0, 83, 0, 0, 0, 172, 8, 0, 0, 129, 0, 0, 0, 188, 8, 0, 0, 129, 0, 0, 0, 208, 8, 0, 0, 134, 0, 0, 0, 228, 8, 0, 0, 134, 0, 0, 0, 244, 8, 0, 0, 134, 0, 0, 0, 0, 9, 0, 0, 77, 97, 116, 101, 114, 105, 97, 108, 86, 97, 114, 115, 0, 77, 97, 116, 101, 114, 105, 97, 108, 65, 109, 98, 105, 101, 110, 116, 0, 171, 171, 171, 1, 0, 3, 0, 1, 0, 4, 0, 1, 0, 0, 0, 0, 0, 0, 0, 34, 0, 0, 0, 0, 0, 1, 0, 2, 0, 255, 255, 77, 97, 116, 101, 114, 105, 97, 108, 83, 112, 101, 99, 117, 108, 97, 114, 0, 171, 171, 171, 4, 0, 0, 0, 0, 0, 1, 0, 2, 0, 255, 255, 77, 97, 116, 101, 114, 105, 97, 108, 83, 112, 101, 99, 117, 108, 97, 114, 80, 111, 119, 101, 114, 0, 171, 171, 0, 0, 3, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 255, 255, 255, 255, 255, 255, 0, 0, 100, 105, 102, 102, 117, 115, 101, 0, 1, 0, 3, 0, 1, 0, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 1, 0, 2, 0, 255, 255, 100, 105, 102, 102, 117, 115, 101, 65, 109, 111, 117, 110, 116, 0, 171, 171, 0, 0, 3, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 31, 0, 0, 0, 255, 255, 255, 255, 255, 255, 0, 0, 36, 0, 0, 0, 255, 255, 255, 255, 255, 255, 0, 0, 37, 0, 0, 0, 255, 255, 255, 255, 255, 255, 0, 0, 108, 111, 99, 97, 108, 49, 0, 171, 35, 0, 0, 0, 0, 0, 1, 0, 2, 0, 255, 255, 40, 0, 0, 0, 0, 0, 1, 0, 2, 0, 255, 255, 41, 0, 0, 0, 0, 0, 1, 0, 2, 0, 255, 255, 108, 111, 99, 97, 108, 52, 0, 171, 28, 0, 0, 0, 0, 0, 1, 0, 2, 0, 255, 255, 30, 0, 0, 0, 0, 0, 1, 0, 2, 0, 255, 255, 109, 97, 105, 110, 0, 102, 114, 97, 103, 109, 101, 110, 116, 0, 171, 171, 1, 0, 3, 0, 1, 0, 4, 0, 1, 0, 0, 0, 0, 0, 0, 0, 41, 3, 0, 0, 52, 3, 0, 0, 5, 0, 0, 0, 1, 0, 4, 0, 1, 0, 1, 0, 68, 3, 0, 0, 44, 0, 0, 0, 0, 0, 1, 0, 2, 0, 3, 0, 112, 105, 120, 101, 108, 0, 112, 111, 115, 0, 117, 118, 0, 171, 171, 171, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 119, 111, 114, 108, 100, 78, 111, 114, 109, 0, 119, 111, 114, 108, 100, 80, 111, 115, 0, 116, 111, 69, 121, 101, 0, 116, 97, 110, 103, 101, 110, 116, 0, 110, 111, 114, 109, 97, 108, 0, 110, 3, 0, 0, 52, 3, 0, 0, 112, 2, 0, 0, 52, 3, 0, 0, 114, 3, 0, 0, 120, 3, 0, 0, 136, 3, 0, 0, 120, 2, 0, 0, 146, 3, 0, 0, 120, 2, 0, 0, 155, 3, 0, 0, 120, 2, 0, 0, 161, 3, 0, 0, 52, 3, 0, 0, 169, 3, 0, 0, 120, 2, 0, 0, 5, 0, 0, 0, 1, 0, 26, 0, 1, 0, 8, 0, 176, 3, 0, 0, 1, 0, 0, 0, 4, 0, 5, 0, 6, 0, 7, 0, 2, 0, 0, 0, 10, 0, 11, 0, 12, 0, 255, 255, 3, 0, 0, 0, 16, 0, 17, 0, 18, 0, 255, 255, 67, 111, 109, 98, 105, 110, 101, 82, 71, 66, 87, 105, 116, 104, 65, 108, 112, 104, 97, 0, 114, 103, 98, 0, 42, 0, 0, 0, 0, 0, 1, 0, 2, 0, 255, 255, 115, 112, 101, 99, 117, 108, 97, 114, 0, 171, 171, 171, 17, 0, 0, 0, 0, 0, 1, 0, 2, 0, 255, 255, 115, 112, 101, 99, 117, 108, 97, 114, 65, 109, 111, 117, 110, 116, 0, 171, 12, 0, 0, 0, 255, 255, 255, 255, 255, 255, 0, 0, 16, 0, 0, 0, 255, 255, 255, 255, 255, 255, 0, 0, 21, 0, 0, 0, 255, 255, 255, 255, 255, 255, 0, 0, 23, 0, 0, 0, 255, 255, 255, 255, 255, 255, 0, 0, 25, 0, 0, 0, 255, 255, 255, 255, 255, 255, 0, 0, 27, 0, 0, 0, 255, 255, 255, 255, 255, 255, 0, 0, 118, 72, 97, 108, 102, 0, 171, 171, 10, 0, 0, 0, 0, 0, 1, 0, 2, 0, 255, 255, 20, 0, 0, 0, 0, 0, 1, 0, 2, 0, 255, 255, 24, 0, 0, 0, 0, 0, 1, 0, 2, 0, 255, 255, 119, 111, 114, 108, 100, 78, 111, 114, 109, 97, 108, 0, 11, 0, 0, 0, 0, 0, 1, 0, 2, 0, 255, 255, 224, 1, 0, 0, 237, 1, 0, 0, 0, 2, 0, 0, 1, 0, 0, 0, 16, 2, 0, 0, 224, 1, 0, 0, 28, 2, 0, 0, 0, 2, 0, 0, 1, 0, 0, 0, 48, 2, 0, 0, 224, 1, 0, 0, 60, 2, 0, 0, 84, 2, 0, 0, 1, 0, 0, 0, 100, 2, 0, 0, 0, 0, 0, 0, 112, 2, 0, 0, 120, 2, 0, 0, 1, 0, 0, 0, 136, 2, 0, 0, 0, 0, 0, 0, 148, 2, 0, 0, 164, 2, 0, 0, 3, 0, 0, 0, 180, 2, 0, 0, 0, 0, 0, 0, 216, 2, 0, 0, 120, 2, 0, 0, 3, 0, 0, 0, 224, 2, 0, 0, 0, 0, 0, 0, 4, 3, 0, 0, 120, 2, 0, 0, 2, 0, 0, 0, 12, 3, 0, 0, 0, 0, 0, 0, 36, 3, 0, 0, 76, 3, 0, 0, 1, 0, 0, 0, 92, 3, 0, 0, 36, 3, 0, 0, 104, 3, 0, 0, 240, 3, 0, 0, 3, 0, 0, 0, 0, 4, 0, 0, 36, 4, 0, 0, 56, 4, 0, 0, 120, 2, 0, 0, 1, 0, 0, 0, 60, 4, 0, 0, 0, 0, 0, 0, 72, 4, 0, 0, 120, 2, 0, 0, 1, 0, 0, 0, 84, 4, 0, 0, 0, 0, 0, 0, 96, 4, 0, 0, 164, 2, 0, 0, 6, 0, 0, 0, 112, 4, 0, 0, 0, 0, 0, 0, 184, 4, 0, 0, 120, 2, 0, 0, 3, 0, 0, 0, 192, 4, 0, 0, 0, 0, 0, 0, 228, 4, 0, 0, 120, 2, 0, 0, 1, 0, 0, 0, 240, 4, 0, 0, 77, 105, 99, 114, 111, 115, 111, 102, 116, 32, 40, 82, 41, 32, 72, 76, 83, 76, 32, 83, 104, 97, 100, 101, 114, 32, 67, 111, 109, 112, 105, 108, 101, 114, 32, 49, 48, 46, 49, 0, 81, 0, 0, 5, 13, 0, 15, 160, 23, 183, 209, 56, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 0, 0, 2, 0, 0, 0, 128, 0, 0, 15, 176, 31, 0, 0, 2, 0, 0, 0, 128, 2, 0, 7, 176, 31, 0, 0, 2, 0, 0, 0, 128, 4, 0, 7, 176, 1, 0, 0, 2, 0, 0, 7, 128, 1, 0, 228, 160, 5, 0, 0, 3, 1, 0, 7, 128, 0, 0, 228, 128, 4, 0, 228, 160, 5, 0, 0, 3, 2, 0, 7, 128, 0, 0, 228, 128, 5, 0, 228, 160, 8, 0, 0, 3, 0, 0, 8, 128, 4, 0, 228, 176, 4, 0, 228, 176, 7, 0, 0, 2, 0, 0, 8, 128, 0, 0, 255, 128, 4, 0, 0, 4, 3, 0, 7, 128, 4, 0, 228, 176, 0, 0, 255, 128, 8, 0, 228, 160, 36, 0, 0, 2, 4, 0, 7, 128, 3, 0, 228, 128, 36, 0, 0, 2, 3, 0, 7, 128, 2, 0, 228, 176, 8, 0, 0, 3, 1, 0, 24, 128, 3, 0, 228, 128, 4, 0, 228, 128, 1, 0, 0, 2, 2, 0, 8, 128, 2, 0, 0, 160, 11, 0, 0, 3, 3, 0, 8, 128, 2, 0, 255, 128, 13, 0, 0, 160, 32, 0, 0, 3, 2, 0, 8, 128, 1, 0, 255, 128, 3, 0, 255, 128, 5, 0, 0, 3, 1, 0, 8, 128, 2, 0, 255, 128, 11, 0, 0, 160, 5, 0, 0, 3, 2, 0, 7, 128, 1, 0, 255, 128, 2, 0, 228, 128, 4, 0, 0, 4, 4, 0, 7, 128, 4, 0, 228, 176, 0, 0, 255, 128, 7, 0, 228, 160, 4, 0, 0, 4, 5, 0, 7, 128, 4, 0, 228, 176, 0, 0, 255, 128, 9, 0, 228, 160, 36, 0, 0, 2, 6, 0, 7, 128, 5, 0, 228, 128, 8, 0, 0, 3, 0, 0, 24, 128, 3, 0, 228, 128, 6, 0, 228, 128, 32, 0, 0, 3, 1, 0, 8, 128, 0, 0, 255, 128, 3, 0, 255, 128, 5, 0, 0, 3, 0, 0, 8, 128, 1, 0, 255, 128, 12, 0, 0, 160, 36, 0, 0, 2, 5, 0, 7, 128, 4, 0, 228, 128, 8, 0, 0, 3, 1, 0, 24, 128, 3, 0, 228, 128, 5, 0, 228, 128, 32, 0, 0, 3, 2, 0, 8, 128, 1, 0, 255, 128, 3, 0, 255, 128, 5, 0, 0, 3, 1, 0, 8, 128, 2, 0, 255, 128, 10, 0, 0, 160, 4, 0, 0, 4, 1, 0, 7, 128, 1, 0, 228, 128, 1, 0, 255, 128, 2, 0, 228, 128, 5, 0, 0, 3, 0, 0, 7, 128, 0, 0, 228, 128, 6, 0, 228, 160, 4, 0, 0, 4, 0, 0, 7, 128, 0, 0, 228, 128, 0, 0, 255, 128, 1, 0, 228, 128, 8, 0, 0, 3, 0, 0, 24, 128, 7, 0, 228, 160, 3, 0, 228, 128, 5, 0, 0, 3, 1, 0, 7, 128, 0, 0, 255, 128, 4, 0, 228, 160, 5, 0, 0, 3, 1, 0, 7, 128, 1, 0, 228, 128, 0, 0, 228, 176, 1, 0, 0, 2, 2, 0, 7, 128, 0, 0, 228, 160, 4, 0, 0, 4, 1, 0, 7, 128, 2, 0, 228, 128, 3, 0, 228, 160, 1, 0, 228, 128, 8, 0, 0, 3, 0, 0, 24, 128, 8, 0, 228, 160, 3, 0, 228, 128, 8, 0, 0, 3, 1, 0, 24, 128, 9, 0, 228, 160, 3, 0, 228, 128, 5, 0, 0, 3, 2, 0, 7, 128, 1, 0, 255, 128, 6, 0, 228, 160, 5, 0, 0, 3, 3, 0, 7, 128, 0, 0, 255, 128, 5, 0, 228, 160, 4, 0, 0, 4, 1, 0, 7, 128, 3, 0, 228, 128, 0, 0, 228, 176, 1, 0, 228, 128, 4, 0, 0, 4, 1, 0, 23, 128, 2, 0, 228, 128, 0, 0, 228, 176, 1, 0, 228, 128, 2, 0, 0, 3, 0, 0, 7, 128, 0, 0, 228, 128, 1, 0, 228, 128, 1, 0, 0, 2, 0, 0, 8, 128, 0, 0, 255, 176, 1, 0, 0, 2, 0, 8, 15, 128, 0, 0, 228, 128, 255, 255, 0, 0, 83, 72, 68, 82, 44, 6, 0, 0, 64, 0, 0, 0, 139, 1, 0, 0, 89, 0, 0, 4, 70, 142, 32, 0, 0, 0, 0, 0, 5, 0, 0, 0, 89, 0, 0, 4, 70, 142, 32, 0, 1, 0, 0, 0, 16, 0, 0, 0, 98, 16, 0, 3, 242, 16, 16, 0, 1, 0, 0, 0, 98, 16, 0, 3, 114, 16, 16, 0, 3, 0, 0, 0, 98, 16, 0, 3, 114, 16, 16, 0, 5, 0, 0, 0, 101, 0, 0, 3, 242, 32, 16, 0, 0, 0, 0, 0, 104, 0, 0, 2, 5, 0, 0, 0, 56, 0, 0, 9, 114, 0, 16, 0, 0, 0, 0, 0, 70, 130, 32, 0, 0, 0, 0, 0, 2, 0, 0, 0, 70, 130, 32, 0, 1, 0, 0, 0, 1, 0, 0, 0, 56, 0, 0, 9, 114, 0, 16, 0, 1, 0, 0, 0, 70, 130, 32, 0, 0, 0, 0, 0, 2, 0, 0, 0, 70, 130, 32, 0, 1, 0, 0, 0, 2, 0, 0, 0, 16, 0, 0, 7, 130, 0, 16, 0, 0, 0, 0, 0, 70, 18, 16, 0, 5, 0, 0, 0, 70, 18, 16, 0, 5, 0, 0, 0, 68, 0, 0, 5, 130, 0, 16, 0, 0, 0, 0, 0, 58, 0, 16, 0, 0, 0, 0, 0, 50, 0, 0, 10, 114, 0, 16, 0, 2, 0, 0, 0, 70, 18, 16, 0, 5, 0, 0, 0, 246, 15, 16, 0, 0, 0, 0, 0, 70, 130, 32, 0, 1, 0, 0, 0, 10, 0, 0, 0, 16, 0, 0, 7, 130, 0, 16, 0, 1, 0, 0, 0, 70, 2, 16, 0, 2, 0, 0, 0, 70, 2, 16, 0, 2, 0, 0, 0, 68, 0, 0, 5, 130, 0, 16, 0, 1, 0, 0, 0, 58, 0, 16, 0, 1, 0, 0, 0, 56, 0, 0, 7, 114, 0, 16, 0, 2, 0, 0, 0, 246, 15, 16, 0, 1, 0, 0, 0, 70, 2, 16, 0, 2, 0, 0, 0, 16, 0, 0, 7, 130, 0, 16, 0, 1, 0, 0, 0, 70, 18, 16, 0, 3, 0, 0, 0, 70, 18, 16, 0, 3, 0, 0, 0, 68, 0, 0, 5, 130, 0, 16, 0, 1, 0, 0, 0, 58, 0, 16, 0, 1, 0, 0, 0, 56, 0, 0, 7, 114, 0, 16, 0, 3, 0, 0, 0, 246, 15, 16, 0, 1, 0, 0, 0, 70, 18, 16, 0, 3, 0, 0, 0, 16, 32, 0, 7, 130, 0, 16, 0, 1, 0, 0, 0, 70, 2, 16, 0, 3, 0, 0, 0, 70, 2, 16, 0, 2, 0, 0, 0, 47, 0, 0, 5, 130, 0, 16, 0, 1, 0, 0, 0, 58, 0, 16, 0, 1, 0, 0, 0, 52, 0, 0, 8, 18, 0, 16, 0, 2, 0, 0, 0, 10, 128, 32, 0, 0, 0, 0, 0, 4, 0, 0, 0, 1, 64, 0, 0, 23, 183, 209, 56, 56, 0, 0, 7, 130, 0, 16, 0, 1, 0, 0, 0, 58, 0, 16, 0, 1, 0, 0, 0, 10, 0, 16, 0, 2, 0, 0, 0, 25, 0, 0, 5, 130, 0, 16, 0, 1, 0, 0, 0, 58, 0, 16, 0, 1, 0, 0, 0, 56, 0, 0, 8, 130, 0, 16, 0, 1, 0, 0, 0, 58, 0, 16, 0, 1, 0, 0, 0, 10, 128, 32, 0, 1, 0, 0, 0, 14, 0, 0, 0, 56, 0, 0, 7, 114, 0, 16, 0, 1, 0, 0, 0, 246, 15, 16, 0, 1, 0, 0, 0, 70, 2, 16, 0, 1, 0, 0, 0, 50, 0, 0, 10, 226, 0, 16, 0, 2, 0, 0, 0, 6, 25, 16, 0, 5, 0, 0, 0, 246, 15, 16, 0, 0, 0, 0, 0, 6, 137, 32, 0, 1, 0, 0, 0, 9, 0, 0, 0, 50, 0, 0, 10, 114, 0, 16, 0, 4, 0, 0, 0, 70, 18, 16, 0, 5, 0, 0, 0, 246, 15, 16, 0, 0, 0, 0, 0, 70, 130, 32, 0, 1, 0, 0, 0, 11, 0, 0, 0, 16, 0, 0, 7, 130, 0, 16, 0, 0, 0, 0, 0, 150, 7, 16, 0, 2, 0, 0, 0, 150, 7, 16, 0, 2, 0, 0, 0, 68, 0, 0, 5, 130, 0, 16, 0, 0, 0, 0, 0, 58, 0, 16, 0, 0, 0, 0, 0, 56, 0, 0, 7, 226, 0, 16, 0, 2, 0, 0, 0, 246, 15, 16, 0, 0, 0, 0, 0, 86, 14, 16, 0, 2, 0, 0, 0, 16, 32, 0, 7, 130, 0, 16, 0, 0, 0, 0, 0, 70, 2, 16, 0, 3, 0, 0, 0, 150, 7, 16, 0, 2, 0, 0, 0, 47, 0, 0, 5, 130, 0, 16, 0, 0, 0, 0, 0, 58, 0, 16, 0, 0, 0, 0, 0, 56, 0, 0, 7, 130, 0, 16, 0, 0, 0, 0, 0, 58, 0, 16, 0, 0, 0, 0, 0, 10, 0, 16, 0, 2, 0, 0, 0, 25, 0, 0, 5, 130, 0, 16, 0, 0, 0, 0, 0, 58, 0, 16, 0, 0, 0, 0, 0, 56, 0, 0, 8, 130, 0, 16, 0, 0, 0, 0, 0, 58, 0, 16, 0, 0, 0, 0, 0, 10, 128, 32, 0, 1, 0, 0, 0, 13, 0, 0, 0, 50, 0, 0, 9, 114, 0, 16, 0, 0, 0, 0, 0, 70, 2, 16, 0, 0, 0, 0, 0, 246, 15, 16, 0, 0, 0, 0, 0, 70, 2, 16, 0, 1, 0, 0, 0, 56, 0, 0, 9, 114, 0, 16, 0, 1, 0, 0, 0, 70, 130, 32, 0, 0, 0, 0, 0, 2, 0, 0, 0, 70, 130, 32, 0, 1, 0, 0, 0, 3, 0, 0, 0, 16, 0, 0, 7, 130, 0, 16, 0, 0, 0, 0, 0, 70, 2, 16, 0, 4, 0, 0, 0, 70, 2, 16, 0, 4, 0, 0, 0, 68, 0, 0, 5, 130, 0, 16, 0, 0, 0, 0, 0, 58, 0, 16, 0, 0, 0, 0, 0, 56, 0, 0, 7, 226, 0, 16, 0, 2, 0, 0, 0, 246, 15, 16, 0, 0, 0, 0, 0, 6, 9, 16, 0, 4, 0, 0, 0, 16, 32, 0, 7, 130, 0, 16, 0, 0, 0, 0, 0, 70, 2, 16, 0, 3, 0, 0, 0, 150, 7, 16, 0, 2, 0, 0, 0, 47, 0, 0, 5, 130, 0, 16, 0, 0, 0, 0, 0, 58, 0, 16, 0, 0, 0, 0, 0, 56, 0, 0, 7, 130, 0, 16, 0, 0, 0, 0, 0, 58, 0, 16, 0, 0, 0, 0, 0, 10, 0, 16, 0, 2, 0, 0, 0, 25, 0, 0, 5, 130, 0, 16, 0, 0, 0, 0, 0, 58, 0, 16, 0, 0, 0, 0, 0, 56, 0, 0, 8, 130, 0, 16, 0, 0, 0, 0, 0, 58, 0, 16, 0, 0, 0, 0, 0, 10, 128, 32, 0, 1, 0, 0, 0, 15, 0, 0, 0, 50, 0, 0, 9, 114, 0, 16, 0, 0, 0, 0, 0, 70, 2, 16, 0, 1, 0, 0, 0, 246, 15, 16, 0, 0, 0, 0, 0, 70, 2, 16, 0, 0, 0, 0, 0, 16, 32, 0, 8, 130, 0, 16, 0, 0, 0, 0, 0, 70, 130, 32, 0, 1, 0, 0, 0, 9, 0, 0, 0, 70, 2, 16, 0, 3, 0, 0, 0, 56, 0, 0, 8, 114, 0, 16, 0, 1, 0, 0, 0, 246, 15, 16, 0, 0, 0, 0, 0, 70, 130, 32, 0, 1, 0, 0, 0, 1, 0, 0, 0, 56, 0, 0, 7, 114, 0, 16, 0, 1, 0, 0, 0, 70, 2, 16, 0, 1, 0, 0, 0, 70, 18, 16, 0, 1, 0, 0, 0, 50, 0, 0, 11, 114, 0, 16, 0, 1, 0, 0, 0, 70, 130, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 70, 130, 32, 0, 1, 0, 0, 0, 0, 0, 0, 0, 70, 2, 16, 0, 1, 0, 0, 0, 16, 32, 0, 8, 130, 0, 16, 0, 0, 0, 0, 0, 70, 130, 32, 0, 1, 0, 0, 0, 10, 0, 0, 0, 70, 2, 16, 0, 3, 0, 0, 0, 16, 32, 0, 8, 130, 0, 16, 0, 1, 0, 0, 0, 70, 130, 32, 0, 1, 0, 0, 0, 11, 0, 0, 0, 70, 2, 16, 0, 3, 0, 0, 0, 56, 0, 0, 8, 114, 0, 16, 0, 2, 0, 0, 0, 246, 15, 16, 0, 1, 0, 0, 0, 70, 130, 32, 0, 1, 0, 0, 0, 3, 0, 0, 0, 56, 0, 0, 8, 114, 0, 16, 0, 3, 0, 0, 0, 246, 15, 16, 0, 0, 0, 0, 0, 70, 130, 32, 0, 1, 0, 0, 0, 2, 0, 0, 0, 50, 0, 0, 9, 114, 0, 16, 0, 1, 0, 0, 0, 70, 2, 16, 0, 3, 0, 0, 0, 70, 18, 16, 0, 1, 0, 0, 0, 70, 2, 16, 0, 1, 0, 0, 0, 50, 32, 0, 9, 114, 0, 16, 0, 1, 0, 0, 0, 70, 2, 16, 0, 2, 0, 0, 0, 70, 18, 16, 0, 1, 0, 0, 0, 70, 2, 16, 0, 1, 0, 0, 0, 0, 0, 0, 7, 114, 32, 16, 0, 0, 0, 0, 0, 70, 2, 16, 0, 0, 0, 0, 0, 70, 2, 16, 0, 1, 0, 0, 0, 54, 0, 0, 5, 130, 32, 16, 0, 0, 0, 0, 0, 58, 16, 16, 0, 1, 0, 0, 0, 62, 0, 0, 1, 73, 83, 71, 78, 228, 0, 0, 0, 8, 0, 0, 0, 8, 0, 0, 0, 200, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 15, 0, 0, 0, 212, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 15, 15, 0, 0, 218, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 2, 0, 0, 0, 3, 0, 0, 0, 218, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 3, 0, 0, 0, 7, 7, 0, 0, 218, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 4, 0, 0, 0, 7, 0, 0, 0, 218, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 5, 0, 0, 0, 7, 7, 0, 0, 218, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 6, 0, 0, 0, 15, 0, 0, 0, 218, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 7, 0, 0, 0, 7, 0, 0, 0, 83, 86, 95, 80, 79, 83, 73, 84, 73, 79, 78, 0, 67, 79, 76, 79, 82, 0, 84, 69, 88, 67, 79, 79, 82, 68, 0, 171, 79, 83, 71, 78, 44, 0, 0, 0, 1, 0, 0, 0, 8, 0, 0, 0, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 15, 0, 0, 0, 83, 86, 95, 84, 97, 114, 103, 101, 116, 0, 171, 171 };