ogl_beamforming

Ultrasound Beamforming Implemented with OpenGL
git clone anongit@rnpnr.xyz:ogl_beamforming.git
Log | Files | Refs | Feed | Submodules | README | LICENSE

beamformer_shaders.c (124834B)


      1 /* See LICENSE for license details. */
      2 
      3 // GENERATED CODE
      4 
      5 read_only global u8 beamformer_shader_decode_bytes[] = {
      6 	0x2f, 0x2a, 0x20, 0x53, 0x65, 0x65, 0x20, 0x4c, 0x49, 0x43, 0x45, 0x4e, 0x53, 0x45, 0x20, 0x66,
      7 	0x6f, 0x72, 0x20, 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x20, 0x64, 0x65, 0x74, 0x61, 0x69,
      8 	0x6c, 0x73, 0x2e, 0x20, 0x2a, 0x2f, 0x0a, 0x0a, 0x2f, 0x2a, 0x20, 0x4e, 0x4f, 0x54, 0x45, 0x28,
      9 	0x72, 0x6e, 0x70, 0x29, 0x3a, 0x20, 0x69, 0x6e, 0x76, 0x6f, 0x6b, 0x65, 0x64, 0x20, 0x77, 0x69,
     10 	0x74, 0x68, 0x20, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x73, 0x20, 0x78, 0x20, 0x63, 0x68, 0x61,
     11 	0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x20, 0x78, 0x20, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6d, 0x69, 0x74,
     12 	0x73, 0x0a, 0x20, 0x2a, 0x20, 0x45, 0x61, 0x63, 0x68, 0x20, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e,
     13 	0x63, 0x65, 0x20, 0x65, 0x78, 0x74, 0x72, 0x61, 0x63, 0x74, 0x73, 0x20, 0x61, 0x20, 0x73, 0x69,
     14 	0x6e, 0x67, 0x6c, 0x65, 0x20, 0x74, 0x69, 0x6d, 0x65, 0x20, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65,
     15 	0x20, 0x66, 0x72, 0x6f, 0x6d, 0x20, 0x61, 0x20, 0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x20, 0x63,
     16 	0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x61, 0x6c, 0x6c, 0x20, 0x74,
     17 	0x72, 0x61, 0x6e, 0x73, 0x6d, 0x69, 0x74, 0x73, 0x0a, 0x20, 0x2a, 0x20, 0x61, 0x6e, 0x64, 0x20,
     18 	0x64, 0x6f, 0x65, 0x73, 0x20, 0x61, 0x20, 0x64, 0x6f, 0x74, 0x20, 0x70, 0x72, 0x6f, 0x64, 0x75,
     19 	0x63, 0x74, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x70, 0x70, 0x72,
     20 	0x6f, 0x70, 0x72, 0x69, 0x61, 0x74, 0x65, 0x20, 0x72, 0x6f, 0x77, 0x20, 0x6f, 0x66, 0x20, 0x74,
     21 	0x68, 0x65, 0x20, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x20, 0x68, 0x61, 0x64, 0x61, 0x6d, 0x61, 0x72,
     22 	0x64, 0x20, 0x6d, 0x61, 0x74, 0x72, 0x69, 0x78, 0x0a, 0x20, 0x2a, 0x20, 0x28, 0x75, 0x6e, 0x6c,
     23 	0x65, 0x73, 0x73, 0x20, 0x64, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x20,
     24 	0x3d, 0x3d, 0x20, 0x44, 0x45, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x4e,
     25 	0x4f, 0x4e, 0x45, 0x29, 0x2e, 0x20, 0x54, 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74,
     26 	0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x64, 0x6f, 0x74, 0x20, 0x70, 0x72, 0x6f,
     27 	0x64, 0x75, 0x63, 0x74, 0x20, 0x69, 0x73, 0x20, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x64, 0x20, 0x69,
     28 	0x6e, 0x20, 0x74, 0x68, 0x65, 0x0a, 0x20, 0x2a, 0x20, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x2e,
     29 	0x20, 0x49, 0x6e, 0x20, 0x62, 0x75, 0x6c, 0x6b, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x68, 0x61,
     30 	0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x20, 0x6f, 0x66, 0x20,
     31 	0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x20, 0x61, 0x20, 0x6d, 0x61, 0x74, 0x72,
     32 	0x69, 0x78, 0x20, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x79, 0x20, 0x6f, 0x66, 0x20, 0x74,
     33 	0x68, 0x65, 0x0a, 0x20, 0x2a, 0x20, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x2d, 0x74, 0x72, 0x61,
     34 	0x6e, 0x73, 0x6d, 0x69, 0x74, 0x20, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x20, 0x77, 0x69, 0x74, 0x68,
     35 	0x20, 0x74, 0x68, 0x65, 0x20, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x20, 0x68, 0x61, 0x64, 0x61, 0x6d,
     36 	0x61, 0x72, 0x64, 0x20, 0x6d, 0x61, 0x74, 0x72, 0x69, 0x78, 0x2e, 0x0a, 0x20, 0x2a, 0x2f, 0x0a,
     37 	0x0a, 0x23, 0x69, 0x66, 0x20, 0x20, 0x20, 0x44, 0x61, 0x74, 0x61, 0x4b, 0x69, 0x6e, 0x64, 0x20,
     38 	0x3d, 0x3d, 0x20, 0x44, 0x61, 0x74, 0x61, 0x4b, 0x69, 0x6e, 0x64, 0x5f, 0x46, 0x6c, 0x6f, 0x61,
     39 	0x74, 0x33, 0x32, 0x0a, 0x09, 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, 0x49, 0x4e, 0x50,
     40 	0x55, 0x54, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x20, 0x20, 0x20, 0x20,
     41 	0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x0a, 0x09, 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65,
     42 	0x20, 0x53, 0x41, 0x4d, 0x50, 0x4c, 0x45, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x54, 0x59, 0x50,
     43 	0x45, 0x20, 0x20, 0x20, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x0a, 0x09, 0x23, 0x64, 0x65,
     44 	0x66, 0x69, 0x6e, 0x65, 0x20, 0x53, 0x41, 0x4d, 0x50, 0x4c, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45,
     45 	0x5f, 0x43, 0x41, 0x53, 0x54, 0x28, 0x78, 0x29, 0x20, 0x20, 0x28, 0x78, 0x29, 0x0a, 0x23, 0x65,
     46 	0x6c, 0x69, 0x66, 0x20, 0x44, 0x61, 0x74, 0x61, 0x4b, 0x69, 0x6e, 0x64, 0x20, 0x3d, 0x3d, 0x20,
     47 	0x44, 0x61, 0x74, 0x61, 0x4b, 0x69, 0x6e, 0x64, 0x5f, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x33, 0x32,
     48 	0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x78, 0x0a, 0x09, 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65,
     49 	0x20, 0x49, 0x4e, 0x50, 0x55, 0x54, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x54, 0x59, 0x50, 0x45,
     50 	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, 0x65, 0x63, 0x32, 0x0a, 0x09, 0x23, 0x64, 0x65, 0x66,
     51 	0x69, 0x6e, 0x65, 0x20, 0x53, 0x41, 0x4d, 0x50, 0x4c, 0x45, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x5f,
     52 	0x54, 0x59, 0x50, 0x45, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, 0x65, 0x63, 0x32, 0x0a, 0x09, 0x23,
     53 	0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, 0x53, 0x41, 0x4d, 0x50, 0x4c, 0x45, 0x5f, 0x54, 0x59,
     54 	0x50, 0x45, 0x5f, 0x43, 0x41, 0x53, 0x54, 0x28, 0x78, 0x29, 0x20, 0x20, 0x28, 0x78, 0x29, 0x0a,
     55 	0x23, 0x65, 0x6c, 0x69, 0x66, 0x20, 0x44, 0x61, 0x74, 0x61, 0x4b, 0x69, 0x6e, 0x64, 0x20, 0x3d,
     56 	0x3d, 0x20, 0x44, 0x61, 0x74, 0x61, 0x4b, 0x69, 0x6e, 0x64, 0x5f, 0x49, 0x6e, 0x74, 0x31, 0x36,
     57 	0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x78, 0x0a, 0x09, 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65,
     58 	0x20, 0x49, 0x4e, 0x50, 0x55, 0x54, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x54, 0x59, 0x50, 0x45,
     59 	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x6e, 0x74, 0x0a, 0x09, 0x23, 0x64, 0x65, 0x66, 0x69,
     60 	0x6e, 0x65, 0x20, 0x53, 0x41, 0x4d, 0x50, 0x4c, 0x45, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x54,
     61 	0x59, 0x50, 0x45, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, 0x65, 0x63, 0x32, 0x0a, 0x09, 0x23, 0x64,
     62 	0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, 0x53, 0x41, 0x4d, 0x50, 0x4c, 0x45, 0x5f, 0x54, 0x59, 0x50,
     63 	0x45, 0x5f, 0x43, 0x41, 0x53, 0x54, 0x28, 0x78, 0x29, 0x20, 0x20, 0x76, 0x65, 0x63, 0x32, 0x28,
     64 	0x28, 0x28, 0x78, 0x29, 0x20, 0x3c, 0x3c, 0x20, 0x31, 0x36, 0x29, 0x20, 0x3e, 0x3e, 0x20, 0x31,
     65 	0x36, 0x2c, 0x20, 0x28, 0x78, 0x29, 0x20, 0x3e, 0x3e, 0x20, 0x31, 0x36, 0x29, 0x0a, 0x23, 0x65,
     66 	0x6c, 0x69, 0x66, 0x20, 0x44, 0x61, 0x74, 0x61, 0x4b, 0x69, 0x6e, 0x64, 0x20, 0x3d, 0x3d, 0x20,
     67 	0x44, 0x61, 0x74, 0x61, 0x4b, 0x69, 0x6e, 0x64, 0x5f, 0x49, 0x6e, 0x74, 0x31, 0x36, 0x0a, 0x09,
     68 	0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, 0x49, 0x4e, 0x50, 0x55, 0x54, 0x5f, 0x44, 0x41,
     69 	0x54, 0x41, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x6e, 0x74,
     70 	0x0a, 0x09, 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, 0x52, 0x46, 0x5f, 0x53, 0x41, 0x4d,
     71 	0x50, 0x4c, 0x45, 0x53, 0x5f, 0x50, 0x45, 0x52, 0x5f, 0x49, 0x4e, 0x44, 0x45, 0x58, 0x20, 0x32,
     72 	0x0a, 0x09, 0x23, 0x69, 0x66, 0x20, 0x44, 0x69, 0x6c, 0x61, 0x74, 0x65, 0x4f, 0x75, 0x74, 0x70,
     73 	0x75, 0x74, 0x0a, 0x09, 0x09, 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, 0x53, 0x41, 0x4d,
     74 	0x50, 0x4c, 0x45, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x20, 0x20, 0x20,
     75 	0x20, 0x76, 0x65, 0x63, 0x34, 0x0a, 0x09, 0x09, 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20,
     76 	0x53, 0x41, 0x4d, 0x50, 0x4c, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x43, 0x41, 0x53, 0x54,
     77 	0x28, 0x78, 0x29, 0x20, 0x76, 0x65, 0x63, 0x34, 0x28, 0x28, 0x28, 0x78, 0x29, 0x20, 0x3c, 0x3c,
     78 	0x20, 0x31, 0x36, 0x29, 0x20, 0x3e, 0x3e, 0x20, 0x31, 0x36, 0x2c, 0x20, 0x30, 0x2c, 0x20, 0x28,
     79 	0x78, 0x29, 0x20, 0x3e, 0x3e, 0x20, 0x31, 0x36, 0x2c, 0x20, 0x30, 0x29, 0x0a, 0x09, 0x23, 0x65,
     80 	0x6c, 0x73, 0x65, 0x0a, 0x09, 0x09, 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, 0x53, 0x41,
     81 	0x4d, 0x50, 0x4c, 0x45, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x20, 0x20,
     82 	0x20, 0x20, 0x76, 0x65, 0x63, 0x32, 0x0a, 0x09, 0x09, 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65,
     83 	0x20, 0x53, 0x41, 0x4d, 0x50, 0x4c, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x43, 0x41, 0x53,
     84 	0x54, 0x28, 0x78, 0x29, 0x20, 0x76, 0x65, 0x63, 0x32, 0x28, 0x28, 0x28, 0x78, 0x29, 0x20, 0x3c,
     85 	0x3c, 0x20, 0x31, 0x36, 0x29, 0x20, 0x3e, 0x3e, 0x20, 0x31, 0x36, 0x2c, 0x20, 0x28, 0x78, 0x29,
     86 	0x20, 0x3e, 0x3e, 0x20, 0x31, 0x36, 0x29, 0x0a, 0x09, 0x09, 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e,
     87 	0x65, 0x20, 0x4f, 0x55, 0x54, 0x50, 0x55, 0x54, 0x5f, 0x53, 0x41, 0x4d, 0x50, 0x4c, 0x45, 0x53,
     88 	0x5f, 0x50, 0x45, 0x52, 0x5f, 0x49, 0x4e, 0x44, 0x45, 0x58, 0x20, 0x32, 0x0a, 0x09, 0x23, 0x65,
     89 	0x6e, 0x64, 0x69, 0x66, 0x0a, 0x23, 0x65, 0x6c, 0x73, 0x65, 0x0a, 0x09, 0x23, 0x65, 0x72, 0x72,
     90 	0x6f, 0x72, 0x20, 0x75, 0x6e, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x20, 0x64,
     91 	0x61, 0x74, 0x61, 0x20, 0x6b, 0x69, 0x6e, 0x64, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x44, 0x65, 0x63,
     92 	0x6f, 0x64, 0x65, 0x0a, 0x23, 0x65, 0x6e, 0x64, 0x69, 0x66, 0x0a, 0x0a, 0x23, 0x69, 0x66, 0x6e,
     93 	0x64, 0x65, 0x66, 0x20, 0x4f, 0x55, 0x54, 0x50, 0x55, 0x54, 0x5f, 0x53, 0x41, 0x4d, 0x50, 0x4c,
     94 	0x45, 0x53, 0x5f, 0x50, 0x45, 0x52, 0x5f, 0x49, 0x4e, 0x44, 0x45, 0x58, 0x0a, 0x09, 0x23, 0x64,
     95 	0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, 0x4f, 0x55, 0x54, 0x50, 0x55, 0x54, 0x5f, 0x53, 0x41, 0x4d,
     96 	0x50, 0x4c, 0x45, 0x53, 0x5f, 0x50, 0x45, 0x52, 0x5f, 0x49, 0x4e, 0x44, 0x45, 0x58, 0x20, 0x31,
     97 	0x0a, 0x23, 0x65, 0x6e, 0x64, 0x69, 0x66, 0x0a, 0x0a, 0x23, 0x69, 0x66, 0x6e, 0x64, 0x65, 0x66,
     98 	0x20, 0x52, 0x46, 0x5f, 0x53, 0x41, 0x4d, 0x50, 0x4c, 0x45, 0x53, 0x5f, 0x50, 0x45, 0x52, 0x5f,
     99 	0x49, 0x4e, 0x44, 0x45, 0x58, 0x0a, 0x09, 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, 0x52,
    100 	0x46, 0x5f, 0x53, 0x41, 0x4d, 0x50, 0x4c, 0x45, 0x53, 0x5f, 0x50, 0x45, 0x52, 0x5f, 0x49, 0x4e,
    101 	0x44, 0x45, 0x58, 0x20, 0x31, 0x0a, 0x23, 0x65, 0x6e, 0x64, 0x69, 0x66, 0x0a, 0x0a, 0x6c, 0x61,
    102 	0x79, 0x6f, 0x75, 0x74, 0x28, 0x73, 0x74, 0x64, 0x34, 0x33, 0x30, 0x2c, 0x20, 0x62, 0x69, 0x6e,
    103 	0x64, 0x69, 0x6e, 0x67, 0x20, 0x3d, 0x20, 0x31, 0x29, 0x20, 0x72, 0x65, 0x61, 0x64, 0x6f, 0x6e,
    104 	0x6c, 0x79, 0x20, 0x72, 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x20, 0x62, 0x75, 0x66, 0x66,
    105 	0x65, 0x72, 0x20, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x31, 0x20, 0x7b, 0x0a, 0x09, 0x49,
    106 	0x4e, 0x50, 0x55, 0x54, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x20, 0x72,
    107 	0x66, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5b, 0x5d, 0x3b, 0x0a, 0x7d, 0x3b, 0x0a, 0x0a, 0x6c, 0x61,
    108 	0x79, 0x6f, 0x75, 0x74, 0x28, 0x73, 0x74, 0x64, 0x34, 0x33, 0x30, 0x2c, 0x20, 0x62, 0x69, 0x6e,
    109 	0x64, 0x69, 0x6e, 0x67, 0x20, 0x3d, 0x20, 0x32, 0x29, 0x20, 0x77, 0x72, 0x69, 0x74, 0x65, 0x6f,
    110 	0x6e, 0x6c, 0x79, 0x20, 0x72, 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x20, 0x62, 0x75, 0x66,
    111 	0x66, 0x65, 0x72, 0x20, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x32, 0x20, 0x7b, 0x0a, 0x09,
    112 	0x49, 0x4e, 0x50, 0x55, 0x54, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x20,
    113 	0x6f, 0x75, 0x74, 0x5f, 0x72, 0x66, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5b, 0x5d, 0x3b, 0x0a, 0x7d,
    114 	0x3b, 0x0a, 0x0a, 0x6c, 0x61, 0x79, 0x6f, 0x75, 0x74, 0x28, 0x73, 0x74, 0x64, 0x34, 0x33, 0x30,
    115 	0x2c, 0x20, 0x62, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x20, 0x3d, 0x20, 0x33, 0x29, 0x20, 0x77,
    116 	0x72, 0x69, 0x74, 0x65, 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x72, 0x65, 0x73, 0x74, 0x72, 0x69, 0x63,
    117 	0x74, 0x20, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x20, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x5f,
    118 	0x33, 0x20, 0x7b, 0x0a, 0x09, 0x53, 0x41, 0x4d, 0x50, 0x4c, 0x45, 0x5f, 0x44, 0x41, 0x54, 0x41,
    119 	0x5f, 0x54, 0x59, 0x50, 0x45, 0x20, 0x6f, 0x75, 0x74, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5b, 0x5d,
    120 	0x3b, 0x0a, 0x7d, 0x3b, 0x0a, 0x0a, 0x6c, 0x61, 0x79, 0x6f, 0x75, 0x74, 0x28, 0x72, 0x33, 0x32,
    121 	0x66, 0x2c, 0x20, 0x62, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x20, 0x3d, 0x20, 0x30, 0x29, 0x20,
    122 	0x72, 0x65, 0x61, 0x64, 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x72, 0x65, 0x73, 0x74, 0x72, 0x69, 0x63,
    123 	0x74, 0x20, 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x20, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x32,
    124 	0x44, 0x20, 0x20, 0x68, 0x61, 0x64, 0x61, 0x6d, 0x61, 0x72, 0x64, 0x3b, 0x0a, 0x6c, 0x61, 0x79,
    125 	0x6f, 0x75, 0x74, 0x28, 0x72, 0x31, 0x36, 0x69, 0x2c, 0x20, 0x62, 0x69, 0x6e, 0x64, 0x69, 0x6e,
    126 	0x67, 0x20, 0x3d, 0x20, 0x31, 0x29, 0x20, 0x72, 0x65, 0x61, 0x64, 0x6f, 0x6e, 0x6c, 0x79, 0x20,
    127 	0x72, 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x20, 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d,
    128 	0x20, 0x69, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x31, 0x44, 0x20, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65,
    129 	0x6c, 0x5f, 0x6d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x3b, 0x0a, 0x0a, 0x53, 0x41, 0x4d, 0x50,
    130 	0x4c, 0x45, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x20, 0x73, 0x61, 0x6d,
    131 	0x70, 0x6c, 0x65, 0x5f, 0x72, 0x66, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x28, 0x75, 0x69, 0x6e, 0x74,
    132 	0x20, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x29, 0x0a, 0x7b, 0x0a, 0x09, 0x53, 0x41, 0x4d, 0x50, 0x4c,
    133 	0x45, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x20, 0x72, 0x65, 0x73, 0x75,
    134 	0x6c, 0x74, 0x20, 0x3d, 0x20, 0x53, 0x41, 0x4d, 0x50, 0x4c, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45,
    135 	0x5f, 0x43, 0x41, 0x53, 0x54, 0x28, 0x72, 0x66, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5b, 0x69, 0x6e,
    136 	0x64, 0x65, 0x78, 0x5d, 0x29, 0x3b, 0x0a, 0x09, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x72,
    137 	0x65, 0x73, 0x75, 0x6c, 0x74, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x76, 0x6f, 0x69, 0x64, 0x20, 0x6d,
    138 	0x61, 0x69, 0x6e, 0x28, 0x29, 0x0a, 0x7b, 0x0a, 0x09, 0x75, 0x69, 0x6e, 0x74, 0x20, 0x74, 0x69,
    139 	0x6d, 0x65, 0x5f, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x20, 0x3d, 0x20, 0x67, 0x6c, 0x5f, 0x47,
    140 	0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x49, 0x6e, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49,
    141 	0x44, 0x2e, 0x78, 0x20, 0x2a, 0x20, 0x52, 0x46, 0x5f, 0x53, 0x41, 0x4d, 0x50, 0x4c, 0x45, 0x53,
    142 	0x5f, 0x50, 0x45, 0x52, 0x5f, 0x49, 0x4e, 0x44, 0x45, 0x58, 0x3b, 0x0a, 0x09, 0x75, 0x69, 0x6e,
    143 	0x74, 0x20, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3d, 0x20,
    144 	0x67, 0x6c, 0x5f, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x49, 0x6e, 0x76, 0x6f, 0x63, 0x61, 0x74,
    145 	0x69, 0x6f, 0x6e, 0x49, 0x44, 0x2e, 0x79, 0x3b, 0x0a, 0x09, 0x75, 0x69, 0x6e, 0x74, 0x20, 0x74,
    146 	0x72, 0x61, 0x6e, 0x73, 0x6d, 0x69, 0x74, 0x20, 0x20, 0x20, 0x20, 0x3d, 0x20, 0x67, 0x6c, 0x5f,
    147 	0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x49, 0x6e, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
    148 	0x49, 0x44, 0x2e, 0x7a, 0x3b, 0x0a, 0x0a, 0x09, 0x75, 0x69, 0x6e, 0x74, 0x20, 0x72, 0x66, 0x5f,
    149 	0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x20, 0x3d, 0x20, 0x28, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x43,
    150 	0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x53, 0x74, 0x72, 0x69, 0x64, 0x65, 0x20, 0x2a, 0x20, 0x63,
    151 	0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x20, 0x2b, 0x20, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x6d, 0x69,
    152 	0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x20, 0x2a, 0x20, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x73, 0x61,
    153 	0x6d, 0x70, 0x6c, 0x65, 0x29, 0x20, 0x2f, 0x20, 0x52, 0x46, 0x5f, 0x53, 0x41, 0x4d, 0x50, 0x4c,
    154 	0x45, 0x53, 0x5f, 0x50, 0x45, 0x52, 0x5f, 0x49, 0x4e, 0x44, 0x45, 0x58, 0x3b, 0x0a, 0x09, 0x69,
    155 	0x66, 0x20, 0x28, 0x75, 0x5f, 0x66, 0x69, 0x72, 0x73, 0x74, 0x5f, 0x70, 0x61, 0x73, 0x73, 0x29,
    156 	0x20, 0x7b, 0x0a, 0x09, 0x09, 0x69, 0x66, 0x20, 0x28, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x73, 0x61,
    157 	0x6d, 0x70, 0x6c, 0x65, 0x20, 0x3c, 0x20, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x54, 0x72, 0x61, 0x6e,
    158 	0x73, 0x6d, 0x69, 0x74, 0x53, 0x74, 0x72, 0x69, 0x64, 0x65, 0x29, 0x20, 0x7b, 0x0a, 0x09, 0x09,
    159 	0x09, 0x75, 0x69, 0x6e, 0x74, 0x20, 0x69, 0x6e, 0x5f, 0x6f, 0x66, 0x66, 0x20, 0x3d, 0x20, 0x49,
    160 	0x6e, 0x70, 0x75, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x53, 0x74, 0x72, 0x69, 0x64,
    161 	0x65, 0x20, 0x20, 0x2a, 0x20, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x4c, 0x6f, 0x61, 0x64, 0x28, 0x63,
    162 	0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x6d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x2c, 0x20,
    163 	0x69, 0x6e, 0x74, 0x28, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x29, 0x29, 0x2e, 0x78, 0x20,
    164 	0x2b, 0x0a, 0x09, 0x09, 0x09, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
    165 	0x20, 0x20, 0x20, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x6d, 0x69, 0x74,
    166 	0x53, 0x74, 0x72, 0x69, 0x64, 0x65, 0x20, 0x2a, 0x20, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6d, 0x69,
    167 	0x74, 0x20, 0x2b, 0x0a, 0x09, 0x09, 0x09, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
    168 	0x20, 0x20, 0x20, 0x20, 0x20, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65,
    169 	0x53, 0x74, 0x72, 0x69, 0x64, 0x65, 0x20, 0x20, 0x20, 0x2a, 0x20, 0x74, 0x69, 0x6d, 0x65, 0x5f,
    170 	0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x3b, 0x0a, 0x09, 0x09, 0x09, 0x6f, 0x75, 0x74, 0x5f, 0x72,
    171 	0x66, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5b, 0x72, 0x66, 0x5f, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74,
    172 	0x20, 0x2b, 0x20, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6d, 0x69, 0x74, 0x5d, 0x20, 0x3d, 0x20, 0x72,
    173 	0x66, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5b, 0x69, 0x6e, 0x5f, 0x6f, 0x66, 0x66, 0x20, 0x2f, 0x20,
    174 	0x52, 0x46, 0x5f, 0x53, 0x41, 0x4d, 0x50, 0x4c, 0x45, 0x53, 0x5f, 0x50, 0x45, 0x52, 0x5f, 0x49,
    175 	0x4e, 0x44, 0x45, 0x58, 0x5d, 0x3b, 0x0a, 0x09, 0x09, 0x7d, 0x0a, 0x09, 0x7d, 0x20, 0x65, 0x6c,
    176 	0x73, 0x65, 0x20, 0x7b, 0x0a, 0x09, 0x09, 0x69, 0x66, 0x20, 0x28, 0x74, 0x69, 0x6d, 0x65, 0x5f,
    177 	0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x20, 0x3c, 0x20, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x54,
    178 	0x72, 0x61, 0x6e, 0x73, 0x6d, 0x69, 0x74, 0x53, 0x74, 0x72, 0x69, 0x64, 0x65, 0x29, 0x20, 0x7b,
    179 	0x0a, 0x09, 0x09, 0x09, 0x75, 0x69, 0x6e, 0x74, 0x20, 0x6f, 0x75, 0x74, 0x5f, 0x6f, 0x66, 0x66,
    180 	0x20, 0x3d, 0x20, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c,
    181 	0x53, 0x74, 0x72, 0x69, 0x64, 0x65, 0x20, 0x20, 0x2a, 0x20, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65,
    182 	0x6c, 0x20, 0x2b, 0x0a, 0x09, 0x09, 0x09, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
    183 	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x54, 0x72, 0x61, 0x6e,
    184 	0x73, 0x6d, 0x69, 0x74, 0x53, 0x74, 0x72, 0x69, 0x64, 0x65, 0x20, 0x2a, 0x20, 0x74, 0x72, 0x61,
    185 	0x6e, 0x73, 0x6d, 0x69, 0x74, 0x20, 0x2b, 0x0a, 0x09, 0x09, 0x09, 0x20, 0x20, 0x20, 0x20, 0x20,
    186 	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74,
    187 	0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x53, 0x74, 0x72, 0x69, 0x64, 0x65, 0x20, 0x20, 0x20, 0x2a,
    188 	0x20, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x3b, 0x0a, 0x0a, 0x09,
    189 	0x09, 0x09, 0x53, 0x41, 0x4d, 0x50, 0x4c, 0x45, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x54, 0x59,
    190 	0x50, 0x45, 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x20, 0x3d, 0x20, 0x53, 0x41, 0x4d, 0x50,
    191 	0x4c, 0x45, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x28, 0x30, 0x29, 0x3b,
    192 	0x0a, 0x09, 0x09, 0x09, 0x73, 0x77, 0x69, 0x74, 0x63, 0x68, 0x20, 0x28, 0x44, 0x65, 0x63, 0x6f,
    193 	0x64, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x29, 0x20, 0x7b, 0x0a, 0x09, 0x09, 0x09, 0x63, 0x61, 0x73,
    194 	0x65, 0x20, 0x44, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x5f, 0x4e, 0x6f, 0x6e,
    195 	0x65, 0x3a, 0x7b, 0x0a, 0x09, 0x09, 0x09, 0x09, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x20, 0x3d,
    196 	0x20, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x5f, 0x72, 0x66, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x28,
    197 	0x72, 0x66, 0x5f, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x20, 0x2b, 0x20, 0x74, 0x72, 0x61, 0x6e,
    198 	0x73, 0x6d, 0x69, 0x74, 0x29, 0x3b, 0x0a, 0x09, 0x09, 0x09, 0x7d, 0x62, 0x72, 0x65, 0x61, 0x6b,
    199 	0x3b, 0x0a, 0x09, 0x09, 0x09, 0x63, 0x61, 0x73, 0x65, 0x20, 0x44, 0x65, 0x63, 0x6f, 0x64, 0x65,
    200 	0x4d, 0x6f, 0x64, 0x65, 0x5f, 0x48, 0x61, 0x64, 0x61, 0x6d, 0x61, 0x72, 0x64, 0x3a, 0x7b, 0x0a,
    201 	0x09, 0x09, 0x09, 0x09, 0x53, 0x41, 0x4d, 0x50, 0x4c, 0x45, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x5f,
    202 	0x54, 0x59, 0x50, 0x45, 0x20, 0x73, 0x75, 0x6d, 0x20, 0x3d, 0x20, 0x53, 0x41, 0x4d, 0x50, 0x4c,
    203 	0x45, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x28, 0x30, 0x29, 0x3b, 0x0a,
    204 	0x09, 0x09, 0x09, 0x09, 0x66, 0x6f, 0x72, 0x20, 0x28, 0x69, 0x6e, 0x74, 0x20, 0x69, 0x20, 0x3d,
    205 	0x20, 0x30, 0x3b, 0x20, 0x69, 0x20, 0x3c, 0x20, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x6d, 0x69, 0x74,
    206 	0x43, 0x6f, 0x75, 0x6e, 0x74, 0x3b, 0x20, 0x69, 0x2b, 0x2b, 0x29, 0x0a, 0x09, 0x09, 0x09, 0x09,
    207 	0x09, 0x73, 0x75, 0x6d, 0x20, 0x2b, 0x3d, 0x20, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x4c, 0x6f, 0x61,
    208 	0x64, 0x28, 0x68, 0x61, 0x64, 0x61, 0x6d, 0x61, 0x72, 0x64, 0x2c, 0x20, 0x69, 0x76, 0x65, 0x63,
    209 	0x32, 0x28, 0x69, 0x2c, 0x20, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6d, 0x69, 0x74, 0x29, 0x29, 0x2e,
    210 	0x78, 0x20, 0x2a, 0x20, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x5f, 0x72, 0x66, 0x5f, 0x64, 0x61,
    211 	0x74, 0x61, 0x28, 0x72, 0x66, 0x5f, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x2b, 0x2b, 0x29, 0x3b,
    212 	0x0a, 0x09, 0x09, 0x09, 0x09, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x20, 0x3d, 0x20, 0x73, 0x75,
    213 	0x6d, 0x20, 0x2f, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x28, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x6d,
    214 	0x69, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x29, 0x3b, 0x0a, 0x09, 0x09, 0x09, 0x7d, 0x62, 0x72,
    215 	0x65, 0x61, 0x6b, 0x3b, 0x0a, 0x09, 0x09, 0x09, 0x7d, 0x0a, 0x09, 0x09, 0x09, 0x6f, 0x75, 0x74,
    216 	0x5f, 0x64, 0x61, 0x74, 0x61, 0x5b, 0x6f, 0x75, 0x74, 0x5f, 0x6f, 0x66, 0x66, 0x20, 0x2f, 0x20,
    217 	0x4f, 0x55, 0x54, 0x50, 0x55, 0x54, 0x5f, 0x53, 0x41, 0x4d, 0x50, 0x4c, 0x45, 0x53, 0x5f, 0x50,
    218 	0x45, 0x52, 0x5f, 0x49, 0x4e, 0x44, 0x45, 0x58, 0x5d, 0x20, 0x3d, 0x20, 0x72, 0x65, 0x73, 0x75,
    219 	0x6c, 0x74, 0x3b, 0x0a, 0x09, 0x09, 0x7d, 0x0a, 0x09, 0x7d, 0x0a, 0x7d, 0x0a
    220 };
    221 
    222 read_only global u8 beamformer_shader_filter_bytes[] = {
    223 	0x2f, 0x2a, 0x20, 0x53, 0x65, 0x65, 0x20, 0x4c, 0x49, 0x43, 0x45, 0x4e, 0x53, 0x45, 0x20, 0x66,
    224 	0x6f, 0x72, 0x20, 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x20, 0x64, 0x65, 0x74, 0x61, 0x69,
    225 	0x6c, 0x73, 0x2e, 0x20, 0x2a, 0x2f, 0x0a, 0x23, 0x69, 0x66, 0x20, 0x44, 0x61, 0x74, 0x61, 0x4b,
    226 	0x69, 0x6e, 0x64, 0x20, 0x3d, 0x3d, 0x20, 0x44, 0x61, 0x74, 0x61, 0x4b, 0x69, 0x6e, 0x64, 0x5f,
    227 	0x46, 0x6c, 0x6f, 0x61, 0x74, 0x33, 0x32, 0x0a, 0x20, 0x20, 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e,
    228 	0x65, 0x20, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x20, 0x20, 0x20, 0x20, 0x20,
    229 	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, 0x65, 0x63, 0x32, 0x0a, 0x20, 0x20, 0x23, 0x64, 0x65,
    230 	0x66, 0x69, 0x6e, 0x65, 0x20, 0x52, 0x45, 0x53, 0x55, 0x4c, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45,
    231 	0x5f, 0x43, 0x41, 0x53, 0x54, 0x28, 0x76, 0x29, 0x20, 0x28, 0x76, 0x29, 0x0a, 0x20, 0x20, 0x23,
    232 	0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, 0x53, 0x41, 0x4d, 0x50, 0x4c, 0x45, 0x5f, 0x54, 0x59,
    233 	0x50, 0x45, 0x5f, 0x43, 0x41, 0x53, 0x54, 0x28, 0x76, 0x29, 0x20, 0x28, 0x76, 0x29, 0x0a, 0x23,
    234 	0x65, 0x6c, 0x73, 0x65, 0x0a, 0x20, 0x20, 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, 0x44,
    235 	0x41, 0x54, 0x41, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
    236 	0x20, 0x20, 0x20, 0x75, 0x69, 0x6e, 0x74, 0x0a, 0x20, 0x20, 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e,
    237 	0x65, 0x20, 0x52, 0x45, 0x53, 0x55, 0x4c, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x43, 0x41,
    238 	0x53, 0x54, 0x28, 0x76, 0x29, 0x20, 0x70, 0x61, 0x63, 0x6b, 0x53, 0x6e, 0x6f, 0x72, 0x6d, 0x32,
    239 	0x78, 0x31, 0x36, 0x28, 0x76, 0x29, 0x0a, 0x20, 0x20, 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65,
    240 	0x20, 0x53, 0x41, 0x4d, 0x50, 0x4c, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x43, 0x41, 0x53,
    241 	0x54, 0x28, 0x76, 0x29, 0x20, 0x75, 0x6e, 0x70, 0x61, 0x63, 0x6b, 0x53, 0x6e, 0x6f, 0x72, 0x6d,
    242 	0x32, 0x78, 0x31, 0x36, 0x28, 0x76, 0x29, 0x0a, 0x23, 0x65, 0x6e, 0x64, 0x69, 0x66, 0x0a, 0x0a,
    243 	0x23, 0x69, 0x66, 0x20, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x78, 0x46, 0x69, 0x6c, 0x74, 0x65,
    244 	0x72, 0x0a, 0x09, 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, 0x46, 0x49, 0x4c, 0x54, 0x45,
    245 	0x52, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76,
    246 	0x65, 0x63, 0x32, 0x0a, 0x09, 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, 0x61, 0x70, 0x70,
    247 	0x6c, 0x79, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x28, 0x69, 0x71, 0x2c, 0x20, 0x68, 0x29,
    248 	0x20, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x78, 0x5f, 0x6d, 0x75, 0x6c, 0x28, 0x28, 0x69, 0x71,
    249 	0x29, 0x2c, 0x20, 0x28, 0x68, 0x29, 0x29, 0x0a, 0x23, 0x65, 0x6c, 0x73, 0x65, 0x0a, 0x09, 0x23,
    250 	0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, 0x46, 0x49, 0x4c, 0x54, 0x45, 0x52, 0x5f, 0x54, 0x59,
    251 	0x50, 0x45, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74,
    252 	0x0a, 0x09, 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x5f,
    253 	0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x28, 0x69, 0x71, 0x2c, 0x20, 0x68, 0x29, 0x20, 0x28, 0x28,
    254 	0x69, 0x71, 0x29, 0x20, 0x2a, 0x20, 0x28, 0x68, 0x29, 0x29, 0x0a, 0x23, 0x65, 0x6e, 0x64, 0x69,
    255 	0x66, 0x0a, 0x0a, 0x6c, 0x61, 0x79, 0x6f, 0x75, 0x74, 0x28, 0x73, 0x74, 0x64, 0x34, 0x33, 0x30,
    256 	0x2c, 0x20, 0x62, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x20, 0x3d, 0x20, 0x31, 0x29, 0x20, 0x72,
    257 	0x65, 0x61, 0x64, 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x72, 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74,
    258 	0x20, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x20, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x31,
    259 	0x20, 0x7b, 0x0a, 0x09, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x20, 0x69, 0x6e,
    260 	0x5f, 0x64, 0x61, 0x74, 0x61, 0x5b, 0x5d, 0x3b, 0x0a, 0x7d, 0x3b, 0x0a, 0x0a, 0x6c, 0x61, 0x79,
    261 	0x6f, 0x75, 0x74, 0x28, 0x73, 0x74, 0x64, 0x34, 0x33, 0x30, 0x2c, 0x20, 0x62, 0x69, 0x6e, 0x64,
    262 	0x69, 0x6e, 0x67, 0x20, 0x3d, 0x20, 0x32, 0x29, 0x20, 0x77, 0x72, 0x69, 0x74, 0x65, 0x6f, 0x6e,
    263 	0x6c, 0x79, 0x20, 0x72, 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x20, 0x62, 0x75, 0x66, 0x66,
    264 	0x65, 0x72, 0x20, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x32, 0x20, 0x7b, 0x0a, 0x09, 0x44,
    265 	0x41, 0x54, 0x41, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x20, 0x6f, 0x75, 0x74, 0x5f, 0x64, 0x61, 0x74,
    266 	0x61, 0x5b, 0x5d, 0x3b, 0x0a, 0x7d, 0x3b, 0x0a, 0x0a, 0x6c, 0x61, 0x79, 0x6f, 0x75, 0x74, 0x28,
    267 	0x73, 0x74, 0x64, 0x34, 0x33, 0x30, 0x2c, 0x20, 0x62, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x20,
    268 	0x3d, 0x20, 0x33, 0x29, 0x20, 0x72, 0x65, 0x61, 0x64, 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x72, 0x65,
    269 	0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x20, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x20, 0x62, 0x75,
    270 	0x66, 0x66, 0x65, 0x72, 0x5f, 0x33, 0x20, 0x7b, 0x0a, 0x09, 0x46, 0x49, 0x4c, 0x54, 0x45, 0x52,
    271 	0x5f, 0x54, 0x59, 0x50, 0x45, 0x20, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x65,
    272 	0x66, 0x66, 0x69, 0x63, 0x69, 0x65, 0x6e, 0x74, 0x73, 0x5b, 0x5d, 0x3b, 0x0a, 0x7d, 0x3b, 0x0a,
    273 	0x0a, 0x6c, 0x61, 0x79, 0x6f, 0x75, 0x74, 0x28, 0x72, 0x31, 0x36, 0x69, 0x2c, 0x20, 0x62, 0x69,
    274 	0x6e, 0x64, 0x69, 0x6e, 0x67, 0x20, 0x3d, 0x20, 0x31, 0x29, 0x20, 0x72, 0x65, 0x61, 0x64, 0x6f,
    275 	0x6e, 0x6c, 0x79, 0x20, 0x72, 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x20, 0x75, 0x6e, 0x69,
    276 	0x66, 0x6f, 0x72, 0x6d, 0x20, 0x69, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x31, 0x44, 0x20, 0x63, 0x68,
    277 	0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x6d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x3b, 0x0a, 0x0a,
    278 	0x76, 0x65, 0x63, 0x32, 0x20, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x78, 0x5f, 0x6d, 0x75, 0x6c,
    279 	0x28, 0x76, 0x65, 0x63, 0x32, 0x20, 0x61, 0x2c, 0x20, 0x76, 0x65, 0x63, 0x32, 0x20, 0x62, 0x29,
    280 	0x0a, 0x7b, 0x0a, 0x09, 0x6d, 0x61, 0x74, 0x32, 0x20, 0x6d, 0x20, 0x3d, 0x20, 0x6d, 0x61, 0x74,
    281 	0x32, 0x28, 0x62, 0x2e, 0x78, 0x2c, 0x20, 0x62, 0x2e, 0x79, 0x2c, 0x20, 0x2d, 0x62, 0x2e, 0x79,
    282 	0x2c, 0x20, 0x62, 0x2e, 0x78, 0x29, 0x3b, 0x0a, 0x09, 0x76, 0x65, 0x63, 0x32, 0x20, 0x72, 0x65,
    283 	0x73, 0x75, 0x6c, 0x74, 0x20, 0x3d, 0x20, 0x6d, 0x20, 0x2a, 0x20, 0x61, 0x3b, 0x0a, 0x09, 0x72,
    284 	0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x3b, 0x0a, 0x7d, 0x0a,
    285 	0x0a, 0x23, 0x69, 0x66, 0x20, 0x44, 0x65, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x0a,
    286 	0x76, 0x65, 0x63, 0x32, 0x20, 0x72, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x69, 0x71, 0x28, 0x76,
    287 	0x65, 0x63, 0x32, 0x20, 0x69, 0x71, 0x2c, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x69, 0x6e, 0x64, 0x65,
    288 	0x78, 0x29, 0x0a, 0x7b, 0x0a, 0x09, 0x76, 0x65, 0x63, 0x32, 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c,
    289 	0x74, 0x3b, 0x0a, 0x09, 0x73, 0x77, 0x69, 0x74, 0x63, 0x68, 0x20, 0x28, 0x53, 0x61, 0x6d, 0x70,
    290 	0x6c, 0x69, 0x6e, 0x67, 0x4d, 0x6f, 0x64, 0x65, 0x29, 0x20, 0x7b, 0x0a, 0x09, 0x63, 0x61, 0x73,
    291 	0x65, 0x20, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x69, 0x6e, 0x67, 0x4d, 0x6f, 0x64, 0x65, 0x5f, 0x34,
    292 	0x58, 0x3a, 0x7b, 0x0a, 0x09, 0x09, 0x2f, 0x2f, 0x20, 0x66, 0x73, 0x20, 0x3d, 0x20, 0x32, 0x20,
    293 	0x2a, 0x20, 0x66, 0x64, 0x0a, 0x09, 0x09, 0x2f, 0x2f, 0x20, 0x61, 0x72, 0x67, 0x20, 0x3d, 0x20,
    294 	0x50, 0x49, 0x20, 0x2a, 0x20, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x0a, 0x09, 0x09, 0x2f, 0x2f, 0x20,
    295 	0x63, 0x6f, 0x73, 0x20, 0x2d, 0x3e, 0x20, 0x31, 0x20, 0x2d, 0x31, 0x20, 0x20, 0x31, 0x20, 0x2d,
    296 	0x31, 0x0a, 0x09, 0x09, 0x2f, 0x2f, 0x20, 0x73, 0x69, 0x6e, 0x20, 0x2d, 0x3e, 0x20, 0x30, 0x20,
    297 	0x20, 0x30, 0x20, 0x20, 0x30, 0x20, 0x20, 0x30, 0x0a, 0x09, 0x09, 0x63, 0x6f, 0x6e, 0x73, 0x74,
    298 	0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x73, 0x5b, 0x32, 0x5d,
    299 	0x20, 0x3d, 0x20, 0x7b, 0x31, 0x2c, 0x20, 0x2d, 0x31, 0x7d, 0x3b, 0x0a, 0x09, 0x09, 0x72, 0x65,
    300 	0x73, 0x75, 0x6c, 0x74, 0x20, 0x3d, 0x20, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x73, 0x5b, 0x69, 0x6e,
    301 	0x64, 0x65, 0x78, 0x20, 0x26, 0x20, 0x31, 0x5d, 0x20, 0x2a, 0x20, 0x69, 0x71, 0x3b, 0x0a, 0x09,
    302 	0x7d, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, 0x09, 0x63, 0x61, 0x73, 0x65, 0x20, 0x53, 0x61,
    303 	0x6d, 0x70, 0x6c, 0x69, 0x6e, 0x67, 0x4d, 0x6f, 0x64, 0x65, 0x5f, 0x32, 0x58, 0x3a, 0x7b, 0x0a,
    304 	0x09, 0x09, 0x2f, 0x2f, 0x20, 0x66, 0x73, 0x20, 0x20, 0x3d, 0x20, 0x66, 0x64, 0x0a, 0x09, 0x09,
    305 	0x2f, 0x2f, 0x20, 0x61, 0x72, 0x67, 0x20, 0x3d, 0x20, 0x32, 0x20, 0x2a, 0x20, 0x50, 0x49, 0x20,
    306 	0x2a, 0x20, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x0a, 0x09, 0x09, 0x2f, 0x2f, 0x20, 0x63, 0x6f, 0x73,
    307 	0x20, 0x2d, 0x3e, 0x20, 0x31, 0x20, 0x31, 0x20, 0x31, 0x20, 0x31, 0x0a, 0x09, 0x09, 0x2f, 0x2f,
    308 	0x20, 0x73, 0x69, 0x6e, 0x20, 0x2d, 0x3e, 0x20, 0x30, 0x20, 0x30, 0x20, 0x30, 0x20, 0x30, 0x0a,
    309 	0x09, 0x09, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x20, 0x3d, 0x20, 0x69, 0x71, 0x3b, 0x0a, 0x09,
    310 	0x7d, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, 0x09, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74,
    311 	0x3a, 0x7b, 0x0a, 0x09, 0x09, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x61, 0x72, 0x67, 0x20, 0x20,
    312 	0x20, 0x20, 0x3d, 0x20, 0x72, 0x61, 0x64, 0x69, 0x61, 0x6e, 0x73, 0x28, 0x33, 0x36, 0x30, 0x29,
    313 	0x20, 0x2a, 0x20, 0x44, 0x65, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x46,
    314 	0x72, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x79, 0x20, 0x2a, 0x20, 0x69, 0x6e, 0x64, 0x65, 0x78,
    315 	0x20, 0x2f, 0x20, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x69, 0x6e, 0x67, 0x46, 0x72, 0x65, 0x71, 0x75,
    316 	0x65, 0x6e, 0x63, 0x79, 0x3b, 0x0a, 0x09, 0x09, 0x6d, 0x61, 0x74, 0x32, 0x20, 0x20, 0x70, 0x68,
    317 	0x61, 0x73, 0x6f, 0x72, 0x20, 0x3d, 0x20, 0x6d, 0x61, 0x74, 0x32, 0x28, 0x63, 0x6f, 0x73, 0x28,
    318 	0x61, 0x72, 0x67, 0x29, 0x2c, 0x20, 0x2d, 0x73, 0x69, 0x6e, 0x28, 0x61, 0x72, 0x67, 0x29, 0x2c,
    319 	0x0a, 0x09, 0x09, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
    320 	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x73, 0x69, 0x6e, 0x28, 0x61, 0x72, 0x67, 0x29, 0x2c,
    321 	0x20, 0x20, 0x63, 0x6f, 0x73, 0x28, 0x61, 0x72, 0x67, 0x29, 0x29, 0x3b, 0x0a, 0x09, 0x09, 0x72,
    322 	0x65, 0x73, 0x75, 0x6c, 0x74, 0x20, 0x3d, 0x20, 0x70, 0x68, 0x61, 0x73, 0x6f, 0x72, 0x20, 0x2a,
    323 	0x20, 0x69, 0x71, 0x3b, 0x0a, 0x09, 0x7d, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, 0x09, 0x7d,
    324 	0x0a, 0x09, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x3b,
    325 	0x0a, 0x7d, 0x0a, 0x23, 0x65, 0x6e, 0x64, 0x69, 0x66, 0x0a, 0x0a, 0x76, 0x65, 0x63, 0x32, 0x20,
    326 	0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x5f, 0x72, 0x66, 0x28, 0x75, 0x69, 0x6e, 0x74, 0x20, 0x69,
    327 	0x6e, 0x64, 0x65, 0x78, 0x29, 0x0a, 0x7b, 0x0a, 0x09, 0x76, 0x65, 0x63, 0x32, 0x20, 0x72, 0x65,
    328 	0x73, 0x75, 0x6c, 0x74, 0x20, 0x3d, 0x20, 0x53, 0x41, 0x4d, 0x50, 0x4c, 0x45, 0x5f, 0x54, 0x59,
    329 	0x50, 0x45, 0x5f, 0x43, 0x41, 0x53, 0x54, 0x28, 0x69, 0x6e, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5b,
    330 	0x69, 0x6e, 0x64, 0x65, 0x78, 0x5d, 0x29, 0x3b, 0x0a, 0x09, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e,
    331 	0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x76, 0x6f, 0x69, 0x64,
    332 	0x20, 0x6d, 0x61, 0x69, 0x6e, 0x28, 0x29, 0x0a, 0x7b, 0x0a, 0x09, 0x75, 0x69, 0x6e, 0x74, 0x20,
    333 	0x69, 0x6e, 0x5f, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x20, 0x20, 0x3d, 0x20, 0x67, 0x6c, 0x5f,
    334 	0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x49, 0x6e, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
    335 	0x49, 0x44, 0x2e, 0x78, 0x20, 0x2a, 0x20, 0x44, 0x65, 0x63, 0x69, 0x6d, 0x61, 0x74, 0x69, 0x6f,
    336 	0x6e, 0x52, 0x61, 0x74, 0x65, 0x3b, 0x0a, 0x09, 0x75, 0x69, 0x6e, 0x74, 0x20, 0x6f, 0x75, 0x74,
    337 	0x5f, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x20, 0x3d, 0x20, 0x67, 0x6c, 0x5f, 0x47, 0x6c, 0x6f,
    338 	0x62, 0x61, 0x6c, 0x49, 0x6e, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x2e,
    339 	0x78, 0x3b, 0x0a, 0x09, 0x75, 0x69, 0x6e, 0x74, 0x20, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c,
    340 	0x20, 0x20, 0x20, 0x20, 0x3d, 0x20, 0x67, 0x6c, 0x5f, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x49,
    341 	0x6e, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x2e, 0x79, 0x3b, 0x0a, 0x09,
    342 	0x75, 0x69, 0x6e, 0x74, 0x20, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6d, 0x69, 0x74, 0x20, 0x20, 0x20,
    343 	0x3d, 0x20, 0x67, 0x6c, 0x5f, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x49, 0x6e, 0x76, 0x6f, 0x63,
    344 	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x2e, 0x7a, 0x3b, 0x0a, 0x0a, 0x09, 0x75, 0x69, 0x6e,
    345 	0x74, 0x20, 0x69, 0x6e, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x20, 0x3d, 0x20, 0x62,
    346 	0x6f, 0x6f, 0x6c, 0x28, 0x4d, 0x61, 0x70, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x29,
    347 	0x20, 0x3f, 0x20, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x4c, 0x6f, 0x61, 0x64, 0x28, 0x63, 0x68, 0x61,
    348 	0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x6d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x2c, 0x20, 0x69, 0x6e,
    349 	0x74, 0x28, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x29, 0x29, 0x2e, 0x78, 0x20, 0x3a, 0x20,
    350 	0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x3b, 0x0a, 0x09, 0x75, 0x69, 0x6e, 0x74, 0x20, 0x69,
    351 	0x6e, 0x5f, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x20, 0x20, 0x3d, 0x20, 0x49, 0x6e, 0x70, 0x75,
    352 	0x74, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x53, 0x74, 0x72, 0x69, 0x64, 0x65, 0x20, 0x2a,
    353 	0x20, 0x69, 0x6e, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x20, 0x2b, 0x20, 0x49, 0x6e,
    354 	0x70, 0x75, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x6d, 0x69, 0x74, 0x53, 0x74, 0x72, 0x69, 0x64,
    355 	0x65, 0x20, 0x2a, 0x20, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6d, 0x69, 0x74, 0x3b, 0x0a, 0x09, 0x75,
    356 	0x69, 0x6e, 0x74, 0x20, 0x6f, 0x75, 0x74, 0x5f, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x20, 0x3d,
    357 	0x20, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x53, 0x74,
    358 	0x72, 0x69, 0x64, 0x65, 0x20, 0x20, 0x2a, 0x20, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x20,
    359 	0x2b, 0x0a, 0x09, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
    360 	0x20, 0x20, 0x20, 0x20, 0x20, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73,
    361 	0x6d, 0x69, 0x74, 0x53, 0x74, 0x72, 0x69, 0x64, 0x65, 0x20, 0x2a, 0x20, 0x74, 0x72, 0x61, 0x6e,
    362 	0x73, 0x6d, 0x69, 0x74, 0x20, 0x2b, 0x0a, 0x09, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
    363 	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74,
    364 	0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x53, 0x74, 0x72, 0x69, 0x64, 0x65, 0x20, 0x20, 0x20, 0x2a,
    365 	0x20, 0x6f, 0x75, 0x74, 0x5f, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x3b, 0x0a, 0x0a, 0x09, 0x69,
    366 	0x6e, 0x74, 0x20, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x3b, 0x0a, 0x09, 0x69, 0x66, 0x20, 0x28,
    367 	0x62, 0x6f, 0x6f, 0x6c, 0x28, 0x4d, 0x61, 0x70, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73,
    368 	0x29, 0x29, 0x20, 0x7b, 0x0a, 0x09, 0x09, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x20, 0x3d, 0x20,
    369 	0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x53, 0x74, 0x72,
    370 	0x69, 0x64, 0x65, 0x20, 0x2f, 0x20, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x53, 0x61, 0x6d, 0x70,
    371 	0x6c, 0x65, 0x53, 0x74, 0x72, 0x69, 0x64, 0x65, 0x3b, 0x0a, 0x09, 0x7d, 0x20, 0x65, 0x6c, 0x73,
    372 	0x65, 0x20, 0x7b, 0x0a, 0x09, 0x09, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x20, 0x3d, 0x20, 0x4f,
    373 	0x75, 0x74, 0x70, 0x75, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x6d, 0x69, 0x74, 0x53, 0x74, 0x72,
    374 	0x69, 0x64, 0x65, 0x3b, 0x0a, 0x09, 0x7d, 0x0a, 0x0a, 0x09, 0x69, 0x66, 0x20, 0x28, 0x6f, 0x75,
    375 	0x74, 0x5f, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x20, 0x3c, 0x20, 0x74, 0x61, 0x72, 0x67, 0x65,
    376 	0x74, 0x29, 0x20, 0x7b, 0x0a, 0x09, 0x09, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x20, 0x2a, 0x3d,
    377 	0x20, 0x44, 0x65, 0x63, 0x69, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x61, 0x74, 0x65, 0x3b,
    378 	0x0a, 0x0a, 0x09, 0x09, 0x76, 0x65, 0x63, 0x32, 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x20,
    379 	0x20, 0x3d, 0x20, 0x76, 0x65, 0x63, 0x32, 0x28, 0x30, 0x29, 0x3b, 0x0a, 0x09, 0x09, 0x69, 0x6e,
    380 	0x74, 0x20, 0x61, 0x5f, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x20, 0x3d, 0x20, 0x74, 0x61, 0x72,
    381 	0x67, 0x65, 0x74, 0x3b, 0x0a, 0x09, 0x09, 0x69, 0x6e, 0x74, 0x20, 0x69, 0x6e, 0x64, 0x65, 0x78,
    382 	0x20, 0x20, 0x20, 0x20, 0x3d, 0x20, 0x69, 0x6e, 0x74, 0x28, 0x69, 0x6e, 0x5f, 0x73, 0x61, 0x6d,
    383 	0x70, 0x6c, 0x65, 0x29, 0x3b, 0x0a, 0x0a, 0x09, 0x09, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x66,
    384 	0x6c, 0x6f, 0x61, 0x74, 0x20, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x20, 0x3d, 0x20, 0x62, 0x6f, 0x6f,
    385 	0x6c, 0x28, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x78, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x29,
    386 	0x20, 0x3f, 0x20, 0x31, 0x20, 0x3a, 0x20, 0x73, 0x71, 0x72, 0x74, 0x28, 0x32, 0x29, 0x3b, 0x0a,
    387 	0x0a, 0x09, 0x09, 0x66, 0x6f, 0x72, 0x20, 0x28, 0x69, 0x6e, 0x74, 0x20, 0x6a, 0x20, 0x3d, 0x20,
    388 	0x6d, 0x61, 0x78, 0x28, 0x30, 0x2c, 0x20, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x20, 0x2d, 0x20, 0x46,
    389 	0x69, 0x6c, 0x74, 0x65, 0x72, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x29, 0x3b, 0x20, 0x6a, 0x20,
    390 	0x3c, 0x20, 0x6d, 0x69, 0x6e, 0x28, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x2c, 0x20, 0x61, 0x5f, 0x6c,
    391 	0x65, 0x6e, 0x67, 0x74, 0x68, 0x29, 0x3b, 0x20, 0x6a, 0x2b, 0x2b, 0x29, 0x20, 0x7b, 0x0a, 0x09,
    392 	0x09, 0x09, 0x76, 0x65, 0x63, 0x32, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x71,
    393 	0x20, 0x3d, 0x20, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x5f, 0x72, 0x66, 0x28, 0x69, 0x6e, 0x5f,
    394 	0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x20, 0x2b, 0x20, 0x6a, 0x29, 0x3b, 0x0a, 0x09, 0x09, 0x09,
    395 	0x46, 0x49, 0x4c, 0x54, 0x45, 0x52, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x20, 0x68, 0x20, 0x20, 0x3d,
    396 	0x20, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x65, 0x66, 0x66, 0x69, 0x63, 0x69,
    397 	0x65, 0x6e, 0x74, 0x73, 0x5b, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x20, 0x2d, 0x20, 0x6a, 0x5d, 0x3b,
    398 	0x0a, 0x09, 0x09, 0x23, 0x69, 0x66, 0x20, 0x44, 0x65, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x61, 0x74,
    399 	0x65, 0x0a, 0x09, 0x09, 0x09, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x20, 0x20, 0x2b, 0x3d, 0x20,
    400 	0x73, 0x63, 0x61, 0x6c, 0x65, 0x20, 0x2a, 0x20, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x5f, 0x66, 0x69,
    401 	0x6c, 0x74, 0x65, 0x72, 0x28, 0x72, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x69, 0x71, 0x28, 0x69,
    402 	0x71, 0x20, 0x2a, 0x20, 0x76, 0x65, 0x63, 0x32, 0x28, 0x31, 0x2c, 0x20, 0x2d, 0x31, 0x29, 0x2c,
    403 	0x20, 0x2d, 0x6a, 0x29, 0x2c, 0x20, 0x68, 0x29, 0x3b, 0x0a, 0x09, 0x09, 0x23, 0x65, 0x6c, 0x73,
    404 	0x65, 0x0a, 0x09, 0x09, 0x09, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x20, 0x20, 0x2b, 0x3d, 0x20,
    405 	0x61, 0x70, 0x70, 0x6c, 0x79, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x28, 0x69, 0x71, 0x2c,
    406 	0x20, 0x68, 0x29, 0x3b, 0x0a, 0x09, 0x09, 0x23, 0x65, 0x6e, 0x64, 0x69, 0x66, 0x0a, 0x09, 0x09,
    407 	0x7d, 0x0a, 0x0a, 0x09, 0x09, 0x6f, 0x75, 0x74, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5b, 0x6f, 0x75,
    408 	0x74, 0x5f, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x5d, 0x20, 0x3d, 0x20, 0x52, 0x45, 0x53, 0x55,
    409 	0x4c, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x43, 0x41, 0x53, 0x54, 0x28, 0x72, 0x65, 0x73,
    410 	0x75, 0x6c, 0x74, 0x29, 0x3b, 0x0a, 0x09, 0x7d, 0x0a, 0x7d, 0x0a
    411 };
    412 
    413 read_only global u8 beamformer_shader_das_bytes[] = {
    414 	0x2f, 0x2a, 0x20, 0x53, 0x65, 0x65, 0x20, 0x4c, 0x49, 0x43, 0x45, 0x4e, 0x53, 0x45, 0x20, 0x66,
    415 	0x6f, 0x72, 0x20, 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x20, 0x64, 0x65, 0x74, 0x61, 0x69,
    416 	0x6c, 0x73, 0x2e, 0x20, 0x2a, 0x2f, 0x0a, 0x23, 0x69, 0x66, 0x20, 0x20, 0x20, 0x44, 0x61, 0x74,
    417 	0x61, 0x4b, 0x69, 0x6e, 0x64, 0x20, 0x3d, 0x3d, 0x20, 0x44, 0x61, 0x74, 0x61, 0x4b, 0x69, 0x6e,
    418 	0x64, 0x5f, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x33, 0x32, 0x0a, 0x20, 0x20, 0x23, 0x64, 0x65, 0x66,
    419 	0x69, 0x6e, 0x65, 0x20, 0x53, 0x41, 0x4d, 0x50, 0x4c, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x20,
    420 	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x0a,
    421 	0x20, 0x20, 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, 0x54, 0x45, 0x58, 0x54, 0x55, 0x52,
    422 	0x45, 0x5f, 0x4b, 0x49, 0x4e, 0x44, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
    423 	0x72, 0x33, 0x32, 0x66, 0x0a, 0x20, 0x20, 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, 0x52,
    424 	0x45, 0x53, 0x55, 0x4c, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x43, 0x41, 0x53, 0x54, 0x28,
    425 	0x61, 0x29, 0x20, 0x20, 0x20, 0x28, 0x61, 0x29, 0x2e, 0x78, 0x0a, 0x20, 0x20, 0x23, 0x64, 0x65,
    426 	0x66, 0x69, 0x6e, 0x65, 0x20, 0x4f, 0x55, 0x54, 0x50, 0x55, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45,
    427 	0x5f, 0x43, 0x41, 0x53, 0x54, 0x28, 0x61, 0x29, 0x20, 0x20, 0x20, 0x76, 0x65, 0x63, 0x34, 0x28,
    428 	0x28, 0x61, 0x29, 0x2e, 0x78, 0x2c, 0x20, 0x30, 0x2c, 0x20, 0x30, 0x2c, 0x20, 0x30, 0x29, 0x0a,
    429 	0x20, 0x20, 0x23, 0x69, 0x66, 0x20, 0x21, 0x46, 0x61, 0x73, 0x74, 0x0a, 0x20, 0x20, 0x20, 0x20,
    430 	0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, 0x52, 0x45, 0x53, 0x55, 0x4c, 0x54, 0x5f, 0x54,
    431 	0x59, 0x50, 0x45, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, 0x65, 0x63, 0x32,
    432 	0x0a, 0x20, 0x20, 0x20, 0x20, 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, 0x52, 0x45, 0x53,
    433 	0x55, 0x4c, 0x54, 0x5f, 0x4c, 0x41, 0x53, 0x54, 0x5f, 0x49, 0x4e, 0x44, 0x45, 0x58, 0x20, 0x20,
    434 	0x20, 0x31, 0x0a, 0x20, 0x20, 0x23, 0x65, 0x6e, 0x64, 0x69, 0x66, 0x0a, 0x23, 0x65, 0x6c, 0x69,
    435 	0x66, 0x20, 0x44, 0x61, 0x74, 0x61, 0x4b, 0x69, 0x6e, 0x64, 0x20, 0x3d, 0x3d, 0x20, 0x44, 0x61,
    436 	0x74, 0x61, 0x4b, 0x69, 0x6e, 0x64, 0x5f, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x33, 0x32, 0x43, 0x6f,
    437 	0x6d, 0x70, 0x6c, 0x65, 0x78, 0x0a, 0x20, 0x20, 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20,
    438 	0x53, 0x41, 0x4d, 0x50, 0x4c, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x20, 0x20, 0x20, 0x20, 0x20,
    439 	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, 0x65, 0x63, 0x32, 0x0a, 0x20, 0x20, 0x23, 0x64, 0x65,
    440 	0x66, 0x69, 0x6e, 0x65, 0x20, 0x54, 0x45, 0x58, 0x54, 0x55, 0x52, 0x45, 0x5f, 0x4b, 0x49, 0x4e,
    441 	0x44, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x67, 0x33, 0x32, 0x66,
    442 	0x0a, 0x20, 0x20, 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, 0x52, 0x45, 0x53, 0x55, 0x4c,
    443 	0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x43, 0x41, 0x53, 0x54, 0x28, 0x61, 0x29, 0x20, 0x20,
    444 	0x20, 0x28, 0x61, 0x29, 0x2e, 0x78, 0x79, 0x0a, 0x20, 0x20, 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e,
    445 	0x65, 0x20, 0x4f, 0x55, 0x54, 0x50, 0x55, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x43, 0x41,
    446 	0x53, 0x54, 0x28, 0x61, 0x29, 0x20, 0x20, 0x20, 0x76, 0x65, 0x63, 0x34, 0x28, 0x28, 0x61, 0x29,
    447 	0x2e, 0x78, 0x79, 0x2c, 0x20, 0x30, 0x2c, 0x20, 0x30, 0x29, 0x0a, 0x20, 0x20, 0x23, 0x69, 0x66,
    448 	0x20, 0x21, 0x46, 0x61, 0x73, 0x74, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x23, 0x64, 0x65, 0x66, 0x69,
    449 	0x6e, 0x65, 0x20, 0x52, 0x45, 0x53, 0x55, 0x4c, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x20, 0x20,
    450 	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, 0x65, 0x63, 0x33, 0x0a, 0x20, 0x20, 0x20, 0x20,
    451 	0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, 0x52, 0x45, 0x53, 0x55, 0x4c, 0x54, 0x5f, 0x4c,
    452 	0x41, 0x53, 0x54, 0x5f, 0x49, 0x4e, 0x44, 0x45, 0x58, 0x20, 0x20, 0x20, 0x32, 0x0a, 0x20, 0x20,
    453 	0x23, 0x65, 0x6e, 0x64, 0x69, 0x66, 0x0a, 0x23, 0x65, 0x6c, 0x73, 0x65, 0x0a, 0x20, 0x20, 0x23,
    454 	0x65, 0x72, 0x72, 0x6f, 0x72, 0x20, 0x44, 0x61, 0x74, 0x61, 0x4b, 0x69, 0x6e, 0x64, 0x20, 0x75,
    455 	0x6e, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x44,
    456 	0x41, 0x53, 0x0a, 0x23, 0x65, 0x6e, 0x64, 0x69, 0x66, 0x0a, 0x0a, 0x6c, 0x61, 0x79, 0x6f, 0x75,
    457 	0x74, 0x28, 0x73, 0x74, 0x64, 0x34, 0x33, 0x30, 0x2c, 0x20, 0x62, 0x69, 0x6e, 0x64, 0x69, 0x6e,
    458 	0x67, 0x20, 0x3d, 0x20, 0x31, 0x29, 0x20, 0x72, 0x65, 0x61, 0x64, 0x6f, 0x6e, 0x6c, 0x79, 0x20,
    459 	0x72, 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x20, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x20,
    460 	0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x31, 0x20, 0x7b, 0x0a, 0x09, 0x53, 0x41, 0x4d, 0x50,
    461 	0x4c, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x20, 0x72, 0x66, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5b,
    462 	0x5d, 0x3b, 0x0a, 0x7d, 0x3b, 0x0a, 0x0a, 0x23, 0x69, 0x66, 0x6e, 0x64, 0x65, 0x66, 0x20, 0x52,
    463 	0x45, 0x53, 0x55, 0x4c, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x0a, 0x20, 0x20, 0x23, 0x64, 0x65,
    464 	0x66, 0x69, 0x6e, 0x65, 0x20, 0x52, 0x45, 0x53, 0x55, 0x4c, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45,
    465 	0x20, 0x53, 0x41, 0x4d, 0x50, 0x4c, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x0a, 0x23, 0x65, 0x6e,
    466 	0x64, 0x69, 0x66, 0x0a, 0x0a, 0x23, 0x69, 0x66, 0x20, 0x46, 0x61, 0x73, 0x74, 0x0a, 0x20, 0x20,
    467 	0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, 0x52, 0x45, 0x53, 0x55, 0x4c, 0x54, 0x5f, 0x53,
    468 	0x54, 0x4f, 0x52, 0x45, 0x28, 0x61, 0x2c, 0x20, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x5f, 0x61,
    469 	0x29, 0x20, 0x52, 0x45, 0x53, 0x55, 0x4c, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x28, 0x61, 0x29,
    470 	0x0a, 0x09, 0x6c, 0x61, 0x79, 0x6f, 0x75, 0x74, 0x28, 0x54, 0x45, 0x58, 0x54, 0x55, 0x52, 0x45,
    471 	0x5f, 0x4b, 0x49, 0x4e, 0x44, 0x2c, 0x20, 0x62, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x20, 0x3d,
    472 	0x20, 0x30, 0x29, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65,
    473 	0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x20, 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x20, 0x69,
    474 	0x6d, 0x61, 0x67, 0x65, 0x33, 0x44, 0x20, 0x20, 0x75, 0x5f, 0x6f, 0x75, 0x74, 0x5f, 0x64, 0x61,
    475 	0x74, 0x61, 0x5f, 0x74, 0x65, 0x78, 0x3b, 0x0a, 0x23, 0x65, 0x6c, 0x73, 0x65, 0x0a, 0x20, 0x20,
    476 	0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, 0x52, 0x45, 0x53, 0x55, 0x4c, 0x54, 0x5f, 0x53,
    477 	0x54, 0x4f, 0x52, 0x45, 0x28, 0x61, 0x2c, 0x20, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x5f, 0x61,
    478 	0x29, 0x20, 0x52, 0x45, 0x53, 0x55, 0x4c, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x28, 0x61, 0x2c,
    479 	0x20, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x5f, 0x61, 0x29, 0x0a, 0x09, 0x6c, 0x61, 0x79, 0x6f,
    480 	0x75, 0x74, 0x28, 0x54, 0x45, 0x58, 0x54, 0x55, 0x52, 0x45, 0x5f, 0x4b, 0x49, 0x4e, 0x44, 0x2c,
    481 	0x20, 0x62, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x20, 0x3d, 0x20, 0x30, 0x29, 0x20, 0x77, 0x72,
    482 	0x69, 0x74, 0x65, 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x72, 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74,
    483 	0x20, 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x20, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x33, 0x44,
    484 	0x20, 0x20, 0x75, 0x5f, 0x6f, 0x75, 0x74, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x74, 0x65, 0x78,
    485 	0x3b, 0x0a, 0x23, 0x65, 0x6e, 0x64, 0x69, 0x66, 0x0a, 0x0a, 0x6c, 0x61, 0x79, 0x6f, 0x75, 0x74,
    486 	0x28, 0x72, 0x31, 0x36, 0x69, 0x2c, 0x20, 0x20, 0x62, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x20,
    487 	0x3d, 0x20, 0x31, 0x29, 0x20, 0x72, 0x65, 0x61, 0x64, 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x20, 0x72,
    488 	0x65, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x20, 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x20,
    489 	0x69, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x31, 0x44, 0x20, 0x73, 0x70, 0x61, 0x72, 0x73, 0x65, 0x5f,
    490 	0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x3b, 0x0a, 0x6c, 0x61, 0x79, 0x6f, 0x75, 0x74,
    491 	0x28, 0x72, 0x67, 0x33, 0x32, 0x66, 0x2c, 0x20, 0x62, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x20,
    492 	0x3d, 0x20, 0x32, 0x29, 0x20, 0x72, 0x65, 0x61, 0x64, 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x20, 0x72,
    493 	0x65, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x20, 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x20,
    494 	0x69, 0x6d, 0x61, 0x67, 0x65, 0x31, 0x44, 0x20, 0x20, 0x66, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x76,
    495 	0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x3b, 0x0a, 0x6c, 0x61, 0x79, 0x6f, 0x75, 0x74, 0x28, 0x72,
    496 	0x38, 0x69, 0x2c, 0x20, 0x20, 0x20, 0x62, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x20, 0x3d, 0x20,
    497 	0x33, 0x29, 0x20, 0x72, 0x65, 0x61, 0x64, 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x20, 0x72, 0x65, 0x73,
    498 	0x74, 0x72, 0x69, 0x63, 0x74, 0x20, 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x20, 0x69, 0x69,
    499 	0x6d, 0x61, 0x67, 0x65, 0x31, 0x44, 0x20, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6d, 0x69, 0x74, 0x5f,
    500 	0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x5f, 0x6f, 0x72, 0x69, 0x65, 0x6e, 0x74, 0x61, 0x74,
    501 	0x69, 0x6f, 0x6e, 0x73, 0x3b, 0x0a, 0x0a, 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, 0x52,
    502 	0x58, 0x5f, 0x4f, 0x52, 0x49, 0x45, 0x4e, 0x54, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x28, 0x74, 0x78,
    503 	0x5f, 0x72, 0x78, 0x29, 0x20, 0x28, 0x28, 0x28, 0x74, 0x78, 0x5f, 0x72, 0x78, 0x29, 0x20, 0x3e,
    504 	0x3e, 0x20, 0x30, 0x29, 0x20, 0x26, 0x20, 0x30, 0x78, 0x30, 0x46, 0x29, 0x0a, 0x23, 0x64, 0x65,
    505 	0x66, 0x69, 0x6e, 0x65, 0x20, 0x54, 0x58, 0x5f, 0x4f, 0x52, 0x49, 0x45, 0x4e, 0x54, 0x41, 0x54,
    506 	0x49, 0x4f, 0x4e, 0x28, 0x74, 0x78, 0x5f, 0x72, 0x78, 0x29, 0x20, 0x28, 0x28, 0x28, 0x74, 0x78,
    507 	0x5f, 0x72, 0x78, 0x29, 0x20, 0x3e, 0x3e, 0x20, 0x34, 0x29, 0x20, 0x26, 0x20, 0x30, 0x78, 0x30,
    508 	0x46, 0x29, 0x0a, 0x0a, 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, 0x43, 0x5f, 0x53, 0x50,
    509 	0x4c, 0x49, 0x4e, 0x45, 0x20, 0x30, 0x2e, 0x35, 0x0a, 0x0a, 0x23, 0x69, 0x66, 0x20, 0x44, 0x61,
    510 	0x74, 0x61, 0x4b, 0x69, 0x6e, 0x64, 0x20, 0x3d, 0x3d, 0x20, 0x44, 0x61, 0x74, 0x61, 0x4b, 0x69,
    511 	0x6e, 0x64, 0x5f, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x33, 0x32, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65,
    512 	0x78, 0x0a, 0x76, 0x65, 0x63, 0x32, 0x20, 0x72, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x69, 0x71,
    513 	0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x76, 0x65, 0x63, 0x32, 0x20, 0x69, 0x71, 0x2c, 0x20,
    514 	0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x74, 0x69, 0x6d, 0x65,
    515 	0x29, 0x0a, 0x7b, 0x0a, 0x09, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x61, 0x72, 0x67, 0x20, 0x20,
    516 	0x20, 0x20, 0x3d, 0x20, 0x72, 0x61, 0x64, 0x69, 0x61, 0x6e, 0x73, 0x28, 0x33, 0x36, 0x30, 0x29,
    517 	0x20, 0x2a, 0x20, 0x44, 0x65, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x46,
    518 	0x72, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x79, 0x20, 0x2a, 0x20, 0x74, 0x69, 0x6d, 0x65, 0x3b,
    519 	0x0a, 0x09, 0x6d, 0x61, 0x74, 0x32, 0x20, 0x20, 0x70, 0x68, 0x61, 0x73, 0x6f, 0x72, 0x20, 0x3d,
    520 	0x20, 0x6d, 0x61, 0x74, 0x32, 0x28, 0x20, 0x63, 0x6f, 0x73, 0x28, 0x61, 0x72, 0x67, 0x29, 0x2c,
    521 	0x20, 0x73, 0x69, 0x6e, 0x28, 0x61, 0x72, 0x67, 0x29, 0x2c, 0x0a, 0x09, 0x20, 0x20, 0x20, 0x20,
    522 	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
    523 	0x2d, 0x73, 0x69, 0x6e, 0x28, 0x61, 0x72, 0x67, 0x29, 0x2c, 0x20, 0x63, 0x6f, 0x73, 0x28, 0x61,
    524 	0x72, 0x67, 0x29, 0x29, 0x3b, 0x0a, 0x09, 0x76, 0x65, 0x63, 0x32, 0x20, 0x72, 0x65, 0x73, 0x75,
    525 	0x6c, 0x74, 0x20, 0x3d, 0x20, 0x70, 0x68, 0x61, 0x73, 0x6f, 0x72, 0x20, 0x2a, 0x20, 0x69, 0x71,
    526 	0x3b, 0x0a, 0x09, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74,
    527 	0x3b, 0x0a, 0x7d, 0x0a, 0x23, 0x65, 0x6c, 0x73, 0x65, 0x0a, 0x20, 0x20, 0x23, 0x64, 0x65, 0x66,
    528 	0x69, 0x6e, 0x65, 0x20, 0x72, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x69, 0x71, 0x28, 0x61, 0x2c,
    529 	0x20, 0x62, 0x29, 0x20, 0x28, 0x61, 0x29, 0x0a, 0x23, 0x65, 0x6e, 0x64, 0x69, 0x66, 0x0a, 0x0a,
    530 	0x2f, 0x2a, 0x20, 0x4e, 0x4f, 0x54, 0x45, 0x3a, 0x20, 0x53, 0x65, 0x65, 0x3a, 0x20, 0x68, 0x74,
    531 	0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x63, 0x75, 0x62, 0x69, 0x63, 0x2e, 0x6f, 0x72, 0x67, 0x2f,
    532 	0x64, 0x6f, 0x63, 0x73, 0x2f, 0x68, 0x65, 0x72, 0x6d, 0x69, 0x74, 0x65, 0x2e, 0x68, 0x74, 0x6d,
    533 	0x20, 0x2a, 0x2f, 0x0a, 0x53, 0x41, 0x4d, 0x50, 0x4c, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x20,
    534 	0x63, 0x75, 0x62, 0x69, 0x63, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x69, 0x6e, 0x74, 0x20,
    535 	0x62, 0x61, 0x73, 0x65, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73,
    536 	0x74, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x29, 0x0a, 0x7b,
    537 	0x0a, 0x09, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x6d, 0x61, 0x74, 0x34, 0x20, 0x68, 0x20, 0x3d,
    538 	0x20, 0x6d, 0x61, 0x74, 0x34, 0x28, 0x0a, 0x09, 0x09, 0x20, 0x32, 0x2c, 0x20, 0x2d, 0x33, 0x2c,
    539 	0x20, 0x20, 0x30, 0x2c, 0x20, 0x31, 0x2c, 0x0a, 0x09, 0x09, 0x2d, 0x32, 0x2c, 0x20, 0x20, 0x33,
    540 	0x2c, 0x20, 0x20, 0x30, 0x2c, 0x20, 0x30, 0x2c, 0x0a, 0x09, 0x09, 0x20, 0x31, 0x2c, 0x20, 0x2d,
    541 	0x32, 0x2c, 0x20, 0x20, 0x31, 0x2c, 0x20, 0x30, 0x2c, 0x0a, 0x09, 0x09, 0x20, 0x31, 0x2c, 0x20,
    542 	0x2d, 0x31, 0x2c, 0x20, 0x20, 0x30, 0x2c, 0x20, 0x30, 0x0a, 0x09, 0x29, 0x3b, 0x0a, 0x0a, 0x09,
    543 	0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x74, 0x6b, 0x2c, 0x20, 0x74, 0x20, 0x3d, 0x20, 0x6d, 0x6f,
    544 	0x64, 0x66, 0x28, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x2c, 0x20, 0x74, 0x6b, 0x29, 0x3b, 0x0a, 0x09,
    545 	0x53, 0x41, 0x4d, 0x50, 0x4c, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x20, 0x73, 0x61, 0x6d, 0x70,
    546 	0x6c, 0x65, 0x73, 0x5b, 0x34, 0x5d, 0x20, 0x3d, 0x20, 0x7b, 0x0a, 0x09, 0x09, 0x72, 0x66, 0x5f,
    547 	0x64, 0x61, 0x74, 0x61, 0x5b, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x20,
    548 	0x2b, 0x20, 0x69, 0x6e, 0x74, 0x28, 0x74, 0x6b, 0x29, 0x20, 0x2d, 0x20, 0x31, 0x5d, 0x2c, 0x0a,
    549 	0x09, 0x09, 0x72, 0x66, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5b, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x69,
    550 	0x6e, 0x64, 0x65, 0x78, 0x20, 0x2b, 0x20, 0x69, 0x6e, 0x74, 0x28, 0x74, 0x6b, 0x29, 0x20, 0x2b,
    551 	0x20, 0x30, 0x5d, 0x2c, 0x0a, 0x09, 0x09, 0x72, 0x66, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5b, 0x62,
    552 	0x61, 0x73, 0x65, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x20, 0x2b, 0x20, 0x69, 0x6e, 0x74, 0x28,
    553 	0x74, 0x6b, 0x29, 0x20, 0x2b, 0x20, 0x31, 0x5d, 0x2c, 0x0a, 0x09, 0x09, 0x72, 0x66, 0x5f, 0x64,
    554 	0x61, 0x74, 0x61, 0x5b, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x20, 0x2b,
    555 	0x20, 0x69, 0x6e, 0x74, 0x28, 0x74, 0x6b, 0x29, 0x20, 0x2b, 0x20, 0x32, 0x5d, 0x2c, 0x0a, 0x09,
    556 	0x7d, 0x3b, 0x0a, 0x0a, 0x09, 0x76, 0x65, 0x63, 0x34, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
    557 	0x20, 0x53, 0x20, 0x20, 0x3d, 0x20, 0x76, 0x65, 0x63, 0x34, 0x28, 0x74, 0x20, 0x2a, 0x20, 0x74,
    558 	0x20, 0x2a, 0x20, 0x74, 0x2c, 0x20, 0x74, 0x20, 0x2a, 0x20, 0x74, 0x2c, 0x20, 0x74, 0x2c, 0x20,
    559 	0x31, 0x29, 0x3b, 0x0a, 0x09, 0x53, 0x41, 0x4d, 0x50, 0x4c, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45,
    560 	0x20, 0x50, 0x31, 0x20, 0x3d, 0x20, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x73, 0x5b, 0x31, 0x5d,
    561 	0x3b, 0x0a, 0x09, 0x53, 0x41, 0x4d, 0x50, 0x4c, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x20, 0x50,
    562 	0x32, 0x20, 0x3d, 0x20, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x73, 0x5b, 0x32, 0x5d, 0x3b, 0x0a,
    563 	0x09, 0x53, 0x41, 0x4d, 0x50, 0x4c, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x20, 0x54, 0x31, 0x20,
    564 	0x3d, 0x20, 0x43, 0x5f, 0x53, 0x50, 0x4c, 0x49, 0x4e, 0x45, 0x20, 0x2a, 0x20, 0x28, 0x50, 0x32,
    565 	0x20, 0x2d, 0x20, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x73, 0x5b, 0x30, 0x5d, 0x29, 0x3b, 0x0a,
    566 	0x09, 0x53, 0x41, 0x4d, 0x50, 0x4c, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x20, 0x54, 0x32, 0x20,
    567 	0x3d, 0x20, 0x43, 0x5f, 0x53, 0x50, 0x4c, 0x49, 0x4e, 0x45, 0x20, 0x2a, 0x20, 0x28, 0x73, 0x61,
    568 	0x6d, 0x70, 0x6c, 0x65, 0x73, 0x5b, 0x33, 0x5d, 0x20, 0x2d, 0x20, 0x50, 0x31, 0x29, 0x3b, 0x0a,
    569 	0x0a, 0x23, 0x69, 0x66, 0x20, 0x20, 0x20, 0x44, 0x61, 0x74, 0x61, 0x4b, 0x69, 0x6e, 0x64, 0x20,
    570 	0x3d, 0x3d, 0x20, 0x44, 0x61, 0x74, 0x61, 0x4b, 0x69, 0x6e, 0x64, 0x5f, 0x46, 0x6c, 0x6f, 0x61,
    571 	0x74, 0x33, 0x32, 0x0a, 0x09, 0x76, 0x65, 0x63, 0x34, 0x20, 0x43, 0x20, 0x3d, 0x20, 0x76, 0x65,
    572 	0x63, 0x34, 0x28, 0x50, 0x31, 0x2e, 0x78, 0x2c, 0x20, 0x50, 0x32, 0x2e, 0x78, 0x2c, 0x20, 0x54,
    573 	0x31, 0x2e, 0x78, 0x2c, 0x20, 0x54, 0x32, 0x2e, 0x78, 0x29, 0x3b, 0x0a, 0x09, 0x66, 0x6c, 0x6f,
    574 	0x61, 0x74, 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x20, 0x3d, 0x20, 0x64, 0x6f, 0x74, 0x28,
    575 	0x53, 0x2c, 0x20, 0x68, 0x20, 0x2a, 0x20, 0x43, 0x29, 0x3b, 0x0a, 0x23, 0x65, 0x6c, 0x69, 0x66,
    576 	0x20, 0x44, 0x61, 0x74, 0x61, 0x4b, 0x69, 0x6e, 0x64, 0x20, 0x3d, 0x3d, 0x20, 0x44, 0x61, 0x74,
    577 	0x61, 0x4b, 0x69, 0x6e, 0x64, 0x5f, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x33, 0x32, 0x43, 0x6f, 0x6d,
    578 	0x70, 0x6c, 0x65, 0x78, 0x0a, 0x09, 0x6d, 0x61, 0x74, 0x32, 0x78, 0x34, 0x20, 0x43, 0x20, 0x3d,
    579 	0x20, 0x6d, 0x61, 0x74, 0x32, 0x78, 0x34, 0x28, 0x76, 0x65, 0x63, 0x34, 0x28, 0x50, 0x31, 0x2e,
    580 	0x78, 0x2c, 0x20, 0x50, 0x32, 0x2e, 0x78, 0x2c, 0x20, 0x54, 0x31, 0x2e, 0x78, 0x2c, 0x20, 0x54,
    581 	0x32, 0x2e, 0x78, 0x29, 0x2c, 0x20, 0x76, 0x65, 0x63, 0x34, 0x28, 0x50, 0x31, 0x2e, 0x79, 0x2c,
    582 	0x20, 0x50, 0x32, 0x2e, 0x79, 0x2c, 0x20, 0x54, 0x31, 0x2e, 0x79, 0x2c, 0x20, 0x54, 0x32, 0x2e,
    583 	0x79, 0x29, 0x29, 0x3b, 0x0a, 0x09, 0x76, 0x65, 0x63, 0x32, 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c,
    584 	0x74, 0x20, 0x3d, 0x20, 0x53, 0x20, 0x2a, 0x20, 0x68, 0x20, 0x2a, 0x20, 0x43, 0x3b, 0x0a, 0x23,
    585 	0x65, 0x6e, 0x64, 0x69, 0x66, 0x0a, 0x09, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x72, 0x65,
    586 	0x73, 0x75, 0x6c, 0x74, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x53, 0x41, 0x4d, 0x50, 0x4c, 0x45, 0x5f,
    587 	0x54, 0x59, 0x50, 0x45, 0x20, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x5f, 0x72, 0x66, 0x28, 0x63,
    588 	0x6f, 0x6e, 0x73, 0x74, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c,
    589 	0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x74, 0x72, 0x61, 0x6e,
    590 	0x73, 0x6d, 0x69, 0x74, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x66, 0x6c, 0x6f, 0x61,
    591 	0x74, 0x20, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x29, 0x0a, 0x7b, 0x0a, 0x09, 0x53, 0x41, 0x4d, 0x50,
    592 	0x4c, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x20, 0x3d,
    593 	0x20, 0x53, 0x41, 0x4d, 0x50, 0x4c, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x28, 0x30, 0x29, 0x3b,
    594 	0x0a, 0x09, 0x69, 0x6e, 0x74, 0x20, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78,
    595 	0x20, 0x3d, 0x20, 0x69, 0x6e, 0x74, 0x28, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x20, 0x2a,
    596 	0x20, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x20, 0x2a, 0x20, 0x41,
    597 	0x63, 0x71, 0x75, 0x69, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x20,
    598 	0x2b, 0x20, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6d, 0x69, 0x74, 0x20, 0x2a, 0x20, 0x53, 0x61, 0x6d,
    599 	0x70, 0x6c, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x29, 0x3b, 0x0a, 0x09, 0x73, 0x77, 0x69, 0x74,
    600 	0x63, 0x68, 0x20, 0x28, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x6f, 0x6c, 0x61, 0x74, 0x69, 0x6f,
    601 	0x6e, 0x4d, 0x6f, 0x64, 0x65, 0x29, 0x20, 0x7b, 0x0a, 0x09, 0x63, 0x61, 0x73, 0x65, 0x20, 0x49,
    602 	0x6e, 0x74, 0x65, 0x72, 0x70, 0x6f, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x6f, 0x64, 0x65,
    603 	0x5f, 0x4e, 0x65, 0x61, 0x72, 0x65, 0x73, 0x74, 0x3a, 0x7b, 0x0a, 0x09, 0x09, 0x69, 0x66, 0x20,
    604 	0x28, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x20, 0x3e, 0x3d, 0x20, 0x30, 0x20, 0x26, 0x26, 0x20, 0x69,
    605 	0x6e, 0x74, 0x28, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x28, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x29, 0x29,
    606 	0x20, 0x3c, 0x20, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x29, 0x0a,
    607 	0x09, 0x09, 0x09, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x20, 0x3d, 0x20, 0x72, 0x6f, 0x74, 0x61,
    608 	0x74, 0x65, 0x5f, 0x69, 0x71, 0x28, 0x72, 0x66, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5b, 0x62, 0x61,
    609 	0x73, 0x65, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x20, 0x2b, 0x20, 0x69, 0x6e, 0x74, 0x28, 0x72,
    610 	0x6f, 0x75, 0x6e, 0x64, 0x28, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x29, 0x29, 0x5d, 0x2c, 0x20, 0x69,
    611 	0x6e, 0x64, 0x65, 0x78, 0x20, 0x2f, 0x20, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x69, 0x6e, 0x67, 0x46,
    612 	0x72, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x79, 0x29, 0x3b, 0x0a, 0x09, 0x7d, 0x62, 0x72, 0x65,
    613 	0x61, 0x6b, 0x3b, 0x0a, 0x09, 0x63, 0x61, 0x73, 0x65, 0x20, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x70,
    614 	0x6f, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x6f, 0x64, 0x65, 0x5f, 0x4c, 0x69, 0x6e, 0x65,
    615 	0x61, 0x72, 0x3a, 0x7b, 0x0a, 0x09, 0x09, 0x69, 0x66, 0x20, 0x28, 0x69, 0x6e, 0x64, 0x65, 0x78,
    616 	0x20, 0x3e, 0x3d, 0x20, 0x30, 0x20, 0x26, 0x26, 0x20, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x28, 0x69,
    617 	0x6e, 0x64, 0x65, 0x78, 0x29, 0x20, 0x3c, 0x20, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x43, 0x6f,
    618 	0x75, 0x6e, 0x74, 0x29, 0x20, 0x7b, 0x0a, 0x09, 0x09, 0x09, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20,
    619 	0x74, 0x6b, 0x2c, 0x20, 0x74, 0x20, 0x3d, 0x20, 0x6d, 0x6f, 0x64, 0x66, 0x28, 0x69, 0x6e, 0x64,
    620 	0x65, 0x78, 0x2c, 0x20, 0x74, 0x6b, 0x29, 0x3b, 0x0a, 0x09, 0x09, 0x09, 0x69, 0x6e, 0x74, 0x20,
    621 	0x6e, 0x20, 0x3d, 0x20, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x20, 0x2b,
    622 	0x20, 0x69, 0x6e, 0x74, 0x28, 0x74, 0x6b, 0x29, 0x3b, 0x0a, 0x09, 0x09, 0x09, 0x72, 0x65, 0x73,
    623 	0x75, 0x6c, 0x74, 0x20, 0x3d, 0x20, 0x28, 0x31, 0x20, 0x2d, 0x20, 0x74, 0x29, 0x20, 0x2a, 0x20,
    624 	0x72, 0x66, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5b, 0x6e, 0x5d, 0x20, 0x2b, 0x20, 0x74, 0x20, 0x2a,
    625 	0x20, 0x72, 0x66, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5b, 0x6e, 0x20, 0x2b, 0x20, 0x31, 0x5d, 0x3b,
    626 	0x0a, 0x09, 0x09, 0x7d, 0x0a, 0x09, 0x09, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x20, 0x3d, 0x20,
    627 	0x72, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x69, 0x71, 0x28, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74,
    628 	0x2c, 0x20, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x20, 0x2f, 0x20, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x69,
    629 	0x6e, 0x67, 0x46, 0x72, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x79, 0x29, 0x3b, 0x0a, 0x09, 0x7d,
    630 	0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, 0x09, 0x63, 0x61, 0x73, 0x65, 0x20, 0x49, 0x6e, 0x74,
    631 	0x65, 0x72, 0x70, 0x6f, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x6f, 0x64, 0x65, 0x5f, 0x43,
    632 	0x75, 0x62, 0x69, 0x63, 0x3a, 0x7b, 0x0a, 0x09, 0x09, 0x69, 0x66, 0x20, 0x28, 0x69, 0x6e, 0x64,
    633 	0x65, 0x78, 0x20, 0x3e, 0x3d, 0x20, 0x30, 0x20, 0x26, 0x26, 0x20, 0x28, 0x69, 0x6e, 0x74, 0x28,
    634 	0x69, 0x6e, 0x64, 0x65, 0x78, 0x29, 0x20, 0x2b, 0x20, 0x32, 0x29, 0x20, 0x3c, 0x20, 0x53, 0x61,
    635 	0x6d, 0x70, 0x6c, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x29, 0x0a, 0x09, 0x09, 0x09, 0x72, 0x65,
    636 	0x73, 0x75, 0x6c, 0x74, 0x20, 0x3d, 0x20, 0x72, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x69, 0x71,
    637 	0x28, 0x63, 0x75, 0x62, 0x69, 0x63, 0x28, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x69, 0x6e, 0x64, 0x65,
    638 	0x78, 0x2c, 0x20, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x29, 0x2c, 0x20, 0x69, 0x6e, 0x64, 0x65, 0x78,
    639 	0x20, 0x2f, 0x20, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x69, 0x6e, 0x67, 0x46, 0x72, 0x65, 0x71, 0x75,
    640 	0x65, 0x6e, 0x63, 0x79, 0x29, 0x3b, 0x0a, 0x09, 0x7d, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a,
    641 	0x09, 0x7d, 0x0a, 0x09, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c,
    642 	0x74, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x73, 0x61, 0x6d, 0x70,
    643 	0x6c, 0x65, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x66,
    644 	0x6c, 0x6f, 0x61, 0x74, 0x20, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x29, 0x0a, 0x7b,
    645 	0x0a, 0x09, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x20, 0x74, 0x69, 0x6d, 0x65, 0x20, 0x3d, 0x20,
    646 	0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x20, 0x2f, 0x20, 0x53, 0x70, 0x65, 0x65, 0x64,
    647 	0x4f, 0x66, 0x53, 0x6f, 0x75, 0x6e, 0x64, 0x20, 0x2b, 0x20, 0x54, 0x69, 0x6d, 0x65, 0x4f, 0x66,
    648 	0x66, 0x73, 0x65, 0x74, 0x3b, 0x0a, 0x09, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x74, 0x69,
    649 	0x6d, 0x65, 0x20, 0x2a, 0x20, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x69, 0x6e, 0x67, 0x46, 0x72, 0x65,
    650 	0x71, 0x75, 0x65, 0x6e, 0x63, 0x79, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x66, 0x6c, 0x6f, 0x61, 0x74,
    651 	0x20, 0x61, 0x70, 0x6f, 0x64, 0x69, 0x7a, 0x65, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x66,
    652 	0x6c, 0x6f, 0x61, 0x74, 0x20, 0x61, 0x72, 0x67, 0x29, 0x0a, 0x7b, 0x0a, 0x09, 0x2f, 0x2a, 0x20,
    653 	0x49, 0x4d, 0x50, 0x4f, 0x52, 0x54, 0x41, 0x4e, 0x54, 0x3a, 0x20, 0x64, 0x6f, 0x20, 0x6e, 0x6f,
    654 	0x74, 0x20, 0x6d, 0x6f, 0x76, 0x65, 0x20, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x69,
    655 	0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x72, 0x67, 0x20, 0x69, 0x6e, 0x74, 0x6f, 0x20, 0x74,
    656 	0x68, 0x69, 0x73, 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x20, 0x49, 0x74,
    657 	0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x20, 0x61,
    658 	0x0a, 0x09, 0x20, 0x2a, 0x20, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c,
    659 	0x20, 0x6d, 0x6f, 0x76, 0x65, 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x69, 0x6e, 0x67, 0x20,
    660 	0x69, 0x6e, 0x20, 0x63, 0x6f, 0x73, 0x20, 0x61, 0x6c, 0x77, 0x61, 0x79, 0x73, 0x20, 0x62, 0x65,
    661 	0x69, 0x6e, 0x67, 0x20, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x64, 0x20, 0x63, 0x61,
    662 	0x75, 0x73, 0x69, 0x6e, 0x67, 0x20, 0x61, 0x20, 0x73, 0x6c, 0x6f, 0x77, 0x64, 0x6f, 0x77, 0x6e,
    663 	0x20, 0x2a, 0x2f, 0x0a, 0x0a, 0x09, 0x2f, 0x2a, 0x20, 0x4e, 0x4f, 0x54, 0x45, 0x3a, 0x20, 0x63,
    664 	0x6f, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x20, 0x46, 0x23, 0x20, 0x64, 0x79, 0x6e, 0x61, 0x6d,
    665 	0x69, 0x63, 0x20, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x20, 0x61, 0x70, 0x6f, 0x64, 0x69,
    666 	0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x20, 0x54, 0x68, 0x69, 0x73, 0x20, 0x69, 0x73, 0x20,
    667 	0x69, 0x6d, 0x70, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x65, 0x64, 0x20, 0x61, 0x73, 0x3a, 0x0a,
    668 	0x09, 0x20, 0x2a, 0x0a, 0x09, 0x20, 0x2a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
    669 	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x2f, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
    670 	0x20, 0x20, 0x7c, 0x78, 0x5f, 0x65, 0x20, 0x2d, 0x20, 0x78, 0x5f, 0x69, 0x7c, 0x5c, 0x0a, 0x09,
    671 	0x20, 0x2a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x28, 0x78, 0x2c, 0x20, 0x7a, 0x29, 0x20, 0x3d, 0x20,
    672 	0x63, 0x6f, 0x73, 0x28, 0x46, 0x23, 0x20, 0x2a, 0x20, 0xcf, 0x80, 0x20, 0x2a, 0x20, 0x2d, 0x2d,
    673 	0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x20, 0x29, 0x20, 0x5e, 0x20, 0x32, 0x0a,
    674 	0x09, 0x20, 0x2a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
    675 	0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7c, 0x7a,
    676 	0x5f, 0x65, 0x20, 0x2d, 0x20, 0x7a, 0x5f, 0x69, 0x7c, 0x2f, 0x0a, 0x09, 0x20, 0x2a, 0x0a, 0x09,
    677 	0x20, 0x2a, 0x20, 0x77, 0x68, 0x65, 0x72, 0x65, 0x20, 0x78, 0x2c, 0x7a, 0x5f, 0x65, 0x20, 0x61,
    678 	0x72, 0x65, 0x20, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x64, 0x75, 0x63, 0x65, 0x72, 0x20, 0x65, 0x6c,
    679 	0x65, 0x6d, 0x65, 0x6e, 0x74, 0x20, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x20,
    680 	0x61, 0x6e, 0x64, 0x20, 0x78, 0x2c, 0x7a, 0x5f, 0x69, 0x20, 0x61, 0x72, 0x65, 0x20, 0x69, 0x6d,
    681 	0x61, 0x67, 0x65, 0x20, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x20, 0x2a,
    682 	0x2f, 0x0a, 0x09, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x61, 0x20, 0x3d, 0x20, 0x63, 0x6f, 0x73,
    683 	0x28, 0x72, 0x61, 0x64, 0x69, 0x61, 0x6e, 0x73, 0x28, 0x31, 0x38, 0x30, 0x29, 0x20, 0x2a, 0x20,
    684 	0x61, 0x72, 0x67, 0x29, 0x3b, 0x0a, 0x09, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x61, 0x20,
    685 	0x2a, 0x20, 0x61, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x76, 0x65, 0x63, 0x32, 0x20, 0x72, 0x63, 0x61,
    686 	0x5f, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x6f,
    687 	0x6e, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x76, 0x65, 0x63, 0x33, 0x20, 0x70, 0x6f, 0x69,
    688 	0x6e, 0x74, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x62, 0x6f, 0x6f, 0x6c, 0x20, 0x72,
    689 	0x6f, 0x77, 0x73, 0x29, 0x0a, 0x7b, 0x0a, 0x09, 0x76, 0x65, 0x63, 0x32, 0x20, 0x72, 0x65, 0x73,
    690 	0x75, 0x6c, 0x74, 0x20, 0x3d, 0x20, 0x76, 0x65, 0x63, 0x32, 0x28, 0x70, 0x6f, 0x69, 0x6e, 0x74,
    691 	0x5b, 0x69, 0x6e, 0x74, 0x28, 0x72, 0x6f, 0x77, 0x73, 0x29, 0x5d, 0x2c, 0x20, 0x70, 0x6f, 0x69,
    692 	0x6e, 0x74, 0x5b, 0x32, 0x5d, 0x29, 0x3b, 0x0a, 0x09, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20,
    693 	0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x66, 0x6c, 0x6f, 0x61, 0x74,
    694 	0x20, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x5f, 0x77, 0x61, 0x76, 0x65, 0x5f, 0x74, 0x72, 0x61, 0x6e,
    695 	0x73, 0x6d, 0x69, 0x74, 0x5f, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x28, 0x63, 0x6f,
    696 	0x6e, 0x73, 0x74, 0x20, 0x76, 0x65, 0x63, 0x33, 0x20, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2c, 0x20,
    697 	0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x74, 0x72, 0x61, 0x6e,
    698 	0x73, 0x6d, 0x69, 0x74, 0x5f, 0x61, 0x6e, 0x67, 0x6c, 0x65, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73,
    699 	0x74, 0x20, 0x62, 0x6f, 0x6f, 0x6c, 0x20, 0x74, 0x78, 0x5f, 0x72, 0x6f, 0x77, 0x73, 0x29, 0x0a,
    700 	0x7b, 0x0a, 0x09, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x64, 0x6f, 0x74, 0x28, 0x72, 0x63,
    701 	0x61, 0x5f, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x69,
    702 	0x6f, 0x6e, 0x28, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2c, 0x20, 0x74, 0x78, 0x5f, 0x72, 0x6f, 0x77,
    703 	0x73, 0x29, 0x2c, 0x20, 0x76, 0x65, 0x63, 0x32, 0x28, 0x73, 0x69, 0x6e, 0x28, 0x74, 0x72, 0x61,
    704 	0x6e, 0x73, 0x6d, 0x69, 0x74, 0x5f, 0x61, 0x6e, 0x67, 0x6c, 0x65, 0x29, 0x2c, 0x20, 0x63, 0x6f,
    705 	0x73, 0x28, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6d, 0x69, 0x74, 0x5f, 0x61, 0x6e, 0x67, 0x6c, 0x65,
    706 	0x29, 0x29, 0x29, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x63, 0x79,
    707 	0x6c, 0x69, 0x6e, 0x64, 0x72, 0x69, 0x63, 0x61, 0x6c, 0x5f, 0x77, 0x61, 0x76, 0x65, 0x5f, 0x74,
    708 	0x72, 0x61, 0x6e, 0x73, 0x6d, 0x69, 0x74, 0x5f, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65,
    709 	0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x76, 0x65, 0x63, 0x33, 0x20, 0x70, 0x6f, 0x69, 0x6e,
    710 	0x74, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x66,
    711 	0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x64, 0x65, 0x70, 0x74, 0x68, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20,
    712 	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
    713 	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
    714 	0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74,
    715 	0x20, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6d, 0x69, 0x74, 0x5f, 0x61, 0x6e, 0x67, 0x6c, 0x65, 0x2c,
    716 	0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x62, 0x6f, 0x6f, 0x6c, 0x20, 0x74, 0x78, 0x5f, 0x72,
    717 	0x6f, 0x77, 0x73, 0x29, 0x0a, 0x7b, 0x0a, 0x09, 0x76, 0x65, 0x63, 0x32, 0x20, 0x66, 0x20, 0x3d,
    718 	0x20, 0x66, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x64, 0x65, 0x70, 0x74, 0x68, 0x20, 0x2a, 0x20, 0x76,
    719 	0x65, 0x63, 0x32, 0x28, 0x73, 0x69, 0x6e, 0x28, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6d, 0x69, 0x74,
    720 	0x5f, 0x61, 0x6e, 0x67, 0x6c, 0x65, 0x29, 0x2c, 0x20, 0x63, 0x6f, 0x73, 0x28, 0x74, 0x72, 0x61,
    721 	0x6e, 0x73, 0x6d, 0x69, 0x74, 0x5f, 0x61, 0x6e, 0x67, 0x6c, 0x65, 0x29, 0x29, 0x3b, 0x0a, 0x09,
    722 	0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x28,
    723 	0x72, 0x63, 0x61, 0x5f, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63,
    724 	0x74, 0x69, 0x6f, 0x6e, 0x28, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2c, 0x20, 0x74, 0x78, 0x5f, 0x72,
    725 	0x6f, 0x77, 0x73, 0x29, 0x2c, 0x20, 0x66, 0x29, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x69, 0x6e, 0x74,
    726 	0x20, 0x74, 0x78, 0x5f, 0x72, 0x78, 0x5f, 0x6f, 0x72, 0x69, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69,
    727 	0x6f, 0x6e, 0x5f, 0x66, 0x6f, 0x72, 0x5f, 0x61, 0x63, 0x71, 0x75, 0x69, 0x73, 0x69, 0x74, 0x69,
    728 	0x6f, 0x6e, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x61, 0x63, 0x71,
    729 	0x75, 0x69, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x29, 0x0a, 0x7b, 0x0a, 0x09, 0x69, 0x6e, 0x74,
    730 	0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x20, 0x3d, 0x20, 0x62, 0x6f, 0x6f, 0x6c, 0x28, 0x53,
    731 	0x69, 0x6e, 0x67, 0x6c, 0x65, 0x4f, 0x72, 0x69, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e,
    732 	0x29, 0x20, 0x3f, 0x20, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x6d, 0x69, 0x74, 0x52, 0x65, 0x63, 0x65,
    733 	0x69, 0x76, 0x65, 0x4f, 0x72, 0x69, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x3a,
    734 	0x20, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x4c, 0x6f, 0x61, 0x64, 0x28, 0x74, 0x72, 0x61, 0x6e, 0x73,
    735 	0x6d, 0x69, 0x74, 0x5f, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x5f, 0x6f, 0x72, 0x69, 0x65,
    736 	0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2c, 0x20, 0x61, 0x63, 0x71, 0x75, 0x69, 0x73,
    737 	0x69, 0x74, 0x69, 0x6f, 0x6e, 0x29, 0x2e, 0x78, 0x3b, 0x0a, 0x09, 0x72, 0x65, 0x74, 0x75, 0x72,
    738 	0x6e, 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x76, 0x65, 0x63,
    739 	0x32, 0x20, 0x66, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x5f, 0x66,
    740 	0x6f, 0x72, 0x5f, 0x61, 0x63, 0x71, 0x75, 0x69, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x63,
    741 	0x6f, 0x6e, 0x73, 0x74, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x61, 0x63, 0x71, 0x75, 0x69, 0x73, 0x69,
    742 	0x74, 0x69, 0x6f, 0x6e, 0x29, 0x0a, 0x7b, 0x0a, 0x09, 0x76, 0x65, 0x63, 0x32, 0x20, 0x72, 0x65,
    743 	0x73, 0x75, 0x6c, 0x74, 0x20, 0x3d, 0x20, 0x62, 0x6f, 0x6f, 0x6c, 0x28, 0x53, 0x69, 0x6e, 0x67,
    744 	0x6c, 0x65, 0x46, 0x6f, 0x63, 0x75, 0x73, 0x29, 0x20, 0x3f, 0x20, 0x76, 0x65, 0x63, 0x32, 0x28,
    745 	0x54, 0x72, 0x61, 0x6e, 0x73, 0x6d, 0x69, 0x74, 0x41, 0x6e, 0x67, 0x6c, 0x65, 0x2c, 0x20, 0x46,
    746 	0x6f, 0x63, 0x75, 0x73, 0x44, 0x65, 0x70, 0x74, 0x68, 0x29, 0x20, 0x3a, 0x20, 0x69, 0x6d, 0x61,
    747 	0x67, 0x65, 0x4c, 0x6f, 0x61, 0x64, 0x28, 0x66, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x76, 0x65, 0x63,
    748 	0x74, 0x6f, 0x72, 0x73, 0x2c, 0x20, 0x61, 0x63, 0x71, 0x75, 0x69, 0x73, 0x69, 0x74, 0x69, 0x6f,
    749 	0x6e, 0x29, 0x2e, 0x78, 0x79, 0x3b, 0x0a, 0x09, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x72,
    750 	0x65, 0x73, 0x75, 0x6c, 0x74, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20,
    751 	0x72, 0x63, 0x61, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6d, 0x69, 0x74, 0x5f, 0x64, 0x69, 0x73,
    752 	0x74, 0x61, 0x6e, 0x63, 0x65, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x76, 0x65, 0x63, 0x33,
    753 	0x20, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2c, 0x20, 0x63, 0x6f,
    754 	0x6e, 0x73, 0x74, 0x20, 0x76, 0x65, 0x63, 0x32, 0x20, 0x66, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x76,
    755 	0x65, 0x63, 0x74, 0x6f, 0x72, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x69, 0x6e, 0x74,
    756 	0x20, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6d, 0x69, 0x74, 0x5f, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76,
    757 	0x65, 0x5f, 0x6f, 0x72, 0x69, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x29, 0x0a, 0x7b,
    758 	0x0a, 0x09, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x20, 0x3d,
    759 	0x20, 0x30, 0x3b, 0x0a, 0x09, 0x69, 0x66, 0x20, 0x28, 0x54, 0x58, 0x5f, 0x4f, 0x52, 0x49, 0x45,
    760 	0x4e, 0x54, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x28, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6d, 0x69, 0x74,
    761 	0x5f, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x5f, 0x6f, 0x72, 0x69, 0x65, 0x6e, 0x74, 0x61,
    762 	0x74, 0x69, 0x6f, 0x6e, 0x29, 0x20, 0x21, 0x3d, 0x20, 0x52, 0x43, 0x41, 0x4f, 0x72, 0x69, 0x65,
    763 	0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x4e, 0x6f, 0x6e, 0x65, 0x29, 0x20, 0x7b, 0x0a,
    764 	0x09, 0x09, 0x62, 0x6f, 0x6f, 0x6c, 0x20, 0x20, 0x74, 0x78, 0x5f, 0x72, 0x6f, 0x77, 0x73, 0x20,
    765 	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3d, 0x20, 0x54, 0x58, 0x5f, 0x4f, 0x52, 0x49, 0x45,
    766 	0x4e, 0x54, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x28, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6d, 0x69, 0x74,
    767 	0x5f, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x5f, 0x6f, 0x72, 0x69, 0x65, 0x6e, 0x74, 0x61,
    768 	0x74, 0x69, 0x6f, 0x6e, 0x29, 0x20, 0x3d, 0x3d, 0x20, 0x52, 0x43, 0x41, 0x4f, 0x72, 0x69, 0x65,
    769 	0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x52, 0x6f, 0x77, 0x73, 0x3b, 0x0a, 0x09, 0x09,
    770 	0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6d, 0x69, 0x74, 0x5f, 0x61,
    771 	0x6e, 0x67, 0x6c, 0x65, 0x20, 0x3d, 0x20, 0x72, 0x61, 0x64, 0x69, 0x61, 0x6e, 0x73, 0x28, 0x66,
    772 	0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x78, 0x29, 0x3b, 0x0a,
    773 	0x09, 0x09, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x66, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x64, 0x65,
    774 	0x70, 0x74, 0x68, 0x20, 0x20, 0x20, 0x20, 0x3d, 0x20, 0x66, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x76,
    775 	0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x79, 0x3b, 0x0a, 0x0a, 0x09, 0x09, 0x69, 0x66, 0x20, 0x28,
    776 	0x69, 0x73, 0x69, 0x6e, 0x66, 0x28, 0x66, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x64, 0x65, 0x70, 0x74,
    777 	0x68, 0x29, 0x29, 0x20, 0x7b, 0x0a, 0x09, 0x09, 0x09, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x20,
    778 	0x3d, 0x20, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x5f, 0x77, 0x61, 0x76, 0x65, 0x5f, 0x74, 0x72, 0x61,
    779 	0x6e, 0x73, 0x6d, 0x69, 0x74, 0x5f, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x28, 0x77,
    780 	0x6f, 0x72, 0x6c, 0x64, 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2c, 0x20, 0x74, 0x72, 0x61, 0x6e,
    781 	0x73, 0x6d, 0x69, 0x74, 0x5f, 0x61, 0x6e, 0x67, 0x6c, 0x65, 0x2c, 0x20, 0x74, 0x78, 0x5f, 0x72,
    782 	0x6f, 0x77, 0x73, 0x29, 0x3b, 0x0a, 0x09, 0x09, 0x7d, 0x20, 0x65, 0x6c, 0x73, 0x65, 0x20, 0x7b,
    783 	0x0a, 0x09, 0x09, 0x09, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x20, 0x3d, 0x20, 0x63, 0x79, 0x6c,
    784 	0x69, 0x6e, 0x64, 0x72, 0x69, 0x63, 0x61, 0x6c, 0x5f, 0x77, 0x61, 0x76, 0x65, 0x5f, 0x74, 0x72,
    785 	0x61, 0x6e, 0x73, 0x6d, 0x69, 0x74, 0x5f, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x28,
    786 	0x77, 0x6f, 0x72, 0x6c, 0x64, 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2c, 0x20, 0x66, 0x6f, 0x63,
    787 	0x61, 0x6c, 0x5f, 0x64, 0x65, 0x70, 0x74, 0x68, 0x2c, 0x20, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6d,
    788 	0x69, 0x74, 0x5f, 0x61, 0x6e, 0x67, 0x6c, 0x65, 0x2c, 0x20, 0x74, 0x78, 0x5f, 0x72, 0x6f, 0x77,
    789 	0x73, 0x29, 0x3b, 0x0a, 0x09, 0x09, 0x7d, 0x0a, 0x09, 0x7d, 0x0a, 0x09, 0x72, 0x65, 0x74, 0x75,
    790 	0x72, 0x6e, 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x52, 0x45,
    791 	0x53, 0x55, 0x4c, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x20, 0x52, 0x43, 0x41, 0x28, 0x63, 0x6f,
    792 	0x6e, 0x73, 0x74, 0x20, 0x76, 0x65, 0x63, 0x33, 0x20, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x5f, 0x70,
    793 	0x6f, 0x69, 0x6e, 0x74, 0x29, 0x0a, 0x7b, 0x0a, 0x09, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x69,
    794 	0x6e, 0x74, 0x20, 0x61, 0x63, 0x71, 0x75, 0x69, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73,
    795 	0x74, 0x61, 0x72, 0x74, 0x20, 0x3d, 0x20, 0x62, 0x6f, 0x6f, 0x6c, 0x28, 0x46, 0x61, 0x73, 0x74,
    796 	0x29, 0x3f, 0x20, 0x75, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x20, 0x20, 0x20, 0x20,
    797 	0x20, 0x3a, 0x20, 0x30, 0x3b, 0x0a, 0x09, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x69, 0x6e, 0x74,
    798 	0x20, 0x61, 0x63, 0x71, 0x75, 0x69, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x6e, 0x64,
    799 	0x20, 0x20, 0x20, 0x3d, 0x20, 0x62, 0x6f, 0x6f, 0x6c, 0x28, 0x46, 0x61, 0x73, 0x74, 0x29, 0x3f,
    800 	0x20, 0x75, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x20, 0x2b, 0x20, 0x31, 0x20, 0x3a,
    801 	0x20, 0x41, 0x63, 0x71, 0x75, 0x69, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x75, 0x6e,
    802 	0x74, 0x3b, 0x0a, 0x09, 0x52, 0x45, 0x53, 0x55, 0x4c, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x20,
    803 	0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x20, 0x3d, 0x20, 0x52, 0x45, 0x53, 0x55, 0x4c, 0x54, 0x5f,
    804 	0x54, 0x59, 0x50, 0x45, 0x28, 0x30, 0x29, 0x3b, 0x0a, 0x09, 0x66, 0x6f, 0x72, 0x20, 0x28, 0x69,
    805 	0x6e, 0x74, 0x20, 0x61, 0x63, 0x71, 0x75, 0x69, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x3d,
    806 	0x20, 0x61, 0x63, 0x71, 0x75, 0x69, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x74, 0x61,
    807 	0x72, 0x74, 0x3b, 0x20, 0x61, 0x63, 0x71, 0x75, 0x69, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x20,
    808 	0x3c, 0x20, 0x61, 0x63, 0x71, 0x75, 0x69, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x6e,
    809 	0x64, 0x3b, 0x20, 0x61, 0x63, 0x71, 0x75, 0x69, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x2b, 0x2b,
    810 	0x29, 0x20, 0x7b, 0x0a, 0x09, 0x09, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x69, 0x6e, 0x74, 0x20,
    811 	0x20, 0x74, 0x78, 0x5f, 0x72, 0x78, 0x5f, 0x6f, 0x72, 0x69, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69,
    812 	0x6f, 0x6e, 0x20, 0x3d, 0x20, 0x74, 0x78, 0x5f, 0x72, 0x78, 0x5f, 0x6f, 0x72, 0x69, 0x65, 0x6e,
    813 	0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x66, 0x6f, 0x72, 0x5f, 0x61, 0x63, 0x71, 0x75, 0x69,
    814 	0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x61, 0x63, 0x71, 0x75, 0x69, 0x73, 0x69, 0x74, 0x69,
    815 	0x6f, 0x6e, 0x29, 0x3b, 0x0a, 0x09, 0x09, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x62, 0x6f, 0x6f,
    816 	0x6c, 0x20, 0x72, 0x78, 0x5f, 0x72, 0x6f, 0x77, 0x73, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
    817 	0x20, 0x20, 0x20, 0x20, 0x3d, 0x20, 0x52, 0x58, 0x5f, 0x4f, 0x52, 0x49, 0x45, 0x4e, 0x54, 0x41,
    818 	0x54, 0x49, 0x4f, 0x4e, 0x28, 0x74, 0x78, 0x5f, 0x72, 0x78, 0x5f, 0x6f, 0x72, 0x69, 0x65, 0x6e,
    819 	0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x29, 0x20, 0x3d, 0x3d, 0x20, 0x52, 0x43, 0x41, 0x4f, 0x72,
    820 	0x69, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x52, 0x6f, 0x77, 0x73, 0x3b, 0x0a,
    821 	0x09, 0x09, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x76, 0x65, 0x63, 0x32, 0x20, 0x66, 0x6f, 0x63,
    822 	0x61, 0x6c, 0x5f, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3d,
    823 	0x20, 0x66, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x5f, 0x66, 0x6f,
    824 	0x72, 0x5f, 0x61, 0x63, 0x71, 0x75, 0x69, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x61, 0x63,
    825 	0x71, 0x75, 0x69, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x29, 0x3b, 0x0a, 0x09, 0x09, 0x76, 0x65,
    826 	0x63, 0x32, 0x20, 0x20, 0x78, 0x64, 0x63, 0x5f, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x5f, 0x70, 0x6f,
    827 	0x69, 0x6e, 0x74, 0x20, 0x20, 0x20, 0x3d, 0x20, 0x72, 0x63, 0x61, 0x5f, 0x70, 0x6c, 0x61, 0x6e,
    828 	0x65, 0x5f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x28, 0x78, 0x64,
    829 	0x63, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x20, 0x2a, 0x20, 0x76, 0x65,
    830 	0x63, 0x34, 0x28, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2c, 0x20,
    831 	0x31, 0x29, 0x29, 0x2e, 0x78, 0x79, 0x7a, 0x2c, 0x20, 0x72, 0x78, 0x5f, 0x72, 0x6f, 0x77, 0x73,
    832 	0x29, 0x3b, 0x0a, 0x09, 0x09, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x74, 0x72, 0x61, 0x6e, 0x73,
    833 	0x6d, 0x69, 0x74, 0x5f, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x20, 0x3d, 0x20, 0x72,
    834 	0x63, 0x61, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6d, 0x69, 0x74, 0x5f, 0x64, 0x69, 0x73, 0x74,
    835 	0x61, 0x6e, 0x63, 0x65, 0x28, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74,
    836 	0x2c, 0x20, 0x66, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2c, 0x20,
    837 	0x74, 0x78, 0x5f, 0x72, 0x78, 0x5f, 0x6f, 0x72, 0x69, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f,
    838 	0x6e, 0x29, 0x3b, 0x0a, 0x0a, 0x09, 0x09, 0x66, 0x6f, 0x72, 0x20, 0x28, 0x69, 0x6e, 0x74, 0x20,
    839 	0x72, 0x78, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x20, 0x3d, 0x20, 0x30, 0x3b, 0x20,
    840 	0x72, 0x78, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x20, 0x3c, 0x20, 0x43, 0x68, 0x61,
    841 	0x6e, 0x6e, 0x65, 0x6c, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x3b, 0x20, 0x72, 0x78, 0x5f, 0x63, 0x68,
    842 	0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x2b, 0x2b, 0x29, 0x20, 0x7b, 0x0a, 0x09, 0x09, 0x09, 0x76, 0x65,
    843 	0x63, 0x33, 0x20, 0x20, 0x72, 0x78, 0x5f, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x20, 0x20, 0x20,
    844 	0x20, 0x20, 0x20, 0x3d, 0x20, 0x76, 0x65, 0x63, 0x33, 0x28, 0x72, 0x78, 0x5f, 0x63, 0x68, 0x61,
    845 	0x6e, 0x6e, 0x65, 0x6c, 0x20, 0x2a, 0x20, 0x78, 0x64, 0x63, 0x5f, 0x65, 0x6c, 0x65, 0x6d, 0x65,
    846 	0x6e, 0x74, 0x5f, 0x70, 0x69, 0x74, 0x63, 0x68, 0x2c, 0x20, 0x30, 0x29, 0x3b, 0x0a, 0x09, 0x09,
    847 	0x09, 0x76, 0x65, 0x63, 0x32, 0x20, 0x20, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x5f, 0x76,
    848 	0x65, 0x63, 0x74, 0x6f, 0x72, 0x20, 0x3d, 0x20, 0x78, 0x64, 0x63, 0x5f, 0x77, 0x6f, 0x72, 0x6c,
    849 	0x64, 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x20, 0x2d, 0x20, 0x72, 0x63, 0x61, 0x5f, 0x70, 0x6c,
    850 	0x61, 0x6e, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x72,
    851 	0x78, 0x5f, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x2c, 0x20, 0x72, 0x78, 0x5f, 0x72, 0x6f, 0x77,
    852 	0x73, 0x29, 0x3b, 0x0a, 0x09, 0x09, 0x09, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x61, 0x5f, 0x61,
    853 	0x72, 0x67, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3d, 0x20, 0x61, 0x62,
    854 	0x73, 0x28, 0x46, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x20, 0x2a, 0x20, 0x72, 0x65, 0x63, 0x65,
    855 	0x69, 0x76, 0x65, 0x5f, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x78, 0x20, 0x2f, 0x20, 0x61,
    856 	0x62, 0x73, 0x28, 0x78, 0x64, 0x63, 0x5f, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x5f, 0x70, 0x6f, 0x69,
    857 	0x6e, 0x74, 0x2e, 0x79, 0x29, 0x29, 0x3b, 0x0a, 0x0a, 0x09, 0x09, 0x09, 0x69, 0x66, 0x20, 0x28,
    858 	0x61, 0x5f, 0x61, 0x72, 0x67, 0x20, 0x3c, 0x20, 0x30, 0x2e, 0x35, 0x66, 0x29, 0x20, 0x7b, 0x0a,
    859 	0x09, 0x09, 0x09, 0x09, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
    860 	0x73, 0x69, 0x64, 0x78, 0x20, 0x20, 0x3d, 0x20, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x5f, 0x69,
    861 	0x6e, 0x64, 0x65, 0x78, 0x28, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6d, 0x69, 0x74, 0x5f, 0x64, 0x69,
    862 	0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x20, 0x2b, 0x20, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x28,
    863 	0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x5f, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x29, 0x29,
    864 	0x3b, 0x0a, 0x09, 0x09, 0x09, 0x09, 0x53, 0x41, 0x4d, 0x50, 0x4c, 0x45, 0x5f, 0x54, 0x59, 0x50,
    865 	0x45, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x3d, 0x20, 0x61, 0x70, 0x6f, 0x64, 0x69, 0x7a,
    866 	0x65, 0x28, 0x61, 0x5f, 0x61, 0x72, 0x67, 0x29, 0x20, 0x2a, 0x20, 0x73, 0x61, 0x6d, 0x70, 0x6c,
    867 	0x65, 0x5f, 0x72, 0x66, 0x28, 0x72, 0x78, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x2c,
    868 	0x20, 0x61, 0x63, 0x71, 0x75, 0x69, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x2c, 0x20, 0x73, 0x69,
    869 	0x64, 0x78, 0x29, 0x3b, 0x0a, 0x09, 0x09, 0x09, 0x09, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x20,
    870 	0x2b, 0x3d, 0x20, 0x52, 0x45, 0x53, 0x55, 0x4c, 0x54, 0x5f, 0x53, 0x54, 0x4f, 0x52, 0x45, 0x28,
    871 	0x76, 0x61, 0x6c, 0x75, 0x65, 0x2c, 0x20, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x28, 0x76, 0x61,
    872 	0x6c, 0x75, 0x65, 0x29, 0x29, 0x3b, 0x0a, 0x09, 0x09, 0x09, 0x7d, 0x0a, 0x09, 0x09, 0x7d, 0x0a,
    873 	0x09, 0x7d, 0x0a, 0x09, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c,
    874 	0x74, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x52, 0x45, 0x53, 0x55, 0x4c, 0x54, 0x5f, 0x54, 0x59, 0x50,
    875 	0x45, 0x20, 0x48, 0x45, 0x52, 0x43, 0x55, 0x4c, 0x45, 0x53, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74,
    876 	0x20, 0x76, 0x65, 0x63, 0x33, 0x20, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x5f, 0x70, 0x6f, 0x69, 0x6e,
    877 	0x74, 0x29, 0x0a, 0x7b, 0x0a, 0x09, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x69, 0x6e, 0x74, 0x20,
    878 	0x20, 0x20, 0x74, 0x78, 0x5f, 0x72, 0x78, 0x5f, 0x6f, 0x72, 0x69, 0x65, 0x6e, 0x74, 0x61, 0x74,
    879 	0x69, 0x6f, 0x6e, 0x20, 0x3d, 0x20, 0x74, 0x78, 0x5f, 0x72, 0x78, 0x5f, 0x6f, 0x72, 0x69, 0x65,
    880 	0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x66, 0x6f, 0x72, 0x5f, 0x61, 0x63, 0x71, 0x75,
    881 	0x69, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x30, 0x29, 0x3b, 0x0a, 0x09, 0x63, 0x6f, 0x6e,
    882 	0x73, 0x74, 0x20, 0x62, 0x6f, 0x6f, 0x6c, 0x20, 0x20, 0x72, 0x78, 0x5f, 0x63, 0x6f, 0x6c, 0x73,
    883 	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3d, 0x20, 0x52, 0x58, 0x5f,
    884 	0x4f, 0x52, 0x49, 0x45, 0x4e, 0x54, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x28, 0x74, 0x78, 0x5f, 0x72,
    885 	0x78, 0x5f, 0x6f, 0x72, 0x69, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x29, 0x20, 0x3d,
    886 	0x3d, 0x20, 0x52, 0x43, 0x41, 0x4f, 0x72, 0x69, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e,
    887 	0x5f, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x3b, 0x0a, 0x09, 0x63, 0x6f, 0x6e, 0x73, 0x74,
    888 	0x20, 0x76, 0x65, 0x63, 0x32, 0x20, 0x20, 0x66, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x76, 0x65, 0x63,
    889 	0x74, 0x6f, 0x72, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3d, 0x20, 0x66, 0x6f, 0x63, 0x61, 0x6c,
    890 	0x5f, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x5f, 0x66, 0x6f, 0x72, 0x5f, 0x61, 0x63, 0x71, 0x75,
    891 	0x69, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x30, 0x29, 0x3b, 0x0a, 0x09, 0x63, 0x6f, 0x6e,
    892 	0x73, 0x74, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6d, 0x69,
    893 	0x74, 0x5f, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x20, 0x3d, 0x20, 0x72, 0x63, 0x61,
    894 	0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6d, 0x69, 0x74, 0x5f, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e,
    895 	0x63, 0x65, 0x28, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2c, 0x20,
    896 	0x66, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2c, 0x20, 0x74, 0x78,
    897 	0x5f, 0x72, 0x78, 0x5f, 0x6f, 0x72, 0x69, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x29,
    898 	0x3b, 0x0a, 0x09, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x76, 0x65, 0x63, 0x33, 0x20, 0x20, 0x78,
    899 	0x64, 0x63, 0x5f, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x20, 0x20,
    900 	0x20, 0x3d, 0x20, 0x28, 0x78, 0x64, 0x63, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72,
    901 	0x6d, 0x20, 0x2a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x28, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x5f, 0x70,
    902 	0x6f, 0x69, 0x6e, 0x74, 0x2c, 0x20, 0x31, 0x29, 0x29, 0x2e, 0x78, 0x79, 0x7a, 0x3b, 0x0a, 0x0a,
    903 	0x09, 0x52, 0x45, 0x53, 0x55, 0x4c, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x20, 0x72, 0x65, 0x73,
    904 	0x75, 0x6c, 0x74, 0x20, 0x3d, 0x20, 0x52, 0x45, 0x53, 0x55, 0x4c, 0x54, 0x5f, 0x54, 0x59, 0x50,
    905 	0x45, 0x28, 0x30, 0x29, 0x3b, 0x0a, 0x09, 0x66, 0x6f, 0x72, 0x20, 0x28, 0x69, 0x6e, 0x74, 0x20,
    906 	0x74, 0x72, 0x61, 0x6e, 0x73, 0x6d, 0x69, 0x74, 0x20, 0x3d, 0x20, 0x53, 0x70, 0x61, 0x72, 0x73,
    907 	0x65, 0x3b, 0x20, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6d, 0x69, 0x74, 0x20, 0x3c, 0x20, 0x41, 0x63,
    908 	0x71, 0x75, 0x69, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x3b, 0x20,
    909 	0x74, 0x72, 0x61, 0x6e, 0x73, 0x6d, 0x69, 0x74, 0x2b, 0x2b, 0x29, 0x20, 0x7b, 0x0a, 0x09, 0x09,
    910 	0x69, 0x6e, 0x74, 0x20, 0x74, 0x78, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x20, 0x3d,
    911 	0x20, 0x62, 0x6f, 0x6f, 0x6c, 0x28, 0x53, 0x70, 0x61, 0x72, 0x73, 0x65, 0x29, 0x20, 0x3f, 0x20,
    912 	0x69, 0x6d, 0x61, 0x67, 0x65, 0x4c, 0x6f, 0x61, 0x64, 0x28, 0x73, 0x70, 0x61, 0x72, 0x73, 0x65,
    913 	0x5f, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2c, 0x20, 0x74, 0x72, 0x61, 0x6e, 0x73,
    914 	0x6d, 0x69, 0x74, 0x20, 0x2d, 0x20, 0x53, 0x70, 0x61, 0x72, 0x73, 0x65, 0x29, 0x2e, 0x78, 0x20,
    915 	0x3a, 0x20, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6d, 0x69, 0x74, 0x3b, 0x0a, 0x09, 0x09, 0x23, 0x69,
    916 	0x66, 0x20, 0x46, 0x61, 0x73, 0x74, 0x0a, 0x09, 0x09, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x69,
    917 	0x6e, 0x74, 0x20, 0x72, 0x78, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x20, 0x3d, 0x20,
    918 	0x75, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x3b, 0x0a, 0x09, 0x09, 0x23, 0x65, 0x6c,
    919 	0x73, 0x65, 0x0a, 0x09, 0x09, 0x66, 0x6f, 0x72, 0x20, 0x28, 0x69, 0x6e, 0x74, 0x20, 0x72, 0x78,
    920 	0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x20, 0x3d, 0x20, 0x30, 0x3b, 0x20, 0x72, 0x78,
    921 	0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x20, 0x3c, 0x20, 0x43, 0x68, 0x61, 0x6e, 0x6e,
    922 	0x65, 0x6c, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x3b, 0x20, 0x72, 0x78, 0x5f, 0x63, 0x68, 0x61, 0x6e,
    923 	0x6e, 0x65, 0x6c, 0x2b, 0x2b, 0x29, 0x0a, 0x09, 0x09, 0x23, 0x65, 0x6e, 0x64, 0x69, 0x66, 0x0a,
    924 	0x09, 0x09, 0x7b, 0x0a, 0x09, 0x09, 0x09, 0x76, 0x65, 0x63, 0x33, 0x20, 0x65, 0x6c, 0x65, 0x6d,
    925 	0x65, 0x6e, 0x74, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x3b, 0x0a, 0x09, 0x09,
    926 	0x09, 0x69, 0x66, 0x20, 0x28, 0x72, 0x78, 0x5f, 0x63, 0x6f, 0x6c, 0x73, 0x29, 0x20, 0x65, 0x6c,
    927 	0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x3d,
    928 	0x20, 0x76, 0x65, 0x63, 0x33, 0x28, 0x72, 0x78, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c,
    929 	0x2c, 0x20, 0x74, 0x78, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x2c, 0x20, 0x30, 0x29,
    930 	0x20, 0x2a, 0x20, 0x76, 0x65, 0x63, 0x33, 0x28, 0x78, 0x64, 0x63, 0x5f, 0x65, 0x6c, 0x65, 0x6d,
    931 	0x65, 0x6e, 0x74, 0x5f, 0x70, 0x69, 0x74, 0x63, 0x68, 0x2c, 0x20, 0x30, 0x29, 0x3b, 0x0a, 0x09,
    932 	0x09, 0x09, 0x65, 0x6c, 0x73, 0x65, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x65,
    933 	0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x20,
    934 	0x3d, 0x20, 0x76, 0x65, 0x63, 0x33, 0x28, 0x74, 0x78, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65,
    935 	0x6c, 0x2c, 0x20, 0x72, 0x78, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x2c, 0x20, 0x30,
    936 	0x29, 0x20, 0x2a, 0x20, 0x76, 0x65, 0x63, 0x33, 0x28, 0x78, 0x64, 0x63, 0x5f, 0x65, 0x6c, 0x65,
    937 	0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x70, 0x69, 0x74, 0x63, 0x68, 0x2c, 0x20, 0x30, 0x29, 0x3b, 0x0a,
    938 	0x0a, 0x09, 0x09, 0x09, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x61, 0x5f, 0x61, 0x72, 0x67, 0x20,
    939 	0x3d, 0x20, 0x61, 0x62, 0x73, 0x28, 0x46, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x20, 0x2a, 0x20,
    940 	0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x28, 0x78, 0x64, 0x63, 0x5f, 0x77, 0x6f, 0x72,
    941 	0x6c, 0x64, 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x78, 0x79, 0x2c, 0x20, 0x65, 0x6c, 0x65,
    942 	0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x78, 0x79,
    943 	0x29, 0x20, 0x2f, 0x0a, 0x09, 0x09, 0x09, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
    944 	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x61, 0x62, 0x73, 0x28, 0x78, 0x64, 0x63,
    945 	0x5f, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x7a, 0x29, 0x29,
    946 	0x3b, 0x0a, 0x09, 0x09, 0x09, 0x69, 0x66, 0x20, 0x28, 0x61, 0x5f, 0x61, 0x72, 0x67, 0x20, 0x3c,
    947 	0x20, 0x30, 0x2e, 0x35, 0x66, 0x29, 0x20, 0x7b, 0x0a, 0x09, 0x09, 0x09, 0x09, 0x66, 0x6c, 0x6f,
    948 	0x61, 0x74, 0x20, 0x61, 0x70, 0x6f, 0x64, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x3d,
    949 	0x20, 0x61, 0x70, 0x6f, 0x64, 0x69, 0x7a, 0x65, 0x28, 0x61, 0x5f, 0x61, 0x72, 0x67, 0x29, 0x3b,
    950 	0x0a, 0x09, 0x09, 0x09, 0x09, 0x2f, 0x2a, 0x20, 0x4e, 0x4f, 0x54, 0x45, 0x3a, 0x20, 0x74, 0x72,
    951 	0x69, 0x62, 0x61, 0x6c, 0x20, 0x6b, 0x6e, 0x6f, 0x77, 0x6c, 0x65, 0x64, 0x67, 0x65, 0x20, 0x2a,
    952 	0x2f, 0x0a, 0x09, 0x09, 0x09, 0x09, 0x69, 0x66, 0x20, 0x28, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6d,
    953 	0x69, 0x74, 0x20, 0x3d, 0x3d, 0x20, 0x30, 0x29, 0x20, 0x61, 0x70, 0x6f, 0x64, 0x69, 0x7a, 0x61,
    954 	0x74, 0x69, 0x6f, 0x6e, 0x20, 0x2a, 0x3d, 0x20, 0x69, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x65, 0x73,
    955 	0x71, 0x72, 0x74, 0x28, 0x41, 0x63, 0x71, 0x75, 0x69, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x43,
    956 	0x6f, 0x75, 0x6e, 0x74, 0x29, 0x3b, 0x0a, 0x0a, 0x09, 0x09, 0x09, 0x09, 0x66, 0x6c, 0x6f, 0x61,
    957 	0x74, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x73, 0x69, 0x64, 0x78, 0x20, 0x20, 0x3d, 0x20,
    958 	0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x28, 0x74, 0x72, 0x61,
    959 	0x6e, 0x73, 0x6d, 0x69, 0x74, 0x5f, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x20, 0x2b,
    960 	0x20, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x28, 0x78, 0x64, 0x63, 0x5f, 0x77, 0x6f,
    961 	0x72, 0x6c, 0x64, 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2c, 0x20, 0x65, 0x6c, 0x65, 0x6d, 0x65,
    962 	0x6e, 0x74, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x29, 0x29, 0x3b, 0x0a, 0x09,
    963 	0x09, 0x09, 0x09, 0x53, 0x41, 0x4d, 0x50, 0x4c, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x20, 0x76,
    964 	0x61, 0x6c, 0x75, 0x65, 0x20, 0x3d, 0x20, 0x61, 0x70, 0x6f, 0x64, 0x69, 0x7a, 0x61, 0x74, 0x69,
    965 	0x6f, 0x6e, 0x20, 0x2a, 0x20, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x5f, 0x72, 0x66, 0x28, 0x72,
    966 	0x78, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x2c, 0x20, 0x74, 0x72, 0x61, 0x6e, 0x73,
    967 	0x6d, 0x69, 0x74, 0x2c, 0x20, 0x73, 0x69, 0x64, 0x78, 0x29, 0x3b, 0x0a, 0x09, 0x09, 0x09, 0x09,
    968 	0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x20, 0x2b, 0x3d, 0x20, 0x52, 0x45, 0x53, 0x55, 0x4c, 0x54,
    969 	0x5f, 0x53, 0x54, 0x4f, 0x52, 0x45, 0x28, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2c, 0x20, 0x6c, 0x65,
    970 	0x6e, 0x67, 0x74, 0x68, 0x28, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x29, 0x29, 0x3b, 0x0a, 0x09, 0x09,
    971 	0x09, 0x7d, 0x0a, 0x09, 0x09, 0x7d, 0x0a, 0x09, 0x7d, 0x0a, 0x09, 0x72, 0x65, 0x74, 0x75, 0x72,
    972 	0x6e, 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x52, 0x45, 0x53,
    973 	0x55, 0x4c, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x20, 0x46, 0x4f, 0x52, 0x43, 0x45, 0x53, 0x28,
    974 	0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x76, 0x65, 0x63, 0x33, 0x20, 0x77, 0x6f, 0x72, 0x6c, 0x64,
    975 	0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x29, 0x0a, 0x7b, 0x0a, 0x09, 0x63, 0x6f, 0x6e, 0x73, 0x74,
    976 	0x20, 0x69, 0x6e, 0x74, 0x20, 0x72, 0x78, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f,
    977 	0x73, 0x74, 0x61, 0x72, 0x74, 0x20, 0x3d, 0x20, 0x62, 0x6f, 0x6f, 0x6c, 0x28, 0x46, 0x61, 0x73,
    978 	0x74, 0x29, 0x3f, 0x20, 0x75, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x20, 0x20, 0x20,
    979 	0x20, 0x20, 0x3a, 0x20, 0x30, 0x3b, 0x0a, 0x09, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x69, 0x6e,
    980 	0x74, 0x20, 0x72, 0x78, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x65, 0x6e, 0x64,
    981 	0x20, 0x20, 0x20, 0x3d, 0x20, 0x62, 0x6f, 0x6f, 0x6c, 0x28, 0x46, 0x61, 0x73, 0x74, 0x29, 0x3f,
    982 	0x20, 0x75, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x20, 0x2b, 0x20, 0x31, 0x20, 0x3a,
    983 	0x20, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x3b, 0x0a, 0x0a,
    984 	0x09, 0x52, 0x45, 0x53, 0x55, 0x4c, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x20, 0x72, 0x65, 0x73,
    985 	0x75, 0x6c, 0x74, 0x20, 0x3d, 0x20, 0x52, 0x45, 0x53, 0x55, 0x4c, 0x54, 0x5f, 0x54, 0x59, 0x50,
    986 	0x45, 0x28, 0x30, 0x29, 0x3b, 0x0a, 0x09, 0x76, 0x65, 0x63, 0x33, 0x20, 0x78, 0x64, 0x63, 0x5f,
    987 	0x77, 0x6f, 0x72, 0x6c, 0x64, 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x20, 0x3d, 0x20, 0x28, 0x78,
    988 	0x64, 0x63, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x20, 0x2a, 0x20, 0x76,
    989 	0x65, 0x63, 0x34, 0x28, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2c,
    990 	0x20, 0x31, 0x29, 0x29, 0x2e, 0x78, 0x79, 0x7a, 0x3b, 0x0a, 0x09, 0x66, 0x6f, 0x72, 0x20, 0x28,
    991 	0x69, 0x6e, 0x74, 0x20, 0x72, 0x78, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x20, 0x3d,
    992 	0x20, 0x72, 0x78, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x73, 0x74, 0x61, 0x72,
    993 	0x74, 0x3b, 0x20, 0x72, 0x78, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x20, 0x3c, 0x20,
    994 	0x72, 0x78, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x65, 0x6e, 0x64, 0x3b, 0x20,
    995 	0x72, 0x78, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x2b, 0x2b, 0x29, 0x20, 0x7b, 0x0a,
    996 	0x09, 0x09, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x5f,
    997 	0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x20, 0x3d, 0x20, 0x64, 0x69, 0x73, 0x74, 0x61,
    998 	0x6e, 0x63, 0x65, 0x28, 0x78, 0x64, 0x63, 0x5f, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x5f, 0x70, 0x6f,
    999 	0x69, 0x6e, 0x74, 0x2e, 0x78, 0x7a, 0x2c, 0x20, 0x76, 0x65, 0x63, 0x32, 0x28, 0x72, 0x78, 0x5f,
   1000 	0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x20, 0x2a, 0x20, 0x78, 0x64, 0x63, 0x5f, 0x65, 0x6c,
   1001 	0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x70, 0x69, 0x74, 0x63, 0x68, 0x2e, 0x78, 0x2c, 0x20, 0x30,
   1002 	0x29, 0x29, 0x3b, 0x0a, 0x09, 0x09, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x61, 0x5f, 0x61, 0x72,
   1003 	0x67, 0x20, 0x3d, 0x20, 0x61, 0x62, 0x73, 0x28, 0x46, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x20,
   1004 	0x2a, 0x20, 0x28, 0x78, 0x64, 0x63, 0x5f, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x5f, 0x70, 0x6f, 0x69,
   1005 	0x6e, 0x74, 0x2e, 0x78, 0x20, 0x2d, 0x20, 0x72, 0x78, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65,
   1006 	0x6c, 0x20, 0x2a, 0x20, 0x78, 0x64, 0x63, 0x5f, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f,
   1007 	0x70, 0x69, 0x74, 0x63, 0x68, 0x2e, 0x78, 0x29, 0x20, 0x2f, 0x0a, 0x09, 0x09, 0x20, 0x20, 0x20,
   1008 	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x61,
   1009 	0x62, 0x73, 0x28, 0x78, 0x64, 0x63, 0x5f, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x5f, 0x70, 0x6f, 0x69,
   1010 	0x6e, 0x74, 0x2e, 0x7a, 0x29, 0x29, 0x3b, 0x0a, 0x09, 0x09, 0x69, 0x66, 0x20, 0x28, 0x61, 0x5f,
   1011 	0x61, 0x72, 0x67, 0x20, 0x3c, 0x20, 0x30, 0x2e, 0x35, 0x66, 0x29, 0x20, 0x7b, 0x0a, 0x09, 0x09,
   1012 	0x09, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x61, 0x70, 0x6f, 0x64, 0x69, 0x7a, 0x61, 0x74, 0x69,
   1013 	0x6f, 0x6e, 0x20, 0x3d, 0x20, 0x61, 0x70, 0x6f, 0x64, 0x69, 0x7a, 0x65, 0x28, 0x61, 0x5f, 0x61,
   1014 	0x72, 0x67, 0x29, 0x3b, 0x0a, 0x09, 0x09, 0x09, 0x66, 0x6f, 0x72, 0x20, 0x28, 0x69, 0x6e, 0x74,
   1015 	0x20, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6d, 0x69, 0x74, 0x20, 0x3d, 0x20, 0x53, 0x70, 0x61, 0x72,
   1016 	0x73, 0x65, 0x3b, 0x20, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6d, 0x69, 0x74, 0x20, 0x3c, 0x20, 0x41,
   1017 	0x63, 0x71, 0x75, 0x69, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x3b,
   1018 	0x20, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6d, 0x69, 0x74, 0x2b, 0x2b, 0x29, 0x20, 0x7b, 0x0a, 0x09,
   1019 	0x09, 0x09, 0x09, 0x69, 0x6e, 0x74, 0x20, 0x20, 0x20, 0x74, 0x78, 0x5f, 0x63, 0x68, 0x61, 0x6e,
   1020 	0x6e, 0x65, 0x6c, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3d, 0x20, 0x62, 0x6f, 0x6f, 0x6c, 0x28,
   1021 	0x53, 0x70, 0x61, 0x72, 0x73, 0x65, 0x29, 0x20, 0x3f, 0x20, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x4c,
   1022 	0x6f, 0x61, 0x64, 0x28, 0x73, 0x70, 0x61, 0x72, 0x73, 0x65, 0x5f, 0x65, 0x6c, 0x65, 0x6d, 0x65,
   1023 	0x6e, 0x74, 0x73, 0x2c, 0x20, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6d, 0x69, 0x74, 0x20, 0x2d, 0x20,
   1024 	0x53, 0x70, 0x61, 0x72, 0x73, 0x65, 0x29, 0x2e, 0x78, 0x20, 0x3a, 0x20, 0x74, 0x72, 0x61, 0x6e,
   1025 	0x73, 0x6d, 0x69, 0x74, 0x3b, 0x0a, 0x09, 0x09, 0x09, 0x09, 0x76, 0x65, 0x63, 0x33, 0x20, 0x20,
   1026 	0x74, 0x72, 0x61, 0x6e, 0x73, 0x6d, 0x69, 0x74, 0x5f, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x20,
   1027 	0x3d, 0x20, 0x76, 0x65, 0x63, 0x33, 0x28, 0x78, 0x64, 0x63, 0x5f, 0x65, 0x6c, 0x65, 0x6d, 0x65,
   1028 	0x6e, 0x74, 0x5f, 0x70, 0x69, 0x74, 0x63, 0x68, 0x20, 0x2a, 0x20, 0x76, 0x65, 0x63, 0x32, 0x28,
   1029 	0x74, 0x78, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x2c, 0x20, 0x66, 0x6c, 0x6f, 0x6f,
   1030 	0x72, 0x28, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x20, 0x2f,
   1031 	0x20, 0x32, 0x29, 0x29, 0x2c, 0x20, 0x30, 0x29, 0x3b, 0x0a, 0x0a, 0x09, 0x09, 0x09, 0x09, 0x66,
   1032 	0x6c, 0x6f, 0x61, 0x74, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x73, 0x69, 0x64, 0x78, 0x20,
   1033 	0x20, 0x3d, 0x20, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x28,
   1034 	0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x28, 0x78, 0x64, 0x63, 0x5f, 0x77, 0x6f, 0x72,
   1035 	0x6c, 0x64, 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2c, 0x20, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6d,
   1036 	0x69, 0x74, 0x5f, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x29, 0x20, 0x2b, 0x20, 0x72, 0x65, 0x63,
   1037 	0x65, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x29, 0x3b, 0x0a,
   1038 	0x09, 0x09, 0x09, 0x09, 0x53, 0x41, 0x4d, 0x50, 0x4c, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x20,
   1039 	0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x3d, 0x20, 0x61, 0x70, 0x6f, 0x64, 0x69, 0x7a, 0x61, 0x74,
   1040 	0x69, 0x6f, 0x6e, 0x20, 0x2a, 0x20, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x5f, 0x72, 0x66, 0x28,
   1041 	0x72, 0x78, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x2c, 0x20, 0x74, 0x72, 0x61, 0x6e,
   1042 	0x73, 0x6d, 0x69, 0x74, 0x2c, 0x20, 0x73, 0x69, 0x64, 0x78, 0x29, 0x3b, 0x0a, 0x09, 0x09, 0x09,
   1043 	0x09, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x20, 0x2b, 0x3d, 0x20, 0x52, 0x45, 0x53, 0x55, 0x4c,
   1044 	0x54, 0x5f, 0x53, 0x54, 0x4f, 0x52, 0x45, 0x28, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2c, 0x20, 0x6c,
   1045 	0x65, 0x6e, 0x67, 0x74, 0x68, 0x28, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x29, 0x29, 0x3b, 0x0a, 0x09,
   1046 	0x09, 0x09, 0x7d, 0x0a, 0x09, 0x09, 0x7d, 0x0a, 0x09, 0x7d, 0x0a, 0x09, 0x72, 0x65, 0x74, 0x75,
   1047 	0x72, 0x6e, 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x76, 0x6f,
   1048 	0x69, 0x64, 0x20, 0x6d, 0x61, 0x69, 0x6e, 0x28, 0x29, 0x0a, 0x7b, 0x0a, 0x09, 0x69, 0x76, 0x65,
   1049 	0x63, 0x33, 0x20, 0x6f, 0x75, 0x74, 0x5f, 0x76, 0x6f, 0x78, 0x65, 0x6c, 0x20, 0x3d, 0x20, 0x69,
   1050 	0x76, 0x65, 0x63, 0x33, 0x28, 0x67, 0x6c, 0x5f, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x49, 0x6e,
   1051 	0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x29, 0x3b, 0x0a, 0x09, 0x69, 0x66,
   1052 	0x20, 0x28, 0x21, 0x61, 0x6c, 0x6c, 0x28, 0x6c, 0x65, 0x73, 0x73, 0x54, 0x68, 0x61, 0x6e, 0x28,
   1053 	0x6f, 0x75, 0x74, 0x5f, 0x76, 0x6f, 0x78, 0x65, 0x6c, 0x2c, 0x20, 0x69, 0x6d, 0x61, 0x67, 0x65,
   1054 	0x53, 0x69, 0x7a, 0x65, 0x28, 0x75, 0x5f, 0x6f, 0x75, 0x74, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f,
   1055 	0x74, 0x65, 0x78, 0x29, 0x29, 0x29, 0x29, 0x0a, 0x09, 0x09, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e,
   1056 	0x3b, 0x0a, 0x0a, 0x23, 0x69, 0x66, 0x20, 0x46, 0x61, 0x73, 0x74, 0x0a, 0x09, 0x52, 0x45, 0x53,
   1057 	0x55, 0x4c, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x20, 0x73, 0x75, 0x6d, 0x20, 0x3d, 0x20, 0x52,
   1058 	0x45, 0x53, 0x55, 0x4c, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x43, 0x41, 0x53, 0x54, 0x28,
   1059 	0x69, 0x6d, 0x61, 0x67, 0x65, 0x4c, 0x6f, 0x61, 0x64, 0x28, 0x75, 0x5f, 0x6f, 0x75, 0x74, 0x5f,
   1060 	0x64, 0x61, 0x74, 0x61, 0x5f, 0x74, 0x65, 0x78, 0x2c, 0x20, 0x6f, 0x75, 0x74, 0x5f, 0x76, 0x6f,
   1061 	0x78, 0x65, 0x6c, 0x29, 0x29, 0x3b, 0x0a, 0x23, 0x65, 0x6c, 0x73, 0x65, 0x0a, 0x09, 0x52, 0x45,
   1062 	0x53, 0x55, 0x4c, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x20, 0x73, 0x75, 0x6d, 0x20, 0x3d, 0x20,
   1063 	0x52, 0x45, 0x53, 0x55, 0x4c, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x28, 0x30, 0x29, 0x3b, 0x0a,
   1064 	0x09, 0x6f, 0x75, 0x74, 0x5f, 0x76, 0x6f, 0x78, 0x65, 0x6c, 0x20, 0x2b, 0x3d, 0x20, 0x75, 0x5f,
   1065 	0x76, 0x6f, 0x78, 0x65, 0x6c, 0x5f, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x3b, 0x0a, 0x23, 0x65,
   1066 	0x6e, 0x64, 0x69, 0x66, 0x0a, 0x0a, 0x09, 0x76, 0x65, 0x63, 0x33, 0x20, 0x77, 0x6f, 0x72, 0x6c,
   1067 	0x64, 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x20, 0x3d, 0x20, 0x28, 0x76, 0x6f, 0x78, 0x65, 0x6c,
   1068 	0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x20, 0x2a, 0x20, 0x76, 0x65, 0x63,
   1069 	0x34, 0x28, 0x6f, 0x75, 0x74, 0x5f, 0x76, 0x6f, 0x78, 0x65, 0x6c, 0x2c, 0x20, 0x31, 0x29, 0x29,
   1070 	0x2e, 0x78, 0x79, 0x7a, 0x3b, 0x0a, 0x0a, 0x09, 0x73, 0x77, 0x69, 0x74, 0x63, 0x68, 0x20, 0x28,
   1071 	0x41, 0x63, 0x71, 0x75, 0x69, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x69, 0x6e, 0x64, 0x29,
   1072 	0x20, 0x7b, 0x0a, 0x09, 0x63, 0x61, 0x73, 0x65, 0x20, 0x41, 0x63, 0x71, 0x75, 0x69, 0x73, 0x69,
   1073 	0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x69, 0x6e, 0x64, 0x5f, 0x46, 0x4f, 0x52, 0x43, 0x45, 0x53, 0x3a,
   1074 	0x0a, 0x09, 0x63, 0x61, 0x73, 0x65, 0x20, 0x41, 0x63, 0x71, 0x75, 0x69, 0x73, 0x69, 0x74, 0x69,
   1075 	0x6f, 0x6e, 0x4b, 0x69, 0x6e, 0x64, 0x5f, 0x55, 0x46, 0x4f, 0x52, 0x43, 0x45, 0x53, 0x3a, 0x0a,
   1076 	0x09, 0x7b, 0x0a, 0x09, 0x09, 0x73, 0x75, 0x6d, 0x20, 0x2b, 0x3d, 0x20, 0x46, 0x4f, 0x52, 0x43,
   1077 	0x45, 0x53, 0x28, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x29, 0x3b,
   1078 	0x0a, 0x09, 0x7d, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, 0x09, 0x63, 0x61, 0x73, 0x65, 0x20,
   1079 	0x41, 0x63, 0x71, 0x75, 0x69, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x69, 0x6e, 0x64, 0x5f,
   1080 	0x48, 0x45, 0x52, 0x43, 0x55, 0x4c, 0x45, 0x53, 0x3a, 0x0a, 0x09, 0x63, 0x61, 0x73, 0x65, 0x20,
   1081 	0x41, 0x63, 0x71, 0x75, 0x69, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x69, 0x6e, 0x64, 0x5f,
   1082 	0x55, 0x48, 0x45, 0x52, 0x43, 0x55, 0x4c, 0x45, 0x53, 0x3a, 0x0a, 0x09, 0x63, 0x61, 0x73, 0x65,
   1083 	0x20, 0x41, 0x63, 0x71, 0x75, 0x69, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x69, 0x6e, 0x64,
   1084 	0x5f, 0x48, 0x45, 0x52, 0x4f, 0x5f, 0x50, 0x41, 0x3a, 0x0a, 0x09, 0x7b, 0x0a, 0x09, 0x09, 0x73,
   1085 	0x75, 0x6d, 0x20, 0x2b, 0x3d, 0x20, 0x48, 0x45, 0x52, 0x43, 0x55, 0x4c, 0x45, 0x53, 0x28, 0x77,
   1086 	0x6f, 0x72, 0x6c, 0x64, 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x29, 0x3b, 0x0a, 0x09, 0x7d, 0x62,
   1087 	0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, 0x09, 0x63, 0x61, 0x73, 0x65, 0x20, 0x41, 0x63, 0x71, 0x75,
   1088 	0x69, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x69, 0x6e, 0x64, 0x5f, 0x46, 0x6c, 0x61, 0x73,
   1089 	0x68, 0x3a, 0x0a, 0x09, 0x63, 0x61, 0x73, 0x65, 0x20, 0x41, 0x63, 0x71, 0x75, 0x69, 0x73, 0x69,
   1090 	0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x69, 0x6e, 0x64, 0x5f, 0x52, 0x43, 0x41, 0x5f, 0x54, 0x50, 0x57,
   1091 	0x3a, 0x0a, 0x09, 0x63, 0x61, 0x73, 0x65, 0x20, 0x41, 0x63, 0x71, 0x75, 0x69, 0x73, 0x69, 0x74,
   1092 	0x69, 0x6f, 0x6e, 0x4b, 0x69, 0x6e, 0x64, 0x5f, 0x52, 0x43, 0x41, 0x5f, 0x56, 0x4c, 0x53, 0x3a,
   1093 	0x0a, 0x09, 0x7b, 0x0a, 0x09, 0x09, 0x73, 0x75, 0x6d, 0x20, 0x2b, 0x3d, 0x20, 0x52, 0x43, 0x41,
   1094 	0x28, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x29, 0x3b, 0x0a, 0x09,
   1095 	0x7d, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, 0x09, 0x7d, 0x0a, 0x0a, 0x09, 0x23, 0x69, 0x66,
   1096 	0x20, 0x43, 0x6f, 0x68, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74,
   1097 	0x69, 0x6e, 0x67, 0x0a, 0x09, 0x09, 0x2f, 0x2a, 0x20, 0x54, 0x4f, 0x44, 0x4f, 0x28, 0x72, 0x6e,
   1098 	0x70, 0x29, 0x3a, 0x20, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x20, 0x73, 0x75, 0x63, 0x68, 0x20, 0x74,
   1099 	0x68, 0x61, 0x74, 0x20, 0x62, 0x72, 0x69, 0x67, 0x68, 0x74, 0x6e, 0x65, 0x73, 0x73, 0x20, 0x72,
   1100 	0x65, 0x6d, 0x61, 0x69, 0x6e, 0x73, 0x20, 0x7e, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74,
   1101 	0x20, 0x2a, 0x2f, 0x0a, 0x09, 0x09, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x64, 0x65, 0x6e, 0x6f,
   1102 	0x6d, 0x69, 0x6e, 0x61, 0x74, 0x6f, 0x72, 0x20, 0x3d, 0x20, 0x73, 0x75, 0x6d, 0x5b, 0x52, 0x45,
   1103 	0x53, 0x55, 0x4c, 0x54, 0x5f, 0x4c, 0x41, 0x53, 0x54, 0x5f, 0x49, 0x4e, 0x44, 0x45, 0x58, 0x5d,
   1104 	0x20, 0x2b, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x28, 0x73, 0x75, 0x6d, 0x5b, 0x52, 0x45, 0x53,
   1105 	0x55, 0x4c, 0x54, 0x5f, 0x4c, 0x41, 0x53, 0x54, 0x5f, 0x49, 0x4e, 0x44, 0x45, 0x58, 0x5d, 0x20,
   1106 	0x3d, 0x3d, 0x20, 0x30, 0x29, 0x3b, 0x0a, 0x09, 0x09, 0x52, 0x45, 0x53, 0x55, 0x4c, 0x54, 0x5f,
   1107 	0x54, 0x59, 0x50, 0x45, 0x5f, 0x43, 0x41, 0x53, 0x54, 0x28, 0x73, 0x75, 0x6d, 0x29, 0x20, 0x2a,
   1108 	0x3d, 0x20, 0x52, 0x45, 0x53, 0x55, 0x4c, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x43, 0x41,
   1109 	0x53, 0x54, 0x28, 0x73, 0x75, 0x6d, 0x29, 0x20, 0x2f, 0x20, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x69,
   1110 	0x6e, 0x61, 0x74, 0x6f, 0x72, 0x3b, 0x0a, 0x09, 0x23, 0x65, 0x6e, 0x64, 0x69, 0x66, 0x0a, 0x0a,
   1111 	0x09, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x28, 0x75, 0x5f, 0x6f, 0x75,
   1112 	0x74, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x74, 0x65, 0x78, 0x2c, 0x20, 0x6f, 0x75, 0x74, 0x5f,
   1113 	0x76, 0x6f, 0x78, 0x65, 0x6c, 0x2c, 0x20, 0x4f, 0x55, 0x54, 0x50, 0x55, 0x54, 0x5f, 0x54, 0x59,
   1114 	0x50, 0x45, 0x5f, 0x43, 0x41, 0x53, 0x54, 0x28, 0x73, 0x75, 0x6d, 0x29, 0x29, 0x3b, 0x0a, 0x7d,
   1115 	0x0a
   1116 };
   1117 
   1118 read_only global u8 beamformer_shader_minmax_bytes[] = {
   1119 	0x2f, 0x2a, 0x20, 0x53, 0x65, 0x65, 0x20, 0x4c, 0x49, 0x43, 0x45, 0x4e, 0x53, 0x45, 0x20, 0x66,
   1120 	0x6f, 0x72, 0x20, 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x20, 0x64, 0x65, 0x74, 0x61, 0x69,
   1121 	0x6c, 0x73, 0x2e, 0x20, 0x2a, 0x2f, 0x0a, 0x0a, 0x2f, 0x2a, 0x20, 0x4e, 0x4f, 0x54, 0x45, 0x3a,
   1122 	0x20, 0x44, 0x6f, 0x65, 0x73, 0x20, 0x61, 0x20, 0x62, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x20, 0x73,
   1123 	0x65, 0x61, 0x72, 0x63, 0x68, 0x20, 0x69, 0x6e, 0x20, 0x33, 0x44, 0x20, 0x66, 0x6f, 0x72, 0x20,
   1124 	0x73, 0x6d, 0x61, 0x6c, 0x6c, 0x65, 0x73, 0x74, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x6c, 0x61, 0x72,
   1125 	0x67, 0x65, 0x73, 0x74, 0x20, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x20, 0x76, 0x61, 0x6c, 0x75,
   1126 	0x65, 0x73, 0x20, 0x2a, 0x2f, 0x0a, 0x6c, 0x61, 0x79, 0x6f, 0x75, 0x74, 0x28, 0x6c, 0x6f, 0x63,
   1127 	0x61, 0x6c, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x5f, 0x78, 0x20, 0x3d, 0x20, 0x33, 0x32, 0x2c, 0x20,
   1128 	0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x5f, 0x79, 0x20, 0x3d, 0x20, 0x31,
   1129 	0x2c, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x5f, 0x7a, 0x20, 0x3d,
   1130 	0x20, 0x33, 0x32, 0x29, 0x20, 0x69, 0x6e, 0x3b, 0x0a, 0x0a, 0x6c, 0x61, 0x79, 0x6f, 0x75, 0x74,
   1131 	0x28, 0x72, 0x67, 0x33, 0x32, 0x66, 0x2c, 0x20, 0x62, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x20,
   1132 	0x3d, 0x20, 0x30, 0x29, 0x20, 0x72, 0x65, 0x61, 0x64, 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x20, 0x75,
   1133 	0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x20, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x33, 0x44, 0x20, 0x75,
   1134 	0x5f, 0x6f, 0x75, 0x74, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x74, 0x65, 0x78, 0x3b, 0x0a, 0x6c,
   1135 	0x61, 0x79, 0x6f, 0x75, 0x74, 0x28, 0x72, 0x67, 0x33, 0x32, 0x66, 0x2c, 0x20, 0x62, 0x69, 0x6e,
   1136 	0x64, 0x69, 0x6e, 0x67, 0x20, 0x3d, 0x20, 0x31, 0x29, 0x20, 0x77, 0x72, 0x69, 0x74, 0x65, 0x6f,
   1137 	0x6e, 0x6c, 0x79, 0x20, 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x20, 0x69, 0x6d, 0x61, 0x67,
   1138 	0x65, 0x33, 0x44, 0x20, 0x75, 0x5f, 0x6d, 0x69, 0x70, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x5f, 0x74,
   1139 	0x65, 0x78, 0x3b, 0x0a, 0x0a, 0x76, 0x6f, 0x69, 0x64, 0x20, 0x6d, 0x61, 0x69, 0x6e, 0x28, 0x29,
   1140 	0x0a, 0x7b, 0x0a, 0x09, 0x69, 0x76, 0x65, 0x63, 0x33, 0x20, 0x6f, 0x75, 0x74, 0x5f, 0x63, 0x6f,
   1141 	0x6f, 0x72, 0x64, 0x20, 0x3d, 0x20, 0x69, 0x76, 0x65, 0x63, 0x33, 0x28, 0x67, 0x6c, 0x5f, 0x47,
   1142 	0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x49, 0x6e, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49,
   1143 	0x44, 0x2e, 0x78, 0x79, 0x7a, 0x29, 0x3b, 0x0a, 0x0a, 0x09, 0x69, 0x76, 0x65, 0x63, 0x33, 0x20,
   1144 	0x69, 0x64, 0x78, 0x20, 0x3d, 0x20, 0x6f, 0x75, 0x74, 0x5f, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x20,
   1145 	0x2a, 0x20, 0x32, 0x3b, 0x0a, 0x09, 0x76, 0x65, 0x63, 0x32, 0x20, 0x6d, 0x69, 0x6e, 0x5f, 0x6d,
   1146 	0x61, 0x78, 0x20, 0x3d, 0x20, 0x76, 0x65, 0x63, 0x32, 0x28, 0x31, 0x30, 0x30, 0x30, 0x30, 0x30,
   1147 	0x30, 0x30, 0x30, 0x30, 0x2c, 0x20, 0x30, 0x29, 0x3b, 0x0a, 0x09, 0x66, 0x6f, 0x72, 0x20, 0x28,
   1148 	0x69, 0x6e, 0x74, 0x20, 0x69, 0x20, 0x3d, 0x20, 0x30, 0x3b, 0x20, 0x69, 0x20, 0x3c, 0x20, 0x32,
   1149 	0x3b, 0x20, 0x69, 0x2b, 0x2b, 0x29, 0x20, 0x7b, 0x0a, 0x09, 0x09, 0x66, 0x6f, 0x72, 0x20, 0x28,
   1150 	0x69, 0x6e, 0x74, 0x20, 0x6a, 0x20, 0x3d, 0x20, 0x30, 0x3b, 0x20, 0x6a, 0x20, 0x3c, 0x20, 0x32,
   1151 	0x3b, 0x20, 0x6a, 0x2b, 0x2b, 0x29, 0x20, 0x7b, 0x0a, 0x09, 0x09, 0x09, 0x76, 0x65, 0x63, 0x32,
   1152 	0x20, 0x61, 0x20, 0x20, 0x20, 0x20, 0x3d, 0x20, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x4c, 0x6f, 0x61,
   1153 	0x64, 0x28, 0x75, 0x5f, 0x6f, 0x75, 0x74, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x74, 0x65, 0x78,
   1154 	0x2c, 0x20, 0x69, 0x64, 0x78, 0x20, 0x2b, 0x20, 0x69, 0x76, 0x65, 0x63, 0x33, 0x28, 0x69, 0x2c,
   1155 	0x20, 0x6a, 0x2c, 0x20, 0x30, 0x29, 0x29, 0x2e, 0x78, 0x79, 0x3b, 0x0a, 0x09, 0x09, 0x09, 0x76,
   1156 	0x65, 0x63, 0x32, 0x20, 0x62, 0x20, 0x20, 0x20, 0x20, 0x3d, 0x20, 0x69, 0x6d, 0x61, 0x67, 0x65,
   1157 	0x4c, 0x6f, 0x61, 0x64, 0x28, 0x75, 0x5f, 0x6f, 0x75, 0x74, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f,
   1158 	0x74, 0x65, 0x78, 0x2c, 0x20, 0x69, 0x64, 0x78, 0x20, 0x2b, 0x20, 0x69, 0x76, 0x65, 0x63, 0x33,
   1159 	0x28, 0x69, 0x2c, 0x20, 0x6a, 0x2c, 0x20, 0x31, 0x29, 0x29, 0x2e, 0x78, 0x79, 0x3b, 0x0a, 0x09,
   1160 	0x09, 0x09, 0x6d, 0x69, 0x6e, 0x5f, 0x6d, 0x61, 0x78, 0x2e, 0x78, 0x20, 0x3d, 0x20, 0x6d, 0x69,
   1161 	0x6e, 0x28, 0x6d, 0x69, 0x6e, 0x5f, 0x6d, 0x61, 0x78, 0x2e, 0x78, 0x2c, 0x20, 0x6d, 0x69, 0x6e,
   1162 	0x28, 0x61, 0x2e, 0x78, 0x2c, 0x20, 0x62, 0x2e, 0x78, 0x29, 0x29, 0x3b, 0x0a, 0x09, 0x09, 0x09,
   1163 	0x6d, 0x69, 0x6e, 0x5f, 0x6d, 0x61, 0x78, 0x2e, 0x79, 0x20, 0x3d, 0x20, 0x6d, 0x61, 0x78, 0x28,
   1164 	0x6d, 0x69, 0x6e, 0x5f, 0x6d, 0x61, 0x78, 0x2e, 0x79, 0x2c, 0x20, 0x6d, 0x61, 0x78, 0x28, 0x61,
   1165 	0x2e, 0x79, 0x2c, 0x20, 0x62, 0x2e, 0x79, 0x29, 0x29, 0x3b, 0x0a, 0x09, 0x09, 0x7d, 0x0a, 0x09,
   1166 	0x7d, 0x0a, 0x09, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x28, 0x75, 0x5f,
   1167 	0x6d, 0x69, 0x70, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x5f, 0x74, 0x65, 0x78, 0x2c, 0x20, 0x6f, 0x75,
   1168 	0x74, 0x5f, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x2c, 0x20, 0x76, 0x65, 0x63, 0x34, 0x28, 0x6d, 0x69,
   1169 	0x6e, 0x5f, 0x6d, 0x61, 0x78, 0x2c, 0x20, 0x30, 0x2c, 0x20, 0x31, 0x29, 0x29, 0x3b, 0x0a, 0x7d,
   1170 	0x0a
   1171 };
   1172 
   1173 read_only global u8 beamformer_shader_sum_bytes[] = {
   1174 	0x2f, 0x2a, 0x20, 0x53, 0x65, 0x65, 0x20, 0x4c, 0x49, 0x43, 0x45, 0x4e, 0x53, 0x45, 0x20, 0x66,
   1175 	0x6f, 0x72, 0x20, 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x20, 0x64, 0x65, 0x74, 0x61, 0x69,
   1176 	0x6c, 0x73, 0x2e, 0x20, 0x2a, 0x2f, 0x0a, 0x6c, 0x61, 0x79, 0x6f, 0x75, 0x74, 0x28, 0x6c, 0x6f,
   1177 	0x63, 0x61, 0x6c, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x5f, 0x78, 0x20, 0x3d, 0x20, 0x33, 0x32, 0x2c,
   1178 	0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x5f, 0x79, 0x20, 0x3d, 0x20,
   1179 	0x31, 0x2c, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x5f, 0x7a, 0x20,
   1180 	0x3d, 0x20, 0x33, 0x32, 0x29, 0x20, 0x69, 0x6e, 0x3b, 0x0a, 0x0a, 0x6c, 0x61, 0x79, 0x6f, 0x75,
   1181 	0x74, 0x28, 0x72, 0x67, 0x33, 0x32, 0x66, 0x2c, 0x20, 0x62, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67,
   1182 	0x20, 0x3d, 0x20, 0x30, 0x29, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
   1183 	0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x20, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x33, 0x44, 0x20,
   1184 	0x75, 0x5f, 0x6f, 0x75, 0x74, 0x5f, 0x69, 0x6d, 0x67, 0x3b, 0x0a, 0x6c, 0x61, 0x79, 0x6f, 0x75,
   1185 	0x74, 0x28, 0x72, 0x67, 0x33, 0x32, 0x66, 0x2c, 0x20, 0x62, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67,
   1186 	0x20, 0x3d, 0x20, 0x31, 0x29, 0x20, 0x72, 0x65, 0x61, 0x64, 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x20,
   1187 	0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x20, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x33, 0x44, 0x20,
   1188 	0x75, 0x5f, 0x69, 0x6e, 0x5f, 0x69, 0x6d, 0x67, 0x3b, 0x0a, 0x0a, 0x76, 0x6f, 0x69, 0x64, 0x20,
   1189 	0x6d, 0x61, 0x69, 0x6e, 0x28, 0x29, 0x0a, 0x7b, 0x0a, 0x09, 0x69, 0x76, 0x65, 0x63, 0x33, 0x20,
   1190 	0x76, 0x6f, 0x78, 0x65, 0x6c, 0x20, 0x3d, 0x20, 0x69, 0x76, 0x65, 0x63, 0x33, 0x28, 0x67, 0x6c,
   1191 	0x5f, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x49, 0x6e, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f,
   1192 	0x6e, 0x49, 0x44, 0x29, 0x3b, 0x0a, 0x09, 0x76, 0x65, 0x63, 0x34, 0x20, 0x20, 0x73, 0x75, 0x6d,
   1193 	0x20, 0x20, 0x20, 0x3d, 0x20, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x4c, 0x6f, 0x61, 0x64, 0x28, 0x75,
   1194 	0x5f, 0x6f, 0x75, 0x74, 0x5f, 0x69, 0x6d, 0x67, 0x2c, 0x20, 0x76, 0x6f, 0x78, 0x65, 0x6c, 0x29,
   1195 	0x20, 0x2b, 0x20, 0x75, 0x5f, 0x73, 0x75, 0x6d, 0x5f, 0x70, 0x72, 0x65, 0x73, 0x63, 0x61, 0x6c,
   1196 	0x65, 0x20, 0x2a, 0x20, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x4c, 0x6f, 0x61, 0x64, 0x28, 0x75, 0x5f,
   1197 	0x69, 0x6e, 0x5f, 0x69, 0x6d, 0x67, 0x2c, 0x20, 0x76, 0x6f, 0x78, 0x65, 0x6c, 0x29, 0x3b, 0x0a,
   1198 	0x09, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x28, 0x75, 0x5f, 0x6f, 0x75,
   1199 	0x74, 0x5f, 0x69, 0x6d, 0x67, 0x2c, 0x20, 0x76, 0x6f, 0x78, 0x65, 0x6c, 0x2c, 0x20, 0x73, 0x75,
   1200 	0x6d, 0x29, 0x3b, 0x0a, 0x7d, 0x0a
   1201 };
   1202 
   1203 read_only global u8 beamformer_shader_render3d_bytes[] = {
   1204 	0x2f, 0x2a, 0x20, 0x53, 0x65, 0x65, 0x20, 0x4c, 0x49, 0x43, 0x45, 0x4e, 0x53, 0x45, 0x20, 0x66,
   1205 	0x6f, 0x72, 0x20, 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x20, 0x64, 0x65, 0x74, 0x61, 0x69,
   1206 	0x6c, 0x73, 0x2e, 0x20, 0x2a, 0x2f, 0x0a, 0x0a, 0x2f, 0x2a, 0x20, 0x69, 0x6e, 0x70, 0x75, 0x74,
   1207 	0x3a, 0x20, 0x20, 0x68, 0x20, 0x5b, 0x30, 0x2c, 0x33, 0x36, 0x30, 0x5d, 0x20, 0x7c, 0x20, 0x73,
   1208 	0x2c, 0x76, 0x20, 0x5b, 0x30, 0x2c, 0x20, 0x31, 0x5d, 0x20, 0x2a, 0x0a, 0x20, 0x2a, 0x20, 0x6f,
   1209 	0x75, 0x74, 0x70, 0x75, 0x74, 0x3a, 0x20, 0x72, 0x67, 0x62, 0x20, 0x5b, 0x30, 0x2c, 0x31, 0x5d,
   1210 	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x2a, 0x2f,
   1211 	0x0a, 0x76, 0x65, 0x63, 0x33, 0x20, 0x68, 0x73, 0x76, 0x32, 0x72, 0x67, 0x62, 0x28, 0x76, 0x65,
   1212 	0x63, 0x33, 0x20, 0x68, 0x73, 0x76, 0x29, 0x0a, 0x7b, 0x0a, 0x09, 0x76, 0x65, 0x63, 0x33, 0x20,
   1213 	0x6b, 0x20, 0x3d, 0x20, 0x6d, 0x6f, 0x64, 0x28, 0x76, 0x65, 0x63, 0x33, 0x28, 0x35, 0x2c, 0x20,
   1214 	0x33, 0x2c, 0x20, 0x31, 0x29, 0x20, 0x2b, 0x20, 0x68, 0x73, 0x76, 0x2e, 0x78, 0x20, 0x2f, 0x20,
   1215 	0x36, 0x30, 0x2c, 0x20, 0x36, 0x29, 0x3b, 0x0a, 0x09, 0x6b, 0x20, 0x3d, 0x20, 0x6d, 0x61, 0x78,
   1216 	0x28, 0x6d, 0x69, 0x6e, 0x28, 0x6d, 0x69, 0x6e, 0x28, 0x6b, 0x2c, 0x20, 0x34, 0x20, 0x2d, 0x20,
   1217 	0x6b, 0x29, 0x2c, 0x20, 0x31, 0x29, 0x2c, 0x20, 0x30, 0x29, 0x3b, 0x0a, 0x09, 0x72, 0x65, 0x74,
   1218 	0x75, 0x72, 0x6e, 0x20, 0x68, 0x73, 0x76, 0x2e, 0x7a, 0x20, 0x2d, 0x20, 0x68, 0x73, 0x76, 0x2e,
   1219 	0x7a, 0x20, 0x2a, 0x20, 0x68, 0x73, 0x76, 0x2e, 0x79, 0x20, 0x2a, 0x20, 0x6b, 0x3b, 0x0a, 0x7d,
   1220 	0x0a, 0x0a, 0x2f, 0x2a, 0x20, 0x4e, 0x4f, 0x54, 0x45, 0x28, 0x72, 0x6e, 0x70, 0x29, 0x3a, 0x20,
   1221 	0x61, 0x64, 0x61, 0x70, 0x74, 0x65, 0x64, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x3a, 0x20, 0x68, 0x74,
   1222 	0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x69, 0x71, 0x75, 0x69, 0x6c, 0x65, 0x7a, 0x6c, 0x65, 0x73,
   1223 	0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x61, 0x72, 0x74, 0x69, 0x63, 0x6c, 0x65, 0x73, 0x2f, 0x64, 0x69,
   1224 	0x73, 0x74, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x20, 0x2a, 0x2f, 0x0a, 0x66,
   1225 	0x6c, 0x6f, 0x61, 0x74, 0x20, 0x73, 0x64, 0x66, 0x5f, 0x77, 0x69, 0x72, 0x65, 0x5f, 0x62, 0x6f,
   1226 	0x78, 0x5f, 0x6f, 0x75, 0x74, 0x73, 0x69, 0x64, 0x65, 0x28, 0x76, 0x65, 0x63, 0x33, 0x20, 0x70,
   1227 	0x2c, 0x20, 0x76, 0x65, 0x63, 0x33, 0x20, 0x62, 0x2c, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20,
   1228 	0x65, 0x29, 0x0a, 0x7b, 0x0a, 0x09, 0x70, 0x20, 0x3d, 0x20, 0x61, 0x62, 0x73, 0x28, 0x70, 0x29,
   1229 	0x20, 0x2d, 0x20, 0x62, 0x3b, 0x0a, 0x09, 0x76, 0x65, 0x63, 0x33, 0x20, 0x71, 0x20, 0x3d, 0x20,
   1230 	0x61, 0x62, 0x73, 0x28, 0x70, 0x20, 0x2b, 0x20, 0x65, 0x29, 0x20, 0x2d, 0x20, 0x65, 0x3b, 0x0a,
   1231 	0x09, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x20, 0x3d, 0x20,
   1232 	0x6d, 0x69, 0x6e, 0x28, 0x6d, 0x69, 0x6e, 0x28, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x28, 0x6d,
   1233 	0x61, 0x78, 0x28, 0x76, 0x65, 0x63, 0x33, 0x28, 0x70, 0x2e, 0x78, 0x2c, 0x20, 0x71, 0x2e, 0x79,
   1234 	0x2c, 0x20, 0x71, 0x2e, 0x7a, 0x29, 0x2c, 0x20, 0x30, 0x2e, 0x30, 0x29, 0x29, 0x2c, 0x0a, 0x09,
   1235 	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
   1236 	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x28, 0x6d, 0x61,
   1237 	0x78, 0x28, 0x76, 0x65, 0x63, 0x33, 0x28, 0x71, 0x2e, 0x78, 0x2c, 0x20, 0x70, 0x2e, 0x79, 0x2c,
   1238 	0x20, 0x71, 0x2e, 0x7a, 0x29, 0x2c, 0x20, 0x30, 0x2e, 0x30, 0x29, 0x29, 0x29, 0x2c, 0x0a, 0x09,
   1239 	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
   1240 	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x28, 0x6d, 0x61,
   1241 	0x78, 0x28, 0x76, 0x65, 0x63, 0x33, 0x28, 0x71, 0x2e, 0x78, 0x2c, 0x20, 0x71, 0x2e, 0x79, 0x2c,
   1242 	0x20, 0x70, 0x2e, 0x7a, 0x29, 0x2c, 0x20, 0x30, 0x2e, 0x30, 0x29, 0x29, 0x29, 0x3b, 0x0a, 0x09,
   1243 	0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x3b, 0x0a, 0x7d,
   1244 	0x0a, 0x0a, 0x76, 0x6f, 0x69, 0x64, 0x20, 0x6d, 0x61, 0x69, 0x6e, 0x28, 0x29, 0x0a, 0x7b, 0x0a,
   1245 	0x09, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x73, 0x6d, 0x70, 0x20, 0x3d, 0x20, 0x6c, 0x65, 0x6e,
   1246 	0x67, 0x74, 0x68, 0x28, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x28, 0x75, 0x5f, 0x74, 0x65,
   1247 	0x78, 0x74, 0x75, 0x72, 0x65, 0x2c, 0x20, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x63,
   1248 	0x6f, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x61, 0x74, 0x65, 0x29, 0x2e, 0x78, 0x79, 0x29, 0x3b, 0x0a,
   1249 	0x09, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64,
   1250 	0x5f, 0x76, 0x61, 0x6c, 0x20, 0x3d, 0x20, 0x70, 0x6f, 0x77, 0x28, 0x31, 0x30, 0x2e, 0x30, 0x66,
   1251 	0x2c, 0x20, 0x75, 0x5f, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x20, 0x2f, 0x20,
   1252 	0x32, 0x30, 0x2e, 0x30, 0x66, 0x29, 0x3b, 0x0a, 0x09, 0x73, 0x6d, 0x70, 0x20, 0x3d, 0x20, 0x63,
   1253 	0x6c, 0x61, 0x6d, 0x70, 0x28, 0x73, 0x6d, 0x70, 0x2c, 0x20, 0x30, 0x2e, 0x30, 0x66, 0x2c, 0x20,
   1254 	0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x5f, 0x76, 0x61, 0x6c, 0x29, 0x3b, 0x0a,
   1255 	0x09, 0x73, 0x6d, 0x70, 0x20, 0x3d, 0x20, 0x73, 0x6d, 0x70, 0x20, 0x2f, 0x20, 0x74, 0x68, 0x72,
   1256 	0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x5f, 0x76, 0x61, 0x6c, 0x3b, 0x0a, 0x09, 0x73, 0x6d, 0x70,
   1257 	0x20, 0x3d, 0x20, 0x70, 0x6f, 0x77, 0x28, 0x73, 0x6d, 0x70, 0x2c, 0x20, 0x75, 0x5f, 0x67, 0x61,
   1258 	0x6d, 0x6d, 0x61, 0x29, 0x3b, 0x0a, 0x0a, 0x09, 0x2f, 0x2f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20,
   1259 	0x74, 0x20, 0x3d, 0x20, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65,
   1260 	0x5f, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x61, 0x74, 0x65, 0x2e, 0x79, 0x3b, 0x0a, 0x09,
   1261 	0x2f, 0x2f, 0x73, 0x6d, 0x70, 0x20, 0x3d, 0x20, 0x73, 0x6d, 0x70, 0x20, 0x2a, 0x20, 0x73, 0x6d,
   1262 	0x6f, 0x6f, 0x74, 0x68, 0x73, 0x74, 0x65, 0x70, 0x28, 0x2d, 0x30, 0x2e, 0x34, 0x2c, 0x20, 0x31,
   1263 	0x2e, 0x31, 0x2c, 0x20, 0x74, 0x29, 0x20, 0x2a, 0x20, 0x75, 0x5f, 0x67, 0x61, 0x69, 0x6e, 0x3b,
   1264 	0x0a, 0x0a, 0x09, 0x69, 0x66, 0x20, 0x28, 0x75, 0x5f, 0x6c, 0x6f, 0x67, 0x5f, 0x73, 0x63, 0x61,
   1265 	0x6c, 0x65, 0x29, 0x20, 0x7b, 0x0a, 0x09, 0x09, 0x73, 0x6d, 0x70, 0x20, 0x3d, 0x20, 0x32, 0x30,
   1266 	0x20, 0x2a, 0x20, 0x6c, 0x6f, 0x67, 0x28, 0x73, 0x6d, 0x70, 0x29, 0x20, 0x2f, 0x20, 0x6c, 0x6f,
   1267 	0x67, 0x28, 0x31, 0x30, 0x29, 0x3b, 0x0a, 0x09, 0x09, 0x73, 0x6d, 0x70, 0x20, 0x3d, 0x20, 0x63,
   1268 	0x6c, 0x61, 0x6d, 0x70, 0x28, 0x73, 0x6d, 0x70, 0x2c, 0x20, 0x2d, 0x75, 0x5f, 0x64, 0x62, 0x5f,
   1269 	0x63, 0x75, 0x74, 0x6f, 0x66, 0x66, 0x2c, 0x20, 0x30, 0x29, 0x20, 0x2f, 0x20, 0x2d, 0x75, 0x5f,
   1270 	0x64, 0x62, 0x5f, 0x63, 0x75, 0x74, 0x6f, 0x66, 0x66, 0x3b, 0x0a, 0x09, 0x09, 0x73, 0x6d, 0x70,
   1271 	0x20, 0x3d, 0x20, 0x31, 0x20, 0x2d, 0x20, 0x73, 0x6d, 0x70, 0x3b, 0x0a, 0x09, 0x7d, 0x0a, 0x0a,
   1272 	0x09, 0x76, 0x65, 0x63, 0x33, 0x20, 0x20, 0x70, 0x20, 0x3d, 0x20, 0x32, 0x2e, 0x30, 0x66, 0x20,
   1273 	0x2a, 0x20, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x63,
   1274 	0x6f, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x61, 0x74, 0x65, 0x20, 0x2d, 0x20, 0x31, 0x2e, 0x30, 0x66,
   1275 	0x3b, 0x0a, 0x09, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x74, 0x20, 0x3d, 0x20, 0x63, 0x6c, 0x61,
   1276 	0x6d, 0x70, 0x28, 0x73, 0x64, 0x66, 0x5f, 0x77, 0x69, 0x72, 0x65, 0x5f, 0x62, 0x6f, 0x78, 0x5f,
   1277 	0x6f, 0x75, 0x74, 0x73, 0x69, 0x64, 0x65, 0x28, 0x70, 0x2c, 0x20, 0x76, 0x65, 0x63, 0x33, 0x28,
   1278 	0x31, 0x2e, 0x30, 0x66, 0x29, 0x2c, 0x20, 0x75, 0x5f, 0x62, 0x62, 0x5f, 0x66, 0x72, 0x61, 0x63,
   1279 	0x74, 0x69, 0x6f, 0x6e, 0x29, 0x20, 0x2f, 0x20, 0x75, 0x5f, 0x62, 0x62, 0x5f, 0x66, 0x72, 0x61,
   1280 	0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2c, 0x20, 0x30, 0x2c, 0x20, 0x31, 0x29, 0x3b, 0x0a, 0x0a, 0x09,
   1281 	0x6f, 0x75, 0x74, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x75, 0x72, 0x20, 0x3d, 0x20, 0x76, 0x65, 0x63,
   1282 	0x34, 0x28, 0x74, 0x20, 0x2a, 0x20, 0x76, 0x65, 0x63, 0x33, 0x28, 0x73, 0x6d, 0x70, 0x29, 0x20,
   1283 	0x2b, 0x20, 0x28, 0x31, 0x20, 0x2d, 0x20, 0x74, 0x29, 0x20, 0x2a, 0x20, 0x75, 0x5f, 0x62, 0x62,
   1284 	0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x75, 0x72, 0x2e, 0x78, 0x79, 0x7a, 0x2c, 0x20, 0x31, 0x29, 0x3b,
   1285 	0x0a, 0x09, 0x69, 0x66, 0x20, 0x28, 0x75, 0x5f, 0x73, 0x6f, 0x6c, 0x69, 0x64, 0x5f, 0x62, 0x62,
   1286 	0x29, 0x20, 0x6f, 0x75, 0x74, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x75, 0x72, 0x20, 0x3d, 0x20, 0x75,
   1287 	0x5f, 0x62, 0x62, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x75, 0x72, 0x3b, 0x0a, 0x0a, 0x09, 0x2f, 0x2f,
   1288 	0x6f, 0x75, 0x74, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x75, 0x72, 0x20, 0x3d, 0x20, 0x76, 0x65, 0x63,
   1289 	0x34, 0x28, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4c, 0x6f,
   1290 	0x64, 0x28, 0x75, 0x5f, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x2c, 0x20, 0x74, 0x65, 0x78,
   1291 	0x74, 0x75, 0x72, 0x65, 0x5f, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x61, 0x74, 0x65, 0x29,
   1292 	0x2e, 0x79, 0x2c, 0x20, 0x30, 0x2c, 0x20, 0x30, 0x2c, 0x20, 0x31, 0x29, 0x3b, 0x0a, 0x09, 0x2f,
   1293 	0x2f, 0x6f, 0x75, 0x74, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x75, 0x72, 0x20, 0x3d, 0x20, 0x76, 0x65,
   1294 	0x63, 0x34, 0x28, 0x61, 0x62, 0x73, 0x28, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x29, 0x2c, 0x20,
   1295 	0x31, 0x29, 0x3b, 0x0a, 0x09, 0x2f, 0x2f, 0x6f, 0x75, 0x74, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x75,
   1296 	0x72, 0x20, 0x3d, 0x20, 0x76, 0x65, 0x63, 0x34, 0x28, 0x31, 0x2c, 0x20, 0x31, 0x2c, 0x20, 0x31,
   1297 	0x2c, 0x20, 0x73, 0x6d, 0x70, 0x29, 0x3b, 0x0a, 0x09, 0x2f, 0x2f, 0x6f, 0x75, 0x74, 0x5f, 0x63,
   1298 	0x6f, 0x6c, 0x6f, 0x75, 0x72, 0x20, 0x3d, 0x20, 0x76, 0x65, 0x63, 0x34, 0x28, 0x73, 0x6d, 0x70,
   1299 	0x20, 0x2a, 0x20, 0x61, 0x62, 0x73, 0x28, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x29, 0x2c, 0x20,
   1300 	0x31, 0x29, 0x3b, 0x0a, 0x7d, 0x0a
   1301 };
   1302 
   1303 read_only global s8 beamformer_shader_data[] = {
   1304 	{.data = beamformer_shader_decode_bytes,   .len = countof(beamformer_shader_decode_bytes)},
   1305 	{.data = beamformer_shader_filter_bytes,   .len = countof(beamformer_shader_filter_bytes)},
   1306 	{.data = beamformer_shader_das_bytes,      .len = countof(beamformer_shader_das_bytes)},
   1307 	{.data = beamformer_shader_minmax_bytes,   .len = countof(beamformer_shader_minmax_bytes)},
   1308 	{.data = beamformer_shader_sum_bytes,      .len = countof(beamformer_shader_sum_bytes)},
   1309 	{.data = beamformer_shader_render3d_bytes, .len = countof(beamformer_shader_render3d_bytes)},
   1310 };
   1311