diff --git a/src/backends/cuda/cuda_builtin/cuda_device_half.h b/src/backends/cuda/cuda_builtin/cuda_device_half.h index d45be6409..96d5e4bf3 100644 --- a/src/backends/cuda/cuda_builtin/cuda_device_half.h +++ b/src/backends/cuda/cuda_builtin/cuda_device_half.h @@ -16,233 +16,233 @@ struct alignas(4) __half2_raw { struct __half; struct __half2; -__device__ inline __half __double2half(const double a); -__device__ inline __half __float2half(const float a); -__device__ inline __half __float2half_rn(const float a); -__device__ inline __half __float2half_rz(const float a); -__device__ inline __half __float2half_rd(const float a); -__device__ inline __half __float2half_ru(const float a); -__device__ inline float __half2float(const __half a); -__device__ inline __half2 __float2half2_rn(const float a); -__device__ inline __half2 __floats2half2_rn(const float a, const float b); -__device__ inline float __low2float(const __half2 a); -__device__ inline float __high2float(const __half2 a); -__device__ inline signed char __half2char_rz(const __half h); -__device__ inline unsigned char __half2uchar_rz(const __half h); -__device__ inline short int __half2short_rz(const __half h); -__device__ inline unsigned short int __half2ushort_rz(const __half h); -__device__ inline int __half2int_rz(const __half h); -__device__ inline unsigned int __half2uint_rz(const __half h); -__device__ inline long long int __half2ll_rz(const __half h); -__device__ inline unsigned long long int __half2ull_rz(const __half h); -__device__ inline __half2 make_half2(const __half x, const __half y); -__device__ inline __half2 __float22half2_rn(const float2 a); -__device__ inline float2 __half22float2(const __half2 a); -__device__ inline int __half2int_rn(const __half h); -__device__ inline int __half2int_rd(const __half h); -__device__ inline int __half2int_ru(const __half h); -__device__ inline __half __int2half_rn(const int i); -__device__ inline __half __int2half_rz(const int i); -__device__ inline __half __int2half_rd(const int i); -__device__ inline __half __int2half_ru(const int i); -__device__ inline short int __half2short_rn(const __half h); -__device__ inline short int __half2short_rd(const __half h); -__device__ inline short int __half2short_ru(const __half h); -__device__ inline __half __short2half_rn(const short int i); -__device__ inline __half __short2half_rz(const short int i); -__device__ inline __half __short2half_rd(const short int i); -__device__ inline __half __short2half_ru(const short int i); -__device__ inline unsigned int __half2uint_rn(const __half h); -__device__ inline unsigned int __half2uint_rd(const __half h); -__device__ inline unsigned int __half2uint_ru(const __half h); -__device__ inline __half __uint2half_rn(const unsigned int i); -__device__ inline __half __uint2half_rz(const unsigned int i); -__device__ inline __half __uint2half_rd(const unsigned int i); -__device__ inline __half __uint2half_ru(const unsigned int i); -__device__ inline unsigned short int __half2ushort_rn(const __half h); -__device__ inline unsigned short int __half2ushort_rd(const __half h); -__device__ inline unsigned short int __half2ushort_ru(const __half h); -__device__ inline __half __ushort2half_rn(const unsigned short int i); -__device__ inline __half __ushort2half_rz(const unsigned short int i); -__device__ inline __half __ushort2half_rd(const unsigned short int i); -__device__ inline __half __ushort2half_ru(const unsigned short int i); -__device__ inline unsigned long long int __half2ull_rn(const __half h); -__device__ inline unsigned long long int __half2ull_rd(const __half h); -__device__ inline unsigned long long int __half2ull_ru(const __half h); -__device__ inline __half __ull2half_rn(const unsigned long long int i); -__device__ inline __half __ull2half_rz(const unsigned long long int i); -__device__ inline __half __ull2half_rd(const unsigned long long int i); -__device__ inline __half __ull2half_ru(const unsigned long long int i); -__device__ inline long long int __half2ll_rn(const __half h); -__device__ inline long long int __half2ll_rd(const __half h); -__device__ inline long long int __half2ll_ru(const __half h); -__device__ inline __half __ll2half_rn(const long long int i); -__device__ inline __half __ll2half_rz(const long long int i); -__device__ inline __half __ll2half_rd(const long long int i); -__device__ inline __half __ll2half_ru(const long long int i); -__device__ inline __half htrunc(const __half h); -__device__ inline __half hceil(const __half h); -__device__ inline __half hfloor(const __half h); -__device__ inline __half hrint(const __half h); -__device__ inline __half2 h2trunc(const __half2 h); -__device__ inline __half2 h2ceil(const __half2 h); -__device__ inline __half2 h2floor(const __half2 h); -__device__ inline __half2 h2rint(const __half2 h); -__device__ inline __half2 __half2half2(const __half a); -__device__ inline __half2 __lowhigh2highlow(const __half2 a); -__device__ inline __half2 __lows2half2(const __half2 a, const __half2 b); -__device__ inline __half2 __highs2half2(const __half2 a, const __half2 b); -__device__ inline __half __high2half(const __half2 a); -__device__ inline __half __low2half(const __half2 a); -__device__ inline int __hisinf(const __half a); -__device__ inline __half2 __halves2half2(const __half a, const __half b); -__device__ inline __half2 __low2half2(const __half2 a); -__device__ inline __half2 __high2half2(const __half2 a); -__device__ inline short int __half_as_short(const __half h); -__device__ inline unsigned short int __half_as_ushort(const __half h); -__device__ inline __half __short_as_half(const short int i); -__device__ inline __half __ushort_as_half(const unsigned short int i); -__device__ inline __half __hmax(const __half a, const __half b); -__device__ inline __half __hmin(const __half a, const __half b); -__device__ inline __half2 __hmax2(const __half2 a, const __half2 b); -__device__ inline __half2 __hmin2(const __half2 a, const __half2 b); -__device__ inline __half2 __shfl_sync(const unsigned mask, const __half2 var, const int delta, const int width = warpSize); -__device__ inline __half2 __shfl_up_sync(const unsigned mask, const __half2 var, const unsigned int delta, const int width = warpSize); -__device__ inline __half2 __shfl_down_sync(const unsigned mask, const __half2 var, const unsigned int delta, const int width = warpSize); -__device__ inline __half2 __shfl_xor_sync(const unsigned mask, const __half2 var, const int delta, const int width = warpSize); -__device__ inline __half __shfl_sync(const unsigned mask, const __half var, const int delta, const int width = warpSize); -__device__ inline __half __shfl_up_sync(const unsigned mask, const __half var, const unsigned int delta, const int width = warpSize); -__device__ inline __half __shfl_down_sync(const unsigned mask, const __half var, const unsigned int delta, const int width = warpSize); -__device__ inline __half __shfl_xor_sync(const unsigned mask, const __half var, const int delta, const int width = warpSize); -__device__ inline __half2 __ldg(const __half2 *const ptr); -__device__ inline __half __ldg(const __half *const ptr); -__device__ inline __half2 __ldcg(const __half2 *const ptr); -__device__ inline __half __ldcg(const __half *const ptr); -__device__ inline __half2 __ldca(const __half2 *const ptr); -__device__ inline __half __ldca(const __half *const ptr); -__device__ inline __half2 __ldcs(const __half2 *const ptr); -__device__ inline __half __ldcs(const __half *const ptr); -__device__ inline __half2 __ldlu(const __half2 *const ptr); -__device__ inline __half __ldlu(const __half *const ptr); -__device__ inline __half2 __ldcv(const __half2 *const ptr); -__device__ inline __half __ldcv(const __half *const ptr); -__device__ inline void __stwb(__half2 *const ptr, const __half2 value); -__device__ inline void __stwb(__half *const ptr, const __half value); -__device__ inline void __stcg(__half2 *const ptr, const __half2 value); -__device__ inline void __stcg(__half *const ptr, const __half value); -__device__ inline void __stcs(__half2 *const ptr, const __half2 value); -__device__ inline void __stcs(__half *const ptr, const __half value); -__device__ inline void __stwt(__half2 *const ptr, const __half2 value); -__device__ inline void __stwt(__half *const ptr, const __half value); -__device__ inline __half2 __heq2(const __half2 a, const __half2 b); -__device__ inline __half2 __hne2(const __half2 a, const __half2 b); -__device__ inline __half2 __hle2(const __half2 a, const __half2 b); -__device__ inline __half2 __hge2(const __half2 a, const __half2 b); -__device__ inline __half2 __hlt2(const __half2 a, const __half2 b); -__device__ inline __half2 __hgt2(const __half2 a, const __half2 b); -__device__ inline __half2 __hequ2(const __half2 a, const __half2 b); -__device__ inline __half2 __hneu2(const __half2 a, const __half2 b); -__device__ inline __half2 __hleu2(const __half2 a, const __half2 b); -__device__ inline __half2 __hgeu2(const __half2 a, const __half2 b); -__device__ inline __half2 __hltu2(const __half2 a, const __half2 b); -__device__ inline __half2 __hgtu2(const __half2 a, const __half2 b); -__device__ inline unsigned __heq2_mask(const __half2 a, const __half2 b); -__device__ inline unsigned __hne2_mask(const __half2 a, const __half2 b); -__device__ inline unsigned __hle2_mask(const __half2 a, const __half2 b); -__device__ inline unsigned __hge2_mask(const __half2 a, const __half2 b); -__device__ inline unsigned __hlt2_mask(const __half2 a, const __half2 b); -__device__ inline unsigned __hgt2_mask(const __half2 a, const __half2 b); -__device__ inline unsigned __hequ2_mask(const __half2 a, const __half2 b); -__device__ inline unsigned __hneu2_mask(const __half2 a, const __half2 b); -__device__ inline unsigned __hleu2_mask(const __half2 a, const __half2 b); -__device__ inline unsigned __hgeu2_mask(const __half2 a, const __half2 b); -__device__ inline unsigned __hltu2_mask(const __half2 a, const __half2 b); -__device__ inline unsigned __hgtu2_mask(const __half2 a, const __half2 b); -__device__ inline __half2 __hisnan2(const __half2 a); -__device__ inline __half2 __hadd2(const __half2 a, const __half2 b); -__device__ inline __half2 __hsub2(const __half2 a, const __half2 b); -__device__ inline __half2 __hmul2(const __half2 a, const __half2 b); -__device__ inline __half2 __hadd2_rn(const __half2 a, const __half2 b); -__device__ inline __half2 __hsub2_rn(const __half2 a, const __half2 b); -__device__ inline __half2 __hmul2_rn(const __half2 a, const __half2 b); -__device__ inline __half2 __h2div(const __half2 a, const __half2 b); -__device__ inline __half2 __habs2(const __half2 a); -__device__ inline __half2 __hadd2_sat(const __half2 a, const __half2 b); -__device__ inline __half2 __hsub2_sat(const __half2 a, const __half2 b); -__device__ inline __half2 __hmul2_sat(const __half2 a, const __half2 b); -__device__ inline __half2 __hfma2(const __half2 a, const __half2 b, const __half2 c); -__device__ inline __half2 __hfma2_sat(const __half2 a, const __half2 b, const __half2 c); -__device__ inline __half2 __hneg2(const __half2 a); -__device__ inline __half __habs(const __half a); -__device__ inline __half __hadd(const __half a, const __half b); -__device__ inline __half __hsub(const __half a, const __half b); -__device__ inline __half __hmul(const __half a, const __half b); -__device__ inline __half __hadd_rn(const __half a, const __half b); -__device__ inline __half __hsub_rn(const __half a, const __half b); -__device__ inline __half __hmul_rn(const __half a, const __half b); -__device__ inline __half __hdiv(const __half a, const __half b); -__device__ inline __half __hadd_sat(const __half a, const __half b); -__device__ inline __half __hsub_sat(const __half a, const __half b); -__device__ inline __half __hmul_sat(const __half a, const __half b); -__device__ inline __half __hfma(const __half a, const __half b, const __half c); -__device__ inline __half __hfma_sat(const __half a, const __half b, const __half c); -__device__ inline __half __hneg(const __half a); -__device__ inline bool __hbeq2(const __half2 a, const __half2 b); -__device__ inline bool __hbne2(const __half2 a, const __half2 b); -__device__ inline bool __hble2(const __half2 a, const __half2 b); -__device__ inline bool __hbge2(const __half2 a, const __half2 b); -__device__ inline bool __hblt2(const __half2 a, const __half2 b); -__device__ inline bool __hbgt2(const __half2 a, const __half2 b); -__device__ inline bool __hbequ2(const __half2 a, const __half2 b); -__device__ inline bool __hbneu2(const __half2 a, const __half2 b); -__device__ inline bool __hbleu2(const __half2 a, const __half2 b); -__device__ inline bool __hbgeu2(const __half2 a, const __half2 b); -__device__ inline bool __hbltu2(const __half2 a, const __half2 b); -__device__ inline bool __hbgtu2(const __half2 a, const __half2 b); -__device__ inline bool __heq(const __half a, const __half b); -__device__ inline bool __hne(const __half a, const __half b); -__device__ inline bool __hle(const __half a, const __half b); -__device__ inline bool __hge(const __half a, const __half b); -__device__ inline bool __hlt(const __half a, const __half b); -__device__ inline bool __hgt(const __half a, const __half b); -__device__ inline bool __hequ(const __half a, const __half b); -__device__ inline bool __hneu(const __half a, const __half b); -__device__ inline bool __hleu(const __half a, const __half b); -__device__ inline bool __hgeu(const __half a, const __half b); -__device__ inline bool __hltu(const __half a, const __half b); -__device__ inline bool __hgtu(const __half a, const __half b); -__device__ inline bool __hisnan(const __half a); -__device__ inline __half __hmax_nan(const __half a, const __half b); -__device__ inline __half __hmin_nan(const __half a, const __half b); -__device__ inline __half __hfma_relu(const __half a, const __half b, const __half c); -__device__ inline __half2 __hmax2_nan(const __half2 a, const __half2 b); -__device__ inline __half2 __hmin2_nan(const __half2 a, const __half2 b); -__device__ inline __half2 __hfma2_relu(const __half2 a, const __half2 b, const __half2 c); -__device__ inline __half2 __hcmadd(const __half2 a, const __half2 b, const __half2 c); -__device__ inline __half hsqrt(const __half a); -__device__ inline __half hrsqrt(const __half a); -__device__ inline __half hrcp(const __half a); -__device__ inline __half hlog(const __half a); -__device__ inline __half hlog2(const __half a); -__device__ inline __half hlog10(const __half a); -__device__ inline __half hexp(const __half a); -__device__ inline __half hexp2(const __half a); -__device__ inline __half hexp10(const __half a); -__device__ inline __half hcos(const __half a); -__device__ inline __half hsin(const __half a); -__device__ inline __half2 h2sqrt(const __half2 a); -__device__ inline __half2 h2rsqrt(const __half2 a); -__device__ inline __half2 h2rcp(const __half2 a); -__device__ inline __half2 h2log(const __half2 a); -__device__ inline __half2 h2log2(const __half2 a); -__device__ inline __half2 h2log10(const __half2 a); -__device__ inline __half2 h2exp(const __half2 a); -__device__ inline __half2 h2exp2(const __half2 a); -__device__ inline __half2 h2exp10(const __half2 a); -__device__ inline __half2 h2cos(const __half2 a); -__device__ inline __half2 h2sin(const __half2 a); -__device__ inline __half2 atomicAdd(__half2 *const address, const __half2 val); -__device__ inline __half atomicAdd(__half *const address, const __half val); +__device__ __half __double2half(const double a); +__device__ __half __float2half(const float a); +__device__ __half __float2half_rn(const float a); +__device__ __half __float2half_rz(const float a); +__device__ __half __float2half_rd(const float a); +__device__ __half __float2half_ru(const float a); +__device__ float __half2float(const __half a); +__device__ __half2 __float2half2_rn(const float a); +__device__ __half2 __floats2half2_rn(const float a, const float b); +__device__ float __low2float(const __half2 a); +__device__ float __high2float(const __half2 a); +__device__ signed char __half2char_rz(const __half h); +__device__ unsigned char __half2uchar_rz(const __half h); +__device__ short int __half2short_rz(const __half h); +__device__ unsigned short int __half2ushort_rz(const __half h); +__device__ int __half2int_rz(const __half h); +__device__ unsigned int __half2uint_rz(const __half h); +__device__ long long int __half2ll_rz(const __half h); +__device__ unsigned long long int __half2ull_rz(const __half h); +__device__ __half2 make_half2(const __half x, const __half y); +__device__ __half2 __float22half2_rn(const float2 a); +__device__ float2 __half22float2(const __half2 a); +__device__ int __half2int_rn(const __half h); +__device__ int __half2int_rd(const __half h); +__device__ int __half2int_ru(const __half h); +__device__ __half __int2half_rn(const int i); +__device__ __half __int2half_rz(const int i); +__device__ __half __int2half_rd(const int i); +__device__ __half __int2half_ru(const int i); +__device__ short int __half2short_rn(const __half h); +__device__ short int __half2short_rd(const __half h); +__device__ short int __half2short_ru(const __half h); +__device__ __half __short2half_rn(const short int i); +__device__ __half __short2half_rz(const short int i); +__device__ __half __short2half_rd(const short int i); +__device__ __half __short2half_ru(const short int i); +__device__ unsigned int __half2uint_rn(const __half h); +__device__ unsigned int __half2uint_rd(const __half h); +__device__ unsigned int __half2uint_ru(const __half h); +__device__ __half __uint2half_rn(const unsigned int i); +__device__ __half __uint2half_rz(const unsigned int i); +__device__ __half __uint2half_rd(const unsigned int i); +__device__ __half __uint2half_ru(const unsigned int i); +__device__ unsigned short int __half2ushort_rn(const __half h); +__device__ unsigned short int __half2ushort_rd(const __half h); +__device__ unsigned short int __half2ushort_ru(const __half h); +__device__ __half __ushort2half_rn(const unsigned short int i); +__device__ __half __ushort2half_rz(const unsigned short int i); +__device__ __half __ushort2half_rd(const unsigned short int i); +__device__ __half __ushort2half_ru(const unsigned short int i); +__device__ unsigned long long int __half2ull_rn(const __half h); +__device__ unsigned long long int __half2ull_rd(const __half h); +__device__ unsigned long long int __half2ull_ru(const __half h); +__device__ __half __ull2half_rn(const unsigned long long int i); +__device__ __half __ull2half_rz(const unsigned long long int i); +__device__ __half __ull2half_rd(const unsigned long long int i); +__device__ __half __ull2half_ru(const unsigned long long int i); +__device__ long long int __half2ll_rn(const __half h); +__device__ long long int __half2ll_rd(const __half h); +__device__ long long int __half2ll_ru(const __half h); +__device__ __half __ll2half_rn(const long long int i); +__device__ __half __ll2half_rz(const long long int i); +__device__ __half __ll2half_rd(const long long int i); +__device__ __half __ll2half_ru(const long long int i); +__device__ __half htrunc(const __half h); +__device__ __half hceil(const __half h); +__device__ __half hfloor(const __half h); +__device__ __half hrint(const __half h); +__device__ __half2 h2trunc(const __half2 h); +__device__ __half2 h2ceil(const __half2 h); +__device__ __half2 h2floor(const __half2 h); +__device__ __half2 h2rint(const __half2 h); +__device__ __half2 __half2half2(const __half a); +__device__ __half2 __lowhigh2highlow(const __half2 a); +__device__ __half2 __lows2half2(const __half2 a, const __half2 b); +__device__ __half2 __highs2half2(const __half2 a, const __half2 b); +__device__ __half __high2half(const __half2 a); +__device__ __half __low2half(const __half2 a); +__device__ int __hisinf(const __half a); +__device__ __half2 __halves2half2(const __half a, const __half b); +__device__ __half2 __low2half2(const __half2 a); +__device__ __half2 __high2half2(const __half2 a); +__device__ short int __half_as_short(const __half h); +__device__ unsigned short int __half_as_ushort(const __half h); +__device__ __half __short_as_half(const short int i); +__device__ __half __ushort_as_half(const unsigned short int i); +__device__ __half __hmax(const __half a, const __half b); +__device__ __half __hmin(const __half a, const __half b); +__device__ __half2 __hmax2(const __half2 a, const __half2 b); +__device__ __half2 __hmin2(const __half2 a, const __half2 b); +__device__ __half2 __shfl_sync(const unsigned mask, const __half2 var, const int delta, const int width = warpSize); +__device__ __half2 __shfl_up_sync(const unsigned mask, const __half2 var, const unsigned int delta, const int width = warpSize); +__device__ __half2 __shfl_down_sync(const unsigned mask, const __half2 var, const unsigned int delta, const int width = warpSize); +__device__ __half2 __shfl_xor_sync(const unsigned mask, const __half2 var, const int delta, const int width = warpSize); +__device__ __half __shfl_sync(const unsigned mask, const __half var, const int delta, const int width = warpSize); +__device__ __half __shfl_up_sync(const unsigned mask, const __half var, const unsigned int delta, const int width = warpSize); +__device__ __half __shfl_down_sync(const unsigned mask, const __half var, const unsigned int delta, const int width = warpSize); +__device__ __half __shfl_xor_sync(const unsigned mask, const __half var, const int delta, const int width = warpSize); +__device__ __half2 __ldg(const __half2 *const ptr); +__device__ __half __ldg(const __half *const ptr); +__device__ __half2 __ldcg(const __half2 *const ptr); +__device__ __half __ldcg(const __half *const ptr); +__device__ __half2 __ldca(const __half2 *const ptr); +__device__ __half __ldca(const __half *const ptr); +__device__ __half2 __ldcs(const __half2 *const ptr); +__device__ __half __ldcs(const __half *const ptr); +__device__ __half2 __ldlu(const __half2 *const ptr); +__device__ __half __ldlu(const __half *const ptr); +__device__ __half2 __ldcv(const __half2 *const ptr); +__device__ __half __ldcv(const __half *const ptr); +__device__ void __stwb(__half2 *const ptr, const __half2 value); +__device__ void __stwb(__half *const ptr, const __half value); +__device__ void __stcg(__half2 *const ptr, const __half2 value); +__device__ void __stcg(__half *const ptr, const __half value); +__device__ void __stcs(__half2 *const ptr, const __half2 value); +__device__ void __stcs(__half *const ptr, const __half value); +__device__ void __stwt(__half2 *const ptr, const __half2 value); +__device__ void __stwt(__half *const ptr, const __half value); +__device__ __half2 __heq2(const __half2 a, const __half2 b); +__device__ __half2 __hne2(const __half2 a, const __half2 b); +__device__ __half2 __hle2(const __half2 a, const __half2 b); +__device__ __half2 __hge2(const __half2 a, const __half2 b); +__device__ __half2 __hlt2(const __half2 a, const __half2 b); +__device__ __half2 __hgt2(const __half2 a, const __half2 b); +__device__ __half2 __hequ2(const __half2 a, const __half2 b); +__device__ __half2 __hneu2(const __half2 a, const __half2 b); +__device__ __half2 __hleu2(const __half2 a, const __half2 b); +__device__ __half2 __hgeu2(const __half2 a, const __half2 b); +__device__ __half2 __hltu2(const __half2 a, const __half2 b); +__device__ __half2 __hgtu2(const __half2 a, const __half2 b); +__device__ unsigned __heq2_mask(const __half2 a, const __half2 b); +__device__ unsigned __hne2_mask(const __half2 a, const __half2 b); +__device__ unsigned __hle2_mask(const __half2 a, const __half2 b); +__device__ unsigned __hge2_mask(const __half2 a, const __half2 b); +__device__ unsigned __hlt2_mask(const __half2 a, const __half2 b); +__device__ unsigned __hgt2_mask(const __half2 a, const __half2 b); +__device__ unsigned __hequ2_mask(const __half2 a, const __half2 b); +__device__ unsigned __hneu2_mask(const __half2 a, const __half2 b); +__device__ unsigned __hleu2_mask(const __half2 a, const __half2 b); +__device__ unsigned __hgeu2_mask(const __half2 a, const __half2 b); +__device__ unsigned __hltu2_mask(const __half2 a, const __half2 b); +__device__ unsigned __hgtu2_mask(const __half2 a, const __half2 b); +__device__ __half2 __hisnan2(const __half2 a); +__device__ __half2 __hadd2(const __half2 a, const __half2 b); +__device__ __half2 __hsub2(const __half2 a, const __half2 b); +__device__ __half2 __hmul2(const __half2 a, const __half2 b); +__device__ __half2 __hadd2_rn(const __half2 a, const __half2 b); +__device__ __half2 __hsub2_rn(const __half2 a, const __half2 b); +__device__ __half2 __hmul2_rn(const __half2 a, const __half2 b); +__device__ __half2 __h2div(const __half2 a, const __half2 b); +__device__ __half2 __habs2(const __half2 a); +__device__ __half2 __hadd2_sat(const __half2 a, const __half2 b); +__device__ __half2 __hsub2_sat(const __half2 a, const __half2 b); +__device__ __half2 __hmul2_sat(const __half2 a, const __half2 b); +__device__ __half2 __hfma2(const __half2 a, const __half2 b, const __half2 c); +__device__ __half2 __hfma2_sat(const __half2 a, const __half2 b, const __half2 c); +__device__ __half2 __hneg2(const __half2 a); +__device__ __half __habs(const __half a); +__device__ __half __hadd(const __half a, const __half b); +__device__ __half __hsub(const __half a, const __half b); +__device__ __half __hmul(const __half a, const __half b); +__device__ __half __hadd_rn(const __half a, const __half b); +__device__ __half __hsub_rn(const __half a, const __half b); +__device__ __half __hmul_rn(const __half a, const __half b); +__device__ __half __hdiv(const __half a, const __half b); +__device__ __half __hadd_sat(const __half a, const __half b); +__device__ __half __hsub_sat(const __half a, const __half b); +__device__ __half __hmul_sat(const __half a, const __half b); +__device__ __half __hfma(const __half a, const __half b, const __half c); +__device__ __half __hfma_sat(const __half a, const __half b, const __half c); +__device__ __half __hneg(const __half a); +__device__ bool __hbeq2(const __half2 a, const __half2 b); +__device__ bool __hbne2(const __half2 a, const __half2 b); +__device__ bool __hble2(const __half2 a, const __half2 b); +__device__ bool __hbge2(const __half2 a, const __half2 b); +__device__ bool __hblt2(const __half2 a, const __half2 b); +__device__ bool __hbgt2(const __half2 a, const __half2 b); +__device__ bool __hbequ2(const __half2 a, const __half2 b); +__device__ bool __hbneu2(const __half2 a, const __half2 b); +__device__ bool __hbleu2(const __half2 a, const __half2 b); +__device__ bool __hbgeu2(const __half2 a, const __half2 b); +__device__ bool __hbltu2(const __half2 a, const __half2 b); +__device__ bool __hbgtu2(const __half2 a, const __half2 b); +__device__ bool __heq(const __half a, const __half b); +__device__ bool __hne(const __half a, const __half b); +__device__ bool __hle(const __half a, const __half b); +__device__ bool __hge(const __half a, const __half b); +__device__ bool __hlt(const __half a, const __half b); +__device__ bool __hgt(const __half a, const __half b); +__device__ bool __hequ(const __half a, const __half b); +__device__ bool __hneu(const __half a, const __half b); +__device__ bool __hleu(const __half a, const __half b); +__device__ bool __hgeu(const __half a, const __half b); +__device__ bool __hltu(const __half a, const __half b); +__device__ bool __hgtu(const __half a, const __half b); +__device__ bool __hisnan(const __half a); +__device__ __half __hmax_nan(const __half a, const __half b); +__device__ __half __hmin_nan(const __half a, const __half b); +__device__ __half __hfma_relu(const __half a, const __half b, const __half c); +__device__ __half2 __hmax2_nan(const __half2 a, const __half2 b); +__device__ __half2 __hmin2_nan(const __half2 a, const __half2 b); +__device__ __half2 __hfma2_relu(const __half2 a, const __half2 b, const __half2 c); +__device__ __half2 __hcmadd(const __half2 a, const __half2 b, const __half2 c); +__device__ __half hsqrt(const __half a); +__device__ __half hrsqrt(const __half a); +__device__ __half hrcp(const __half a); +__device__ __half hlog(const __half a); +__device__ __half hlog2(const __half a); +__device__ __half hlog10(const __half a); +__device__ __half hexp(const __half a); +__device__ __half hexp2(const __half a); +__device__ __half hexp10(const __half a); +__device__ __half hcos(const __half a); +__device__ __half hsin(const __half a); +__device__ __half2 h2sqrt(const __half2 a); +__device__ __half2 h2rsqrt(const __half2 a); +__device__ __half2 h2rcp(const __half2 a); +__device__ __half2 h2log(const __half2 a); +__device__ __half2 h2log2(const __half2 a); +__device__ __half2 h2log10(const __half2 a); +__device__ __half2 h2exp(const __half2 a); +__device__ __half2 h2exp2(const __half2 a); +__device__ __half2 h2exp10(const __half2 a); +__device__ __half2 h2cos(const __half2 a); +__device__ __half2 h2sin(const __half2 a); +__device__ __half2 atomicAdd(__half2 *const address, const __half2 val); +__device__ __half atomicAdd(__half *const address, const __half val); struct alignas(2) __half { @@ -366,39 +366,39 @@ struct alignas(2) __half { } __device__ constexpr operator bool() const { return (__x & 0x7FFFU) != 0U; } }; -__device__ inline __half operator+(const __half &lh, const __half &rh) { return __hadd(lh, rh); } -__device__ inline __half operator-(const __half &lh, const __half &rh) { return __hsub(lh, rh); } -__device__ inline __half operator*(const __half &lh, const __half &rh) { return __hmul(lh, rh); } -__device__ inline __half operator/(const __half &lh, const __half &rh) { return __hdiv(lh, rh); } -__device__ inline __half &operator+=(__half &lh, const __half &rh) { +__device__ __half operator+(const __half &lh, const __half &rh) { return __hadd(lh, rh); } +__device__ __half operator-(const __half &lh, const __half &rh) { return __hsub(lh, rh); } +__device__ __half operator*(const __half &lh, const __half &rh) { return __hmul(lh, rh); } +__device__ __half operator/(const __half &lh, const __half &rh) { return __hdiv(lh, rh); } +__device__ __half &operator+=(__half &lh, const __half &rh) { lh = __hadd(lh, rh); return lh; } -__device__ inline __half &operator-=(__half &lh, const __half &rh) { +__device__ __half &operator-=(__half &lh, const __half &rh) { lh = __hsub(lh, rh); return lh; } -__device__ inline __half &operator*=(__half &lh, const __half &rh) { +__device__ __half &operator*=(__half &lh, const __half &rh) { lh = __hmul(lh, rh); return lh; } -__device__ inline __half &operator/=(__half &lh, const __half &rh) { +__device__ __half &operator/=(__half &lh, const __half &rh) { lh = __hdiv(lh, rh); return lh; } -__device__ inline __half &operator++(__half &h) { +__device__ __half &operator++(__half &h) { __half_raw one; one.x = 0x3C00U; h += one; return h; } -__device__ inline __half &operator--(__half &h) { +__device__ __half &operator--(__half &h) { __half_raw one; one.x = 0x3C00U; h -= one; return h; } -__device__ inline __half operator++(__half &h, const int ignored) { +__device__ __half operator++(__half &h, const int ignored) { static_cast(ignored); const __half ret = h; __half_raw one; @@ -406,7 +406,7 @@ __device__ inline __half operator++(__half &h, const int ignored) { h += one; return ret; } -__device__ inline __half operator--(__half &h, const int ignored) { +__device__ __half operator--(__half &h, const int ignored) { static_cast(ignored); const __half ret = h; __half_raw one; @@ -414,14 +414,14 @@ __device__ inline __half operator--(__half &h, const int ignored) { h -= one; return ret; } -__device__ inline __half operator+(const __half &h) { return h; } -__device__ inline __half operator-(const __half &h) { return __hneg(h); } -__device__ inline bool operator==(const __half &lh, const __half &rh) { return __heq(lh, rh); } -__device__ inline bool operator!=(const __half &lh, const __half &rh) { return __hneu(lh, rh); } -__device__ inline bool operator>(const __half &lh, const __half &rh) { return __hgt(lh, rh); } -__device__ inline bool operator<(const __half &lh, const __half &rh) { return __hlt(lh, rh); } -__device__ inline bool operator>=(const __half &lh, const __half &rh) { return __hge(lh, rh); } -__device__ inline bool operator<=(const __half &lh, const __half &rh) { return __hle(lh, rh); } +__device__ __half operator+(const __half &h) { return h; } +__device__ __half operator-(const __half &h) { return __hneg(h); } +__device__ bool operator==(const __half &lh, const __half &rh) { return __heq(lh, rh); } +__device__ bool operator!=(const __half &lh, const __half &rh) { return __hneu(lh, rh); } +__device__ bool operator>(const __half &lh, const __half &rh) { return __hgt(lh, rh); } +__device__ bool operator<(const __half &lh, const __half &rh) { return __hlt(lh, rh); } +__device__ bool operator>=(const __half &lh, const __half &rh) { return __hge(lh, rh); } +__device__ bool operator<=(const __half &lh, const __half &rh) { return __hle(lh, rh); } struct alignas(4) __half2 { __half x{}; @@ -453,41 +453,41 @@ struct alignas(4) __half2 { return ret; } }; -__device__ inline __half2 operator+(const __half2 &lh, const __half2 &rh) { return __hadd2(lh, rh); } -__device__ inline __half2 operator-(const __half2 &lh, const __half2 &rh) { return __hsub2(lh, rh); } -__device__ inline __half2 operator*(const __half2 &lh, const __half2 &rh) { return __hmul2(lh, rh); } -__device__ inline __half2 operator/(const __half2 &lh, const __half2 &rh) { return __h2div(lh, rh); } -__device__ inline __half2 &operator+=(__half2 &lh, const __half2 &rh) { +__device__ __half2 operator+(const __half2 &lh, const __half2 &rh) { return __hadd2(lh, rh); } +__device__ __half2 operator-(const __half2 &lh, const __half2 &rh) { return __hsub2(lh, rh); } +__device__ __half2 operator*(const __half2 &lh, const __half2 &rh) { return __hmul2(lh, rh); } +__device__ __half2 operator/(const __half2 &lh, const __half2 &rh) { return __h2div(lh, rh); } +__device__ __half2 &operator+=(__half2 &lh, const __half2 &rh) { lh = __hadd2(lh, rh); return lh; } -__device__ inline __half2 &operator-=(__half2 &lh, const __half2 &rh) { +__device__ __half2 &operator-=(__half2 &lh, const __half2 &rh) { lh = __hsub2(lh, rh); return lh; } -__device__ inline __half2 &operator*=(__half2 &lh, const __half2 &rh) { +__device__ __half2 &operator*=(__half2 &lh, const __half2 &rh) { lh = __hmul2(lh, rh); return lh; } -__device__ inline __half2 &operator/=(__half2 &lh, const __half2 &rh) { +__device__ __half2 &operator/=(__half2 &lh, const __half2 &rh) { lh = __h2div(lh, rh); return lh; } -__device__ inline __half2 &operator++(__half2 &h) { +__device__ __half2 &operator++(__half2 &h) { __half2_raw one; one.x = 0x3C00U; one.y = 0x3C00U; h = __hadd2(h, one); return h; } -__device__ inline __half2 &operator--(__half2 &h) { +__device__ __half2 &operator--(__half2 &h) { __half2_raw one; one.x = 0x3C00U; one.y = 0x3C00U; h = __hsub2(h, one); return h; } -__device__ inline __half2 operator++(__half2 &h, const int ignored) { +__device__ __half2 operator++(__half2 &h, const int ignored) { static_cast(ignored); const __half2 ret = h; __half2_raw one; @@ -496,7 +496,7 @@ __device__ inline __half2 operator++(__half2 &h, const int ignored) { h = __hadd2(h, one); return ret; } -__device__ inline __half2 operator--(__half2 &h, const int ignored) { +__device__ __half2 operator--(__half2 &h, const int ignored) { static_cast(ignored); const __half2 ret = h; __half2_raw one; @@ -505,16 +505,16 @@ __device__ inline __half2 operator--(__half2 &h, const int ignored) { h = __hsub2(h, one); return ret; } -__device__ inline __half2 operator+(const __half2 &h) { return h; } -__device__ inline __half2 operator-(const __half2 &h) { return __hneg2(h); } -__device__ inline bool operator==(const __half2 &lh, const __half2 &rh) { return __hbeq2(lh, rh); } -__device__ inline bool operator!=(const __half2 &lh, const __half2 &rh) { return __hbneu2(lh, rh); } -__device__ inline bool operator>(const __half2 &lh, const __half2 &rh) { return __hbgt2(lh, rh); } -__device__ inline bool operator<(const __half2 &lh, const __half2 &rh) { return __hblt2(lh, rh); } -__device__ inline bool operator>=(const __half2 &lh, const __half2 &rh) { return __hbge2(lh, rh); } -__device__ inline bool operator<=(const __half2 &lh, const __half2 &rh) { return __hble2(lh, rh); } +__device__ __half2 operator+(const __half2 &h) { return h; } +__device__ __half2 operator-(const __half2 &h) { return __hneg2(h); } +__device__ bool operator==(const __half2 &lh, const __half2 &rh) { return __hbeq2(lh, rh); } +__device__ bool operator!=(const __half2 &lh, const __half2 &rh) { return __hbneu2(lh, rh); } +__device__ bool operator>(const __half2 &lh, const __half2 &rh) { return __hbgt2(lh, rh); } +__device__ bool operator<(const __half2 &lh, const __half2 &rh) { return __hblt2(lh, rh); } +__device__ bool operator>=(const __half2 &lh, const __half2 &rh) { return __hbge2(lh, rh); } +__device__ bool operator<=(const __half2 &lh, const __half2 &rh) { return __hble2(lh, rh); } -__device__ inline __half __double2half(const double a) { +__device__ __half __double2half(const double a) { { __half val; asm("{ cvt.rn.f16.f64 %0, %1;}\n" @@ -523,42 +523,42 @@ __device__ inline __half __double2half(const double a) { return val; } } -__device__ inline __half __float2half(const float a) { +__device__ __half __float2half(const float a) { __half val; { asm("{ cvt.rn.f16.f32 %0, %1;}\n" : "=h"(*(reinterpret_cast(&(val)))) : "f"(a)); } return val; } -__device__ inline __half __float2half_rn(const float a) { +__device__ __half __float2half_rn(const float a) { __half val; { asm("{ cvt.rn.f16.f32 %0, %1;}\n" : "=h"(*(reinterpret_cast(&(val)))) : "f"(a)); } return val; } -__device__ inline __half __float2half_rz(const float a) { +__device__ __half __float2half_rz(const float a) { __half val; { asm("{ cvt.rz.f16.f32 %0, %1;}\n" : "=h"(*(reinterpret_cast(&(val)))) : "f"(a)); } return val; } -__device__ inline __half __float2half_rd(const float a) { +__device__ __half __float2half_rd(const float a) { __half val; { asm("{ cvt.rm.f16.f32 %0, %1;}\n" : "=h"(*(reinterpret_cast(&(val)))) : "f"(a)); } return val; } -__device__ inline __half __float2half_ru(const float a) { +__device__ __half __float2half_ru(const float a) { __half val; { asm("{ cvt.rp.f16.f32 %0, %1;}\n" : "=h"(*(reinterpret_cast(&(val)))) : "f"(a)); } return val; } -__device__ inline __half2 __float2half2_rn(const float a) { +__device__ __half2 __float2half2_rn(const float a) { __half2 val; { asm("{.reg .f16 low;\n" " cvt.rn.f16.f32 low, %1;\n" @@ -567,7 +567,7 @@ __device__ inline __half2 __float2half2_rn(const float a) { : "f"(a)); } return val; } -__device__ inline __half2 __internal_device_float2_to_half2_rn(const float a, const float b) { +__device__ __half2 __internal_device_float2_to_half2_rn(const float a, const float b) { __half2 val; { asm("{.reg .f16 low,high;\n" " cvt.rn.f16.f32 low, %1;\n" @@ -577,19 +577,19 @@ __device__ inline __half2 __internal_device_float2_to_half2_rn(const float a, co : "f"(a), "f"(b)); } return val; } -__device__ inline __half2 __floats2half2_rn(const float a, const float b) { +__device__ __half2 __floats2half2_rn(const float a, const float b) { __half2 val; { val = __internal_device_float2_to_half2_rn(a, b); } return val; } -__device__ inline float __half2float(const __half a) { +__device__ float __half2float(const __half a) { float val; { asm("{ cvt.f32.f16 %0, %1;}\n" : "=f"(val) : "h"(*(reinterpret_cast(&(a))))); } return val; } -__device__ inline float __low2float(const __half2 a) { +__device__ float __low2float(const __half2 a) { float val; { asm("{.reg .f16 low,high;\n" " mov.b32 {low,high},%1;\n" @@ -598,7 +598,7 @@ __device__ inline float __low2float(const __half2 a) { : "r"(*(reinterpret_cast(&(a))))); } return val; } -__device__ inline float __high2float(const __half2 a) { +__device__ float __high2float(const __half2 a) { float val; { asm("{.reg .f16 low,high;\n" " mov.b32 {low,high},%1;\n" @@ -607,7 +607,7 @@ __device__ inline float __high2float(const __half2 a) { : "r"(*(reinterpret_cast(&(a))))); } return val; } -__device__ inline signed char __half2char_rz(const __half h) { +__device__ signed char __half2char_rz(const __half h) { signed char i; { const float f = __half2float(h); @@ -626,7 +626,7 @@ __device__ inline signed char __half2char_rz(const __half h) { } return i; } -__device__ inline unsigned char __half2uchar_rz(const __half h) { +__device__ unsigned char __half2uchar_rz(const __half h) { unsigned char i; { const float f = __half2float(h); @@ -645,59 +645,59 @@ __device__ inline unsigned char __half2uchar_rz(const __half h) { } return i; } -__device__ inline short int __half2short_rz(const __half h) { +__device__ short int __half2short_rz(const __half h) { short int i; { asm("cvt.rzi.s16.f16 %0, %1;" : "=h"(i) : "h"(*(reinterpret_cast(&(h))))); } return i; } -__device__ inline unsigned short int __half2ushort_rz(const __half h) { +__device__ unsigned short int __half2ushort_rz(const __half h) { unsigned short int i; { asm("cvt.rzi.u16.f16 %0, %1;" : "=h"(i) : "h"(*(reinterpret_cast(&(h))))); } return i; } -__device__ inline int __half2int_rz(const __half h) { +__device__ int __half2int_rz(const __half h) { int i; { asm("cvt.rzi.s32.f16 %0, %1;" : "=r"(i) : "h"(*(reinterpret_cast(&(h))))); } return i; } -__device__ inline unsigned int __half2uint_rz(const __half h) { +__device__ unsigned int __half2uint_rz(const __half h) { unsigned int i; { asm("cvt.rzi.u32.f16 %0, %1;" : "=r"(i) : "h"(*(reinterpret_cast(&(h))))); } return i; } -__device__ inline long long int __half2ll_rz(const __half h) { +__device__ long long int __half2ll_rz(const __half h) { long long int i; { asm("cvt.rzi.s64.f16 %0, %1;" : "=l"(i) : "h"(*(reinterpret_cast(&(h))))); } return i; } -__device__ inline unsigned long long int __half2ull_rz(const __half h) { +__device__ unsigned long long int __half2ull_rz(const __half h) { unsigned long long int i; { asm("cvt.rzi.u64.f16 %0, %1;" : "=l"(i) : "h"(*(reinterpret_cast(&(h))))); } return i; } -__device__ inline __half2 make_half2(const __half x, const __half y) { +__device__ __half2 make_half2(const __half x, const __half y) { __half2 t; t.x = x; t.y = y; return t; } -__device__ inline __half2 __float22half2_rn(const float2 a) { +__device__ __half2 __float22half2_rn(const float2 a) { const __half2 val = __floats2half2_rn(a.x, a.y); return val; } -__device__ inline float2 __half22float2(const __half2 a) { +__device__ float2 __half22float2(const __half2 a) { float hi_float; float lo_float; { @@ -714,329 +714,329 @@ __device__ inline float2 __half22float2(const __half2 a) { } return make_float2(lo_float, hi_float); } -__device__ inline int __half2int_rn(const __half h) { +__device__ int __half2int_rn(const __half h) { int i; asm("cvt.rni.s32.f16 %0, %1;" : "=r"(i) : "h"(*(reinterpret_cast(&(h))))); return i; } -__device__ inline int __half2int_rd(const __half h) { +__device__ int __half2int_rd(const __half h) { int i; asm("cvt.rmi.s32.f16 %0, %1;" : "=r"(i) : "h"(*(reinterpret_cast(&(h))))); return i; } -__device__ inline int __half2int_ru(const __half h) { +__device__ int __half2int_ru(const __half h) { int i; asm("cvt.rpi.s32.f16 %0, %1;" : "=r"(i) : "h"(*(reinterpret_cast(&(h))))); return i; } -__device__ inline __half __int2half_rn(const int i) { +__device__ __half __int2half_rn(const int i) { __half h; { asm("cvt.rn.f16.s32 %0, %1;" : "=h"(*(reinterpret_cast(&(h)))) : "r"(i)); } return h; } -__device__ inline __half __int2half_rz(const int i) { +__device__ __half __int2half_rz(const int i) { __half h; { asm("cvt.rz.f16.s32 %0, %1;" : "=h"(*(reinterpret_cast(&(h)))) : "r"(i)); } return h; } -__device__ inline __half __int2half_rd(const int i) { +__device__ __half __int2half_rd(const int i) { __half h; { asm("cvt.rm.f16.s32 %0, %1;" : "=h"(*(reinterpret_cast(&(h)))) : "r"(i)); } return h; } -__device__ inline __half __int2half_ru(const int i) { +__device__ __half __int2half_ru(const int i) { __half h; { asm("cvt.rp.f16.s32 %0, %1;" : "=h"(*(reinterpret_cast(&(h)))) : "r"(i)); } return h; } -__device__ inline short int __half2short_rn(const __half h) { +__device__ short int __half2short_rn(const __half h) { short int i; asm("cvt.rni.s16.f16 %0, %1;" : "=h"(i) : "h"(*(reinterpret_cast(&(h))))); return i; } -__device__ inline short int __half2short_rd(const __half h) { +__device__ short int __half2short_rd(const __half h) { short int i; asm("cvt.rmi.s16.f16 %0, %1;" : "=h"(i) : "h"(*(reinterpret_cast(&(h))))); return i; } -__device__ inline short int __half2short_ru(const __half h) { +__device__ short int __half2short_ru(const __half h) { short int i; asm("cvt.rpi.s16.f16 %0, %1;" : "=h"(i) : "h"(*(reinterpret_cast(&(h))))); return i; } -__device__ inline __half __short2half_rn(const short int i) { +__device__ __half __short2half_rn(const short int i) { __half h; { asm("cvt.rn.f16.s16 %0, %1;" : "=h"(*(reinterpret_cast(&(h)))) : "h"(i)); } return h; } -__device__ inline __half __short2half_rz(const short int i) { +__device__ __half __short2half_rz(const short int i) { __half h; { asm("cvt.rz.f16.s16 %0, %1;" : "=h"(*(reinterpret_cast(&(h)))) : "h"(i)); } return h; } -__device__ inline __half __short2half_rd(const short int i) { +__device__ __half __short2half_rd(const short int i) { __half h; { asm("cvt.rm.f16.s16 %0, %1;" : "=h"(*(reinterpret_cast(&(h)))) : "h"(i)); } return h; } -__device__ inline __half __short2half_ru(const short int i) { +__device__ __half __short2half_ru(const short int i) { __half h; { asm("cvt.rp.f16.s16 %0, %1;" : "=h"(*(reinterpret_cast(&(h)))) : "h"(i)); } return h; } -__device__ inline unsigned int __half2uint_rn(const __half h) { +__device__ unsigned int __half2uint_rn(const __half h) { unsigned int i; asm("cvt.rni.u32.f16 %0, %1;" : "=r"(i) : "h"(*(reinterpret_cast(&(h))))); return i; } -__device__ inline unsigned int __half2uint_rd(const __half h) { +__device__ unsigned int __half2uint_rd(const __half h) { unsigned int i; asm("cvt.rmi.u32.f16 %0, %1;" : "=r"(i) : "h"(*(reinterpret_cast(&(h))))); return i; } -__device__ inline unsigned int __half2uint_ru(const __half h) { +__device__ unsigned int __half2uint_ru(const __half h) { unsigned int i; asm("cvt.rpi.u32.f16 %0, %1;" : "=r"(i) : "h"(*(reinterpret_cast(&(h))))); return i; } -__device__ inline __half __uint2half_rn(const unsigned int i) { +__device__ __half __uint2half_rn(const unsigned int i) { __half h; { asm("cvt.rn.f16.u32 %0, %1;" : "=h"(*(reinterpret_cast(&(h)))) : "r"(i)); } return h; } -__device__ inline __half __uint2half_rz(const unsigned int i) { +__device__ __half __uint2half_rz(const unsigned int i) { __half h; { asm("cvt.rz.f16.u32 %0, %1;" : "=h"(*(reinterpret_cast(&(h)))) : "r"(i)); } return h; } -__device__ inline __half __uint2half_rd(const unsigned int i) { +__device__ __half __uint2half_rd(const unsigned int i) { __half h; { asm("cvt.rm.f16.u32 %0, %1;" : "=h"(*(reinterpret_cast(&(h)))) : "r"(i)); } return h; } -__device__ inline __half __uint2half_ru(const unsigned int i) { +__device__ __half __uint2half_ru(const unsigned int i) { __half h; { asm("cvt.rp.f16.u32 %0, %1;" : "=h"(*(reinterpret_cast(&(h)))) : "r"(i)); } return h; } -__device__ inline unsigned short int __half2ushort_rn(const __half h) { +__device__ unsigned short int __half2ushort_rn(const __half h) { unsigned short int i; asm("cvt.rni.u16.f16 %0, %1;" : "=h"(i) : "h"(*(reinterpret_cast(&(h))))); return i; } -__device__ inline unsigned short int __half2ushort_rd(const __half h) { +__device__ unsigned short int __half2ushort_rd(const __half h) { unsigned short int i; asm("cvt.rmi.u16.f16 %0, %1;" : "=h"(i) : "h"(*(reinterpret_cast(&(h))))); return i; } -__device__ inline unsigned short int __half2ushort_ru(const __half h) { +__device__ unsigned short int __half2ushort_ru(const __half h) { unsigned short int i; asm("cvt.rpi.u16.f16 %0, %1;" : "=h"(i) : "h"(*(reinterpret_cast(&(h))))); return i; } -__device__ inline __half __ushort2half_rn(const unsigned short int i) { +__device__ __half __ushort2half_rn(const unsigned short int i) { __half h; { asm("cvt.rn.f16.u16 %0, %1;" : "=h"(*(reinterpret_cast(&(h)))) : "h"(i)); } return h; } -__device__ inline __half __ushort2half_rz(const unsigned short int i) { +__device__ __half __ushort2half_rz(const unsigned short int i) { __half h; { asm("cvt.rz.f16.u16 %0, %1;" : "=h"(*(reinterpret_cast(&(h)))) : "h"(i)); } return h; } -__device__ inline __half __ushort2half_rd(const unsigned short int i) { +__device__ __half __ushort2half_rd(const unsigned short int i) { __half h; { asm("cvt.rm.f16.u16 %0, %1;" : "=h"(*(reinterpret_cast(&(h)))) : "h"(i)); } return h; } -__device__ inline __half __ushort2half_ru(const unsigned short int i) { +__device__ __half __ushort2half_ru(const unsigned short int i) { __half h; { asm("cvt.rp.f16.u16 %0, %1;" : "=h"(*(reinterpret_cast(&(h)))) : "h"(i)); } return h; } -__device__ inline unsigned long long int __half2ull_rn(const __half h) { +__device__ unsigned long long int __half2ull_rn(const __half h) { unsigned long long int i; asm("cvt.rni.u64.f16 %0, %1;" : "=l"(i) : "h"(*(reinterpret_cast(&(h))))); return i; } -__device__ inline unsigned long long int __half2ull_rd(const __half h) { +__device__ unsigned long long int __half2ull_rd(const __half h) { unsigned long long int i; asm("cvt.rmi.u64.f16 %0, %1;" : "=l"(i) : "h"(*(reinterpret_cast(&(h))))); return i; } -__device__ inline unsigned long long int __half2ull_ru(const __half h) { +__device__ unsigned long long int __half2ull_ru(const __half h) { unsigned long long int i; asm("cvt.rpi.u64.f16 %0, %1;" : "=l"(i) : "h"(*(reinterpret_cast(&(h))))); return i; } -__device__ inline __half __ull2half_rn(const unsigned long long int i) { +__device__ __half __ull2half_rn(const unsigned long long int i) { __half h; { asm("cvt.rn.f16.u64 %0, %1;" : "=h"(*(reinterpret_cast(&(h)))) : "l"(i)); } return h; } -__device__ inline __half __ull2half_rz(const unsigned long long int i) { +__device__ __half __ull2half_rz(const unsigned long long int i) { __half h; { asm("cvt.rz.f16.u64 %0, %1;" : "=h"(*(reinterpret_cast(&(h)))) : "l"(i)); } return h; } -__device__ inline __half __ull2half_rd(const unsigned long long int i) { +__device__ __half __ull2half_rd(const unsigned long long int i) { __half h; { asm("cvt.rm.f16.u64 %0, %1;" : "=h"(*(reinterpret_cast(&(h)))) : "l"(i)); } return h; } -__device__ inline __half __ull2half_ru(const unsigned long long int i) { +__device__ __half __ull2half_ru(const unsigned long long int i) { __half h; { asm("cvt.rp.f16.u64 %0, %1;" : "=h"(*(reinterpret_cast(&(h)))) : "l"(i)); } return h; } -__device__ inline long long int __half2ll_rn(const __half h) { +__device__ long long int __half2ll_rn(const __half h) { long long int i; asm("cvt.rni.s64.f16 %0, %1;" : "=l"(i) : "h"(*(reinterpret_cast(&(h))))); return i; } -__device__ inline long long int __half2ll_rd(const __half h) { +__device__ long long int __half2ll_rd(const __half h) { long long int i; asm("cvt.rmi.s64.f16 %0, %1;" : "=l"(i) : "h"(*(reinterpret_cast(&(h))))); return i; } -__device__ inline long long int __half2ll_ru(const __half h) { +__device__ long long int __half2ll_ru(const __half h) { long long int i; asm("cvt.rpi.s64.f16 %0, %1;" : "=l"(i) : "h"(*(reinterpret_cast(&(h))))); return i; } -__device__ inline __half __ll2half_rn(const long long int i) { +__device__ __half __ll2half_rn(const long long int i) { __half h; { asm("cvt.rn.f16.s64 %0, %1;" : "=h"(*(reinterpret_cast(&(h)))) : "l"(i)); } return h; } -__device__ inline __half __ll2half_rz(const long long int i) { +__device__ __half __ll2half_rz(const long long int i) { __half h; { asm("cvt.rz.f16.s64 %0, %1;" : "=h"(*(reinterpret_cast(&(h)))) : "l"(i)); } return h; } -__device__ inline __half __ll2half_rd(const long long int i) { +__device__ __half __ll2half_rd(const long long int i) { __half h; { asm("cvt.rm.f16.s64 %0, %1;" : "=h"(*(reinterpret_cast(&(h)))) : "l"(i)); } return h; } -__device__ inline __half __ll2half_ru(const long long int i) { +__device__ __half __ll2half_ru(const long long int i) { __half h; { asm("cvt.rp.f16.s64 %0, %1;" : "=h"(*(reinterpret_cast(&(h)))) : "l"(i)); } return h; } -__device__ inline __half htrunc(const __half h) { +__device__ __half htrunc(const __half h) { __half r; asm("cvt.rzi.f16.f16 %0, %1;" : "=h"(*(reinterpret_cast(&(r)))) : "h"(*(reinterpret_cast(&(h))))); return r; } -__device__ inline __half hceil(const __half h) { +__device__ __half hceil(const __half h) { __half r; asm("cvt.rpi.f16.f16 %0, %1;" : "=h"(*(reinterpret_cast(&(r)))) : "h"(*(reinterpret_cast(&(h))))); return r; } -__device__ inline __half hfloor(const __half h) { +__device__ __half hfloor(const __half h) { __half r; asm("cvt.rmi.f16.f16 %0, %1;" : "=h"(*(reinterpret_cast(&(r)))) : "h"(*(reinterpret_cast(&(h))))); return r; } -__device__ inline __half hrint(const __half h) { +__device__ __half hrint(const __half h) { __half r; asm("cvt.rni.f16.f16 %0, %1;" : "=h"(*(reinterpret_cast(&(r)))) : "h"(*(reinterpret_cast(&(h))))); return r; } -__device__ inline __half2 h2trunc(const __half2 h) { +__device__ __half2 h2trunc(const __half2 h) { __half2 val; asm("{.reg .f16 low,high;\n" " mov.b32 {low,high}, %1;\n" @@ -1047,7 +1047,7 @@ __device__ inline __half2 h2trunc(const __half2 h) { : "r"(*(reinterpret_cast(&(h))))); return val; } -__device__ inline __half2 h2ceil(const __half2 h) { +__device__ __half2 h2ceil(const __half2 h) { __half2 val; asm("{.reg .f16 low,high;\n" " mov.b32 {low,high}, %1;\n" @@ -1058,7 +1058,7 @@ __device__ inline __half2 h2ceil(const __half2 h) { : "r"(*(reinterpret_cast(&(h))))); return val; } -__device__ inline __half2 h2floor(const __half2 h) { +__device__ __half2 h2floor(const __half2 h) { __half2 val; asm("{.reg .f16 low,high;\n" " mov.b32 {low,high}, %1;\n" @@ -1069,7 +1069,7 @@ __device__ inline __half2 h2floor(const __half2 h) { : "r"(*(reinterpret_cast(&(h))))); return val; } -__device__ inline __half2 h2rint(const __half2 h) { +__device__ __half2 h2rint(const __half2 h) { __half2 val; asm("{.reg .f16 low,high;\n" " mov.b32 {low,high}, %1;\n" @@ -1080,7 +1080,7 @@ __device__ inline __half2 h2rint(const __half2 h) { : "r"(*(reinterpret_cast(&(h))))); return val; } -__device__ inline __half2 __lows2half2(const __half2 a, const __half2 b) { +__device__ __half2 __lows2half2(const __half2 a, const __half2 b) { __half2 val; { asm("{.reg .f16 alow,ahigh,blow,bhigh;\n" " mov.b32 {alow,ahigh}, %1;\n" @@ -1090,7 +1090,7 @@ __device__ inline __half2 __lows2half2(const __half2 a, const __half2 b) { : "r"(*(reinterpret_cast(&(a)))), "r"(*(reinterpret_cast(&(b))))); } return val; } -__device__ inline __half2 __highs2half2(const __half2 a, const __half2 b) { +__device__ __half2 __highs2half2(const __half2 a, const __half2 b) { __half2 val; { asm("{.reg .f16 alow,ahigh,blow,bhigh;\n" " mov.b32 {alow,ahigh}, %1;\n" @@ -1100,7 +1100,7 @@ __device__ inline __half2 __highs2half2(const __half2 a, const __half2 b) { : "r"(*(reinterpret_cast(&(a)))), "r"(*(reinterpret_cast(&(b))))); } return val; } -__device__ inline __half __low2half(const __half2 a) { +__device__ __half __low2half(const __half2 a) { __half ret; { asm("{.reg .f16 low,high;\n" " mov.b32 {low,high}, %1;\n" @@ -1109,7 +1109,7 @@ __device__ inline __half __low2half(const __half2 a) { : "r"(*(reinterpret_cast(&(a))))); } return ret; } -__device__ inline int __hisinf(const __half a) { +__device__ int __hisinf(const __half a) { int retval; const __half_raw araw = __half_raw(a); if (araw.x == 0xFC00U) { @@ -1121,7 +1121,7 @@ __device__ inline int __hisinf(const __half a) { } return retval; } -__device__ inline __half2 __low2half2(const __half2 a) { +__device__ __half2 __low2half2(const __half2 a) { __half2 val; { asm("{.reg .f16 low,high;\n" " mov.b32 {low,high}, %1;\n" @@ -1130,7 +1130,7 @@ __device__ inline __half2 __low2half2(const __half2 a) { : "r"(*(reinterpret_cast(&(a))))); } return val; } -__device__ inline __half2 __high2half2(const __half2 a) { +__device__ __half2 __high2half2(const __half2 a) { __half2 val; { asm("{.reg .f16 low,high;\n" " mov.b32 {low,high}, %1;\n" @@ -1139,7 +1139,7 @@ __device__ inline __half2 __high2half2(const __half2 a) { : "r"(*(reinterpret_cast(&(a))))); } return val; } -__device__ inline __half __high2half(const __half2 a) { +__device__ __half __high2half(const __half2 a) { __half ret; { asm("{.reg .f16 low,high;\n" " mov.b32 {low,high}, %1;\n" @@ -1148,21 +1148,21 @@ __device__ inline __half __high2half(const __half2 a) { : "r"(*(reinterpret_cast(&(a))))); } return ret; } -__device__ inline __half2 __halves2half2(const __half a, const __half b) { +__device__ __half2 __halves2half2(const __half a, const __half b) { __half2 val; { asm("{ mov.b32 %0, {%1,%2};}\n" : "=r"(*(reinterpret_cast(&(val)))) : "h"(*(reinterpret_cast(&(a)))), "h"(*(reinterpret_cast(&(b))))); } return val; } -__device__ inline __half2 __half2half2(const __half a) { +__device__ __half2 __half2half2(const __half a) { __half2 val; { asm("{ mov.b32 %0, {%1,%1};}\n" : "=r"(*(reinterpret_cast(&(val)))) : "h"(*(reinterpret_cast(&(a))))); } return val; } -__device__ inline __half2 __lowhigh2highlow(const __half2 a) { +__device__ __half2 __lowhigh2highlow(const __half2 a) { __half2 val; { asm("{.reg .f16 low,high;\n" " mov.b32 {low,high}, %1;\n" @@ -1171,27 +1171,27 @@ __device__ inline __half2 __lowhigh2highlow(const __half2 a) { : "r"(*(reinterpret_cast(&(a))))); } return val; } -__device__ inline short int __half_as_short(const __half h) { +__device__ short int __half_as_short(const __half h) { { return static_cast(*(reinterpret_cast(&(h)))); } } -__device__ inline unsigned short int __half_as_ushort(const __half h) { +__device__ unsigned short int __half_as_ushort(const __half h) { { return *(reinterpret_cast(&(h))); } } -__device__ inline __half __short_as_half(const short int i) { +__device__ __half __short_as_half(const short int i) { { __half h; *(reinterpret_cast(&(h))) = static_cast(i); return h; } } -__device__ inline __half __ushort_as_half(const unsigned short int i) { +__device__ __half __ushort_as_half(const unsigned short int i) { { __half h; *(reinterpret_cast(&(h))) = i; return h; } } -__device__ inline __half __internal_device_hmax(const __half a, const __half b) { +__device__ __half __internal_device_hmax(const __half a, const __half b) { { const float fa = __half2float(a); const float fb = __half2float(b); @@ -1203,7 +1203,7 @@ __device__ inline __half __internal_device_hmax(const __half a, const __half b) return hr; } } -__device__ inline __half __internal_device_hmin(const __half a, const __half b) { +__device__ __half __internal_device_hmin(const __half a, const __half b) { { const float fa = __half2float(a); const float fb = __half2float(b); @@ -1215,13 +1215,13 @@ __device__ inline __half __internal_device_hmin(const __half a, const __half b) return hr; } } -__device__ inline __half __hmax(const __half a, const __half b) { +__device__ __half __hmax(const __half a, const __half b) { { return __internal_device_hmax(a, b); } } -__device__ inline __half __hmin(const __half a, const __half b) { +__device__ __half __hmin(const __half a, const __half b) { { return __internal_device_hmin(a, b); } } -__device__ inline __half2 __hmax2(const __half2 a, const __half2 b) { +__device__ __half2 __hmax2(const __half2 a, const __half2 b) { { __half2 val; val.x = __hmax(a.x, b.x); @@ -1229,7 +1229,7 @@ __device__ inline __half2 __hmax2(const __half2 a, const __half2 b) { return val; } } -__device__ inline __half2 __hmin2(const __half2 a, const __half2 b) { +__device__ __half2 __hmin2(const __half2 a, const __half2 b) { { __half2 val; val.x = __hmin(a.x, b.x); @@ -1237,7 +1237,7 @@ __device__ inline __half2 __hmin2(const __half2 a, const __half2 b) { return val; } } -__device__ inline __half2 __shfl(const __half2 var, const int delta, const int width) { +__device__ __half2 __shfl(const __half2 var, const int delta, const int width) { unsigned int warp_size; asm("{mov.u32 %0, WARP_SZ;\n}" : "=r"(warp_size)); @@ -1252,7 +1252,7 @@ __device__ inline __half2 __shfl(const __half2 var, const int delta, const int w return r; } } -__device__ inline __half2 __shfl_up(const __half2 var, const unsigned int delta, const int width) { +__device__ __half2 __shfl_up(const __half2 var, const unsigned int delta, const int width) { unsigned int warp_size; asm("{mov.u32 %0, WARP_SZ;\n}" : "=r"(warp_size)); @@ -1267,7 +1267,7 @@ __device__ inline __half2 __shfl_up(const __half2 var, const unsigned int delta, return r; } } -__device__ inline __half2 __shfl_down(const __half2 var, const unsigned int delta, const int width) { +__device__ __half2 __shfl_down(const __half2 var, const unsigned int delta, const int width) { unsigned int warp_size; asm("{mov.u32 %0, WARP_SZ;\n}" : "=r"(warp_size)); @@ -1282,7 +1282,7 @@ __device__ inline __half2 __shfl_down(const __half2 var, const unsigned int delt return r; } } -__device__ inline __half2 __shfl_xor(const __half2 var, const int delta, const int width) { +__device__ __half2 __shfl_xor(const __half2 var, const int delta, const int width) { unsigned int warp_size; asm("{mov.u32 %0, WARP_SZ;\n}" : "=r"(warp_size)); @@ -1297,7 +1297,7 @@ __device__ inline __half2 __shfl_xor(const __half2 var, const int delta, const i return r; } } -__device__ inline __half2 __shfl_sync(const unsigned mask, const __half2 var, const int delta, const int width) { +__device__ __half2 __shfl_sync(const unsigned mask, const __half2 var, const int delta, const int width) { unsigned int warp_size; asm("{mov.u32 %0, WARP_SZ;\n}" : "=r"(warp_size)); @@ -1312,7 +1312,7 @@ __device__ inline __half2 __shfl_sync(const unsigned mask, const __half2 var, co return r; } } -__device__ inline __half2 __shfl_up_sync(const unsigned mask, const __half2 var, const unsigned int delta, const int width) { +__device__ __half2 __shfl_up_sync(const unsigned mask, const __half2 var, const unsigned int delta, const int width) { unsigned int warp_size; asm("{mov.u32 %0, WARP_SZ;\n}" : "=r"(warp_size)); @@ -1327,7 +1327,7 @@ __device__ inline __half2 __shfl_up_sync(const unsigned mask, const __half2 var, return r; } } -__device__ inline __half2 __shfl_down_sync(const unsigned mask, const __half2 var, const unsigned int delta, const int width) { +__device__ __half2 __shfl_down_sync(const unsigned mask, const __half2 var, const unsigned int delta, const int width) { unsigned int warp_size; asm("{mov.u32 %0, WARP_SZ;\n}" : "=r"(warp_size)); @@ -1342,7 +1342,7 @@ __device__ inline __half2 __shfl_down_sync(const unsigned mask, const __half2 va return r; } } -__device__ inline __half2 __shfl_xor_sync(const unsigned mask, const __half2 var, const int delta, const int width) { +__device__ __half2 __shfl_xor_sync(const unsigned mask, const __half2 var, const int delta, const int width) { unsigned int warp_size; asm("{mov.u32 %0, WARP_SZ;\n}" : "=r"(warp_size)); @@ -1357,103 +1357,103 @@ __device__ inline __half2 __shfl_xor_sync(const unsigned mask, const __half2 var return r; } } -__device__ inline __half __shfl(const __half var, const int delta, const int width) { +__device__ __half __shfl(const __half var, const int delta, const int width) { const __half2 temp1 = __halves2half2(var, var); const __half2 temp2 = __shfl(temp1, delta, width); return __low2half(temp2); } -__device__ inline __half __shfl_up(const __half var, const unsigned int delta, const int width) { +__device__ __half __shfl_up(const __half var, const unsigned int delta, const int width) { const __half2 temp1 = __halves2half2(var, var); const __half2 temp2 = __shfl_up(temp1, delta, width); return __low2half(temp2); } -__device__ inline __half __shfl_down(const __half var, const unsigned int delta, const int width) { +__device__ __half __shfl_down(const __half var, const unsigned int delta, const int width) { const __half2 temp1 = __halves2half2(var, var); const __half2 temp2 = __shfl_down(temp1, delta, width); return __low2half(temp2); } -__device__ inline __half __shfl_xor(const __half var, const int delta, const int width) { +__device__ __half __shfl_xor(const __half var, const int delta, const int width) { const __half2 temp1 = __halves2half2(var, var); const __half2 temp2 = __shfl_xor(temp1, delta, width); return __low2half(temp2); } -__device__ inline __half __shfl_sync(const unsigned mask, const __half var, const int delta, const int width) { +__device__ __half __shfl_sync(const unsigned mask, const __half var, const int delta, const int width) { const __half2 temp1 = __halves2half2(var, var); const __half2 temp2 = __shfl_sync(mask, temp1, delta, width); return __low2half(temp2); } -__device__ inline __half __shfl_up_sync(const unsigned mask, const __half var, const unsigned int delta, const int width) { +__device__ __half __shfl_up_sync(const unsigned mask, const __half var, const unsigned int delta, const int width) { const __half2 temp1 = __halves2half2(var, var); const __half2 temp2 = __shfl_up_sync(mask, temp1, delta, width); return __low2half(temp2); } -__device__ inline __half __shfl_down_sync(const unsigned mask, const __half var, const unsigned int delta, const int width) { +__device__ __half __shfl_down_sync(const unsigned mask, const __half var, const unsigned int delta, const int width) { const __half2 temp1 = __halves2half2(var, var); const __half2 temp2 = __shfl_down_sync(mask, temp1, delta, width); return __low2half(temp2); } -__device__ inline __half __shfl_xor_sync(const unsigned mask, const __half var, const int delta, const int width) { +__device__ __half __shfl_xor_sync(const unsigned mask, const __half var, const int delta, const int width) { const __half2 temp1 = __halves2half2(var, var); const __half2 temp2 = __shfl_xor_sync(mask, temp1, delta, width); return __low2half(temp2); } -__device__ inline __half2 __ldg(const __half2 *const ptr) { +__device__ __half2 __ldg(const __half2 *const ptr) { __half2 ret; asm("ld.global.nc.b32 %0, [%1];" : "=r"(*(reinterpret_cast(&(ret)))) : "l"(ptr)); return ret; } -__device__ inline __half __ldg(const __half *const ptr) { +__device__ __half __ldg(const __half *const ptr) { __half ret; asm("ld.global.nc.b16 %0, [%1];" : "=h"(*(reinterpret_cast(&(ret)))) : "l"(ptr)); return ret; } -__device__ inline __half2 __ldcg(const __half2 *const ptr) { +__device__ __half2 __ldcg(const __half2 *const ptr) { __half2 ret; asm("ld.global.cg.b32 %0, [%1];" : "=r"(*(reinterpret_cast(&(ret)))) : "l"(ptr)); return ret; } -__device__ inline __half __ldcg(const __half *const ptr) { +__device__ __half __ldcg(const __half *const ptr) { __half ret; asm("ld.global.cg.b16 %0, [%1];" : "=h"(*(reinterpret_cast(&(ret)))) : "l"(ptr)); return ret; } -__device__ inline __half2 __ldca(const __half2 *const ptr) { +__device__ __half2 __ldca(const __half2 *const ptr) { __half2 ret; asm("ld.global.ca.b32 %0, [%1];" : "=r"(*(reinterpret_cast(&(ret)))) : "l"(ptr)); return ret; } -__device__ inline __half __ldca(const __half *const ptr) { +__device__ __half __ldca(const __half *const ptr) { __half ret; asm("ld.global.ca.b16 %0, [%1];" : "=h"(*(reinterpret_cast(&(ret)))) : "l"(ptr)); return ret; } -__device__ inline __half2 __ldcs(const __half2 *const ptr) { +__device__ __half2 __ldcs(const __half2 *const ptr) { __half2 ret; asm("ld.global.cs.b32 %0, [%1];" : "=r"(*(reinterpret_cast(&(ret)))) : "l"(ptr)); return ret; } -__device__ inline __half __ldcs(const __half *const ptr) { +__device__ __half __ldcs(const __half *const ptr) { __half ret; asm("ld.global.cs.b16 %0, [%1];" : "=h"(*(reinterpret_cast(&(ret)))) : "l"(ptr)); return ret; } -__device__ inline __half2 __ldlu(const __half2 *const ptr) { +__device__ __half2 __ldlu(const __half2 *const ptr) { __half2 ret; asm("ld.global.lu.b32 %0, [%1];" : "=r"(*(reinterpret_cast(&(ret)))) @@ -1461,7 +1461,7 @@ __device__ inline __half2 __ldlu(const __half2 *const ptr) { : "memory"); return ret; } -__device__ inline __half __ldlu(const __half *const ptr) { +__device__ __half __ldlu(const __half *const ptr) { __half ret; asm("ld.global.lu.b16 %0, [%1];" : "=h"(*(reinterpret_cast(&(ret)))) @@ -1469,7 +1469,7 @@ __device__ inline __half __ldlu(const __half *const ptr) { : "memory"); return ret; } -__device__ inline __half2 __ldcv(const __half2 *const ptr) { +__device__ __half2 __ldcv(const __half2 *const ptr) { __half2 ret; asm("ld.global.cv.b32 %0, [%1];" : "=r"(*(reinterpret_cast(&(ret)))) @@ -1477,7 +1477,7 @@ __device__ inline __half2 __ldcv(const __half2 *const ptr) { : "memory"); return ret; } -__device__ inline __half __ldcv(const __half *const ptr) { +__device__ __half __ldcv(const __half *const ptr) { __half ret; asm("ld.global.cv.b16 %0, [%1];" : "=h"(*(reinterpret_cast(&(ret)))) @@ -1485,39 +1485,39 @@ __device__ inline __half __ldcv(const __half *const ptr) { : "memory"); return ret; } -__device__ inline void __stwb(__half2 *const ptr, const __half2 value) { +__device__ void __stwb(__half2 *const ptr, const __half2 value) { asm("st.global.wb.b32 [%0], %1;" ::"l"(ptr), "r"(*(reinterpret_cast(&(value)))) : "memory"); } -__device__ inline void __stwb(__half *const ptr, const __half value) { +__device__ void __stwb(__half *const ptr, const __half value) { asm("st.global.wb.b16 [%0], %1;" ::"l"(ptr), "h"(*(reinterpret_cast(&(value)))) : "memory"); } -__device__ inline void __stcg(__half2 *const ptr, const __half2 value) { +__device__ void __stcg(__half2 *const ptr, const __half2 value) { asm("st.global.cg.b32 [%0], %1;" ::"l"(ptr), "r"(*(reinterpret_cast(&(value)))) : "memory"); } -__device__ inline void __stcg(__half *const ptr, const __half value) { +__device__ void __stcg(__half *const ptr, const __half value) { asm("st.global.cg.b16 [%0], %1;" ::"l"(ptr), "h"(*(reinterpret_cast(&(value)))) : "memory"); } -__device__ inline void __stcs(__half2 *const ptr, const __half2 value) { +__device__ void __stcs(__half2 *const ptr, const __half2 value) { asm("st.global.cs.b32 [%0], %1;" ::"l"(ptr), "r"(*(reinterpret_cast(&(value)))) : "memory"); } -__device__ inline void __stcs(__half *const ptr, const __half value) { +__device__ void __stcs(__half *const ptr, const __half value) { asm("st.global.cs.b16 [%0], %1;" ::"l"(ptr), "h"(*(reinterpret_cast(&(value)))) : "memory"); } -__device__ inline void __stwt(__half2 *const ptr, const __half2 value) { +__device__ void __stwt(__half2 *const ptr, const __half2 value) { asm("st.global.wt.b32 [%0], %1;" ::"l"(ptr), "r"(*(reinterpret_cast(&(value)))) : "memory"); } -__device__ inline void __stwt(__half *const ptr, const __half value) { +__device__ void __stwt(__half *const ptr, const __half value) { asm("st.global.wt.b16 [%0], %1;" ::"l"(ptr), "h"(*(reinterpret_cast(&(value)))) : "memory"); } -__device__ inline __half2 __heq2(const __half2 a, const __half2 b) { +__device__ __half2 __heq2(const __half2 a, const __half2 b) { { __half2_raw val; val.x = __heq(a.x, b.x) ? (unsigned short)0x3C00U : (unsigned short)0U; @@ -1525,7 +1525,7 @@ __device__ inline __half2 __heq2(const __half2 a, const __half2 b) { return __half2(val); } } -__device__ inline __half2 __hne2(const __half2 a, const __half2 b) { +__device__ __half2 __hne2(const __half2 a, const __half2 b) { { __half2_raw val; val.x = __hne(a.x, b.x) ? (unsigned short)0x3C00U : (unsigned short)0U; @@ -1533,7 +1533,7 @@ __device__ inline __half2 __hne2(const __half2 a, const __half2 b) { return __half2(val); } } -__device__ inline __half2 __hle2(const __half2 a, const __half2 b) { +__device__ __half2 __hle2(const __half2 a, const __half2 b) { { __half2_raw val; val.x = __hle(a.x, b.x) ? (unsigned short)0x3C00U : (unsigned short)0U; @@ -1541,7 +1541,7 @@ __device__ inline __half2 __hle2(const __half2 a, const __half2 b) { return __half2(val); } } -__device__ inline __half2 __hge2(const __half2 a, const __half2 b) { +__device__ __half2 __hge2(const __half2 a, const __half2 b) { { __half2_raw val; val.x = __hge(a.x, b.x) ? (unsigned short)0x3C00U : (unsigned short)0U; @@ -1549,7 +1549,7 @@ __device__ inline __half2 __hge2(const __half2 a, const __half2 b) { return __half2(val); } } -__device__ inline __half2 __hlt2(const __half2 a, const __half2 b) { +__device__ __half2 __hlt2(const __half2 a, const __half2 b) { { __half2_raw val; val.x = __hlt(a.x, b.x) ? (unsigned short)0x3C00U : (unsigned short)0U; @@ -1557,7 +1557,7 @@ __device__ inline __half2 __hlt2(const __half2 a, const __half2 b) { return __half2(val); } } -__device__ inline __half2 __hgt2(const __half2 a, const __half2 b) { +__device__ __half2 __hgt2(const __half2 a, const __half2 b) { { __half2_raw val; val.x = __hgt(a.x, b.x) ? (unsigned short)0x3C00U : (unsigned short)0U; @@ -1565,7 +1565,7 @@ __device__ inline __half2 __hgt2(const __half2 a, const __half2 b) { return __half2(val); } } -__device__ inline __half2 __hequ2(const __half2 a, const __half2 b) { +__device__ __half2 __hequ2(const __half2 a, const __half2 b) { { __half2_raw val; val.x = __hequ(a.x, b.x) ? (unsigned short)0x3C00U : (unsigned short)0U; @@ -1573,7 +1573,7 @@ __device__ inline __half2 __hequ2(const __half2 a, const __half2 b) { return __half2(val); } } -__device__ inline __half2 __hneu2(const __half2 a, const __half2 b) { +__device__ __half2 __hneu2(const __half2 a, const __half2 b) { { __half2_raw val; val.x = __hneu(a.x, b.x) ? (unsigned short)0x3C00U : (unsigned short)0U; @@ -1581,7 +1581,7 @@ __device__ inline __half2 __hneu2(const __half2 a, const __half2 b) { return __half2(val); } } -__device__ inline __half2 __hleu2(const __half2 a, const __half2 b) { +__device__ __half2 __hleu2(const __half2 a, const __half2 b) { { __half2_raw val; val.x = __hleu(a.x, b.x) ? (unsigned short)0x3C00U : (unsigned short)0U; @@ -1589,7 +1589,7 @@ __device__ inline __half2 __hleu2(const __half2 a, const __half2 b) { return __half2(val); } } -__device__ inline __half2 __hgeu2(const __half2 a, const __half2 b) { +__device__ __half2 __hgeu2(const __half2 a, const __half2 b) { { __half2_raw val; val.x = __hgeu(a.x, b.x) ? (unsigned short)0x3C00U : (unsigned short)0U; @@ -1597,7 +1597,7 @@ __device__ inline __half2 __hgeu2(const __half2 a, const __half2 b) { return __half2(val); } } -__device__ inline __half2 __hltu2(const __half2 a, const __half2 b) { +__device__ __half2 __hltu2(const __half2 a, const __half2 b) { { __half2_raw val; val.x = __hltu(a.x, b.x) ? (unsigned short)0x3C00U : (unsigned short)0U; @@ -1605,7 +1605,7 @@ __device__ inline __half2 __hltu2(const __half2 a, const __half2 b) { return __half2(val); } } -__device__ inline __half2 __hgtu2(const __half2 a, const __half2 b) { +__device__ __half2 __hgtu2(const __half2 a, const __half2 b) { { __half2_raw val; val.x = __hgtu(a.x, b.x) ? (unsigned short)0x3C00U : (unsigned short)0U; @@ -1613,7 +1613,7 @@ __device__ inline __half2 __hgtu2(const __half2 a, const __half2 b) { return __half2(val); } } -__device__ inline unsigned __heq2_mask(const __half2 a, const __half2 b) { +__device__ unsigned __heq2_mask(const __half2 a, const __half2 b) { { const unsigned short px = __heq(a.x, b.x) ? (unsigned short)0xFFFFU : (unsigned short)0U; const unsigned short py = __heq(a.y, b.y) ? (unsigned short)0xFFFFU : (unsigned short)0U; @@ -1623,7 +1623,7 @@ __device__ inline unsigned __heq2_mask(const __half2 a, const __half2 b) { return ur; } } -__device__ inline unsigned __hne2_mask(const __half2 a, const __half2 b) { +__device__ unsigned __hne2_mask(const __half2 a, const __half2 b) { { const unsigned short px = __hne(a.x, b.x) ? (unsigned short)0xFFFFU : (unsigned short)0U; const unsigned short py = __hne(a.y, b.y) ? (unsigned short)0xFFFFU : (unsigned short)0U; @@ -1633,7 +1633,7 @@ __device__ inline unsigned __hne2_mask(const __half2 a, const __half2 b) { return ur; } } -__device__ inline unsigned __hle2_mask(const __half2 a, const __half2 b) { +__device__ unsigned __hle2_mask(const __half2 a, const __half2 b) { { const unsigned short px = __hle(a.x, b.x) ? (unsigned short)0xFFFFU : (unsigned short)0U; const unsigned short py = __hle(a.y, b.y) ? (unsigned short)0xFFFFU : (unsigned short)0U; @@ -1643,7 +1643,7 @@ __device__ inline unsigned __hle2_mask(const __half2 a, const __half2 b) { return ur; } } -__device__ inline unsigned __hge2_mask(const __half2 a, const __half2 b) { +__device__ unsigned __hge2_mask(const __half2 a, const __half2 b) { { const unsigned short px = __hge(a.x, b.x) ? (unsigned short)0xFFFFU : (unsigned short)0U; const unsigned short py = __hge(a.y, b.y) ? (unsigned short)0xFFFFU : (unsigned short)0U; @@ -1653,7 +1653,7 @@ __device__ inline unsigned __hge2_mask(const __half2 a, const __half2 b) { return ur; } } -__device__ inline unsigned __hlt2_mask(const __half2 a, const __half2 b) { +__device__ unsigned __hlt2_mask(const __half2 a, const __half2 b) { { const unsigned short px = __hlt(a.x, b.x) ? (unsigned short)0xFFFFU : (unsigned short)0U; const unsigned short py = __hlt(a.y, b.y) ? (unsigned short)0xFFFFU : (unsigned short)0U; @@ -1663,7 +1663,7 @@ __device__ inline unsigned __hlt2_mask(const __half2 a, const __half2 b) { return ur; } } -__device__ inline unsigned __hgt2_mask(const __half2 a, const __half2 b) { +__device__ unsigned __hgt2_mask(const __half2 a, const __half2 b) { { const unsigned short px = __hgt(a.x, b.x) ? (unsigned short)0xFFFFU : (unsigned short)0U; const unsigned short py = __hgt(a.y, b.y) ? (unsigned short)0xFFFFU : (unsigned short)0U; @@ -1673,7 +1673,7 @@ __device__ inline unsigned __hgt2_mask(const __half2 a, const __half2 b) { return ur; } } -__device__ inline unsigned __hequ2_mask(const __half2 a, const __half2 b) { +__device__ unsigned __hequ2_mask(const __half2 a, const __half2 b) { { const unsigned short px = __hequ(a.x, b.x) ? (unsigned short)0xFFFFU : (unsigned short)0U; const unsigned short py = __hequ(a.y, b.y) ? (unsigned short)0xFFFFU : (unsigned short)0U; @@ -1683,7 +1683,7 @@ __device__ inline unsigned __hequ2_mask(const __half2 a, const __half2 b) { return ur; } } -__device__ inline unsigned __hneu2_mask(const __half2 a, const __half2 b) { +__device__ unsigned __hneu2_mask(const __half2 a, const __half2 b) { { const unsigned short px = __hneu(a.x, b.x) ? (unsigned short)0xFFFFU : (unsigned short)0U; const unsigned short py = __hneu(a.y, b.y) ? (unsigned short)0xFFFFU : (unsigned short)0U; @@ -1693,7 +1693,7 @@ __device__ inline unsigned __hneu2_mask(const __half2 a, const __half2 b) { return ur; } } -__device__ inline unsigned __hleu2_mask(const __half2 a, const __half2 b) { +__device__ unsigned __hleu2_mask(const __half2 a, const __half2 b) { { const unsigned short px = __hleu(a.x, b.x) ? (unsigned short)0xFFFFU : (unsigned short)0U; const unsigned short py = __hleu(a.y, b.y) ? (unsigned short)0xFFFFU : (unsigned short)0U; @@ -1703,7 +1703,7 @@ __device__ inline unsigned __hleu2_mask(const __half2 a, const __half2 b) { return ur; } } -__device__ inline unsigned __hgeu2_mask(const __half2 a, const __half2 b) { +__device__ unsigned __hgeu2_mask(const __half2 a, const __half2 b) { { const unsigned short px = __hgeu(a.x, b.x) ? (unsigned short)0xFFFFU : (unsigned short)0U; const unsigned short py = __hgeu(a.y, b.y) ? (unsigned short)0xFFFFU : (unsigned short)0U; @@ -1713,7 +1713,7 @@ __device__ inline unsigned __hgeu2_mask(const __half2 a, const __half2 b) { return ur; } } -__device__ inline unsigned __hltu2_mask(const __half2 a, const __half2 b) { +__device__ unsigned __hltu2_mask(const __half2 a, const __half2 b) { { const unsigned short px = __hltu(a.x, b.x) ? (unsigned short)0xFFFFU : (unsigned short)0U; const unsigned short py = __hltu(a.y, b.y) ? (unsigned short)0xFFFFU : (unsigned short)0U; @@ -1723,7 +1723,7 @@ __device__ inline unsigned __hltu2_mask(const __half2 a, const __half2 b) { return ur; } } -__device__ inline unsigned __hgtu2_mask(const __half2 a, const __half2 b) { +__device__ unsigned __hgtu2_mask(const __half2 a, const __half2 b) { { const unsigned short px = __hgtu(a.x, b.x) ? (unsigned short)0xFFFFU : (unsigned short)0U; const unsigned short py = __hgtu(a.y, b.y) ? (unsigned short)0xFFFFU : (unsigned short)0U; @@ -1733,139 +1733,139 @@ __device__ inline unsigned __hgtu2_mask(const __half2 a, const __half2 b) { return ur; } } -__device__ inline bool __hbeq2(const __half2 a, const __half2 b) { +__device__ bool __hbeq2(const __half2 a, const __half2 b) { const unsigned mask = __heq2_mask(a, b); return (mask == 0xFFFFFFFFU); } -__device__ inline bool __hbne2(const __half2 a, const __half2 b) { +__device__ bool __hbne2(const __half2 a, const __half2 b) { const unsigned mask = __hne2_mask(a, b); return (mask == 0xFFFFFFFFU); } -__device__ inline bool __hble2(const __half2 a, const __half2 b) { +__device__ bool __hble2(const __half2 a, const __half2 b) { const unsigned mask = __hle2_mask(a, b); return (mask == 0xFFFFFFFFU); } -__device__ inline bool __hbge2(const __half2 a, const __half2 b) { +__device__ bool __hbge2(const __half2 a, const __half2 b) { const unsigned mask = __hge2_mask(a, b); return (mask == 0xFFFFFFFFU); } -__device__ inline bool __hblt2(const __half2 a, const __half2 b) { +__device__ bool __hblt2(const __half2 a, const __half2 b) { const unsigned mask = __hlt2_mask(a, b); return (mask == 0xFFFFFFFFU); } -__device__ inline bool __hbgt2(const __half2 a, const __half2 b) { +__device__ bool __hbgt2(const __half2 a, const __half2 b) { const unsigned mask = __hgt2_mask(a, b); return (mask == 0xFFFFFFFFU); } -__device__ inline bool __hbequ2(const __half2 a, const __half2 b) { +__device__ bool __hbequ2(const __half2 a, const __half2 b) { const unsigned mask = __hequ2_mask(a, b); return (mask == 0xFFFFFFFFU); } -__device__ inline bool __hbneu2(const __half2 a, const __half2 b) { +__device__ bool __hbneu2(const __half2 a, const __half2 b) { const unsigned mask = __hneu2_mask(a, b); return (mask == 0xFFFFFFFFU); } -__device__ inline bool __hbleu2(const __half2 a, const __half2 b) { +__device__ bool __hbleu2(const __half2 a, const __half2 b) { const unsigned mask = __hleu2_mask(a, b); return (mask == 0xFFFFFFFFU); } -__device__ inline bool __hbgeu2(const __half2 a, const __half2 b) { +__device__ bool __hbgeu2(const __half2 a, const __half2 b) { const unsigned mask = __hgeu2_mask(a, b); return (mask == 0xFFFFFFFFU); } -__device__ inline bool __hbltu2(const __half2 a, const __half2 b) { +__device__ bool __hbltu2(const __half2 a, const __half2 b) { const unsigned mask = __hltu2_mask(a, b); return (mask == 0xFFFFFFFFU); } -__device__ inline bool __hbgtu2(const __half2 a, const __half2 b) { +__device__ bool __hbgtu2(const __half2 a, const __half2 b) { const unsigned mask = __hgtu2_mask(a, b); return (mask == 0xFFFFFFFFU); } -__device__ inline bool __heq(const __half a, const __half b) { +__device__ bool __heq(const __half a, const __half b) { { const float fa = __half2float(a); const float fb = __half2float(b); return (fa == fb); } } -__device__ inline bool __hne(const __half a, const __half b) { +__device__ bool __hne(const __half a, const __half b) { { const float fa = __half2float(a); const float fb = __half2float(b); return (fa != fb) && (!__hisnan(a)) && (!__hisnan(b)); } } -__device__ inline bool __hle(const __half a, const __half b) { +__device__ bool __hle(const __half a, const __half b) { { const float fa = __half2float(a); const float fb = __half2float(b); return (fa <= fb); } } -__device__ inline bool __hge(const __half a, const __half b) { +__device__ bool __hge(const __half a, const __half b) { { const float fa = __half2float(a); const float fb = __half2float(b); return (fa >= fb); } } -__device__ inline bool __hlt(const __half a, const __half b) { +__device__ bool __hlt(const __half a, const __half b) { { const float fa = __half2float(a); const float fb = __half2float(b); return (fa < fb); } } -__device__ inline bool __hgt(const __half a, const __half b) { +__device__ bool __hgt(const __half a, const __half b) { { const float fa = __half2float(a); const float fb = __half2float(b); return (fa > fb); } } -__device__ inline bool __hequ(const __half a, const __half b) { +__device__ bool __hequ(const __half a, const __half b) { { const float fa = __half2float(a); const float fb = __half2float(b); return (fa == fb) || (__hisnan(a)) || (__hisnan(b)); } } -__device__ inline bool __hneu(const __half a, const __half b) { +__device__ bool __hneu(const __half a, const __half b) { { const float fa = __half2float(a); const float fb = __half2float(b); return (fa != fb); } } -__device__ inline bool __hleu(const __half a, const __half b) { +__device__ bool __hleu(const __half a, const __half b) { { const float fa = __half2float(a); const float fb = __half2float(b); return (fa <= fb) || (__hisnan(a)) || (__hisnan(b)); } } -__device__ inline bool __hgeu(const __half a, const __half b) { +__device__ bool __hgeu(const __half a, const __half b) { { const float fa = __half2float(a); const float fb = __half2float(b); return (fa >= fb) || (__hisnan(a)) || (__hisnan(b)); } } -__device__ inline bool __hltu(const __half a, const __half b) { +__device__ bool __hltu(const __half a, const __half b) { { const float fa = __half2float(a); const float fb = __half2float(b); return (fa < fb) || (__hisnan(a)) || (__hisnan(b)); } } -__device__ inline bool __hgtu(const __half a, const __half b) { +__device__ bool __hgtu(const __half a, const __half b) { { const float fa = __half2float(a); const float fb = __half2float(b); return (fa > fb) || (__hisnan(a)) || (__hisnan(b)); } } -__device__ inline __half2 __hadd2(const __half2 a, const __half2 b) { +__device__ __half2 __hadd2(const __half2 a, const __half2 b) { { __half2 val; val.x = __hadd(a.x, b.x); @@ -1873,7 +1873,7 @@ __device__ inline __half2 __hadd2(const __half2 a, const __half2 b) { return val; } } -__device__ inline __half2 __hsub2(const __half2 a, const __half2 b) { +__device__ __half2 __hsub2(const __half2 a, const __half2 b) { { __half2 val; val.x = __hsub(a.x, b.x); @@ -1881,7 +1881,7 @@ __device__ inline __half2 __hsub2(const __half2 a, const __half2 b) { return val; } } -__device__ inline __half2 __hmul2(const __half2 a, const __half2 b) { +__device__ __half2 __hmul2(const __half2 a, const __half2 b) { { __half2 val; val.x = __hmul(a.x, b.x); @@ -1889,7 +1889,7 @@ __device__ inline __half2 __hmul2(const __half2 a, const __half2 b) { return val; } } -__device__ inline __half2 __hadd2_sat(const __half2 a, const __half2 b) { +__device__ __half2 __hadd2_sat(const __half2 a, const __half2 b) { { __half2 val; val.x = __hadd_sat(a.x, b.x); @@ -1897,7 +1897,7 @@ __device__ inline __half2 __hadd2_sat(const __half2 a, const __half2 b) { return val; } } -__device__ inline __half2 __hsub2_sat(const __half2 a, const __half2 b) { +__device__ __half2 __hsub2_sat(const __half2 a, const __half2 b) { { __half2 val; val.x = __hsub_sat(a.x, b.x); @@ -1905,7 +1905,7 @@ __device__ inline __half2 __hsub2_sat(const __half2 a, const __half2 b) { return val; } } -__device__ inline __half2 __hmul2_sat(const __half2 a, const __half2 b) { +__device__ __half2 __hmul2_sat(const __half2 a, const __half2 b) { { __half2 val; val.x = __hmul_sat(a.x, b.x); @@ -1913,7 +1913,7 @@ __device__ inline __half2 __hmul2_sat(const __half2 a, const __half2 b) { return val; } } -__device__ inline __half2 __hadd2_rn(const __half2 a, const __half2 b) { +__device__ __half2 __hadd2_rn(const __half2 a, const __half2 b) { { __half2 val; val.x = __hadd_rn(a.x, b.x); @@ -1921,7 +1921,7 @@ __device__ inline __half2 __hadd2_rn(const __half2 a, const __half2 b) { return val; } } -__device__ inline __half2 __hsub2_rn(const __half2 a, const __half2 b) { +__device__ __half2 __hsub2_rn(const __half2 a, const __half2 b) { { __half2 val; val.x = __hsub_rn(a.x, b.x); @@ -1929,7 +1929,7 @@ __device__ inline __half2 __hsub2_rn(const __half2 a, const __half2 b) { return val; } } -__device__ inline __half2 __hmul2_rn(const __half2 a, const __half2 b) { +__device__ __half2 __hmul2_rn(const __half2 a, const __half2 b) { { __half2 val; val.x = __hmul_rn(a.x, b.x); @@ -1937,7 +1937,7 @@ __device__ inline __half2 __hmul2_rn(const __half2 a, const __half2 b) { return val; } } -__device__ inline __half2 __h2div(const __half2 a, const __half2 b) { +__device__ __half2 __h2div(const __half2 a, const __half2 b) { __half ha = __low2half(a); __half hb = __low2half(b); const __half v1 = __hdiv(ha, hb); @@ -1946,58 +1946,58 @@ __device__ inline __half2 __h2div(const __half2 a, const __half2 b) { const __half v2 = __hdiv(ha, hb); return __halves2half2(v1, v2); } -__device__ inline __half __hadd(const __half a, const __half b) { +__device__ __half __hadd(const __half a, const __half b) { { const float fa = __half2float(a); const float fb = __half2float(b); return __float2half(fa + fb); } } -__device__ inline __half __hsub(const __half a, const __half b) { +__device__ __half __hsub(const __half a, const __half b) { { const float fa = __half2float(a); const float fb = __half2float(b); return __float2half(fa - fb); } } -__device__ inline __half __hmul(const __half a, const __half b) { +__device__ __half __hmul(const __half a, const __half b) { { const float fa = __half2float(a); const float fb = __half2float(b); return __float2half(fa * fb); } } -__device__ inline __half __hadd_sat(const __half a, const __half b) { +__device__ __half __hadd_sat(const __half a, const __half b) { { return __hmin(__hmax(__hadd(a, b), __ushort_as_half((unsigned short)0x0000U)), __ushort_as_half((unsigned short)0x3C00U)); } } -__device__ inline __half __hsub_sat(const __half a, const __half b) { +__device__ __half __hsub_sat(const __half a, const __half b) { { return __hmin(__hmax(__hsub(a, b), __ushort_as_half((unsigned short)0x0000U)), __ushort_as_half((unsigned short)0x3C00U)); } } -__device__ inline __half __hmul_sat(const __half a, const __half b) { +__device__ __half __hmul_sat(const __half a, const __half b) { { return __hmin(__hmax(__hmul(a, b), __ushort_as_half((unsigned short)0x0000U)), __ushort_as_half((unsigned short)0x3C00U)); } } -__device__ inline __half __hadd_rn(const __half a, const __half b) { +__device__ __half __hadd_rn(const __half a, const __half b) { { const float fa = __half2float(a); const float fb = __half2float(b); return __float2half(fa + fb); } } -__device__ inline __half __hsub_rn(const __half a, const __half b) { +__device__ __half __hsub_rn(const __half a, const __half b) { { const float fa = __half2float(a); const float fb = __half2float(b); return __float2half(fa - fb); } } -__device__ inline __half __hmul_rn(const __half a, const __half b) { +__device__ __half __hmul_rn(const __half a, const __half b) { { const float fa = __half2float(a); const float fb = __half2float(b); return __float2half(fa * fb); } } -__device__ inline __half __hdiv(const __half a, const __half b) { +__device__ __half __hdiv(const __half a, const __half b) { { __half v; __half abs; @@ -2020,7 +2020,7 @@ __device__ inline __half __hdiv(const __half a, const __half b) { return v; } } -__device__ inline __half hexp2(const __half a) { +__device__ __half hexp2(const __half a) { __half val; asm("{.reg.b32 f, ULP; \n" " .reg.b16 r; \n" @@ -2036,7 +2036,7 @@ __device__ inline __half hexp2(const __half a) { : "h"(*(reinterpret_cast(&(a))))); return val; } -__device__ inline __half2 h2exp2(const __half2 a) { +__device__ __half2 h2exp2(const __half2 a) { __half2 val; asm("{.reg.b16 hl, hu; \n" " .reg.b32 fl, fu, ULP; \n" @@ -2056,7 +2056,7 @@ __device__ inline __half2 h2exp2(const __half2 a) { : "r"(*(reinterpret_cast(&(a))))); return val; } -__device__ inline __half2 h2rcp(const __half2 a) { +__device__ __half2 h2rcp(const __half2 a) { { __half2 val; asm("{.reg.b16 hl, hu; \n" @@ -2079,7 +2079,7 @@ __device__ inline __half2 h2rcp(const __half2 a) { return val; } } -__device__ inline __half hrcp(const __half a) { +__device__ __half hrcp(const __half a) { { __half val; asm("{.reg.b32 f; \n" @@ -2097,7 +2097,7 @@ __device__ inline __half hrcp(const __half a) { return val; } } -__device__ inline __half2 h2rsqrt(const __half2 a) { +__device__ __half2 h2rsqrt(const __half2 a) { { __half2 val; asm("{.reg.b16 hl, hu; \n" @@ -2120,7 +2120,7 @@ __device__ inline __half2 h2rsqrt(const __half2 a) { return val; } } -__device__ inline __half hrsqrt(const __half a) { +__device__ __half hrsqrt(const __half a) { { __half val; asm("{.reg.b32 f; \n" @@ -2138,7 +2138,7 @@ __device__ inline __half hrsqrt(const __half a) { return val; } } -__device__ inline __half2 h2sqrt(const __half2 a) { +__device__ __half2 h2sqrt(const __half2 a) { { __half2 val; asm("{.reg.b16 hl, hu; \n" @@ -2161,7 +2161,7 @@ __device__ inline __half2 h2sqrt(const __half2 a) { return val; } } -__device__ inline __half hsqrt(const __half a) { +__device__ __half hsqrt(const __half a) { { __half val; asm("{.reg.b32 f; \n" @@ -2179,7 +2179,7 @@ __device__ inline __half hsqrt(const __half a) { return val; } } -__device__ inline __half2 __hisnan2(const __half2 a) { +__device__ __half2 __hisnan2(const __half2 a) { __half2 r; { __half2_raw val; @@ -2189,13 +2189,13 @@ __device__ inline __half2 __hisnan2(const __half2 a) { } return r; } -__device__ inline bool __hisnan(const __half a) { +__device__ bool __hisnan(const __half a) { { const __half_raw hr = static_cast<__half_raw>(a); return ((hr.x & (unsigned short)0x7FFFU) > (unsigned short)0x7C00U); } } -__device__ inline __half2 __hneg2(const __half2 a) { +__device__ __half2 __hneg2(const __half2 a) { __half2 r; { r.x = __hneg(a.x); @@ -2203,13 +2203,13 @@ __device__ inline __half2 __hneg2(const __half2 a) { } return r; } -__device__ inline __half __hneg(const __half a) { +__device__ __half __hneg(const __half a) { { const float fa = __half2float(a); return __float2half(-fa); } } -__device__ inline __half2 __habs2(const __half2 a) { +__device__ __half2 __habs2(const __half2 a) { __half2 r; { r.x = __habs(a.x); @@ -2217,7 +2217,7 @@ __device__ inline __half2 __habs2(const __half2 a) { } return r; } -__device__ inline __half __habs(const __half a) { +__device__ __half __habs(const __half a) { { __half_raw abs_a_raw = static_cast<__half_raw>(a); abs_a_raw.x &= (unsigned short)0x7FFFU; @@ -2225,7 +2225,7 @@ __device__ inline __half __habs(const __half a) { return static_cast<__half>(abs_a_raw); } } -__device__ inline __half __hmax_nan(const __half a, const __half b) { +__device__ __half __hmax_nan(const __half a, const __half b) { { __half maxval; if (__hisnan(a) || __hisnan(b)) { @@ -2236,7 +2236,7 @@ __device__ inline __half __hmax_nan(const __half a, const __half b) { return maxval; } } -__device__ inline __half __hmin_nan(const __half a, const __half b) { +__device__ __half __hmin_nan(const __half a, const __half b) { { __half minval; if (__hisnan(a) || __hisnan(b)) { @@ -2247,7 +2247,7 @@ __device__ inline __half __hmin_nan(const __half a, const __half b) { return minval; } } -__device__ inline __half2 __hmax2_nan(const __half2 a, const __half2 b) { +__device__ __half2 __hmax2_nan(const __half2 a, const __half2 b) { { __half2 result = __hmax2(a, b); if (__hisnan(a.x) || __hisnan(b.x)) { result.x = __ushort_as_half((unsigned short)0x7FFFU); } @@ -2255,7 +2255,7 @@ __device__ inline __half2 __hmax2_nan(const __half2 a, const __half2 b) { return result; } } -__device__ inline __half2 __hmin2_nan(const __half2 a, const __half2 b) { +__device__ __half2 __hmin2_nan(const __half2 a, const __half2 b) { { __half2 result = __hmin2(a, b); if (__hisnan(a.x) || __hisnan(b.x)) { result.x = __ushort_as_half((unsigned short)0x7FFFU); } @@ -2263,7 +2263,7 @@ __device__ inline __half2 __hmin2_nan(const __half2 a, const __half2 b) { return result; } } -__device__ inline __half2 atomicAdd(__half2 *const address, const __half2 val) { +__device__ __half2 atomicAdd(__half2 *const address, const __half2 val) { { unsigned int *address_as_uint = (unsigned int *)address; unsigned int old = *address_as_uint; @@ -2276,7 +2276,7 @@ __device__ inline __half2 atomicAdd(__half2 *const address, const __half2 val) { return *(__half2 *)&old; } } -__device__ inline __half __hfma(const __half a, const __half b, const __half c) { +__device__ __half __hfma(const __half a, const __half b, const __half c) { __half val; asm("{fma.rn.f16 %0,%1,%2,%3;\n}" : "=h"(*(reinterpret_cast(&(val)))) @@ -2285,7 +2285,7 @@ __device__ inline __half __hfma(const __half a, const __half b, const __half c) "h"(*(reinterpret_cast(&(c))))); return val; } -__device__ inline __half _hfma_sat(const __half a, const __half b, const __half c) { +__device__ __half _hfma_sat(const __half a, const __half b, const __half c) { __half val; asm("{fma.rn.sat.f16 %0,%1,%2,%3;\n}" : "=h"(*(reinterpret_cast(&(val)))) diff --git a/src/backends/cuda/cuda_builtin/cuda_device_resource.h b/src/backends/cuda/cuda_builtin/cuda_device_resource.h index 41d54a45d..dc9a3a1d8 100644 --- a/src/backends/cuda/cuda_builtin/cuda_device_resource.h +++ b/src/backends/cuda/cuda_builtin/cuda_device_resource.h @@ -11,15 +11,15 @@ #endif #if LC_NVRTC_VERSION < 110200 -inline __device__ void lc_assume(bool) noexcept {} +__device__ void lc_assume(bool) noexcept {} #else #define lc_assume(...) __builtin_assume(__VA_ARGS__) #endif -[[noreturn]] inline void lc_trap() noexcept { asm("trap;"); } +[[noreturn]] void lc_trap() noexcept { asm("trap;"); } template -[[noreturn]] inline __device__ T lc_unreachable( +[[noreturn]] __device__ T lc_unreachable( const char *file, int line) noexcept { #if LC_NVRTC_VERSION < 110300 || defined(LUISA_DEBUG) printf("Unreachable code reached [%s:%d]\n", file, line); @@ -30,7 +30,7 @@ template } template -[[noreturn]] inline __device__ T lc_unreachable_with_message( +[[noreturn]] __device__ T lc_unreachable_with_message( const char *file, int line, const char *msg) noexcept { #if LC_NVRTC_VERSION < 110300 || defined(LUISA_DEBUG) printf("Unreachable code reached [%s:%d]\nMessage: %s\n", file, line, msg); @@ -74,20 +74,20 @@ template } while (false) #else -inline __device__ void lc_assert(bool) noexcept {} -inline __device__ void lc_assert_with_message(bool, const char *) noexcept {} +__device__ void lc_assert(bool) noexcept {} +__device__ void lc_assert_with_message(bool, const char *) noexcept {} #endif template -[[nodiscard]] __device__ inline auto lc_address_of(T &object) noexcept { +[[nodiscard]] __device__ auto lc_address_of(T &object) noexcept { return reinterpret_cast(&object); } -[[nodiscard]] __device__ inline auto lc_bits_to_half(lc_ushort bits) noexcept { +[[nodiscard]] __device__ auto lc_bits_to_half(lc_ushort bits) noexcept { return *reinterpret_cast(&bits); } -[[nodiscard]] __device__ inline auto lc_half_to_bits(lc_half h) noexcept { +[[nodiscard]] __device__ auto lc_half_to_bits(lc_half h) noexcept { return *reinterpret_cast(&h); } @@ -150,12 +150,12 @@ struct LCBuffer { }; template -[[nodiscard]] __device__ inline auto lc_buffer_size(LCBuffer buffer) noexcept { +[[nodiscard]] __device__ auto lc_buffer_size(LCBuffer buffer) noexcept { return buffer.size_bytes / sizeof(T); } template -[[nodiscard]] __device__ inline T lc_buffer_read(LCBuffer buffer, Index index) noexcept { +[[nodiscard]] __device__ T lc_buffer_read(LCBuffer buffer, Index index) noexcept { lc_assume(__isGlobal(buffer.ptr)); #ifdef LUISA_DEBUG lc_check_in_bounds(index, lc_buffer_size(buffer)); @@ -164,7 +164,7 @@ template } template -__device__ inline void lc_buffer_write(LCBuffer buffer, Index index, T value) noexcept { +__device__ void lc_buffer_write(LCBuffer buffer, Index index, T value) noexcept { lc_assume(__isGlobal(buffer.ptr)); #ifdef LUISA_DEBUG lc_check_in_bounds(index, lc_buffer_size(buffer)); @@ -173,7 +173,7 @@ __device__ inline void lc_buffer_write(LCBuffer buffer, Index index, T value) } template -[[nodiscard]] __device__ inline auto lc_buffer_address(LCBuffer buffer) noexcept { +[[nodiscard]] __device__ auto lc_buffer_address(LCBuffer buffer) noexcept { lc_assume(__isGlobal(buffer.ptr)); return reinterpret_cast(buffer.ptr); } @@ -224,7 +224,7 @@ struct lc_always_false { }; template -[[nodiscard]] __device__ inline auto lc_texel_to_float(P x) noexcept { +[[nodiscard]] __device__ auto lc_texel_to_float(P x) noexcept { if constexpr (lc_is_same::value()) { return static_cast(x) * (1.0f / 255.0f); } else if constexpr (lc_is_same::value()) { @@ -238,7 +238,7 @@ template } template -[[nodiscard]] __device__ inline auto lc_texel_to_int(P x) noexcept { +[[nodiscard]] __device__ auto lc_texel_to_int(P x) noexcept { if constexpr (lc_is_same::value()) { return static_cast(x); } else if constexpr (lc_is_same::value()) { @@ -250,7 +250,7 @@ template } template -[[nodiscard]] __device__ inline auto lc_texel_to_uint(P x) noexcept { +[[nodiscard]] __device__ auto lc_texel_to_uint(P x) noexcept { if constexpr (lc_is_same::value()) { return static_cast(static_cast(x)); } else if constexpr (lc_is_same::value()) { @@ -262,7 +262,7 @@ template } template -[[nodiscard]] __device__ inline auto lc_texel_read_convert(P p) noexcept { +[[nodiscard]] __device__ auto lc_texel_read_convert(P p) noexcept { if constexpr (lc_is_same::value()) { return lc_texel_to_float

(p); } else if constexpr (lc_is_same::value()) { @@ -275,7 +275,7 @@ template } template -[[nodiscard]] __device__ inline auto lc_float_to_texel(lc_float x) noexcept { +[[nodiscard]] __device__ auto lc_float_to_texel(lc_float x) noexcept { if constexpr (lc_is_same::value()) { return static_cast(static_cast(lc_round(lc_saturate(x) * 255.0f))); } else if constexpr (lc_is_same::value()) { @@ -289,7 +289,7 @@ template } template -[[nodiscard]] __device__ inline auto lc_int_to_texel(lc_int x) noexcept { +[[nodiscard]] __device__ auto lc_int_to_texel(lc_int x) noexcept { if constexpr (lc_is_same::value()) { return static_cast(x); } else if constexpr (lc_is_same::value()) { @@ -301,7 +301,7 @@ template } template -[[nodiscard]] __device__ inline auto lc_uint_to_texel(lc_uint x) noexcept { +[[nodiscard]] __device__ auto lc_uint_to_texel(lc_uint x) noexcept { if constexpr (lc_is_same::value()) { return static_cast(static_cast(x)); } else if constexpr (lc_is_same::value()) { @@ -313,7 +313,7 @@ template } template -[[nodiscard]] __device__ inline auto lc_texel_write_convert(T t) noexcept { +[[nodiscard]] __device__ auto lc_texel_write_convert(T t) noexcept { if constexpr (lc_is_same::value()) { return lc_float_to_texel

(t); } else if constexpr (lc_is_same::value()) { @@ -347,7 +347,7 @@ template using lc_vec4_t = typename lc_vec4::type; template -[[nodiscard]] __device__ inline auto lc_surf2d_read(LCSurface surf, lc_uint2 p) noexcept { +[[nodiscard]] __device__ auto lc_surf2d_read(LCSurface surf, lc_uint2 p) noexcept { lc_vec4_t result{0, 0, 0, 0}; switch (static_cast(surf.storage)) { case LCPixelStorage::BYTE1: { @@ -511,7 +511,7 @@ template } template -__device__ inline void lc_surf2d_write(LCSurface surf, lc_uint2 p, V value) noexcept { +__device__ void lc_surf2d_write(LCSurface surf, lc_uint2 p, V value) noexcept { switch (static_cast(surf.storage)) { case LCPixelStorage::BYTE1: { int v = lc_texel_write_convert(value.x); @@ -658,7 +658,7 @@ __device__ inline void lc_surf2d_write(LCSurface surf, lc_uint2 p, V value) noex } template -[[nodiscard]] __device__ inline auto lc_surf3d_read(LCSurface surf, lc_uint3 p) noexcept { +[[nodiscard]] __device__ auto lc_surf3d_read(LCSurface surf, lc_uint3 p) noexcept { lc_vec4_t result{0, 0, 0, 0}; switch (static_cast(surf.storage)) { case LCPixelStorage::BYTE1: { @@ -822,7 +822,7 @@ template } template -__device__ inline void lc_surf3d_write(LCSurface surf, lc_uint3 p, V value) noexcept { +__device__ void lc_surf3d_write(LCSurface surf, lc_uint3 p, V value) noexcept { switch (static_cast(surf.storage)) { case LCPixelStorage::BYTE1: { int v = lc_texel_write_convert(value.x); @@ -979,7 +979,7 @@ struct LCTexture3D { }; template -[[nodiscard]] __device__ inline auto lc_texture_size(LCTexture2D tex) noexcept { +[[nodiscard]] __device__ auto lc_texture_size(LCTexture2D tex) noexcept { lc_uint2 size; asm("suq.width.b32 %0, [%1];" : "=r"(size.x) @@ -991,7 +991,7 @@ template } template -[[nodiscard]] __device__ inline auto lc_texture_size(LCTexture3D tex) noexcept { +[[nodiscard]] __device__ auto lc_texture_size(LCTexture3D tex) noexcept { lc_uint3 size; asm("suq.width.b32 %0, [%1];" : "=r"(size.x) @@ -1006,42 +1006,42 @@ template } template -[[nodiscard]] __device__ inline auto lc_texture_read(LCTexture2D tex, lc_uint2 p) noexcept { +[[nodiscard]] __device__ auto lc_texture_read(LCTexture2D tex, lc_uint2 p) noexcept { return lc_surf2d_read(tex.surface, p); } template -[[nodiscard]] __device__ inline auto lc_texture_read(LCTexture3D tex, lc_uint3 p) noexcept { +[[nodiscard]] __device__ auto lc_texture_read(LCTexture3D tex, lc_uint3 p) noexcept { return lc_surf3d_read(tex.surface, p); } template -__device__ inline void lc_texture_write(LCTexture2D tex, lc_uint2 p, V value) noexcept { +__device__ void lc_texture_write(LCTexture2D tex, lc_uint2 p, V value) noexcept { lc_surf2d_write(tex.surface, p, value); } template -__device__ inline void lc_texture_write(LCTexture3D tex, lc_uint3 p, V value) noexcept { +__device__ void lc_texture_write(LCTexture3D tex, lc_uint3 p, V value) noexcept { lc_surf3d_write(tex.surface, p, value); } template -[[nodiscard]] __device__ inline auto lc_texture_read(LCTexture2D tex, lc_int2 p) noexcept { +[[nodiscard]] __device__ auto lc_texture_read(LCTexture2D tex, lc_int2 p) noexcept { return lc_texture_read(tex, lc_make_uint2(p)); } template -[[nodiscard]] __device__ inline auto lc_texture_read(LCTexture3D tex, lc_int3 p) noexcept { +[[nodiscard]] __device__ auto lc_texture_read(LCTexture3D tex, lc_int3 p) noexcept { return lc_texture_read(tex, lc_make_uint3(p)); } template -__device__ inline void lc_texture_write(LCTexture2D tex, lc_int2 p, V value) noexcept { +__device__ void lc_texture_write(LCTexture2D tex, lc_int2 p, V value) noexcept { lc_texture_write(tex, lc_make_uint2(p), value); } template -__device__ inline void lc_texture_write(LCTexture3D tex, lc_int3 p, V value) noexcept { +__device__ void lc_texture_write(LCTexture3D tex, lc_int3 p, V value) noexcept { lc_texture_write(tex, lc_make_uint3(p), value); } @@ -1057,18 +1057,18 @@ struct alignas(16) LCBindlessArray { }; template -[[nodiscard]] inline __device__ auto lc_bindless_buffer_size(LCBindlessArray array, lc_uint index) noexcept { +[[nodiscard]] __device__ auto lc_bindless_buffer_size(LCBindlessArray array, lc_uint index) noexcept { lc_assume(__isGlobal(array.slots)); return array.slots[index].buffer_size / sizeof(T); } -[[nodiscard]] inline __device__ auto lc_bindless_buffer_size(LCBindlessArray array, lc_uint index, lc_uint stride) noexcept { +[[nodiscard]] __device__ auto lc_bindless_buffer_size(LCBindlessArray array, lc_uint index, lc_uint stride) noexcept { lc_assume(__isGlobal(array.slots)); return array.slots[index].buffer_size / stride; } template -[[nodiscard]] inline __device__ T *lc_bindless_buffer(LCBindlessArray array, lc_uint index) noexcept { +[[nodiscard]] __device__ T *lc_bindless_buffer(LCBindlessArray array, lc_uint index) noexcept { lc_assume(__isGlobal(array.slots)); auto buffer = static_cast(array.slots[index].buffer); lc_assume(__isGlobal(buffer)); @@ -1079,7 +1079,7 @@ template } template -[[nodiscard]] inline __device__ T lc_bindless_buffer_read(LCBindlessArray array, lc_uint index, lc_ulong i) noexcept { +[[nodiscard]] __device__ T lc_bindless_buffer_read(LCBindlessArray array, lc_uint index, lc_ulong i) noexcept { lc_assume(__isGlobal(array.slots)); auto buffer = static_cast(array.slots[index].buffer); lc_assume(__isGlobal(buffer)); @@ -1090,7 +1090,7 @@ template } template -[[nodiscard]] inline __device__ void lc_bindless_buffer_write(LCBindlessArray array, lc_uint index, lc_ulong i, T value) noexcept { +[[nodiscard]] __device__ void lc_bindless_buffer_write(LCBindlessArray array, lc_uint index, lc_ulong i, T value) noexcept { lc_assume(__isGlobal(array.slots)); auto buffer = static_cast(array.slots[index].buffer); lc_assume(__isGlobal(buffer)); @@ -1100,11 +1100,11 @@ template buffer[i] = value; } -[[nodiscard]] inline __device__ auto lc_bindless_buffer_type(LCBindlessArray array, lc_uint index) noexcept { +[[nodiscard]] __device__ auto lc_bindless_buffer_type(LCBindlessArray array, lc_uint index) noexcept { return 0ull;// TODO } -[[nodiscard]] inline __device__ auto lc_bindless_buffer_address(LCBindlessArray array, lc_uint index) noexcept { +[[nodiscard]] __device__ auto lc_bindless_buffer_address(LCBindlessArray array, lc_uint index) noexcept { lc_assume(__isGlobal(array.slots)); auto buffer = static_cast(array.slots[index].buffer); lc_assume(__isGlobal(buffer)); @@ -1112,7 +1112,7 @@ template } template -[[nodiscard]] inline __device__ T lc_bindless_byte_buffer_read(LCBindlessArray array, lc_uint index, lc_ulong offset) noexcept { +[[nodiscard]] __device__ T lc_bindless_byte_buffer_read(LCBindlessArray array, lc_uint index, lc_ulong offset) noexcept { lc_assume(__isGlobal(array.slots)); auto buffer = static_cast(array.slots[index].buffer); lc_assume(__isGlobal(buffer)); @@ -1123,7 +1123,7 @@ template } template -inline __device__ void lc_bindless_byte_buffer_write(LCBindlessArray array, lc_uint index, lc_ulong offset, T value) noexcept { +__device__ void lc_bindless_byte_buffer_write(LCBindlessArray array, lc_uint index, lc_ulong offset, T value) noexcept { lc_assume(__isGlobal(array.slots)); auto buffer = static_cast(array.slots[index].buffer); lc_assume(__isGlobal(buffer)); @@ -1133,7 +1133,7 @@ inline __device__ void lc_bindless_byte_buffer_write(LCBindlessArray array, lc_u *reinterpret_cast(buffer + offset) = value; } -[[nodiscard]] inline __device__ auto lc_bindless_texture_sample2d(LCBindlessArray array, lc_uint index, lc_float2 p) noexcept { +[[nodiscard]] __device__ auto lc_bindless_texture_sample2d(LCBindlessArray array, lc_uint index, lc_float2 p) noexcept { lc_assume(__isGlobal(array.slots)); auto t = array.slots[index].tex2d; auto v = lc_make_float4(); @@ -1143,7 +1143,7 @@ inline __device__ void lc_bindless_byte_buffer_write(LCBindlessArray array, lc_u return v; } -[[nodiscard]] inline __device__ auto lc_bindless_texture_sample3d(LCBindlessArray array, lc_uint index, lc_float3 p) noexcept { +[[nodiscard]] __device__ auto lc_bindless_texture_sample3d(LCBindlessArray array, lc_uint index, lc_float3 p) noexcept { lc_assume(__isGlobal(array.slots)); auto t = array.slots[index].tex3d; auto v = lc_make_float4(); @@ -1153,7 +1153,7 @@ inline __device__ void lc_bindless_byte_buffer_write(LCBindlessArray array, lc_u return v; } -[[nodiscard]] inline __device__ auto lc_bindless_texture_sample2d_level(LCBindlessArray array, lc_uint index, lc_float2 p, float level) noexcept { +[[nodiscard]] __device__ auto lc_bindless_texture_sample2d_level(LCBindlessArray array, lc_uint index, lc_float2 p, float level) noexcept { lc_assume(__isGlobal(array.slots)); auto t = array.slots[index].tex2d; auto v = lc_make_float4(); @@ -1163,7 +1163,7 @@ inline __device__ void lc_bindless_byte_buffer_write(LCBindlessArray array, lc_u return v; } -[[nodiscard]] inline __device__ auto lc_bindless_texture_sample3d_level(LCBindlessArray array, lc_uint index, lc_float3 p, float level) noexcept { +[[nodiscard]] __device__ auto lc_bindless_texture_sample3d_level(LCBindlessArray array, lc_uint index, lc_float3 p, float level) noexcept { lc_assume(__isGlobal(array.slots)); auto t = array.slots[index].tex3d; auto v = lc_make_float4(); @@ -1173,7 +1173,7 @@ inline __device__ void lc_bindless_byte_buffer_write(LCBindlessArray array, lc_u return v; } -[[nodiscard]] inline __device__ auto lc_bindless_texture_sample2d_grad(LCBindlessArray array, lc_uint index, lc_float2 p, lc_float2 dx, lc_float2 dy) noexcept { +[[nodiscard]] __device__ auto lc_bindless_texture_sample2d_grad(LCBindlessArray array, lc_uint index, lc_float2 p, lc_float2 dx, lc_float2 dy) noexcept { lc_assume(__isGlobal(array.slots)); auto t = array.slots[index].tex2d; auto v = lc_make_float4(); @@ -1183,7 +1183,7 @@ inline __device__ void lc_bindless_byte_buffer_write(LCBindlessArray array, lc_u return v; } -[[nodiscard]] inline __device__ auto lc_bindless_texture_sample3d_grad(LCBindlessArray array, lc_uint index, lc_float3 p, lc_float3 dx, lc_float3 dy) noexcept { +[[nodiscard]] __device__ auto lc_bindless_texture_sample3d_grad(LCBindlessArray array, lc_uint index, lc_float3 p, lc_float3 dx, lc_float3 dy) noexcept { lc_assume(__isGlobal(array.slots)); auto t = array.slots[index].tex3d; auto v = lc_make_float4(); @@ -1195,7 +1195,7 @@ inline __device__ void lc_bindless_byte_buffer_write(LCBindlessArray array, lc_u return v; } -[[nodiscard]] inline __device__ auto lc_bindless_texture_size2d(LCBindlessArray array, lc_uint index) noexcept { +[[nodiscard]] __device__ auto lc_bindless_texture_size2d(LCBindlessArray array, lc_uint index) noexcept { lc_assume(__isGlobal(array.slots)); auto t = array.slots[index].tex2d; auto s = lc_make_uint2(); @@ -1208,7 +1208,7 @@ inline __device__ void lc_bindless_byte_buffer_write(LCBindlessArray array, lc_u return s; } -[[nodiscard]] inline __device__ auto lc_bindless_texture_size3d(LCBindlessArray array, lc_uint index) noexcept { +[[nodiscard]] __device__ auto lc_bindless_texture_size3d(LCBindlessArray array, lc_uint index) noexcept { lc_assume(__isGlobal(array.slots)); auto t = array.slots[index].tex3d; auto s = lc_make_uint3(); @@ -1224,19 +1224,19 @@ inline __device__ void lc_bindless_byte_buffer_write(LCBindlessArray array, lc_u return s; } -[[nodiscard]] inline __device__ auto lc_bindless_texture_size2d_level(LCBindlessArray array, lc_uint index, lc_uint level) noexcept { +[[nodiscard]] __device__ auto lc_bindless_texture_size2d_level(LCBindlessArray array, lc_uint index, lc_uint level) noexcept { lc_assume(__isGlobal(array.slots)); auto s = lc_bindless_texture_size2d(array, index); return lc_max(s >> level, lc_make_uint2(1u)); } -[[nodiscard]] inline __device__ auto lc_bindless_texture_size3d_level(LCBindlessArray array, lc_uint index, lc_uint level) noexcept { +[[nodiscard]] __device__ auto lc_bindless_texture_size3d_level(LCBindlessArray array, lc_uint index, lc_uint level) noexcept { lc_assume(__isGlobal(array.slots)); auto s = lc_bindless_texture_size3d(array, index); return lc_max(s >> level, lc_make_uint3(1u)); } -[[nodiscard]] inline __device__ auto lc_bindless_texture_read2d(LCBindlessArray array, lc_uint index, lc_uint2 p) noexcept { +[[nodiscard]] __device__ auto lc_bindless_texture_read2d(LCBindlessArray array, lc_uint index, lc_uint2 p) noexcept { lc_assume(__isGlobal(array.slots)); auto t = array.slots[index].tex2d; auto v = lc_make_float4(); @@ -1246,7 +1246,7 @@ inline __device__ void lc_bindless_byte_buffer_write(LCBindlessArray array, lc_u return v; } -[[nodiscard]] inline __device__ auto lc_bindless_texture_read3d(LCBindlessArray array, lc_uint index, lc_uint3 p) noexcept { +[[nodiscard]] __device__ auto lc_bindless_texture_read3d(LCBindlessArray array, lc_uint index, lc_uint3 p) noexcept { lc_assume(__isGlobal(array.slots)); auto t = array.slots[index].tex3d; auto v = lc_make_float4(); @@ -1256,7 +1256,7 @@ inline __device__ void lc_bindless_byte_buffer_write(LCBindlessArray array, lc_u return v; } -[[nodiscard]] inline __device__ auto lc_bindless_texture_read2d_level(LCBindlessArray array, lc_uint index, lc_uint2 p, lc_uint level) noexcept { +[[nodiscard]] __device__ auto lc_bindless_texture_read2d_level(LCBindlessArray array, lc_uint index, lc_uint2 p, lc_uint level) noexcept { lc_assume(__isGlobal(array.slots)); auto t = array.slots[index].tex2d; auto v = lc_make_float4(); @@ -1266,7 +1266,7 @@ inline __device__ void lc_bindless_byte_buffer_write(LCBindlessArray array, lc_u return v; } -[[nodiscard]] inline __device__ auto lc_bindless_texture_read3d_level(LCBindlessArray array, lc_uint index, lc_uint3 p, lc_uint level) noexcept { +[[nodiscard]] __device__ auto lc_bindless_texture_read3d_level(LCBindlessArray array, lc_uint index, lc_uint3 p, lc_uint level) noexcept { lc_assume(__isGlobal(array.slots)); auto t = array.slots[index].tex3d; auto v = lc_make_float4(); @@ -1447,7 +1447,7 @@ __device__ void lc_set_instance_motion_srt(LCAccel accel, lc_uint inst_index, lc *lc_instance_motion_data(accel, inst_index, key_index) = data; } -[[nodiscard]] __device__ inline auto lc_accel_instance_transform(LCAccel accel, lc_uint instance_id) noexcept { +[[nodiscard]] __device__ auto lc_accel_instance_transform(LCAccel accel, lc_uint instance_id) noexcept { lc_assume(__isGlobal(accel.instances)); auto m = accel.instances[instance_id].m; return lc_make_float4x4( @@ -1457,17 +1457,17 @@ __device__ void lc_set_instance_motion_srt(LCAccel accel, lc_uint inst_index, lc m[0].w, m[1].w, m[2].w, 1.0f); } -[[nodiscard]] __device__ inline auto lc_accel_instance_user_id(LCAccel accel, lc_uint instance_id) noexcept { +[[nodiscard]] __device__ auto lc_accel_instance_user_id(LCAccel accel, lc_uint instance_id) noexcept { lc_assume(__isGlobal(accel.instances)); return accel.instances[instance_id].user_id; } -[[nodiscard]] __device__ inline auto lc_accel_instance_visibility(LCAccel accel, lc_uint index) noexcept { +[[nodiscard]] __device__ auto lc_accel_instance_visibility(LCAccel accel, lc_uint index) noexcept { lc_assume(__isGlobal(accel.instances)); return accel.instances[index].mask; } -__device__ inline void lc_accel_set_instance_transform(LCAccel accel, lc_uint index, lc_float4x4 m) noexcept { +__device__ void lc_accel_set_instance_transform(LCAccel accel, lc_uint index, lc_float4x4 m) noexcept { lc_assume(__isGlobal(accel.instances)); lc_array p; p[0].x = m[0][0]; @@ -1485,12 +1485,12 @@ __device__ inline void lc_accel_set_instance_transform(LCAccel accel, lc_uint in accel.instances[index].m = p; } -__device__ inline void lc_accel_set_instance_visibility(LCAccel accel, lc_uint index, lc_uint mask) noexcept { +__device__ void lc_accel_set_instance_visibility(LCAccel accel, lc_uint index, lc_uint mask) noexcept { lc_assume(__isGlobal(accel.instances)); accel.instances[index].mask = mask & 0xffu; } -__device__ inline void lc_accel_set_instance_opacity(LCAccel accel, lc_uint index, bool opaque) noexcept { +__device__ void lc_accel_set_instance_opacity(LCAccel accel, lc_uint index, bool opaque) noexcept { lc_assume(__isGlobal(accel.instances)); auto flags = accel.instances[index].flags; // procedural primitives ignores the opaque flag, so only @@ -1504,22 +1504,22 @@ __device__ inline void lc_accel_set_instance_opacity(LCAccel accel, lc_uint inde } } -__device__ inline void lc_accel_set_instance_user_id(LCAccel accel, lc_uint index, lc_uint user_id) noexcept { +__device__ void lc_accel_set_instance_user_id(LCAccel accel, lc_uint index, lc_uint user_id) noexcept { lc_assume(__isGlobal(accel.instances)); accel.instances[index].user_id = user_id; } -__device__ inline float atomicCAS(float *a, float cmp, float v) noexcept { +__device__ float atomicCAS(float *a, float cmp, float v) noexcept { return __uint_as_float(atomicCAS(reinterpret_cast(a), __float_as_uint(cmp), __float_as_uint(v))); } -__device__ inline float atomicSub(float *a, float v) noexcept { +__device__ float atomicSub(float *a, float v) noexcept { return atomicAdd(a, -v); } -__device__ inline float atomicMin(float *a, float v) noexcept { +__device__ float atomicMin(float *a, float v) noexcept { for (;;) { if (auto old = *a;// read old old <= v /* no need to update */ || @@ -1527,7 +1527,7 @@ __device__ inline float atomicMin(float *a, float v) noexcept { } } -__device__ inline float atomicMax(float *a, float v) noexcept { +__device__ float atomicMax(float *a, float v) noexcept { for (;;) { if (auto old = *a;// read old old >= v /* no need to update */ || @@ -1567,14 +1567,14 @@ enum LCPayloadTypeID : lc_uint { #define LC_PAYLOAD_TYPE_RAY_TRACE (LC_PAYLOAD_TYPE_ID_0) #define LC_PAYLOAD_TYPE_RAY_QUERY (LC_PAYLOAD_TYPE_ID_1) -inline void lc_set_payload_types(LCPayloadTypeID type) noexcept { +void lc_set_payload_types(LCPayloadTypeID type) noexcept { asm volatile("call _optix_set_payload_types, (%0);" : : "r"(type)); } template -inline void lc_set_payload(lc_uint x) noexcept { +void lc_set_payload(lc_uint x) noexcept { asm volatile("call _optix_set_payload, (%0, %1);" : : "r"(i), "r"(x) @@ -1591,7 +1591,7 @@ template return r; } -[[nodiscard]] inline auto lc_get_primitive_index() noexcept { +[[nodiscard]] auto lc_get_primitive_index() noexcept { lc_uint u0; asm("call (%0), _optix_read_primitive_idx, ();" : "=r"(u0) @@ -1599,7 +1599,7 @@ template return u0; } -[[nodiscard]] inline auto lc_get_instance_index() noexcept { +[[nodiscard]] auto lc_get_instance_index() noexcept { lc_uint u0; asm("call (%0), _optix_read_instance_idx, ();" : "=r"(u0) @@ -1607,7 +1607,7 @@ template return u0; } -[[nodiscard]] inline auto lc_get_bary_coords() noexcept { +[[nodiscard]] auto lc_get_bary_coords() noexcept { float f0, f1; asm("call (%0, %1), _optix_get_triangle_barycentrics, ();" : "=f"(f0), "=f"(f1) @@ -1615,7 +1615,7 @@ template return lc_make_float2(f0, f1); } -[[nodiscard]] inline auto lc_get_curve_parameter() noexcept { +[[nodiscard]] auto lc_get_curve_parameter() noexcept { float f0; asm("call (%0), _optix_get_curve_parameter, ();" : "=f"(f0) @@ -1623,7 +1623,7 @@ template return f0; } -[[nodiscard]] inline auto lc_get_hit_distance() noexcept { +[[nodiscard]] auto lc_get_hit_distance() noexcept { float f0; asm("call (%0), _optix_get_ray_tmax, ();" : "=f"(f0) @@ -1631,7 +1631,7 @@ template return f0; } -[[nodiscard]] inline auto lc_undef() noexcept { +[[nodiscard]] auto lc_undef() noexcept { auto u0 = 0u; asm("call (%0), _optix_undef_value, ();" : "=r"(u0) @@ -1639,18 +1639,18 @@ template return u0; } -inline void lc_shader_execution_reorder(lc_uint hint, lc_uint hint_bits) noexcept { +void lc_shader_execution_reorder(lc_uint hint, lc_uint hint_bits) noexcept { asm volatile( "call (), _optix_hitobject_reorder, (%0,%1);" : : "r"(hint), "r"(hint_bits)); } -__device__ inline void lc_hit_object_reset() noexcept { +__device__ void lc_hit_object_reset() noexcept { asm volatile("call (), _optix_hitobject_make_nop, ();"); } -__device__ inline lc_float2 lc_hit_object_triangle_bary() noexcept { +__device__ lc_float2 lc_hit_object_triangle_bary() noexcept { lc_uint u_bits, v_bits; asm volatile( "call (%0), _optix_hitobject_get_attribute, (%1);" @@ -1663,7 +1663,7 @@ __device__ inline lc_float2 lc_hit_object_triangle_bary() noexcept { return lc_make_float2(__int_as_float(u_bits), __int_as_float(v_bits)); } -__device__ inline lc_float lc_hit_object_curve_parameter() noexcept { +__device__ lc_float lc_hit_object_curve_parameter() noexcept { lc_uint u_bits, v_bits; asm volatile( "call (%0), _optix_hitobject_get_attribute, (%1);" @@ -1672,7 +1672,7 @@ __device__ inline lc_float lc_hit_object_curve_parameter() noexcept { return __int_as_float(u_bits); } -__device__ inline bool lc_hit_object_is_hit() noexcept { +__device__ bool lc_hit_object_is_hit() noexcept { lc_uint result; asm volatile( "call (%0), _optix_hitobject_is_hit, ();" @@ -1681,7 +1681,7 @@ __device__ inline bool lc_hit_object_is_hit() noexcept { return result; } -__device__ inline lc_uint lc_hit_object_instance_index() noexcept { +__device__ lc_uint lc_hit_object_instance_index() noexcept { lc_uint result; asm volatile( "call (%0), _optix_hitobject_get_instance_idx, ();" @@ -1690,7 +1690,7 @@ __device__ inline lc_uint lc_hit_object_instance_index() noexcept { return result; } -__device__ inline lc_uint lc_hit_object_primitive_index() noexcept { +__device__ lc_uint lc_hit_object_primitive_index() noexcept { lc_uint result; asm volatile( "call (%0), _optix_hitobject_get_primitive_idx, ();" @@ -1699,7 +1699,7 @@ __device__ inline lc_uint lc_hit_object_primitive_index() noexcept { return result; } -__device__ inline lc_float lc_hit_object_ray_t_max() noexcept { +__device__ lc_float lc_hit_object_ray_t_max() noexcept { float result; asm volatile( "call (%0), _optix_hitobject_get_ray_tmax, ();" @@ -1708,7 +1708,7 @@ __device__ inline lc_float lc_hit_object_ray_t_max() noexcept { return result; } -__device__ inline lc_uint lc_hit_object_hit_kind() noexcept { +__device__ lc_uint lc_hit_object_hit_kind() noexcept { lc_uint result; asm volatile( "call (%0), _optix_hitobject_get_hitkind, ();" @@ -1739,7 +1739,7 @@ enum LCHitKind : lc_uint { }; template -inline void lc_ray_traverse(lc_uint flags, LCAccel accel, +void lc_ray_traverse(lc_uint flags, LCAccel accel, LCRay ray, lc_float time, lc_uint mask, lc_uint r0 = lc_undef(), lc_uint r1 = lc_undef()) noexcept { @@ -1781,7 +1781,7 @@ inline void lc_ray_traverse(lc_uint flags, LCAccel accel, } template -[[nodiscard]] inline auto lc_accel_trace_closest_impl(LCAccel accel, LCRay ray, lc_float time, lc_uint mask) noexcept { +[[nodiscard]] auto lc_accel_trace_closest_impl(LCAccel accel, LCRay ray, lc_float time, lc_uint mask) noexcept { // traverse lc_ray_traverse(flags, accel, ray, time, mask); // decode the hit @@ -1806,7 +1806,7 @@ template } template -[[nodiscard]] inline auto lc_accel_trace_any_impl(LCAccel accel, LCRay ray, lc_float time, lc_uint mask) noexcept { +[[nodiscard]] auto lc_accel_trace_any_impl(LCAccel accel, LCRay ray, lc_float time, lc_uint mask) noexcept { // traverse lc_ray_traverse(flags, accel, ray, time, mask); // decode if hit @@ -1815,33 +1815,33 @@ template return is_hit; } -[[nodiscard]] inline auto lc_accel_trace_closest(LCAccel accel, LCRay ray, lc_uint mask) noexcept { +[[nodiscard]] auto lc_accel_trace_closest(LCAccel accel, LCRay ray, lc_uint mask) noexcept { constexpr auto flags = LC_RAY_FLAG_DISABLE_ANYHIT | LC_RAY_FLAG_DISABLE_CLOSESTHIT; return lc_accel_trace_closest_impl(accel, ray, 0.f, mask); } -[[nodiscard]] inline auto lc_accel_trace_any(LCAccel accel, LCRay ray, lc_uint mask) noexcept { +[[nodiscard]] auto lc_accel_trace_any(LCAccel accel, LCRay ray, lc_uint mask) noexcept { constexpr auto flags = LC_RAY_FLAG_DISABLE_ANYHIT | LC_RAY_FLAG_TERMINATE_ON_FIRST_HIT | LC_RAY_FLAG_DISABLE_CLOSESTHIT; return lc_accel_trace_any_impl(accel, ray, 0.f, mask); } -[[nodiscard]] inline auto lc_accel_trace_closest_motion_blur(LCAccel accel, LCRay ray, lc_float time, lc_uint mask) noexcept { +[[nodiscard]] auto lc_accel_trace_closest_motion_blur(LCAccel accel, LCRay ray, lc_float time, lc_uint mask) noexcept { constexpr auto flags = LC_RAY_FLAG_DISABLE_ANYHIT | LC_RAY_FLAG_DISABLE_CLOSESTHIT; return lc_accel_trace_closest_impl(accel, ray, time, mask); } -[[nodiscard]] inline auto lc_accel_trace_any_motion_blur(LCAccel accel, LCRay ray, lc_float time, lc_uint mask) noexcept { +[[nodiscard]] auto lc_accel_trace_any_motion_blur(LCAccel accel, LCRay ray, lc_float time, lc_uint mask) noexcept { constexpr auto flags = LC_RAY_FLAG_DISABLE_ANYHIT | LC_RAY_FLAG_TERMINATE_ON_FIRST_HIT | LC_RAY_FLAG_DISABLE_CLOSESTHIT; return lc_accel_trace_any_impl(accel, ray, time, mask); } -[[nodiscard]] inline auto lc_dispatch_id() noexcept { +[[nodiscard]] auto lc_dispatch_id() noexcept { lc_uint u0, u1, u2; asm("call (%0), _optix_get_launch_index_x, ();" : "=r"(u0) @@ -1855,7 +1855,7 @@ template return lc_make_uint3(u0, u1, u2); } -[[nodiscard]] inline auto lc_dispatch_size() noexcept { +[[nodiscard]] auto lc_dispatch_size() noexcept { lc_uint u0, u1, u2; asm("call (%0), _optix_get_launch_dimension_x, ();" : "=r"(u0) @@ -1871,15 +1871,15 @@ template #define lc_kernel_id() static_cast(params.ls_kid.w) -[[nodiscard]] inline auto lc_thread_id() noexcept { +[[nodiscard]] auto lc_thread_id() noexcept { return lc_dispatch_id() % lc_block_size(); } -[[nodiscard]] inline auto lc_block_id() noexcept { +[[nodiscard]] auto lc_block_id() noexcept { return lc_dispatch_id() / lc_block_size(); } -[[nodiscard]] inline auto lc_get_hit_kind() noexcept { +[[nodiscard]] auto lc_get_hit_kind() noexcept { auto u0 = 0u; asm("call (%0), _optix_get_hit_kind, ();" : "=r"(u0) @@ -1905,7 +1905,7 @@ struct LCRayQuery { using LCRayQueryAll = LCRayQuery; using LCRayQueryAny = LCRayQuery; -[[nodiscard]] inline auto lc_ray_query_decode_hit() noexcept { +[[nodiscard]] auto lc_ray_query_decode_hit() noexcept { auto hit = [] {// found closest hit auto inst = lc_hit_object_instance_index(); auto prim = lc_hit_object_primitive_index(); @@ -1931,7 +1931,7 @@ using LCRayQueryAny = LCRayQuery; return hit; } -inline void lc_ray_query_trace(LCRayQuery &q, lc_uint impl_tag, void *ctx) noexcept { +void lc_ray_query_trace(LCRayQuery &q, lc_uint impl_tag, void *ctx) noexcept { auto p_ctx = reinterpret_cast(ctx); auto r0 = (impl_tag << 24u) | (static_cast(p_ctx >> 32u) & 0xffffffu); auto r1 = static_cast(p_ctx); @@ -1940,33 +1940,33 @@ inline void lc_ray_query_trace(LCRayQuery &q, lc_uint impl_tag, void *ctx) noexc q.hit = lc_ray_query_decode_hit(); } -[[nodiscard]] inline auto lc_accel_query_all(LCAccel accel, LCRay ray, lc_uint mask) noexcept { +[[nodiscard]] auto lc_accel_query_all(LCAccel accel, LCRay ray, lc_uint mask) noexcept { constexpr auto flags = LC_RAY_FLAG_DISABLE_CLOSESTHIT; return LCRayQueryAll{accel, ray, 0.f, mask, flags, LCCommittedHit{}}; } -[[nodiscard]] inline auto lc_accel_query_any(LCAccel accel, LCRay ray, lc_uint mask) noexcept { +[[nodiscard]] auto lc_accel_query_any(LCAccel accel, LCRay ray, lc_uint mask) noexcept { constexpr auto flags = LC_RAY_FLAG_TERMINATE_ON_FIRST_HIT | LC_RAY_FLAG_DISABLE_CLOSESTHIT; return LCRayQueryAny{accel, ray, 0.f, mask, flags, LCCommittedHit{}}; } -[[nodiscard]] inline auto lc_accel_query_all_motion_blur(LCAccel accel, LCRay ray, lc_float time, lc_uint mask) noexcept { +[[nodiscard]] auto lc_accel_query_all_motion_blur(LCAccel accel, LCRay ray, lc_float time, lc_uint mask) noexcept { constexpr auto flags = LC_RAY_FLAG_DISABLE_CLOSESTHIT; return LCRayQueryAll{accel, ray, time, mask, flags, LCCommittedHit{}}; } -[[nodiscard]] inline auto lc_accel_query_any_motion_blur(LCAccel accel, LCRay ray, lc_float time, lc_uint mask) noexcept { +[[nodiscard]] auto lc_accel_query_any_motion_blur(LCAccel accel, LCRay ray, lc_float time, lc_uint mask) noexcept { constexpr auto flags = LC_RAY_FLAG_TERMINATE_ON_FIRST_HIT | LC_RAY_FLAG_DISABLE_CLOSESTHIT; return LCRayQueryAny{accel, ray, time, mask, flags, LCCommittedHit{}}; } -[[nodiscard]] inline auto lc_ray_query_committed_hit(LCRayQuery q) noexcept { +[[nodiscard]] auto lc_ray_query_committed_hit(LCRayQuery q) noexcept { return q.hit; } -[[nodiscard]] inline auto lc_ray_query_triangle_candidate() noexcept { +[[nodiscard]] auto lc_ray_query_triangle_candidate() noexcept { auto inst = lc_get_instance_index(); auto prim = lc_get_primitive_index(); #ifdef LUISA_ENABLE_OPTIX_CURVE @@ -1982,13 +1982,13 @@ inline void lc_ray_query_trace(LCRayQuery &q, lc_uint impl_tag, void *ctx) noexc return LCTriangleHit{inst, prim, bary, t_hit}; } -[[nodiscard]] inline auto lc_ray_query_procedural_candidate() noexcept { +[[nodiscard]] auto lc_ray_query_procedural_candidate() noexcept { auto inst = lc_get_instance_index(); auto prim = lc_get_primitive_index(); return LCProceduralHit{inst, prim}; } -[[nodiscard]] inline auto lc_ray_query_world_ray() noexcept { +[[nodiscard]] auto lc_ray_query_world_ray() noexcept { float ox, oy, oz, t_min, dx, dy, dz, t_max; // origin asm("call (%0), _optix_get_world_ray_origin_x, ();" @@ -2030,7 +2030,7 @@ inline void lc_ray_query_trace(LCRayQuery &q, lc_uint impl_tag, void *ctx) noexc return ray; } -inline void lc_ray_query_report_intersection(lc_uint kind, lc_float t) noexcept { +void lc_ray_query_report_intersection(lc_uint kind, lc_float t) noexcept { auto ret = 0u; asm volatile("call (%0), _optix_report_intersection_0" ", (%1, %2);" @@ -2039,11 +2039,11 @@ inline void lc_ray_query_report_intersection(lc_uint kind, lc_float t) noexcept :); } -inline void lc_ray_query_ignore_intersection() noexcept { +void lc_ray_query_ignore_intersection() noexcept { asm volatile("call _optix_ignore_intersection, ();"); } -inline void lc_ray_query_terminate() noexcept { +void lc_ray_query_terminate() noexcept { asm volatile("call _optix_terminate_ray, ();"); } @@ -2058,10 +2058,10 @@ struct LCIntersectionResult { }; #define LUISA_DECL_RAY_QUERY_PROCEDURAL_IMPL(index) \ - [[nodiscard]] inline LCIntersectionResult lc_ray_query_procedural_intersection_##index(void *ctx_in) noexcept + [[nodiscard]] LCIntersectionResult lc_ray_query_procedural_intersection_##index(void *ctx_in) noexcept #define LUISA_DECL_RAY_QUERY_TRIANGLE_IMPL(index) \ - [[nodiscard]] inline LCIntersectionResult lc_ray_query_triangle_intersection_##index(void *ctx_in) noexcept + [[nodiscard]] LCIntersectionResult lc_ray_query_triangle_intersection_##index(void *ctx_in) noexcept #define LC_RAY_QUERY_PROCEDURAL_CANDIDATE_HIT(q) lc_ray_query_procedural_candidate() #define LC_RAY_QUERY_TRIANGLE_CANDIDATE_HIT(q) lc_ray_query_triangle_candidate() @@ -2391,27 +2391,27 @@ extern "C" __global__ void __anyhit__ray_query() { #define lc_dispatch_size() lc_make_uint3(params.ls_kid) #define lc_kernel_id() static_cast(params.ls_kid.w) -inline void lc_shader_execution_reorder(lc_uint hint, lc_uint hint_bits) noexcept { +void lc_shader_execution_reorder(lc_uint hint, lc_uint hint_bits) noexcept { // do nothing since SER is not supported in plain CUDA } -[[nodiscard]] __device__ inline auto lc_thread_id() noexcept { +[[nodiscard]] __device__ auto lc_thread_id() noexcept { return lc_make_uint3(lc_uint(threadIdx.x), lc_uint(threadIdx.y), lc_uint(threadIdx.z)); } -[[nodiscard]] __device__ inline auto lc_block_id() noexcept { +[[nodiscard]] __device__ auto lc_block_id() noexcept { return lc_make_uint3(lc_uint(blockIdx.x), lc_uint(blockIdx.y), lc_uint(blockIdx.z)); } -[[nodiscard]] __device__ inline auto lc_dispatch_id() noexcept { +[[nodiscard]] __device__ auto lc_dispatch_id() noexcept { return lc_block_id() * lc_block_size() + lc_thread_id(); } -__device__ inline void lc_synchronize_block() noexcept { +__device__ void lc_synchronize_block() noexcept { __syncthreads(); } @@ -2430,7 +2430,7 @@ struct alignas(alignof(T) < 4u ? 4u : alignof(T)) LCPack { }; template -__device__ inline void lc_pack_to(const T &x, LCBuffer array, lc_uint idx) noexcept { +__device__ void lc_pack_to(const T &x, LCBuffer array, lc_uint idx) noexcept { constexpr lc_uint N = (sizeof(T) + 3u) / 4u; if constexpr (alignof(T) < 4u) { // too small to be aligned to 4 bytes @@ -2452,7 +2452,7 @@ __device__ inline void lc_pack_to(const T &x, LCBuffer array, lc_uint i } template -[[nodiscard]] __device__ inline T lc_unpack_from(LCBuffer array, lc_uint idx) noexcept { +[[nodiscard]] __device__ T lc_unpack_from(LCBuffer array, lc_uint idx) noexcept { if constexpr (alignof(T) <= 4u) { // safe to reinterpret the pointer as T * auto data = reinterpret_cast(&array.ptr[idx]); @@ -2471,7 +2471,7 @@ template } template -[[nodiscard]] __device__ inline T lc_byte_buffer_read(LCBuffer buffer, lc_ulong offset) noexcept { +[[nodiscard]] __device__ T lc_byte_buffer_read(LCBuffer buffer, lc_ulong offset) noexcept { lc_assume(__isGlobal(buffer.ptr)); auto address = reinterpret_cast(buffer.ptr + offset); #ifdef LUISA_DEBUG @@ -2482,7 +2482,7 @@ template } template -__device__ inline void lc_byte_buffer_write(LCBuffer buffer, lc_ulong offset, T value) noexcept { +__device__ void lc_byte_buffer_write(LCBuffer buffer, lc_ulong offset, T value) noexcept { lc_assume(__isGlobal(buffer.ptr)); auto address = reinterpret_cast(buffer.ptr + offset); #ifdef LUISA_DEBUG @@ -2492,12 +2492,12 @@ __device__ inline void lc_byte_buffer_write(LCBuffer buffer, lc_ulong *reinterpret_cast(address) = value; } -[[nodiscard]] __device__ inline auto lc_byte_buffer_size(LCBuffer buffer) noexcept { +[[nodiscard]] __device__ auto lc_byte_buffer_size(LCBuffer buffer) noexcept { return lc_buffer_size(buffer); } // warp intrinsics -[[nodiscard]] __device__ inline auto lc_warp_lane_id() noexcept { +[[nodiscard]] __device__ auto lc_warp_lane_id() noexcept { lc_uint ret; asm("mov.u32 %0, %laneid;" : "=r"(ret)); @@ -2511,20 +2511,20 @@ __device__ inline void lc_byte_buffer_write(LCBuffer buffer, lc_ulong #define LC_WARP_FULL_MASK 0xffff'ffffu #define LC_WARP_ACTIVE_MASK __activemask() -[[nodiscard]] __device__ inline auto lc_warp_first_active_lane() noexcept { +[[nodiscard]] __device__ auto lc_warp_first_active_lane() noexcept { return __ffs(LC_WARP_ACTIVE_MASK) - 1u; } -[[nodiscard]] __device__ inline auto lc_warp_is_first_active_lane() noexcept { +[[nodiscard]] __device__ auto lc_warp_is_first_active_lane() noexcept { return lc_warp_first_active_lane() == lc_warp_lane_id(); } #if __CUDA_ARCH__ >= 700 -[[nodiscard]] __device__ inline auto __match_all_sync(unsigned int mask, lc_half x, int *pred) noexcept { +[[nodiscard]] __device__ auto __match_all_sync(unsigned int mask, lc_half x, int *pred) noexcept { return __match_all_sync(mask, static_cast(x), pred); } #define LC_WARP_ALL_EQ_SCALAR(T) \ - [[nodiscard]] __device__ inline auto lc_warp_active_all_equal(T x) noexcept { \ + [[nodiscard]] __device__ auto lc_warp_active_all_equal(T x) noexcept { \ auto mask = LC_WARP_ACTIVE_MASK; \ auto pred = 0; \ __match_all_sync(mask, x, &pred); \ @@ -2532,7 +2532,7 @@ __device__ inline void lc_byte_buffer_write(LCBuffer buffer, lc_ulong } #else #define LC_WARP_ALL_EQ_SCALAR(T) \ - [[nodiscard]] __device__ inline auto lc_warp_active_all_equal(T x) noexcept { \ + [[nodiscard]] __device__ auto lc_warp_active_all_equal(T x) noexcept { \ auto mask = LC_WARP_ACTIVE_MASK; \ auto first = __ffs(mask) - 1u; \ auto x0 = __shfl_sync(mask, x, first); \ @@ -2541,20 +2541,20 @@ __device__ inline void lc_byte_buffer_write(LCBuffer buffer, lc_ulong #endif #define LC_WARP_ALL_EQ_VECTOR2(T) \ - [[nodiscard]] __device__ inline auto lc_warp_active_all_equal(T##2 v) noexcept { \ + [[nodiscard]] __device__ auto lc_warp_active_all_equal(T##2 v) noexcept { \ return lc_make_bool2(lc_warp_active_all_equal(v.x), \ lc_warp_active_all_equal(v.y)); \ } #define LC_WARP_ALL_EQ_VECTOR3(T) \ - [[nodiscard]] __device__ inline auto lc_warp_active_all_equal(T##3 v) noexcept { \ + [[nodiscard]] __device__ auto lc_warp_active_all_equal(T##3 v) noexcept { \ return lc_make_bool3(lc_warp_active_all_equal(v.x), \ lc_warp_active_all_equal(v.y), \ lc_warp_active_all_equal(v.z)); \ } #define LC_WARP_ALL_EQ_VECTOR4(T) \ - [[nodiscard]] __device__ inline auto lc_warp_active_all_equal(T##4 v) noexcept { \ + [[nodiscard]] __device__ auto lc_warp_active_all_equal(T##4 v) noexcept { \ return lc_make_bool4(lc_warp_active_all_equal(v.x), \ lc_warp_active_all_equal(v.y), \ lc_warp_active_all_equal(v.z), \ @@ -2585,7 +2585,7 @@ LC_WARP_ALL_EQ(lc_half) #undef LC_WARP_ALL_EQ template -[[nodiscard]] __device__ inline auto lc_warp_active_reduce_impl(T x, F f) noexcept { +[[nodiscard]] __device__ auto lc_warp_active_reduce_impl(T x, F f) noexcept { auto mask = LC_WARP_ACTIVE_MASK; auto lane = lc_warp_lane_id(); if (auto y = __shfl_xor_sync(mask, x, 0x10u); mask & (1u << (lane ^ 0x10u))) { x = f(x, y); } @@ -2606,14 +2606,14 @@ template [[nodiscard]] __device__ constexpr T lc_bit_xor(T x, T y) noexcept { return x ^ y; } #define LC_WARP_REDUCE_BIT_SCALAR_FALLBACK(op, T) \ - [[nodiscard]] __device__ inline auto lc_warp_active_bit_##op(lc_##T x) noexcept { \ + [[nodiscard]] __device__ auto lc_warp_active_bit_##op(lc_##T x) noexcept { \ return static_cast(lc_warp_active_reduce_impl( \ x, [](lc_##T a, lc_##T b) noexcept { return lc_bit_##op(a, b); })); \ } #if __CUDA_ARCH__ >= 800 #define LC_WARP_REDUCE_BIT_SCALAR(op, T) \ - [[nodiscard]] __device__ inline auto lc_warp_active_bit_##op(lc_##T x) noexcept { \ + [[nodiscard]] __device__ auto lc_warp_active_bit_##op(lc_##T x) noexcept { \ return static_cast(__reduce_##op##_sync(LC_WARP_ACTIVE_MASK, \ static_cast(x))); \ } @@ -2646,16 +2646,16 @@ LC_WARP_REDUCE_BIT_SCALAR_FALLBACK(xor, long) #undef LC_WARP_REDUCE_BIT_SCALAR #define LC_WARP_REDUCE_BIT_VECTOR(op, T) \ - [[nodiscard]] __device__ inline auto lc_warp_active_bit_##op(lc_##T##2 v) noexcept { \ + [[nodiscard]] __device__ auto lc_warp_active_bit_##op(lc_##T##2 v) noexcept { \ return lc_make_##T##2(lc_warp_active_bit_##op(v.x), \ lc_warp_active_bit_##op(v.y)); \ } \ - [[nodiscard]] __device__ inline auto lc_warp_active_bit_##op(lc_##T##3 v) noexcept { \ + [[nodiscard]] __device__ auto lc_warp_active_bit_##op(lc_##T##3 v) noexcept { \ return lc_make_##T##3(lc_warp_active_bit_##op(v.x), \ lc_warp_active_bit_##op(v.y), \ lc_warp_active_bit_##op(v.z)); \ } \ - [[nodiscard]] __device__ inline auto lc_warp_active_bit_##op(lc_##T##4 v) noexcept { \ + [[nodiscard]] __device__ auto lc_warp_active_bit_##op(lc_##T##4 v) noexcept { \ return lc_make_##T##4(lc_warp_active_bit_##op(v.x), \ lc_warp_active_bit_##op(v.y), \ lc_warp_active_bit_##op(v.z), \ @@ -2671,53 +2671,53 @@ LC_WARP_REDUCE_BIT_VECTOR(xor, int) #undef LC_WARP_REDUCE_BIT_VECTOR -[[nodiscard]] __device__ inline auto lc_warp_active_bit_mask(bool pred) noexcept { +[[nodiscard]] __device__ auto lc_warp_active_bit_mask(bool pred) noexcept { return lc_make_uint4(__ballot_sync(LC_WARP_ACTIVE_MASK, pred), 0u, 0u, 0u); } -[[nodiscard]] __device__ inline auto lc_warp_active_count_bits(bool pred) noexcept { +[[nodiscard]] __device__ auto lc_warp_active_count_bits(bool pred) noexcept { return lc_popcount(__ballot_sync(LC_WARP_ACTIVE_MASK, pred)); } -[[nodiscard]] __device__ inline auto lc_warp_active_all(bool pred) noexcept { +[[nodiscard]] __device__ auto lc_warp_active_all(bool pred) noexcept { return static_cast(__all_sync(LC_WARP_ACTIVE_MASK, pred)); } -[[nodiscard]] __device__ inline auto lc_warp_active_any(bool pred) noexcept { +[[nodiscard]] __device__ auto lc_warp_active_any(bool pred) noexcept { return static_cast(__any_sync(LC_WARP_ACTIVE_MASK, pred)); } -[[nodiscard]] __device__ inline auto lc_warp_prefix_mask() noexcept { +[[nodiscard]] __device__ auto lc_warp_prefix_mask() noexcept { lc_uint ret; asm("mov.u32 %0, %lanemask_lt;" : "=r"(ret)); return ret; } -[[nodiscard]] __device__ inline auto lc_warp_prefix_count_bits(bool pred) noexcept { +[[nodiscard]] __device__ auto lc_warp_prefix_count_bits(bool pred) noexcept { return lc_popcount(__ballot_sync(LC_WARP_ACTIVE_MASK, pred) & lc_warp_prefix_mask()); } #define LC_WARP_READ_LANE_SCALAR(T) \ - [[nodiscard]] __device__ inline auto lc_warp_read_lane(lc_##T x, lc_uint i) noexcept { \ + [[nodiscard]] __device__ auto lc_warp_read_lane(lc_##T x, lc_uint i) noexcept { \ return static_cast(__shfl_sync(LC_WARP_ACTIVE_MASK, x, i)); \ } #define LC_WARP_READ_LANE_VECTOR2(T) \ - [[nodiscard]] __device__ inline auto lc_warp_read_lane(lc_##T##2 v, lc_uint i) noexcept { \ + [[nodiscard]] __device__ auto lc_warp_read_lane(lc_##T##2 v, lc_uint i) noexcept { \ return lc_make_##T##2(lc_warp_read_lane(v.x, i), \ lc_warp_read_lane(v.y, i)); \ } #define LC_WARP_READ_LANE_VECTOR3(T) \ - [[nodiscard]] __device__ inline auto lc_warp_read_lane(lc_##T##3 v, lc_uint i) noexcept { \ + [[nodiscard]] __device__ auto lc_warp_read_lane(lc_##T##3 v, lc_uint i) noexcept { \ return lc_make_##T##3(lc_warp_read_lane(v.x, i), \ lc_warp_read_lane(v.y, i), \ lc_warp_read_lane(v.z, i)); \ } #define LC_WARP_READ_LANE_VECTOR4(T) \ - [[nodiscard]] __device__ inline auto lc_warp_read_lane(lc_##T##4 v, lc_uint i) noexcept { \ + [[nodiscard]] __device__ auto lc_warp_read_lane(lc_##T##4 v, lc_uint i) noexcept { \ return lc_make_##T##4(lc_warp_read_lane(v.x, i), \ lc_warp_read_lane(v.y, i), \ lc_warp_read_lane(v.z, i), \ @@ -2747,18 +2747,18 @@ LC_WARP_READ_LANE(half) #undef LC_WARP_READ_LANE_VECTOR4 #undef LC_WARP_READ_LANE -[[nodiscard]] __device__ inline auto lc_warp_read_lane(lc_float2x2 m, lc_uint i) noexcept { +[[nodiscard]] __device__ auto lc_warp_read_lane(lc_float2x2 m, lc_uint i) noexcept { return lc_make_float2x2(lc_warp_read_lane(m[0], i), lc_warp_read_lane(m[1], i)); } -[[nodiscard]] __device__ inline auto lc_warp_read_lane(lc_float3x3 m, lc_uint i) noexcept { +[[nodiscard]] __device__ auto lc_warp_read_lane(lc_float3x3 m, lc_uint i) noexcept { return lc_make_float3x3(lc_warp_read_lane(m[0], i), lc_warp_read_lane(m[1], i), lc_warp_read_lane(m[2], i)); } -[[nodiscard]] __device__ inline auto lc_warp_read_lane(lc_float4x4 m, lc_uint i) noexcept { +[[nodiscard]] __device__ auto lc_warp_read_lane(lc_float4x4 m, lc_uint i) noexcept { return lc_make_float4x4(lc_warp_read_lane(m[0], i), lc_warp_read_lane(m[1], i), lc_warp_read_lane(m[2], i), @@ -2766,67 +2766,67 @@ LC_WARP_READ_LANE(half) } template -[[nodiscard]] __device__ inline auto lc_warp_read_first_active_lane(T x) noexcept { +[[nodiscard]] __device__ auto lc_warp_read_first_active_lane(T x) noexcept { return lc_warp_read_lane(x, lc_warp_first_active_lane()); } template -[[nodiscard]] __device__ inline auto lc_warp_active_min_impl(T x) noexcept { +[[nodiscard]] __device__ auto lc_warp_active_min_impl(T x) noexcept { return lc_warp_active_reduce_impl(x, [](T a, T b) noexcept { return lc_min(a, b); }); } template -[[nodiscard]] __device__ inline auto lc_warp_active_max_impl(T x) noexcept { +[[nodiscard]] __device__ auto lc_warp_active_max_impl(T x) noexcept { return lc_warp_active_reduce_impl(x, [](T a, T b) noexcept { return lc_max(a, b); }); } template -[[nodiscard]] __device__ inline auto lc_warp_active_sum_impl(T x) noexcept { +[[nodiscard]] __device__ auto lc_warp_active_sum_impl(T x) noexcept { return lc_warp_active_reduce_impl(x, [](T a, T b) noexcept { return a + b; }); } template -[[nodiscard]] __device__ inline auto lc_warp_active_product_impl(T x) noexcept { +[[nodiscard]] __device__ auto lc_warp_active_product_impl(T x) noexcept { return lc_warp_active_reduce_impl(x, [](T a, T b) noexcept { return a * b; }); } #define LC_WARP_ACTIVE_REDUCE_SCALAR(op, T) \ - [[nodiscard]] __device__ inline auto lc_warp_active_##op(lc_##T x) noexcept { \ + [[nodiscard]] __device__ auto lc_warp_active_##op(lc_##T x) noexcept { \ return lc_warp_active_##op##_impl(x); \ } #if __CUDA_ARCH__ >= 800 -[[nodiscard]] __device__ inline auto lc_warp_active_min(lc_uint x) noexcept { +[[nodiscard]] __device__ auto lc_warp_active_min(lc_uint x) noexcept { return __reduce_min_sync(LC_WARP_ACTIVE_MASK, x); } -[[nodiscard]] __device__ inline auto lc_warp_active_max(lc_uint x) noexcept { +[[nodiscard]] __device__ auto lc_warp_active_max(lc_uint x) noexcept { return __reduce_max_sync(LC_WARP_ACTIVE_MASK, x); } -[[nodiscard]] __device__ inline auto lc_warp_active_sum(lc_uint x) noexcept { +[[nodiscard]] __device__ auto lc_warp_active_sum(lc_uint x) noexcept { return __reduce_add_sync(LC_WARP_ACTIVE_MASK, x); } -[[nodiscard]] __device__ inline auto lc_warp_active_min(lc_int x) noexcept { +[[nodiscard]] __device__ auto lc_warp_active_min(lc_int x) noexcept { return __reduce_min_sync(LC_WARP_ACTIVE_MASK, x); } -[[nodiscard]] __device__ inline auto lc_warp_active_max(lc_int x) noexcept { +[[nodiscard]] __device__ auto lc_warp_active_max(lc_int x) noexcept { return __reduce_max_sync(LC_WARP_ACTIVE_MASK, x); } -[[nodiscard]] __device__ inline auto lc_warp_active_sum(lc_int x) noexcept { +[[nodiscard]] __device__ auto lc_warp_active_sum(lc_int x) noexcept { return __reduce_add_sync(LC_WARP_ACTIVE_MASK, x); } -[[nodiscard]] __device__ inline auto lc_warp_active_min(lc_ushort x) noexcept { +[[nodiscard]] __device__ auto lc_warp_active_min(lc_ushort x) noexcept { return static_cast(__reduce_min_sync(LC_WARP_ACTIVE_MASK, static_cast(x))); } -[[nodiscard]] __device__ inline auto lc_warp_active_max(lc_ushort x) noexcept { +[[nodiscard]] __device__ auto lc_warp_active_max(lc_ushort x) noexcept { return static_cast(__reduce_max_sync(LC_WARP_ACTIVE_MASK, static_cast(x))); } -[[nodiscard]] __device__ inline auto lc_warp_active_sum(lc_ushort x) noexcept { +[[nodiscard]] __device__ auto lc_warp_active_sum(lc_ushort x) noexcept { return static_cast(__reduce_add_sync(LC_WARP_ACTIVE_MASK, static_cast(x))); } -[[nodiscard]] __device__ inline auto lc_warp_active_min(lc_short x) noexcept { +[[nodiscard]] __device__ auto lc_warp_active_min(lc_short x) noexcept { return static_cast(__reduce_min_sync(LC_WARP_ACTIVE_MASK, static_cast(x))); } -[[nodiscard]] __device__ inline auto lc_warp_active_max(lc_short x) noexcept { +[[nodiscard]] __device__ auto lc_warp_active_max(lc_short x) noexcept { return static_cast(__reduce_max_sync(LC_WARP_ACTIVE_MASK, static_cast(x))); } -[[nodiscard]] __device__ inline auto lc_warp_active_sum(lc_short x) noexcept { +[[nodiscard]] __device__ auto lc_warp_active_sum(lc_short x) noexcept { return static_cast(__reduce_add_sync(LC_WARP_ACTIVE_MASK, static_cast(x))); } #else @@ -2873,20 +2873,20 @@ LC_WARP_ACTIVE_REDUCE_SCALAR(product, half) #undef LC_WARP_ACTIVE_REDUCE_SCALAR #define LC_WARP_ACTIVE_REDUCE_VECTOR2(op, T) \ - [[nodiscard]] __device__ inline auto lc_warp_active_##op(lc_##T##2 v) noexcept { \ + [[nodiscard]] __device__ auto lc_warp_active_##op(lc_##T##2 v) noexcept { \ return lc_make_##T##2(lc_warp_active_##op(v.x), \ lc_warp_active_##op(v.y)); \ } #define LC_WARP_ACTIVE_REDUCE_VECTOR3(op, T) \ - [[nodiscard]] __device__ inline auto lc_warp_active_##op(lc_##T##3 v) noexcept { \ + [[nodiscard]] __device__ auto lc_warp_active_##op(lc_##T##3 v) noexcept { \ return lc_make_##T##3(lc_warp_active_##op(v.x), \ lc_warp_active_##op(v.y), \ lc_warp_active_##op(v.z)); \ } #define LC_WARP_ACTIVE_REDUCE_VECTOR4(op, T) \ - [[nodiscard]] __device__ inline auto lc_warp_active_##op(lc_##T##4 v) noexcept { \ + [[nodiscard]] __device__ auto lc_warp_active_##op(lc_##T##4 v) noexcept { \ return lc_make_##T##4(lc_warp_active_##op(v.x), \ lc_warp_active_##op(v.y), \ lc_warp_active_##op(v.z), \ @@ -2922,7 +2922,7 @@ LC_WARP_ACTIVE_REDUCE(half) #undef LC_WARP_ACTIVE_REDUCE_VECTOR4 #undef LC_WARP_ACTIVE_REDUCE -[[nodiscard]] __device__ inline auto lc_warp_prev_active_lane() noexcept { +[[nodiscard]] __device__ auto lc_warp_prev_active_lane() noexcept { auto mask = 0u; asm("mov.u32 %0, %lanemask_lt;" : "=r"(mask)); @@ -2930,7 +2930,7 @@ LC_WARP_ACTIVE_REDUCE(half) } template -[[nodiscard]] __device__ inline auto lc_warp_prefix_reduce_impl(T x, T unit, F f) noexcept { +[[nodiscard]] __device__ auto lc_warp_prefix_reduce_impl(T x, T unit, F f) noexcept { auto mask = LC_WARP_ACTIVE_MASK; auto lane = lc_warp_lane_id(); x = __shfl_sync(mask, x, lc_warp_prev_active_lane()); @@ -2944,35 +2944,35 @@ template } template -[[nodiscard]] __device__ inline auto lc_warp_prefix_sum_impl(T x) noexcept { +[[nodiscard]] __device__ auto lc_warp_prefix_sum_impl(T x) noexcept { return lc_warp_prefix_reduce_impl(x, static_cast(0), [](T a, T b) noexcept { return a + b; }); } template -[[nodiscard]] __device__ inline auto lc_warp_prefix_product_impl(T x) noexcept { +[[nodiscard]] __device__ auto lc_warp_prefix_product_impl(T x) noexcept { return lc_warp_prefix_reduce_impl(x, static_cast(1), [](T a, T b) noexcept { return a * b; }); } #define LC_WARP_PREFIX_REDUCE_SCALAR(op, T) \ - [[nodiscard]] __device__ inline auto lc_warp_prefix_##op(lc_##T x) noexcept { \ + [[nodiscard]] __device__ auto lc_warp_prefix_##op(lc_##T x) noexcept { \ return lc_warp_prefix_##op##_impl(x); \ } #define LC_WARP_PREFIX_REDUCE_VECTOR2(op, T) \ - [[nodiscard]] __device__ inline auto lc_warp_prefix_##op(lc_##T##2 v) noexcept { \ + [[nodiscard]] __device__ auto lc_warp_prefix_##op(lc_##T##2 v) noexcept { \ return lc_make_##T##2(lc_warp_prefix_##op(v.x), \ lc_warp_prefix_##op(v.y)); \ } #define LC_WARP_PREFIX_REDUCE_VECTOR3(op, T) \ - [[nodiscard]] __device__ inline auto lc_warp_prefix_##op(lc_##T##3 v) noexcept { \ + [[nodiscard]] __device__ auto lc_warp_prefix_##op(lc_##T##3 v) noexcept { \ return lc_make_##T##3(lc_warp_prefix_##op(v.x), \ lc_warp_prefix_##op(v.y), \ lc_warp_prefix_##op(v.z)); \ } #define LC_WARP_PREFIX_REDUCE_VECTOR4(op, T) \ - [[nodiscard]] __device__ inline auto lc_warp_prefix_##op(lc_##T##4 v) noexcept { \ + [[nodiscard]] __device__ auto lc_warp_prefix_##op(lc_##T##4 v) noexcept { \ return lc_make_##T##4(lc_warp_prefix_##op(v.x), \ lc_warp_prefix_##op(v.y), \ lc_warp_prefix_##op(v.z), \ @@ -3022,7 +3022,7 @@ struct LCPrintBuffer { #endif template -__device__ inline void lc_print_impl(LCPrintBuffer buffer, T value) noexcept { +__device__ void lc_print_impl(LCPrintBuffer buffer, T value) noexcept { if (buffer.capacity == 0u || buffer.content == nullptr) { return; } auto offset = atomicAdd(&buffer.content->size, sizeof(T)); if (offset + sizeof(T) <= buffer.capacity) { diff --git a/src/backends/cuda/cuda_builtin_embedded.cpp b/src/backends/cuda/cuda_builtin_embedded.cpp index 73e52b9bc..c3b097b78 100644 --- a/src/backends/cuda/cuda_builtin_embedded.cpp +++ b/src/backends/cuda/cuda_builtin_embedded.cpp @@ -383,7 +383,7 @@ extern "C" const char luisa_cuda_builtin_cuda_builtin_kernels[6094] = { 0x73, 0x6c, 0x6f, 0x74, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x7d, 0x0a }; -extern "C" const char luisa_cuda_builtin_cuda_device_half[87792] = { +extern "C" const char luisa_cuda_builtin_cuda_device_half[84397] = { 0x2f, 0x2f, 0x0a, 0x2f, 0x2f, 0x20, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x20, 0x62, 0x79, 0x20, 0x4d, 0x69, 0x6b, 0x65, 0x20, 0x6f, 0x6e, 0x20, 0x31, 0x30, 0x2f, 0x31, 0x39, 0x2f, 0x32, 0x30, 0x32, 0x33, 0x2e, 0x0a, 0x2f, 0x2f, 0x0a, 0x0a, 0x23, 0x69, 0x66, 0x6e, 0x64, 0x65, 0x66, @@ -404,394 +404,352 @@ extern "C" const char luisa_cuda_builtin_cuda_device_half[87792] = { 0x74, 0x20, 0x79, 0x3b, 0x0a, 0x7d, 0x3b, 0x0a, 0x0a, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x3b, 0x0a, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x3b, 0x0a, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, - 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, - 0x66, 0x20, 0x5f, 0x5f, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x32, 0x68, 0x61, 0x6c, 0x66, 0x28, - 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x20, 0x61, 0x29, 0x3b, - 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, - 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x5f, 0x5f, 0x66, 0x6c, 0x6f, 0x61, - 0x74, 0x32, 0x68, 0x61, 0x6c, 0x66, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x66, 0x6c, 0x6f, - 0x61, 0x74, 0x20, 0x61, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, - 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, - 0x5f, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x32, 0x68, 0x61, 0x6c, 0x66, 0x5f, 0x72, 0x6e, 0x28, - 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x61, 0x29, 0x3b, 0x0a, - 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, - 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x5f, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, - 0x32, 0x68, 0x61, 0x6c, 0x66, 0x5f, 0x72, 0x7a, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x66, + 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x5f, 0x5f, 0x64, 0x6f, 0x75, + 0x62, 0x6c, 0x65, 0x32, 0x68, 0x61, 0x6c, 0x66, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x64, + 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x20, 0x61, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, + 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x5f, 0x5f, 0x66, 0x6c, + 0x6f, 0x61, 0x74, 0x32, 0x68, 0x61, 0x6c, 0x66, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x61, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, - 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, - 0x66, 0x20, 0x5f, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x32, 0x68, 0x61, 0x6c, 0x66, 0x5f, 0x72, - 0x64, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x61, 0x29, - 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, - 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x5f, 0x5f, 0x66, 0x6c, 0x6f, - 0x61, 0x74, 0x32, 0x68, 0x61, 0x6c, 0x66, 0x5f, 0x72, 0x75, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, + 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x5f, 0x5f, 0x66, 0x6c, 0x6f, + 0x61, 0x74, 0x32, 0x68, 0x61, 0x6c, 0x66, 0x5f, 0x72, 0x6e, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x61, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, - 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x66, 0x6c, 0x6f, - 0x61, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x28, - 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x61, 0x29, 0x3b, - 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, - 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x5f, 0x5f, 0x66, 0x6c, 0x6f, - 0x61, 0x74, 0x32, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x5f, 0x72, 0x6e, 0x28, 0x63, 0x6f, 0x6e, 0x73, - 0x74, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x61, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, - 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, - 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x5f, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x73, 0x32, 0x68, - 0x61, 0x6c, 0x66, 0x32, 0x5f, 0x72, 0x6e, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x66, 0x6c, - 0x6f, 0x61, 0x74, 0x20, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x66, 0x6c, 0x6f, - 0x61, 0x74, 0x20, 0x62, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, - 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x5f, - 0x5f, 0x6c, 0x6f, 0x77, 0x32, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, - 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x61, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, - 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x66, - 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x69, 0x67, 0x68, 0x32, 0x66, 0x6c, 0x6f, 0x61, - 0x74, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, - 0x61, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, - 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x63, 0x68, 0x61, - 0x72, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x63, 0x68, 0x61, 0x72, 0x5f, 0x72, 0x7a, - 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x68, 0x29, - 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, - 0x69, 0x6e, 0x65, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x63, 0x68, 0x61, - 0x72, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x75, 0x63, 0x68, 0x61, 0x72, 0x5f, 0x72, - 0x7a, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x68, - 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, - 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x5f, - 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x5f, 0x72, 0x7a, 0x28, 0x63, - 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x68, 0x29, 0x3b, 0x0a, - 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, - 0x65, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, - 0x20, 0x69, 0x6e, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x75, 0x73, 0x68, 0x6f, - 0x72, 0x74, 0x5f, 0x72, 0x7a, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, - 0x6c, 0x66, 0x20, 0x68, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, - 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x5f, 0x5f, 0x68, + 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x5f, 0x5f, 0x66, + 0x6c, 0x6f, 0x61, 0x74, 0x32, 0x68, 0x61, 0x6c, 0x66, 0x5f, 0x72, 0x7a, 0x28, 0x63, 0x6f, 0x6e, + 0x73, 0x74, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x61, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, + 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x5f, + 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x32, 0x68, 0x61, 0x6c, 0x66, 0x5f, 0x72, 0x64, 0x28, 0x63, + 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x61, 0x29, 0x3b, 0x0a, 0x5f, + 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, + 0x20, 0x5f, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x32, 0x68, 0x61, 0x6c, 0x66, 0x5f, 0x72, 0x75, + 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x61, 0x29, 0x3b, + 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x66, 0x6c, 0x6f, 0x61, + 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x28, 0x63, + 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x61, 0x29, 0x3b, 0x0a, + 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, + 0x66, 0x32, 0x20, 0x5f, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x32, 0x68, 0x61, 0x6c, 0x66, 0x32, + 0x5f, 0x72, 0x6e, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, + 0x61, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, + 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x5f, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x73, 0x32, + 0x68, 0x61, 0x6c, 0x66, 0x32, 0x5f, 0x72, 0x6e, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x66, + 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x66, 0x6c, + 0x6f, 0x61, 0x74, 0x20, 0x62, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, + 0x5f, 0x5f, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x5f, 0x5f, 0x6c, 0x6f, 0x77, 0x32, 0x66, + 0x6c, 0x6f, 0x61, 0x74, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, + 0x66, 0x32, 0x20, 0x61, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, + 0x5f, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x69, 0x67, 0x68, 0x32, 0x66, + 0x6c, 0x6f, 0x61, 0x74, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, + 0x66, 0x32, 0x20, 0x61, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, + 0x5f, 0x20, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x63, 0x68, 0x61, 0x72, 0x20, 0x5f, 0x5f, + 0x68, 0x61, 0x6c, 0x66, 0x32, 0x63, 0x68, 0x61, 0x72, 0x5f, 0x72, 0x7a, 0x28, 0x63, 0x6f, 0x6e, + 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x68, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, + 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, + 0x64, 0x20, 0x63, 0x68, 0x61, 0x72, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x75, 0x63, + 0x68, 0x61, 0x72, 0x5f, 0x72, 0x7a, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, + 0x61, 0x6c, 0x66, 0x20, 0x68, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, + 0x5f, 0x5f, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x5f, 0x5f, 0x68, + 0x61, 0x6c, 0x66, 0x32, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x5f, 0x72, 0x7a, 0x28, 0x63, 0x6f, 0x6e, + 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x68, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, + 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, + 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, + 0x6c, 0x66, 0x32, 0x75, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x5f, 0x72, 0x7a, 0x28, 0x63, 0x6f, 0x6e, + 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x68, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, + 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x69, 0x6e, 0x74, 0x5f, 0x72, 0x7a, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x68, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, - 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x75, 0x6e, - 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, - 0x66, 0x32, 0x75, 0x69, 0x6e, 0x74, 0x5f, 0x72, 0x7a, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, + 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, + 0x69, 0x6e, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x75, 0x69, 0x6e, 0x74, 0x5f, + 0x72, 0x7a, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, + 0x68, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x6c, + 0x6f, 0x6e, 0x67, 0x20, 0x6c, 0x6f, 0x6e, 0x67, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x5f, 0x5f, 0x68, + 0x61, 0x6c, 0x66, 0x32, 0x6c, 0x6c, 0x5f, 0x72, 0x7a, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x68, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, - 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x6c, 0x6f, 0x6e, - 0x67, 0x20, 0x6c, 0x6f, 0x6e, 0x67, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, - 0x66, 0x32, 0x6c, 0x6c, 0x5f, 0x72, 0x7a, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, - 0x68, 0x61, 0x6c, 0x66, 0x20, 0x68, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, - 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, - 0x6e, 0x65, 0x64, 0x20, 0x6c, 0x6f, 0x6e, 0x67, 0x20, 0x6c, 0x6f, 0x6e, 0x67, 0x20, 0x69, 0x6e, - 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x75, 0x6c, 0x6c, 0x5f, 0x72, 0x7a, 0x28, - 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x68, 0x29, 0x3b, - 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, - 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x6d, 0x61, 0x6b, 0x65, 0x5f, - 0x68, 0x61, 0x6c, 0x66, 0x32, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, - 0x6c, 0x66, 0x20, 0x78, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, - 0x6c, 0x66, 0x20, 0x79, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, - 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, - 0x20, 0x5f, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x32, 0x32, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x5f, - 0x72, 0x6e, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x32, 0x20, + 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x6c, + 0x6f, 0x6e, 0x67, 0x20, 0x6c, 0x6f, 0x6e, 0x67, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x5f, 0x5f, 0x68, + 0x61, 0x6c, 0x66, 0x32, 0x75, 0x6c, 0x6c, 0x5f, 0x72, 0x7a, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, + 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x68, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, + 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x6d, + 0x61, 0x6b, 0x65, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, + 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x78, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, + 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x79, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, + 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x5f, 0x5f, + 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x32, 0x32, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x5f, 0x72, 0x6e, 0x28, + 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x32, 0x20, 0x61, 0x29, 0x3b, + 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x66, 0x6c, 0x6f, 0x61, + 0x74, 0x32, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x32, 0x66, 0x6c, 0x6f, 0x61, 0x74, + 0x32, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x61, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, - 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x32, 0x20, 0x5f, 0x5f, 0x68, - 0x61, 0x6c, 0x66, 0x32, 0x32, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x32, 0x28, 0x63, 0x6f, 0x6e, 0x73, - 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x61, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, - 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, - 0x69, 0x6e, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x69, 0x6e, 0x74, 0x5f, 0x72, - 0x6e, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x68, - 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, - 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, - 0x69, 0x6e, 0x74, 0x5f, 0x72, 0x64, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, - 0x61, 0x6c, 0x66, 0x20, 0x68, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, - 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x5f, 0x5f, - 0x68, 0x61, 0x6c, 0x66, 0x32, 0x69, 0x6e, 0x74, 0x5f, 0x72, 0x75, 0x28, 0x63, 0x6f, 0x6e, 0x73, - 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x68, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, - 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, - 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x5f, 0x5f, 0x69, 0x6e, 0x74, 0x32, 0x68, 0x61, 0x6c, 0x66, - 0x5f, 0x72, 0x6e, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x69, 0x29, - 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, - 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x5f, 0x5f, 0x69, 0x6e, 0x74, - 0x32, 0x68, 0x61, 0x6c, 0x66, 0x5f, 0x72, 0x7a, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x69, - 0x6e, 0x74, 0x20, 0x69, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, - 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, - 0x5f, 0x5f, 0x69, 0x6e, 0x74, 0x32, 0x68, 0x61, 0x6c, 0x66, 0x5f, 0x72, 0x64, 0x28, 0x63, 0x6f, - 0x6e, 0x73, 0x74, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x69, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, - 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, - 0x68, 0x61, 0x6c, 0x66, 0x20, 0x5f, 0x5f, 0x69, 0x6e, 0x74, 0x32, 0x68, 0x61, 0x6c, 0x66, 0x5f, - 0x72, 0x75, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x69, 0x29, 0x3b, - 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, - 0x6e, 0x65, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x5f, 0x5f, 0x68, - 0x61, 0x6c, 0x66, 0x32, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x5f, 0x72, 0x6e, 0x28, 0x63, 0x6f, 0x6e, + 0x6e, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x69, 0x6e, 0x74, 0x5f, 0x72, 0x6e, + 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x68, 0x29, + 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x74, + 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x69, 0x6e, 0x74, 0x5f, 0x72, 0x64, 0x28, 0x63, + 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x68, 0x29, 0x3b, 0x0a, + 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x5f, + 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x69, 0x6e, 0x74, 0x5f, 0x72, 0x75, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x68, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, - 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, - 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, - 0x32, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x5f, 0x72, 0x64, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, - 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x68, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, - 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x73, 0x68, 0x6f, + 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, + 0x5f, 0x5f, 0x69, 0x6e, 0x74, 0x32, 0x68, 0x61, 0x6c, 0x66, 0x5f, 0x72, 0x6e, 0x28, 0x63, 0x6f, + 0x6e, 0x73, 0x74, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x69, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, + 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x5f, 0x5f, + 0x69, 0x6e, 0x74, 0x32, 0x68, 0x61, 0x6c, 0x66, 0x5f, 0x72, 0x7a, 0x28, 0x63, 0x6f, 0x6e, 0x73, + 0x74, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x69, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, + 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x5f, 0x5f, 0x69, 0x6e, + 0x74, 0x32, 0x68, 0x61, 0x6c, 0x66, 0x5f, 0x72, 0x64, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, + 0x69, 0x6e, 0x74, 0x20, 0x69, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, + 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x5f, 0x5f, 0x69, 0x6e, 0x74, 0x32, + 0x68, 0x61, 0x6c, 0x66, 0x5f, 0x72, 0x75, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x69, 0x6e, + 0x74, 0x20, 0x69, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, + 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, + 0x66, 0x32, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x5f, 0x72, 0x6e, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, + 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x68, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, + 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x69, 0x6e, 0x74, + 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x5f, 0x72, 0x64, + 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x68, 0x29, + 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x5f, 0x72, 0x75, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x68, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, - 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, - 0x20, 0x5f, 0x5f, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x32, 0x68, 0x61, 0x6c, 0x66, 0x5f, 0x72, 0x6e, - 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x69, 0x6e, 0x74, - 0x20, 0x69, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, - 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x5f, 0x5f, - 0x73, 0x68, 0x6f, 0x72, 0x74, 0x32, 0x68, 0x61, 0x6c, 0x66, 0x5f, 0x72, 0x7a, 0x28, 0x63, 0x6f, - 0x6e, 0x73, 0x74, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x69, 0x29, - 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, - 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x5f, 0x5f, 0x73, 0x68, 0x6f, - 0x72, 0x74, 0x32, 0x68, 0x61, 0x6c, 0x66, 0x5f, 0x72, 0x64, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, - 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x69, 0x29, 0x3b, 0x0a, 0x5f, - 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, - 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x5f, 0x5f, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x32, - 0x68, 0x61, 0x6c, 0x66, 0x5f, 0x72, 0x75, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x73, 0x68, - 0x6f, 0x72, 0x74, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x69, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, - 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x75, 0x6e, - 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, - 0x66, 0x32, 0x75, 0x69, 0x6e, 0x74, 0x5f, 0x72, 0x6e, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, - 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x68, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, - 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x75, 0x6e, 0x73, - 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, - 0x32, 0x75, 0x69, 0x6e, 0x74, 0x5f, 0x72, 0x64, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, - 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x68, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, - 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x75, 0x6e, 0x73, 0x69, - 0x67, 0x6e, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, - 0x75, 0x69, 0x6e, 0x74, 0x5f, 0x72, 0x75, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, - 0x68, 0x61, 0x6c, 0x66, 0x20, 0x68, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, - 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, - 0x66, 0x20, 0x5f, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x32, 0x68, 0x61, 0x6c, 0x66, 0x5f, 0x72, 0x6e, + 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x5f, 0x5f, 0x73, 0x68, 0x6f, 0x72, + 0x74, 0x32, 0x68, 0x61, 0x6c, 0x66, 0x5f, 0x72, 0x6e, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, + 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x69, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, + 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, + 0x5f, 0x5f, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x32, 0x68, 0x61, 0x6c, 0x66, 0x5f, 0x72, 0x7a, 0x28, + 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x69, 0x6e, 0x74, 0x20, + 0x69, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, + 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x5f, 0x5f, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x32, 0x68, 0x61, + 0x6c, 0x66, 0x5f, 0x72, 0x64, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x73, 0x68, 0x6f, 0x72, + 0x74, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x69, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, + 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x5f, 0x5f, 0x73, 0x68, + 0x6f, 0x72, 0x74, 0x32, 0x68, 0x61, 0x6c, 0x66, 0x5f, 0x72, 0x75, 0x28, 0x63, 0x6f, 0x6e, 0x73, + 0x74, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x69, 0x29, 0x3b, 0x0a, + 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, + 0x6e, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x75, + 0x69, 0x6e, 0x74, 0x5f, 0x72, 0x6e, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, + 0x61, 0x6c, 0x66, 0x20, 0x68, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, + 0x5f, 0x5f, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x74, 0x20, + 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x75, 0x69, 0x6e, 0x74, 0x5f, 0x72, 0x64, 0x28, 0x63, + 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x68, 0x29, 0x3b, 0x0a, + 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, + 0x6e, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x75, + 0x69, 0x6e, 0x74, 0x5f, 0x72, 0x75, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, + 0x61, 0x6c, 0x66, 0x20, 0x68, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, + 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x5f, 0x5f, 0x75, 0x69, 0x6e, 0x74, + 0x32, 0x68, 0x61, 0x6c, 0x66, 0x5f, 0x72, 0x6e, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, + 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x69, 0x29, 0x3b, 0x0a, + 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, + 0x66, 0x20, 0x5f, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x32, 0x68, 0x61, 0x6c, 0x66, 0x5f, 0x72, 0x7a, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x69, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, - 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, - 0x20, 0x5f, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x32, 0x68, 0x61, 0x6c, 0x66, 0x5f, 0x72, 0x7a, 0x28, - 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x69, - 0x6e, 0x74, 0x20, 0x69, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, - 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, - 0x5f, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x32, 0x68, 0x61, 0x6c, 0x66, 0x5f, 0x72, 0x64, 0x28, 0x63, - 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x69, 0x6e, - 0x74, 0x20, 0x69, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, - 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x5f, - 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x32, 0x68, 0x61, 0x6c, 0x66, 0x5f, 0x72, 0x75, 0x28, 0x63, 0x6f, - 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x74, - 0x20, 0x69, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, - 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, - 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, - 0x32, 0x75, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x5f, 0x72, 0x6e, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, - 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x68, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, - 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x75, 0x6e, - 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x69, 0x6e, 0x74, - 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x75, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x5f, 0x72, - 0x64, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x68, - 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, - 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, - 0x6f, 0x72, 0x74, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x75, - 0x73, 0x68, 0x6f, 0x72, 0x74, 0x5f, 0x72, 0x75, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, - 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x68, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, - 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, - 0x6c, 0x66, 0x20, 0x5f, 0x5f, 0x75, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x32, 0x68, 0x61, 0x6c, 0x66, - 0x5f, 0x72, 0x6e, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, - 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x69, 0x29, 0x3b, - 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, - 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x5f, 0x5f, 0x75, 0x73, 0x68, 0x6f, + 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x5f, 0x5f, 0x75, 0x69, 0x6e, 0x74, + 0x32, 0x68, 0x61, 0x6c, 0x66, 0x5f, 0x72, 0x64, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, + 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x69, 0x29, 0x3b, 0x0a, + 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, + 0x66, 0x20, 0x5f, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x32, 0x68, 0x61, 0x6c, 0x66, 0x5f, 0x72, 0x75, + 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, + 0x69, 0x6e, 0x74, 0x20, 0x69, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, + 0x5f, 0x5f, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, + 0x74, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x75, 0x73, 0x68, + 0x6f, 0x72, 0x74, 0x5f, 0x72, 0x6e, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, + 0x61, 0x6c, 0x66, 0x20, 0x68, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, + 0x5f, 0x5f, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, + 0x74, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x75, 0x73, 0x68, + 0x6f, 0x72, 0x74, 0x5f, 0x72, 0x64, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, + 0x61, 0x6c, 0x66, 0x20, 0x68, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, + 0x5f, 0x5f, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, + 0x74, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x75, 0x73, 0x68, + 0x6f, 0x72, 0x74, 0x5f, 0x72, 0x75, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, + 0x61, 0x6c, 0x66, 0x20, 0x68, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, + 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x5f, 0x5f, 0x75, 0x73, 0x68, 0x6f, + 0x72, 0x74, 0x32, 0x68, 0x61, 0x6c, 0x66, 0x5f, 0x72, 0x6e, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, + 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, + 0x69, 0x6e, 0x74, 0x20, 0x69, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, + 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x5f, 0x5f, 0x75, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x32, 0x68, 0x61, 0x6c, 0x66, 0x5f, 0x72, 0x7a, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x69, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, - 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, - 0x20, 0x5f, 0x5f, 0x75, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x32, 0x68, 0x61, 0x6c, 0x66, 0x5f, 0x72, - 0x64, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, - 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x69, 0x29, 0x3b, 0x0a, 0x5f, - 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, - 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x5f, 0x5f, 0x75, 0x73, 0x68, 0x6f, 0x72, 0x74, - 0x32, 0x68, 0x61, 0x6c, 0x66, 0x5f, 0x72, 0x75, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, - 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x69, 0x6e, - 0x74, 0x20, 0x69, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, - 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, - 0x20, 0x6c, 0x6f, 0x6e, 0x67, 0x20, 0x6c, 0x6f, 0x6e, 0x67, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x5f, - 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x75, 0x6c, 0x6c, 0x5f, 0x72, 0x6e, 0x28, 0x63, 0x6f, 0x6e, - 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x68, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, - 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, - 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x6c, 0x6f, 0x6e, 0x67, 0x20, 0x6c, 0x6f, - 0x6e, 0x67, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x75, 0x6c, - 0x6c, 0x5f, 0x72, 0x64, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, - 0x66, 0x20, 0x68, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, - 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, - 0x20, 0x6c, 0x6f, 0x6e, 0x67, 0x20, 0x6c, 0x6f, 0x6e, 0x67, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x5f, - 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x75, 0x6c, 0x6c, 0x5f, 0x72, 0x75, 0x28, 0x63, 0x6f, 0x6e, - 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x68, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, - 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, - 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x5f, 0x5f, 0x75, 0x6c, 0x6c, 0x32, 0x68, 0x61, 0x6c, - 0x66, 0x5f, 0x72, 0x6e, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, - 0x6e, 0x65, 0x64, 0x20, 0x6c, 0x6f, 0x6e, 0x67, 0x20, 0x6c, 0x6f, 0x6e, 0x67, 0x20, 0x69, 0x6e, - 0x74, 0x20, 0x69, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, - 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x5f, - 0x5f, 0x75, 0x6c, 0x6c, 0x32, 0x68, 0x61, 0x6c, 0x66, 0x5f, 0x72, 0x7a, 0x28, 0x63, 0x6f, 0x6e, - 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x6c, 0x6f, 0x6e, 0x67, - 0x20, 0x6c, 0x6f, 0x6e, 0x67, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x69, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, - 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, - 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x5f, 0x5f, 0x75, 0x6c, 0x6c, 0x32, 0x68, 0x61, 0x6c, - 0x66, 0x5f, 0x72, 0x64, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, - 0x6e, 0x65, 0x64, 0x20, 0x6c, 0x6f, 0x6e, 0x67, 0x20, 0x6c, 0x6f, 0x6e, 0x67, 0x20, 0x69, 0x6e, - 0x74, 0x20, 0x69, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, - 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x5f, - 0x5f, 0x75, 0x6c, 0x6c, 0x32, 0x68, 0x61, 0x6c, 0x66, 0x5f, 0x72, 0x75, 0x28, 0x63, 0x6f, 0x6e, + 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x5f, 0x5f, 0x75, 0x73, 0x68, 0x6f, + 0x72, 0x74, 0x32, 0x68, 0x61, 0x6c, 0x66, 0x5f, 0x72, 0x64, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, + 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, + 0x69, 0x6e, 0x74, 0x20, 0x69, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, + 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x5f, 0x5f, 0x75, 0x73, 0x68, 0x6f, + 0x72, 0x74, 0x32, 0x68, 0x61, 0x6c, 0x66, 0x5f, 0x72, 0x75, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, + 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, + 0x69, 0x6e, 0x74, 0x20, 0x69, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, + 0x5f, 0x5f, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x6c, 0x6f, 0x6e, 0x67, + 0x20, 0x6c, 0x6f, 0x6e, 0x67, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, + 0x32, 0x75, 0x6c, 0x6c, 0x5f, 0x72, 0x6e, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, + 0x68, 0x61, 0x6c, 0x66, 0x20, 0x68, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, + 0x65, 0x5f, 0x5f, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x6c, 0x6f, 0x6e, + 0x67, 0x20, 0x6c, 0x6f, 0x6e, 0x67, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, + 0x66, 0x32, 0x75, 0x6c, 0x6c, 0x5f, 0x72, 0x64, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, + 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x68, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, + 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x6c, 0x6f, + 0x6e, 0x67, 0x20, 0x6c, 0x6f, 0x6e, 0x67, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, + 0x6c, 0x66, 0x32, 0x75, 0x6c, 0x6c, 0x5f, 0x72, 0x75, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, + 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x68, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, + 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x5f, 0x5f, 0x75, + 0x6c, 0x6c, 0x32, 0x68, 0x61, 0x6c, 0x66, 0x5f, 0x72, 0x6e, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, + 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x6c, 0x6f, 0x6e, 0x67, 0x20, 0x6c, + 0x6f, 0x6e, 0x67, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x69, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, + 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x5f, 0x5f, + 0x75, 0x6c, 0x6c, 0x32, 0x68, 0x61, 0x6c, 0x66, 0x5f, 0x72, 0x7a, 0x28, 0x63, 0x6f, 0x6e, 0x73, + 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x6c, 0x6f, 0x6e, 0x67, 0x20, + 0x6c, 0x6f, 0x6e, 0x67, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x69, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, + 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x5f, + 0x5f, 0x75, 0x6c, 0x6c, 0x32, 0x68, 0x61, 0x6c, 0x66, 0x5f, 0x72, 0x64, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x6c, 0x6f, 0x6e, 0x67, 0x20, 0x6c, 0x6f, 0x6e, 0x67, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x69, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, - 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, - 0x6c, 0x6f, 0x6e, 0x67, 0x20, 0x6c, 0x6f, 0x6e, 0x67, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x5f, 0x5f, - 0x68, 0x61, 0x6c, 0x66, 0x32, 0x6c, 0x6c, 0x5f, 0x72, 0x6e, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, - 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x68, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, - 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x6c, 0x6f, - 0x6e, 0x67, 0x20, 0x6c, 0x6f, 0x6e, 0x67, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, - 0x6c, 0x66, 0x32, 0x6c, 0x6c, 0x5f, 0x72, 0x64, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, - 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x68, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, - 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x6c, 0x6f, 0x6e, 0x67, - 0x20, 0x6c, 0x6f, 0x6e, 0x67, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, - 0x32, 0x6c, 0x6c, 0x5f, 0x72, 0x75, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, - 0x61, 0x6c, 0x66, 0x20, 0x68, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, - 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, - 0x20, 0x5f, 0x5f, 0x6c, 0x6c, 0x32, 0x68, 0x61, 0x6c, 0x66, 0x5f, 0x72, 0x6e, 0x28, 0x63, 0x6f, - 0x6e, 0x73, 0x74, 0x20, 0x6c, 0x6f, 0x6e, 0x67, 0x20, 0x6c, 0x6f, 0x6e, 0x67, 0x20, 0x69, 0x6e, - 0x74, 0x20, 0x69, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, - 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x5f, - 0x5f, 0x6c, 0x6c, 0x32, 0x68, 0x61, 0x6c, 0x66, 0x5f, 0x72, 0x7a, 0x28, 0x63, 0x6f, 0x6e, 0x73, - 0x74, 0x20, 0x6c, 0x6f, 0x6e, 0x67, 0x20, 0x6c, 0x6f, 0x6e, 0x67, 0x20, 0x69, 0x6e, 0x74, 0x20, - 0x69, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, - 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x5f, 0x5f, 0x6c, - 0x6c, 0x32, 0x68, 0x61, 0x6c, 0x66, 0x5f, 0x72, 0x64, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, + 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, + 0x5f, 0x5f, 0x75, 0x6c, 0x6c, 0x32, 0x68, 0x61, 0x6c, 0x66, 0x5f, 0x72, 0x75, 0x28, 0x63, 0x6f, + 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x6c, 0x6f, 0x6e, + 0x67, 0x20, 0x6c, 0x6f, 0x6e, 0x67, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x69, 0x29, 0x3b, 0x0a, 0x5f, + 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x6c, 0x6f, 0x6e, 0x67, 0x20, 0x6c, + 0x6f, 0x6e, 0x67, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x6c, + 0x6c, 0x5f, 0x72, 0x6e, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, + 0x66, 0x20, 0x68, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, + 0x20, 0x6c, 0x6f, 0x6e, 0x67, 0x20, 0x6c, 0x6f, 0x6e, 0x67, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x5f, + 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x6c, 0x6c, 0x5f, 0x72, 0x64, 0x28, 0x63, 0x6f, 0x6e, 0x73, + 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x68, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, + 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x6c, 0x6f, 0x6e, 0x67, 0x20, 0x6c, 0x6f, 0x6e, + 0x67, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x6c, 0x6c, 0x5f, + 0x72, 0x75, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, + 0x68, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, + 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x5f, 0x5f, 0x6c, 0x6c, 0x32, 0x68, 0x61, 0x6c, 0x66, 0x5f, + 0x72, 0x6e, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x6c, 0x6f, 0x6e, 0x67, 0x20, 0x6c, 0x6f, + 0x6e, 0x67, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x69, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, + 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x5f, 0x5f, 0x6c, + 0x6c, 0x32, 0x68, 0x61, 0x6c, 0x66, 0x5f, 0x72, 0x7a, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x6c, 0x6f, 0x6e, 0x67, 0x20, 0x6c, 0x6f, 0x6e, 0x67, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x69, 0x29, - 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, - 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x5f, 0x5f, 0x6c, 0x6c, 0x32, + 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, + 0x61, 0x6c, 0x66, 0x20, 0x5f, 0x5f, 0x6c, 0x6c, 0x32, 0x68, 0x61, 0x6c, 0x66, 0x5f, 0x72, 0x64, + 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x6c, 0x6f, 0x6e, 0x67, 0x20, 0x6c, 0x6f, 0x6e, 0x67, + 0x20, 0x69, 0x6e, 0x74, 0x20, 0x69, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, + 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x5f, 0x5f, 0x6c, 0x6c, 0x32, 0x68, 0x61, 0x6c, 0x66, 0x5f, 0x72, 0x75, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x6c, 0x6f, 0x6e, 0x67, 0x20, 0x6c, 0x6f, 0x6e, 0x67, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x69, 0x29, 0x3b, 0x0a, - 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, - 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x68, 0x74, 0x72, 0x75, 0x6e, 0x63, 0x28, - 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x68, 0x29, 0x3b, - 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, - 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x68, 0x63, 0x65, 0x69, 0x6c, 0x28, - 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x68, 0x29, 0x3b, - 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, - 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x68, 0x66, 0x6c, 0x6f, 0x6f, 0x72, - 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x68, 0x29, - 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, - 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x68, 0x72, 0x69, 0x6e, 0x74, - 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x68, 0x29, - 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, - 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x68, 0x32, 0x74, 0x72, - 0x75, 0x6e, 0x63, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, - 0x32, 0x20, 0x68, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, - 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, - 0x68, 0x32, 0x63, 0x65, 0x69, 0x6c, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, - 0x61, 0x6c, 0x66, 0x32, 0x20, 0x68, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, - 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, - 0x66, 0x32, 0x20, 0x68, 0x32, 0x66, 0x6c, 0x6f, 0x6f, 0x72, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, - 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x68, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, - 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, - 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x68, 0x32, 0x72, 0x69, 0x6e, 0x74, 0x28, 0x63, 0x6f, - 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x68, 0x29, 0x3b, 0x0a, - 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, - 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, - 0x32, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, - 0x61, 0x6c, 0x66, 0x20, 0x61, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, - 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, - 0x32, 0x20, 0x5f, 0x5f, 0x6c, 0x6f, 0x77, 0x68, 0x69, 0x67, 0x68, 0x32, 0x68, 0x69, 0x67, 0x68, - 0x6c, 0x6f, 0x77, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, + 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, + 0x66, 0x20, 0x68, 0x74, 0x72, 0x75, 0x6e, 0x63, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, + 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x68, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, + 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x68, 0x63, 0x65, 0x69, + 0x6c, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x68, + 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, + 0x68, 0x61, 0x6c, 0x66, 0x20, 0x68, 0x66, 0x6c, 0x6f, 0x6f, 0x72, 0x28, 0x63, 0x6f, 0x6e, 0x73, + 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x68, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, + 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x68, + 0x72, 0x69, 0x6e, 0x74, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, + 0x66, 0x20, 0x68, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, + 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x68, 0x32, 0x74, 0x72, 0x75, 0x6e, 0x63, + 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x68, + 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, + 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x68, 0x32, 0x63, 0x65, 0x69, 0x6c, 0x28, 0x63, 0x6f, 0x6e, + 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x68, 0x29, 0x3b, 0x0a, 0x5f, + 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, + 0x32, 0x20, 0x68, 0x32, 0x66, 0x6c, 0x6f, 0x6f, 0x72, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, + 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x68, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, + 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x68, + 0x32, 0x72, 0x69, 0x6e, 0x74, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, + 0x6c, 0x66, 0x32, 0x20, 0x68, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, + 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, + 0x66, 0x32, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, + 0x68, 0x61, 0x6c, 0x66, 0x20, 0x61, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, + 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x5f, 0x5f, 0x6c, 0x6f, + 0x77, 0x68, 0x69, 0x67, 0x68, 0x32, 0x68, 0x69, 0x67, 0x68, 0x6c, 0x6f, 0x77, 0x28, 0x63, 0x6f, + 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x61, 0x29, 0x3b, 0x0a, + 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, + 0x66, 0x32, 0x20, 0x5f, 0x5f, 0x6c, 0x6f, 0x77, 0x73, 0x32, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x28, + 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x61, 0x2c, + 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x62, + 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, + 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x5f, 0x5f, 0x68, 0x69, 0x67, 0x68, 0x73, 0x32, 0x68, 0x61, + 0x6c, 0x66, 0x32, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, + 0x32, 0x20, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, + 0x66, 0x32, 0x20, 0x62, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, + 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x5f, 0x5f, 0x68, 0x69, 0x67, 0x68, 0x32, + 0x68, 0x61, 0x6c, 0x66, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, + 0x66, 0x32, 0x20, 0x61, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, + 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x5f, 0x5f, 0x6c, 0x6f, 0x77, 0x32, 0x68, + 0x61, 0x6c, 0x66, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x61, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, - 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, - 0x5f, 0x5f, 0x6c, 0x6f, 0x77, 0x73, 0x32, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x28, 0x63, 0x6f, 0x6e, - 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x61, 0x2c, 0x20, 0x63, 0x6f, - 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x62, 0x29, 0x3b, 0x0a, - 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, - 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x5f, 0x5f, 0x68, 0x69, 0x67, 0x68, - 0x73, 0x32, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, - 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, - 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x62, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, - 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, - 0x61, 0x6c, 0x66, 0x20, 0x5f, 0x5f, 0x68, 0x69, 0x67, 0x68, 0x32, 0x68, 0x61, 0x6c, 0x66, 0x28, - 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x61, 0x29, - 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, - 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x5f, 0x5f, 0x6c, 0x6f, 0x77, - 0x32, 0x68, 0x61, 0x6c, 0x66, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, - 0x6c, 0x66, 0x32, 0x20, 0x61, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, - 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x5f, 0x5f, - 0x68, 0x69, 0x73, 0x69, 0x6e, 0x66, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, - 0x61, 0x6c, 0x66, 0x20, 0x61, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, - 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, + 0x20, 0x69, 0x6e, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x69, 0x73, 0x69, 0x6e, 0x66, 0x28, 0x63, 0x6f, + 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x61, 0x29, 0x3b, 0x0a, 0x5f, + 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x76, 0x65, 0x73, 0x32, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x62, 0x29, - 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, - 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x5f, 0x5f, 0x6c, 0x6f, - 0x77, 0x32, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, - 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x61, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, - 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, - 0x6c, 0x66, 0x32, 0x20, 0x5f, 0x5f, 0x68, 0x69, 0x67, 0x68, 0x32, 0x68, 0x61, 0x6c, 0x66, 0x32, + 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, + 0x61, 0x6c, 0x66, 0x32, 0x20, 0x5f, 0x5f, 0x6c, 0x6f, 0x77, 0x32, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x61, - 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, - 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x5f, - 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x5f, 0x61, 0x73, 0x5f, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x28, 0x63, - 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x68, 0x29, 0x3b, 0x0a, - 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, - 0x65, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, - 0x20, 0x69, 0x6e, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x5f, 0x61, 0x73, 0x5f, 0x75, - 0x73, 0x68, 0x6f, 0x72, 0x74, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, - 0x6c, 0x66, 0x20, 0x68, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, - 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, - 0x5f, 0x5f, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x5f, 0x61, 0x73, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x28, - 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x69, 0x6e, 0x74, 0x20, - 0x69, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, - 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x5f, 0x5f, 0x75, - 0x73, 0x68, 0x6f, 0x72, 0x74, 0x5f, 0x61, 0x73, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x28, 0x63, 0x6f, - 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, - 0x72, 0x74, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x69, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, - 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, - 0x61, 0x6c, 0x66, 0x20, 0x5f, 0x5f, 0x68, 0x6d, 0x61, 0x78, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, - 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, - 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x62, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, - 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, - 0x68, 0x61, 0x6c, 0x66, 0x20, 0x5f, 0x5f, 0x68, 0x6d, 0x69, 0x6e, 0x28, 0x63, 0x6f, 0x6e, 0x73, - 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, - 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x62, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, - 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, - 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x5f, 0x5f, 0x68, 0x6d, 0x61, 0x78, 0x32, 0x28, 0x63, - 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x61, 0x2c, 0x20, - 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x62, 0x29, - 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, - 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x5f, 0x5f, 0x68, 0x6d, - 0x69, 0x6e, 0x32, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, - 0x32, 0x20, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, - 0x66, 0x32, 0x20, 0x62, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, - 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, - 0x20, 0x5f, 0x5f, 0x73, 0x68, 0x66, 0x6c, 0x5f, 0x73, 0x79, 0x6e, 0x63, 0x28, 0x63, 0x6f, 0x6e, + 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, + 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x5f, 0x5f, 0x68, 0x69, 0x67, 0x68, 0x32, 0x68, 0x61, 0x6c, + 0x66, 0x32, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, + 0x20, 0x61, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, + 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, + 0x5f, 0x61, 0x73, 0x5f, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, + 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x68, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, + 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, + 0x68, 0x6f, 0x72, 0x74, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x5f, + 0x61, 0x73, 0x5f, 0x75, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, + 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x68, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, + 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x5f, 0x5f, 0x73, + 0x68, 0x6f, 0x72, 0x74, 0x5f, 0x61, 0x73, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x28, 0x63, 0x6f, 0x6e, + 0x73, 0x74, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x69, 0x29, 0x3b, + 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, + 0x6c, 0x66, 0x20, 0x5f, 0x5f, 0x75, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x5f, 0x61, 0x73, 0x5f, 0x68, + 0x61, 0x6c, 0x66, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, + 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x69, 0x29, 0x3b, + 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, + 0x6c, 0x66, 0x20, 0x5f, 0x5f, 0x68, 0x6d, 0x61, 0x78, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, + 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, + 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x62, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, + 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x5f, 0x5f, 0x68, + 0x6d, 0x69, 0x6e, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, + 0x20, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, + 0x20, 0x62, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, + 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x5f, 0x5f, 0x68, 0x6d, 0x61, 0x78, 0x32, 0x28, + 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x61, 0x2c, + 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x62, + 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, + 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x5f, 0x5f, 0x68, 0x6d, 0x69, 0x6e, 0x32, 0x28, 0x63, 0x6f, + 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x61, 0x2c, 0x20, 0x63, + 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x62, 0x29, 0x3b, + 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, + 0x6c, 0x66, 0x32, 0x20, 0x5f, 0x5f, 0x73, 0x68, 0x66, 0x6c, 0x5f, 0x73, 0x79, 0x6e, 0x63, 0x28, + 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x6d, + 0x61, 0x73, 0x6b, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, + 0x66, 0x32, 0x20, 0x76, 0x61, 0x72, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x69, 0x6e, + 0x74, 0x20, 0x64, 0x65, 0x6c, 0x74, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x69, + 0x6e, 0x74, 0x20, 0x77, 0x69, 0x64, 0x74, 0x68, 0x20, 0x3d, 0x20, 0x77, 0x61, 0x72, 0x70, 0x53, + 0x69, 0x7a, 0x65, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, + 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x5f, 0x5f, 0x73, 0x68, 0x66, 0x6c, 0x5f, + 0x75, 0x70, 0x5f, 0x73, 0x79, 0x6e, 0x63, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, + 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x6d, 0x61, 0x73, 0x6b, 0x2c, 0x20, 0x63, 0x6f, 0x6e, + 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x76, 0x61, 0x72, 0x2c, 0x20, + 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x69, + 0x6e, 0x74, 0x20, 0x64, 0x65, 0x6c, 0x74, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, + 0x69, 0x6e, 0x74, 0x20, 0x77, 0x69, 0x64, 0x74, 0x68, 0x20, 0x3d, 0x20, 0x77, 0x61, 0x72, 0x70, + 0x53, 0x69, 0x7a, 0x65, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, + 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x5f, 0x5f, 0x73, 0x68, 0x66, 0x6c, + 0x5f, 0x64, 0x6f, 0x77, 0x6e, 0x5f, 0x73, 0x79, 0x6e, 0x63, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, + 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x6d, 0x61, 0x73, 0x6b, 0x2c, 0x20, + 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x76, 0x61, + 0x72, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, + 0x64, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x64, 0x65, 0x6c, 0x74, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, + 0x73, 0x74, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x77, 0x69, 0x64, 0x74, 0x68, 0x20, 0x3d, 0x20, 0x77, + 0x61, 0x72, 0x70, 0x53, 0x69, 0x7a, 0x65, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, + 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x5f, 0x5f, 0x73, + 0x68, 0x66, 0x6c, 0x5f, 0x78, 0x6f, 0x72, 0x5f, 0x73, 0x79, 0x6e, 0x63, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x6d, 0x61, 0x73, 0x6b, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x76, 0x61, 0x72, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x64, 0x65, 0x6c, 0x74, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x77, 0x69, 0x64, 0x74, 0x68, 0x20, 0x3d, 0x20, 0x77, 0x61, 0x72, 0x70, 0x53, 0x69, 0x7a, 0x65, - 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, - 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x5f, 0x5f, 0x73, - 0x68, 0x66, 0x6c, 0x5f, 0x75, 0x70, 0x5f, 0x73, 0x79, 0x6e, 0x63, 0x28, 0x63, 0x6f, 0x6e, 0x73, - 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x6d, 0x61, 0x73, 0x6b, 0x2c, - 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x76, - 0x61, 0x72, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, - 0x65, 0x64, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x64, 0x65, 0x6c, 0x74, 0x61, 0x2c, 0x20, 0x63, 0x6f, - 0x6e, 0x73, 0x74, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x77, 0x69, 0x64, 0x74, 0x68, 0x20, 0x3d, 0x20, - 0x77, 0x61, 0x72, 0x70, 0x53, 0x69, 0x7a, 0x65, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, - 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, - 0x61, 0x6c, 0x66, 0x32, 0x20, 0x5f, 0x5f, 0x73, 0x68, 0x66, 0x6c, 0x5f, 0x64, 0x6f, 0x77, 0x6e, - 0x5f, 0x73, 0x79, 0x6e, 0x63, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, - 0x67, 0x6e, 0x65, 0x64, 0x20, 0x6d, 0x61, 0x73, 0x6b, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, - 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x76, 0x61, 0x72, 0x2c, 0x20, 0x63, 0x6f, - 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x74, - 0x20, 0x64, 0x65, 0x6c, 0x74, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x69, 0x6e, - 0x74, 0x20, 0x77, 0x69, 0x64, 0x74, 0x68, 0x20, 0x3d, 0x20, 0x77, 0x61, 0x72, 0x70, 0x53, 0x69, - 0x7a, 0x65, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, - 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x5f, - 0x5f, 0x73, 0x68, 0x66, 0x6c, 0x5f, 0x78, 0x6f, 0x72, 0x5f, 0x73, 0x79, 0x6e, 0x63, 0x28, 0x63, - 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x6d, 0x61, - 0x73, 0x6b, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, - 0x32, 0x20, 0x76, 0x61, 0x72, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x69, 0x6e, 0x74, - 0x20, 0x64, 0x65, 0x6c, 0x74, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x69, 0x6e, - 0x74, 0x20, 0x77, 0x69, 0x64, 0x74, 0x68, 0x20, 0x3d, 0x20, 0x77, 0x61, 0x72, 0x70, 0x53, 0x69, - 0x7a, 0x65, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, - 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x5f, 0x5f, - 0x73, 0x68, 0x66, 0x6c, 0x5f, 0x73, 0x79, 0x6e, 0x63, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, - 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x6d, 0x61, 0x73, 0x6b, 0x2c, 0x20, 0x63, - 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x76, 0x61, 0x72, 0x2c, - 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x64, 0x65, 0x6c, 0x74, 0x61, - 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x77, 0x69, 0x64, 0x74, - 0x68, 0x20, 0x3d, 0x20, 0x77, 0x61, 0x72, 0x70, 0x53, 0x69, 0x7a, 0x65, 0x29, 0x3b, 0x0a, 0x5f, - 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, + 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, + 0x68, 0x61, 0x6c, 0x66, 0x20, 0x5f, 0x5f, 0x73, 0x68, 0x66, 0x6c, 0x5f, 0x73, 0x79, 0x6e, 0x63, + 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, + 0x6d, 0x61, 0x73, 0x6b, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, + 0x6c, 0x66, 0x20, 0x76, 0x61, 0x72, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x69, 0x6e, + 0x74, 0x20, 0x64, 0x65, 0x6c, 0x74, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x69, + 0x6e, 0x74, 0x20, 0x77, 0x69, 0x64, 0x74, 0x68, 0x20, 0x3d, 0x20, 0x77, 0x61, 0x72, 0x70, 0x53, + 0x69, 0x7a, 0x65, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x5f, 0x5f, 0x73, 0x68, 0x66, 0x6c, 0x5f, 0x75, 0x70, 0x5f, 0x73, 0x79, 0x6e, 0x63, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x6d, 0x61, 0x73, 0x6b, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, @@ -800,1114 +758,1044 @@ extern "C" const char luisa_cuda_builtin_cuda_device_half[87792] = { 0x20, 0x64, 0x65, 0x6c, 0x74, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x77, 0x69, 0x64, 0x74, 0x68, 0x20, 0x3d, 0x20, 0x77, 0x61, 0x72, 0x70, 0x53, 0x69, 0x7a, 0x65, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, - 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x5f, 0x5f, - 0x73, 0x68, 0x66, 0x6c, 0x5f, 0x64, 0x6f, 0x77, 0x6e, 0x5f, 0x73, 0x79, 0x6e, 0x63, 0x28, 0x63, - 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x6d, 0x61, - 0x73, 0x6b, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, - 0x20, 0x76, 0x61, 0x72, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, - 0x67, 0x6e, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x64, 0x65, 0x6c, 0x74, 0x61, 0x2c, 0x20, + 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x5f, 0x5f, 0x73, 0x68, 0x66, 0x6c, 0x5f, 0x64, 0x6f, + 0x77, 0x6e, 0x5f, 0x73, 0x79, 0x6e, 0x63, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, + 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x6d, 0x61, 0x73, 0x6b, 0x2c, 0x20, 0x63, 0x6f, 0x6e, + 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x76, 0x61, 0x72, 0x2c, 0x20, 0x63, + 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x69, 0x6e, + 0x74, 0x20, 0x64, 0x65, 0x6c, 0x74, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x69, + 0x6e, 0x74, 0x20, 0x77, 0x69, 0x64, 0x74, 0x68, 0x20, 0x3d, 0x20, 0x77, 0x61, 0x72, 0x70, 0x53, + 0x69, 0x7a, 0x65, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, + 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x5f, 0x5f, 0x73, 0x68, 0x66, 0x6c, 0x5f, 0x78, + 0x6f, 0x72, 0x5f, 0x73, 0x79, 0x6e, 0x63, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, + 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x6d, 0x61, 0x73, 0x6b, 0x2c, 0x20, 0x63, 0x6f, 0x6e, + 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x76, 0x61, 0x72, 0x2c, 0x20, 0x63, + 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x64, 0x65, 0x6c, 0x74, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x77, 0x69, 0x64, 0x74, 0x68, 0x20, 0x3d, 0x20, 0x77, 0x61, 0x72, 0x70, 0x53, 0x69, 0x7a, 0x65, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, - 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, - 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x5f, 0x5f, 0x73, 0x68, 0x66, 0x6c, 0x5f, 0x78, 0x6f, 0x72, - 0x5f, 0x73, 0x79, 0x6e, 0x63, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, - 0x67, 0x6e, 0x65, 0x64, 0x20, 0x6d, 0x61, 0x73, 0x6b, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, - 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x76, 0x61, 0x72, 0x2c, 0x20, 0x63, 0x6f, 0x6e, - 0x73, 0x74, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x64, 0x65, 0x6c, 0x74, 0x61, 0x2c, 0x20, 0x63, 0x6f, - 0x6e, 0x73, 0x74, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x77, 0x69, 0x64, 0x74, 0x68, 0x20, 0x3d, 0x20, - 0x77, 0x61, 0x72, 0x70, 0x53, 0x69, 0x7a, 0x65, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, - 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, - 0x61, 0x6c, 0x66, 0x32, 0x20, 0x5f, 0x5f, 0x6c, 0x64, 0x67, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, - 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x2a, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, - 0x70, 0x74, 0x72, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, - 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x5f, - 0x5f, 0x6c, 0x64, 0x67, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, - 0x66, 0x20, 0x2a, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x70, 0x74, 0x72, 0x29, 0x3b, 0x0a, 0x5f, - 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, - 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x5f, 0x5f, 0x6c, 0x64, 0x63, 0x67, 0x28, - 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x2a, 0x63, - 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x70, 0x74, 0x72, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, - 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, - 0x61, 0x6c, 0x66, 0x20, 0x5f, 0x5f, 0x6c, 0x64, 0x63, 0x67, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, - 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x2a, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x70, - 0x74, 0x72, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, - 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x5f, - 0x5f, 0x6c, 0x64, 0x63, 0x61, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, + 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, + 0x5f, 0x5f, 0x6c, 0x64, 0x67, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x2a, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x70, 0x74, 0x72, 0x29, 0x3b, - 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, - 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x5f, 0x5f, 0x6c, 0x64, 0x63, 0x61, + 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, + 0x6c, 0x66, 0x20, 0x5f, 0x5f, 0x6c, 0x64, 0x67, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, + 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x2a, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x70, 0x74, 0x72, + 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, + 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x5f, 0x5f, 0x6c, 0x64, 0x63, 0x67, 0x28, 0x63, 0x6f, 0x6e, + 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x2a, 0x63, 0x6f, 0x6e, 0x73, + 0x74, 0x20, 0x70, 0x74, 0x72, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, + 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x5f, 0x5f, 0x6c, 0x64, 0x63, 0x67, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x2a, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x70, 0x74, 0x72, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, - 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, - 0x61, 0x6c, 0x66, 0x32, 0x20, 0x5f, 0x5f, 0x6c, 0x64, 0x63, 0x73, 0x28, 0x63, 0x6f, 0x6e, 0x73, - 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x2a, 0x63, 0x6f, 0x6e, 0x73, 0x74, - 0x20, 0x70, 0x74, 0x72, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, - 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, - 0x5f, 0x5f, 0x6c, 0x64, 0x63, 0x73, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, - 0x61, 0x6c, 0x66, 0x20, 0x2a, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x70, 0x74, 0x72, 0x29, 0x3b, - 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, - 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x5f, 0x5f, 0x6c, 0x64, 0x6c, - 0x75, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, - 0x2a, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x70, 0x74, 0x72, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, - 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, - 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x5f, 0x5f, 0x6c, 0x64, 0x6c, 0x75, 0x28, 0x63, 0x6f, 0x6e, - 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x2a, 0x63, 0x6f, 0x6e, 0x73, 0x74, - 0x20, 0x70, 0x74, 0x72, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, - 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, - 0x20, 0x5f, 0x5f, 0x6c, 0x64, 0x63, 0x76, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, - 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x2a, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x70, 0x74, 0x72, - 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, - 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x5f, 0x5f, 0x6c, 0x64, - 0x63, 0x76, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, - 0x2a, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x70, 0x74, 0x72, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, - 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x76, - 0x6f, 0x69, 0x64, 0x20, 0x5f, 0x5f, 0x73, 0x74, 0x77, 0x62, 0x28, 0x5f, 0x5f, 0x68, 0x61, 0x6c, - 0x66, 0x32, 0x20, 0x2a, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x70, 0x74, 0x72, 0x2c, 0x20, 0x63, - 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, - 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x76, 0x6f, 0x69, 0x64, 0x20, 0x5f, 0x5f, 0x73, 0x74, + 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x5f, 0x5f, + 0x6c, 0x64, 0x63, 0x61, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, + 0x66, 0x32, 0x20, 0x2a, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x70, 0x74, 0x72, 0x29, 0x3b, 0x0a, + 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, + 0x66, 0x20, 0x5f, 0x5f, 0x6c, 0x64, 0x63, 0x61, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, + 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x2a, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x70, 0x74, 0x72, + 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, + 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x5f, 0x5f, 0x6c, 0x64, 0x63, 0x73, 0x28, 0x63, 0x6f, 0x6e, + 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x2a, 0x63, 0x6f, 0x6e, 0x73, + 0x74, 0x20, 0x70, 0x74, 0x72, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, + 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x5f, 0x5f, 0x6c, 0x64, 0x63, 0x73, + 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x2a, 0x63, + 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x70, 0x74, 0x72, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, + 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x5f, 0x5f, + 0x6c, 0x64, 0x6c, 0x75, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, + 0x66, 0x32, 0x20, 0x2a, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x70, 0x74, 0x72, 0x29, 0x3b, 0x0a, + 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, + 0x66, 0x20, 0x5f, 0x5f, 0x6c, 0x64, 0x6c, 0x75, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, + 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x2a, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x70, 0x74, 0x72, + 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, + 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x5f, 0x5f, 0x6c, 0x64, 0x63, 0x76, 0x28, 0x63, 0x6f, 0x6e, + 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x2a, 0x63, 0x6f, 0x6e, 0x73, + 0x74, 0x20, 0x70, 0x74, 0x72, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, + 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x5f, 0x5f, 0x6c, 0x64, 0x63, 0x76, + 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x2a, 0x63, + 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x70, 0x74, 0x72, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, + 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x76, 0x6f, 0x69, 0x64, 0x20, 0x5f, 0x5f, 0x73, 0x74, 0x77, + 0x62, 0x28, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x2a, 0x63, 0x6f, 0x6e, 0x73, 0x74, + 0x20, 0x70, 0x74, 0x72, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, + 0x6c, 0x66, 0x32, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, + 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x76, 0x6f, 0x69, 0x64, 0x20, 0x5f, 0x5f, 0x73, 0x74, 0x77, 0x62, 0x28, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x2a, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x70, 0x74, 0x72, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, - 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x76, 0x6f, 0x69, - 0x64, 0x20, 0x5f, 0x5f, 0x73, 0x74, 0x63, 0x67, 0x28, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, - 0x20, 0x2a, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x70, 0x74, 0x72, 0x2c, 0x20, 0x63, 0x6f, 0x6e, - 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, - 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x76, 0x6f, 0x69, 0x64, 0x20, 0x5f, 0x5f, 0x73, 0x74, 0x63, 0x67, - 0x28, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x2a, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x70, - 0x74, 0x72, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, - 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, - 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x76, 0x6f, 0x69, 0x64, 0x20, - 0x5f, 0x5f, 0x73, 0x74, 0x63, 0x73, 0x28, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x2a, - 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x70, 0x74, 0x72, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, - 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x29, 0x3b, - 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, - 0x6e, 0x65, 0x20, 0x76, 0x6f, 0x69, 0x64, 0x20, 0x5f, 0x5f, 0x73, 0x74, 0x63, 0x73, 0x28, 0x5f, - 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x2a, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x70, 0x74, 0x72, - 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, - 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x76, 0x6f, 0x69, 0x64, 0x20, 0x5f, 0x5f, - 0x73, 0x74, 0x77, 0x74, 0x28, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x2a, 0x63, 0x6f, - 0x6e, 0x73, 0x74, 0x20, 0x70, 0x74, 0x72, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, - 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x29, 0x3b, 0x0a, 0x5f, - 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, - 0x20, 0x76, 0x6f, 0x69, 0x64, 0x20, 0x5f, 0x5f, 0x73, 0x74, 0x77, 0x74, 0x28, 0x5f, 0x5f, 0x68, - 0x61, 0x6c, 0x66, 0x20, 0x2a, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x70, 0x74, 0x72, 0x2c, 0x20, - 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, - 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x5f, - 0x5f, 0x68, 0x65, 0x71, 0x32, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, - 0x6c, 0x66, 0x32, 0x20, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, - 0x61, 0x6c, 0x66, 0x32, 0x20, 0x62, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, - 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, - 0x66, 0x32, 0x20, 0x5f, 0x5f, 0x68, 0x6e, 0x65, 0x32, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, - 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, - 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x62, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, - 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, - 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x5f, 0x5f, 0x68, 0x6c, 0x65, 0x32, 0x28, 0x63, 0x6f, - 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x61, 0x2c, 0x20, 0x63, - 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x62, 0x29, 0x3b, - 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, - 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x5f, 0x5f, 0x68, 0x67, 0x65, + 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x76, 0x6f, 0x69, 0x64, 0x20, 0x5f, 0x5f, 0x73, 0x74, 0x63, + 0x67, 0x28, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x2a, 0x63, 0x6f, 0x6e, 0x73, 0x74, + 0x20, 0x70, 0x74, 0x72, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, + 0x6c, 0x66, 0x32, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, + 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x76, 0x6f, 0x69, 0x64, 0x20, 0x5f, 0x5f, 0x73, 0x74, + 0x63, 0x67, 0x28, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x2a, 0x63, 0x6f, 0x6e, 0x73, 0x74, + 0x20, 0x70, 0x74, 0x72, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, + 0x6c, 0x66, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, + 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x76, 0x6f, 0x69, 0x64, 0x20, 0x5f, 0x5f, 0x73, 0x74, 0x63, + 0x73, 0x28, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x2a, 0x63, 0x6f, 0x6e, 0x73, 0x74, + 0x20, 0x70, 0x74, 0x72, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, + 0x6c, 0x66, 0x32, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, + 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x76, 0x6f, 0x69, 0x64, 0x20, 0x5f, 0x5f, 0x73, 0x74, + 0x63, 0x73, 0x28, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x2a, 0x63, 0x6f, 0x6e, 0x73, 0x74, + 0x20, 0x70, 0x74, 0x72, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, + 0x6c, 0x66, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, + 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x76, 0x6f, 0x69, 0x64, 0x20, 0x5f, 0x5f, 0x73, 0x74, 0x77, + 0x74, 0x28, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x2a, 0x63, 0x6f, 0x6e, 0x73, 0x74, + 0x20, 0x70, 0x74, 0x72, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, + 0x6c, 0x66, 0x32, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, + 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x76, 0x6f, 0x69, 0x64, 0x20, 0x5f, 0x5f, 0x73, 0x74, + 0x77, 0x74, 0x28, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x2a, 0x63, 0x6f, 0x6e, 0x73, 0x74, + 0x20, 0x70, 0x74, 0x72, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, + 0x6c, 0x66, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, + 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x5f, 0x5f, + 0x68, 0x65, 0x71, 0x32, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, + 0x66, 0x32, 0x20, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, + 0x6c, 0x66, 0x32, 0x20, 0x62, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, + 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x5f, 0x5f, 0x68, 0x6e, 0x65, 0x32, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x62, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, - 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x5f, - 0x5f, 0x68, 0x6c, 0x74, 0x32, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, - 0x6c, 0x66, 0x32, 0x20, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, - 0x61, 0x6c, 0x66, 0x32, 0x20, 0x62, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, - 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, - 0x66, 0x32, 0x20, 0x5f, 0x5f, 0x68, 0x67, 0x74, 0x32, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, - 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, - 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x62, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, - 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, - 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x5f, 0x5f, 0x68, 0x65, 0x71, 0x75, 0x32, 0x28, 0x63, + 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x5f, 0x5f, 0x68, 0x6c, 0x65, 0x32, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x62, 0x29, - 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, - 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x5f, 0x5f, 0x68, 0x6e, - 0x65, 0x75, 0x32, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, - 0x32, 0x20, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, - 0x66, 0x32, 0x20, 0x62, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, - 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, - 0x20, 0x5f, 0x5f, 0x68, 0x6c, 0x65, 0x75, 0x32, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, + 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, + 0x61, 0x6c, 0x66, 0x32, 0x20, 0x5f, 0x5f, 0x68, 0x67, 0x65, 0x32, 0x28, 0x63, 0x6f, 0x6e, 0x73, + 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, + 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x62, 0x29, 0x3b, 0x0a, 0x5f, + 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, + 0x32, 0x20, 0x5f, 0x5f, 0x68, 0x6c, 0x74, 0x32, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x62, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, - 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, + 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x5f, + 0x5f, 0x68, 0x67, 0x74, 0x32, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, + 0x6c, 0x66, 0x32, 0x20, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, + 0x61, 0x6c, 0x66, 0x32, 0x20, 0x62, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, + 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x5f, 0x5f, 0x68, 0x65, + 0x71, 0x75, 0x32, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, + 0x32, 0x20, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, + 0x66, 0x32, 0x20, 0x62, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, + 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x5f, 0x5f, 0x68, 0x6e, 0x65, 0x75, + 0x32, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, + 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, + 0x20, 0x62, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, + 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x5f, 0x5f, 0x68, 0x6c, 0x65, 0x75, 0x32, 0x28, + 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x61, 0x2c, + 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x62, + 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x5f, 0x5f, 0x68, 0x67, 0x65, 0x75, 0x32, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x62, 0x29, 0x3b, - 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, - 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x5f, 0x5f, 0x68, 0x6c, 0x74, - 0x75, 0x32, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, - 0x20, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, - 0x32, 0x20, 0x62, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, - 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, - 0x5f, 0x5f, 0x68, 0x67, 0x74, 0x75, 0x32, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, - 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, - 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x62, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, - 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x75, 0x6e, 0x73, - 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x5f, 0x5f, 0x68, 0x65, 0x71, 0x32, 0x5f, 0x6d, 0x61, 0x73, - 0x6b, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, - 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, - 0x20, 0x62, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, - 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, - 0x5f, 0x5f, 0x68, 0x6e, 0x65, 0x32, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x28, 0x63, 0x6f, 0x6e, 0x73, + 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, + 0x6c, 0x66, 0x32, 0x20, 0x5f, 0x5f, 0x68, 0x6c, 0x74, 0x75, 0x32, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x62, 0x29, 0x3b, 0x0a, 0x5f, - 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, - 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x5f, 0x5f, 0x68, 0x6c, 0x65, 0x32, + 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, + 0x32, 0x20, 0x5f, 0x5f, 0x68, 0x67, 0x74, 0x75, 0x32, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, + 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, + 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x62, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, + 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, + 0x20, 0x5f, 0x5f, 0x68, 0x65, 0x71, 0x32, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x28, 0x63, 0x6f, 0x6e, + 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x61, 0x2c, 0x20, 0x63, 0x6f, + 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x62, 0x29, 0x3b, 0x0a, + 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, + 0x6e, 0x65, 0x64, 0x20, 0x5f, 0x5f, 0x68, 0x6e, 0x65, 0x32, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x28, + 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x61, 0x2c, + 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x62, + 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x75, 0x6e, + 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x5f, 0x5f, 0x68, 0x6c, 0x65, 0x32, 0x5f, 0x6d, 0x61, + 0x73, 0x6b, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, + 0x20, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, + 0x32, 0x20, 0x62, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, + 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x5f, 0x5f, 0x68, 0x67, 0x65, 0x32, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x62, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, - 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, - 0x6e, 0x65, 0x64, 0x20, 0x5f, 0x5f, 0x68, 0x67, 0x65, 0x32, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x28, + 0x65, 0x5f, 0x5f, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x5f, 0x5f, 0x68, + 0x6c, 0x74, 0x32, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, + 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, + 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x62, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, + 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, + 0x5f, 0x5f, 0x68, 0x67, 0x74, 0x32, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x28, 0x63, 0x6f, 0x6e, 0x73, + 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, + 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x62, 0x29, 0x3b, 0x0a, 0x5f, + 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, + 0x65, 0x64, 0x20, 0x5f, 0x5f, 0x68, 0x65, 0x71, 0x75, 0x32, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x62, - 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, - 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x5f, 0x5f, - 0x68, 0x6c, 0x74, 0x32, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, - 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, - 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x62, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, - 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x75, - 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x5f, 0x5f, 0x68, 0x67, 0x74, 0x32, 0x5f, 0x6d, + 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x75, 0x6e, + 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x5f, 0x5f, 0x68, 0x6e, 0x65, 0x75, 0x32, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x62, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, - 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, - 0x64, 0x20, 0x5f, 0x5f, 0x68, 0x65, 0x71, 0x75, 0x32, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x28, 0x63, - 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x61, 0x2c, 0x20, - 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x62, 0x29, - 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, - 0x69, 0x6e, 0x65, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x5f, 0x5f, 0x68, - 0x6e, 0x65, 0x75, 0x32, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, - 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, - 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x62, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, - 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x75, - 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x5f, 0x5f, 0x68, 0x6c, 0x65, 0x75, 0x32, 0x5f, - 0x6d, 0x61, 0x73, 0x6b, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, - 0x66, 0x32, 0x20, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, - 0x6c, 0x66, 0x32, 0x20, 0x62, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, - 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, - 0x65, 0x64, 0x20, 0x5f, 0x5f, 0x68, 0x67, 0x65, 0x75, 0x32, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x28, + 0x5f, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x5f, 0x5f, 0x68, 0x6c, 0x65, + 0x75, 0x32, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, + 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, + 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x62, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, + 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x5f, + 0x5f, 0x68, 0x67, 0x65, 0x75, 0x32, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x28, 0x63, 0x6f, 0x6e, 0x73, + 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, + 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x62, 0x29, 0x3b, 0x0a, 0x5f, + 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, + 0x65, 0x64, 0x20, 0x5f, 0x5f, 0x68, 0x6c, 0x74, 0x75, 0x32, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x62, - 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, - 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x5f, 0x5f, - 0x68, 0x6c, 0x74, 0x75, 0x32, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, - 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, - 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x62, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, - 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, - 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x5f, 0x5f, 0x68, 0x67, 0x74, 0x75, 0x32, - 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, - 0x6c, 0x66, 0x32, 0x20, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, - 0x61, 0x6c, 0x66, 0x32, 0x20, 0x62, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, - 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, - 0x66, 0x32, 0x20, 0x5f, 0x5f, 0x68, 0x69, 0x73, 0x6e, 0x61, 0x6e, 0x32, 0x28, 0x63, 0x6f, 0x6e, - 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x61, 0x29, 0x3b, 0x0a, 0x5f, - 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, + 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x75, 0x6e, + 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x5f, 0x5f, 0x68, 0x67, 0x74, 0x75, 0x32, 0x5f, 0x6d, + 0x61, 0x73, 0x6b, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, + 0x32, 0x20, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, + 0x66, 0x32, 0x20, 0x62, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, + 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x5f, 0x5f, 0x68, 0x69, 0x73, 0x6e, + 0x61, 0x6e, 0x32, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, + 0x32, 0x20, 0x61, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x64, 0x64, 0x32, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, - 0x62, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, - 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x5f, 0x5f, - 0x68, 0x73, 0x75, 0x62, 0x32, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, - 0x6c, 0x66, 0x32, 0x20, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, - 0x61, 0x6c, 0x66, 0x32, 0x20, 0x62, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, - 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, - 0x66, 0x32, 0x20, 0x5f, 0x5f, 0x68, 0x6d, 0x75, 0x6c, 0x32, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, - 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, - 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x62, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, - 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, - 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x64, 0x64, 0x32, 0x5f, - 0x72, 0x6e, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, - 0x20, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, - 0x32, 0x20, 0x62, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, - 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, - 0x5f, 0x5f, 0x68, 0x73, 0x75, 0x62, 0x32, 0x5f, 0x72, 0x6e, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, - 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, - 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x62, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, - 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, - 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x5f, 0x5f, 0x68, 0x6d, 0x75, 0x6c, 0x32, 0x5f, - 0x72, 0x6e, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, - 0x20, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, - 0x32, 0x20, 0x62, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, - 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, - 0x5f, 0x5f, 0x68, 0x32, 0x64, 0x69, 0x76, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, - 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, - 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x62, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, - 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, - 0x61, 0x6c, 0x66, 0x32, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x62, 0x73, 0x32, 0x28, 0x63, 0x6f, 0x6e, - 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x61, 0x29, 0x3b, 0x0a, 0x5f, - 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, - 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x64, 0x64, 0x32, - 0x5f, 0x73, 0x61, 0x74, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, - 0x66, 0x32, 0x20, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, - 0x6c, 0x66, 0x32, 0x20, 0x62, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, - 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, - 0x32, 0x20, 0x5f, 0x5f, 0x68, 0x73, 0x75, 0x62, 0x32, 0x5f, 0x73, 0x61, 0x74, 0x28, 0x63, 0x6f, + 0x62, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, + 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x5f, 0x5f, 0x68, 0x73, 0x75, 0x62, 0x32, 0x28, 0x63, + 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x61, 0x2c, 0x20, + 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x62, 0x29, + 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, + 0x61, 0x6c, 0x66, 0x32, 0x20, 0x5f, 0x5f, 0x68, 0x6d, 0x75, 0x6c, 0x32, 0x28, 0x63, 0x6f, 0x6e, + 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x61, 0x2c, 0x20, 0x63, 0x6f, + 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x62, 0x29, 0x3b, 0x0a, + 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, + 0x66, 0x32, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x64, 0x64, 0x32, 0x5f, 0x72, 0x6e, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x62, 0x29, 0x3b, - 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, - 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x5f, 0x5f, 0x68, 0x6d, 0x75, - 0x6c, 0x32, 0x5f, 0x73, 0x61, 0x74, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, - 0x61, 0x6c, 0x66, 0x32, 0x20, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, - 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x62, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, - 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, - 0x6c, 0x66, 0x32, 0x20, 0x5f, 0x5f, 0x68, 0x66, 0x6d, 0x61, 0x32, 0x28, 0x63, 0x6f, 0x6e, 0x73, - 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, - 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x62, 0x2c, 0x20, 0x63, 0x6f, - 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x63, 0x29, 0x3b, 0x0a, - 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, - 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x5f, 0x5f, 0x68, 0x66, 0x6d, 0x61, - 0x32, 0x5f, 0x73, 0x61, 0x74, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, - 0x6c, 0x66, 0x32, 0x20, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, - 0x61, 0x6c, 0x66, 0x32, 0x20, 0x62, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, - 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x63, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, - 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, - 0x6c, 0x66, 0x32, 0x20, 0x5f, 0x5f, 0x68, 0x6e, 0x65, 0x67, 0x32, 0x28, 0x63, 0x6f, 0x6e, 0x73, + 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, + 0x6c, 0x66, 0x32, 0x20, 0x5f, 0x5f, 0x68, 0x73, 0x75, 0x62, 0x32, 0x5f, 0x72, 0x6e, 0x28, 0x63, + 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x61, 0x2c, 0x20, + 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x62, 0x29, + 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, + 0x61, 0x6c, 0x66, 0x32, 0x20, 0x5f, 0x5f, 0x68, 0x6d, 0x75, 0x6c, 0x32, 0x5f, 0x72, 0x6e, 0x28, + 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x61, 0x2c, + 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x62, + 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, + 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x5f, 0x5f, 0x68, 0x32, 0x64, 0x69, 0x76, 0x28, 0x63, 0x6f, + 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x61, 0x2c, 0x20, 0x63, + 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x62, 0x29, 0x3b, + 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, + 0x6c, 0x66, 0x32, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x62, 0x73, 0x32, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x61, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, - 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, - 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x62, 0x73, 0x28, 0x63, 0x6f, - 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x61, 0x29, 0x3b, 0x0a, 0x5f, - 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, - 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x64, 0x64, 0x28, 0x63, - 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x61, 0x2c, 0x20, 0x63, - 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x62, 0x29, 0x3b, 0x0a, - 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, - 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x5f, 0x5f, 0x68, 0x73, 0x75, 0x62, 0x28, + 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, + 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x64, 0x64, 0x32, 0x5f, 0x73, 0x61, 0x74, 0x28, 0x63, 0x6f, 0x6e, + 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x61, 0x2c, 0x20, 0x63, 0x6f, + 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x62, 0x29, 0x3b, 0x0a, + 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, + 0x66, 0x32, 0x20, 0x5f, 0x5f, 0x68, 0x73, 0x75, 0x62, 0x32, 0x5f, 0x73, 0x61, 0x74, 0x28, 0x63, + 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x61, 0x2c, 0x20, + 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x62, 0x29, + 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, + 0x61, 0x6c, 0x66, 0x32, 0x20, 0x5f, 0x5f, 0x68, 0x6d, 0x75, 0x6c, 0x32, 0x5f, 0x73, 0x61, 0x74, + 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x61, + 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, + 0x62, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, + 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x5f, 0x5f, 0x68, 0x66, 0x6d, 0x61, 0x32, 0x28, 0x63, + 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x61, 0x2c, 0x20, + 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x62, 0x2c, + 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x63, + 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, + 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x5f, 0x5f, 0x68, 0x66, 0x6d, 0x61, 0x32, 0x5f, 0x73, 0x61, + 0x74, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, + 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, + 0x20, 0x62, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, + 0x32, 0x20, 0x63, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, + 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x5f, 0x5f, 0x68, 0x6e, 0x65, 0x67, 0x32, + 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x61, + 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, + 0x68, 0x61, 0x6c, 0x66, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x62, 0x73, 0x28, 0x63, 0x6f, 0x6e, 0x73, + 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x61, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, + 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x5f, + 0x5f, 0x68, 0x61, 0x64, 0x64, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, + 0x6c, 0x66, 0x20, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, + 0x6c, 0x66, 0x20, 0x62, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, + 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x5f, 0x5f, 0x68, 0x73, 0x75, 0x62, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x62, 0x29, 0x3b, - 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, - 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x5f, 0x5f, 0x68, 0x6d, 0x75, 0x6c, + 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, + 0x6c, 0x66, 0x20, 0x5f, 0x5f, 0x68, 0x6d, 0x75, 0x6c, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, + 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, + 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x62, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, + 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x5f, 0x5f, 0x68, + 0x61, 0x64, 0x64, 0x5f, 0x72, 0x6e, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, + 0x61, 0x6c, 0x66, 0x20, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, + 0x61, 0x6c, 0x66, 0x20, 0x62, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, + 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x5f, 0x5f, 0x68, 0x73, 0x75, 0x62, + 0x5f, 0x72, 0x6e, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, + 0x20, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, + 0x20, 0x62, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, + 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x5f, 0x5f, 0x68, 0x6d, 0x75, 0x6c, 0x5f, 0x72, 0x6e, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x62, 0x29, - 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, - 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x64, - 0x64, 0x5f, 0x72, 0x6e, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, - 0x66, 0x20, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, - 0x66, 0x20, 0x62, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, - 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x5f, - 0x5f, 0x68, 0x73, 0x75, 0x62, 0x5f, 0x72, 0x6e, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, + 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, + 0x61, 0x6c, 0x66, 0x20, 0x5f, 0x5f, 0x68, 0x64, 0x69, 0x76, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, + 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, + 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x62, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, + 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x5f, 0x5f, + 0x68, 0x61, 0x64, 0x64, 0x5f, 0x73, 0x61, 0x74, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x62, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, - 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, - 0x6c, 0x66, 0x20, 0x5f, 0x5f, 0x68, 0x6d, 0x75, 0x6c, 0x5f, 0x72, 0x6e, 0x28, 0x63, 0x6f, 0x6e, - 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, - 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x62, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, - 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, - 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x5f, 0x5f, 0x68, 0x64, 0x69, 0x76, 0x28, 0x63, 0x6f, - 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x61, 0x2c, 0x20, 0x63, 0x6f, - 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x62, 0x29, 0x3b, 0x0a, 0x5f, - 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, - 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x64, 0x64, 0x5f, 0x73, - 0x61, 0x74, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, - 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, - 0x62, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, - 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x5f, 0x5f, 0x68, - 0x73, 0x75, 0x62, 0x5f, 0x73, 0x61, 0x74, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, - 0x68, 0x61, 0x6c, 0x66, 0x20, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, - 0x68, 0x61, 0x6c, 0x66, 0x20, 0x62, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, - 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, - 0x66, 0x20, 0x5f, 0x5f, 0x68, 0x6d, 0x75, 0x6c, 0x5f, 0x73, 0x61, 0x74, 0x28, 0x63, 0x6f, 0x6e, + 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x5f, 0x5f, 0x68, 0x73, + 0x75, 0x62, 0x5f, 0x73, 0x61, 0x74, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, + 0x61, 0x6c, 0x66, 0x20, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, + 0x61, 0x6c, 0x66, 0x20, 0x62, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, + 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x5f, 0x5f, 0x68, 0x6d, 0x75, 0x6c, + 0x5f, 0x73, 0x61, 0x74, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, + 0x66, 0x20, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, + 0x66, 0x20, 0x62, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, + 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x5f, 0x5f, 0x68, 0x66, 0x6d, 0x61, 0x28, 0x63, + 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x61, 0x2c, 0x20, 0x63, + 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x62, 0x2c, 0x20, 0x63, + 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x63, 0x29, 0x3b, 0x0a, + 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, + 0x66, 0x20, 0x5f, 0x5f, 0x68, 0x66, 0x6d, 0x61, 0x5f, 0x73, 0x61, 0x74, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, - 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x62, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, - 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, - 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x5f, 0x5f, 0x68, 0x66, 0x6d, 0x61, 0x28, 0x63, 0x6f, - 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x61, 0x2c, 0x20, 0x63, 0x6f, - 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x62, 0x2c, 0x20, 0x63, 0x6f, - 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x63, 0x29, 0x3b, 0x0a, 0x5f, - 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, - 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x5f, 0x5f, 0x68, 0x66, 0x6d, 0x61, 0x5f, 0x73, - 0x61, 0x74, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, - 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, - 0x62, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, - 0x63, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, - 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x5f, 0x5f, 0x68, - 0x6e, 0x65, 0x67, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, - 0x20, 0x61, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, - 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x62, 0x6f, 0x6f, 0x6c, 0x20, 0x5f, 0x5f, 0x68, 0x62, - 0x65, 0x71, 0x32, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, - 0x32, 0x20, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, - 0x66, 0x32, 0x20, 0x62, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, - 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x62, 0x6f, 0x6f, 0x6c, 0x20, 0x5f, 0x5f, - 0x68, 0x62, 0x6e, 0x65, 0x32, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, + 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x62, 0x2c, 0x20, 0x63, 0x6f, 0x6e, + 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x63, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, + 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, + 0x5f, 0x5f, 0x68, 0x6e, 0x65, 0x67, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, + 0x61, 0x6c, 0x66, 0x20, 0x61, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, + 0x5f, 0x5f, 0x20, 0x62, 0x6f, 0x6f, 0x6c, 0x20, 0x5f, 0x5f, 0x68, 0x62, 0x65, 0x71, 0x32, 0x28, + 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x61, 0x2c, + 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x62, + 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x62, 0x6f, + 0x6f, 0x6c, 0x20, 0x5f, 0x5f, 0x68, 0x62, 0x6e, 0x65, 0x32, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, + 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, + 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x62, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, + 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x62, 0x6f, 0x6f, 0x6c, 0x20, 0x5f, 0x5f, + 0x68, 0x62, 0x6c, 0x65, 0x32, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x62, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, - 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x62, 0x6f, 0x6f, 0x6c, 0x20, - 0x5f, 0x5f, 0x68, 0x62, 0x6c, 0x65, 0x32, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, - 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, - 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x62, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, - 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x62, 0x6f, 0x6f, - 0x6c, 0x20, 0x5f, 0x5f, 0x68, 0x62, 0x67, 0x65, 0x32, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, - 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, - 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x62, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, - 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x62, + 0x65, 0x5f, 0x5f, 0x20, 0x62, 0x6f, 0x6f, 0x6c, 0x20, 0x5f, 0x5f, 0x68, 0x62, 0x67, 0x65, 0x32, + 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x61, + 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, + 0x62, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x62, 0x6f, 0x6f, 0x6c, 0x20, 0x5f, 0x5f, 0x68, 0x62, 0x6c, 0x74, 0x32, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x62, 0x29, 0x3b, 0x0a, 0x5f, - 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, - 0x20, 0x62, 0x6f, 0x6f, 0x6c, 0x20, 0x5f, 0x5f, 0x68, 0x62, 0x67, 0x74, 0x32, 0x28, 0x63, 0x6f, - 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x61, 0x2c, 0x20, 0x63, - 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x62, 0x29, 0x3b, - 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, - 0x6e, 0x65, 0x20, 0x62, 0x6f, 0x6f, 0x6c, 0x20, 0x5f, 0x5f, 0x68, 0x62, 0x65, 0x71, 0x75, 0x32, - 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x61, - 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, - 0x62, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, - 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x62, 0x6f, 0x6f, 0x6c, 0x20, 0x5f, 0x5f, 0x68, 0x62, 0x6e, - 0x65, 0x75, 0x32, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, - 0x32, 0x20, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, - 0x66, 0x32, 0x20, 0x62, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, - 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x62, 0x6f, 0x6f, 0x6c, 0x20, 0x5f, 0x5f, - 0x68, 0x62, 0x6c, 0x65, 0x75, 0x32, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, + 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x62, 0x6f, 0x6f, 0x6c, 0x20, 0x5f, + 0x5f, 0x68, 0x62, 0x67, 0x74, 0x32, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x62, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, - 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x62, 0x6f, 0x6f, 0x6c, - 0x20, 0x5f, 0x5f, 0x68, 0x62, 0x67, 0x65, 0x75, 0x32, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, - 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, - 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x62, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, - 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x62, - 0x6f, 0x6f, 0x6c, 0x20, 0x5f, 0x5f, 0x68, 0x62, 0x6c, 0x74, 0x75, 0x32, 0x28, 0x63, 0x6f, 0x6e, - 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x61, 0x2c, 0x20, 0x63, 0x6f, - 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x62, 0x29, 0x3b, 0x0a, - 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, - 0x65, 0x20, 0x62, 0x6f, 0x6f, 0x6c, 0x20, 0x5f, 0x5f, 0x68, 0x62, 0x67, 0x74, 0x75, 0x32, 0x28, - 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x61, 0x2c, - 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x62, - 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, - 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x62, 0x6f, 0x6f, 0x6c, 0x20, 0x5f, 0x5f, 0x68, 0x65, 0x71, 0x28, - 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x61, 0x2c, 0x20, - 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x62, 0x29, 0x3b, - 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, - 0x6e, 0x65, 0x20, 0x62, 0x6f, 0x6f, 0x6c, 0x20, 0x5f, 0x5f, 0x68, 0x6e, 0x65, 0x28, 0x63, 0x6f, - 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x61, 0x2c, 0x20, 0x63, 0x6f, - 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x62, 0x29, 0x3b, 0x0a, 0x5f, - 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, - 0x20, 0x62, 0x6f, 0x6f, 0x6c, 0x20, 0x5f, 0x5f, 0x68, 0x6c, 0x65, 0x28, 0x63, 0x6f, 0x6e, 0x73, - 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, - 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x62, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, - 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x62, - 0x6f, 0x6f, 0x6c, 0x20, 0x5f, 0x5f, 0x68, 0x67, 0x65, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, - 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, - 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x62, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, - 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x62, 0x6f, 0x6f, - 0x6c, 0x20, 0x5f, 0x5f, 0x68, 0x6c, 0x74, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, + 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x62, 0x6f, 0x6f, 0x6c, 0x20, 0x5f, 0x5f, 0x68, 0x62, 0x65, 0x71, + 0x75, 0x32, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, + 0x20, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, + 0x32, 0x20, 0x62, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, + 0x20, 0x62, 0x6f, 0x6f, 0x6c, 0x20, 0x5f, 0x5f, 0x68, 0x62, 0x6e, 0x65, 0x75, 0x32, 0x28, 0x63, + 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x61, 0x2c, 0x20, + 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x62, 0x29, + 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x62, 0x6f, 0x6f, + 0x6c, 0x20, 0x5f, 0x5f, 0x68, 0x62, 0x6c, 0x65, 0x75, 0x32, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, + 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, + 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x62, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, + 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x62, 0x6f, 0x6f, 0x6c, 0x20, 0x5f, 0x5f, + 0x68, 0x62, 0x67, 0x65, 0x75, 0x32, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, + 0x61, 0x6c, 0x66, 0x32, 0x20, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, + 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x62, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, + 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x62, 0x6f, 0x6f, 0x6c, 0x20, 0x5f, 0x5f, 0x68, 0x62, 0x6c, 0x74, + 0x75, 0x32, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, + 0x20, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, + 0x32, 0x20, 0x62, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, + 0x20, 0x62, 0x6f, 0x6f, 0x6c, 0x20, 0x5f, 0x5f, 0x68, 0x62, 0x67, 0x74, 0x75, 0x32, 0x28, 0x63, + 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x61, 0x2c, 0x20, + 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x62, 0x29, + 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x62, 0x6f, 0x6f, + 0x6c, 0x20, 0x5f, 0x5f, 0x68, 0x65, 0x71, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x62, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, - 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x62, 0x6f, 0x6f, 0x6c, 0x20, - 0x5f, 0x5f, 0x68, 0x67, 0x74, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, + 0x65, 0x5f, 0x5f, 0x20, 0x62, 0x6f, 0x6f, 0x6c, 0x20, 0x5f, 0x5f, 0x68, 0x6e, 0x65, 0x28, 0x63, + 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x61, 0x2c, 0x20, 0x63, + 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x62, 0x29, 0x3b, 0x0a, + 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x62, 0x6f, 0x6f, 0x6c, 0x20, + 0x5f, 0x5f, 0x68, 0x6c, 0x65, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x62, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, - 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x62, 0x6f, 0x6f, 0x6c, 0x20, 0x5f, 0x5f, - 0x68, 0x65, 0x71, 0x75, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, - 0x66, 0x20, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, - 0x66, 0x20, 0x62, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, - 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x62, 0x6f, 0x6f, 0x6c, 0x20, 0x5f, 0x5f, 0x68, - 0x6e, 0x65, 0x75, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, + 0x5f, 0x20, 0x62, 0x6f, 0x6f, 0x6c, 0x20, 0x5f, 0x5f, 0x68, 0x67, 0x65, 0x28, 0x63, 0x6f, 0x6e, + 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, + 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x62, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, + 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x62, 0x6f, 0x6f, 0x6c, 0x20, 0x5f, 0x5f, + 0x68, 0x6c, 0x74, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x62, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, - 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x62, 0x6f, 0x6f, 0x6c, 0x20, 0x5f, 0x5f, 0x68, 0x6c, + 0x62, 0x6f, 0x6f, 0x6c, 0x20, 0x5f, 0x5f, 0x68, 0x67, 0x74, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, + 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, + 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x62, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, + 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x62, 0x6f, 0x6f, 0x6c, 0x20, 0x5f, 0x5f, 0x68, 0x65, + 0x71, 0x75, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, + 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, + 0x62, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x62, + 0x6f, 0x6f, 0x6c, 0x20, 0x5f, 0x5f, 0x68, 0x6e, 0x65, 0x75, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, + 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, + 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x62, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, + 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x62, 0x6f, 0x6f, 0x6c, 0x20, 0x5f, 0x5f, 0x68, 0x6c, 0x65, 0x75, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, - 0x62, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, - 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x62, 0x6f, 0x6f, 0x6c, 0x20, 0x5f, 0x5f, 0x68, 0x67, 0x65, - 0x75, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x61, - 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x62, - 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, - 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x62, 0x6f, 0x6f, 0x6c, 0x20, 0x5f, 0x5f, 0x68, 0x6c, 0x74, 0x75, + 0x62, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x62, + 0x6f, 0x6f, 0x6c, 0x20, 0x5f, 0x5f, 0x68, 0x67, 0x65, 0x75, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, + 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, + 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x62, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, + 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x62, 0x6f, 0x6f, 0x6c, 0x20, 0x5f, 0x5f, 0x68, 0x6c, + 0x74, 0x75, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, + 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, + 0x62, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x62, + 0x6f, 0x6f, 0x6c, 0x20, 0x5f, 0x5f, 0x68, 0x67, 0x74, 0x75, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, + 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, + 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x62, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, + 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x62, 0x6f, 0x6f, 0x6c, 0x20, 0x5f, 0x5f, 0x68, 0x69, + 0x73, 0x6e, 0x61, 0x6e, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, + 0x66, 0x20, 0x61, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, + 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x5f, 0x5f, 0x68, 0x6d, 0x61, 0x78, 0x5f, 0x6e, + 0x61, 0x6e, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, + 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, + 0x62, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, + 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x5f, 0x5f, 0x68, 0x6d, 0x69, 0x6e, 0x5f, 0x6e, 0x61, 0x6e, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x62, 0x29, - 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, - 0x69, 0x6e, 0x65, 0x20, 0x62, 0x6f, 0x6f, 0x6c, 0x20, 0x5f, 0x5f, 0x68, 0x67, 0x74, 0x75, 0x28, + 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, + 0x61, 0x6c, 0x66, 0x20, 0x5f, 0x5f, 0x68, 0x66, 0x6d, 0x61, 0x5f, 0x72, 0x65, 0x6c, 0x75, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x61, 0x2c, 0x20, - 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x62, 0x29, 0x3b, - 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, - 0x6e, 0x65, 0x20, 0x62, 0x6f, 0x6f, 0x6c, 0x20, 0x5f, 0x5f, 0x68, 0x69, 0x73, 0x6e, 0x61, 0x6e, - 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x61, 0x29, - 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, - 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x5f, 0x5f, 0x68, 0x6d, 0x61, - 0x78, 0x5f, 0x6e, 0x61, 0x6e, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, - 0x6c, 0x66, 0x20, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, - 0x6c, 0x66, 0x20, 0x62, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, - 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, - 0x5f, 0x5f, 0x68, 0x6d, 0x69, 0x6e, 0x5f, 0x6e, 0x61, 0x6e, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, - 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, - 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x62, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, - 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, - 0x68, 0x61, 0x6c, 0x66, 0x20, 0x5f, 0x5f, 0x68, 0x66, 0x6d, 0x61, 0x5f, 0x72, 0x65, 0x6c, 0x75, - 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x61, 0x2c, - 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x62, 0x2c, - 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x63, 0x29, - 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, - 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x5f, 0x5f, 0x68, 0x6d, - 0x61, 0x78, 0x32, 0x5f, 0x6e, 0x61, 0x6e, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, - 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, - 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x62, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, - 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, - 0x61, 0x6c, 0x66, 0x32, 0x20, 0x5f, 0x5f, 0x68, 0x6d, 0x69, 0x6e, 0x32, 0x5f, 0x6e, 0x61, 0x6e, - 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x61, - 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, - 0x62, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, - 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x5f, 0x5f, - 0x68, 0x66, 0x6d, 0x61, 0x32, 0x5f, 0x72, 0x65, 0x6c, 0x75, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, - 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, - 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x62, 0x2c, 0x20, 0x63, 0x6f, 0x6e, - 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x63, 0x29, 0x3b, 0x0a, 0x5f, - 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, - 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x5f, 0x5f, 0x68, 0x63, 0x6d, 0x61, 0x64, - 0x64, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, + 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x62, 0x2c, 0x20, + 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x63, 0x29, 0x3b, + 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, + 0x6c, 0x66, 0x32, 0x20, 0x5f, 0x5f, 0x68, 0x6d, 0x61, 0x78, 0x32, 0x5f, 0x6e, 0x61, 0x6e, 0x28, + 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x61, 0x2c, + 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x62, + 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, + 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x5f, 0x5f, 0x68, 0x6d, 0x69, 0x6e, 0x32, 0x5f, 0x6e, 0x61, + 0x6e, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, - 0x20, 0x62, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, - 0x32, 0x20, 0x63, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, - 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x68, - 0x73, 0x71, 0x72, 0x74, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, - 0x66, 0x20, 0x61, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, - 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x68, - 0x72, 0x73, 0x71, 0x72, 0x74, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, - 0x6c, 0x66, 0x20, 0x61, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, - 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, - 0x68, 0x72, 0x63, 0x70, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, - 0x66, 0x20, 0x61, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, - 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x68, - 0x6c, 0x6f, 0x67, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, - 0x20, 0x61, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, - 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x68, 0x6c, + 0x20, 0x62, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, + 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x5f, 0x5f, 0x68, 0x66, 0x6d, 0x61, 0x32, 0x5f, + 0x72, 0x65, 0x6c, 0x75, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, + 0x66, 0x32, 0x20, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, + 0x6c, 0x66, 0x32, 0x20, 0x62, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, + 0x61, 0x6c, 0x66, 0x32, 0x20, 0x63, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, + 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x5f, 0x5f, 0x68, 0x63, + 0x6d, 0x61, 0x64, 0x64, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, + 0x66, 0x32, 0x20, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, + 0x6c, 0x66, 0x32, 0x20, 0x62, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, + 0x61, 0x6c, 0x66, 0x32, 0x20, 0x63, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, + 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x68, 0x73, 0x71, 0x72, 0x74, + 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x61, 0x29, + 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, + 0x61, 0x6c, 0x66, 0x20, 0x68, 0x72, 0x73, 0x71, 0x72, 0x74, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, + 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x61, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, + 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x68, 0x72, + 0x63, 0x70, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, + 0x61, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, + 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x68, 0x6c, 0x6f, 0x67, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, + 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x61, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, + 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x68, 0x6c, 0x6f, 0x67, 0x32, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x61, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, - 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x68, 0x6c, - 0x6f, 0x67, 0x31, 0x30, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, - 0x66, 0x20, 0x61, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, - 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x68, - 0x65, 0x78, 0x70, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, - 0x20, 0x61, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, - 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x68, 0x65, - 0x78, 0x70, 0x32, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, - 0x20, 0x61, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, - 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x68, 0x65, - 0x78, 0x70, 0x31, 0x30, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, - 0x66, 0x20, 0x61, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, - 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x68, - 0x63, 0x6f, 0x73, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, + 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x68, 0x6c, 0x6f, 0x67, 0x31, 0x30, 0x28, 0x63, 0x6f, + 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x61, 0x29, 0x3b, 0x0a, 0x5f, + 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, + 0x20, 0x68, 0x65, 0x78, 0x70, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, + 0x6c, 0x66, 0x20, 0x61, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, + 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x68, 0x65, 0x78, 0x70, 0x32, 0x28, 0x63, + 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x61, 0x29, 0x3b, 0x0a, + 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, + 0x66, 0x20, 0x68, 0x65, 0x78, 0x70, 0x31, 0x30, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, + 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x61, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, + 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x68, 0x63, 0x6f, 0x73, + 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x61, 0x29, + 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, + 0x61, 0x6c, 0x66, 0x20, 0x68, 0x73, 0x69, 0x6e, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, + 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x61, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, + 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x68, 0x32, 0x73, + 0x71, 0x72, 0x74, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, + 0x32, 0x20, 0x61, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, + 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x68, 0x32, 0x72, 0x73, 0x71, 0x72, 0x74, + 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x61, + 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, + 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x68, 0x32, 0x72, 0x63, 0x70, 0x28, 0x63, 0x6f, 0x6e, 0x73, + 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x61, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, + 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, + 0x20, 0x68, 0x32, 0x6c, 0x6f, 0x67, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, + 0x61, 0x6c, 0x66, 0x32, 0x20, 0x61, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, + 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x68, 0x32, 0x6c, 0x6f, + 0x67, 0x32, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x61, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, - 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x68, 0x73, - 0x69, 0x6e, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, - 0x61, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, - 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x68, 0x32, - 0x73, 0x71, 0x72, 0x74, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, - 0x66, 0x32, 0x20, 0x61, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, - 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, - 0x20, 0x68, 0x32, 0x72, 0x73, 0x71, 0x72, 0x74, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, - 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x61, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, - 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, - 0x61, 0x6c, 0x66, 0x32, 0x20, 0x68, 0x32, 0x72, 0x63, 0x70, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, - 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x61, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, - 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, - 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x68, 0x32, 0x6c, 0x6f, 0x67, 0x28, 0x63, 0x6f, 0x6e, - 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x61, 0x29, 0x3b, 0x0a, 0x5f, - 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, - 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x68, 0x32, 0x6c, 0x6f, 0x67, 0x32, 0x28, + 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x68, 0x32, 0x6c, 0x6f, 0x67, 0x31, 0x30, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x61, 0x29, - 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, - 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x68, 0x32, 0x6c, 0x6f, - 0x67, 0x31, 0x30, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, + 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, + 0x61, 0x6c, 0x66, 0x32, 0x20, 0x68, 0x32, 0x65, 0x78, 0x70, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, + 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x61, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, + 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, + 0x68, 0x32, 0x65, 0x78, 0x70, 0x32, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, + 0x61, 0x6c, 0x66, 0x32, 0x20, 0x61, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, + 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x68, 0x32, 0x65, 0x78, + 0x70, 0x31, 0x30, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x61, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, - 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, - 0x68, 0x32, 0x65, 0x78, 0x70, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, - 0x6c, 0x66, 0x32, 0x20, 0x61, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, - 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, - 0x32, 0x20, 0x68, 0x32, 0x65, 0x78, 0x70, 0x32, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, - 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x61, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, - 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, - 0x61, 0x6c, 0x66, 0x32, 0x20, 0x68, 0x32, 0x65, 0x78, 0x70, 0x31, 0x30, 0x28, 0x63, 0x6f, 0x6e, - 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x61, 0x29, 0x3b, 0x0a, 0x5f, - 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x68, 0x32, 0x63, 0x6f, 0x73, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x61, 0x29, 0x3b, - 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, - 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x68, 0x32, 0x73, 0x69, 0x6e, - 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x61, - 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, - 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x61, 0x74, 0x6f, - 0x6d, 0x69, 0x63, 0x41, 0x64, 0x64, 0x28, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x2a, - 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x2c, 0x20, 0x63, - 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x76, 0x61, 0x6c, - 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, - 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x61, 0x74, 0x6f, 0x6d, - 0x69, 0x63, 0x41, 0x64, 0x64, 0x28, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x2a, 0x63, 0x6f, - 0x6e, 0x73, 0x74, 0x20, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x2c, 0x20, 0x63, 0x6f, 0x6e, - 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x76, 0x61, 0x6c, 0x29, 0x3b, 0x0a, - 0x0a, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x20, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x61, 0x73, 0x28, - 0x32, 0x29, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x7b, 0x0a, 0x0a, 0x70, 0x72, 0x6f, - 0x74, 0x65, 0x63, 0x74, 0x65, 0x64, 0x3a, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x75, 0x6e, 0x73, 0x69, - 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x5f, 0x5f, 0x78, 0x7b, 0x7d, - 0x3b, 0x0a, 0x0a, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x3a, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5f, - 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x28, 0x29, 0x20, 0x3d, 0x20, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, - 0x74, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, - 0x5f, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x78, 0x70, 0x72, 0x20, 0x5f, 0x5f, 0x68, 0x61, - 0x6c, 0x66, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x5f, - 0x72, 0x61, 0x77, 0x20, 0x26, 0x68, 0x72, 0x29, 0x20, 0x3a, 0x20, 0x5f, 0x5f, 0x78, 0x28, 0x68, - 0x72, 0x2e, 0x78, 0x29, 0x20, 0x7b, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x64, 0x65, - 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x26, 0x6f, - 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x3d, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, - 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x5f, 0x72, 0x61, 0x77, 0x20, 0x26, 0x68, 0x72, 0x29, 0x20, 0x7b, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x78, 0x20, 0x3d, 0x20, 0x68, - 0x72, 0x2e, 0x78, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, - 0x75, 0x72, 0x6e, 0x20, 0x2a, 0x74, 0x68, 0x69, 0x73, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, - 0x76, 0x6f, 0x6c, 0x61, 0x74, 0x69, 0x6c, 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, - 0x26, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x3d, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, - 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x5f, 0x72, 0x61, 0x77, 0x20, 0x26, 0x68, 0x72, 0x29, - 0x20, 0x76, 0x6f, 0x6c, 0x61, 0x74, 0x69, 0x6c, 0x65, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, + 0x6c, 0x66, 0x32, 0x20, 0x68, 0x32, 0x73, 0x69, 0x6e, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, + 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x61, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, + 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x61, + 0x74, 0x6f, 0x6d, 0x69, 0x63, 0x41, 0x64, 0x64, 0x28, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, + 0x20, 0x2a, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x2c, + 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x76, + 0x61, 0x6c, 0x29, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, + 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x61, 0x74, 0x6f, 0x6d, 0x69, 0x63, 0x41, 0x64, 0x64, + 0x28, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x2a, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x61, + 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, + 0x68, 0x61, 0x6c, 0x66, 0x20, 0x76, 0x61, 0x6c, 0x29, 0x3b, 0x0a, 0x0a, 0x73, 0x74, 0x72, 0x75, + 0x63, 0x74, 0x20, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x61, 0x73, 0x28, 0x32, 0x29, 0x20, 0x5f, 0x5f, + 0x68, 0x61, 0x6c, 0x66, 0x20, 0x7b, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x65, + 0x64, 0x3a, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, + 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x5f, 0x5f, 0x78, 0x7b, 0x7d, 0x3b, 0x0a, 0x0a, 0x70, 0x75, + 0x62, 0x6c, 0x69, 0x63, 0x3a, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, + 0x28, 0x29, 0x20, 0x3d, 0x20, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x3b, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x63, 0x6f, 0x6e, + 0x73, 0x74, 0x65, 0x78, 0x70, 0x72, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x28, 0x63, 0x6f, + 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x5f, 0x72, 0x61, 0x77, 0x20, 0x26, + 0x68, 0x72, 0x29, 0x20, 0x3a, 0x20, 0x5f, 0x5f, 0x78, 0x28, 0x68, 0x72, 0x2e, 0x78, 0x29, 0x20, + 0x7b, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, + 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x26, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, + 0x6f, 0x72, 0x3d, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, + 0x5f, 0x72, 0x61, 0x77, 0x20, 0x26, 0x68, 0x72, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x78, 0x20, 0x3d, 0x20, 0x68, 0x72, 0x2e, 0x78, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x2a, 0x74, 0x68, 0x69, 0x73, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x76, 0x6f, 0x6c, 0x61, 0x74, 0x69, 0x6c, 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x26, 0x6f, 0x70, 0x65, 0x72, - 0x61, 0x74, 0x6f, 0x72, 0x3d, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x76, 0x6f, 0x6c, 0x61, - 0x74, 0x69, 0x6c, 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x5f, 0x72, 0x61, 0x77, 0x20, - 0x26, 0x68, 0x72, 0x29, 0x20, 0x76, 0x6f, 0x6c, 0x61, 0x74, 0x69, 0x6c, 0x65, 0x20, 0x7b, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x78, 0x20, 0x3d, 0x20, 0x68, 0x72, - 0x2e, 0x78, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, - 0x72, 0x6e, 0x20, 0x2a, 0x74, 0x68, 0x69, 0x73, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x6f, - 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x5f, 0x72, - 0x61, 0x77, 0x28, 0x29, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x5f, 0x72, 0x61, 0x77, 0x20, - 0x72, 0x65, 0x74, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, - 0x2e, 0x78, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x78, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x72, 0x65, 0x74, 0x3b, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, - 0x5f, 0x5f, 0x20, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x20, 0x5f, 0x5f, 0x68, 0x61, - 0x6c, 0x66, 0x5f, 0x72, 0x61, 0x77, 0x28, 0x29, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x76, - 0x6f, 0x6c, 0x61, 0x74, 0x69, 0x6c, 0x65, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x5f, 0x72, 0x61, 0x77, 0x20, 0x72, 0x65, 0x74, - 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x2e, 0x78, 0x20, - 0x3d, 0x20, 0x5f, 0x5f, 0x78, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, - 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x72, 0x65, 0x74, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, - 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x66, 0x6c, 0x6f, - 0x61, 0x74, 0x20, 0x66, 0x29, 0x20, 0x7b, 0x20, 0x5f, 0x5f, 0x78, 0x20, 0x3d, 0x20, 0x5f, 0x5f, - 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x32, 0x68, 0x61, 0x6c, 0x66, 0x28, 0x66, 0x29, 0x2e, 0x5f, 0x5f, - 0x78, 0x3b, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, - 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, - 0x20, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x20, 0x66, 0x29, 0x20, 0x7b, 0x20, 0x5f, 0x5f, 0x78, - 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x32, 0x68, 0x61, 0x6c, 0x66, - 0x28, 0x66, 0x29, 0x2e, 0x5f, 0x5f, 0x78, 0x3b, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5f, + 0x61, 0x74, 0x6f, 0x72, 0x3d, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, + 0x6c, 0x66, 0x5f, 0x72, 0x61, 0x77, 0x20, 0x26, 0x68, 0x72, 0x29, 0x20, 0x76, 0x6f, 0x6c, 0x61, + 0x74, 0x69, 0x6c, 0x65, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5f, + 0x5f, 0x78, 0x20, 0x3d, 0x20, 0x68, 0x72, 0x2e, 0x78, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x2a, 0x74, 0x68, 0x69, 0x73, 0x3b, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x64, 0x65, 0x76, + 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x76, 0x6f, 0x6c, 0x61, 0x74, 0x69, 0x6c, 0x65, 0x20, 0x5f, + 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x26, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x3d, + 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x76, 0x6f, 0x6c, 0x61, 0x74, 0x69, 0x6c, 0x65, 0x20, + 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x5f, 0x72, 0x61, 0x77, 0x20, 0x26, 0x68, 0x72, 0x29, 0x20, + 0x76, 0x6f, 0x6c, 0x61, 0x74, 0x69, 0x6c, 0x65, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x78, 0x20, 0x3d, 0x20, 0x68, 0x72, 0x2e, 0x78, 0x3b, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x2a, 0x74, + 0x68, 0x69, 0x73, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, - 0x6f, 0x72, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x28, 0x29, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, - 0x20, 0x7b, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, - 0x32, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x28, 0x2a, 0x74, 0x68, 0x69, 0x73, 0x29, 0x3b, 0x20, 0x7d, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, - 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x26, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, - 0x3d, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x66, 0x29, - 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x78, 0x20, 0x3d, - 0x20, 0x5f, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x32, 0x68, 0x61, 0x6c, 0x66, 0x28, 0x66, 0x29, - 0x2e, 0x5f, 0x5f, 0x78, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, - 0x74, 0x75, 0x72, 0x6e, 0x20, 0x2a, 0x74, 0x68, 0x69, 0x73, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, - 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x26, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, - 0x72, 0x3d, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x20, - 0x66, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x78, - 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x32, 0x68, 0x61, 0x6c, 0x66, - 0x28, 0x66, 0x29, 0x2e, 0x5f, 0x5f, 0x78, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x2a, 0x74, 0x68, 0x69, 0x73, 0x3b, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, - 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, - 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x76, 0x61, 0x6c, 0x29, 0x20, 0x7b, 0x20, 0x5f, 0x5f, - 0x78, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x32, 0x68, 0x61, 0x6c, 0x66, - 0x5f, 0x72, 0x6e, 0x28, 0x76, 0x61, 0x6c, 0x29, 0x2e, 0x5f, 0x5f, 0x78, 0x3b, 0x20, 0x7d, 0x0a, + 0x6f, 0x72, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x5f, 0x72, 0x61, 0x77, 0x28, 0x29, 0x20, + 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x5f, 0x72, 0x61, 0x77, 0x20, 0x72, 0x65, 0x74, 0x3b, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x2e, 0x78, 0x20, 0x3d, 0x20, + 0x5f, 0x5f, 0x78, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, + 0x75, 0x72, 0x6e, 0x20, 0x72, 0x65, 0x74, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x6f, 0x70, + 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x5f, 0x72, 0x61, + 0x77, 0x28, 0x29, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x76, 0x6f, 0x6c, 0x61, 0x74, 0x69, + 0x6c, 0x65, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x68, + 0x61, 0x6c, 0x66, 0x5f, 0x72, 0x61, 0x77, 0x20, 0x72, 0x65, 0x74, 0x3b, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x2e, 0x78, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x78, + 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, + 0x20, 0x72, 0x65, 0x74, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, + 0x66, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x66, 0x29, + 0x20, 0x7b, 0x20, 0x5f, 0x5f, 0x78, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, + 0x32, 0x68, 0x61, 0x6c, 0x66, 0x28, 0x66, 0x29, 0x2e, 0x5f, 0x5f, 0x78, 0x3b, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, - 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, - 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x76, 0x61, 0x6c, 0x29, 0x20, - 0x7b, 0x20, 0x5f, 0x5f, 0x78, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x75, 0x73, 0x68, 0x6f, 0x72, 0x74, - 0x32, 0x68, 0x61, 0x6c, 0x66, 0x5f, 0x72, 0x6e, 0x28, 0x76, 0x61, 0x6c, 0x29, 0x2e, 0x5f, 0x5f, - 0x78, 0x3b, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, - 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, - 0x20, 0x69, 0x6e, 0x74, 0x20, 0x76, 0x61, 0x6c, 0x29, 0x20, 0x7b, 0x20, 0x5f, 0x5f, 0x78, 0x20, - 0x3d, 0x20, 0x5f, 0x5f, 0x69, 0x6e, 0x74, 0x32, 0x68, 0x61, 0x6c, 0x66, 0x5f, 0x72, 0x6e, 0x28, - 0x76, 0x61, 0x6c, 0x29, 0x2e, 0x5f, 0x5f, 0x78, 0x3b, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x64, 0x6f, 0x75, 0x62, + 0x6c, 0x65, 0x20, 0x66, 0x29, 0x20, 0x7b, 0x20, 0x5f, 0x5f, 0x78, 0x20, 0x3d, 0x20, 0x5f, 0x5f, + 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x32, 0x68, 0x61, 0x6c, 0x66, 0x28, 0x66, 0x29, 0x2e, 0x5f, + 0x5f, 0x78, 0x3b, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, + 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x20, 0x66, 0x6c, + 0x6f, 0x61, 0x74, 0x28, 0x29, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x7b, 0x20, 0x72, 0x65, + 0x74, 0x75, 0x72, 0x6e, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x66, 0x6c, 0x6f, 0x61, + 0x74, 0x28, 0x2a, 0x74, 0x68, 0x69, 0x73, 0x29, 0x3b, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, - 0x66, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, - 0x20, 0x69, 0x6e, 0x74, 0x20, 0x76, 0x61, 0x6c, 0x29, 0x20, 0x7b, 0x20, 0x5f, 0x5f, 0x78, 0x20, - 0x3d, 0x20, 0x5f, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x32, 0x68, 0x61, 0x6c, 0x66, 0x5f, 0x72, 0x6e, - 0x28, 0x76, 0x61, 0x6c, 0x29, 0x2e, 0x5f, 0x5f, 0x78, 0x3b, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, + 0x66, 0x20, 0x26, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x3d, 0x28, 0x63, 0x6f, 0x6e, + 0x73, 0x74, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x66, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x78, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x66, 0x6c, + 0x6f, 0x61, 0x74, 0x32, 0x68, 0x61, 0x6c, 0x66, 0x28, 0x66, 0x29, 0x2e, 0x5f, 0x5f, 0x78, 0x3b, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, + 0x2a, 0x74, 0x68, 0x69, 0x73, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, - 0x6c, 0x66, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x6c, 0x6f, 0x6e, 0x67, 0x20, 0x76, 0x61, - 0x6c, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, + 0x6c, 0x66, 0x20, 0x26, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x3d, 0x28, 0x63, 0x6f, + 0x6e, 0x73, 0x74, 0x20, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x20, 0x66, 0x29, 0x20, 0x7b, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x78, 0x20, 0x3d, 0x20, 0x5f, 0x5f, + 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x32, 0x68, 0x61, 0x6c, 0x66, 0x28, 0x66, 0x29, 0x2e, 0x5f, + 0x5f, 0x78, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, + 0x72, 0x6e, 0x20, 0x2a, 0x74, 0x68, 0x69, 0x73, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, + 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x73, 0x68, 0x6f, 0x72, + 0x74, 0x20, 0x76, 0x61, 0x6c, 0x29, 0x20, 0x7b, 0x20, 0x5f, 0x5f, 0x78, 0x20, 0x3d, 0x20, 0x5f, + 0x5f, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x32, 0x68, 0x61, 0x6c, 0x66, 0x5f, 0x72, 0x6e, 0x28, 0x76, + 0x61, 0x6c, 0x29, 0x2e, 0x5f, 0x5f, 0x78, 0x3b, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5f, + 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, + 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, + 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x76, 0x61, 0x6c, 0x29, 0x20, 0x7b, 0x20, 0x5f, 0x5f, 0x78, + 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x75, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x32, 0x68, 0x61, 0x6c, 0x66, + 0x5f, 0x72, 0x6e, 0x28, 0x76, 0x61, 0x6c, 0x29, 0x2e, 0x5f, 0x5f, 0x78, 0x3b, 0x20, 0x7d, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, + 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x69, 0x6e, 0x74, 0x20, + 0x76, 0x61, 0x6c, 0x29, 0x20, 0x7b, 0x20, 0x5f, 0x5f, 0x78, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x69, + 0x6e, 0x74, 0x32, 0x68, 0x61, 0x6c, 0x66, 0x5f, 0x72, 0x6e, 0x28, 0x76, 0x61, 0x6c, 0x29, 0x2e, + 0x5f, 0x5f, 0x78, 0x3b, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x64, 0x65, 0x76, + 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x28, 0x63, 0x6f, 0x6e, + 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x74, 0x20, + 0x76, 0x61, 0x6c, 0x29, 0x20, 0x7b, 0x20, 0x5f, 0x5f, 0x78, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x75, + 0x69, 0x6e, 0x74, 0x32, 0x68, 0x61, 0x6c, 0x66, 0x5f, 0x72, 0x6e, 0x28, 0x76, 0x61, 0x6c, 0x29, + 0x2e, 0x5f, 0x5f, 0x78, 0x3b, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x64, 0x65, + 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x28, 0x63, 0x6f, + 0x6e, 0x73, 0x74, 0x20, 0x6c, 0x6f, 0x6e, 0x67, 0x20, 0x76, 0x61, 0x6c, 0x29, 0x20, 0x7b, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x28, 0x73, 0x69, 0x7a, 0x65, + 0x6f, 0x66, 0x28, 0x6c, 0x6f, 0x6e, 0x67, 0x29, 0x20, 0x3d, 0x3d, 0x20, 0x73, 0x69, 0x7a, 0x65, + 0x6f, 0x66, 0x28, 0x6c, 0x6f, 0x6e, 0x67, 0x20, 0x6c, 0x6f, 0x6e, 0x67, 0x29, 0x29, 0x20, 0x7b, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x78, + 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x6c, 0x6c, 0x32, 0x68, 0x61, 0x6c, 0x66, 0x5f, 0x72, 0x6e, 0x28, + 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x6c, 0x6f, 0x6e, 0x67, + 0x20, 0x6c, 0x6f, 0x6e, 0x67, 0x3e, 0x28, 0x76, 0x61, 0x6c, 0x29, 0x29, 0x2e, 0x5f, 0x5f, 0x78, + 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x20, 0x65, 0x6c, 0x73, 0x65, + 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5f, + 0x5f, 0x78, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x69, 0x6e, 0x74, 0x32, 0x68, 0x61, 0x6c, 0x66, 0x5f, + 0x72, 0x6e, 0x28, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x69, + 0x6e, 0x74, 0x3e, 0x28, 0x76, 0x61, 0x6c, 0x29, 0x29, 0x2e, 0x5f, 0x5f, 0x78, 0x3b, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, + 0x68, 0x61, 0x6c, 0x66, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, + 0x6e, 0x65, 0x64, 0x20, 0x6c, 0x6f, 0x6e, 0x67, 0x20, 0x76, 0x61, 0x6c, 0x29, 0x20, 0x7b, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x28, 0x73, 0x69, 0x7a, 0x65, + 0x6f, 0x66, 0x28, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x6c, 0x6f, 0x6e, 0x67, + 0x29, 0x20, 0x3d, 0x3d, 0x20, 0x73, 0x69, 0x7a, 0x65, 0x6f, 0x66, 0x28, 0x75, 0x6e, 0x73, 0x69, + 0x67, 0x6e, 0x65, 0x64, 0x20, 0x6c, 0x6f, 0x6e, 0x67, 0x20, 0x6c, 0x6f, 0x6e, 0x67, 0x29, 0x29, + 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5f, + 0x5f, 0x78, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x75, 0x6c, 0x6c, 0x32, 0x68, 0x61, 0x6c, 0x66, 0x5f, + 0x72, 0x6e, 0x28, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x75, + 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x6c, 0x6f, 0x6e, 0x67, 0x20, 0x6c, 0x6f, 0x6e, + 0x67, 0x3e, 0x28, 0x76, 0x61, 0x6c, 0x29, 0x29, 0x2e, 0x5f, 0x5f, 0x78, 0x3b, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x20, 0x65, 0x6c, 0x73, 0x65, 0x20, 0x7b, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x78, 0x20, 0x3d, + 0x20, 0x5f, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x32, 0x68, 0x61, 0x6c, 0x66, 0x5f, 0x72, 0x6e, 0x28, + 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x75, 0x6e, 0x73, 0x69, + 0x67, 0x6e, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x74, 0x3e, 0x28, 0x76, 0x61, 0x6c, 0x29, 0x29, 0x2e, + 0x5f, 0x5f, 0x78, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, + 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, + 0x20, 0x6c, 0x6f, 0x6e, 0x67, 0x20, 0x6c, 0x6f, 0x6e, 0x67, 0x20, 0x76, 0x61, 0x6c, 0x29, 0x20, + 0x7b, 0x20, 0x5f, 0x5f, 0x78, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x6c, 0x6c, 0x32, 0x68, 0x61, 0x6c, + 0x66, 0x5f, 0x72, 0x6e, 0x28, 0x76, 0x61, 0x6c, 0x29, 0x2e, 0x5f, 0x5f, 0x78, 0x3b, 0x20, 0x7d, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, + 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, + 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x6c, 0x6f, 0x6e, 0x67, 0x20, 0x6c, 0x6f, 0x6e, 0x67, 0x20, + 0x76, 0x61, 0x6c, 0x29, 0x20, 0x7b, 0x20, 0x5f, 0x5f, 0x78, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x75, + 0x6c, 0x6c, 0x32, 0x68, 0x61, 0x6c, 0x66, 0x5f, 0x72, 0x6e, 0x28, 0x76, 0x61, 0x6c, 0x29, 0x2e, + 0x5f, 0x5f, 0x78, 0x3b, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x64, 0x65, 0x76, + 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x20, 0x73, + 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x63, 0x68, 0x61, 0x72, 0x28, 0x29, 0x20, 0x63, 0x6f, 0x6e, + 0x73, 0x74, 0x20, 0x7b, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x5f, 0x5f, 0x68, 0x61, + 0x6c, 0x66, 0x32, 0x63, 0x68, 0x61, 0x72, 0x5f, 0x72, 0x7a, 0x28, 0x2a, 0x74, 0x68, 0x69, 0x73, + 0x29, 0x3b, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, + 0x65, 0x5f, 0x5f, 0x20, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x20, 0x75, 0x6e, 0x73, + 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x63, 0x68, 0x61, 0x72, 0x28, 0x29, 0x20, 0x63, 0x6f, 0x6e, + 0x73, 0x74, 0x20, 0x7b, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x5f, 0x5f, 0x68, 0x61, + 0x6c, 0x66, 0x32, 0x75, 0x63, 0x68, 0x61, 0x72, 0x5f, 0x72, 0x7a, 0x28, 0x2a, 0x74, 0x68, 0x69, + 0x73, 0x29, 0x3b, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, + 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x20, 0x63, 0x68, + 0x61, 0x72, 0x28, 0x29, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x68, 0x61, 0x72, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3b, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x28, 0x28, 0x28, 0x63, + 0x68, 0x61, 0x72, 0x29, 0x2d, 0x31, 0x29, 0x20, 0x3c, 0x20, 0x28, 0x63, 0x68, 0x61, 0x72, 0x29, + 0x30, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x3d, 0x20, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x5f, + 0x63, 0x61, 0x73, 0x74, 0x3c, 0x63, 0x68, 0x61, 0x72, 0x3e, 0x28, 0x5f, 0x5f, 0x68, 0x61, 0x6c, + 0x66, 0x32, 0x63, 0x68, 0x61, 0x72, 0x5f, 0x72, 0x7a, 0x28, 0x2a, 0x74, 0x68, 0x69, 0x73, 0x29, + 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x20, 0x65, 0x6c, 0x73, + 0x65, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x3d, 0x20, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x5f, 0x63, + 0x61, 0x73, 0x74, 0x3c, 0x63, 0x68, 0x61, 0x72, 0x3e, 0x28, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, + 0x32, 0x75, 0x63, 0x68, 0x61, 0x72, 0x5f, 0x72, 0x7a, 0x28, 0x2a, 0x74, 0x68, 0x69, 0x73, 0x29, + 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x64, + 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, + 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x28, 0x29, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x7b, + 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x73, + 0x68, 0x6f, 0x72, 0x74, 0x5f, 0x72, 0x7a, 0x28, 0x2a, 0x74, 0x68, 0x69, 0x73, 0x29, 0x3b, 0x20, + 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, + 0x20, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, + 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x28, 0x29, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, + 0x20, 0x7b, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, + 0x32, 0x75, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x5f, 0x72, 0x7a, 0x28, 0x2a, 0x74, 0x68, 0x69, 0x73, + 0x29, 0x3b, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, + 0x65, 0x5f, 0x5f, 0x20, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x20, 0x69, 0x6e, 0x74, + 0x28, 0x29, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x7b, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, + 0x6e, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x69, 0x6e, 0x74, 0x5f, 0x72, 0x7a, 0x28, + 0x2a, 0x74, 0x68, 0x69, 0x73, 0x29, 0x3b, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, + 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, + 0x72, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x74, 0x28, 0x29, + 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x7b, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, + 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x75, 0x69, 0x6e, 0x74, 0x5f, 0x72, 0x7a, 0x28, 0x2a, + 0x74, 0x68, 0x69, 0x73, 0x29, 0x3b, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x64, + 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, + 0x20, 0x6c, 0x6f, 0x6e, 0x67, 0x28, 0x29, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x7b, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x6e, 0x67, 0x20, 0x72, 0x65, 0x74, + 0x76, 0x61, 0x6c, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x28, 0x73, 0x69, 0x7a, 0x65, 0x6f, 0x66, 0x28, 0x6c, 0x6f, 0x6e, 0x67, 0x29, 0x20, 0x3d, 0x3d, 0x20, 0x73, 0x69, 0x7a, 0x65, 0x6f, 0x66, 0x28, 0x6c, 0x6f, 0x6e, 0x67, 0x20, 0x6c, 0x6f, 0x6e, 0x67, 0x29, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x5f, 0x5f, 0x78, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x6c, 0x6c, 0x32, 0x68, 0x61, 0x6c, - 0x66, 0x5f, 0x72, 0x6e, 0x28, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x5f, 0x63, 0x61, 0x73, 0x74, - 0x3c, 0x6c, 0x6f, 0x6e, 0x67, 0x20, 0x6c, 0x6f, 0x6e, 0x67, 0x3e, 0x28, 0x76, 0x61, 0x6c, 0x29, - 0x29, 0x2e, 0x5f, 0x5f, 0x78, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, - 0x20, 0x65, 0x6c, 0x73, 0x65, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x78, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x69, 0x6e, 0x74, 0x32, - 0x68, 0x61, 0x6c, 0x66, 0x5f, 0x72, 0x6e, 0x28, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x5f, 0x63, - 0x61, 0x73, 0x74, 0x3c, 0x69, 0x6e, 0x74, 0x3e, 0x28, 0x76, 0x61, 0x6c, 0x29, 0x29, 0x2e, 0x5f, - 0x5f, 0x78, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, - 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, - 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x6c, 0x6f, 0x6e, 0x67, 0x20, 0x76, 0x61, - 0x6c, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, - 0x28, 0x73, 0x69, 0x7a, 0x65, 0x6f, 0x66, 0x28, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, - 0x20, 0x6c, 0x6f, 0x6e, 0x67, 0x29, 0x20, 0x3d, 0x3d, 0x20, 0x73, 0x69, 0x7a, 0x65, 0x6f, 0x66, - 0x28, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x6c, 0x6f, 0x6e, 0x67, 0x20, 0x6c, - 0x6f, 0x6e, 0x67, 0x29, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x78, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x75, 0x6c, 0x6c, 0x32, - 0x68, 0x61, 0x6c, 0x66, 0x5f, 0x72, 0x6e, 0x28, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x5f, 0x63, - 0x61, 0x73, 0x74, 0x3c, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x6c, 0x6f, 0x6e, - 0x67, 0x20, 0x6c, 0x6f, 0x6e, 0x67, 0x3e, 0x28, 0x76, 0x61, 0x6c, 0x29, 0x29, 0x2e, 0x5f, 0x5f, - 0x78, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x20, 0x65, 0x6c, 0x73, + 0x20, 0x20, 0x72, 0x65, 0x74, 0x76, 0x61, 0x6c, 0x20, 0x3d, 0x20, 0x73, 0x74, 0x61, 0x74, 0x69, + 0x63, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x6c, 0x6f, 0x6e, 0x67, 0x3e, 0x28, 0x5f, 0x5f, 0x68, + 0x61, 0x6c, 0x66, 0x32, 0x6c, 0x6c, 0x5f, 0x72, 0x7a, 0x28, 0x2a, 0x74, 0x68, 0x69, 0x73, 0x29, + 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x20, 0x65, 0x6c, 0x73, 0x65, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x5f, 0x5f, 0x78, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x32, 0x68, 0x61, 0x6c, - 0x66, 0x5f, 0x72, 0x6e, 0x28, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x5f, 0x63, 0x61, 0x73, 0x74, - 0x3c, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x74, 0x3e, 0x28, 0x76, - 0x61, 0x6c, 0x29, 0x29, 0x2e, 0x5f, 0x5f, 0x78, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, - 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x28, - 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x6c, 0x6f, 0x6e, 0x67, 0x20, 0x6c, 0x6f, 0x6e, 0x67, 0x20, - 0x76, 0x61, 0x6c, 0x29, 0x20, 0x7b, 0x20, 0x5f, 0x5f, 0x78, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x6c, - 0x6c, 0x32, 0x68, 0x61, 0x6c, 0x66, 0x5f, 0x72, 0x6e, 0x28, 0x76, 0x61, 0x6c, 0x29, 0x2e, 0x5f, - 0x5f, 0x78, 0x3b, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, - 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x28, 0x63, 0x6f, 0x6e, 0x73, - 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x6c, 0x6f, 0x6e, 0x67, 0x20, - 0x6c, 0x6f, 0x6e, 0x67, 0x20, 0x76, 0x61, 0x6c, 0x29, 0x20, 0x7b, 0x20, 0x5f, 0x5f, 0x78, 0x20, - 0x3d, 0x20, 0x5f, 0x5f, 0x75, 0x6c, 0x6c, 0x32, 0x68, 0x61, 0x6c, 0x66, 0x5f, 0x72, 0x6e, 0x28, - 0x76, 0x61, 0x6c, 0x29, 0x2e, 0x5f, 0x5f, 0x78, 0x3b, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x6f, 0x70, 0x65, 0x72, 0x61, - 0x74, 0x6f, 0x72, 0x20, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x63, 0x68, 0x61, 0x72, 0x28, - 0x29, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x7b, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, - 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x63, 0x68, 0x61, 0x72, 0x5f, 0x72, 0x7a, 0x28, - 0x2a, 0x74, 0x68, 0x69, 0x73, 0x29, 0x3b, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, - 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, - 0x72, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x63, 0x68, 0x61, 0x72, 0x28, - 0x29, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x7b, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, - 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x75, 0x63, 0x68, 0x61, 0x72, 0x5f, 0x72, 0x7a, + 0x72, 0x65, 0x74, 0x76, 0x61, 0x6c, 0x20, 0x3d, 0x20, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x5f, + 0x63, 0x61, 0x73, 0x74, 0x3c, 0x6c, 0x6f, 0x6e, 0x67, 0x3e, 0x28, 0x5f, 0x5f, 0x68, 0x61, 0x6c, + 0x66, 0x32, 0x69, 0x6e, 0x74, 0x5f, 0x72, 0x7a, 0x28, 0x2a, 0x74, 0x68, 0x69, 0x73, 0x29, 0x29, + 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x72, 0x65, 0x74, 0x76, 0x61, + 0x6c, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x64, + 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, + 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x6c, 0x6f, 0x6e, 0x67, 0x28, 0x29, + 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x6c, 0x6f, 0x6e, 0x67, 0x20, 0x72, + 0x65, 0x74, 0x76, 0x61, 0x6c, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, + 0x66, 0x20, 0x28, 0x73, 0x69, 0x7a, 0x65, 0x6f, 0x66, 0x28, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, + 0x65, 0x64, 0x20, 0x6c, 0x6f, 0x6e, 0x67, 0x29, 0x20, 0x3d, 0x3d, 0x20, 0x73, 0x69, 0x7a, 0x65, + 0x6f, 0x66, 0x28, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x6c, 0x6f, 0x6e, 0x67, + 0x20, 0x6c, 0x6f, 0x6e, 0x67, 0x29, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x76, 0x61, 0x6c, 0x20, 0x3d, 0x20, 0x73, + 0x74, 0x61, 0x74, 0x69, 0x63, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x75, 0x6e, 0x73, 0x69, 0x67, + 0x6e, 0x65, 0x64, 0x20, 0x6c, 0x6f, 0x6e, 0x67, 0x3e, 0x28, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, + 0x32, 0x75, 0x6c, 0x6c, 0x5f, 0x72, 0x7a, 0x28, 0x2a, 0x74, 0x68, 0x69, 0x73, 0x29, 0x29, 0x3b, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x20, 0x65, 0x6c, 0x73, 0x65, 0x20, + 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, + 0x74, 0x76, 0x61, 0x6c, 0x20, 0x3d, 0x20, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x5f, 0x63, 0x61, + 0x73, 0x74, 0x3c, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x6c, 0x6f, 0x6e, 0x67, + 0x3e, 0x28, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x75, 0x69, 0x6e, 0x74, 0x5f, 0x72, 0x7a, + 0x28, 0x2a, 0x74, 0x68, 0x69, 0x73, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, + 0x72, 0x6e, 0x20, 0x72, 0x65, 0x74, 0x76, 0x61, 0x6c, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, + 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x20, 0x6c, 0x6f, 0x6e, 0x67, 0x20, 0x6c, 0x6f, + 0x6e, 0x67, 0x28, 0x29, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x7b, 0x20, 0x72, 0x65, 0x74, + 0x75, 0x72, 0x6e, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x6c, 0x6c, 0x5f, 0x72, 0x7a, 0x28, 0x2a, 0x74, 0x68, 0x69, 0x73, 0x29, 0x3b, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, - 0x6f, 0x72, 0x20, 0x63, 0x68, 0x61, 0x72, 0x28, 0x29, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, - 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x68, 0x61, 0x72, 0x20, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, - 0x20, 0x28, 0x28, 0x28, 0x63, 0x68, 0x61, 0x72, 0x29, 0x2d, 0x31, 0x29, 0x20, 0x3c, 0x20, 0x28, - 0x63, 0x68, 0x61, 0x72, 0x29, 0x30, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x3d, 0x20, 0x73, 0x74, - 0x61, 0x74, 0x69, 0x63, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x63, 0x68, 0x61, 0x72, 0x3e, 0x28, - 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x63, 0x68, 0x61, 0x72, 0x5f, 0x72, 0x7a, 0x28, 0x2a, - 0x74, 0x68, 0x69, 0x73, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x7d, 0x20, 0x65, 0x6c, 0x73, 0x65, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x3d, 0x20, 0x73, 0x74, 0x61, - 0x74, 0x69, 0x63, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x63, 0x68, 0x61, 0x72, 0x3e, 0x28, 0x5f, - 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x75, 0x63, 0x68, 0x61, 0x72, 0x5f, 0x72, 0x7a, 0x28, 0x2a, - 0x74, 0x68, 0x69, 0x73, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, - 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x6f, 0x70, 0x65, - 0x72, 0x61, 0x74, 0x6f, 0x72, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x28, 0x29, 0x20, 0x63, 0x6f, - 0x6e, 0x73, 0x74, 0x20, 0x7b, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x5f, 0x5f, 0x68, - 0x61, 0x6c, 0x66, 0x32, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x5f, 0x72, 0x7a, 0x28, 0x2a, 0x74, 0x68, - 0x69, 0x73, 0x29, 0x3b, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x64, 0x65, 0x76, - 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x20, 0x75, - 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x28, 0x29, 0x20, - 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x7b, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x5f, - 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x75, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x5f, 0x72, 0x7a, 0x28, - 0x2a, 0x74, 0x68, 0x69, 0x73, 0x29, 0x3b, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, - 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, - 0x72, 0x20, 0x69, 0x6e, 0x74, 0x28, 0x29, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x7b, 0x20, - 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x69, 0x6e, - 0x74, 0x5f, 0x72, 0x7a, 0x28, 0x2a, 0x74, 0x68, 0x69, 0x73, 0x29, 0x3b, 0x20, 0x7d, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x6f, 0x70, - 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, - 0x69, 0x6e, 0x74, 0x28, 0x29, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x7b, 0x20, 0x72, 0x65, - 0x74, 0x75, 0x72, 0x6e, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x75, 0x69, 0x6e, 0x74, - 0x5f, 0x72, 0x7a, 0x28, 0x2a, 0x74, 0x68, 0x69, 0x73, 0x29, 0x3b, 0x20, 0x7d, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x6f, 0x70, 0x65, - 0x72, 0x61, 0x74, 0x6f, 0x72, 0x20, 0x6c, 0x6f, 0x6e, 0x67, 0x28, 0x29, 0x20, 0x63, 0x6f, 0x6e, - 0x73, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x6e, - 0x67, 0x20, 0x72, 0x65, 0x74, 0x76, 0x61, 0x6c, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x69, 0x66, 0x20, 0x28, 0x73, 0x69, 0x7a, 0x65, 0x6f, 0x66, 0x28, 0x6c, 0x6f, 0x6e, - 0x67, 0x29, 0x20, 0x3d, 0x3d, 0x20, 0x73, 0x69, 0x7a, 0x65, 0x6f, 0x66, 0x28, 0x6c, 0x6f, 0x6e, - 0x67, 0x20, 0x6c, 0x6f, 0x6e, 0x67, 0x29, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x76, 0x61, 0x6c, 0x20, 0x3d, 0x20, - 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x6c, 0x6f, 0x6e, 0x67, - 0x3e, 0x28, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x6c, 0x6c, 0x5f, 0x72, 0x7a, 0x28, 0x2a, - 0x74, 0x68, 0x69, 0x73, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x7d, 0x20, 0x65, 0x6c, 0x73, 0x65, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x76, 0x61, 0x6c, 0x20, 0x3d, 0x20, 0x73, 0x74, - 0x61, 0x74, 0x69, 0x63, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x6c, 0x6f, 0x6e, 0x67, 0x3e, 0x28, - 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x69, 0x6e, 0x74, 0x5f, 0x72, 0x7a, 0x28, 0x2a, 0x74, - 0x68, 0x69, 0x73, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, - 0x72, 0x65, 0x74, 0x76, 0x61, 0x6c, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x6f, 0x70, 0x65, - 0x72, 0x61, 0x74, 0x6f, 0x72, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x6c, - 0x6f, 0x6e, 0x67, 0x28, 0x29, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x6c, - 0x6f, 0x6e, 0x67, 0x20, 0x72, 0x65, 0x74, 0x76, 0x61, 0x6c, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x28, 0x73, 0x69, 0x7a, 0x65, 0x6f, 0x66, 0x28, 0x75, - 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x6c, 0x6f, 0x6e, 0x67, 0x29, 0x20, 0x3d, 0x3d, - 0x20, 0x73, 0x69, 0x7a, 0x65, 0x6f, 0x66, 0x28, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, - 0x20, 0x6c, 0x6f, 0x6e, 0x67, 0x20, 0x6c, 0x6f, 0x6e, 0x67, 0x29, 0x29, 0x20, 0x7b, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x76, 0x61, - 0x6c, 0x20, 0x3d, 0x20, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, - 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x6c, 0x6f, 0x6e, 0x67, 0x3e, 0x28, 0x5f, - 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x75, 0x6c, 0x6c, 0x5f, 0x72, 0x7a, 0x28, 0x2a, 0x74, 0x68, - 0x69, 0x73, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x20, - 0x65, 0x6c, 0x73, 0x65, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x76, 0x61, 0x6c, 0x20, 0x3d, 0x20, 0x73, 0x74, 0x61, 0x74, - 0x69, 0x63, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, - 0x20, 0x6c, 0x6f, 0x6e, 0x67, 0x3e, 0x28, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x75, 0x69, - 0x6e, 0x74, 0x5f, 0x72, 0x7a, 0x28, 0x2a, 0x74, 0x68, 0x69, 0x73, 0x29, 0x29, 0x3b, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x72, 0x65, 0x74, 0x76, 0x61, 0x6c, 0x3b, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, - 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x20, 0x6c, 0x6f, - 0x6e, 0x67, 0x20, 0x6c, 0x6f, 0x6e, 0x67, 0x28, 0x29, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, - 0x7b, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, - 0x6c, 0x6c, 0x5f, 0x72, 0x7a, 0x28, 0x2a, 0x74, 0x68, 0x69, 0x73, 0x29, 0x3b, 0x20, 0x7d, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x6f, - 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, - 0x20, 0x6c, 0x6f, 0x6e, 0x67, 0x20, 0x6c, 0x6f, 0x6e, 0x67, 0x28, 0x29, 0x20, 0x63, 0x6f, 0x6e, - 0x73, 0x74, 0x20, 0x7b, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x5f, 0x5f, 0x68, 0x61, - 0x6c, 0x66, 0x32, 0x75, 0x6c, 0x6c, 0x5f, 0x72, 0x7a, 0x28, 0x2a, 0x74, 0x68, 0x69, 0x73, 0x29, - 0x3b, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, - 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x26, 0x6f, 0x70, 0x65, 0x72, 0x61, - 0x74, 0x6f, 0x72, 0x3d, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, - 0x20, 0x76, 0x61, 0x6c, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x5f, 0x5f, 0x78, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x32, 0x68, 0x61, - 0x6c, 0x66, 0x5f, 0x72, 0x6e, 0x28, 0x76, 0x61, 0x6c, 0x29, 0x2e, 0x5f, 0x5f, 0x78, 0x3b, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x2a, - 0x74, 0x68, 0x69, 0x73, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, - 0x66, 0x20, 0x26, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x3d, 0x28, 0x63, 0x6f, 0x6e, - 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, - 0x74, 0x20, 0x76, 0x61, 0x6c, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x5f, 0x5f, 0x78, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x75, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x32, - 0x68, 0x61, 0x6c, 0x66, 0x5f, 0x72, 0x6e, 0x28, 0x76, 0x61, 0x6c, 0x29, 0x2e, 0x5f, 0x5f, 0x78, - 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, - 0x20, 0x2a, 0x74, 0x68, 0x69, 0x73, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, - 0x61, 0x6c, 0x66, 0x20, 0x26, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x3d, 0x28, 0x63, - 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x76, 0x61, 0x6c, 0x29, 0x20, 0x7b, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x78, 0x20, 0x3d, 0x20, 0x5f, 0x5f, - 0x69, 0x6e, 0x74, 0x32, 0x68, 0x61, 0x6c, 0x66, 0x5f, 0x72, 0x6e, 0x28, 0x76, 0x61, 0x6c, 0x29, - 0x2e, 0x5f, 0x5f, 0x78, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, - 0x74, 0x75, 0x72, 0x6e, 0x20, 0x2a, 0x74, 0x68, 0x69, 0x73, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, - 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x26, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, - 0x72, 0x3d, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, - 0x64, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x76, 0x61, 0x6c, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x78, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x75, 0x69, 0x6e, - 0x74, 0x32, 0x68, 0x61, 0x6c, 0x66, 0x5f, 0x72, 0x6e, 0x28, 0x76, 0x61, 0x6c, 0x29, 0x2e, 0x5f, - 0x5f, 0x78, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, - 0x72, 0x6e, 0x20, 0x2a, 0x74, 0x68, 0x69, 0x73, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, - 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x26, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x3d, - 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x6c, 0x6f, 0x6e, 0x67, 0x20, 0x6c, 0x6f, 0x6e, 0x67, - 0x20, 0x76, 0x61, 0x6c, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x5f, 0x5f, 0x78, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x6c, 0x6c, 0x32, 0x68, 0x61, 0x6c, 0x66, 0x5f, + 0x6f, 0x72, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x6c, 0x6f, 0x6e, 0x67, + 0x20, 0x6c, 0x6f, 0x6e, 0x67, 0x28, 0x29, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x7b, 0x20, + 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x75, 0x6c, + 0x6c, 0x5f, 0x72, 0x7a, 0x28, 0x2a, 0x74, 0x68, 0x69, 0x73, 0x29, 0x3b, 0x20, 0x7d, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, + 0x68, 0x61, 0x6c, 0x66, 0x20, 0x26, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x3d, 0x28, + 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x76, 0x61, 0x6c, 0x29, + 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x78, 0x20, 0x3d, + 0x20, 0x5f, 0x5f, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x32, 0x68, 0x61, 0x6c, 0x66, 0x5f, 0x72, 0x6e, + 0x28, 0x76, 0x61, 0x6c, 0x29, 0x2e, 0x5f, 0x5f, 0x78, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x2a, 0x74, 0x68, 0x69, 0x73, 0x3b, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x64, 0x65, 0x76, + 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x26, 0x6f, 0x70, + 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x3d, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, + 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x76, 0x61, 0x6c, + 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x78, 0x20, + 0x3d, 0x20, 0x5f, 0x5f, 0x75, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x32, 0x68, 0x61, 0x6c, 0x66, 0x5f, 0x72, 0x6e, 0x28, 0x76, 0x61, 0x6c, 0x29, 0x2e, 0x5f, 0x5f, 0x78, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x2a, 0x74, 0x68, 0x69, 0x73, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x26, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x3d, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, - 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x6c, 0x6f, 0x6e, 0x67, 0x20, 0x6c, 0x6f, - 0x6e, 0x67, 0x20, 0x76, 0x61, 0x6c, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x5f, 0x5f, 0x78, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x75, 0x6c, 0x6c, 0x32, 0x68, 0x61, - 0x6c, 0x66, 0x5f, 0x72, 0x6e, 0x28, 0x76, 0x61, 0x6c, 0x29, 0x2e, 0x5f, 0x5f, 0x78, 0x3b, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x2a, - 0x74, 0x68, 0x69, 0x73, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, - 0x65, 0x78, 0x70, 0x72, 0x20, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x20, 0x62, 0x6f, - 0x6f, 0x6c, 0x28, 0x29, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x7b, 0x20, 0x72, 0x65, 0x74, - 0x75, 0x72, 0x6e, 0x20, 0x28, 0x5f, 0x5f, 0x78, 0x20, 0x26, 0x20, 0x30, 0x78, 0x37, 0x46, 0x46, - 0x46, 0x55, 0x29, 0x20, 0x21, 0x3d, 0x20, 0x30, 0x55, 0x3b, 0x20, 0x7d, 0x0a, 0x7d, 0x3b, 0x0a, - 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, - 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, - 0x72, 0x2b, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, - 0x26, 0x6c, 0x68, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, - 0x66, 0x20, 0x26, 0x72, 0x68, 0x29, 0x20, 0x7b, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, - 0x5f, 0x5f, 0x68, 0x61, 0x64, 0x64, 0x28, 0x6c, 0x68, 0x2c, 0x20, 0x72, 0x68, 0x29, 0x3b, 0x20, - 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, - 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x6f, 0x70, 0x65, 0x72, 0x61, - 0x74, 0x6f, 0x72, 0x2d, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, - 0x66, 0x20, 0x26, 0x6c, 0x68, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, - 0x61, 0x6c, 0x66, 0x20, 0x26, 0x72, 0x68, 0x29, 0x20, 0x7b, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, - 0x6e, 0x20, 0x5f, 0x5f, 0x68, 0x73, 0x75, 0x62, 0x28, 0x6c, 0x68, 0x2c, 0x20, 0x72, 0x68, 0x29, - 0x3b, 0x20, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, - 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x6f, 0x70, 0x65, - 0x72, 0x61, 0x74, 0x6f, 0x72, 0x2a, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, + 0x69, 0x6e, 0x74, 0x20, 0x76, 0x61, 0x6c, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x78, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x69, 0x6e, 0x74, 0x32, 0x68, + 0x61, 0x6c, 0x66, 0x5f, 0x72, 0x6e, 0x28, 0x76, 0x61, 0x6c, 0x29, 0x2e, 0x5f, 0x5f, 0x78, 0x3b, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, + 0x2a, 0x74, 0x68, 0x69, 0x73, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, + 0x6c, 0x66, 0x20, 0x26, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x3d, 0x28, 0x63, 0x6f, + 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x74, + 0x20, 0x76, 0x61, 0x6c, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x5f, 0x5f, 0x78, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x32, 0x68, 0x61, 0x6c, + 0x66, 0x5f, 0x72, 0x6e, 0x28, 0x76, 0x61, 0x6c, 0x29, 0x2e, 0x5f, 0x5f, 0x78, 0x3b, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x2a, 0x74, + 0x68, 0x69, 0x73, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5f, + 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, + 0x20, 0x26, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x3d, 0x28, 0x63, 0x6f, 0x6e, 0x73, + 0x74, 0x20, 0x6c, 0x6f, 0x6e, 0x67, 0x20, 0x6c, 0x6f, 0x6e, 0x67, 0x20, 0x76, 0x61, 0x6c, 0x29, + 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x78, 0x20, 0x3d, + 0x20, 0x5f, 0x5f, 0x6c, 0x6c, 0x32, 0x68, 0x61, 0x6c, 0x66, 0x5f, 0x72, 0x6e, 0x28, 0x76, 0x61, + 0x6c, 0x29, 0x2e, 0x5f, 0x5f, 0x78, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x2a, 0x74, 0x68, 0x69, 0x73, 0x3b, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, + 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x26, 0x6f, 0x70, 0x65, 0x72, 0x61, + 0x74, 0x6f, 0x72, 0x3d, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, + 0x6e, 0x65, 0x64, 0x20, 0x6c, 0x6f, 0x6e, 0x67, 0x20, 0x6c, 0x6f, 0x6e, 0x67, 0x20, 0x76, 0x61, + 0x6c, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x78, + 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x75, 0x6c, 0x6c, 0x32, 0x68, 0x61, 0x6c, 0x66, 0x5f, 0x72, 0x6e, + 0x28, 0x76, 0x61, 0x6c, 0x29, 0x2e, 0x5f, 0x5f, 0x78, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x2a, 0x74, 0x68, 0x69, 0x73, 0x3b, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x64, 0x65, 0x76, + 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x78, 0x70, 0x72, 0x20, + 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x20, 0x62, 0x6f, 0x6f, 0x6c, 0x28, 0x29, 0x20, + 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x7b, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x28, + 0x5f, 0x5f, 0x78, 0x20, 0x26, 0x20, 0x30, 0x78, 0x37, 0x46, 0x46, 0x46, 0x55, 0x29, 0x20, 0x21, + 0x3d, 0x20, 0x30, 0x55, 0x3b, 0x20, 0x7d, 0x0a, 0x7d, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, + 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x6f, 0x70, 0x65, + 0x72, 0x61, 0x74, 0x6f, 0x72, 0x2b, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x26, 0x6c, 0x68, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x26, 0x72, 0x68, 0x29, 0x20, 0x7b, 0x20, 0x72, 0x65, 0x74, - 0x75, 0x72, 0x6e, 0x20, 0x5f, 0x5f, 0x68, 0x6d, 0x75, 0x6c, 0x28, 0x6c, 0x68, 0x2c, 0x20, 0x72, + 0x75, 0x72, 0x6e, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x64, 0x64, 0x28, 0x6c, 0x68, 0x2c, 0x20, 0x72, 0x68, 0x29, 0x3b, 0x20, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, - 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x6f, - 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x2f, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, - 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x26, 0x6c, 0x68, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, - 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x26, 0x72, 0x68, 0x29, 0x20, 0x7b, 0x20, 0x72, - 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x5f, 0x5f, 0x68, 0x64, 0x69, 0x76, 0x28, 0x6c, 0x68, 0x2c, - 0x20, 0x72, 0x68, 0x29, 0x3b, 0x20, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, - 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, - 0x20, 0x26, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x2b, 0x3d, 0x28, 0x5f, 0x5f, 0x68, + 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, + 0x2d, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x26, + 0x6c, 0x68, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, + 0x20, 0x26, 0x72, 0x68, 0x29, 0x20, 0x7b, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x5f, + 0x5f, 0x68, 0x73, 0x75, 0x62, 0x28, 0x6c, 0x68, 0x2c, 0x20, 0x72, 0x68, 0x29, 0x3b, 0x20, 0x7d, + 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, + 0x6c, 0x66, 0x20, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x2a, 0x28, 0x63, 0x6f, 0x6e, + 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x26, 0x6c, 0x68, 0x2c, 0x20, 0x63, + 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x26, 0x72, 0x68, 0x29, + 0x20, 0x7b, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x5f, 0x5f, 0x68, 0x6d, 0x75, 0x6c, + 0x28, 0x6c, 0x68, 0x2c, 0x20, 0x72, 0x68, 0x29, 0x3b, 0x20, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, + 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x6f, 0x70, + 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x2f, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, + 0x68, 0x61, 0x6c, 0x66, 0x20, 0x26, 0x6c, 0x68, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, + 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x26, 0x72, 0x68, 0x29, 0x20, 0x7b, 0x20, 0x72, 0x65, + 0x74, 0x75, 0x72, 0x6e, 0x20, 0x5f, 0x5f, 0x68, 0x64, 0x69, 0x76, 0x28, 0x6c, 0x68, 0x2c, 0x20, + 0x72, 0x68, 0x29, 0x3b, 0x20, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, + 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x26, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, + 0x6f, 0x72, 0x2b, 0x3d, 0x28, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x26, 0x6c, 0x68, 0x2c, + 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x26, 0x72, + 0x68, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x68, 0x20, 0x3d, 0x20, 0x5f, 0x5f, + 0x68, 0x61, 0x64, 0x64, 0x28, 0x6c, 0x68, 0x2c, 0x20, 0x72, 0x68, 0x29, 0x3b, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x6c, 0x68, 0x3b, 0x0a, 0x7d, 0x0a, 0x5f, + 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, + 0x20, 0x26, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x2d, 0x3d, 0x28, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x26, 0x6c, 0x68, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x26, 0x72, 0x68, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x6c, 0x68, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x64, 0x64, 0x28, 0x6c, 0x68, 0x2c, + 0x20, 0x6c, 0x68, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x68, 0x73, 0x75, 0x62, 0x28, 0x6c, 0x68, 0x2c, 0x20, 0x72, 0x68, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x6c, 0x68, 0x3b, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, - 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, - 0x26, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x2d, 0x3d, 0x28, 0x5f, 0x5f, 0x68, 0x61, - 0x6c, 0x66, 0x20, 0x26, 0x6c, 0x68, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, - 0x68, 0x61, 0x6c, 0x66, 0x20, 0x26, 0x72, 0x68, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x6c, 0x68, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x68, 0x73, 0x75, 0x62, 0x28, 0x6c, 0x68, 0x2c, 0x20, - 0x72, 0x68, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, - 0x6c, 0x68, 0x3b, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, - 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x26, - 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x2a, 0x3d, 0x28, 0x5f, 0x5f, 0x68, 0x61, 0x6c, - 0x66, 0x20, 0x26, 0x6c, 0x68, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, - 0x61, 0x6c, 0x66, 0x20, 0x26, 0x72, 0x68, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, - 0x68, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x68, 0x6d, 0x75, 0x6c, 0x28, 0x6c, 0x68, 0x2c, 0x20, 0x72, - 0x68, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x6c, - 0x68, 0x3b, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, - 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x26, 0x6f, - 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x2f, 0x3d, 0x28, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, - 0x20, 0x26, 0x6c, 0x68, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, - 0x6c, 0x66, 0x20, 0x26, 0x72, 0x68, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x68, - 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x68, 0x64, 0x69, 0x76, 0x28, 0x6c, 0x68, 0x2c, 0x20, 0x72, 0x68, - 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x6c, 0x68, - 0x3b, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, - 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x26, 0x6f, 0x70, - 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x2b, 0x2b, 0x28, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, - 0x26, 0x68, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, - 0x5f, 0x72, 0x61, 0x77, 0x20, 0x6f, 0x6e, 0x65, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6f, 0x6e, - 0x65, 0x2e, 0x78, 0x20, 0x3d, 0x20, 0x30, 0x78, 0x33, 0x43, 0x30, 0x30, 0x55, 0x3b, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x68, 0x20, 0x2b, 0x3d, 0x20, 0x6f, 0x6e, 0x65, 0x3b, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x68, 0x3b, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, - 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, - 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x26, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x2d, - 0x2d, 0x28, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x26, 0x68, 0x29, 0x20, 0x7b, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x5f, 0x72, 0x61, 0x77, 0x20, 0x6f, 0x6e, - 0x65, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6f, 0x6e, 0x65, 0x2e, 0x78, 0x20, 0x3d, 0x20, 0x30, - 0x78, 0x33, 0x43, 0x30, 0x30, 0x55, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x68, 0x20, 0x2d, 0x3d, - 0x20, 0x6f, 0x6e, 0x65, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, - 0x20, 0x68, 0x3b, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, - 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x6f, - 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x2b, 0x2b, 0x28, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, - 0x20, 0x26, 0x68, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x69, - 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x64, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x73, 0x74, - 0x61, 0x74, 0x69, 0x63, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x76, 0x6f, 0x69, 0x64, 0x3e, 0x28, - 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x64, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, - 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x72, 0x65, 0x74, 0x20, 0x3d, - 0x20, 0x68, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x5f, 0x72, + 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x26, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, + 0x6f, 0x72, 0x2a, 0x3d, 0x28, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x26, 0x6c, 0x68, 0x2c, + 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x26, 0x72, + 0x68, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x68, 0x20, 0x3d, 0x20, 0x5f, 0x5f, + 0x68, 0x6d, 0x75, 0x6c, 0x28, 0x6c, 0x68, 0x2c, 0x20, 0x72, 0x68, 0x29, 0x3b, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x6c, 0x68, 0x3b, 0x0a, 0x7d, 0x0a, 0x5f, + 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, + 0x20, 0x26, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x2f, 0x3d, 0x28, 0x5f, 0x5f, 0x68, + 0x61, 0x6c, 0x66, 0x20, 0x26, 0x6c, 0x68, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, + 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x26, 0x72, 0x68, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x6c, 0x68, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x68, 0x64, 0x69, 0x76, 0x28, 0x6c, 0x68, 0x2c, + 0x20, 0x72, 0x68, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, + 0x20, 0x6c, 0x68, 0x3b, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, + 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x26, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, + 0x6f, 0x72, 0x2b, 0x2b, 0x28, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x26, 0x68, 0x29, 0x20, + 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x5f, 0x72, 0x61, 0x77, + 0x20, 0x6f, 0x6e, 0x65, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6f, 0x6e, 0x65, 0x2e, 0x78, 0x20, + 0x3d, 0x20, 0x30, 0x78, 0x33, 0x43, 0x30, 0x30, 0x55, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x68, + 0x20, 0x2b, 0x3d, 0x20, 0x6f, 0x6e, 0x65, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, + 0x75, 0x72, 0x6e, 0x20, 0x68, 0x3b, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, + 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x26, 0x6f, 0x70, 0x65, 0x72, + 0x61, 0x74, 0x6f, 0x72, 0x2d, 0x2d, 0x28, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x26, 0x68, + 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x5f, 0x72, 0x61, 0x77, 0x20, 0x6f, 0x6e, 0x65, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6f, 0x6e, 0x65, 0x2e, 0x78, 0x20, 0x3d, 0x20, 0x30, 0x78, 0x33, 0x43, 0x30, 0x30, 0x55, 0x3b, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x68, 0x20, 0x2b, 0x3d, 0x20, 0x6f, 0x6e, 0x65, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, - 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x72, 0x65, 0x74, 0x3b, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, - 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, - 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x2d, 0x2d, - 0x28, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x26, 0x68, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, - 0x74, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x64, 0x29, 0x20, 0x7b, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x5f, 0x63, 0x61, 0x73, 0x74, - 0x3c, 0x76, 0x6f, 0x69, 0x64, 0x3e, 0x28, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x64, 0x29, 0x3b, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, - 0x66, 0x20, 0x72, 0x65, 0x74, 0x20, 0x3d, 0x20, 0x68, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5f, - 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x5f, 0x72, 0x61, 0x77, 0x20, 0x6f, 0x6e, 0x65, 0x3b, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x6f, 0x6e, 0x65, 0x2e, 0x78, 0x20, 0x3d, 0x20, 0x30, 0x78, 0x33, 0x43, 0x30, - 0x30, 0x55, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x68, 0x20, 0x2d, 0x3d, 0x20, 0x6f, 0x6e, 0x65, - 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x72, 0x65, 0x74, - 0x3b, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, - 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x6f, 0x70, 0x65, + 0x20, 0x68, 0x20, 0x2d, 0x3d, 0x20, 0x6f, 0x6e, 0x65, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, + 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x68, 0x3b, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, + 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x6f, 0x70, 0x65, + 0x72, 0x61, 0x74, 0x6f, 0x72, 0x2b, 0x2b, 0x28, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x26, + 0x68, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x69, 0x67, 0x6e, + 0x6f, 0x72, 0x65, 0x64, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x73, 0x74, 0x61, 0x74, + 0x69, 0x63, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x76, 0x6f, 0x69, 0x64, 0x3e, 0x28, 0x69, 0x67, + 0x6e, 0x6f, 0x72, 0x65, 0x64, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, + 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x72, 0x65, 0x74, 0x20, 0x3d, 0x20, 0x68, + 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x5f, 0x72, 0x61, 0x77, + 0x20, 0x6f, 0x6e, 0x65, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6f, 0x6e, 0x65, 0x2e, 0x78, 0x20, + 0x3d, 0x20, 0x30, 0x78, 0x33, 0x43, 0x30, 0x30, 0x55, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x68, + 0x20, 0x2b, 0x3d, 0x20, 0x6f, 0x6e, 0x65, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, + 0x75, 0x72, 0x6e, 0x20, 0x72, 0x65, 0x74, 0x3b, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, + 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x6f, 0x70, 0x65, + 0x72, 0x61, 0x74, 0x6f, 0x72, 0x2d, 0x2d, 0x28, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x26, + 0x68, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x69, 0x67, 0x6e, + 0x6f, 0x72, 0x65, 0x64, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x73, 0x74, 0x61, 0x74, + 0x69, 0x63, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x76, 0x6f, 0x69, 0x64, 0x3e, 0x28, 0x69, 0x67, + 0x6e, 0x6f, 0x72, 0x65, 0x64, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, + 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x72, 0x65, 0x74, 0x20, 0x3d, 0x20, 0x68, + 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x5f, 0x72, 0x61, 0x77, + 0x20, 0x6f, 0x6e, 0x65, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6f, 0x6e, 0x65, 0x2e, 0x78, 0x20, + 0x3d, 0x20, 0x30, 0x78, 0x33, 0x43, 0x30, 0x30, 0x55, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x68, + 0x20, 0x2d, 0x3d, 0x20, 0x6f, 0x6e, 0x65, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, + 0x75, 0x72, 0x6e, 0x20, 0x72, 0x65, 0x74, 0x3b, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, + 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x2b, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x26, 0x68, 0x29, 0x20, 0x7b, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x68, 0x3b, 0x20, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, - 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x6f, - 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x2d, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, - 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x26, 0x68, 0x29, 0x20, 0x7b, 0x20, 0x72, 0x65, 0x74, 0x75, - 0x72, 0x6e, 0x20, 0x5f, 0x5f, 0x68, 0x6e, 0x65, 0x67, 0x28, 0x68, 0x29, 0x3b, 0x20, 0x7d, 0x0a, - 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, - 0x65, 0x20, 0x62, 0x6f, 0x6f, 0x6c, 0x20, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x3d, - 0x3d, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x26, - 0x6c, 0x68, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, - 0x20, 0x26, 0x72, 0x68, 0x29, 0x20, 0x7b, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x5f, - 0x5f, 0x68, 0x65, 0x71, 0x28, 0x6c, 0x68, 0x2c, 0x20, 0x72, 0x68, 0x29, 0x3b, 0x20, 0x7d, 0x0a, - 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, - 0x65, 0x20, 0x62, 0x6f, 0x6f, 0x6c, 0x20, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x21, - 0x3d, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x26, - 0x6c, 0x68, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, - 0x20, 0x26, 0x72, 0x68, 0x29, 0x20, 0x7b, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x5f, - 0x5f, 0x68, 0x6e, 0x65, 0x75, 0x28, 0x6c, 0x68, 0x2c, 0x20, 0x72, 0x68, 0x29, 0x3b, 0x20, 0x7d, - 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, - 0x6e, 0x65, 0x20, 0x62, 0x6f, 0x6f, 0x6c, 0x20, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, - 0x3e, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x26, - 0x6c, 0x68, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, - 0x20, 0x26, 0x72, 0x68, 0x29, 0x20, 0x7b, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x5f, - 0x5f, 0x68, 0x67, 0x74, 0x28, 0x6c, 0x68, 0x2c, 0x20, 0x72, 0x68, 0x29, 0x3b, 0x20, 0x7d, 0x0a, - 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, - 0x65, 0x20, 0x62, 0x6f, 0x6f, 0x6c, 0x20, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x3c, - 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x26, 0x6c, - 0x68, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, - 0x26, 0x72, 0x68, 0x29, 0x20, 0x7b, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x5f, 0x5f, - 0x68, 0x6c, 0x74, 0x28, 0x6c, 0x68, 0x2c, 0x20, 0x72, 0x68, 0x29, 0x3b, 0x20, 0x7d, 0x0a, 0x5f, - 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, - 0x20, 0x62, 0x6f, 0x6f, 0x6c, 0x20, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x3e, 0x3d, - 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x26, 0x6c, - 0x68, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, - 0x26, 0x72, 0x68, 0x29, 0x20, 0x7b, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x5f, 0x5f, - 0x68, 0x67, 0x65, 0x28, 0x6c, 0x68, 0x2c, 0x20, 0x72, 0x68, 0x29, 0x3b, 0x20, 0x7d, 0x0a, 0x5f, - 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, - 0x20, 0x62, 0x6f, 0x6f, 0x6c, 0x20, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x3c, 0x3d, - 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x26, 0x6c, - 0x68, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, - 0x26, 0x72, 0x68, 0x29, 0x20, 0x7b, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x5f, 0x5f, - 0x68, 0x6c, 0x65, 0x28, 0x6c, 0x68, 0x2c, 0x20, 0x72, 0x68, 0x29, 0x3b, 0x20, 0x7d, 0x0a, 0x0a, - 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x20, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x61, 0x73, 0x28, 0x34, - 0x29, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x78, 0x7b, 0x7d, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x79, 0x7b, 0x7d, 0x3b, 0x0a, 0x0a, 0x70, 0x75, 0x62, - 0x6c, 0x69, 0x63, 0x3a, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, - 0x28, 0x29, 0x20, 0x3d, 0x20, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x3b, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, - 0x61, 0x6c, 0x66, 0x32, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, - 0x66, 0x32, 0x20, 0x26, 0x26, 0x73, 0x72, 0x63, 0x29, 0x20, 0x7b, 0x20, 0x2a, 0x28, 0x72, 0x65, + 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, + 0x2d, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x26, + 0x68, 0x29, 0x20, 0x7b, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x5f, 0x5f, 0x68, 0x6e, + 0x65, 0x67, 0x28, 0x68, 0x29, 0x3b, 0x20, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, + 0x65, 0x5f, 0x5f, 0x20, 0x62, 0x6f, 0x6f, 0x6c, 0x20, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, + 0x72, 0x3d, 0x3d, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, + 0x20, 0x26, 0x6c, 0x68, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, + 0x6c, 0x66, 0x20, 0x26, 0x72, 0x68, 0x29, 0x20, 0x7b, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, + 0x20, 0x5f, 0x5f, 0x68, 0x65, 0x71, 0x28, 0x6c, 0x68, 0x2c, 0x20, 0x72, 0x68, 0x29, 0x3b, 0x20, + 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x62, 0x6f, 0x6f, + 0x6c, 0x20, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x21, 0x3d, 0x28, 0x63, 0x6f, 0x6e, + 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x26, 0x6c, 0x68, 0x2c, 0x20, 0x63, + 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x26, 0x72, 0x68, 0x29, + 0x20, 0x7b, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x5f, 0x5f, 0x68, 0x6e, 0x65, 0x75, + 0x28, 0x6c, 0x68, 0x2c, 0x20, 0x72, 0x68, 0x29, 0x3b, 0x20, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, + 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x62, 0x6f, 0x6f, 0x6c, 0x20, 0x6f, 0x70, 0x65, 0x72, + 0x61, 0x74, 0x6f, 0x72, 0x3e, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, + 0x6c, 0x66, 0x20, 0x26, 0x6c, 0x68, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, + 0x68, 0x61, 0x6c, 0x66, 0x20, 0x26, 0x72, 0x68, 0x29, 0x20, 0x7b, 0x20, 0x72, 0x65, 0x74, 0x75, + 0x72, 0x6e, 0x20, 0x5f, 0x5f, 0x68, 0x67, 0x74, 0x28, 0x6c, 0x68, 0x2c, 0x20, 0x72, 0x68, 0x29, + 0x3b, 0x20, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x62, + 0x6f, 0x6f, 0x6c, 0x20, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x3c, 0x28, 0x63, 0x6f, + 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x26, 0x6c, 0x68, 0x2c, 0x20, + 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x26, 0x72, 0x68, + 0x29, 0x20, 0x7b, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x5f, 0x5f, 0x68, 0x6c, 0x74, + 0x28, 0x6c, 0x68, 0x2c, 0x20, 0x72, 0x68, 0x29, 0x3b, 0x20, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, + 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x62, 0x6f, 0x6f, 0x6c, 0x20, 0x6f, 0x70, 0x65, 0x72, + 0x61, 0x74, 0x6f, 0x72, 0x3e, 0x3d, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, + 0x61, 0x6c, 0x66, 0x20, 0x26, 0x6c, 0x68, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, + 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x26, 0x72, 0x68, 0x29, 0x20, 0x7b, 0x20, 0x72, 0x65, 0x74, + 0x75, 0x72, 0x6e, 0x20, 0x5f, 0x5f, 0x68, 0x67, 0x65, 0x28, 0x6c, 0x68, 0x2c, 0x20, 0x72, 0x68, + 0x29, 0x3b, 0x20, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, + 0x62, 0x6f, 0x6f, 0x6c, 0x20, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x3c, 0x3d, 0x28, + 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x26, 0x6c, 0x68, + 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x26, + 0x72, 0x68, 0x29, 0x20, 0x7b, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x5f, 0x5f, 0x68, + 0x6c, 0x65, 0x28, 0x6c, 0x68, 0x2c, 0x20, 0x72, 0x68, 0x29, 0x3b, 0x20, 0x7d, 0x0a, 0x0a, 0x73, + 0x74, 0x72, 0x75, 0x63, 0x74, 0x20, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x61, 0x73, 0x28, 0x34, 0x29, + 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5f, + 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x78, 0x7b, 0x7d, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5f, + 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x79, 0x7b, 0x7d, 0x3b, 0x0a, 0x0a, 0x70, 0x75, 0x62, 0x6c, + 0x69, 0x63, 0x3a, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x28, + 0x29, 0x20, 0x3d, 0x20, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x3b, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, + 0x6c, 0x66, 0x32, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, + 0x32, 0x20, 0x26, 0x26, 0x73, 0x72, 0x63, 0x29, 0x20, 0x7b, 0x20, 0x2a, 0x28, 0x72, 0x65, 0x69, + 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x75, 0x6e, + 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, + 0x2a, 0x74, 0x68, 0x69, 0x73, 0x29, 0x29, 0x29, 0x20, 0x3d, 0x20, 0x73, 0x74, 0x64, 0x3a, 0x3a, + 0x6d, 0x6f, 0x76, 0x65, 0x28, 0x2a, 0x28, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, + 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, + 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, + 0x73, 0x72, 0x63, 0x29, 0x29, 0x29, 0x29, 0x3b, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5f, + 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, + 0x32, 0x20, 0x26, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x3d, 0x28, 0x63, 0x6f, 0x6e, + 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x26, 0x26, 0x73, 0x72, 0x63, + 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x2a, 0x28, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x2a, 0x74, 0x68, 0x69, 0x73, 0x29, 0x29, 0x29, 0x20, 0x3d, 0x20, 0x73, 0x74, 0x64, 0x3a, 0x3a, 0x6d, 0x6f, 0x76, 0x65, 0x28, 0x2a, 0x28, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, - 0x28, 0x73, 0x72, 0x63, 0x29, 0x29, 0x29, 0x29, 0x3b, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, - 0x66, 0x32, 0x20, 0x26, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x3d, 0x28, 0x63, 0x6f, - 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x26, 0x26, 0x73, 0x72, - 0x63, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x2a, 0x28, 0x72, - 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, - 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x2a, 0x3e, 0x28, - 0x26, 0x28, 0x2a, 0x74, 0x68, 0x69, 0x73, 0x29, 0x29, 0x29, 0x20, 0x3d, 0x20, 0x73, 0x74, 0x64, - 0x3a, 0x3a, 0x6d, 0x6f, 0x76, 0x65, 0x28, 0x2a, 0x28, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, - 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, - 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x2a, 0x3e, 0x28, - 0x26, 0x28, 0x73, 0x72, 0x63, 0x29, 0x29, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x2a, 0x74, 0x68, 0x69, 0x73, 0x3b, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x64, 0x65, 0x76, - 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x78, 0x70, 0x72, 0x20, - 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, - 0x68, 0x61, 0x6c, 0x66, 0x20, 0x26, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, - 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x26, 0x62, 0x29, 0x20, 0x3a, 0x20, 0x78, 0x28, 0x61, 0x29, - 0x2c, 0x20, 0x79, 0x28, 0x62, 0x29, 0x20, 0x7b, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, - 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, - 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x26, - 0x73, 0x72, 0x63, 0x29, 0x20, 0x7b, 0x20, 0x2a, 0x28, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, - 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, - 0x65, 0x64, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x2a, 0x74, 0x68, 0x69, - 0x73, 0x29, 0x29, 0x29, 0x20, 0x3d, 0x20, 0x2a, 0x28, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, - 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, - 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x2a, 0x3e, 0x28, - 0x26, 0x28, 0x73, 0x72, 0x63, 0x29, 0x29, 0x29, 0x3b, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, - 0x66, 0x32, 0x20, 0x26, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x3d, 0x28, 0x63, 0x6f, - 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x26, 0x73, 0x72, 0x63, - 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x2a, 0x28, 0x72, 0x65, - 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x75, + 0x28, 0x73, 0x72, 0x63, 0x29, 0x29, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x2a, 0x74, 0x68, 0x69, 0x73, 0x3b, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, + 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x78, 0x70, 0x72, 0x20, 0x5f, + 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, + 0x61, 0x6c, 0x66, 0x20, 0x26, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, + 0x68, 0x61, 0x6c, 0x66, 0x20, 0x26, 0x62, 0x29, 0x20, 0x3a, 0x20, 0x78, 0x28, 0x61, 0x29, 0x2c, + 0x20, 0x79, 0x28, 0x62, 0x29, 0x20, 0x7b, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x64, + 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x28, + 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x26, 0x73, + 0x72, 0x63, 0x29, 0x20, 0x7b, 0x20, 0x2a, 0x28, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, + 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, + 0x64, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x2a, 0x74, 0x68, 0x69, 0x73, + 0x29, 0x29, 0x29, 0x20, 0x3d, 0x20, 0x2a, 0x28, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, + 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, - 0x28, 0x2a, 0x74, 0x68, 0x69, 0x73, 0x29, 0x29, 0x29, 0x20, 0x3d, 0x20, 0x2a, 0x28, 0x72, 0x65, - 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x63, - 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x69, 0x6e, - 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x73, 0x72, 0x63, 0x29, 0x29, 0x29, 0x3b, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x2a, 0x74, - 0x68, 0x69, 0x73, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5f, + 0x28, 0x73, 0x72, 0x63, 0x29, 0x29, 0x29, 0x3b, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, - 0x32, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x5f, - 0x72, 0x61, 0x77, 0x20, 0x26, 0x68, 0x32, 0x72, 0x29, 0x20, 0x7b, 0x20, 0x2a, 0x28, 0x72, 0x65, - 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x75, - 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, - 0x28, 0x2a, 0x74, 0x68, 0x69, 0x73, 0x29, 0x29, 0x29, 0x20, 0x3d, 0x20, 0x2a, 0x28, 0x72, 0x65, - 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x63, - 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x69, 0x6e, - 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x68, 0x32, 0x72, 0x29, 0x29, 0x29, 0x3b, 0x20, 0x7d, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, - 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x26, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, - 0x72, 0x3d, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, - 0x5f, 0x72, 0x61, 0x77, 0x20, 0x26, 0x68, 0x32, 0x72, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x2a, 0x28, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, - 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, - 0x20, 0x69, 0x6e, 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x2a, 0x74, 0x68, 0x69, 0x73, 0x29, - 0x29, 0x29, 0x20, 0x3d, 0x20, 0x2a, 0x28, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, - 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, + 0x32, 0x20, 0x26, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x3d, 0x28, 0x63, 0x6f, 0x6e, + 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x26, 0x73, 0x72, 0x63, 0x29, + 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x2a, 0x28, 0x72, 0x65, 0x69, + 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, - 0x68, 0x32, 0x72, 0x29, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x2a, 0x74, 0x68, 0x69, 0x73, 0x3b, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, - 0x5f, 0x5f, 0x20, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x20, 0x5f, 0x5f, 0x68, 0x61, - 0x6c, 0x66, 0x32, 0x5f, 0x72, 0x61, 0x77, 0x28, 0x29, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, - 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, - 0x32, 0x5f, 0x72, 0x61, 0x77, 0x20, 0x72, 0x65, 0x74, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x2e, 0x78, 0x20, 0x3d, 0x20, 0x30, 0x55, 0x3b, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x2e, 0x79, 0x20, 0x3d, 0x20, 0x30, - 0x55, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x2a, 0x28, 0x72, 0x65, 0x69, + 0x2a, 0x74, 0x68, 0x69, 0x73, 0x29, 0x29, 0x29, 0x20, 0x3d, 0x20, 0x2a, 0x28, 0x72, 0x65, 0x69, + 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x63, 0x6f, + 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x74, + 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x73, 0x72, 0x63, 0x29, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x2a, 0x74, 0x68, + 0x69, 0x73, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, + 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, + 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x5f, 0x72, + 0x61, 0x77, 0x20, 0x26, 0x68, 0x32, 0x72, 0x29, 0x20, 0x7b, 0x20, 0x2a, 0x28, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, - 0x72, 0x65, 0x74, 0x29, 0x29, 0x29, 0x20, 0x3d, 0x20, 0x2a, 0x28, 0x72, 0x65, 0x69, 0x6e, 0x74, - 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x63, 0x6f, 0x6e, 0x73, - 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x2a, - 0x3e, 0x28, 0x26, 0x28, 0x2a, 0x74, 0x68, 0x69, 0x73, 0x29, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x72, 0x65, 0x74, - 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x7d, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, - 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, - 0x61, 0x6c, 0x66, 0x32, 0x20, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x2b, 0x28, 0x63, - 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x26, 0x6c, 0x68, - 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, - 0x26, 0x72, 0x68, 0x29, 0x20, 0x7b, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x5f, 0x5f, - 0x68, 0x61, 0x64, 0x64, 0x32, 0x28, 0x6c, 0x68, 0x2c, 0x20, 0x72, 0x68, 0x29, 0x3b, 0x20, 0x7d, - 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, - 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x6f, 0x70, 0x65, 0x72, 0x61, - 0x74, 0x6f, 0x72, 0x2d, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, + 0x2a, 0x74, 0x68, 0x69, 0x73, 0x29, 0x29, 0x29, 0x20, 0x3d, 0x20, 0x2a, 0x28, 0x72, 0x65, 0x69, + 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x63, 0x6f, + 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x74, + 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x68, 0x32, 0x72, 0x29, 0x29, 0x29, 0x3b, 0x20, 0x7d, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, + 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x26, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, + 0x3d, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x5f, + 0x72, 0x61, 0x77, 0x20, 0x26, 0x68, 0x32, 0x72, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x2a, 0x28, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, + 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, + 0x69, 0x6e, 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x2a, 0x74, 0x68, 0x69, 0x73, 0x29, 0x29, + 0x29, 0x20, 0x3d, 0x20, 0x2a, 0x28, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, + 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, + 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x68, + 0x32, 0x72, 0x29, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, + 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x2a, 0x74, 0x68, 0x69, 0x73, 0x3b, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, + 0x5f, 0x20, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, + 0x66, 0x32, 0x5f, 0x72, 0x61, 0x77, 0x28, 0x29, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x7b, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, + 0x5f, 0x72, 0x61, 0x77, 0x20, 0x72, 0x65, 0x74, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x72, 0x65, 0x74, 0x2e, 0x78, 0x20, 0x3d, 0x20, 0x30, 0x55, 0x3b, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x2e, 0x79, 0x20, 0x3d, 0x20, 0x30, 0x55, + 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x2a, 0x28, 0x72, 0x65, 0x69, 0x6e, + 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x75, 0x6e, 0x73, + 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x72, + 0x65, 0x74, 0x29, 0x29, 0x29, 0x20, 0x3d, 0x20, 0x2a, 0x28, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, + 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x63, 0x6f, 0x6e, 0x73, 0x74, + 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x2a, 0x3e, + 0x28, 0x26, 0x28, 0x2a, 0x74, 0x68, 0x69, 0x73, 0x29, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x72, 0x65, 0x74, 0x3b, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x7d, 0x3b, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, + 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x6f, 0x70, 0x65, + 0x72, 0x61, 0x74, 0x6f, 0x72, 0x2b, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, + 0x61, 0x6c, 0x66, 0x32, 0x20, 0x26, 0x6c, 0x68, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, + 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x26, 0x72, 0x68, 0x29, 0x20, 0x7b, 0x20, 0x72, + 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x64, 0x64, 0x32, 0x28, 0x6c, 0x68, + 0x2c, 0x20, 0x72, 0x68, 0x29, 0x3b, 0x20, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, + 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x6f, 0x70, 0x65, 0x72, + 0x61, 0x74, 0x6f, 0x72, 0x2d, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, + 0x6c, 0x66, 0x32, 0x20, 0x26, 0x6c, 0x68, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, + 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x26, 0x72, 0x68, 0x29, 0x20, 0x7b, 0x20, 0x72, 0x65, + 0x74, 0x75, 0x72, 0x6e, 0x20, 0x5f, 0x5f, 0x68, 0x73, 0x75, 0x62, 0x32, 0x28, 0x6c, 0x68, 0x2c, + 0x20, 0x72, 0x68, 0x29, 0x3b, 0x20, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, + 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x6f, 0x70, 0x65, 0x72, 0x61, + 0x74, 0x6f, 0x72, 0x2a, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x26, 0x6c, 0x68, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x26, 0x72, 0x68, 0x29, 0x20, 0x7b, 0x20, 0x72, 0x65, 0x74, - 0x75, 0x72, 0x6e, 0x20, 0x5f, 0x5f, 0x68, 0x73, 0x75, 0x62, 0x32, 0x28, 0x6c, 0x68, 0x2c, 0x20, + 0x75, 0x72, 0x6e, 0x20, 0x5f, 0x5f, 0x68, 0x6d, 0x75, 0x6c, 0x32, 0x28, 0x6c, 0x68, 0x2c, 0x20, 0x72, 0x68, 0x29, 0x3b, 0x20, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, - 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, - 0x20, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x2a, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, - 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x26, 0x6c, 0x68, 0x2c, 0x20, 0x63, 0x6f, + 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, + 0x6f, 0x72, 0x2f, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, + 0x32, 0x20, 0x26, 0x6c, 0x68, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, + 0x61, 0x6c, 0x66, 0x32, 0x20, 0x26, 0x72, 0x68, 0x29, 0x20, 0x7b, 0x20, 0x72, 0x65, 0x74, 0x75, + 0x72, 0x6e, 0x20, 0x5f, 0x5f, 0x68, 0x32, 0x64, 0x69, 0x76, 0x28, 0x6c, 0x68, 0x2c, 0x20, 0x72, + 0x68, 0x29, 0x3b, 0x20, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, + 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x26, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, + 0x6f, 0x72, 0x2b, 0x3d, 0x28, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x26, 0x6c, 0x68, + 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, + 0x26, 0x72, 0x68, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x68, 0x20, 0x3d, 0x20, + 0x5f, 0x5f, 0x68, 0x61, 0x64, 0x64, 0x32, 0x28, 0x6c, 0x68, 0x2c, 0x20, 0x72, 0x68, 0x29, 0x3b, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x6c, 0x68, 0x3b, 0x0a, + 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, + 0x61, 0x6c, 0x66, 0x32, 0x20, 0x26, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x2d, 0x3d, + 0x28, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x26, 0x6c, 0x68, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x26, 0x72, 0x68, 0x29, - 0x20, 0x7b, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x5f, 0x5f, 0x68, 0x6d, 0x75, 0x6c, - 0x32, 0x28, 0x6c, 0x68, 0x2c, 0x20, 0x72, 0x68, 0x29, 0x3b, 0x20, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, - 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, - 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x2f, - 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x26, - 0x6c, 0x68, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, - 0x32, 0x20, 0x26, 0x72, 0x68, 0x29, 0x20, 0x7b, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, - 0x5f, 0x5f, 0x68, 0x32, 0x64, 0x69, 0x76, 0x28, 0x6c, 0x68, 0x2c, 0x20, 0x72, 0x68, 0x29, 0x3b, - 0x20, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, - 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x26, 0x6f, 0x70, - 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x2b, 0x3d, 0x28, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, + 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x68, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x68, 0x73, + 0x75, 0x62, 0x32, 0x28, 0x6c, 0x68, 0x2c, 0x20, 0x72, 0x68, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x6c, 0x68, 0x3b, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, + 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, + 0x20, 0x26, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x2a, 0x3d, 0x28, 0x5f, 0x5f, 0x68, + 0x61, 0x6c, 0x66, 0x32, 0x20, 0x26, 0x6c, 0x68, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, + 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x26, 0x72, 0x68, 0x29, 0x20, 0x7b, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x6c, 0x68, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x68, 0x6d, 0x75, 0x6c, 0x32, 0x28, + 0x6c, 0x68, 0x2c, 0x20, 0x72, 0x68, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, + 0x75, 0x72, 0x6e, 0x20, 0x6c, 0x68, 0x3b, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, + 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x26, 0x6f, 0x70, + 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x2f, 0x3d, 0x28, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x26, 0x6c, 0x68, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x26, 0x72, 0x68, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, - 0x68, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x64, 0x64, 0x32, 0x28, 0x6c, 0x68, 0x2c, 0x20, + 0x68, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x68, 0x32, 0x64, 0x69, 0x76, 0x28, 0x6c, 0x68, 0x2c, 0x20, 0x72, 0x68, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x6c, 0x68, 0x3b, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, - 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, - 0x26, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x2d, 0x3d, 0x28, 0x5f, 0x5f, 0x68, 0x61, - 0x6c, 0x66, 0x32, 0x20, 0x26, 0x6c, 0x68, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, - 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x26, 0x72, 0x68, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x6c, 0x68, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x68, 0x73, 0x75, 0x62, 0x32, 0x28, 0x6c, - 0x68, 0x2c, 0x20, 0x72, 0x68, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, - 0x72, 0x6e, 0x20, 0x6c, 0x68, 0x3b, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, - 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, - 0x66, 0x32, 0x20, 0x26, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x2a, 0x3d, 0x28, 0x5f, - 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x26, 0x6c, 0x68, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, - 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x26, 0x72, 0x68, 0x29, 0x20, 0x7b, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x68, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x68, 0x6d, 0x75, 0x6c, - 0x32, 0x28, 0x6c, 0x68, 0x2c, 0x20, 0x72, 0x68, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, - 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x6c, 0x68, 0x3b, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, - 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, - 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x26, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x2f, - 0x3d, 0x28, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x26, 0x6c, 0x68, 0x2c, 0x20, 0x63, - 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x26, 0x72, 0x68, - 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x68, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x68, - 0x32, 0x64, 0x69, 0x76, 0x28, 0x6c, 0x68, 0x2c, 0x20, 0x72, 0x68, 0x29, 0x3b, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x6c, 0x68, 0x3b, 0x0a, 0x7d, 0x0a, 0x5f, - 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x26, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x2b, 0x2b, 0x28, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x26, 0x68, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x5f, 0x72, @@ -1917,149 +1805,142 @@ extern "C" const char luisa_cuda_builtin_cuda_device_half[87792] = { 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x68, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x64, 0x64, 0x32, 0x28, 0x68, 0x2c, 0x20, 0x6f, 0x6e, 0x65, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x68, 0x3b, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, - 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, - 0x61, 0x6c, 0x66, 0x32, 0x20, 0x26, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x2d, 0x2d, - 0x28, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x26, 0x68, 0x29, 0x20, 0x7b, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x5f, 0x72, 0x61, 0x77, 0x20, 0x6f, - 0x6e, 0x65, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6f, 0x6e, 0x65, 0x2e, 0x78, 0x20, 0x3d, 0x20, - 0x30, 0x78, 0x33, 0x43, 0x30, 0x30, 0x55, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6f, 0x6e, 0x65, - 0x2e, 0x79, 0x20, 0x3d, 0x20, 0x30, 0x78, 0x33, 0x43, 0x30, 0x30, 0x55, 0x3b, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x68, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x68, 0x73, 0x75, 0x62, 0x32, 0x28, 0x68, 0x2c, - 0x20, 0x6f, 0x6e, 0x65, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, - 0x6e, 0x20, 0x68, 0x3b, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, - 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, - 0x20, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x2b, 0x2b, 0x28, 0x5f, 0x5f, 0x68, 0x61, - 0x6c, 0x66, 0x32, 0x20, 0x26, 0x68, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x69, 0x6e, - 0x74, 0x20, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x64, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x76, 0x6f, 0x69, - 0x64, 0x3e, 0x28, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x64, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x72, - 0x65, 0x74, 0x20, 0x3d, 0x20, 0x68, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x68, 0x61, + 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x26, 0x6f, + 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x2d, 0x2d, 0x28, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, + 0x32, 0x20, 0x26, 0x68, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x5f, 0x72, 0x61, 0x77, 0x20, 0x6f, 0x6e, 0x65, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6f, 0x6e, 0x65, 0x2e, 0x78, 0x20, 0x3d, 0x20, 0x30, 0x78, 0x33, 0x43, 0x30, 0x30, 0x55, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6f, 0x6e, 0x65, 0x2e, 0x79, 0x20, 0x3d, 0x20, 0x30, 0x78, 0x33, 0x43, 0x30, 0x30, 0x55, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x68, 0x20, 0x3d, 0x20, 0x5f, - 0x5f, 0x68, 0x61, 0x64, 0x64, 0x32, 0x28, 0x68, 0x2c, 0x20, 0x6f, 0x6e, 0x65, 0x29, 0x3b, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x72, 0x65, 0x74, 0x3b, 0x0a, - 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, - 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x6f, 0x70, 0x65, 0x72, - 0x61, 0x74, 0x6f, 0x72, 0x2d, 0x2d, 0x28, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x26, - 0x68, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x69, 0x67, 0x6e, - 0x6f, 0x72, 0x65, 0x64, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x73, 0x74, 0x61, 0x74, - 0x69, 0x63, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x76, 0x6f, 0x69, 0x64, 0x3e, 0x28, 0x69, 0x67, - 0x6e, 0x6f, 0x72, 0x65, 0x64, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, - 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x72, 0x65, 0x74, 0x20, 0x3d, 0x20, - 0x68, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x5f, 0x72, - 0x61, 0x77, 0x20, 0x6f, 0x6e, 0x65, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6f, 0x6e, 0x65, 0x2e, - 0x78, 0x20, 0x3d, 0x20, 0x30, 0x78, 0x33, 0x43, 0x30, 0x30, 0x55, 0x3b, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x6f, 0x6e, 0x65, 0x2e, 0x79, 0x20, 0x3d, 0x20, 0x30, 0x78, 0x33, 0x43, 0x30, 0x30, 0x55, - 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x68, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x68, 0x73, 0x75, 0x62, - 0x32, 0x28, 0x68, 0x2c, 0x20, 0x6f, 0x6e, 0x65, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, - 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x72, 0x65, 0x74, 0x3b, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, - 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, - 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x2b, - 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x26, - 0x68, 0x29, 0x20, 0x7b, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x68, 0x3b, 0x20, 0x7d, - 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, - 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x6f, 0x70, 0x65, 0x72, 0x61, - 0x74, 0x6f, 0x72, 0x2d, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, + 0x5f, 0x68, 0x73, 0x75, 0x62, 0x32, 0x28, 0x68, 0x2c, 0x20, 0x6f, 0x6e, 0x65, 0x29, 0x3b, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x68, 0x3b, 0x0a, 0x7d, 0x0a, + 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, + 0x66, 0x32, 0x20, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x2b, 0x2b, 0x28, 0x5f, 0x5f, + 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x26, 0x68, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, + 0x69, 0x6e, 0x74, 0x20, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x64, 0x29, 0x20, 0x7b, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x76, + 0x6f, 0x69, 0x64, 0x3e, 0x28, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x64, 0x29, 0x3b, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, + 0x20, 0x72, 0x65, 0x74, 0x20, 0x3d, 0x20, 0x68, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, + 0x68, 0x61, 0x6c, 0x66, 0x32, 0x5f, 0x72, 0x61, 0x77, 0x20, 0x6f, 0x6e, 0x65, 0x3b, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x6f, 0x6e, 0x65, 0x2e, 0x78, 0x20, 0x3d, 0x20, 0x30, 0x78, 0x33, 0x43, 0x30, + 0x30, 0x55, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6f, 0x6e, 0x65, 0x2e, 0x79, 0x20, 0x3d, 0x20, + 0x30, 0x78, 0x33, 0x43, 0x30, 0x30, 0x55, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x68, 0x20, 0x3d, + 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x64, 0x64, 0x32, 0x28, 0x68, 0x2c, 0x20, 0x6f, 0x6e, 0x65, 0x29, + 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x72, 0x65, 0x74, + 0x3b, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, + 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x2d, + 0x2d, 0x28, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x26, 0x68, 0x2c, 0x20, 0x63, 0x6f, + 0x6e, 0x73, 0x74, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x64, 0x29, + 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x5f, 0x63, 0x61, + 0x73, 0x74, 0x3c, 0x76, 0x6f, 0x69, 0x64, 0x3e, 0x28, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x64, + 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, + 0x61, 0x6c, 0x66, 0x32, 0x20, 0x72, 0x65, 0x74, 0x20, 0x3d, 0x20, 0x68, 0x3b, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x5f, 0x72, 0x61, 0x77, 0x20, 0x6f, 0x6e, + 0x65, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6f, 0x6e, 0x65, 0x2e, 0x78, 0x20, 0x3d, 0x20, 0x30, + 0x78, 0x33, 0x43, 0x30, 0x30, 0x55, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6f, 0x6e, 0x65, 0x2e, + 0x79, 0x20, 0x3d, 0x20, 0x30, 0x78, 0x33, 0x43, 0x30, 0x30, 0x55, 0x3b, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x68, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x68, 0x73, 0x75, 0x62, 0x32, 0x28, 0x68, 0x2c, 0x20, + 0x6f, 0x6e, 0x65, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, + 0x20, 0x72, 0x65, 0x74, 0x3b, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, + 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x6f, 0x70, 0x65, 0x72, 0x61, + 0x74, 0x6f, 0x72, 0x2b, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x26, 0x68, 0x29, 0x20, 0x7b, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, - 0x5f, 0x5f, 0x68, 0x6e, 0x65, 0x67, 0x32, 0x28, 0x68, 0x29, 0x3b, 0x20, 0x7d, 0x0a, 0x5f, 0x5f, - 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, - 0x62, 0x6f, 0x6f, 0x6c, 0x20, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x3d, 0x3d, 0x28, + 0x68, 0x3b, 0x20, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, + 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, + 0x2d, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, + 0x26, 0x68, 0x29, 0x20, 0x7b, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x5f, 0x5f, 0x68, + 0x6e, 0x65, 0x67, 0x32, 0x28, 0x68, 0x29, 0x3b, 0x20, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, + 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x62, 0x6f, 0x6f, 0x6c, 0x20, 0x6f, 0x70, 0x65, 0x72, 0x61, + 0x74, 0x6f, 0x72, 0x3d, 0x3d, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, + 0x6c, 0x66, 0x32, 0x20, 0x26, 0x6c, 0x68, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, + 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x26, 0x72, 0x68, 0x29, 0x20, 0x7b, 0x20, 0x72, 0x65, + 0x74, 0x75, 0x72, 0x6e, 0x20, 0x5f, 0x5f, 0x68, 0x62, 0x65, 0x71, 0x32, 0x28, 0x6c, 0x68, 0x2c, + 0x20, 0x72, 0x68, 0x29, 0x3b, 0x20, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, + 0x5f, 0x5f, 0x20, 0x62, 0x6f, 0x6f, 0x6c, 0x20, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, + 0x21, 0x3d, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, + 0x20, 0x26, 0x6c, 0x68, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, + 0x6c, 0x66, 0x32, 0x20, 0x26, 0x72, 0x68, 0x29, 0x20, 0x7b, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, + 0x6e, 0x20, 0x5f, 0x5f, 0x68, 0x62, 0x6e, 0x65, 0x75, 0x32, 0x28, 0x6c, 0x68, 0x2c, 0x20, 0x72, + 0x68, 0x29, 0x3b, 0x20, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, + 0x20, 0x62, 0x6f, 0x6f, 0x6c, 0x20, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x3e, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x26, 0x6c, 0x68, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x26, 0x72, 0x68, 0x29, 0x20, 0x7b, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x5f, - 0x5f, 0x68, 0x62, 0x65, 0x71, 0x32, 0x28, 0x6c, 0x68, 0x2c, 0x20, 0x72, 0x68, 0x29, 0x3b, 0x20, - 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, - 0x69, 0x6e, 0x65, 0x20, 0x62, 0x6f, 0x6f, 0x6c, 0x20, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, - 0x72, 0x21, 0x3d, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, - 0x32, 0x20, 0x26, 0x6c, 0x68, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, - 0x61, 0x6c, 0x66, 0x32, 0x20, 0x26, 0x72, 0x68, 0x29, 0x20, 0x7b, 0x20, 0x72, 0x65, 0x74, 0x75, - 0x72, 0x6e, 0x20, 0x5f, 0x5f, 0x68, 0x62, 0x6e, 0x65, 0x75, 0x32, 0x28, 0x6c, 0x68, 0x2c, 0x20, - 0x72, 0x68, 0x29, 0x3b, 0x20, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, - 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x62, 0x6f, 0x6f, 0x6c, 0x20, 0x6f, 0x70, - 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x3e, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, - 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x26, 0x6c, 0x68, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, - 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x26, 0x72, 0x68, 0x29, 0x20, 0x7b, 0x20, - 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x5f, 0x5f, 0x68, 0x62, 0x67, 0x74, 0x32, 0x28, 0x6c, - 0x68, 0x2c, 0x20, 0x72, 0x68, 0x29, 0x3b, 0x20, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, - 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x62, 0x6f, 0x6f, 0x6c, - 0x20, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x3c, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, - 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x26, 0x6c, 0x68, 0x2c, 0x20, 0x63, 0x6f, - 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x26, 0x72, 0x68, 0x29, - 0x20, 0x7b, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x5f, 0x5f, 0x68, 0x62, 0x6c, 0x74, - 0x32, 0x28, 0x6c, 0x68, 0x2c, 0x20, 0x72, 0x68, 0x29, 0x3b, 0x20, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, - 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x62, - 0x6f, 0x6f, 0x6c, 0x20, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x3e, 0x3d, 0x28, 0x63, - 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x26, 0x6c, 0x68, - 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, - 0x26, 0x72, 0x68, 0x29, 0x20, 0x7b, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x5f, 0x5f, - 0x68, 0x62, 0x67, 0x65, 0x32, 0x28, 0x6c, 0x68, 0x2c, 0x20, 0x72, 0x68, 0x29, 0x3b, 0x20, 0x7d, - 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, - 0x6e, 0x65, 0x20, 0x62, 0x6f, 0x6f, 0x6c, 0x20, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, - 0x3c, 0x3d, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, - 0x20, 0x26, 0x6c, 0x68, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, - 0x6c, 0x66, 0x32, 0x20, 0x26, 0x72, 0x68, 0x29, 0x20, 0x7b, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, - 0x6e, 0x20, 0x5f, 0x5f, 0x68, 0x62, 0x6c, 0x65, 0x32, 0x28, 0x6c, 0x68, 0x2c, 0x20, 0x72, 0x68, - 0x29, 0x3b, 0x20, 0x7d, 0x0a, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, - 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x5f, - 0x5f, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x32, 0x68, 0x61, 0x6c, 0x66, 0x28, 0x63, 0x6f, 0x6e, - 0x73, 0x74, 0x20, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x20, 0x61, 0x29, 0x20, 0x7b, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x68, - 0x61, 0x6c, 0x66, 0x20, 0x76, 0x61, 0x6c, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x7b, 0x20, 0x20, 0x63, 0x76, 0x74, 0x2e, 0x72, 0x6e, 0x2e, - 0x66, 0x31, 0x36, 0x2e, 0x66, 0x36, 0x34, 0x20, 0x25, 0x30, 0x2c, 0x20, 0x25, 0x31, 0x3b, 0x7d, - 0x5c, 0x6e, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x3a, 0x20, 0x22, 0x3d, 0x68, 0x22, 0x28, 0x2a, 0x28, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, - 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, - 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x76, 0x61, - 0x6c, 0x29, 0x29, 0x29, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x3a, 0x20, 0x22, 0x64, 0x22, 0x28, 0x61, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x76, 0x61, 0x6c, 0x3b, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, - 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, - 0x66, 0x20, 0x5f, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x32, 0x68, 0x61, 0x6c, 0x66, 0x28, 0x63, - 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x61, 0x29, 0x20, 0x7b, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x76, 0x61, 0x6c, 0x3b, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x7b, 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x7b, 0x20, 0x20, 0x63, 0x76, - 0x74, 0x2e, 0x72, 0x6e, 0x2e, 0x66, 0x31, 0x36, 0x2e, 0x66, 0x33, 0x32, 0x20, 0x25, 0x30, 0x2c, - 0x20, 0x25, 0x31, 0x3b, 0x7d, 0x5c, 0x6e, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x68, 0x22, 0x28, 0x2a, 0x28, 0x72, 0x65, 0x69, 0x6e, - 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x75, 0x6e, 0x73, - 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, - 0x28, 0x76, 0x61, 0x6c, 0x29, 0x29, 0x29, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x66, 0x22, 0x28, 0x61, 0x29, 0x29, 0x3b, 0x20, 0x7d, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x76, 0x61, 0x6c, 0x3b, 0x0a, - 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, - 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x5f, 0x5f, 0x66, 0x6c, 0x6f, - 0x61, 0x74, 0x32, 0x68, 0x61, 0x6c, 0x66, 0x5f, 0x72, 0x6e, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, - 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x61, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x76, 0x61, 0x6c, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x7b, 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x7b, 0x20, 0x20, 0x63, 0x76, 0x74, 0x2e, 0x72, 0x6e, - 0x2e, 0x66, 0x31, 0x36, 0x2e, 0x66, 0x33, 0x32, 0x20, 0x25, 0x30, 0x2c, 0x20, 0x25, 0x31, 0x3b, - 0x7d, 0x5c, 0x6e, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, - 0x20, 0x22, 0x3d, 0x68, 0x22, 0x28, 0x2a, 0x28, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, - 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, - 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x76, 0x61, 0x6c, - 0x29, 0x29, 0x29, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, - 0x20, 0x22, 0x66, 0x22, 0x28, 0x61, 0x29, 0x29, 0x3b, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x76, 0x61, 0x6c, 0x3b, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, - 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, + 0x5f, 0x68, 0x62, 0x67, 0x74, 0x32, 0x28, 0x6c, 0x68, 0x2c, 0x20, 0x72, 0x68, 0x29, 0x3b, 0x20, + 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x62, 0x6f, 0x6f, + 0x6c, 0x20, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x3c, 0x28, 0x63, 0x6f, 0x6e, 0x73, + 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x26, 0x6c, 0x68, 0x2c, 0x20, 0x63, + 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x26, 0x72, 0x68, + 0x29, 0x20, 0x7b, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x5f, 0x5f, 0x68, 0x62, 0x6c, + 0x74, 0x32, 0x28, 0x6c, 0x68, 0x2c, 0x20, 0x72, 0x68, 0x29, 0x3b, 0x20, 0x7d, 0x0a, 0x5f, 0x5f, + 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x62, 0x6f, 0x6f, 0x6c, 0x20, 0x6f, 0x70, + 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x3e, 0x3d, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, + 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x26, 0x6c, 0x68, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, + 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x26, 0x72, 0x68, 0x29, 0x20, 0x7b, + 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x5f, 0x5f, 0x68, 0x62, 0x67, 0x65, 0x32, 0x28, + 0x6c, 0x68, 0x2c, 0x20, 0x72, 0x68, 0x29, 0x3b, 0x20, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, + 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x62, 0x6f, 0x6f, 0x6c, 0x20, 0x6f, 0x70, 0x65, 0x72, 0x61, + 0x74, 0x6f, 0x72, 0x3c, 0x3d, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, + 0x6c, 0x66, 0x32, 0x20, 0x26, 0x6c, 0x68, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, + 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x26, 0x72, 0x68, 0x29, 0x20, 0x7b, 0x20, 0x72, 0x65, + 0x74, 0x75, 0x72, 0x6e, 0x20, 0x5f, 0x5f, 0x68, 0x62, 0x6c, 0x65, 0x32, 0x28, 0x6c, 0x68, 0x2c, + 0x20, 0x72, 0x68, 0x29, 0x3b, 0x20, 0x7d, 0x0a, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, + 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x5f, 0x5f, 0x64, 0x6f, 0x75, + 0x62, 0x6c, 0x65, 0x32, 0x68, 0x61, 0x6c, 0x66, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x64, + 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x20, 0x61, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7b, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, + 0x76, 0x61, 0x6c, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, + 0x28, 0x22, 0x7b, 0x20, 0x20, 0x63, 0x76, 0x74, 0x2e, 0x72, 0x6e, 0x2e, 0x66, 0x31, 0x36, 0x2e, + 0x66, 0x36, 0x34, 0x20, 0x25, 0x30, 0x2c, 0x20, 0x25, 0x31, 0x3b, 0x7d, 0x5c, 0x6e, 0x22, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, + 0x68, 0x22, 0x28, 0x2a, 0x28, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, + 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, + 0x68, 0x6f, 0x72, 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x76, 0x61, 0x6c, 0x29, 0x29, 0x29, + 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, + 0x22, 0x64, 0x22, 0x28, 0x61, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x76, 0x61, 0x6c, 0x3b, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x7d, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x5f, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x32, 0x68, - 0x61, 0x6c, 0x66, 0x5f, 0x72, 0x7a, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x66, 0x6c, 0x6f, - 0x61, 0x74, 0x20, 0x61, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x68, 0x61, - 0x6c, 0x66, 0x20, 0x76, 0x61, 0x6c, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x20, 0x61, 0x73, - 0x6d, 0x28, 0x22, 0x7b, 0x20, 0x20, 0x63, 0x76, 0x74, 0x2e, 0x72, 0x7a, 0x2e, 0x66, 0x31, 0x36, - 0x2e, 0x66, 0x33, 0x32, 0x20, 0x25, 0x30, 0x2c, 0x20, 0x25, 0x31, 0x3b, 0x7d, 0x5c, 0x6e, 0x22, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x68, - 0x22, 0x28, 0x2a, 0x28, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, - 0x63, 0x61, 0x73, 0x74, 0x3c, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, - 0x6f, 0x72, 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x76, 0x61, 0x6c, 0x29, 0x29, 0x29, 0x29, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x66, 0x22, - 0x28, 0x61, 0x29, 0x29, 0x3b, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, - 0x72, 0x6e, 0x20, 0x76, 0x61, 0x6c, 0x3b, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, - 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, + 0x61, 0x6c, 0x66, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, + 0x61, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, + 0x76, 0x61, 0x6c, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, + 0x7b, 0x20, 0x20, 0x63, 0x76, 0x74, 0x2e, 0x72, 0x6e, 0x2e, 0x66, 0x31, 0x36, 0x2e, 0x66, 0x33, + 0x32, 0x20, 0x25, 0x30, 0x2c, 0x20, 0x25, 0x31, 0x3b, 0x7d, 0x5c, 0x6e, 0x22, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x68, 0x22, 0x28, 0x2a, + 0x28, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, + 0x74, 0x3c, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, + 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x76, 0x61, 0x6c, 0x29, 0x29, 0x29, 0x29, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x66, 0x22, 0x28, 0x61, 0x29, + 0x29, 0x3b, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, + 0x76, 0x61, 0x6c, 0x3b, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, + 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x5f, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, + 0x32, 0x68, 0x61, 0x6c, 0x66, 0x5f, 0x72, 0x6e, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x66, + 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x61, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, + 0x68, 0x61, 0x6c, 0x66, 0x20, 0x76, 0x61, 0x6c, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x20, + 0x61, 0x73, 0x6d, 0x28, 0x22, 0x7b, 0x20, 0x20, 0x63, 0x76, 0x74, 0x2e, 0x72, 0x6e, 0x2e, 0x66, + 0x31, 0x36, 0x2e, 0x66, 0x33, 0x32, 0x20, 0x25, 0x30, 0x2c, 0x20, 0x25, 0x31, 0x3b, 0x7d, 0x5c, + 0x6e, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, + 0x3d, 0x68, 0x22, 0x28, 0x2a, 0x28, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, + 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, + 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x76, 0x61, 0x6c, 0x29, 0x29, + 0x29, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, + 0x66, 0x22, 0x28, 0x61, 0x29, 0x29, 0x3b, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, + 0x74, 0x75, 0x72, 0x6e, 0x20, 0x76, 0x61, 0x6c, 0x3b, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, + 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x5f, 0x5f, + 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x32, 0x68, 0x61, 0x6c, 0x66, 0x5f, 0x72, 0x7a, 0x28, 0x63, 0x6f, + 0x6e, 0x73, 0x74, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x61, 0x29, 0x20, 0x7b, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x76, 0x61, 0x6c, 0x3b, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x7b, 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x7b, 0x20, 0x20, 0x63, 0x76, 0x74, + 0x2e, 0x72, 0x7a, 0x2e, 0x66, 0x31, 0x36, 0x2e, 0x66, 0x33, 0x32, 0x20, 0x25, 0x30, 0x2c, 0x20, + 0x25, 0x31, 0x3b, 0x7d, 0x5c, 0x6e, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x68, 0x22, 0x28, 0x2a, 0x28, 0x72, 0x65, 0x69, 0x6e, 0x74, + 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x75, 0x6e, 0x73, 0x69, + 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, + 0x76, 0x61, 0x6c, 0x29, 0x29, 0x29, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x3a, 0x20, 0x22, 0x66, 0x22, 0x28, 0x61, 0x29, 0x29, 0x3b, 0x20, 0x7d, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x76, 0x61, 0x6c, 0x3b, 0x0a, 0x7d, + 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x5f, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x32, 0x68, 0x61, 0x6c, 0x66, 0x5f, 0x72, 0x64, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x61, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x76, @@ -2073,137 +1954,173 @@ extern "C" const char luisa_cuda_builtin_cuda_device_half[87792] = { 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x66, 0x22, 0x28, 0x61, 0x29, 0x29, 0x3b, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x76, 0x61, 0x6c, 0x3b, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, - 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x5f, - 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x32, 0x68, 0x61, 0x6c, 0x66, 0x5f, 0x72, 0x75, 0x28, 0x63, + 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x5f, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x32, + 0x68, 0x61, 0x6c, 0x66, 0x5f, 0x72, 0x75, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x66, 0x6c, + 0x6f, 0x61, 0x74, 0x20, 0x61, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x68, + 0x61, 0x6c, 0x66, 0x20, 0x76, 0x61, 0x6c, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x20, 0x61, + 0x73, 0x6d, 0x28, 0x22, 0x7b, 0x20, 0x20, 0x63, 0x76, 0x74, 0x2e, 0x72, 0x70, 0x2e, 0x66, 0x31, + 0x36, 0x2e, 0x66, 0x33, 0x32, 0x20, 0x25, 0x30, 0x2c, 0x20, 0x25, 0x31, 0x3b, 0x7d, 0x5c, 0x6e, + 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, + 0x68, 0x22, 0x28, 0x2a, 0x28, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, + 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, + 0x68, 0x6f, 0x72, 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x76, 0x61, 0x6c, 0x29, 0x29, 0x29, + 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x66, + 0x22, 0x28, 0x61, 0x29, 0x29, 0x3b, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, + 0x75, 0x72, 0x6e, 0x20, 0x76, 0x61, 0x6c, 0x3b, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, + 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x5f, 0x5f, + 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x32, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x5f, 0x72, 0x6e, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x61, 0x29, 0x20, 0x7b, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x76, 0x61, 0x6c, 0x3b, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x7b, 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x7b, 0x20, 0x20, 0x63, 0x76, - 0x74, 0x2e, 0x72, 0x70, 0x2e, 0x66, 0x31, 0x36, 0x2e, 0x66, 0x33, 0x32, 0x20, 0x25, 0x30, 0x2c, - 0x20, 0x25, 0x31, 0x3b, 0x7d, 0x5c, 0x6e, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x68, 0x22, 0x28, 0x2a, 0x28, 0x72, 0x65, 0x69, 0x6e, - 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x75, 0x6e, 0x73, - 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, - 0x28, 0x76, 0x61, 0x6c, 0x29, 0x29, 0x29, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x66, 0x22, 0x28, 0x61, 0x29, 0x29, 0x3b, 0x20, 0x7d, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x76, 0x61, 0x6c, 0x3b, 0x0a, - 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, - 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x5f, 0x5f, 0x66, 0x6c, - 0x6f, 0x61, 0x74, 0x32, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x5f, 0x72, 0x6e, 0x28, 0x63, 0x6f, 0x6e, - 0x73, 0x74, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x61, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x76, 0x61, 0x6c, 0x3b, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x7b, 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x7b, 0x2e, 0x72, 0x65, 0x67, 0x20, - 0x2e, 0x66, 0x31, 0x36, 0x20, 0x6c, 0x6f, 0x77, 0x3b, 0x5c, 0x6e, 0x22, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x20, 0x20, 0x63, 0x76, 0x74, 0x2e, 0x72, 0x6e, - 0x2e, 0x66, 0x31, 0x36, 0x2e, 0x66, 0x33, 0x32, 0x20, 0x6c, 0x6f, 0x77, 0x2c, 0x20, 0x25, 0x31, - 0x3b, 0x5c, 0x6e, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, - 0x20, 0x20, 0x6d, 0x6f, 0x76, 0x2e, 0x62, 0x33, 0x32, 0x20, 0x25, 0x30, 0x2c, 0x20, 0x7b, 0x6c, - 0x6f, 0x77, 0x2c, 0x6c, 0x6f, 0x77, 0x7d, 0x3b, 0x7d, 0x5c, 0x6e, 0x22, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x72, 0x22, 0x28, 0x2a, 0x28, - 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, - 0x3c, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x2a, 0x3e, - 0x28, 0x26, 0x28, 0x76, 0x61, 0x6c, 0x29, 0x29, 0x29, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x66, 0x22, 0x28, 0x61, 0x29, 0x29, 0x3b, 0x20, - 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x76, 0x61, 0x6c, - 0x3b, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, - 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x5f, 0x5f, - 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, - 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x32, 0x5f, 0x74, 0x6f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x5f, - 0x72, 0x6e, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x61, - 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x62, 0x29, - 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x76, - 0x61, 0x6c, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x7b, - 0x2e, 0x72, 0x65, 0x67, 0x20, 0x2e, 0x66, 0x31, 0x36, 0x20, 0x6c, 0x6f, 0x77, 0x2c, 0x68, 0x69, - 0x67, 0x68, 0x3b, 0x5c, 0x6e, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x22, 0x20, 0x20, 0x63, 0x76, 0x74, 0x2e, 0x72, 0x6e, 0x2e, 0x66, 0x31, 0x36, 0x2e, 0x66, - 0x33, 0x32, 0x20, 0x6c, 0x6f, 0x77, 0x2c, 0x20, 0x25, 0x31, 0x3b, 0x5c, 0x6e, 0x22, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x76, 0x61, 0x6c, 0x3b, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x7b, 0x2e, 0x72, 0x65, + 0x67, 0x20, 0x2e, 0x66, 0x31, 0x36, 0x20, 0x6c, 0x6f, 0x77, 0x3b, 0x5c, 0x6e, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x20, 0x20, 0x63, 0x76, 0x74, 0x2e, - 0x72, 0x6e, 0x2e, 0x66, 0x31, 0x36, 0x2e, 0x66, 0x33, 0x32, 0x20, 0x68, 0x69, 0x67, 0x68, 0x2c, - 0x20, 0x25, 0x32, 0x3b, 0x5c, 0x6e, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x22, 0x20, 0x20, 0x6d, 0x6f, 0x76, 0x2e, 0x62, 0x33, 0x32, 0x20, 0x25, 0x30, 0x2c, - 0x20, 0x7b, 0x6c, 0x6f, 0x77, 0x2c, 0x68, 0x69, 0x67, 0x68, 0x7d, 0x3b, 0x7d, 0x5c, 0x6e, 0x22, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x72, - 0x22, 0x28, 0x2a, 0x28, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, - 0x63, 0x61, 0x73, 0x74, 0x3c, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x69, 0x6e, - 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x76, 0x61, 0x6c, 0x29, 0x29, 0x29, 0x29, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x66, 0x22, 0x28, 0x61, - 0x29, 0x2c, 0x20, 0x22, 0x66, 0x22, 0x28, 0x62, 0x29, 0x29, 0x3b, 0x20, 0x7d, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x76, 0x61, 0x6c, 0x3b, 0x0a, 0x7d, 0x0a, - 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, - 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x5f, 0x5f, 0x66, 0x6c, 0x6f, 0x61, - 0x74, 0x73, 0x32, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x5f, 0x72, 0x6e, 0x28, 0x63, 0x6f, 0x6e, 0x73, - 0x74, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, - 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x62, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x76, 0x61, 0x6c, 0x3b, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x7b, 0x20, 0x76, 0x61, 0x6c, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, - 0x6e, 0x61, 0x6c, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, - 0x32, 0x5f, 0x74, 0x6f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x5f, 0x72, 0x6e, 0x28, 0x61, 0x2c, - 0x20, 0x62, 0x29, 0x3b, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, - 0x6e, 0x20, 0x76, 0x61, 0x6c, 0x3b, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, - 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, - 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x28, 0x63, 0x6f, - 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x61, 0x29, 0x20, 0x7b, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x76, 0x61, 0x6c, 0x3b, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x7b, 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x7b, 0x20, 0x20, 0x63, 0x76, 0x74, - 0x2e, 0x66, 0x33, 0x32, 0x2e, 0x66, 0x31, 0x36, 0x20, 0x25, 0x30, 0x2c, 0x20, 0x25, 0x31, 0x3b, - 0x7d, 0x5c, 0x6e, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, - 0x20, 0x22, 0x3d, 0x66, 0x22, 0x28, 0x76, 0x61, 0x6c, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x68, 0x22, 0x28, 0x2a, 0x28, 0x72, 0x65, 0x69, - 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x63, 0x6f, - 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, - 0x72, 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x61, 0x29, 0x29, 0x29, 0x29, 0x29, 0x3b, 0x20, - 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x76, 0x61, 0x6c, - 0x3b, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, - 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x5f, 0x5f, 0x6c, 0x6f, - 0x77, 0x32, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, - 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x61, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x66, - 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x76, 0x61, 0x6c, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x20, - 0x61, 0x73, 0x6d, 0x28, 0x22, 0x7b, 0x2e, 0x72, 0x65, 0x67, 0x20, 0x2e, 0x66, 0x31, 0x36, 0x20, - 0x6c, 0x6f, 0x77, 0x2c, 0x68, 0x69, 0x67, 0x68, 0x3b, 0x5c, 0x6e, 0x22, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x20, 0x20, 0x6d, 0x6f, 0x76, 0x2e, 0x62, 0x33, - 0x32, 0x20, 0x7b, 0x6c, 0x6f, 0x77, 0x2c, 0x68, 0x69, 0x67, 0x68, 0x7d, 0x2c, 0x25, 0x31, 0x3b, - 0x5c, 0x6e, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x20, - 0x20, 0x63, 0x76, 0x74, 0x2e, 0x66, 0x33, 0x32, 0x2e, 0x66, 0x31, 0x36, 0x20, 0x25, 0x30, 0x2c, - 0x20, 0x6c, 0x6f, 0x77, 0x3b, 0x7d, 0x5c, 0x6e, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x66, 0x22, 0x28, 0x76, 0x61, 0x6c, 0x29, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x72, 0x22, 0x28, + 0x72, 0x6e, 0x2e, 0x66, 0x31, 0x36, 0x2e, 0x66, 0x33, 0x32, 0x20, 0x6c, 0x6f, 0x77, 0x2c, 0x20, + 0x25, 0x31, 0x3b, 0x5c, 0x6e, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x22, 0x20, 0x20, 0x6d, 0x6f, 0x76, 0x2e, 0x62, 0x33, 0x32, 0x20, 0x25, 0x30, 0x2c, 0x20, + 0x7b, 0x6c, 0x6f, 0x77, 0x2c, 0x6c, 0x6f, 0x77, 0x7d, 0x3b, 0x7d, 0x5c, 0x6e, 0x22, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x72, 0x22, 0x28, 0x2a, 0x28, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, - 0x73, 0x74, 0x3c, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, - 0x64, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x61, 0x29, 0x29, 0x29, 0x29, - 0x29, 0x3b, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, - 0x76, 0x61, 0x6c, 0x3b, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, - 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x5f, - 0x5f, 0x68, 0x69, 0x67, 0x68, 0x32, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x28, 0x63, 0x6f, 0x6e, 0x73, - 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x61, 0x29, 0x20, 0x7b, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x76, 0x61, 0x6c, 0x3b, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x7b, 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x7b, 0x2e, 0x72, 0x65, 0x67, 0x20, 0x2e, - 0x66, 0x31, 0x36, 0x20, 0x6c, 0x6f, 0x77, 0x2c, 0x68, 0x69, 0x67, 0x68, 0x3b, 0x5c, 0x6e, 0x22, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x20, 0x20, 0x6d, 0x6f, - 0x76, 0x2e, 0x62, 0x33, 0x32, 0x20, 0x7b, 0x6c, 0x6f, 0x77, 0x2c, 0x68, 0x69, 0x67, 0x68, 0x7d, - 0x2c, 0x25, 0x31, 0x3b, 0x5c, 0x6e, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x22, 0x20, 0x20, 0x63, 0x76, 0x74, 0x2e, 0x66, 0x33, 0x32, 0x2e, 0x66, 0x31, 0x36, - 0x20, 0x25, 0x30, 0x2c, 0x20, 0x68, 0x69, 0x67, 0x68, 0x3b, 0x7d, 0x5c, 0x6e, 0x22, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x66, 0x22, 0x28, - 0x76, 0x61, 0x6c, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, - 0x20, 0x22, 0x72, 0x22, 0x28, 0x2a, 0x28, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, - 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, - 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, - 0x61, 0x29, 0x29, 0x29, 0x29, 0x29, 0x3b, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, - 0x74, 0x75, 0x72, 0x6e, 0x20, 0x76, 0x61, 0x6c, 0x3b, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, - 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x73, 0x69, - 0x67, 0x6e, 0x65, 0x64, 0x20, 0x63, 0x68, 0x61, 0x72, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, - 0x32, 0x63, 0x68, 0x61, 0x72, 0x5f, 0x72, 0x7a, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, - 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x68, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x73, - 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x63, 0x68, 0x61, 0x72, 0x20, 0x69, 0x3b, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, - 0x74, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x66, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x68, 0x61, - 0x6c, 0x66, 0x32, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x28, 0x68, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, + 0x73, 0x74, 0x3c, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x74, 0x20, + 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x76, 0x61, 0x6c, 0x29, 0x29, 0x29, 0x29, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x66, 0x22, 0x28, 0x61, 0x29, 0x29, + 0x3b, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x76, + 0x61, 0x6c, 0x3b, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, + 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x5f, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, + 0x6e, 0x61, 0x6c, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, + 0x32, 0x5f, 0x74, 0x6f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x5f, 0x72, 0x6e, 0x28, 0x63, 0x6f, + 0x6e, 0x73, 0x74, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, + 0x73, 0x74, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x62, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x76, 0x61, 0x6c, 0x3b, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x7b, 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x7b, 0x2e, 0x72, 0x65, 0x67, 0x20, + 0x2e, 0x66, 0x31, 0x36, 0x20, 0x6c, 0x6f, 0x77, 0x2c, 0x68, 0x69, 0x67, 0x68, 0x3b, 0x5c, 0x6e, + 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x20, 0x20, 0x63, + 0x76, 0x74, 0x2e, 0x72, 0x6e, 0x2e, 0x66, 0x31, 0x36, 0x2e, 0x66, 0x33, 0x32, 0x20, 0x6c, 0x6f, + 0x77, 0x2c, 0x20, 0x25, 0x31, 0x3b, 0x5c, 0x6e, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x22, 0x20, 0x20, 0x63, 0x76, 0x74, 0x2e, 0x72, 0x6e, 0x2e, 0x66, 0x31, + 0x36, 0x2e, 0x66, 0x33, 0x32, 0x20, 0x68, 0x69, 0x67, 0x68, 0x2c, 0x20, 0x25, 0x32, 0x3b, 0x5c, + 0x6e, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x20, 0x20, + 0x6d, 0x6f, 0x76, 0x2e, 0x62, 0x33, 0x32, 0x20, 0x25, 0x30, 0x2c, 0x20, 0x7b, 0x6c, 0x6f, 0x77, + 0x2c, 0x68, 0x69, 0x67, 0x68, 0x7d, 0x3b, 0x7d, 0x5c, 0x6e, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x72, 0x22, 0x28, 0x2a, 0x28, 0x72, + 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, + 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x2a, 0x3e, 0x28, + 0x26, 0x28, 0x76, 0x61, 0x6c, 0x29, 0x29, 0x29, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x66, 0x22, 0x28, 0x61, 0x29, 0x2c, 0x20, 0x22, 0x66, + 0x22, 0x28, 0x62, 0x29, 0x29, 0x3b, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, + 0x75, 0x72, 0x6e, 0x20, 0x76, 0x61, 0x6c, 0x3b, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, + 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x5f, 0x5f, + 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x73, 0x32, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x5f, 0x72, 0x6e, 0x28, + 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x61, 0x2c, 0x20, 0x63, + 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x62, 0x29, 0x20, 0x7b, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x76, 0x61, 0x6c, 0x3b, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x20, 0x76, 0x61, 0x6c, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x69, + 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x66, + 0x6c, 0x6f, 0x61, 0x74, 0x32, 0x5f, 0x74, 0x6f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x5f, 0x72, + 0x6e, 0x28, 0x61, 0x2c, 0x20, 0x62, 0x29, 0x3b, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, + 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x76, 0x61, 0x6c, 0x3b, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, + 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x5f, 0x5f, + 0x68, 0x61, 0x6c, 0x66, 0x32, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, + 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x61, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x76, 0x61, 0x6c, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x7b, 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x7b, 0x20, 0x20, 0x63, 0x76, 0x74, 0x2e, 0x66, 0x33, + 0x32, 0x2e, 0x66, 0x31, 0x36, 0x20, 0x25, 0x30, 0x2c, 0x20, 0x25, 0x31, 0x3b, 0x7d, 0x5c, 0x6e, + 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, + 0x66, 0x22, 0x28, 0x76, 0x61, 0x6c, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x3a, 0x20, 0x22, 0x68, 0x22, 0x28, 0x2a, 0x28, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, + 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x63, 0x6f, 0x6e, 0x73, 0x74, + 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, + 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x61, 0x29, 0x29, 0x29, 0x29, 0x29, 0x3b, 0x20, 0x7d, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x76, 0x61, 0x6c, 0x3b, 0x0a, 0x7d, + 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x66, 0x6c, 0x6f, 0x61, + 0x74, 0x20, 0x5f, 0x5f, 0x6c, 0x6f, 0x77, 0x32, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x28, 0x63, 0x6f, + 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x61, 0x29, 0x20, 0x7b, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x76, 0x61, 0x6c, 0x3b, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x7b, 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x7b, 0x2e, 0x72, 0x65, 0x67, + 0x20, 0x2e, 0x66, 0x31, 0x36, 0x20, 0x6c, 0x6f, 0x77, 0x2c, 0x68, 0x69, 0x67, 0x68, 0x3b, 0x5c, + 0x6e, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x20, 0x20, + 0x6d, 0x6f, 0x76, 0x2e, 0x62, 0x33, 0x32, 0x20, 0x7b, 0x6c, 0x6f, 0x77, 0x2c, 0x68, 0x69, 0x67, + 0x68, 0x7d, 0x2c, 0x25, 0x31, 0x3b, 0x5c, 0x6e, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x22, 0x20, 0x20, 0x63, 0x76, 0x74, 0x2e, 0x66, 0x33, 0x32, 0x2e, 0x66, + 0x31, 0x36, 0x20, 0x25, 0x30, 0x2c, 0x20, 0x6c, 0x6f, 0x77, 0x3b, 0x7d, 0x5c, 0x6e, 0x22, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x66, 0x22, + 0x28, 0x76, 0x61, 0x6c, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x3a, 0x20, 0x22, 0x72, 0x22, 0x28, 0x2a, 0x28, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, + 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, + 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, + 0x28, 0x61, 0x29, 0x29, 0x29, 0x29, 0x29, 0x3b, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, + 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x76, 0x61, 0x6c, 0x3b, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, + 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x5f, 0x5f, + 0x68, 0x69, 0x67, 0x68, 0x32, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, + 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x61, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x76, 0x61, 0x6c, 0x3b, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x7b, 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x7b, 0x2e, 0x72, 0x65, 0x67, 0x20, 0x2e, 0x66, + 0x31, 0x36, 0x20, 0x6c, 0x6f, 0x77, 0x2c, 0x68, 0x69, 0x67, 0x68, 0x3b, 0x5c, 0x6e, 0x22, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x20, 0x20, 0x6d, 0x6f, 0x76, + 0x2e, 0x62, 0x33, 0x32, 0x20, 0x7b, 0x6c, 0x6f, 0x77, 0x2c, 0x68, 0x69, 0x67, 0x68, 0x7d, 0x2c, + 0x25, 0x31, 0x3b, 0x5c, 0x6e, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x22, 0x20, 0x20, 0x63, 0x76, 0x74, 0x2e, 0x66, 0x33, 0x32, 0x2e, 0x66, 0x31, 0x36, 0x20, + 0x25, 0x30, 0x2c, 0x20, 0x68, 0x69, 0x67, 0x68, 0x3b, 0x7d, 0x5c, 0x6e, 0x22, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x66, 0x22, 0x28, 0x76, + 0x61, 0x6c, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, + 0x22, 0x72, 0x22, 0x28, 0x2a, 0x28, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, + 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, + 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x61, + 0x29, 0x29, 0x29, 0x29, 0x29, 0x3b, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, + 0x75, 0x72, 0x6e, 0x20, 0x76, 0x61, 0x6c, 0x3b, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, + 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x63, 0x68, 0x61, + 0x72, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x63, 0x68, 0x61, 0x72, 0x5f, 0x72, 0x7a, + 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x68, 0x29, + 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x63, 0x68, + 0x61, 0x72, 0x20, 0x69, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, + 0x66, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x66, 0x6c, 0x6f, 0x61, 0x74, + 0x28, 0x68, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, + 0x73, 0x74, 0x20, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x63, 0x68, 0x61, 0x72, 0x20, 0x6d, + 0x61, 0x78, 0x5f, 0x76, 0x61, 0x6c, 0x20, 0x3d, 0x20, 0x28, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, + 0x20, 0x63, 0x68, 0x61, 0x72, 0x29, 0x30, 0x78, 0x37, 0x66, 0x55, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x73, 0x69, 0x67, 0x6e, 0x65, - 0x64, 0x20, 0x63, 0x68, 0x61, 0x72, 0x20, 0x6d, 0x61, 0x78, 0x5f, 0x76, 0x61, 0x6c, 0x20, 0x3d, + 0x64, 0x20, 0x63, 0x68, 0x61, 0x72, 0x20, 0x6d, 0x69, 0x6e, 0x5f, 0x76, 0x61, 0x6c, 0x20, 0x3d, 0x20, 0x28, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x63, 0x68, 0x61, 0x72, 0x29, 0x30, 0x78, - 0x37, 0x66, 0x55, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, - 0x73, 0x74, 0x20, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x63, 0x68, 0x61, 0x72, 0x20, 0x6d, - 0x69, 0x6e, 0x5f, 0x76, 0x61, 0x6c, 0x20, 0x3d, 0x20, 0x28, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, - 0x20, 0x63, 0x68, 0x61, 0x72, 0x29, 0x30, 0x78, 0x38, 0x30, 0x55, 0x3b, 0x0a, 0x20, 0x20, 0x20, + 0x38, 0x30, 0x55, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, + 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, + 0x74, 0x20, 0x62, 0x69, 0x74, 0x73, 0x20, 0x3d, 0x20, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x5f, + 0x63, 0x61, 0x73, 0x74, 0x3c, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, + 0x6f, 0x72, 0x74, 0x3e, 0x28, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x5f, 0x63, 0x61, 0x73, 0x74, + 0x3c, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x5f, 0x72, 0x61, 0x77, 0x3e, 0x28, 0x68, 0x29, 0x2e, + 0x78, 0x20, 0x3c, 0x3c, 0x20, 0x31, 0x55, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x69, 0x66, 0x20, 0x28, 0x62, 0x69, 0x74, 0x73, 0x20, 0x3e, 0x20, 0x28, 0x75, 0x6e, + 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x29, 0x30, 0x78, 0x46, + 0x38, 0x30, 0x30, 0x55, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x69, 0x20, 0x3d, 0x20, 0x30, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x7d, 0x20, 0x65, 0x6c, 0x73, 0x65, 0x20, 0x69, 0x66, 0x20, 0x28, 0x66, 0x20, + 0x3e, 0x20, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x66, 0x6c, + 0x6f, 0x61, 0x74, 0x3e, 0x28, 0x6d, 0x61, 0x78, 0x5f, 0x76, 0x61, 0x6c, 0x29, 0x29, 0x20, 0x7b, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x20, 0x3d, + 0x20, 0x6d, 0x61, 0x78, 0x5f, 0x76, 0x61, 0x6c, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x7d, 0x20, 0x65, 0x6c, 0x73, 0x65, 0x20, 0x69, 0x66, 0x20, 0x28, 0x66, 0x20, 0x3c, + 0x20, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x66, 0x6c, 0x6f, + 0x61, 0x74, 0x3e, 0x28, 0x6d, 0x69, 0x6e, 0x5f, 0x76, 0x61, 0x6c, 0x29, 0x29, 0x20, 0x7b, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x20, 0x3d, 0x20, + 0x6d, 0x69, 0x6e, 0x5f, 0x76, 0x61, 0x6c, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x7d, 0x20, 0x65, 0x6c, 0x73, 0x65, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x20, 0x3d, 0x20, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, + 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x63, 0x68, 0x61, + 0x72, 0x3e, 0x28, 0x66, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, + 0x6e, 0x20, 0x69, 0x3b, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, + 0x5f, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x63, 0x68, 0x61, 0x72, 0x20, + 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x75, 0x63, 0x68, 0x61, 0x72, 0x5f, 0x72, 0x7a, 0x28, + 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x68, 0x29, 0x20, + 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x63, + 0x68, 0x61, 0x72, 0x20, 0x69, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, + 0x20, 0x66, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x66, 0x6c, 0x6f, 0x61, + 0x74, 0x28, 0x68, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, + 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x63, 0x68, 0x61, + 0x72, 0x20, 0x6d, 0x61, 0x78, 0x5f, 0x76, 0x61, 0x6c, 0x20, 0x3d, 0x20, 0x30, 0x78, 0x66, 0x66, + 0x55, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, + 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x63, 0x68, 0x61, 0x72, 0x20, 0x6d, + 0x69, 0x6e, 0x5f, 0x76, 0x61, 0x6c, 0x20, 0x3d, 0x20, 0x30, 0x55, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x62, 0x69, 0x74, 0x73, 0x20, 0x3d, 0x20, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x75, 0x6e, 0x73, @@ -2214,149 +2131,106 @@ extern "C" const char luisa_cuda_builtin_cuda_device_half[87792] = { 0x74, 0x73, 0x20, 0x3e, 0x20, 0x28, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x29, 0x30, 0x78, 0x46, 0x38, 0x30, 0x30, 0x55, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x20, 0x3d, 0x20, - 0x30, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x20, 0x65, 0x6c, 0x73, - 0x65, 0x20, 0x69, 0x66, 0x20, 0x28, 0x66, 0x20, 0x3e, 0x20, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, - 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x3e, 0x28, 0x6d, 0x61, 0x78, + 0x30, 0x55, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x20, 0x65, 0x6c, + 0x73, 0x65, 0x20, 0x69, 0x66, 0x20, 0x28, 0x66, 0x20, 0x3e, 0x20, 0x73, 0x74, 0x61, 0x74, 0x69, + 0x63, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x3e, 0x28, 0x6d, 0x61, + 0x78, 0x5f, 0x76, 0x61, 0x6c, 0x29, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x20, 0x3d, 0x20, 0x6d, 0x61, 0x78, 0x5f, 0x76, 0x61, + 0x6c, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x20, 0x65, 0x6c, 0x73, + 0x65, 0x20, 0x69, 0x66, 0x20, 0x28, 0x66, 0x20, 0x3c, 0x20, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, + 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x3e, 0x28, 0x6d, 0x69, 0x6e, 0x5f, 0x76, 0x61, 0x6c, 0x29, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x20, 0x3d, 0x20, 0x6d, 0x61, 0x78, 0x5f, 0x76, 0x61, 0x6c, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x20, 0x3d, 0x20, 0x6d, 0x69, 0x6e, 0x5f, 0x76, 0x61, 0x6c, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x20, 0x65, 0x6c, 0x73, 0x65, - 0x20, 0x69, 0x66, 0x20, 0x28, 0x66, 0x20, 0x3c, 0x20, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x5f, - 0x63, 0x61, 0x73, 0x74, 0x3c, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x3e, 0x28, 0x6d, 0x69, 0x6e, 0x5f, - 0x76, 0x61, 0x6c, 0x29, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x69, 0x20, 0x3d, 0x20, 0x6d, 0x69, 0x6e, 0x5f, 0x76, 0x61, 0x6c, 0x3b, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x20, 0x65, 0x6c, 0x73, 0x65, 0x20, - 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x20, - 0x3d, 0x20, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x73, 0x69, - 0x67, 0x6e, 0x65, 0x64, 0x20, 0x63, 0x68, 0x61, 0x72, 0x3e, 0x28, 0x66, 0x29, 0x3b, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x69, 0x3b, 0x0a, 0x7d, 0x0a, 0x5f, - 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, - 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x63, 0x68, 0x61, 0x72, 0x20, 0x5f, - 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x75, 0x63, 0x68, 0x61, 0x72, 0x5f, 0x72, 0x7a, 0x28, 0x63, - 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x68, 0x29, 0x20, 0x7b, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x63, 0x68, - 0x61, 0x72, 0x20, 0x69, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, - 0x66, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x66, 0x6c, 0x6f, 0x61, 0x74, - 0x28, 0x68, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, - 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x63, 0x68, 0x61, 0x72, - 0x20, 0x6d, 0x61, 0x78, 0x5f, 0x76, 0x61, 0x6c, 0x20, 0x3d, 0x20, 0x30, 0x78, 0x66, 0x66, 0x55, - 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, - 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x63, 0x68, 0x61, 0x72, 0x20, 0x6d, 0x69, - 0x6e, 0x5f, 0x76, 0x61, 0x6c, 0x20, 0x3d, 0x20, 0x30, 0x55, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, - 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x62, 0x69, 0x74, 0x73, 0x20, 0x3d, 0x20, - 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x75, 0x6e, 0x73, 0x69, - 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x3e, 0x28, 0x73, 0x74, 0x61, 0x74, - 0x69, 0x63, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x5f, 0x72, - 0x61, 0x77, 0x3e, 0x28, 0x68, 0x29, 0x2e, 0x78, 0x20, 0x3c, 0x3c, 0x20, 0x31, 0x55, 0x29, 0x3b, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x28, 0x62, 0x69, 0x74, - 0x73, 0x20, 0x3e, 0x20, 0x28, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, - 0x6f, 0x72, 0x74, 0x29, 0x30, 0x78, 0x46, 0x38, 0x30, 0x30, 0x55, 0x29, 0x20, 0x7b, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x20, 0x3d, 0x20, 0x30, - 0x55, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x20, 0x65, 0x6c, 0x73, - 0x65, 0x20, 0x69, 0x66, 0x20, 0x28, 0x66, 0x20, 0x3e, 0x20, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, - 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x3e, 0x28, 0x6d, 0x61, 0x78, - 0x5f, 0x76, 0x61, 0x6c, 0x29, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x20, 0x3d, 0x20, 0x6d, 0x61, 0x78, 0x5f, 0x76, 0x61, 0x6c, - 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x20, 0x65, 0x6c, 0x73, 0x65, - 0x20, 0x69, 0x66, 0x20, 0x28, 0x66, 0x20, 0x3c, 0x20, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x5f, - 0x63, 0x61, 0x73, 0x74, 0x3c, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x3e, 0x28, 0x6d, 0x69, 0x6e, 0x5f, - 0x76, 0x61, 0x6c, 0x29, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x69, 0x20, 0x3d, 0x20, 0x6d, 0x69, 0x6e, 0x5f, 0x76, 0x61, 0x6c, 0x3b, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x20, 0x65, 0x6c, 0x73, 0x65, 0x20, - 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x20, - 0x3d, 0x20, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x75, 0x6e, - 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x63, 0x68, 0x61, 0x72, 0x3e, 0x28, 0x66, 0x29, 0x3b, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x69, 0x3b, 0x0a, 0x7d, - 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, - 0x6e, 0x65, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x5f, 0x5f, 0x68, - 0x61, 0x6c, 0x66, 0x32, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x5f, 0x72, 0x7a, 0x28, 0x63, 0x6f, 0x6e, - 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x68, 0x29, 0x20, 0x7b, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x69, 0x3b, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x7b, 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x63, 0x76, 0x74, 0x2e, 0x72, - 0x7a, 0x69, 0x2e, 0x73, 0x31, 0x36, 0x2e, 0x66, 0x31, 0x36, 0x20, 0x25, 0x30, 0x2c, 0x20, 0x25, - 0x31, 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, - 0x22, 0x3d, 0x68, 0x22, 0x28, 0x69, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x3a, 0x20, 0x22, 0x68, 0x22, 0x28, 0x2a, 0x28, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, - 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x63, 0x6f, 0x6e, 0x73, 0x74, - 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, - 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x68, 0x29, 0x29, 0x29, 0x29, 0x29, 0x3b, 0x20, 0x7d, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x69, 0x3b, 0x0a, 0x7d, 0x0a, 0x5f, - 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, - 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, - 0x69, 0x6e, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x75, 0x73, 0x68, 0x6f, 0x72, - 0x74, 0x5f, 0x72, 0x7a, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, - 0x66, 0x20, 0x68, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, - 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x69, 0x3b, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x63, 0x76, 0x74, 0x2e, - 0x72, 0x7a, 0x69, 0x2e, 0x75, 0x31, 0x36, 0x2e, 0x66, 0x31, 0x36, 0x20, 0x25, 0x30, 0x2c, 0x20, - 0x25, 0x31, 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, - 0x20, 0x22, 0x3d, 0x68, 0x22, 0x28, 0x69, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x68, 0x22, 0x28, 0x2a, 0x28, 0x72, 0x65, 0x69, 0x6e, 0x74, - 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x63, 0x6f, 0x6e, 0x73, - 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, - 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x68, 0x29, 0x29, 0x29, 0x29, 0x29, 0x3b, 0x20, 0x7d, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x69, 0x3b, 0x0a, 0x7d, 0x0a, - 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, - 0x65, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x69, 0x6e, 0x74, - 0x5f, 0x72, 0x7a, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, - 0x20, 0x68, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x69, 0x3b, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x63, 0x76, 0x74, 0x2e, - 0x72, 0x7a, 0x69, 0x2e, 0x73, 0x33, 0x32, 0x2e, 0x66, 0x31, 0x36, 0x20, 0x25, 0x30, 0x2c, 0x20, - 0x25, 0x31, 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, - 0x20, 0x22, 0x3d, 0x72, 0x22, 0x28, 0x69, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x68, 0x22, 0x28, 0x2a, 0x28, 0x72, 0x65, 0x69, 0x6e, 0x74, - 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x63, 0x6f, 0x6e, 0x73, - 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, - 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x68, 0x29, 0x29, 0x29, 0x29, 0x29, 0x3b, 0x20, 0x7d, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x69, 0x3b, 0x0a, 0x7d, 0x0a, - 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, - 0x65, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x5f, - 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x75, 0x69, 0x6e, 0x74, 0x5f, 0x72, 0x7a, 0x28, 0x63, 0x6f, - 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x68, 0x29, 0x20, 0x7b, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x74, + 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, + 0x20, 0x3d, 0x20, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x75, + 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x63, 0x68, 0x61, 0x72, 0x3e, 0x28, 0x66, 0x29, + 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x69, 0x3b, 0x0a, + 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x73, 0x68, 0x6f, + 0x72, 0x74, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x73, 0x68, + 0x6f, 0x72, 0x74, 0x5f, 0x72, 0x7a, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, + 0x61, 0x6c, 0x66, 0x20, 0x68, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x73, 0x68, 0x6f, + 0x72, 0x74, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x69, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x20, + 0x61, 0x73, 0x6d, 0x28, 0x22, 0x63, 0x76, 0x74, 0x2e, 0x72, 0x7a, 0x69, 0x2e, 0x73, 0x31, 0x36, + 0x2e, 0x66, 0x31, 0x36, 0x20, 0x25, 0x30, 0x2c, 0x20, 0x25, 0x31, 0x3b, 0x22, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x68, 0x22, 0x28, 0x69, + 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x68, + 0x22, 0x28, 0x2a, 0x28, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, + 0x63, 0x61, 0x73, 0x74, 0x3c, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, + 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x68, + 0x29, 0x29, 0x29, 0x29, 0x29, 0x3b, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, + 0x75, 0x72, 0x6e, 0x20, 0x69, 0x3b, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, + 0x65, 0x5f, 0x5f, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, + 0x72, 0x74, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x75, 0x73, + 0x68, 0x6f, 0x72, 0x74, 0x5f, 0x72, 0x7a, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, + 0x68, 0x61, 0x6c, 0x66, 0x20, 0x68, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x75, 0x6e, + 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x69, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x63, - 0x76, 0x74, 0x2e, 0x72, 0x7a, 0x69, 0x2e, 0x75, 0x33, 0x32, 0x2e, 0x66, 0x31, 0x36, 0x20, 0x25, + 0x76, 0x74, 0x2e, 0x72, 0x7a, 0x69, 0x2e, 0x75, 0x31, 0x36, 0x2e, 0x66, 0x31, 0x36, 0x20, 0x25, 0x30, 0x2c, 0x20, 0x25, 0x31, 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x72, 0x22, 0x28, 0x69, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x68, 0x22, 0x28, 0x69, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x68, 0x22, 0x28, 0x2a, 0x28, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x68, 0x29, 0x29, 0x29, 0x29, 0x29, 0x3b, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x69, 0x3b, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, - 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x6c, 0x6f, 0x6e, 0x67, 0x20, 0x6c, 0x6f, 0x6e, 0x67, 0x20, 0x69, - 0x6e, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x6c, 0x6c, 0x5f, 0x72, 0x7a, 0x28, + 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x69, 0x6e, 0x74, 0x5f, 0x72, 0x7a, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x68, 0x29, 0x20, - 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x6e, 0x67, 0x20, 0x6c, 0x6f, 0x6e, 0x67, 0x20, - 0x69, 0x6e, 0x74, 0x20, 0x69, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x20, 0x61, 0x73, 0x6d, - 0x28, 0x22, 0x63, 0x76, 0x74, 0x2e, 0x72, 0x7a, 0x69, 0x2e, 0x73, 0x36, 0x34, 0x2e, 0x66, 0x31, - 0x36, 0x20, 0x25, 0x30, 0x2c, 0x20, 0x25, 0x31, 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x6c, 0x22, 0x28, 0x69, 0x29, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x68, 0x22, 0x28, 0x2a, - 0x28, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, - 0x74, 0x3c, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, - 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x68, 0x29, 0x29, 0x29, - 0x29, 0x29, 0x3b, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, - 0x20, 0x69, 0x3b, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, - 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, - 0x20, 0x6c, 0x6f, 0x6e, 0x67, 0x20, 0x6c, 0x6f, 0x6e, 0x67, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x5f, - 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x75, 0x6c, 0x6c, 0x5f, 0x72, 0x7a, 0x28, 0x63, 0x6f, 0x6e, - 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x68, 0x29, 0x20, 0x7b, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x6c, 0x6f, 0x6e, 0x67, - 0x20, 0x6c, 0x6f, 0x6e, 0x67, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x69, 0x3b, 0x0a, 0x20, 0x20, 0x20, + 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x69, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x63, 0x76, 0x74, 0x2e, 0x72, 0x7a, 0x69, 0x2e, - 0x75, 0x36, 0x34, 0x2e, 0x66, 0x31, 0x36, 0x20, 0x25, 0x30, 0x2c, 0x20, 0x25, 0x31, 0x3b, 0x22, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x6c, + 0x73, 0x33, 0x32, 0x2e, 0x66, 0x31, 0x36, 0x20, 0x25, 0x30, 0x2c, 0x20, 0x25, 0x31, 0x3b, 0x22, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x72, 0x22, 0x28, 0x69, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x68, 0x22, 0x28, 0x2a, 0x28, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x68, 0x29, 0x29, 0x29, 0x29, 0x29, 0x3b, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x69, 0x3b, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, - 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, + 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, + 0x69, 0x6e, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x75, 0x69, 0x6e, 0x74, 0x5f, + 0x72, 0x7a, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, + 0x68, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, + 0x64, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x69, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x20, 0x61, + 0x73, 0x6d, 0x28, 0x22, 0x63, 0x76, 0x74, 0x2e, 0x72, 0x7a, 0x69, 0x2e, 0x75, 0x33, 0x32, 0x2e, + 0x66, 0x31, 0x36, 0x20, 0x25, 0x30, 0x2c, 0x20, 0x25, 0x31, 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x72, 0x22, 0x28, 0x69, 0x29, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x68, 0x22, + 0x28, 0x2a, 0x28, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, + 0x61, 0x73, 0x74, 0x3c, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, + 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x68, 0x29, + 0x29, 0x29, 0x29, 0x29, 0x3b, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, + 0x72, 0x6e, 0x20, 0x69, 0x3b, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, + 0x5f, 0x5f, 0x20, 0x6c, 0x6f, 0x6e, 0x67, 0x20, 0x6c, 0x6f, 0x6e, 0x67, 0x20, 0x69, 0x6e, 0x74, + 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x6c, 0x6c, 0x5f, 0x72, 0x7a, 0x28, 0x63, 0x6f, + 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x68, 0x29, 0x20, 0x7b, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x6e, 0x67, 0x20, 0x6c, 0x6f, 0x6e, 0x67, 0x20, 0x69, 0x6e, + 0x74, 0x20, 0x69, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, + 0x63, 0x76, 0x74, 0x2e, 0x72, 0x7a, 0x69, 0x2e, 0x73, 0x36, 0x34, 0x2e, 0x66, 0x31, 0x36, 0x20, + 0x25, 0x30, 0x2c, 0x20, 0x25, 0x31, 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x6c, 0x22, 0x28, 0x69, 0x29, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x68, 0x22, 0x28, 0x2a, 0x28, 0x72, + 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, + 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, + 0x68, 0x6f, 0x72, 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x68, 0x29, 0x29, 0x29, 0x29, 0x29, + 0x3b, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x69, + 0x3b, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x75, + 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x6c, 0x6f, 0x6e, 0x67, 0x20, 0x6c, 0x6f, 0x6e, + 0x67, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x75, 0x6c, 0x6c, + 0x5f, 0x72, 0x7a, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, + 0x20, 0x68, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, + 0x65, 0x64, 0x20, 0x6c, 0x6f, 0x6e, 0x67, 0x20, 0x6c, 0x6f, 0x6e, 0x67, 0x20, 0x69, 0x6e, 0x74, + 0x20, 0x69, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x63, + 0x76, 0x74, 0x2e, 0x72, 0x7a, 0x69, 0x2e, 0x75, 0x36, 0x34, 0x2e, 0x66, 0x31, 0x36, 0x20, 0x25, + 0x30, 0x2c, 0x20, 0x25, 0x31, 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x6c, 0x22, 0x28, 0x69, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x68, 0x22, 0x28, 0x2a, 0x28, 0x72, 0x65, + 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x63, + 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, + 0x6f, 0x72, 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x68, 0x29, 0x29, 0x29, 0x29, 0x29, 0x3b, + 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x69, 0x3b, + 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x6d, 0x61, 0x6b, 0x65, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x78, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x79, 0x29, @@ -2364,94 +2238,116 @@ extern "C" const char luisa_cuda_builtin_cuda_device_half[87792] = { 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x74, 0x2e, 0x78, 0x20, 0x3d, 0x20, 0x78, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x74, 0x2e, 0x79, 0x20, 0x3d, 0x20, 0x79, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x74, 0x3b, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, - 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, - 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x5f, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x32, 0x32, 0x68, - 0x61, 0x6c, 0x66, 0x32, 0x5f, 0x72, 0x6e, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x66, 0x6c, - 0x6f, 0x61, 0x74, 0x32, 0x20, 0x61, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, - 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x76, 0x61, 0x6c, 0x20, - 0x3d, 0x20, 0x5f, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x73, 0x32, 0x68, 0x61, 0x6c, 0x66, 0x32, - 0x5f, 0x72, 0x6e, 0x28, 0x61, 0x2e, 0x78, 0x2c, 0x20, 0x61, 0x2e, 0x79, 0x29, 0x3b, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x76, 0x61, 0x6c, 0x3b, 0x0a, 0x7d, - 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, - 0x6e, 0x65, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x32, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, - 0x32, 0x32, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x32, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, - 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x61, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x68, 0x69, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x3b, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x6c, 0x6f, 0x5f, 0x66, 0x6c, 0x6f, - 0x61, 0x74, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x7b, 0x2e, 0x72, 0x65, 0x67, 0x20, 0x2e, 0x66, 0x31, - 0x36, 0x20, 0x6c, 0x6f, 0x77, 0x2c, 0x68, 0x69, 0x67, 0x68, 0x3b, 0x5c, 0x6e, 0x22, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x20, 0x20, 0x6d, 0x6f, - 0x76, 0x2e, 0x62, 0x33, 0x32, 0x20, 0x7b, 0x6c, 0x6f, 0x77, 0x2c, 0x68, 0x69, 0x67, 0x68, 0x7d, - 0x2c, 0x25, 0x31, 0x3b, 0x5c, 0x6e, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x22, 0x20, 0x20, 0x63, 0x76, 0x74, 0x2e, 0x66, 0x33, 0x32, 0x2e, 0x66, - 0x31, 0x36, 0x20, 0x25, 0x30, 0x2c, 0x20, 0x6c, 0x6f, 0x77, 0x3b, 0x7d, 0x5c, 0x6e, 0x22, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, - 0x66, 0x22, 0x28, 0x6c, 0x6f, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x29, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x72, 0x22, 0x28, 0x2a, + 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x5f, + 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x32, 0x32, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x5f, 0x72, 0x6e, + 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x32, 0x20, 0x61, 0x29, + 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, + 0x61, 0x6c, 0x66, 0x32, 0x20, 0x76, 0x61, 0x6c, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x66, 0x6c, 0x6f, + 0x61, 0x74, 0x73, 0x32, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x5f, 0x72, 0x6e, 0x28, 0x61, 0x2e, 0x78, + 0x2c, 0x20, 0x61, 0x2e, 0x79, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, + 0x72, 0x6e, 0x20, 0x76, 0x61, 0x6c, 0x3b, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, + 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x32, 0x20, 0x5f, 0x5f, 0x68, 0x61, + 0x6c, 0x66, 0x32, 0x32, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x32, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, + 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x61, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x68, 0x69, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, + 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x6c, 0x6f, 0x5f, 0x66, + 0x6c, 0x6f, 0x61, 0x74, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x7b, 0x2e, 0x72, 0x65, 0x67, 0x20, 0x2e, + 0x66, 0x31, 0x36, 0x20, 0x6c, 0x6f, 0x77, 0x2c, 0x68, 0x69, 0x67, 0x68, 0x3b, 0x5c, 0x6e, 0x22, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x20, 0x20, + 0x6d, 0x6f, 0x76, 0x2e, 0x62, 0x33, 0x32, 0x20, 0x7b, 0x6c, 0x6f, 0x77, 0x2c, 0x68, 0x69, 0x67, + 0x68, 0x7d, 0x2c, 0x25, 0x31, 0x3b, 0x5c, 0x6e, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x20, 0x20, 0x63, 0x76, 0x74, 0x2e, 0x66, 0x33, 0x32, + 0x2e, 0x66, 0x31, 0x36, 0x20, 0x25, 0x30, 0x2c, 0x20, 0x6c, 0x6f, 0x77, 0x3b, 0x7d, 0x5c, 0x6e, + 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, + 0x22, 0x3d, 0x66, 0x22, 0x28, 0x6c, 0x6f, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x29, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x72, 0x22, + 0x28, 0x2a, 0x28, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, + 0x61, 0x73, 0x74, 0x3c, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, + 0x65, 0x64, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x61, 0x29, 0x29, 0x29, + 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x28, + 0x22, 0x7b, 0x2e, 0x72, 0x65, 0x67, 0x20, 0x2e, 0x66, 0x31, 0x36, 0x20, 0x6c, 0x6f, 0x77, 0x2c, + 0x68, 0x69, 0x67, 0x68, 0x3b, 0x5c, 0x6e, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x20, 0x20, 0x6d, 0x6f, 0x76, 0x2e, 0x62, 0x33, 0x32, 0x20, + 0x7b, 0x6c, 0x6f, 0x77, 0x2c, 0x68, 0x69, 0x67, 0x68, 0x7d, 0x2c, 0x25, 0x31, 0x3b, 0x5c, 0x6e, + 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x20, + 0x20, 0x63, 0x76, 0x74, 0x2e, 0x66, 0x33, 0x32, 0x2e, 0x66, 0x31, 0x36, 0x20, 0x25, 0x30, 0x2c, + 0x20, 0x68, 0x69, 0x67, 0x68, 0x3b, 0x7d, 0x5c, 0x6e, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x66, 0x22, 0x28, 0x68, 0x69, + 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x72, 0x22, 0x28, 0x2a, 0x28, 0x72, 0x65, 0x69, 0x6e, + 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x63, 0x6f, 0x6e, + 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x74, 0x20, + 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x61, 0x29, 0x29, 0x29, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x6d, 0x61, + 0x6b, 0x65, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x32, 0x28, 0x6c, 0x6f, 0x5f, 0x66, 0x6c, 0x6f, + 0x61, 0x74, 0x2c, 0x20, 0x68, 0x69, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x29, 0x3b, 0x0a, 0x7d, + 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x74, 0x20, + 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x69, 0x6e, 0x74, 0x5f, 0x72, 0x6e, 0x28, 0x63, 0x6f, + 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x68, 0x29, 0x20, 0x7b, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x69, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, + 0x73, 0x6d, 0x28, 0x22, 0x63, 0x76, 0x74, 0x2e, 0x72, 0x6e, 0x69, 0x2e, 0x73, 0x33, 0x32, 0x2e, + 0x66, 0x31, 0x36, 0x20, 0x25, 0x30, 0x2c, 0x20, 0x25, 0x31, 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x72, 0x22, 0x28, 0x69, 0x29, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x68, 0x22, 0x28, 0x2a, 0x28, 0x72, + 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, + 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, + 0x68, 0x6f, 0x72, 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x68, 0x29, 0x29, 0x29, 0x29, 0x29, + 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x69, 0x3b, 0x0a, + 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x74, + 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x69, 0x6e, 0x74, 0x5f, 0x72, 0x64, 0x28, 0x63, + 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x68, 0x29, 0x20, 0x7b, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x69, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x61, 0x73, 0x6d, 0x28, 0x22, 0x63, 0x76, 0x74, 0x2e, 0x72, 0x6d, 0x69, 0x2e, 0x73, 0x33, 0x32, + 0x2e, 0x66, 0x31, 0x36, 0x20, 0x25, 0x30, 0x2c, 0x20, 0x25, 0x31, 0x3b, 0x22, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x72, 0x22, 0x28, 0x69, 0x29, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x68, 0x22, 0x28, 0x2a, 0x28, + 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, + 0x3c, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, + 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x68, 0x29, 0x29, 0x29, 0x29, + 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x69, 0x3b, + 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, + 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x69, 0x6e, 0x74, 0x5f, 0x72, 0x75, 0x28, + 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x68, 0x29, 0x20, + 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x69, 0x3b, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x63, 0x76, 0x74, 0x2e, 0x72, 0x70, 0x69, 0x2e, 0x73, 0x33, + 0x32, 0x2e, 0x66, 0x31, 0x36, 0x20, 0x25, 0x30, 0x2c, 0x20, 0x25, 0x31, 0x3b, 0x22, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x72, 0x22, 0x28, 0x69, 0x29, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x68, 0x22, 0x28, 0x2a, 0x28, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, - 0x20, 0x69, 0x6e, 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x61, 0x29, 0x29, 0x29, 0x29, 0x29, - 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x7b, - 0x2e, 0x72, 0x65, 0x67, 0x20, 0x2e, 0x66, 0x31, 0x36, 0x20, 0x6c, 0x6f, 0x77, 0x2c, 0x68, 0x69, - 0x67, 0x68, 0x3b, 0x5c, 0x6e, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x22, 0x20, 0x20, 0x6d, 0x6f, 0x76, 0x2e, 0x62, 0x33, 0x32, 0x20, 0x7b, 0x6c, - 0x6f, 0x77, 0x2c, 0x68, 0x69, 0x67, 0x68, 0x7d, 0x2c, 0x25, 0x31, 0x3b, 0x5c, 0x6e, 0x22, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x20, 0x20, 0x63, - 0x76, 0x74, 0x2e, 0x66, 0x33, 0x32, 0x2e, 0x66, 0x31, 0x36, 0x20, 0x25, 0x30, 0x2c, 0x20, 0x68, - 0x69, 0x67, 0x68, 0x3b, 0x7d, 0x5c, 0x6e, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x66, 0x22, 0x28, 0x68, 0x69, 0x5f, 0x66, - 0x6c, 0x6f, 0x61, 0x74, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x3a, 0x20, 0x22, 0x72, 0x22, 0x28, 0x2a, 0x28, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, - 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x63, 0x6f, 0x6e, 0x73, 0x74, - 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x2a, 0x3e, - 0x28, 0x26, 0x28, 0x61, 0x29, 0x29, 0x29, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x6d, 0x61, 0x6b, 0x65, - 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x32, 0x28, 0x6c, 0x6f, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, - 0x2c, 0x20, 0x68, 0x69, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x29, 0x3b, 0x0a, 0x7d, 0x0a, 0x5f, - 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, - 0x20, 0x69, 0x6e, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x69, 0x6e, 0x74, 0x5f, - 0x72, 0x6e, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, - 0x68, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x69, 0x3b, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x63, 0x76, 0x74, 0x2e, 0x72, 0x6e, 0x69, - 0x2e, 0x73, 0x33, 0x32, 0x2e, 0x66, 0x31, 0x36, 0x20, 0x25, 0x30, 0x2c, 0x20, 0x25, 0x31, 0x3b, - 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x72, 0x22, - 0x28, 0x69, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x68, - 0x22, 0x28, 0x2a, 0x28, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, - 0x63, 0x61, 0x73, 0x74, 0x3c, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, - 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x68, - 0x29, 0x29, 0x29, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, - 0x6e, 0x20, 0x69, 0x3b, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, - 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x5f, 0x5f, 0x68, - 0x61, 0x6c, 0x66, 0x32, 0x69, 0x6e, 0x74, 0x5f, 0x72, 0x64, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, - 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x68, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x69, 0x6e, 0x74, 0x20, 0x69, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x28, - 0x22, 0x63, 0x76, 0x74, 0x2e, 0x72, 0x6d, 0x69, 0x2e, 0x73, 0x33, 0x32, 0x2e, 0x66, 0x31, 0x36, - 0x20, 0x25, 0x30, 0x2c, 0x20, 0x25, 0x31, 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x72, 0x22, 0x28, 0x69, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x68, 0x22, 0x28, 0x2a, 0x28, 0x72, 0x65, 0x69, 0x6e, - 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x63, 0x6f, 0x6e, - 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, - 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x68, 0x29, 0x29, 0x29, 0x29, 0x29, 0x3b, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x69, 0x3b, 0x0a, 0x7d, 0x0a, 0x5f, - 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, - 0x20, 0x69, 0x6e, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x69, 0x6e, 0x74, 0x5f, - 0x72, 0x75, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, - 0x68, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x69, 0x3b, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x63, 0x76, 0x74, 0x2e, 0x72, 0x70, 0x69, - 0x2e, 0x73, 0x33, 0x32, 0x2e, 0x66, 0x31, 0x36, 0x20, 0x25, 0x30, 0x2c, 0x20, 0x25, 0x31, 0x3b, - 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x72, 0x22, - 0x28, 0x69, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x68, - 0x22, 0x28, 0x2a, 0x28, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, - 0x63, 0x61, 0x73, 0x74, 0x3c, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, - 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x68, - 0x29, 0x29, 0x29, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, - 0x6e, 0x20, 0x69, 0x3b, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, - 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, - 0x5f, 0x5f, 0x69, 0x6e, 0x74, 0x32, 0x68, 0x61, 0x6c, 0x66, 0x5f, 0x72, 0x6e, 0x28, 0x63, 0x6f, + 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x68, 0x29, 0x29, 0x29, + 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x69, + 0x3b, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, + 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x5f, 0x5f, 0x69, 0x6e, 0x74, 0x32, 0x68, 0x61, 0x6c, 0x66, + 0x5f, 0x72, 0x6e, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x69, 0x29, + 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x68, 0x3b, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x63, 0x76, 0x74, 0x2e, + 0x72, 0x6e, 0x2e, 0x66, 0x31, 0x36, 0x2e, 0x73, 0x33, 0x32, 0x20, 0x25, 0x30, 0x2c, 0x20, 0x25, + 0x31, 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, + 0x22, 0x3d, 0x68, 0x22, 0x28, 0x2a, 0x28, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, + 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, + 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x68, 0x29, 0x29, 0x29, + 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x72, + 0x22, 0x28, 0x69, 0x29, 0x29, 0x3b, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, + 0x75, 0x72, 0x6e, 0x20, 0x68, 0x3b, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, + 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x5f, 0x5f, 0x69, 0x6e, 0x74, + 0x32, 0x68, 0x61, 0x6c, 0x66, 0x5f, 0x72, 0x7a, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x69, + 0x6e, 0x74, 0x20, 0x69, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x68, 0x61, + 0x6c, 0x66, 0x20, 0x68, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x20, 0x61, 0x73, 0x6d, 0x28, + 0x22, 0x63, 0x76, 0x74, 0x2e, 0x72, 0x7a, 0x2e, 0x66, 0x31, 0x36, 0x2e, 0x73, 0x33, 0x32, 0x20, + 0x25, 0x30, 0x2c, 0x20, 0x25, 0x31, 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x68, 0x22, 0x28, 0x2a, 0x28, 0x72, 0x65, 0x69, 0x6e, + 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x75, 0x6e, 0x73, + 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, + 0x28, 0x68, 0x29, 0x29, 0x29, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x3a, 0x20, 0x22, 0x72, 0x22, 0x28, 0x69, 0x29, 0x29, 0x3b, 0x20, 0x7d, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x68, 0x3b, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, + 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, + 0x5f, 0x5f, 0x69, 0x6e, 0x74, 0x32, 0x68, 0x61, 0x6c, 0x66, 0x5f, 0x72, 0x64, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x69, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x68, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7b, - 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x63, 0x76, 0x74, 0x2e, 0x72, 0x6e, 0x2e, 0x66, 0x31, 0x36, + 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x63, 0x76, 0x74, 0x2e, 0x72, 0x6d, 0x2e, 0x66, 0x31, 0x36, 0x2e, 0x73, 0x33, 0x32, 0x20, 0x25, 0x30, 0x2c, 0x20, 0x25, 0x31, 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x68, 0x22, 0x28, 0x2a, 0x28, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, @@ -2459,126 +2355,97 @@ extern "C" const char luisa_cuda_builtin_cuda_device_half[87792] = { 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x68, 0x29, 0x29, 0x29, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x72, 0x22, 0x28, 0x69, 0x29, 0x29, 0x3b, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x68, 0x3b, - 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, - 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x5f, 0x5f, 0x69, 0x6e, - 0x74, 0x32, 0x68, 0x61, 0x6c, 0x66, 0x5f, 0x72, 0x7a, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, + 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, + 0x68, 0x61, 0x6c, 0x66, 0x20, 0x5f, 0x5f, 0x69, 0x6e, 0x74, 0x32, 0x68, 0x61, 0x6c, 0x66, 0x5f, + 0x72, 0x75, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x69, 0x29, 0x20, + 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x68, 0x3b, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x7b, 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x63, 0x76, 0x74, 0x2e, 0x72, + 0x70, 0x2e, 0x66, 0x31, 0x36, 0x2e, 0x73, 0x33, 0x32, 0x20, 0x25, 0x30, 0x2c, 0x20, 0x25, 0x31, + 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, + 0x3d, 0x68, 0x22, 0x28, 0x2a, 0x28, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, + 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, + 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x68, 0x29, 0x29, 0x29, 0x29, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x72, 0x22, + 0x28, 0x69, 0x29, 0x29, 0x3b, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, + 0x72, 0x6e, 0x20, 0x68, 0x3b, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, + 0x5f, 0x5f, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x5f, 0x5f, 0x68, + 0x61, 0x6c, 0x66, 0x32, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x5f, 0x72, 0x6e, 0x28, 0x63, 0x6f, 0x6e, + 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x68, 0x29, 0x20, 0x7b, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x69, 0x3b, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x63, 0x76, 0x74, 0x2e, 0x72, 0x6e, 0x69, + 0x2e, 0x73, 0x31, 0x36, 0x2e, 0x66, 0x31, 0x36, 0x20, 0x25, 0x30, 0x2c, 0x20, 0x25, 0x31, 0x3b, + 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x68, 0x22, + 0x28, 0x69, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x68, + 0x22, 0x28, 0x2a, 0x28, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, + 0x63, 0x61, 0x73, 0x74, 0x3c, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, + 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x68, + 0x29, 0x29, 0x29, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, + 0x6e, 0x20, 0x69, 0x3b, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, + 0x5f, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, + 0x6c, 0x66, 0x32, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x5f, 0x72, 0x64, 0x28, 0x63, 0x6f, 0x6e, 0x73, + 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x68, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x69, 0x3b, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x63, 0x76, 0x74, 0x2e, 0x72, 0x6d, 0x69, 0x2e, + 0x73, 0x31, 0x36, 0x2e, 0x66, 0x31, 0x36, 0x20, 0x25, 0x30, 0x2c, 0x20, 0x25, 0x31, 0x3b, 0x22, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x68, 0x22, 0x28, + 0x69, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x68, 0x22, + 0x28, 0x2a, 0x28, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, + 0x61, 0x73, 0x74, 0x3c, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, + 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x68, 0x29, + 0x29, 0x29, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, + 0x20, 0x69, 0x3b, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, + 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, + 0x66, 0x32, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x5f, 0x72, 0x75, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, + 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x68, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x69, 0x3b, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x63, 0x76, 0x74, 0x2e, 0x72, 0x70, 0x69, 0x2e, 0x73, + 0x31, 0x36, 0x2e, 0x66, 0x31, 0x36, 0x20, 0x25, 0x30, 0x2c, 0x20, 0x25, 0x31, 0x3b, 0x22, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x68, 0x22, 0x28, 0x69, + 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x68, 0x22, 0x28, + 0x2a, 0x28, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, + 0x73, 0x74, 0x3c, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, + 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x68, 0x29, 0x29, + 0x29, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, + 0x69, 0x3b, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, + 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x5f, 0x5f, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x32, 0x68, + 0x61, 0x6c, 0x66, 0x5f, 0x72, 0x6e, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x73, 0x68, 0x6f, + 0x72, 0x74, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x69, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x68, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x20, + 0x61, 0x73, 0x6d, 0x28, 0x22, 0x63, 0x76, 0x74, 0x2e, 0x72, 0x6e, 0x2e, 0x66, 0x31, 0x36, 0x2e, + 0x73, 0x31, 0x36, 0x20, 0x25, 0x30, 0x2c, 0x20, 0x25, 0x31, 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x68, 0x22, 0x28, 0x2a, 0x28, + 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, + 0x3c, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, + 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x68, 0x29, 0x29, 0x29, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x68, 0x22, 0x28, 0x69, 0x29, 0x29, 0x3b, 0x20, + 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x68, 0x3b, 0x0a, + 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, + 0x61, 0x6c, 0x66, 0x20, 0x5f, 0x5f, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x32, 0x68, 0x61, 0x6c, 0x66, + 0x5f, 0x72, 0x7a, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x69, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x68, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x20, 0x61, 0x73, 0x6d, - 0x28, 0x22, 0x63, 0x76, 0x74, 0x2e, 0x72, 0x7a, 0x2e, 0x66, 0x31, 0x36, 0x2e, 0x73, 0x33, 0x32, + 0x28, 0x22, 0x63, 0x76, 0x74, 0x2e, 0x72, 0x7a, 0x2e, 0x66, 0x31, 0x36, 0x2e, 0x73, 0x31, 0x36, 0x20, 0x25, 0x30, 0x2c, 0x20, 0x25, 0x31, 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x68, 0x22, 0x28, 0x2a, 0x28, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x68, 0x29, 0x29, 0x29, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x3a, 0x20, 0x22, 0x72, 0x22, 0x28, 0x69, 0x29, 0x29, 0x3b, 0x20, 0x7d, 0x0a, 0x20, + 0x20, 0x20, 0x3a, 0x20, 0x22, 0x68, 0x22, 0x28, 0x69, 0x29, 0x29, 0x3b, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x68, 0x3b, 0x0a, 0x7d, 0x0a, 0x5f, - 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, - 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x5f, 0x5f, 0x69, 0x6e, 0x74, 0x32, 0x68, 0x61, - 0x6c, 0x66, 0x5f, 0x72, 0x64, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x69, 0x6e, 0x74, 0x20, - 0x69, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, - 0x68, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x63, 0x76, - 0x74, 0x2e, 0x72, 0x6d, 0x2e, 0x66, 0x31, 0x36, 0x2e, 0x73, 0x33, 0x32, 0x20, 0x25, 0x30, 0x2c, - 0x20, 0x25, 0x31, 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x3a, 0x20, 0x22, 0x3d, 0x68, 0x22, 0x28, 0x2a, 0x28, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, - 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, - 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x68, 0x29, - 0x29, 0x29, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, - 0x22, 0x72, 0x22, 0x28, 0x69, 0x29, 0x29, 0x3b, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, - 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x68, 0x3b, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, - 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, - 0x61, 0x6c, 0x66, 0x20, 0x5f, 0x5f, 0x69, 0x6e, 0x74, 0x32, 0x68, 0x61, 0x6c, 0x66, 0x5f, 0x72, - 0x75, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x69, 0x29, 0x20, 0x7b, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x68, 0x3b, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x7b, 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x63, 0x76, 0x74, 0x2e, 0x72, 0x70, - 0x2e, 0x66, 0x31, 0x36, 0x2e, 0x73, 0x33, 0x32, 0x20, 0x25, 0x30, 0x2c, 0x20, 0x25, 0x31, 0x3b, - 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, - 0x68, 0x22, 0x28, 0x2a, 0x28, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, - 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, - 0x68, 0x6f, 0x72, 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x68, 0x29, 0x29, 0x29, 0x29, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x72, 0x22, 0x28, - 0x69, 0x29, 0x29, 0x3b, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, - 0x6e, 0x20, 0x68, 0x3b, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, - 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x69, - 0x6e, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x5f, - 0x72, 0x6e, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, - 0x68, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x69, - 0x6e, 0x74, 0x20, 0x69, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x63, - 0x76, 0x74, 0x2e, 0x72, 0x6e, 0x69, 0x2e, 0x73, 0x31, 0x36, 0x2e, 0x66, 0x31, 0x36, 0x20, 0x25, - 0x30, 0x2c, 0x20, 0x25, 0x31, 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x3a, 0x20, 0x22, 0x3d, 0x68, 0x22, 0x28, 0x69, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x3a, 0x20, 0x22, 0x68, 0x22, 0x28, 0x2a, 0x28, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, - 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x63, 0x6f, 0x6e, 0x73, 0x74, - 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, - 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x68, 0x29, 0x29, 0x29, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x69, 0x3b, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, - 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x73, - 0x68, 0x6f, 0x72, 0x74, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, - 0x73, 0x68, 0x6f, 0x72, 0x74, 0x5f, 0x72, 0x64, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, - 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x68, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x73, - 0x68, 0x6f, 0x72, 0x74, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x69, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x61, 0x73, 0x6d, 0x28, 0x22, 0x63, 0x76, 0x74, 0x2e, 0x72, 0x6d, 0x69, 0x2e, 0x73, 0x31, 0x36, - 0x2e, 0x66, 0x31, 0x36, 0x20, 0x25, 0x30, 0x2c, 0x20, 0x25, 0x31, 0x3b, 0x22, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x68, 0x22, 0x28, 0x69, 0x29, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x68, 0x22, 0x28, 0x2a, 0x28, - 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, - 0x3c, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, - 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x68, 0x29, 0x29, 0x29, 0x29, - 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x69, 0x3b, - 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, - 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x5f, - 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x5f, 0x72, 0x75, 0x28, 0x63, - 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x68, 0x29, 0x20, 0x7b, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x69, - 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x63, 0x76, 0x74, 0x2e, 0x72, - 0x70, 0x69, 0x2e, 0x73, 0x31, 0x36, 0x2e, 0x66, 0x31, 0x36, 0x20, 0x25, 0x30, 0x2c, 0x20, 0x25, - 0x31, 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, - 0x68, 0x22, 0x28, 0x69, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, - 0x22, 0x68, 0x22, 0x28, 0x2a, 0x28, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, - 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, - 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, - 0x28, 0x68, 0x29, 0x29, 0x29, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, - 0x75, 0x72, 0x6e, 0x20, 0x69, 0x3b, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, - 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, - 0x66, 0x20, 0x5f, 0x5f, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x32, 0x68, 0x61, 0x6c, 0x66, 0x5f, 0x72, - 0x6e, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x69, 0x6e, - 0x74, 0x20, 0x69, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, - 0x66, 0x20, 0x68, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, - 0x63, 0x76, 0x74, 0x2e, 0x72, 0x6e, 0x2e, 0x66, 0x31, 0x36, 0x2e, 0x73, 0x31, 0x36, 0x20, 0x25, - 0x30, 0x2c, 0x20, 0x25, 0x31, 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x68, 0x22, 0x28, 0x2a, 0x28, 0x72, 0x65, 0x69, 0x6e, 0x74, - 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x75, 0x6e, 0x73, 0x69, - 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, - 0x68, 0x29, 0x29, 0x29, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x3a, 0x20, 0x22, 0x68, 0x22, 0x28, 0x69, 0x29, 0x29, 0x3b, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x68, 0x3b, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, - 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, - 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x5f, 0x5f, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x32, 0x68, 0x61, - 0x6c, 0x66, 0x5f, 0x72, 0x7a, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x73, 0x68, 0x6f, 0x72, - 0x74, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x69, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5f, - 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x68, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x20, 0x61, - 0x73, 0x6d, 0x28, 0x22, 0x63, 0x76, 0x74, 0x2e, 0x72, 0x7a, 0x2e, 0x66, 0x31, 0x36, 0x2e, 0x73, - 0x31, 0x36, 0x20, 0x25, 0x30, 0x2c, 0x20, 0x25, 0x31, 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x68, 0x22, 0x28, 0x2a, 0x28, 0x72, - 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, - 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x2a, - 0x3e, 0x28, 0x26, 0x28, 0x68, 0x29, 0x29, 0x29, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x68, 0x22, 0x28, 0x69, 0x29, 0x29, 0x3b, 0x20, 0x7d, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x68, 0x3b, 0x0a, 0x7d, - 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, - 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x5f, 0x5f, 0x73, 0x68, 0x6f, 0x72, - 0x74, 0x32, 0x68, 0x61, 0x6c, 0x66, 0x5f, 0x72, 0x64, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, - 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x69, 0x29, 0x20, 0x7b, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x68, 0x3b, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x7b, 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x63, 0x76, 0x74, 0x2e, 0x72, 0x6d, 0x2e, 0x66, - 0x31, 0x36, 0x2e, 0x73, 0x31, 0x36, 0x20, 0x25, 0x30, 0x2c, 0x20, 0x25, 0x31, 0x3b, 0x22, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x68, 0x22, - 0x28, 0x2a, 0x28, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, - 0x61, 0x73, 0x74, 0x3c, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, - 0x72, 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x68, 0x29, 0x29, 0x29, 0x29, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x68, 0x22, 0x28, 0x69, 0x29, - 0x29, 0x3b, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, - 0x68, 0x3b, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, - 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x5f, 0x5f, + 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, + 0x20, 0x5f, 0x5f, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x32, 0x68, 0x61, 0x6c, 0x66, 0x5f, 0x72, 0x64, + 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x69, 0x6e, 0x74, + 0x20, 0x69, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, + 0x20, 0x68, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x63, + 0x76, 0x74, 0x2e, 0x72, 0x6d, 0x2e, 0x66, 0x31, 0x36, 0x2e, 0x73, 0x31, 0x36, 0x20, 0x25, 0x30, + 0x2c, 0x20, 0x25, 0x31, 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x68, 0x22, 0x28, 0x2a, 0x28, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, + 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x75, 0x6e, 0x73, 0x69, 0x67, + 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x68, + 0x29, 0x29, 0x29, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, + 0x20, 0x22, 0x68, 0x22, 0x28, 0x69, 0x29, 0x29, 0x3b, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x68, 0x3b, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, + 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x5f, 0x5f, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x32, 0x68, 0x61, 0x6c, 0x66, 0x5f, 0x72, 0x75, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x69, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x68, 0x3b, @@ -2591,93 +2458,77 @@ extern "C" const char luisa_cuda_builtin_cuda_device_half[87792] = { 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x68, 0x22, 0x28, 0x69, 0x29, 0x29, 0x3b, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x68, 0x3b, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, - 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, - 0x6e, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x75, - 0x69, 0x6e, 0x74, 0x5f, 0x72, 0x6e, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, - 0x61, 0x6c, 0x66, 0x20, 0x68, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x75, 0x6e, 0x73, - 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x69, 0x3b, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x63, 0x76, 0x74, 0x2e, 0x72, 0x6e, 0x69, 0x2e, 0x75, 0x33, - 0x32, 0x2e, 0x66, 0x31, 0x36, 0x20, 0x25, 0x30, 0x2c, 0x20, 0x25, 0x31, 0x3b, 0x22, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x72, 0x22, 0x28, 0x69, 0x29, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x68, 0x22, 0x28, 0x2a, + 0x65, 0x5f, 0x5f, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x74, + 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x75, 0x69, 0x6e, 0x74, 0x5f, 0x72, 0x6e, 0x28, + 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x68, 0x29, 0x20, + 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x69, + 0x6e, 0x74, 0x20, 0x69, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x63, + 0x76, 0x74, 0x2e, 0x72, 0x6e, 0x69, 0x2e, 0x75, 0x33, 0x32, 0x2e, 0x66, 0x31, 0x36, 0x20, 0x25, + 0x30, 0x2c, 0x20, 0x25, 0x31, 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x3a, 0x20, 0x22, 0x3d, 0x72, 0x22, 0x28, 0x69, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x3a, 0x20, 0x22, 0x68, 0x22, 0x28, 0x2a, 0x28, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, + 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x63, 0x6f, 0x6e, 0x73, 0x74, + 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, + 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x68, 0x29, 0x29, 0x29, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x69, 0x3b, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, + 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, + 0x20, 0x69, 0x6e, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x75, 0x69, 0x6e, 0x74, + 0x5f, 0x72, 0x64, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, + 0x20, 0x68, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, + 0x65, 0x64, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x69, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, + 0x6d, 0x28, 0x22, 0x63, 0x76, 0x74, 0x2e, 0x72, 0x6d, 0x69, 0x2e, 0x75, 0x33, 0x32, 0x2e, 0x66, + 0x31, 0x36, 0x20, 0x25, 0x30, 0x2c, 0x20, 0x25, 0x31, 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x72, 0x22, 0x28, 0x69, 0x29, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x68, 0x22, 0x28, 0x2a, 0x28, 0x72, 0x65, + 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x63, + 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, + 0x6f, 0x72, 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x68, 0x29, 0x29, 0x29, 0x29, 0x29, 0x3b, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x69, 0x3b, 0x0a, 0x7d, + 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x75, 0x6e, 0x73, 0x69, + 0x67, 0x6e, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, + 0x75, 0x69, 0x6e, 0x74, 0x5f, 0x72, 0x75, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, + 0x68, 0x61, 0x6c, 0x66, 0x20, 0x68, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x75, 0x6e, + 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x69, 0x3b, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x63, 0x76, 0x74, 0x2e, 0x72, 0x70, 0x69, 0x2e, 0x75, + 0x33, 0x32, 0x2e, 0x66, 0x31, 0x36, 0x20, 0x25, 0x30, 0x2c, 0x20, 0x25, 0x31, 0x3b, 0x22, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x72, 0x22, 0x28, 0x69, + 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x68, 0x22, 0x28, + 0x2a, 0x28, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, + 0x73, 0x74, 0x3c, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, + 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x68, 0x29, 0x29, + 0x29, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, + 0x69, 0x3b, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, + 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x5f, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x32, 0x68, 0x61, + 0x6c, 0x66, 0x5f, 0x72, 0x6e, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, + 0x67, 0x6e, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x69, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x68, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x7b, 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x63, 0x76, 0x74, 0x2e, 0x72, 0x6e, 0x2e, 0x66, 0x31, + 0x36, 0x2e, 0x75, 0x33, 0x32, 0x20, 0x25, 0x30, 0x2c, 0x20, 0x25, 0x31, 0x3b, 0x22, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x68, 0x22, 0x28, + 0x2a, 0x28, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, + 0x73, 0x74, 0x3c, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, + 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x68, 0x29, 0x29, 0x29, 0x29, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x72, 0x22, 0x28, 0x69, 0x29, 0x29, + 0x3b, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x68, + 0x3b, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, + 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x5f, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x32, 0x68, 0x61, 0x6c, + 0x66, 0x5f, 0x72, 0x7a, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, + 0x6e, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x69, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x68, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7b, + 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x63, 0x76, 0x74, 0x2e, 0x72, 0x7a, 0x2e, 0x66, 0x31, 0x36, + 0x2e, 0x75, 0x33, 0x32, 0x20, 0x25, 0x30, 0x2c, 0x20, 0x25, 0x31, 0x3b, 0x22, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x68, 0x22, 0x28, 0x2a, 0x28, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, - 0x74, 0x3c, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, - 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x68, 0x29, 0x29, 0x29, - 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x69, - 0x3b, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, - 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x69, - 0x6e, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x75, 0x69, 0x6e, 0x74, 0x5f, 0x72, - 0x64, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x68, - 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, - 0x20, 0x69, 0x6e, 0x74, 0x20, 0x69, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x28, - 0x22, 0x63, 0x76, 0x74, 0x2e, 0x72, 0x6d, 0x69, 0x2e, 0x75, 0x33, 0x32, 0x2e, 0x66, 0x31, 0x36, - 0x20, 0x25, 0x30, 0x2c, 0x20, 0x25, 0x31, 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x72, 0x22, 0x28, 0x69, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x68, 0x22, 0x28, 0x2a, 0x28, 0x72, 0x65, 0x69, 0x6e, - 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x63, 0x6f, 0x6e, - 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, - 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x68, 0x29, 0x29, 0x29, 0x29, 0x29, 0x3b, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x69, 0x3b, 0x0a, 0x7d, 0x0a, 0x5f, - 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, - 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x5f, 0x5f, - 0x68, 0x61, 0x6c, 0x66, 0x32, 0x75, 0x69, 0x6e, 0x74, 0x5f, 0x72, 0x75, 0x28, 0x63, 0x6f, 0x6e, - 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x68, 0x29, 0x20, 0x7b, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x74, 0x20, - 0x69, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x63, 0x76, 0x74, 0x2e, - 0x72, 0x70, 0x69, 0x2e, 0x75, 0x33, 0x32, 0x2e, 0x66, 0x31, 0x36, 0x20, 0x25, 0x30, 0x2c, 0x20, - 0x25, 0x31, 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, - 0x3d, 0x72, 0x22, 0x28, 0x69, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, - 0x20, 0x22, 0x68, 0x22, 0x28, 0x2a, 0x28, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, - 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, - 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x2a, 0x3e, 0x28, - 0x26, 0x28, 0x68, 0x29, 0x29, 0x29, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, - 0x74, 0x75, 0x72, 0x6e, 0x20, 0x69, 0x3b, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, - 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, - 0x6c, 0x66, 0x20, 0x5f, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x32, 0x68, 0x61, 0x6c, 0x66, 0x5f, 0x72, - 0x6e, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, - 0x20, 0x69, 0x6e, 0x74, 0x20, 0x69, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, - 0x68, 0x61, 0x6c, 0x66, 0x20, 0x68, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x20, 0x61, 0x73, - 0x6d, 0x28, 0x22, 0x63, 0x76, 0x74, 0x2e, 0x72, 0x6e, 0x2e, 0x66, 0x31, 0x36, 0x2e, 0x75, 0x33, - 0x32, 0x20, 0x25, 0x30, 0x2c, 0x20, 0x25, 0x31, 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x68, 0x22, 0x28, 0x2a, 0x28, 0x72, 0x65, - 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x75, - 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x2a, 0x3e, - 0x28, 0x26, 0x28, 0x68, 0x29, 0x29, 0x29, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x72, 0x22, 0x28, 0x69, 0x29, 0x29, 0x3b, 0x20, 0x7d, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x68, 0x3b, 0x0a, 0x7d, 0x0a, - 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, - 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x5f, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x32, - 0x68, 0x61, 0x6c, 0x66, 0x5f, 0x72, 0x7a, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, - 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x69, 0x29, 0x20, 0x7b, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x68, 0x3b, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x7b, 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x63, 0x76, 0x74, 0x2e, 0x72, 0x7a, 0x2e, - 0x66, 0x31, 0x36, 0x2e, 0x75, 0x33, 0x32, 0x20, 0x25, 0x30, 0x2c, 0x20, 0x25, 0x31, 0x3b, 0x22, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x68, - 0x22, 0x28, 0x2a, 0x28, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, - 0x63, 0x61, 0x73, 0x74, 0x3c, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, - 0x6f, 0x72, 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x68, 0x29, 0x29, 0x29, 0x29, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x72, 0x22, 0x28, 0x69, - 0x29, 0x29, 0x3b, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, - 0x20, 0x68, 0x3b, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, - 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x5f, - 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x32, 0x68, 0x61, 0x6c, 0x66, 0x5f, 0x72, 0x64, 0x28, 0x63, 0x6f, - 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x74, - 0x20, 0x69, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, - 0x20, 0x68, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x63, - 0x76, 0x74, 0x2e, 0x72, 0x6d, 0x2e, 0x66, 0x31, 0x36, 0x2e, 0x75, 0x33, 0x32, 0x20, 0x25, 0x30, - 0x2c, 0x20, 0x25, 0x31, 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x68, 0x22, 0x28, 0x2a, 0x28, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, - 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x75, 0x6e, 0x73, 0x69, 0x67, - 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x68, - 0x29, 0x29, 0x29, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, - 0x20, 0x22, 0x72, 0x22, 0x28, 0x69, 0x29, 0x29, 0x3b, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x68, 0x3b, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, - 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, + 0x74, 0x3c, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, + 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x68, 0x29, 0x29, 0x29, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x72, 0x22, 0x28, 0x69, 0x29, 0x29, 0x3b, + 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x68, 0x3b, + 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x5f, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x32, 0x68, 0x61, 0x6c, 0x66, - 0x5f, 0x72, 0x75, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, + 0x5f, 0x72, 0x64, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x69, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x68, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x20, - 0x61, 0x73, 0x6d, 0x28, 0x22, 0x63, 0x76, 0x74, 0x2e, 0x72, 0x70, 0x2e, 0x66, 0x31, 0x36, 0x2e, + 0x61, 0x73, 0x6d, 0x28, 0x22, 0x63, 0x76, 0x74, 0x2e, 0x72, 0x6d, 0x2e, 0x66, 0x31, 0x36, 0x2e, 0x75, 0x33, 0x32, 0x20, 0x25, 0x30, 0x2c, 0x20, 0x25, 0x31, 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x68, 0x22, 0x28, 0x2a, 0x28, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, @@ -2685,226 +2536,137 @@ extern "C" const char luisa_cuda_builtin_cuda_device_half[87792] = { 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x68, 0x29, 0x29, 0x29, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x72, 0x22, 0x28, 0x69, 0x29, 0x29, 0x3b, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x68, 0x3b, 0x0a, - 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, - 0x69, 0x6e, 0x65, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, - 0x72, 0x74, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x75, 0x73, - 0x68, 0x6f, 0x72, 0x74, 0x5f, 0x72, 0x6e, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, - 0x68, 0x61, 0x6c, 0x66, 0x20, 0x68, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x75, 0x6e, - 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x69, 0x6e, 0x74, - 0x20, 0x69, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x63, 0x76, 0x74, - 0x2e, 0x72, 0x6e, 0x69, 0x2e, 0x75, 0x31, 0x36, 0x2e, 0x66, 0x31, 0x36, 0x20, 0x25, 0x30, 0x2c, - 0x20, 0x25, 0x31, 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, - 0x22, 0x3d, 0x68, 0x22, 0x28, 0x69, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x3a, 0x20, 0x22, 0x68, 0x22, 0x28, 0x2a, 0x28, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, - 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, - 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x2a, 0x3e, - 0x28, 0x26, 0x28, 0x68, 0x29, 0x29, 0x29, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, - 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x69, 0x3b, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, - 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x75, 0x6e, 0x73, - 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x69, 0x6e, 0x74, 0x20, - 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x75, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x5f, 0x72, 0x64, - 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x68, 0x29, - 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, - 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x69, 0x3b, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x63, 0x76, 0x74, 0x2e, 0x72, 0x6d, 0x69, 0x2e, 0x75, 0x31, - 0x36, 0x2e, 0x66, 0x31, 0x36, 0x20, 0x25, 0x30, 0x2c, 0x20, 0x25, 0x31, 0x3b, 0x22, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x68, 0x22, 0x28, 0x69, 0x29, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x68, 0x22, 0x28, 0x2a, - 0x28, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, - 0x74, 0x3c, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, - 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x68, 0x29, 0x29, 0x29, - 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x69, - 0x3b, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, - 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, - 0x68, 0x6f, 0x72, 0x74, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, - 0x75, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x5f, 0x72, 0x75, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, - 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x68, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x69, - 0x6e, 0x74, 0x20, 0x69, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x63, - 0x76, 0x74, 0x2e, 0x72, 0x70, 0x69, 0x2e, 0x75, 0x31, 0x36, 0x2e, 0x66, 0x31, 0x36, 0x20, 0x25, - 0x30, 0x2c, 0x20, 0x25, 0x31, 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x3a, 0x20, 0x22, 0x3d, 0x68, 0x22, 0x28, 0x69, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x3a, 0x20, 0x22, 0x68, 0x22, 0x28, 0x2a, 0x28, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, - 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x63, 0x6f, 0x6e, 0x73, 0x74, - 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, - 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x68, 0x29, 0x29, 0x29, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x69, 0x3b, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, - 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, - 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x5f, 0x5f, 0x75, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x32, 0x68, - 0x61, 0x6c, 0x66, 0x5f, 0x72, 0x6e, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, - 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x69, 0x6e, 0x74, 0x20, - 0x69, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, - 0x68, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x63, 0x76, - 0x74, 0x2e, 0x72, 0x6e, 0x2e, 0x66, 0x31, 0x36, 0x2e, 0x75, 0x31, 0x36, 0x20, 0x25, 0x30, 0x2c, - 0x20, 0x25, 0x31, 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x3a, 0x20, 0x22, 0x3d, 0x68, 0x22, 0x28, 0x2a, 0x28, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, - 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, - 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x68, 0x29, - 0x29, 0x29, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, - 0x22, 0x68, 0x22, 0x28, 0x69, 0x29, 0x29, 0x3b, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, - 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x68, 0x3b, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, - 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, - 0x61, 0x6c, 0x66, 0x20, 0x5f, 0x5f, 0x75, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x32, 0x68, 0x61, 0x6c, - 0x66, 0x5f, 0x72, 0x7a, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, - 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x69, 0x29, - 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x68, 0x3b, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x63, 0x76, 0x74, 0x2e, - 0x72, 0x7a, 0x2e, 0x66, 0x31, 0x36, 0x2e, 0x75, 0x31, 0x36, 0x20, 0x25, 0x30, 0x2c, 0x20, 0x25, - 0x31, 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, - 0x22, 0x3d, 0x68, 0x22, 0x28, 0x2a, 0x28, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, - 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, - 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x68, 0x29, 0x29, 0x29, - 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x68, - 0x22, 0x28, 0x69, 0x29, 0x29, 0x3b, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, - 0x75, 0x72, 0x6e, 0x20, 0x68, 0x3b, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, - 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, - 0x66, 0x20, 0x5f, 0x5f, 0x75, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x32, 0x68, 0x61, 0x6c, 0x66, 0x5f, - 0x72, 0x64, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, - 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x69, 0x29, 0x20, 0x7b, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x68, 0x3b, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x7b, 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x63, 0x76, 0x74, 0x2e, 0x72, 0x6d, - 0x2e, 0x66, 0x31, 0x36, 0x2e, 0x75, 0x31, 0x36, 0x20, 0x25, 0x30, 0x2c, 0x20, 0x25, 0x31, 0x3b, - 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, - 0x68, 0x22, 0x28, 0x2a, 0x28, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, - 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, - 0x68, 0x6f, 0x72, 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x68, 0x29, 0x29, 0x29, 0x29, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x68, 0x22, 0x28, - 0x69, 0x29, 0x29, 0x3b, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, - 0x6e, 0x20, 0x68, 0x3b, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, - 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, - 0x5f, 0x5f, 0x75, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x32, 0x68, 0x61, 0x6c, 0x66, 0x5f, 0x72, 0x75, - 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, - 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x69, 0x29, 0x20, 0x7b, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x68, 0x3b, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x7b, 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x63, 0x76, 0x74, 0x2e, 0x72, 0x70, 0x2e, 0x66, - 0x31, 0x36, 0x2e, 0x75, 0x31, 0x36, 0x20, 0x25, 0x30, 0x2c, 0x20, 0x25, 0x31, 0x3b, 0x22, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x68, 0x22, - 0x28, 0x2a, 0x28, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, - 0x61, 0x73, 0x74, 0x3c, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, - 0x72, 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x68, 0x29, 0x29, 0x29, 0x29, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x68, 0x22, 0x28, 0x69, 0x29, - 0x29, 0x3b, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, - 0x68, 0x3b, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, - 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, - 0x6c, 0x6f, 0x6e, 0x67, 0x20, 0x6c, 0x6f, 0x6e, 0x67, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x5f, 0x5f, - 0x68, 0x61, 0x6c, 0x66, 0x32, 0x75, 0x6c, 0x6c, 0x5f, 0x72, 0x6e, 0x28, 0x63, 0x6f, 0x6e, 0x73, - 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x68, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x6c, 0x6f, 0x6e, 0x67, 0x20, - 0x6c, 0x6f, 0x6e, 0x67, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x69, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x61, 0x73, 0x6d, 0x28, 0x22, 0x63, 0x76, 0x74, 0x2e, 0x72, 0x6e, 0x69, 0x2e, 0x75, 0x36, 0x34, + 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, + 0x61, 0x6c, 0x66, 0x20, 0x5f, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x32, 0x68, 0x61, 0x6c, 0x66, 0x5f, + 0x72, 0x75, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, + 0x64, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x69, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5f, + 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x68, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x20, 0x61, + 0x73, 0x6d, 0x28, 0x22, 0x63, 0x76, 0x74, 0x2e, 0x72, 0x70, 0x2e, 0x66, 0x31, 0x36, 0x2e, 0x75, + 0x33, 0x32, 0x20, 0x25, 0x30, 0x2c, 0x20, 0x25, 0x31, 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x68, 0x22, 0x28, 0x2a, 0x28, 0x72, + 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, + 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x2a, + 0x3e, 0x28, 0x26, 0x28, 0x68, 0x29, 0x29, 0x29, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x72, 0x22, 0x28, 0x69, 0x29, 0x29, 0x3b, 0x20, 0x7d, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x68, 0x3b, 0x0a, 0x7d, + 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x75, 0x6e, 0x73, 0x69, + 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x5f, + 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x75, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x5f, 0x72, 0x6e, 0x28, + 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x68, 0x29, 0x20, + 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, + 0x68, 0x6f, 0x72, 0x74, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x69, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x61, 0x73, 0x6d, 0x28, 0x22, 0x63, 0x76, 0x74, 0x2e, 0x72, 0x6e, 0x69, 0x2e, 0x75, 0x31, 0x36, 0x2e, 0x66, 0x31, 0x36, 0x20, 0x25, 0x30, 0x2c, 0x20, 0x25, 0x31, 0x3b, 0x22, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x6c, 0x22, 0x28, 0x69, 0x29, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x68, 0x22, 0x28, 0x69, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x68, 0x22, 0x28, 0x2a, 0x28, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x68, 0x29, 0x29, 0x29, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x69, 0x3b, - 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, - 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x6c, 0x6f, - 0x6e, 0x67, 0x20, 0x6c, 0x6f, 0x6e, 0x67, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, - 0x6c, 0x66, 0x32, 0x75, 0x6c, 0x6c, 0x5f, 0x72, 0x64, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, - 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x68, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x6c, 0x6f, 0x6e, 0x67, 0x20, 0x6c, 0x6f, - 0x6e, 0x67, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x69, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, - 0x6d, 0x28, 0x22, 0x63, 0x76, 0x74, 0x2e, 0x72, 0x6d, 0x69, 0x2e, 0x75, 0x36, 0x34, 0x2e, 0x66, - 0x31, 0x36, 0x20, 0x25, 0x30, 0x2c, 0x20, 0x25, 0x31, 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x6c, 0x22, 0x28, 0x69, 0x29, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x68, 0x22, 0x28, 0x2a, 0x28, 0x72, 0x65, - 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x63, - 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, - 0x6f, 0x72, 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x68, 0x29, 0x29, 0x29, 0x29, 0x29, 0x3b, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x69, 0x3b, 0x0a, 0x7d, - 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, - 0x6e, 0x65, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x6c, 0x6f, 0x6e, 0x67, - 0x20, 0x6c, 0x6f, 0x6e, 0x67, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, - 0x32, 0x75, 0x6c, 0x6c, 0x5f, 0x72, 0x75, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, - 0x68, 0x61, 0x6c, 0x66, 0x20, 0x68, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x75, 0x6e, - 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x6c, 0x6f, 0x6e, 0x67, 0x20, 0x6c, 0x6f, 0x6e, 0x67, - 0x20, 0x69, 0x6e, 0x74, 0x20, 0x69, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x28, - 0x22, 0x63, 0x76, 0x74, 0x2e, 0x72, 0x70, 0x69, 0x2e, 0x75, 0x36, 0x34, 0x2e, 0x66, 0x31, 0x36, - 0x20, 0x25, 0x30, 0x2c, 0x20, 0x25, 0x31, 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x6c, 0x22, 0x28, 0x69, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x68, 0x22, 0x28, 0x2a, 0x28, 0x72, 0x65, 0x69, 0x6e, - 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x63, 0x6f, 0x6e, - 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, - 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x68, 0x29, 0x29, 0x29, 0x29, 0x29, 0x3b, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x69, 0x3b, 0x0a, 0x7d, 0x0a, 0x5f, - 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, - 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x5f, 0x5f, 0x75, 0x6c, 0x6c, 0x32, 0x68, 0x61, - 0x6c, 0x66, 0x5f, 0x72, 0x6e, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, - 0x67, 0x6e, 0x65, 0x64, 0x20, 0x6c, 0x6f, 0x6e, 0x67, 0x20, 0x6c, 0x6f, 0x6e, 0x67, 0x20, 0x69, + 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x75, 0x6e, + 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x69, 0x6e, 0x74, + 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x75, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x5f, 0x72, + 0x64, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x68, + 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, + 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x69, 0x3b, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x63, 0x76, 0x74, 0x2e, 0x72, 0x6d, 0x69, 0x2e, 0x75, + 0x31, 0x36, 0x2e, 0x66, 0x31, 0x36, 0x20, 0x25, 0x30, 0x2c, 0x20, 0x25, 0x31, 0x3b, 0x22, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x68, 0x22, 0x28, 0x69, + 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x68, 0x22, 0x28, + 0x2a, 0x28, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, + 0x73, 0x74, 0x3c, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, + 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x68, 0x29, 0x29, + 0x29, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, + 0x69, 0x3b, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, + 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x69, + 0x6e, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x75, 0x73, 0x68, 0x6f, 0x72, 0x74, + 0x5f, 0x72, 0x75, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, + 0x20, 0x68, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, + 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x69, 0x3b, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x63, 0x76, 0x74, 0x2e, 0x72, 0x70, 0x69, + 0x2e, 0x75, 0x31, 0x36, 0x2e, 0x66, 0x31, 0x36, 0x20, 0x25, 0x30, 0x2c, 0x20, 0x25, 0x31, 0x3b, + 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x68, 0x22, + 0x28, 0x69, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x68, + 0x22, 0x28, 0x2a, 0x28, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, + 0x63, 0x61, 0x73, 0x74, 0x3c, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, + 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x68, + 0x29, 0x29, 0x29, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, + 0x6e, 0x20, 0x69, 0x3b, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, + 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x5f, 0x5f, 0x75, 0x73, 0x68, 0x6f, 0x72, + 0x74, 0x32, 0x68, 0x61, 0x6c, 0x66, 0x5f, 0x72, 0x6e, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, + 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x69, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x68, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x20, 0x61, 0x73, 0x6d, 0x28, - 0x22, 0x63, 0x76, 0x74, 0x2e, 0x72, 0x6e, 0x2e, 0x66, 0x31, 0x36, 0x2e, 0x75, 0x36, 0x34, 0x20, + 0x22, 0x63, 0x76, 0x74, 0x2e, 0x72, 0x6e, 0x2e, 0x66, 0x31, 0x36, 0x2e, 0x75, 0x31, 0x36, 0x20, 0x25, 0x30, 0x2c, 0x20, 0x25, 0x31, 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x68, 0x22, 0x28, 0x2a, 0x28, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x68, 0x29, 0x29, 0x29, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x3a, 0x20, 0x22, 0x6c, 0x22, 0x28, 0x69, 0x29, 0x29, 0x3b, 0x20, 0x7d, 0x0a, 0x20, 0x20, + 0x20, 0x3a, 0x20, 0x22, 0x68, 0x22, 0x28, 0x69, 0x29, 0x29, 0x3b, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x68, 0x3b, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, - 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, - 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x5f, 0x5f, 0x75, 0x6c, 0x6c, 0x32, 0x68, 0x61, 0x6c, - 0x66, 0x5f, 0x72, 0x7a, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, - 0x6e, 0x65, 0x64, 0x20, 0x6c, 0x6f, 0x6e, 0x67, 0x20, 0x6c, 0x6f, 0x6e, 0x67, 0x20, 0x69, 0x6e, - 0x74, 0x20, 0x69, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, - 0x66, 0x20, 0x68, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, - 0x63, 0x76, 0x74, 0x2e, 0x72, 0x7a, 0x2e, 0x66, 0x31, 0x36, 0x2e, 0x75, 0x36, 0x34, 0x20, 0x25, - 0x30, 0x2c, 0x20, 0x25, 0x31, 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x68, 0x22, 0x28, 0x2a, 0x28, 0x72, 0x65, 0x69, 0x6e, 0x74, - 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x75, 0x6e, 0x73, 0x69, - 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, - 0x68, 0x29, 0x29, 0x29, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x3a, 0x20, 0x22, 0x6c, 0x22, 0x28, 0x69, 0x29, 0x29, 0x3b, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x68, 0x3b, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, - 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, - 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x5f, 0x5f, 0x75, 0x6c, 0x6c, 0x32, 0x68, 0x61, 0x6c, 0x66, - 0x5f, 0x72, 0x64, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, - 0x65, 0x64, 0x20, 0x6c, 0x6f, 0x6e, 0x67, 0x20, 0x6c, 0x6f, 0x6e, 0x67, 0x20, 0x69, 0x6e, 0x74, + 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, + 0x5f, 0x5f, 0x75, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x32, 0x68, 0x61, 0x6c, 0x66, 0x5f, 0x72, 0x7a, + 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, + 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x69, 0x29, 0x20, 0x7b, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x68, 0x3b, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x7b, 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x63, 0x76, 0x74, 0x2e, 0x72, 0x7a, 0x2e, 0x66, + 0x31, 0x36, 0x2e, 0x75, 0x31, 0x36, 0x20, 0x25, 0x30, 0x2c, 0x20, 0x25, 0x31, 0x3b, 0x22, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x68, 0x22, + 0x28, 0x2a, 0x28, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, + 0x61, 0x73, 0x74, 0x3c, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, + 0x72, 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x68, 0x29, 0x29, 0x29, 0x29, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x68, 0x22, 0x28, 0x69, 0x29, + 0x29, 0x3b, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, + 0x68, 0x3b, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, + 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x5f, 0x5f, 0x75, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x32, + 0x68, 0x61, 0x6c, 0x66, 0x5f, 0x72, 0x64, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, + 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x69, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x68, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x63, - 0x76, 0x74, 0x2e, 0x72, 0x6d, 0x2e, 0x66, 0x31, 0x36, 0x2e, 0x75, 0x36, 0x34, 0x20, 0x25, 0x30, + 0x76, 0x74, 0x2e, 0x72, 0x6d, 0x2e, 0x66, 0x31, 0x36, 0x2e, 0x75, 0x31, 0x36, 0x20, 0x25, 0x30, 0x2c, 0x20, 0x25, 0x31, 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x68, 0x22, 0x28, 0x2a, 0x28, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x68, 0x29, 0x29, 0x29, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, - 0x20, 0x22, 0x6c, 0x22, 0x28, 0x69, 0x29, 0x29, 0x3b, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x22, 0x68, 0x22, 0x28, 0x69, 0x29, 0x29, 0x3b, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x68, 0x3b, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, - 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, - 0x68, 0x61, 0x6c, 0x66, 0x20, 0x5f, 0x5f, 0x75, 0x6c, 0x6c, 0x32, 0x68, 0x61, 0x6c, 0x66, 0x5f, - 0x72, 0x75, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, + 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x5f, 0x5f, + 0x75, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x32, 0x68, 0x61, 0x6c, 0x66, 0x5f, 0x72, 0x75, 0x28, 0x63, + 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, + 0x6f, 0x72, 0x74, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x69, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x68, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7b, + 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x63, 0x76, 0x74, 0x2e, 0x72, 0x70, 0x2e, 0x66, 0x31, 0x36, + 0x2e, 0x75, 0x31, 0x36, 0x20, 0x25, 0x30, 0x2c, 0x20, 0x25, 0x31, 0x3b, 0x22, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x68, 0x22, 0x28, 0x2a, + 0x28, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, + 0x74, 0x3c, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, + 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x68, 0x29, 0x29, 0x29, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x68, 0x22, 0x28, 0x69, 0x29, 0x29, 0x3b, + 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x68, 0x3b, + 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x75, 0x6e, + 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x6c, 0x6f, 0x6e, 0x67, 0x20, 0x6c, 0x6f, 0x6e, 0x67, + 0x20, 0x69, 0x6e, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x75, 0x6c, 0x6c, 0x5f, + 0x72, 0x6e, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, + 0x68, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x6c, 0x6f, 0x6e, 0x67, 0x20, 0x6c, 0x6f, 0x6e, 0x67, 0x20, 0x69, 0x6e, 0x74, 0x20, - 0x69, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, - 0x68, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x63, 0x76, - 0x74, 0x2e, 0x72, 0x70, 0x2e, 0x66, 0x31, 0x36, 0x2e, 0x75, 0x36, 0x34, 0x20, 0x25, 0x30, 0x2c, - 0x20, 0x25, 0x31, 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x3a, 0x20, 0x22, 0x3d, 0x68, 0x22, 0x28, 0x2a, 0x28, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, - 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, - 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x68, 0x29, - 0x29, 0x29, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, - 0x22, 0x6c, 0x22, 0x28, 0x69, 0x29, 0x29, 0x3b, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, - 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x68, 0x3b, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, - 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x6c, 0x6f, 0x6e, - 0x67, 0x20, 0x6c, 0x6f, 0x6e, 0x67, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, - 0x66, 0x32, 0x6c, 0x6c, 0x5f, 0x72, 0x6e, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, - 0x68, 0x61, 0x6c, 0x66, 0x20, 0x68, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, - 0x6e, 0x67, 0x20, 0x6c, 0x6f, 0x6e, 0x67, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x69, 0x3b, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x63, 0x76, 0x74, 0x2e, 0x72, 0x6e, 0x69, 0x2e, - 0x73, 0x36, 0x34, 0x2e, 0x66, 0x31, 0x36, 0x20, 0x25, 0x30, 0x2c, 0x20, 0x25, 0x31, 0x3b, 0x22, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x6c, 0x22, 0x28, - 0x69, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x68, 0x22, - 0x28, 0x2a, 0x28, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, - 0x61, 0x73, 0x74, 0x3c, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, - 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x68, 0x29, - 0x29, 0x29, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, - 0x20, 0x69, 0x3b, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, - 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x6c, 0x6f, 0x6e, 0x67, 0x20, 0x6c, 0x6f, 0x6e, - 0x67, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x6c, 0x6c, 0x5f, - 0x72, 0x64, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, - 0x68, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x6e, 0x67, 0x20, 0x6c, 0x6f, + 0x69, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x63, 0x76, 0x74, 0x2e, + 0x72, 0x6e, 0x69, 0x2e, 0x75, 0x36, 0x34, 0x2e, 0x66, 0x31, 0x36, 0x20, 0x25, 0x30, 0x2c, 0x20, + 0x25, 0x31, 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, + 0x3d, 0x6c, 0x22, 0x28, 0x69, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, + 0x20, 0x22, 0x68, 0x22, 0x28, 0x2a, 0x28, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, + 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, + 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x2a, 0x3e, 0x28, + 0x26, 0x28, 0x68, 0x29, 0x29, 0x29, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, + 0x74, 0x75, 0x72, 0x6e, 0x20, 0x69, 0x3b, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, + 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x6c, 0x6f, + 0x6e, 0x67, 0x20, 0x6c, 0x6f, 0x6e, 0x67, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, + 0x6c, 0x66, 0x32, 0x75, 0x6c, 0x6c, 0x5f, 0x72, 0x64, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, + 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x68, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x6c, 0x6f, 0x6e, 0x67, 0x20, 0x6c, 0x6f, 0x6e, 0x67, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x69, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, - 0x6d, 0x28, 0x22, 0x63, 0x76, 0x74, 0x2e, 0x72, 0x6d, 0x69, 0x2e, 0x73, 0x36, 0x34, 0x2e, 0x66, + 0x6d, 0x28, 0x22, 0x63, 0x76, 0x74, 0x2e, 0x72, 0x6d, 0x69, 0x2e, 0x75, 0x36, 0x34, 0x2e, 0x66, 0x31, 0x36, 0x20, 0x25, 0x30, 0x2c, 0x20, 0x25, 0x31, 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x6c, 0x22, 0x28, 0x69, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x68, 0x22, 0x28, 0x2a, 0x28, 0x72, 0x65, @@ -2912,13 +2674,81 @@ extern "C" const char luisa_cuda_builtin_cuda_device_half[87792] = { 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x68, 0x29, 0x29, 0x29, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x69, 0x3b, 0x0a, 0x7d, - 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, - 0x6e, 0x65, 0x20, 0x6c, 0x6f, 0x6e, 0x67, 0x20, 0x6c, 0x6f, 0x6e, 0x67, 0x20, 0x69, 0x6e, 0x74, - 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x6c, 0x6c, 0x5f, 0x72, 0x75, 0x28, 0x63, 0x6f, + 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x75, 0x6e, 0x73, 0x69, + 0x67, 0x6e, 0x65, 0x64, 0x20, 0x6c, 0x6f, 0x6e, 0x67, 0x20, 0x6c, 0x6f, 0x6e, 0x67, 0x20, 0x69, + 0x6e, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x75, 0x6c, 0x6c, 0x5f, 0x72, 0x75, + 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x68, 0x29, + 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, + 0x6c, 0x6f, 0x6e, 0x67, 0x20, 0x6c, 0x6f, 0x6e, 0x67, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x69, 0x3b, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x63, 0x76, 0x74, 0x2e, 0x72, 0x70, + 0x69, 0x2e, 0x75, 0x36, 0x34, 0x2e, 0x66, 0x31, 0x36, 0x20, 0x25, 0x30, 0x2c, 0x20, 0x25, 0x31, + 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x6c, + 0x22, 0x28, 0x69, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, + 0x68, 0x22, 0x28, 0x2a, 0x28, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, + 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, + 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, + 0x68, 0x29, 0x29, 0x29, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, + 0x72, 0x6e, 0x20, 0x69, 0x3b, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, + 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x5f, 0x5f, 0x75, 0x6c, 0x6c, 0x32, + 0x68, 0x61, 0x6c, 0x66, 0x5f, 0x72, 0x6e, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, + 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x6c, 0x6f, 0x6e, 0x67, 0x20, 0x6c, 0x6f, 0x6e, 0x67, + 0x20, 0x69, 0x6e, 0x74, 0x20, 0x69, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, + 0x68, 0x61, 0x6c, 0x66, 0x20, 0x68, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x20, 0x61, 0x73, + 0x6d, 0x28, 0x22, 0x63, 0x76, 0x74, 0x2e, 0x72, 0x6e, 0x2e, 0x66, 0x31, 0x36, 0x2e, 0x75, 0x36, + 0x34, 0x20, 0x25, 0x30, 0x2c, 0x20, 0x25, 0x31, 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x68, 0x22, 0x28, 0x2a, 0x28, 0x72, 0x65, + 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x75, + 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x2a, 0x3e, + 0x28, 0x26, 0x28, 0x68, 0x29, 0x29, 0x29, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x6c, 0x22, 0x28, 0x69, 0x29, 0x29, 0x3b, 0x20, 0x7d, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x68, 0x3b, 0x0a, 0x7d, 0x0a, + 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, + 0x66, 0x20, 0x5f, 0x5f, 0x75, 0x6c, 0x6c, 0x32, 0x68, 0x61, 0x6c, 0x66, 0x5f, 0x72, 0x7a, 0x28, + 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x6c, + 0x6f, 0x6e, 0x67, 0x20, 0x6c, 0x6f, 0x6e, 0x67, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x69, 0x29, 0x20, + 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x68, 0x3b, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x7b, 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x63, 0x76, 0x74, 0x2e, 0x72, + 0x7a, 0x2e, 0x66, 0x31, 0x36, 0x2e, 0x75, 0x36, 0x34, 0x20, 0x25, 0x30, 0x2c, 0x20, 0x25, 0x31, + 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, + 0x3d, 0x68, 0x22, 0x28, 0x2a, 0x28, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, + 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, + 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x68, 0x29, 0x29, 0x29, 0x29, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x6c, 0x22, + 0x28, 0x69, 0x29, 0x29, 0x3b, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, + 0x72, 0x6e, 0x20, 0x68, 0x3b, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, + 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x5f, 0x5f, 0x75, 0x6c, 0x6c, 0x32, + 0x68, 0x61, 0x6c, 0x66, 0x5f, 0x72, 0x64, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, + 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x6c, 0x6f, 0x6e, 0x67, 0x20, 0x6c, 0x6f, 0x6e, 0x67, + 0x20, 0x69, 0x6e, 0x74, 0x20, 0x69, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, + 0x68, 0x61, 0x6c, 0x66, 0x20, 0x68, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x20, 0x61, 0x73, + 0x6d, 0x28, 0x22, 0x63, 0x76, 0x74, 0x2e, 0x72, 0x6d, 0x2e, 0x66, 0x31, 0x36, 0x2e, 0x75, 0x36, + 0x34, 0x20, 0x25, 0x30, 0x2c, 0x20, 0x25, 0x31, 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x68, 0x22, 0x28, 0x2a, 0x28, 0x72, 0x65, + 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x75, + 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x2a, 0x3e, + 0x28, 0x26, 0x28, 0x68, 0x29, 0x29, 0x29, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x6c, 0x22, 0x28, 0x69, 0x29, 0x29, 0x3b, 0x20, 0x7d, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x68, 0x3b, 0x0a, 0x7d, 0x0a, + 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, + 0x66, 0x20, 0x5f, 0x5f, 0x75, 0x6c, 0x6c, 0x32, 0x68, 0x61, 0x6c, 0x66, 0x5f, 0x72, 0x75, 0x28, + 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x6c, + 0x6f, 0x6e, 0x67, 0x20, 0x6c, 0x6f, 0x6e, 0x67, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x69, 0x29, 0x20, + 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x68, 0x3b, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x7b, 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x63, 0x76, 0x74, 0x2e, 0x72, + 0x70, 0x2e, 0x66, 0x31, 0x36, 0x2e, 0x75, 0x36, 0x34, 0x20, 0x25, 0x30, 0x2c, 0x20, 0x25, 0x31, + 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, + 0x3d, 0x68, 0x22, 0x28, 0x2a, 0x28, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, + 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, + 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x68, 0x29, 0x29, 0x29, 0x29, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x6c, 0x22, + 0x28, 0x69, 0x29, 0x29, 0x3b, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, + 0x72, 0x6e, 0x20, 0x68, 0x3b, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, + 0x5f, 0x5f, 0x20, 0x6c, 0x6f, 0x6e, 0x67, 0x20, 0x6c, 0x6f, 0x6e, 0x67, 0x20, 0x69, 0x6e, 0x74, + 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x6c, 0x6c, 0x5f, 0x72, 0x6e, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x68, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x6e, 0x67, 0x20, 0x6c, 0x6f, 0x6e, 0x67, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x69, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x63, 0x76, - 0x74, 0x2e, 0x72, 0x70, 0x69, 0x2e, 0x73, 0x36, 0x34, 0x2e, 0x66, 0x31, 0x36, 0x20, 0x25, 0x30, + 0x74, 0x2e, 0x72, 0x6e, 0x69, 0x2e, 0x73, 0x36, 0x34, 0x2e, 0x66, 0x31, 0x36, 0x20, 0x25, 0x30, 0x2c, 0x20, 0x25, 0x31, 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x6c, 0x22, 0x28, 0x69, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x68, 0x22, 0x28, 0x2a, 0x28, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, @@ -2926,52 +2756,51 @@ extern "C" const char luisa_cuda_builtin_cuda_device_half[87792] = { 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x68, 0x29, 0x29, 0x29, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x69, 0x3b, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, - 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, - 0x68, 0x61, 0x6c, 0x66, 0x20, 0x5f, 0x5f, 0x6c, 0x6c, 0x32, 0x68, 0x61, 0x6c, 0x66, 0x5f, 0x72, - 0x6e, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x6c, 0x6f, 0x6e, 0x67, 0x20, 0x6c, 0x6f, 0x6e, - 0x67, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x69, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5f, - 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x68, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x20, 0x61, - 0x73, 0x6d, 0x28, 0x22, 0x63, 0x76, 0x74, 0x2e, 0x72, 0x6e, 0x2e, 0x66, 0x31, 0x36, 0x2e, 0x73, - 0x36, 0x34, 0x20, 0x25, 0x30, 0x2c, 0x20, 0x25, 0x31, 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x68, 0x22, 0x28, 0x2a, 0x28, 0x72, - 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, - 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x2a, - 0x3e, 0x28, 0x26, 0x28, 0x68, 0x29, 0x29, 0x29, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x6c, 0x22, 0x28, 0x69, 0x29, 0x29, 0x3b, 0x20, 0x7d, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x68, 0x3b, 0x0a, 0x7d, - 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, - 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x5f, 0x5f, 0x6c, 0x6c, 0x32, 0x68, - 0x61, 0x6c, 0x66, 0x5f, 0x72, 0x7a, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x6c, 0x6f, 0x6e, - 0x67, 0x20, 0x6c, 0x6f, 0x6e, 0x67, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x69, 0x29, 0x20, 0x7b, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x68, 0x3b, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x7b, 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x63, 0x76, 0x74, 0x2e, 0x72, 0x7a, 0x2e, - 0x66, 0x31, 0x36, 0x2e, 0x73, 0x36, 0x34, 0x20, 0x25, 0x30, 0x2c, 0x20, 0x25, 0x31, 0x3b, 0x22, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x68, - 0x22, 0x28, 0x2a, 0x28, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, - 0x63, 0x61, 0x73, 0x74, 0x3c, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, - 0x6f, 0x72, 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x68, 0x29, 0x29, 0x29, 0x29, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x6c, 0x22, 0x28, 0x69, - 0x29, 0x29, 0x3b, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, - 0x20, 0x68, 0x3b, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, - 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x5f, - 0x5f, 0x6c, 0x6c, 0x32, 0x68, 0x61, 0x6c, 0x66, 0x5f, 0x72, 0x64, 0x28, 0x63, 0x6f, 0x6e, 0x73, - 0x74, 0x20, 0x6c, 0x6f, 0x6e, 0x67, 0x20, 0x6c, 0x6f, 0x6e, 0x67, 0x20, 0x69, 0x6e, 0x74, 0x20, - 0x69, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, - 0x68, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x63, 0x76, - 0x74, 0x2e, 0x72, 0x6d, 0x2e, 0x66, 0x31, 0x36, 0x2e, 0x73, 0x36, 0x34, 0x20, 0x25, 0x30, 0x2c, - 0x20, 0x25, 0x31, 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x3a, 0x20, 0x22, 0x3d, 0x68, 0x22, 0x28, 0x2a, 0x28, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, - 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, - 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x68, 0x29, - 0x29, 0x29, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, - 0x22, 0x6c, 0x22, 0x28, 0x69, 0x29, 0x29, 0x3b, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, - 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x68, 0x3b, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, - 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, - 0x61, 0x6c, 0x66, 0x20, 0x5f, 0x5f, 0x6c, 0x6c, 0x32, 0x68, 0x61, 0x6c, 0x66, 0x5f, 0x72, 0x75, + 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x6c, 0x6f, 0x6e, 0x67, 0x20, 0x6c, 0x6f, 0x6e, 0x67, + 0x20, 0x69, 0x6e, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x6c, 0x6c, 0x5f, 0x72, + 0x64, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x68, + 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x6e, 0x67, 0x20, 0x6c, 0x6f, 0x6e, + 0x67, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x69, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, + 0x28, 0x22, 0x63, 0x76, 0x74, 0x2e, 0x72, 0x6d, 0x69, 0x2e, 0x73, 0x36, 0x34, 0x2e, 0x66, 0x31, + 0x36, 0x20, 0x25, 0x30, 0x2c, 0x20, 0x25, 0x31, 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x6c, 0x22, 0x28, 0x69, 0x29, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x68, 0x22, 0x28, 0x2a, 0x28, 0x72, 0x65, 0x69, + 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x63, 0x6f, + 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, + 0x72, 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x68, 0x29, 0x29, 0x29, 0x29, 0x29, 0x3b, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x69, 0x3b, 0x0a, 0x7d, 0x0a, + 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x6c, 0x6f, 0x6e, 0x67, 0x20, + 0x6c, 0x6f, 0x6e, 0x67, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, + 0x6c, 0x6c, 0x5f, 0x72, 0x75, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, + 0x6c, 0x66, 0x20, 0x68, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x6e, 0x67, + 0x20, 0x6c, 0x6f, 0x6e, 0x67, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x69, 0x3b, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x63, 0x76, 0x74, 0x2e, 0x72, 0x70, 0x69, 0x2e, 0x73, 0x36, + 0x34, 0x2e, 0x66, 0x31, 0x36, 0x20, 0x25, 0x30, 0x2c, 0x20, 0x25, 0x31, 0x3b, 0x22, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x6c, 0x22, 0x28, 0x69, 0x29, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x68, 0x22, 0x28, 0x2a, + 0x28, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, + 0x74, 0x3c, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, + 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x68, 0x29, 0x29, 0x29, + 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x69, + 0x3b, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, + 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x5f, 0x5f, 0x6c, 0x6c, 0x32, 0x68, 0x61, 0x6c, 0x66, 0x5f, + 0x72, 0x6e, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x6c, 0x6f, 0x6e, 0x67, 0x20, 0x6c, 0x6f, + 0x6e, 0x67, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x69, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x68, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x20, + 0x61, 0x73, 0x6d, 0x28, 0x22, 0x63, 0x76, 0x74, 0x2e, 0x72, 0x6e, 0x2e, 0x66, 0x31, 0x36, 0x2e, + 0x73, 0x36, 0x34, 0x20, 0x25, 0x30, 0x2c, 0x20, 0x25, 0x31, 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x68, 0x22, 0x28, 0x2a, 0x28, + 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, + 0x3c, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, + 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x68, 0x29, 0x29, 0x29, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x6c, 0x22, 0x28, 0x69, 0x29, 0x29, 0x3b, 0x20, + 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x68, 0x3b, 0x0a, + 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, + 0x61, 0x6c, 0x66, 0x20, 0x5f, 0x5f, 0x6c, 0x6c, 0x32, 0x68, 0x61, 0x6c, 0x66, 0x5f, 0x72, 0x7a, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x6c, 0x6f, 0x6e, 0x67, 0x20, 0x6c, 0x6f, 0x6e, 0x67, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x69, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x68, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x20, 0x61, 0x73, - 0x6d, 0x28, 0x22, 0x63, 0x76, 0x74, 0x2e, 0x72, 0x70, 0x2e, 0x66, 0x31, 0x36, 0x2e, 0x73, 0x36, + 0x6d, 0x28, 0x22, 0x63, 0x76, 0x74, 0x2e, 0x72, 0x7a, 0x2e, 0x66, 0x31, 0x36, 0x2e, 0x73, 0x36, 0x34, 0x20, 0x25, 0x30, 0x2c, 0x20, 0x25, 0x31, 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x68, 0x22, 0x28, 0x2a, 0x28, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x75, @@ -2979,53 +2808,77 @@ extern "C" const char luisa_cuda_builtin_cuda_device_half[87792] = { 0x28, 0x26, 0x28, 0x68, 0x29, 0x29, 0x29, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x6c, 0x22, 0x28, 0x69, 0x29, 0x29, 0x3b, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x68, 0x3b, 0x0a, 0x7d, 0x0a, - 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, - 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x68, 0x74, 0x72, 0x75, 0x6e, 0x63, 0x28, - 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x68, 0x29, 0x20, - 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x72, 0x3b, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x63, 0x76, 0x74, 0x2e, 0x72, 0x7a, 0x69, - 0x2e, 0x66, 0x31, 0x36, 0x2e, 0x66, 0x31, 0x36, 0x20, 0x25, 0x30, 0x2c, 0x20, 0x25, 0x31, 0x3b, - 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x68, 0x22, - 0x28, 0x2a, 0x28, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, - 0x61, 0x73, 0x74, 0x3c, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, - 0x72, 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x72, 0x29, 0x29, 0x29, 0x29, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x68, 0x22, 0x28, 0x2a, 0x28, 0x72, 0x65, - 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x63, - 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, - 0x6f, 0x72, 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x68, 0x29, 0x29, 0x29, 0x29, 0x29, 0x3b, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x72, 0x3b, 0x0a, 0x7d, - 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, - 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x68, 0x63, 0x65, 0x69, 0x6c, 0x28, - 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x68, 0x29, 0x20, - 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x72, 0x3b, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x63, 0x76, 0x74, 0x2e, 0x72, 0x70, 0x69, - 0x2e, 0x66, 0x31, 0x36, 0x2e, 0x66, 0x31, 0x36, 0x20, 0x25, 0x30, 0x2c, 0x20, 0x25, 0x31, 0x3b, - 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x68, 0x22, + 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, + 0x66, 0x20, 0x5f, 0x5f, 0x6c, 0x6c, 0x32, 0x68, 0x61, 0x6c, 0x66, 0x5f, 0x72, 0x64, 0x28, 0x63, + 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x6c, 0x6f, 0x6e, 0x67, 0x20, 0x6c, 0x6f, 0x6e, 0x67, 0x20, 0x69, + 0x6e, 0x74, 0x20, 0x69, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x68, 0x61, + 0x6c, 0x66, 0x20, 0x68, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x20, 0x61, 0x73, 0x6d, 0x28, + 0x22, 0x63, 0x76, 0x74, 0x2e, 0x72, 0x6d, 0x2e, 0x66, 0x31, 0x36, 0x2e, 0x73, 0x36, 0x34, 0x20, + 0x25, 0x30, 0x2c, 0x20, 0x25, 0x31, 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x68, 0x22, 0x28, 0x2a, 0x28, 0x72, 0x65, 0x69, 0x6e, + 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x75, 0x6e, 0x73, + 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, + 0x28, 0x68, 0x29, 0x29, 0x29, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x3a, 0x20, 0x22, 0x6c, 0x22, 0x28, 0x69, 0x29, 0x29, 0x3b, 0x20, 0x7d, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x68, 0x3b, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, + 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, + 0x5f, 0x5f, 0x6c, 0x6c, 0x32, 0x68, 0x61, 0x6c, 0x66, 0x5f, 0x72, 0x75, 0x28, 0x63, 0x6f, 0x6e, + 0x73, 0x74, 0x20, 0x6c, 0x6f, 0x6e, 0x67, 0x20, 0x6c, 0x6f, 0x6e, 0x67, 0x20, 0x69, 0x6e, 0x74, + 0x20, 0x69, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, + 0x20, 0x68, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x63, + 0x76, 0x74, 0x2e, 0x72, 0x70, 0x2e, 0x66, 0x31, 0x36, 0x2e, 0x73, 0x36, 0x34, 0x20, 0x25, 0x30, + 0x2c, 0x20, 0x25, 0x31, 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x68, 0x22, 0x28, 0x2a, 0x28, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, + 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x75, 0x6e, 0x73, 0x69, 0x67, + 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x68, + 0x29, 0x29, 0x29, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, + 0x20, 0x22, 0x6c, 0x22, 0x28, 0x69, 0x29, 0x29, 0x3b, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x68, 0x3b, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, + 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x68, 0x74, + 0x72, 0x75, 0x6e, 0x63, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, + 0x66, 0x20, 0x68, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, + 0x66, 0x20, 0x72, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x63, 0x76, + 0x74, 0x2e, 0x72, 0x7a, 0x69, 0x2e, 0x66, 0x31, 0x36, 0x2e, 0x66, 0x31, 0x36, 0x20, 0x25, 0x30, + 0x2c, 0x20, 0x25, 0x31, 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, + 0x20, 0x22, 0x3d, 0x68, 0x22, 0x28, 0x2a, 0x28, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, + 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, + 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x72, 0x29, 0x29, + 0x29, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x68, 0x22, 0x28, 0x2a, 0x28, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, - 0x61, 0x73, 0x74, 0x3c, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, - 0x72, 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x72, 0x29, 0x29, 0x29, 0x29, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x68, 0x22, 0x28, 0x2a, 0x28, 0x72, 0x65, - 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x63, - 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, - 0x6f, 0x72, 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x68, 0x29, 0x29, 0x29, 0x29, 0x29, 0x3b, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x72, 0x3b, 0x0a, 0x7d, - 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, - 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x68, 0x66, 0x6c, 0x6f, 0x6f, 0x72, - 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x68, 0x29, - 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x72, 0x3b, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x63, 0x76, 0x74, 0x2e, 0x72, 0x6d, - 0x69, 0x2e, 0x66, 0x31, 0x36, 0x2e, 0x66, 0x31, 0x36, 0x20, 0x25, 0x30, 0x2c, 0x20, 0x25, 0x31, - 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x68, - 0x22, 0x28, 0x2a, 0x28, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, - 0x63, 0x61, 0x73, 0x74, 0x3c, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, - 0x6f, 0x72, 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x72, 0x29, 0x29, 0x29, 0x29, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x68, 0x22, 0x28, 0x2a, 0x28, 0x72, - 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, - 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, - 0x68, 0x6f, 0x72, 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x68, 0x29, 0x29, 0x29, 0x29, 0x29, - 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x72, 0x3b, 0x0a, - 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, - 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x68, 0x72, 0x69, 0x6e, 0x74, + 0x61, 0x73, 0x74, 0x3c, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, + 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x68, 0x29, + 0x29, 0x29, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, + 0x20, 0x72, 0x3b, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, + 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x68, 0x63, 0x65, 0x69, 0x6c, 0x28, 0x63, 0x6f, + 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x68, 0x29, 0x20, 0x7b, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x72, 0x3b, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x63, 0x76, 0x74, 0x2e, 0x72, 0x70, 0x69, 0x2e, 0x66, + 0x31, 0x36, 0x2e, 0x66, 0x31, 0x36, 0x20, 0x25, 0x30, 0x2c, 0x20, 0x25, 0x31, 0x3b, 0x22, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x68, 0x22, 0x28, 0x2a, + 0x28, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, + 0x74, 0x3c, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, + 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x72, 0x29, 0x29, 0x29, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x68, 0x22, 0x28, 0x2a, 0x28, 0x72, 0x65, 0x69, 0x6e, + 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x63, 0x6f, 0x6e, + 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, + 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x68, 0x29, 0x29, 0x29, 0x29, 0x29, 0x3b, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x72, 0x3b, 0x0a, 0x7d, 0x0a, 0x5f, + 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, + 0x20, 0x68, 0x66, 0x6c, 0x6f, 0x6f, 0x72, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, + 0x68, 0x61, 0x6c, 0x66, 0x20, 0x68, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, + 0x68, 0x61, 0x6c, 0x66, 0x20, 0x72, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x28, + 0x22, 0x63, 0x76, 0x74, 0x2e, 0x72, 0x6d, 0x69, 0x2e, 0x66, 0x31, 0x36, 0x2e, 0x66, 0x31, 0x36, + 0x20, 0x25, 0x30, 0x2c, 0x20, 0x25, 0x31, 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x68, 0x22, 0x28, 0x2a, 0x28, 0x72, 0x65, 0x69, 0x6e, 0x74, + 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x75, 0x6e, 0x73, 0x69, + 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, + 0x72, 0x29, 0x29, 0x29, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, + 0x22, 0x68, 0x22, 0x28, 0x2a, 0x28, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, + 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, + 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, + 0x28, 0x68, 0x29, 0x29, 0x29, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, + 0x75, 0x72, 0x6e, 0x20, 0x72, 0x3b, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, + 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x68, 0x72, 0x69, 0x6e, 0x74, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x68, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x72, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x63, 0x76, 0x74, 0x2e, 0x72, 0x6e, @@ -3039,34 +2892,58 @@ extern "C" const char luisa_cuda_builtin_cuda_device_half[87792] = { 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x68, 0x29, 0x29, 0x29, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x72, 0x3b, 0x0a, - 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, - 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x68, 0x32, 0x74, 0x72, - 0x75, 0x6e, 0x63, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, - 0x32, 0x20, 0x68, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, - 0x66, 0x32, 0x20, 0x76, 0x61, 0x6c, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x28, - 0x22, 0x7b, 0x2e, 0x72, 0x65, 0x67, 0x20, 0x2e, 0x66, 0x31, 0x36, 0x20, 0x6c, 0x6f, 0x77, 0x2c, - 0x68, 0x69, 0x67, 0x68, 0x3b, 0x5c, 0x6e, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x22, 0x20, 0x20, 0x6d, 0x6f, 0x76, 0x2e, 0x62, 0x33, 0x32, 0x20, 0x7b, 0x6c, 0x6f, 0x77, - 0x2c, 0x68, 0x69, 0x67, 0x68, 0x7d, 0x2c, 0x20, 0x25, 0x31, 0x3b, 0x5c, 0x6e, 0x22, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x20, 0x20, 0x63, 0x76, 0x74, 0x2e, 0x72, 0x7a, - 0x69, 0x2e, 0x66, 0x31, 0x36, 0x2e, 0x66, 0x31, 0x36, 0x20, 0x6c, 0x6f, 0x77, 0x2c, 0x20, 0x6c, - 0x6f, 0x77, 0x3b, 0x5c, 0x6e, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, - 0x20, 0x20, 0x63, 0x76, 0x74, 0x2e, 0x72, 0x7a, 0x69, 0x2e, 0x66, 0x31, 0x36, 0x2e, 0x66, 0x31, - 0x36, 0x20, 0x68, 0x69, 0x67, 0x68, 0x2c, 0x20, 0x68, 0x69, 0x67, 0x68, 0x3b, 0x5c, 0x6e, 0x22, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x20, 0x20, 0x6d, 0x6f, 0x76, 0x2e, - 0x62, 0x33, 0x32, 0x20, 0x25, 0x30, 0x2c, 0x20, 0x7b, 0x6c, 0x6f, 0x77, 0x2c, 0x68, 0x69, 0x67, - 0x68, 0x7d, 0x3b, 0x7d, 0x5c, 0x6e, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x3a, 0x20, 0x22, 0x3d, 0x72, 0x22, 0x28, 0x2a, 0x28, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, - 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, - 0x65, 0x64, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x76, 0x61, 0x6c, 0x29, - 0x29, 0x29, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x72, - 0x22, 0x28, 0x2a, 0x28, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, - 0x63, 0x61, 0x73, 0x74, 0x3c, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, - 0x6e, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x68, 0x29, 0x29, - 0x29, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, - 0x76, 0x61, 0x6c, 0x3b, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, - 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, - 0x20, 0x68, 0x32, 0x63, 0x65, 0x69, 0x6c, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, + 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, + 0x61, 0x6c, 0x66, 0x32, 0x20, 0x68, 0x32, 0x74, 0x72, 0x75, 0x6e, 0x63, 0x28, 0x63, 0x6f, 0x6e, + 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x68, 0x29, 0x20, 0x7b, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x76, 0x61, 0x6c, 0x3b, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x7b, 0x2e, 0x72, 0x65, 0x67, 0x20, + 0x2e, 0x66, 0x31, 0x36, 0x20, 0x6c, 0x6f, 0x77, 0x2c, 0x68, 0x69, 0x67, 0x68, 0x3b, 0x5c, 0x6e, + 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x20, 0x20, 0x6d, 0x6f, 0x76, + 0x2e, 0x62, 0x33, 0x32, 0x20, 0x7b, 0x6c, 0x6f, 0x77, 0x2c, 0x68, 0x69, 0x67, 0x68, 0x7d, 0x2c, + 0x20, 0x25, 0x31, 0x3b, 0x5c, 0x6e, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x22, 0x20, 0x20, 0x63, 0x76, 0x74, 0x2e, 0x72, 0x7a, 0x69, 0x2e, 0x66, 0x31, 0x36, 0x2e, 0x66, + 0x31, 0x36, 0x20, 0x6c, 0x6f, 0x77, 0x2c, 0x20, 0x6c, 0x6f, 0x77, 0x3b, 0x5c, 0x6e, 0x22, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x20, 0x20, 0x63, 0x76, 0x74, 0x2e, 0x72, + 0x7a, 0x69, 0x2e, 0x66, 0x31, 0x36, 0x2e, 0x66, 0x31, 0x36, 0x20, 0x68, 0x69, 0x67, 0x68, 0x2c, + 0x20, 0x68, 0x69, 0x67, 0x68, 0x3b, 0x5c, 0x6e, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x22, 0x20, 0x20, 0x6d, 0x6f, 0x76, 0x2e, 0x62, 0x33, 0x32, 0x20, 0x25, 0x30, 0x2c, + 0x20, 0x7b, 0x6c, 0x6f, 0x77, 0x2c, 0x68, 0x69, 0x67, 0x68, 0x7d, 0x3b, 0x7d, 0x5c, 0x6e, 0x22, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x72, 0x22, 0x28, + 0x2a, 0x28, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, + 0x73, 0x74, 0x3c, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x74, 0x20, + 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x76, 0x61, 0x6c, 0x29, 0x29, 0x29, 0x29, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x72, 0x22, 0x28, 0x2a, 0x28, 0x72, 0x65, 0x69, + 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x63, 0x6f, + 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x74, + 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x68, 0x29, 0x29, 0x29, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x76, 0x61, 0x6c, 0x3b, 0x0a, 0x7d, 0x0a, + 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, + 0x66, 0x32, 0x20, 0x68, 0x32, 0x63, 0x65, 0x69, 0x6c, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, + 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x68, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x76, 0x61, 0x6c, 0x3b, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x7b, 0x2e, 0x72, 0x65, 0x67, 0x20, 0x2e, 0x66, 0x31, + 0x36, 0x20, 0x6c, 0x6f, 0x77, 0x2c, 0x68, 0x69, 0x67, 0x68, 0x3b, 0x5c, 0x6e, 0x22, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x20, 0x20, 0x6d, 0x6f, 0x76, 0x2e, 0x62, 0x33, + 0x32, 0x20, 0x7b, 0x6c, 0x6f, 0x77, 0x2c, 0x68, 0x69, 0x67, 0x68, 0x7d, 0x2c, 0x20, 0x25, 0x31, + 0x3b, 0x5c, 0x6e, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x20, 0x20, + 0x63, 0x76, 0x74, 0x2e, 0x72, 0x70, 0x69, 0x2e, 0x66, 0x31, 0x36, 0x2e, 0x66, 0x31, 0x36, 0x20, + 0x6c, 0x6f, 0x77, 0x2c, 0x20, 0x6c, 0x6f, 0x77, 0x3b, 0x5c, 0x6e, 0x22, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x20, 0x20, 0x63, 0x76, 0x74, 0x2e, 0x72, 0x70, 0x69, 0x2e, + 0x66, 0x31, 0x36, 0x2e, 0x66, 0x31, 0x36, 0x20, 0x68, 0x69, 0x67, 0x68, 0x2c, 0x20, 0x68, 0x69, + 0x67, 0x68, 0x3b, 0x5c, 0x6e, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, + 0x20, 0x20, 0x6d, 0x6f, 0x76, 0x2e, 0x62, 0x33, 0x32, 0x20, 0x25, 0x30, 0x2c, 0x20, 0x7b, 0x6c, + 0x6f, 0x77, 0x2c, 0x68, 0x69, 0x67, 0x68, 0x7d, 0x3b, 0x7d, 0x5c, 0x6e, 0x22, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x72, 0x22, 0x28, 0x2a, 0x28, 0x72, + 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, + 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x2a, 0x3e, 0x28, + 0x26, 0x28, 0x76, 0x61, 0x6c, 0x29, 0x29, 0x29, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x3a, 0x20, 0x22, 0x72, 0x22, 0x28, 0x2a, 0x28, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, + 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x63, 0x6f, 0x6e, 0x73, 0x74, + 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x2a, 0x3e, + 0x28, 0x26, 0x28, 0x68, 0x29, 0x29, 0x29, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, + 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x76, 0x61, 0x6c, 0x3b, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, + 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, + 0x68, 0x32, 0x66, 0x6c, 0x6f, 0x6f, 0x72, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x68, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x76, 0x61, 0x6c, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x7b, 0x2e, 0x72, 0x65, 0x67, 0x20, 0x2e, 0x66, 0x31, 0x36, 0x20, @@ -3074,9 +2951,9 @@ extern "C" const char luisa_cuda_builtin_cuda_device_half[87792] = { 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x20, 0x20, 0x6d, 0x6f, 0x76, 0x2e, 0x62, 0x33, 0x32, 0x20, 0x7b, 0x6c, 0x6f, 0x77, 0x2c, 0x68, 0x69, 0x67, 0x68, 0x7d, 0x2c, 0x20, 0x25, 0x31, 0x3b, 0x5c, 0x6e, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x20, 0x20, 0x63, 0x76, - 0x74, 0x2e, 0x72, 0x70, 0x69, 0x2e, 0x66, 0x31, 0x36, 0x2e, 0x66, 0x31, 0x36, 0x20, 0x6c, 0x6f, + 0x74, 0x2e, 0x72, 0x6d, 0x69, 0x2e, 0x66, 0x31, 0x36, 0x2e, 0x66, 0x31, 0x36, 0x20, 0x6c, 0x6f, 0x77, 0x2c, 0x20, 0x6c, 0x6f, 0x77, 0x3b, 0x5c, 0x6e, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x22, 0x20, 0x20, 0x63, 0x76, 0x74, 0x2e, 0x72, 0x70, 0x69, 0x2e, 0x66, 0x31, + 0x20, 0x20, 0x20, 0x22, 0x20, 0x20, 0x63, 0x76, 0x74, 0x2e, 0x72, 0x6d, 0x69, 0x2e, 0x66, 0x31, 0x36, 0x2e, 0x66, 0x31, 0x36, 0x20, 0x68, 0x69, 0x67, 0x68, 0x2c, 0x20, 0x68, 0x69, 0x67, 0x68, 0x3b, 0x5c, 0x6e, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x20, 0x20, 0x6d, 0x6f, 0x76, 0x2e, 0x62, 0x33, 0x32, 0x20, 0x25, 0x30, 0x2c, 0x20, 0x7b, 0x6c, 0x6f, 0x77, @@ -3090,186 +2967,76 @@ extern "C" const char luisa_cuda_builtin_cuda_device_half[87792] = { 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x68, 0x29, 0x29, 0x29, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x76, 0x61, 0x6c, 0x3b, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, - 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, - 0x61, 0x6c, 0x66, 0x32, 0x20, 0x68, 0x32, 0x66, 0x6c, 0x6f, 0x6f, 0x72, 0x28, 0x63, 0x6f, 0x6e, - 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x68, 0x29, 0x20, 0x7b, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x76, 0x61, 0x6c, 0x3b, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x7b, 0x2e, 0x72, 0x65, 0x67, 0x20, - 0x2e, 0x66, 0x31, 0x36, 0x20, 0x6c, 0x6f, 0x77, 0x2c, 0x68, 0x69, 0x67, 0x68, 0x3b, 0x5c, 0x6e, - 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x20, 0x20, 0x6d, 0x6f, 0x76, - 0x2e, 0x62, 0x33, 0x32, 0x20, 0x7b, 0x6c, 0x6f, 0x77, 0x2c, 0x68, 0x69, 0x67, 0x68, 0x7d, 0x2c, - 0x20, 0x25, 0x31, 0x3b, 0x5c, 0x6e, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x22, 0x20, 0x20, 0x63, 0x76, 0x74, 0x2e, 0x72, 0x6d, 0x69, 0x2e, 0x66, 0x31, 0x36, 0x2e, 0x66, - 0x31, 0x36, 0x20, 0x6c, 0x6f, 0x77, 0x2c, 0x20, 0x6c, 0x6f, 0x77, 0x3b, 0x5c, 0x6e, 0x22, 0x0a, + 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x68, 0x32, + 0x72, 0x69, 0x6e, 0x74, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, + 0x66, 0x32, 0x20, 0x68, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x68, 0x61, + 0x6c, 0x66, 0x32, 0x20, 0x76, 0x61, 0x6c, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, + 0x28, 0x22, 0x7b, 0x2e, 0x72, 0x65, 0x67, 0x20, 0x2e, 0x66, 0x31, 0x36, 0x20, 0x6c, 0x6f, 0x77, + 0x2c, 0x68, 0x69, 0x67, 0x68, 0x3b, 0x5c, 0x6e, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x22, 0x20, 0x20, 0x6d, 0x6f, 0x76, 0x2e, 0x62, 0x33, 0x32, 0x20, 0x7b, 0x6c, 0x6f, + 0x77, 0x2c, 0x68, 0x69, 0x67, 0x68, 0x7d, 0x2c, 0x20, 0x25, 0x31, 0x3b, 0x5c, 0x6e, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x20, 0x20, 0x63, 0x76, 0x74, 0x2e, 0x72, - 0x6d, 0x69, 0x2e, 0x66, 0x31, 0x36, 0x2e, 0x66, 0x31, 0x36, 0x20, 0x68, 0x69, 0x67, 0x68, 0x2c, - 0x20, 0x68, 0x69, 0x67, 0x68, 0x3b, 0x5c, 0x6e, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x22, 0x20, 0x20, 0x6d, 0x6f, 0x76, 0x2e, 0x62, 0x33, 0x32, 0x20, 0x25, 0x30, 0x2c, - 0x20, 0x7b, 0x6c, 0x6f, 0x77, 0x2c, 0x68, 0x69, 0x67, 0x68, 0x7d, 0x3b, 0x7d, 0x5c, 0x6e, 0x22, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x72, 0x22, 0x28, - 0x2a, 0x28, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, - 0x73, 0x74, 0x3c, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x74, 0x20, - 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x76, 0x61, 0x6c, 0x29, 0x29, 0x29, 0x29, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x72, 0x22, 0x28, 0x2a, 0x28, 0x72, 0x65, 0x69, - 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x63, 0x6f, - 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x74, - 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x68, 0x29, 0x29, 0x29, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x76, 0x61, 0x6c, 0x3b, 0x0a, 0x7d, 0x0a, - 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, - 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x68, 0x32, 0x72, 0x69, 0x6e, 0x74, - 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x68, - 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, - 0x76, 0x61, 0x6c, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x7b, 0x2e, - 0x72, 0x65, 0x67, 0x20, 0x2e, 0x66, 0x31, 0x36, 0x20, 0x6c, 0x6f, 0x77, 0x2c, 0x68, 0x69, 0x67, - 0x68, 0x3b, 0x5c, 0x6e, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x20, - 0x20, 0x6d, 0x6f, 0x76, 0x2e, 0x62, 0x33, 0x32, 0x20, 0x7b, 0x6c, 0x6f, 0x77, 0x2c, 0x68, 0x69, - 0x67, 0x68, 0x7d, 0x2c, 0x20, 0x25, 0x31, 0x3b, 0x5c, 0x6e, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x22, 0x20, 0x20, 0x63, 0x76, 0x74, 0x2e, 0x72, 0x6e, 0x69, 0x2e, 0x66, - 0x31, 0x36, 0x2e, 0x66, 0x31, 0x36, 0x20, 0x6c, 0x6f, 0x77, 0x2c, 0x20, 0x6c, 0x6f, 0x77, 0x3b, - 0x5c, 0x6e, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x20, 0x20, 0x63, - 0x76, 0x74, 0x2e, 0x72, 0x6e, 0x69, 0x2e, 0x66, 0x31, 0x36, 0x2e, 0x66, 0x31, 0x36, 0x20, 0x68, - 0x69, 0x67, 0x68, 0x2c, 0x20, 0x68, 0x69, 0x67, 0x68, 0x3b, 0x5c, 0x6e, 0x22, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x20, 0x20, 0x6d, 0x6f, 0x76, 0x2e, 0x62, 0x33, 0x32, - 0x20, 0x25, 0x30, 0x2c, 0x20, 0x7b, 0x6c, 0x6f, 0x77, 0x2c, 0x68, 0x69, 0x67, 0x68, 0x7d, 0x3b, - 0x7d, 0x5c, 0x6e, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, - 0x3d, 0x72, 0x22, 0x28, 0x2a, 0x28, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, - 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, - 0x69, 0x6e, 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x76, 0x61, 0x6c, 0x29, 0x29, 0x29, 0x29, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x72, 0x22, 0x28, 0x2a, - 0x28, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, - 0x74, 0x3c, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, - 0x20, 0x69, 0x6e, 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x68, 0x29, 0x29, 0x29, 0x29, 0x29, - 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x76, 0x61, 0x6c, - 0x3b, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, - 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x5f, 0x5f, - 0x6c, 0x6f, 0x77, 0x73, 0x32, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, - 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, - 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x62, 0x29, 0x20, 0x7b, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x76, 0x61, 0x6c, 0x3b, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x7b, 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x7b, 0x2e, 0x72, 0x65, 0x67, - 0x20, 0x2e, 0x66, 0x31, 0x36, 0x20, 0x61, 0x6c, 0x6f, 0x77, 0x2c, 0x61, 0x68, 0x69, 0x67, 0x68, - 0x2c, 0x62, 0x6c, 0x6f, 0x77, 0x2c, 0x62, 0x68, 0x69, 0x67, 0x68, 0x3b, 0x5c, 0x6e, 0x22, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x20, 0x20, 0x6d, 0x6f, 0x76, - 0x2e, 0x62, 0x33, 0x32, 0x20, 0x7b, 0x61, 0x6c, 0x6f, 0x77, 0x2c, 0x61, 0x68, 0x69, 0x67, 0x68, - 0x7d, 0x2c, 0x20, 0x25, 0x31, 0x3b, 0x5c, 0x6e, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x22, 0x20, 0x20, 0x6d, 0x6f, 0x76, 0x2e, 0x62, 0x33, 0x32, 0x20, 0x7b, - 0x62, 0x6c, 0x6f, 0x77, 0x2c, 0x62, 0x68, 0x69, 0x67, 0x68, 0x7d, 0x2c, 0x20, 0x25, 0x32, 0x3b, - 0x5c, 0x6e, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x20, - 0x20, 0x6d, 0x6f, 0x76, 0x2e, 0x62, 0x33, 0x32, 0x20, 0x25, 0x30, 0x2c, 0x20, 0x7b, 0x61, 0x6c, - 0x6f, 0x77, 0x2c, 0x62, 0x6c, 0x6f, 0x77, 0x7d, 0x3b, 0x7d, 0x5c, 0x6e, 0x22, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x72, 0x22, 0x28, 0x2a, - 0x28, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, - 0x74, 0x3c, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x2a, - 0x3e, 0x28, 0x26, 0x28, 0x76, 0x61, 0x6c, 0x29, 0x29, 0x29, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x72, 0x22, 0x28, 0x2a, 0x28, 0x72, 0x65, - 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x63, - 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x69, 0x6e, - 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x61, 0x29, 0x29, 0x29, 0x29, 0x2c, 0x20, 0x22, 0x72, - 0x22, 0x28, 0x2a, 0x28, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, - 0x63, 0x61, 0x73, 0x74, 0x3c, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, - 0x6e, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x62, 0x29, 0x29, - 0x29, 0x29, 0x29, 0x3b, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, - 0x6e, 0x20, 0x76, 0x61, 0x6c, 0x3b, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, - 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, - 0x66, 0x32, 0x20, 0x5f, 0x5f, 0x68, 0x69, 0x67, 0x68, 0x73, 0x32, 0x68, 0x61, 0x6c, 0x66, 0x32, - 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x61, - 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, - 0x62, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, - 0x20, 0x76, 0x61, 0x6c, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x20, 0x61, 0x73, 0x6d, 0x28, - 0x22, 0x7b, 0x2e, 0x72, 0x65, 0x67, 0x20, 0x2e, 0x66, 0x31, 0x36, 0x20, 0x61, 0x6c, 0x6f, 0x77, - 0x2c, 0x61, 0x68, 0x69, 0x67, 0x68, 0x2c, 0x62, 0x6c, 0x6f, 0x77, 0x2c, 0x62, 0x68, 0x69, 0x67, - 0x68, 0x3b, 0x5c, 0x6e, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x22, 0x20, 0x20, 0x6d, 0x6f, 0x76, 0x2e, 0x62, 0x33, 0x32, 0x20, 0x7b, 0x61, 0x6c, 0x6f, 0x77, - 0x2c, 0x61, 0x68, 0x69, 0x67, 0x68, 0x7d, 0x2c, 0x20, 0x25, 0x31, 0x3b, 0x5c, 0x6e, 0x22, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x20, 0x20, 0x6d, 0x6f, 0x76, - 0x2e, 0x62, 0x33, 0x32, 0x20, 0x7b, 0x62, 0x6c, 0x6f, 0x77, 0x2c, 0x62, 0x68, 0x69, 0x67, 0x68, - 0x7d, 0x2c, 0x20, 0x25, 0x32, 0x3b, 0x5c, 0x6e, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x22, 0x20, 0x20, 0x6d, 0x6f, 0x76, 0x2e, 0x62, 0x33, 0x32, 0x20, 0x25, - 0x30, 0x2c, 0x20, 0x7b, 0x61, 0x68, 0x69, 0x67, 0x68, 0x2c, 0x62, 0x68, 0x69, 0x67, 0x68, 0x7d, - 0x3b, 0x7d, 0x5c, 0x6e, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x3a, 0x20, 0x22, 0x3d, 0x72, 0x22, 0x28, 0x2a, 0x28, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, - 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, - 0x65, 0x64, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x76, 0x61, 0x6c, 0x29, - 0x29, 0x29, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, - 0x22, 0x72, 0x22, 0x28, 0x2a, 0x28, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, - 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, - 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x61, - 0x29, 0x29, 0x29, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x2a, 0x28, 0x72, 0x65, 0x69, 0x6e, - 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x63, 0x6f, 0x6e, - 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x74, 0x20, - 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x62, 0x29, 0x29, 0x29, 0x29, 0x29, 0x3b, 0x20, 0x7d, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x76, 0x61, 0x6c, 0x3b, 0x0a, 0x7d, - 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, - 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x5f, 0x5f, 0x6c, 0x6f, 0x77, 0x32, - 0x68, 0x61, 0x6c, 0x66, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, - 0x66, 0x32, 0x20, 0x61, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x68, 0x61, - 0x6c, 0x66, 0x20, 0x72, 0x65, 0x74, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x20, 0x61, 0x73, - 0x6d, 0x28, 0x22, 0x7b, 0x2e, 0x72, 0x65, 0x67, 0x20, 0x2e, 0x66, 0x31, 0x36, 0x20, 0x6c, 0x6f, - 0x77, 0x2c, 0x68, 0x69, 0x67, 0x68, 0x3b, 0x5c, 0x6e, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x20, 0x6d, 0x6f, 0x76, 0x2e, 0x62, 0x33, 0x32, 0x20, 0x7b, - 0x6c, 0x6f, 0x77, 0x2c, 0x68, 0x69, 0x67, 0x68, 0x7d, 0x2c, 0x20, 0x25, 0x31, 0x3b, 0x5c, 0x6e, - 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x20, 0x6d, 0x6f, - 0x76, 0x2e, 0x62, 0x31, 0x36, 0x20, 0x25, 0x30, 0x2c, 0x20, 0x6c, 0x6f, 0x77, 0x3b, 0x7d, 0x22, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x68, - 0x22, 0x28, 0x2a, 0x28, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, - 0x63, 0x61, 0x73, 0x74, 0x3c, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, - 0x6f, 0x72, 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x72, 0x65, 0x74, 0x29, 0x29, 0x29, 0x29, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x72, 0x22, - 0x28, 0x2a, 0x28, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, - 0x61, 0x73, 0x74, 0x3c, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, - 0x65, 0x64, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x61, 0x29, 0x29, 0x29, - 0x29, 0x29, 0x3b, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, - 0x20, 0x72, 0x65, 0x74, 0x3b, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, - 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x5f, 0x5f, - 0x68, 0x69, 0x73, 0x69, 0x6e, 0x66, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, - 0x61, 0x6c, 0x66, 0x20, 0x61, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, 0x6e, 0x74, - 0x20, 0x72, 0x65, 0x74, 0x76, 0x61, 0x6c, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, - 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x5f, 0x72, 0x61, 0x77, 0x20, 0x61, 0x72, - 0x61, 0x77, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x5f, 0x72, 0x61, 0x77, 0x28, - 0x61, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x28, 0x61, 0x72, 0x61, 0x77, - 0x2e, 0x78, 0x20, 0x3d, 0x3d, 0x20, 0x30, 0x78, 0x46, 0x43, 0x30, 0x30, 0x55, 0x29, 0x20, 0x7b, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x76, 0x61, 0x6c, 0x20, - 0x3d, 0x20, 0x2d, 0x31, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x20, 0x65, 0x6c, 0x73, 0x65, - 0x20, 0x69, 0x66, 0x20, 0x28, 0x61, 0x72, 0x61, 0x77, 0x2e, 0x78, 0x20, 0x3d, 0x3d, 0x20, 0x30, - 0x78, 0x37, 0x43, 0x30, 0x30, 0x55, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x72, 0x65, 0x74, 0x76, 0x61, 0x6c, 0x20, 0x3d, 0x20, 0x31, 0x3b, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x7d, 0x20, 0x65, 0x6c, 0x73, 0x65, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x76, 0x61, 0x6c, 0x20, 0x3d, 0x20, 0x30, 0x3b, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, - 0x72, 0x65, 0x74, 0x76, 0x61, 0x6c, 0x3b, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, - 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, - 0x6c, 0x66, 0x32, 0x20, 0x5f, 0x5f, 0x6c, 0x6f, 0x77, 0x32, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x28, - 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x61, 0x29, - 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x76, - 0x61, 0x6c, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x7b, - 0x2e, 0x72, 0x65, 0x67, 0x20, 0x2e, 0x66, 0x31, 0x36, 0x20, 0x6c, 0x6f, 0x77, 0x2c, 0x68, 0x69, - 0x67, 0x68, 0x3b, 0x5c, 0x6e, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x22, 0x20, 0x20, 0x6d, 0x6f, 0x76, 0x2e, 0x62, 0x33, 0x32, 0x20, 0x7b, 0x6c, 0x6f, 0x77, - 0x2c, 0x68, 0x69, 0x67, 0x68, 0x7d, 0x2c, 0x20, 0x25, 0x31, 0x3b, 0x5c, 0x6e, 0x22, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x20, 0x20, 0x6d, 0x6f, 0x76, 0x2e, - 0x62, 0x33, 0x32, 0x20, 0x25, 0x30, 0x2c, 0x20, 0x7b, 0x6c, 0x6f, 0x77, 0x2c, 0x6c, 0x6f, 0x77, - 0x7d, 0x3b, 0x7d, 0x5c, 0x6e, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x6e, 0x69, 0x2e, 0x66, 0x31, 0x36, 0x2e, 0x66, 0x31, 0x36, 0x20, 0x6c, 0x6f, 0x77, 0x2c, 0x20, + 0x6c, 0x6f, 0x77, 0x3b, 0x5c, 0x6e, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x22, 0x20, 0x20, 0x63, 0x76, 0x74, 0x2e, 0x72, 0x6e, 0x69, 0x2e, 0x66, 0x31, 0x36, 0x2e, 0x66, + 0x31, 0x36, 0x20, 0x68, 0x69, 0x67, 0x68, 0x2c, 0x20, 0x68, 0x69, 0x67, 0x68, 0x3b, 0x5c, 0x6e, + 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x20, 0x20, 0x6d, 0x6f, 0x76, + 0x2e, 0x62, 0x33, 0x32, 0x20, 0x25, 0x30, 0x2c, 0x20, 0x7b, 0x6c, 0x6f, 0x77, 0x2c, 0x68, 0x69, + 0x67, 0x68, 0x7d, 0x3b, 0x7d, 0x5c, 0x6e, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x72, 0x22, 0x28, 0x2a, 0x28, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x76, 0x61, 0x6c, - 0x29, 0x29, 0x29, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, - 0x20, 0x22, 0x72, 0x22, 0x28, 0x2a, 0x28, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, - 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, - 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, - 0x61, 0x29, 0x29, 0x29, 0x29, 0x29, 0x3b, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, - 0x74, 0x75, 0x72, 0x6e, 0x20, 0x76, 0x61, 0x6c, 0x3b, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, - 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, - 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x5f, 0x5f, 0x68, 0x69, 0x67, 0x68, 0x32, 0x68, 0x61, 0x6c, - 0x66, 0x32, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, - 0x20, 0x61, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, - 0x32, 0x20, 0x76, 0x61, 0x6c, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x20, 0x61, 0x73, 0x6d, - 0x28, 0x22, 0x7b, 0x2e, 0x72, 0x65, 0x67, 0x20, 0x2e, 0x66, 0x31, 0x36, 0x20, 0x6c, 0x6f, 0x77, - 0x2c, 0x68, 0x69, 0x67, 0x68, 0x3b, 0x5c, 0x6e, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x22, 0x20, 0x20, 0x6d, 0x6f, 0x76, 0x2e, 0x62, 0x33, 0x32, 0x20, 0x7b, - 0x6c, 0x6f, 0x77, 0x2c, 0x68, 0x69, 0x67, 0x68, 0x7d, 0x2c, 0x20, 0x25, 0x31, 0x3b, 0x5c, 0x6e, - 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x20, 0x20, 0x6d, - 0x6f, 0x76, 0x2e, 0x62, 0x33, 0x32, 0x20, 0x25, 0x30, 0x2c, 0x20, 0x7b, 0x68, 0x69, 0x67, 0x68, - 0x2c, 0x68, 0x69, 0x67, 0x68, 0x7d, 0x3b, 0x7d, 0x5c, 0x6e, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x29, 0x29, 0x29, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, + 0x72, 0x22, 0x28, 0x2a, 0x28, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, + 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, + 0x67, 0x6e, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x68, 0x29, + 0x29, 0x29, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, + 0x20, 0x76, 0x61, 0x6c, 0x3b, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, + 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x5f, 0x5f, 0x6c, 0x6f, 0x77, + 0x73, 0x32, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, + 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, + 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x62, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x76, 0x61, 0x6c, 0x3b, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x7b, 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x7b, 0x2e, 0x72, 0x65, 0x67, 0x20, 0x2e, 0x66, + 0x31, 0x36, 0x20, 0x61, 0x6c, 0x6f, 0x77, 0x2c, 0x61, 0x68, 0x69, 0x67, 0x68, 0x2c, 0x62, 0x6c, + 0x6f, 0x77, 0x2c, 0x62, 0x68, 0x69, 0x67, 0x68, 0x3b, 0x5c, 0x6e, 0x22, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x20, 0x20, 0x6d, 0x6f, 0x76, 0x2e, 0x62, 0x33, + 0x32, 0x20, 0x7b, 0x61, 0x6c, 0x6f, 0x77, 0x2c, 0x61, 0x68, 0x69, 0x67, 0x68, 0x7d, 0x2c, 0x20, + 0x25, 0x31, 0x3b, 0x5c, 0x6e, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x22, 0x20, 0x20, 0x6d, 0x6f, 0x76, 0x2e, 0x62, 0x33, 0x32, 0x20, 0x7b, 0x62, 0x6c, 0x6f, + 0x77, 0x2c, 0x62, 0x68, 0x69, 0x67, 0x68, 0x7d, 0x2c, 0x20, 0x25, 0x32, 0x3b, 0x5c, 0x6e, 0x22, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x20, 0x20, 0x6d, 0x6f, + 0x76, 0x2e, 0x62, 0x33, 0x32, 0x20, 0x25, 0x30, 0x2c, 0x20, 0x7b, 0x61, 0x6c, 0x6f, 0x77, 0x2c, + 0x62, 0x6c, 0x6f, 0x77, 0x7d, 0x3b, 0x7d, 0x5c, 0x6e, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x72, 0x22, 0x28, 0x2a, 0x28, 0x72, 0x65, + 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x75, + 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, + 0x28, 0x76, 0x61, 0x6c, 0x29, 0x29, 0x29, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x72, 0x22, 0x28, 0x2a, 0x28, 0x72, 0x65, 0x69, 0x6e, 0x74, + 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x63, 0x6f, 0x6e, 0x73, + 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x2a, + 0x3e, 0x28, 0x26, 0x28, 0x61, 0x29, 0x29, 0x29, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x2a, + 0x28, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, + 0x74, 0x3c, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, + 0x20, 0x69, 0x6e, 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x62, 0x29, 0x29, 0x29, 0x29, 0x29, + 0x3b, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x76, + 0x61, 0x6c, 0x3b, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, + 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x5f, 0x5f, 0x68, 0x69, 0x67, 0x68, 0x73, + 0x32, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, + 0x61, 0x6c, 0x66, 0x32, 0x20, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, + 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x62, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5f, + 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x76, 0x61, 0x6c, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x7b, 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x7b, 0x2e, 0x72, 0x65, 0x67, 0x20, 0x2e, 0x66, 0x31, + 0x36, 0x20, 0x61, 0x6c, 0x6f, 0x77, 0x2c, 0x61, 0x68, 0x69, 0x67, 0x68, 0x2c, 0x62, 0x6c, 0x6f, + 0x77, 0x2c, 0x62, 0x68, 0x69, 0x67, 0x68, 0x3b, 0x5c, 0x6e, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x20, 0x20, 0x6d, 0x6f, 0x76, 0x2e, 0x62, 0x33, 0x32, + 0x20, 0x7b, 0x61, 0x6c, 0x6f, 0x77, 0x2c, 0x61, 0x68, 0x69, 0x67, 0x68, 0x7d, 0x2c, 0x20, 0x25, + 0x31, 0x3b, 0x5c, 0x6e, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x22, 0x20, 0x20, 0x6d, 0x6f, 0x76, 0x2e, 0x62, 0x33, 0x32, 0x20, 0x7b, 0x62, 0x6c, 0x6f, 0x77, + 0x2c, 0x62, 0x68, 0x69, 0x67, 0x68, 0x7d, 0x2c, 0x20, 0x25, 0x32, 0x3b, 0x5c, 0x6e, 0x22, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x20, 0x20, 0x6d, 0x6f, 0x76, + 0x2e, 0x62, 0x33, 0x32, 0x20, 0x25, 0x30, 0x2c, 0x20, 0x7b, 0x61, 0x68, 0x69, 0x67, 0x68, 0x2c, + 0x62, 0x68, 0x69, 0x67, 0x68, 0x7d, 0x3b, 0x7d, 0x5c, 0x6e, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x72, 0x22, 0x28, 0x2a, 0x28, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x2a, 0x3e, 0x28, @@ -3277,78 +3044,59 @@ extern "C" const char luisa_cuda_builtin_cuda_device_half[87792] = { 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x72, 0x22, 0x28, 0x2a, 0x28, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x74, 0x20, - 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x61, 0x29, 0x29, 0x29, 0x29, 0x29, 0x3b, 0x20, 0x7d, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x76, 0x61, 0x6c, 0x3b, 0x0a, 0x7d, - 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, - 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x5f, 0x5f, 0x68, 0x69, 0x67, 0x68, - 0x32, 0x68, 0x61, 0x6c, 0x66, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, - 0x6c, 0x66, 0x32, 0x20, 0x61, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x68, - 0x61, 0x6c, 0x66, 0x20, 0x72, 0x65, 0x74, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x20, 0x61, - 0x73, 0x6d, 0x28, 0x22, 0x7b, 0x2e, 0x72, 0x65, 0x67, 0x20, 0x2e, 0x66, 0x31, 0x36, 0x20, 0x6c, - 0x6f, 0x77, 0x2c, 0x68, 0x69, 0x67, 0x68, 0x3b, 0x5c, 0x6e, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x20, 0x6d, 0x6f, 0x76, 0x2e, 0x62, 0x33, 0x32, 0x20, - 0x7b, 0x6c, 0x6f, 0x77, 0x2c, 0x68, 0x69, 0x67, 0x68, 0x7d, 0x2c, 0x20, 0x25, 0x31, 0x3b, 0x5c, - 0x6e, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x20, 0x6d, - 0x6f, 0x76, 0x2e, 0x62, 0x31, 0x36, 0x20, 0x25, 0x30, 0x2c, 0x20, 0x68, 0x69, 0x67, 0x68, 0x3b, - 0x7d, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, - 0x3d, 0x68, 0x22, 0x28, 0x2a, 0x28, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, - 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, - 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x72, 0x65, 0x74, 0x29, 0x29, - 0x29, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, - 0x72, 0x22, 0x28, 0x2a, 0x28, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, - 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, - 0x67, 0x6e, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x61, 0x29, - 0x29, 0x29, 0x29, 0x29, 0x3b, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, - 0x72, 0x6e, 0x20, 0x72, 0x65, 0x74, 0x3b, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, - 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, - 0x6c, 0x66, 0x32, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x76, 0x65, 0x73, 0x32, 0x68, 0x61, 0x6c, - 0x66, 0x32, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, - 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, - 0x62, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, - 0x20, 0x76, 0x61, 0x6c, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x20, 0x61, 0x73, 0x6d, 0x28, - 0x22, 0x7b, 0x20, 0x20, 0x6d, 0x6f, 0x76, 0x2e, 0x62, 0x33, 0x32, 0x20, 0x25, 0x30, 0x2c, 0x20, - 0x7b, 0x25, 0x31, 0x2c, 0x25, 0x32, 0x7d, 0x3b, 0x7d, 0x5c, 0x6e, 0x22, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x72, 0x22, 0x28, 0x2a, 0x28, - 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, - 0x3c, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x2a, 0x3e, - 0x28, 0x26, 0x28, 0x76, 0x61, 0x6c, 0x29, 0x29, 0x29, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x68, 0x22, 0x28, 0x2a, 0x28, 0x72, 0x65, 0x69, - 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x63, 0x6f, - 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, - 0x72, 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x61, 0x29, 0x29, 0x29, 0x29, 0x2c, 0x20, 0x22, - 0x68, 0x22, 0x28, 0x2a, 0x28, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, - 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, - 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, - 0x62, 0x29, 0x29, 0x29, 0x29, 0x29, 0x3b, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, - 0x74, 0x75, 0x72, 0x6e, 0x20, 0x76, 0x61, 0x6c, 0x3b, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, - 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, - 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x68, 0x61, 0x6c, - 0x66, 0x32, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, - 0x61, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, - 0x20, 0x76, 0x61, 0x6c, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x20, 0x61, 0x73, 0x6d, 0x28, - 0x22, 0x7b, 0x20, 0x20, 0x6d, 0x6f, 0x76, 0x2e, 0x62, 0x33, 0x32, 0x20, 0x25, 0x30, 0x2c, 0x20, - 0x7b, 0x25, 0x31, 0x2c, 0x25, 0x31, 0x7d, 0x3b, 0x7d, 0x5c, 0x6e, 0x22, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x72, 0x22, 0x28, 0x2a, 0x28, - 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, - 0x3c, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x2a, 0x3e, - 0x28, 0x26, 0x28, 0x76, 0x61, 0x6c, 0x29, 0x29, 0x29, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x68, 0x22, 0x28, 0x2a, 0x28, 0x72, 0x65, 0x69, - 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x63, 0x6f, - 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, - 0x72, 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x61, 0x29, 0x29, 0x29, 0x29, 0x29, 0x3b, 0x20, - 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x76, 0x61, 0x6c, - 0x3b, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, - 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x5f, 0x5f, - 0x6c, 0x6f, 0x77, 0x68, 0x69, 0x67, 0x68, 0x32, 0x68, 0x69, 0x67, 0x68, 0x6c, 0x6f, 0x77, 0x28, - 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x61, 0x29, - 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x76, - 0x61, 0x6c, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x7b, - 0x2e, 0x72, 0x65, 0x67, 0x20, 0x2e, 0x66, 0x31, 0x36, 0x20, 0x6c, 0x6f, 0x77, 0x2c, 0x68, 0x69, - 0x67, 0x68, 0x3b, 0x5c, 0x6e, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x22, 0x20, 0x20, 0x6d, 0x6f, 0x76, 0x2e, 0x62, 0x33, 0x32, 0x20, 0x7b, 0x6c, 0x6f, 0x77, - 0x2c, 0x68, 0x69, 0x67, 0x68, 0x7d, 0x2c, 0x20, 0x25, 0x31, 0x3b, 0x5c, 0x6e, 0x22, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x20, 0x20, 0x6d, 0x6f, 0x76, 0x2e, - 0x62, 0x33, 0x32, 0x20, 0x25, 0x30, 0x2c, 0x20, 0x7b, 0x68, 0x69, 0x67, 0x68, 0x2c, 0x6c, 0x6f, + 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x61, 0x29, 0x29, 0x29, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, + 0x2a, 0x28, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, + 0x73, 0x74, 0x3c, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, + 0x64, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x62, 0x29, 0x29, 0x29, 0x29, + 0x29, 0x3b, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, + 0x76, 0x61, 0x6c, 0x3b, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, + 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x5f, 0x5f, 0x6c, 0x6f, 0x77, 0x32, 0x68, + 0x61, 0x6c, 0x66, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, + 0x32, 0x20, 0x61, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, + 0x66, 0x20, 0x72, 0x65, 0x74, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x20, 0x61, 0x73, 0x6d, + 0x28, 0x22, 0x7b, 0x2e, 0x72, 0x65, 0x67, 0x20, 0x2e, 0x66, 0x31, 0x36, 0x20, 0x6c, 0x6f, 0x77, + 0x2c, 0x68, 0x69, 0x67, 0x68, 0x3b, 0x5c, 0x6e, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x22, 0x20, 0x6d, 0x6f, 0x76, 0x2e, 0x62, 0x33, 0x32, 0x20, 0x7b, 0x6c, + 0x6f, 0x77, 0x2c, 0x68, 0x69, 0x67, 0x68, 0x7d, 0x2c, 0x20, 0x25, 0x31, 0x3b, 0x5c, 0x6e, 0x22, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x20, 0x6d, 0x6f, 0x76, + 0x2e, 0x62, 0x31, 0x36, 0x20, 0x25, 0x30, 0x2c, 0x20, 0x6c, 0x6f, 0x77, 0x3b, 0x7d, 0x22, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x68, 0x22, + 0x28, 0x2a, 0x28, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, + 0x61, 0x73, 0x74, 0x3c, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, + 0x72, 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x72, 0x65, 0x74, 0x29, 0x29, 0x29, 0x29, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x72, 0x22, 0x28, + 0x2a, 0x28, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, + 0x73, 0x74, 0x3c, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, + 0x64, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x61, 0x29, 0x29, 0x29, 0x29, + 0x29, 0x3b, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, + 0x72, 0x65, 0x74, 0x3b, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, + 0x5f, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x69, 0x73, 0x69, 0x6e, 0x66, 0x28, 0x63, + 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x61, 0x29, 0x20, 0x7b, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x72, 0x65, 0x74, 0x76, 0x61, 0x6c, 0x3b, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, + 0x66, 0x5f, 0x72, 0x61, 0x77, 0x20, 0x61, 0x72, 0x61, 0x77, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x68, + 0x61, 0x6c, 0x66, 0x5f, 0x72, 0x61, 0x77, 0x28, 0x61, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x69, 0x66, 0x20, 0x28, 0x61, 0x72, 0x61, 0x77, 0x2e, 0x78, 0x20, 0x3d, 0x3d, 0x20, 0x30, 0x78, + 0x46, 0x43, 0x30, 0x30, 0x55, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x72, 0x65, 0x74, 0x76, 0x61, 0x6c, 0x20, 0x3d, 0x20, 0x2d, 0x31, 0x3b, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x7d, 0x20, 0x65, 0x6c, 0x73, 0x65, 0x20, 0x69, 0x66, 0x20, 0x28, 0x61, 0x72, 0x61, + 0x77, 0x2e, 0x78, 0x20, 0x3d, 0x3d, 0x20, 0x30, 0x78, 0x37, 0x43, 0x30, 0x30, 0x55, 0x29, 0x20, + 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x76, 0x61, 0x6c, + 0x20, 0x3d, 0x20, 0x31, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x20, 0x65, 0x6c, 0x73, 0x65, + 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x76, 0x61, + 0x6c, 0x20, 0x3d, 0x20, 0x30, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x72, 0x65, 0x74, 0x76, 0x61, 0x6c, 0x3b, 0x0a, + 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, + 0x61, 0x6c, 0x66, 0x32, 0x20, 0x5f, 0x5f, 0x6c, 0x6f, 0x77, 0x32, 0x68, 0x61, 0x6c, 0x66, 0x32, + 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x61, + 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, + 0x76, 0x61, 0x6c, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, + 0x7b, 0x2e, 0x72, 0x65, 0x67, 0x20, 0x2e, 0x66, 0x31, 0x36, 0x20, 0x6c, 0x6f, 0x77, 0x2c, 0x68, + 0x69, 0x67, 0x68, 0x3b, 0x5c, 0x6e, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x22, 0x20, 0x20, 0x6d, 0x6f, 0x76, 0x2e, 0x62, 0x33, 0x32, 0x20, 0x7b, 0x6c, 0x6f, + 0x77, 0x2c, 0x68, 0x69, 0x67, 0x68, 0x7d, 0x2c, 0x20, 0x25, 0x31, 0x3b, 0x5c, 0x6e, 0x22, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x20, 0x20, 0x6d, 0x6f, 0x76, + 0x2e, 0x62, 0x33, 0x32, 0x20, 0x25, 0x30, 0x2c, 0x20, 0x7b, 0x6c, 0x6f, 0x77, 0x2c, 0x6c, 0x6f, 0x77, 0x7d, 0x3b, 0x7d, 0x5c, 0x6e, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x72, 0x22, 0x28, 0x2a, 0x28, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x75, 0x6e, 0x73, 0x69, @@ -3359,17 +3107,115 @@ extern "C" const char luisa_cuda_builtin_cuda_device_half[87792] = { 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x61, 0x29, 0x29, 0x29, 0x29, 0x29, 0x3b, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x76, 0x61, 0x6c, 0x3b, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, - 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x73, - 0x68, 0x6f, 0x72, 0x74, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x5f, - 0x61, 0x73, 0x5f, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, - 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x68, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7b, - 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x5f, 0x63, - 0x61, 0x73, 0x74, 0x3c, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x69, 0x6e, 0x74, 0x3e, 0x28, 0x2a, + 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, + 0x5f, 0x5f, 0x68, 0x69, 0x67, 0x68, 0x32, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x28, 0x63, 0x6f, 0x6e, + 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x61, 0x29, 0x20, 0x7b, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x76, 0x61, 0x6c, 0x3b, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x7b, 0x2e, 0x72, 0x65, + 0x67, 0x20, 0x2e, 0x66, 0x31, 0x36, 0x20, 0x6c, 0x6f, 0x77, 0x2c, 0x68, 0x69, 0x67, 0x68, 0x3b, + 0x5c, 0x6e, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x20, + 0x20, 0x6d, 0x6f, 0x76, 0x2e, 0x62, 0x33, 0x32, 0x20, 0x7b, 0x6c, 0x6f, 0x77, 0x2c, 0x68, 0x69, + 0x67, 0x68, 0x7d, 0x2c, 0x20, 0x25, 0x31, 0x3b, 0x5c, 0x6e, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x20, 0x20, 0x6d, 0x6f, 0x76, 0x2e, 0x62, 0x33, 0x32, + 0x20, 0x25, 0x30, 0x2c, 0x20, 0x7b, 0x68, 0x69, 0x67, 0x68, 0x2c, 0x68, 0x69, 0x67, 0x68, 0x7d, + 0x3b, 0x7d, 0x5c, 0x6e, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x3a, 0x20, 0x22, 0x3d, 0x72, 0x22, 0x28, 0x2a, 0x28, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, + 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, + 0x65, 0x64, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x76, 0x61, 0x6c, 0x29, + 0x29, 0x29, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, + 0x22, 0x72, 0x22, 0x28, 0x2a, 0x28, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, + 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, + 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x61, + 0x29, 0x29, 0x29, 0x29, 0x29, 0x3b, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, + 0x75, 0x72, 0x6e, 0x20, 0x76, 0x61, 0x6c, 0x3b, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, + 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x5f, 0x5f, 0x68, + 0x69, 0x67, 0x68, 0x32, 0x68, 0x61, 0x6c, 0x66, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, + 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x61, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x72, 0x65, 0x74, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x7b, 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x7b, 0x2e, 0x72, 0x65, 0x67, 0x20, 0x2e, 0x66, 0x31, + 0x36, 0x20, 0x6c, 0x6f, 0x77, 0x2c, 0x68, 0x69, 0x67, 0x68, 0x3b, 0x5c, 0x6e, 0x22, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x20, 0x6d, 0x6f, 0x76, 0x2e, 0x62, + 0x33, 0x32, 0x20, 0x7b, 0x6c, 0x6f, 0x77, 0x2c, 0x68, 0x69, 0x67, 0x68, 0x7d, 0x2c, 0x20, 0x25, + 0x31, 0x3b, 0x5c, 0x6e, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x22, 0x20, 0x6d, 0x6f, 0x76, 0x2e, 0x62, 0x31, 0x36, 0x20, 0x25, 0x30, 0x2c, 0x20, 0x68, 0x69, + 0x67, 0x68, 0x3b, 0x7d, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x3a, 0x20, 0x22, 0x3d, 0x68, 0x22, 0x28, 0x2a, 0x28, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, + 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, + 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x72, 0x65, + 0x74, 0x29, 0x29, 0x29, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x3a, 0x20, 0x22, 0x72, 0x22, 0x28, 0x2a, 0x28, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, + 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, + 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, + 0x28, 0x61, 0x29, 0x29, 0x29, 0x29, 0x29, 0x3b, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, + 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x72, 0x65, 0x74, 0x3b, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, + 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, + 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x76, 0x65, 0x73, 0x32, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x28, 0x63, + 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x61, 0x2c, 0x20, 0x63, + 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x62, 0x29, 0x20, 0x7b, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x76, 0x61, 0x6c, + 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x7b, 0x20, 0x20, + 0x6d, 0x6f, 0x76, 0x2e, 0x62, 0x33, 0x32, 0x20, 0x25, 0x30, 0x2c, 0x20, 0x7b, 0x25, 0x31, 0x2c, + 0x25, 0x32, 0x7d, 0x3b, 0x7d, 0x5c, 0x6e, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x72, 0x22, 0x28, 0x2a, 0x28, 0x72, 0x65, 0x69, 0x6e, + 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x75, 0x6e, 0x73, + 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x76, + 0x61, 0x6c, 0x29, 0x29, 0x29, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x3a, 0x20, 0x22, 0x68, 0x22, 0x28, 0x2a, 0x28, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, + 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, + 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x2a, + 0x3e, 0x28, 0x26, 0x28, 0x61, 0x29, 0x29, 0x29, 0x29, 0x2c, 0x20, 0x22, 0x68, 0x22, 0x28, 0x2a, 0x28, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, - 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x68, 0x29, 0x29, 0x29, - 0x29, 0x3b, 0x20, 0x7d, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, - 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, + 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x62, 0x29, 0x29, 0x29, + 0x29, 0x29, 0x3b, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, + 0x20, 0x76, 0x61, 0x6c, 0x3b, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, + 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, + 0x66, 0x32, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, + 0x68, 0x61, 0x6c, 0x66, 0x20, 0x61, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, + 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x76, 0x61, 0x6c, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7b, + 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x7b, 0x20, 0x20, 0x6d, 0x6f, 0x76, 0x2e, 0x62, 0x33, 0x32, + 0x20, 0x25, 0x30, 0x2c, 0x20, 0x7b, 0x25, 0x31, 0x2c, 0x25, 0x31, 0x7d, 0x3b, 0x7d, 0x5c, 0x6e, + 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, + 0x72, 0x22, 0x28, 0x2a, 0x28, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, + 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x69, + 0x6e, 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x76, 0x61, 0x6c, 0x29, 0x29, 0x29, 0x29, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x68, 0x22, 0x28, + 0x2a, 0x28, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, + 0x73, 0x74, 0x3c, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, + 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x61, 0x29, 0x29, + 0x29, 0x29, 0x29, 0x3b, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, + 0x6e, 0x20, 0x76, 0x61, 0x6c, 0x3b, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, + 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x5f, 0x5f, 0x6c, 0x6f, + 0x77, 0x68, 0x69, 0x67, 0x68, 0x32, 0x68, 0x69, 0x67, 0x68, 0x6c, 0x6f, 0x77, 0x28, 0x63, 0x6f, + 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x61, 0x29, 0x20, 0x7b, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x76, 0x61, 0x6c, + 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x7b, 0x2e, 0x72, + 0x65, 0x67, 0x20, 0x2e, 0x66, 0x31, 0x36, 0x20, 0x6c, 0x6f, 0x77, 0x2c, 0x68, 0x69, 0x67, 0x68, + 0x3b, 0x5c, 0x6e, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, + 0x20, 0x20, 0x6d, 0x6f, 0x76, 0x2e, 0x62, 0x33, 0x32, 0x20, 0x7b, 0x6c, 0x6f, 0x77, 0x2c, 0x68, + 0x69, 0x67, 0x68, 0x7d, 0x2c, 0x20, 0x25, 0x31, 0x3b, 0x5c, 0x6e, 0x22, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x20, 0x20, 0x6d, 0x6f, 0x76, 0x2e, 0x62, 0x33, + 0x32, 0x20, 0x25, 0x30, 0x2c, 0x20, 0x7b, 0x68, 0x69, 0x67, 0x68, 0x2c, 0x6c, 0x6f, 0x77, 0x7d, + 0x3b, 0x7d, 0x5c, 0x6e, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x3a, 0x20, 0x22, 0x3d, 0x72, 0x22, 0x28, 0x2a, 0x28, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, + 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, + 0x65, 0x64, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x76, 0x61, 0x6c, 0x29, + 0x29, 0x29, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, + 0x22, 0x72, 0x22, 0x28, 0x2a, 0x28, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, + 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, + 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x61, + 0x29, 0x29, 0x29, 0x29, 0x29, 0x3b, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, + 0x75, 0x72, 0x6e, 0x20, 0x76, 0x61, 0x6c, 0x3b, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, + 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x69, 0x6e, 0x74, 0x20, + 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x5f, 0x61, 0x73, 0x5f, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x28, + 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x68, 0x29, 0x20, + 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x73, + 0x74, 0x61, 0x74, 0x69, 0x63, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x73, 0x68, 0x6f, 0x72, 0x74, + 0x20, 0x69, 0x6e, 0x74, 0x3e, 0x28, 0x2a, 0x28, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, + 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, + 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x2a, 0x3e, + 0x28, 0x26, 0x28, 0x68, 0x29, 0x29, 0x29, 0x29, 0x3b, 0x20, 0x7d, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, + 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x5f, 0x61, 0x73, 0x5f, 0x75, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x68, 0x29, 0x20, 0x7b, 0x0a, 0x20, @@ -3377,325 +3223,359 @@ extern "C" const char luisa_cuda_builtin_cuda_device_half[87792] = { 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x68, 0x29, 0x29, 0x29, 0x3b, 0x20, 0x7d, - 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, - 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x5f, 0x5f, 0x73, 0x68, - 0x6f, 0x72, 0x74, 0x5f, 0x61, 0x73, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x28, 0x63, 0x6f, 0x6e, 0x73, - 0x74, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x69, 0x29, 0x20, 0x7b, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5f, - 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x68, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x2a, 0x28, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, + 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, + 0x68, 0x61, 0x6c, 0x66, 0x20, 0x5f, 0x5f, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x5f, 0x61, 0x73, 0x5f, + 0x68, 0x61, 0x6c, 0x66, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, + 0x20, 0x69, 0x6e, 0x74, 0x20, 0x69, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x68, + 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x2a, 0x28, 0x72, 0x65, 0x69, 0x6e, + 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x75, 0x6e, 0x73, + 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, + 0x28, 0x68, 0x29, 0x29, 0x29, 0x20, 0x3d, 0x20, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, - 0x72, 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x68, 0x29, 0x29, 0x29, 0x20, 0x3d, 0x20, 0x73, - 0x74, 0x61, 0x74, 0x69, 0x63, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x75, 0x6e, 0x73, 0x69, 0x67, - 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x69, 0x6e, 0x74, 0x3e, 0x28, 0x69, - 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, - 0x6e, 0x20, 0x68, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, - 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, - 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x5f, 0x5f, 0x75, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x5f, 0x61, - 0x73, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, - 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x69, 0x6e, 0x74, 0x20, - 0x69, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x68, 0x3b, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x2a, 0x28, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, - 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, - 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x68, 0x29, 0x29, 0x29, - 0x20, 0x3d, 0x20, 0x69, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, - 0x74, 0x75, 0x72, 0x6e, 0x20, 0x68, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x7d, 0x0a, - 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, - 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x5f, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, - 0x6e, 0x61, 0x6c, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x68, 0x6d, 0x61, 0x78, 0x28, - 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x61, 0x2c, 0x20, - 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x62, 0x29, 0x20, - 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x66, 0x61, 0x20, 0x3d, - 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x28, 0x61, 0x29, - 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, - 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x66, 0x62, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, - 0x66, 0x32, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x28, 0x62, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x66, 0x72, 0x3b, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x7b, 0x6d, 0x61, 0x78, 0x2e, - 0x66, 0x33, 0x32, 0x20, 0x25, 0x30, 0x2c, 0x25, 0x31, 0x2c, 0x25, 0x32, 0x3b, 0x5c, 0x6e, 0x7d, - 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, - 0x22, 0x3d, 0x66, 0x22, 0x28, 0x66, 0x72, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x66, 0x22, 0x28, 0x66, 0x61, 0x29, 0x2c, 0x20, - 0x22, 0x66, 0x22, 0x28, 0x66, 0x62, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x68, - 0x72, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x32, 0x68, 0x61, 0x6c, 0x66, - 0x28, 0x66, 0x72, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, - 0x74, 0x75, 0x72, 0x6e, 0x20, 0x68, 0x72, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x7d, - 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, - 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x5f, 0x5f, 0x69, 0x6e, 0x74, 0x65, - 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x68, 0x6d, 0x69, 0x6e, - 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x61, 0x2c, - 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x62, 0x29, - 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x66, 0x61, 0x20, - 0x3d, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x28, 0x61, - 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, - 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x66, 0x62, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x68, 0x61, - 0x6c, 0x66, 0x32, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x28, 0x62, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x66, 0x72, 0x3b, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x7b, 0x6d, 0x69, 0x6e, - 0x2e, 0x66, 0x33, 0x32, 0x20, 0x25, 0x30, 0x2c, 0x25, 0x31, 0x2c, 0x25, 0x32, 0x3b, 0x5c, 0x6e, - 0x7d, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, - 0x20, 0x22, 0x3d, 0x66, 0x22, 0x28, 0x66, 0x72, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x66, 0x22, 0x28, 0x66, 0x61, 0x29, 0x2c, - 0x20, 0x22, 0x66, 0x22, 0x28, 0x66, 0x62, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, - 0x68, 0x72, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x32, 0x68, 0x61, 0x6c, - 0x66, 0x28, 0x66, 0x72, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, - 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x68, 0x72, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, - 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, - 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x5f, 0x5f, 0x68, 0x6d, 0x61, - 0x78, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x61, - 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x62, - 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, - 0x20, 0x5f, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x64, 0x65, 0x76, 0x69, - 0x63, 0x65, 0x5f, 0x68, 0x6d, 0x61, 0x78, 0x28, 0x61, 0x2c, 0x20, 0x62, 0x29, 0x3b, 0x20, 0x7d, - 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, - 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x5f, 0x5f, 0x68, 0x6d, - 0x69, 0x6e, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, - 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, - 0x62, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, - 0x6e, 0x20, 0x5f, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x64, 0x65, 0x76, - 0x69, 0x63, 0x65, 0x5f, 0x68, 0x6d, 0x69, 0x6e, 0x28, 0x61, 0x2c, 0x20, 0x62, 0x29, 0x3b, 0x20, - 0x7d, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, - 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x5f, 0x5f, - 0x68, 0x6d, 0x61, 0x78, 0x32, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, - 0x6c, 0x66, 0x32, 0x20, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, - 0x61, 0x6c, 0x66, 0x32, 0x20, 0x62, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, - 0x76, 0x61, 0x6c, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, 0x61, 0x6c, - 0x2e, 0x78, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x68, 0x6d, 0x61, 0x78, 0x28, 0x61, 0x2e, 0x78, 0x2c, - 0x20, 0x62, 0x2e, 0x78, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, - 0x61, 0x6c, 0x2e, 0x79, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x68, 0x6d, 0x61, 0x78, 0x28, 0x61, 0x2e, - 0x79, 0x2c, 0x20, 0x62, 0x2e, 0x79, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x76, 0x61, 0x6c, 0x3b, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x7d, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, - 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x5f, - 0x5f, 0x68, 0x6d, 0x69, 0x6e, 0x32, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, - 0x61, 0x6c, 0x66, 0x32, 0x20, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, - 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x62, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7b, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, - 0x20, 0x76, 0x61, 0x6c, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, 0x61, - 0x6c, 0x2e, 0x78, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x68, 0x6d, 0x69, 0x6e, 0x28, 0x61, 0x2e, 0x78, - 0x2c, 0x20, 0x62, 0x2e, 0x78, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x76, 0x61, 0x6c, 0x2e, 0x79, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x68, 0x6d, 0x69, 0x6e, 0x28, 0x61, - 0x2e, 0x79, 0x2c, 0x20, 0x62, 0x2e, 0x79, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x76, 0x61, 0x6c, 0x3b, 0x0a, 0x20, 0x20, + 0x72, 0x74, 0x20, 0x69, 0x6e, 0x74, 0x3e, 0x28, 0x69, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x68, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, - 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, - 0x5f, 0x5f, 0x73, 0x68, 0x66, 0x6c, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, - 0x61, 0x6c, 0x66, 0x32, 0x20, 0x76, 0x61, 0x72, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, - 0x69, 0x6e, 0x74, 0x20, 0x64, 0x65, 0x6c, 0x74, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, - 0x20, 0x69, 0x6e, 0x74, 0x20, 0x77, 0x69, 0x64, 0x74, 0x68, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x77, - 0x61, 0x72, 0x70, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, - 0x6d, 0x28, 0x22, 0x7b, 0x6d, 0x6f, 0x76, 0x2e, 0x75, 0x33, 0x32, 0x20, 0x25, 0x30, 0x2c, 0x20, - 0x57, 0x41, 0x52, 0x50, 0x5f, 0x53, 0x5a, 0x3b, 0x5c, 0x6e, 0x7d, 0x22, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x72, 0x22, 0x28, 0x77, 0x61, 0x72, 0x70, - 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, - 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x74, 0x20, - 0x63, 0x20, 0x3d, 0x20, 0x28, 0x28, 0x77, 0x61, 0x72, 0x70, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x20, - 0x2d, 0x20, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x75, 0x6e, - 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x3e, 0x28, 0x77, 0x69, 0x64, 0x74, 0x68, 0x29, 0x29, 0x20, - 0x3c, 0x3c, 0x20, 0x38, 0x55, 0x29, 0x20, 0x7c, 0x20, 0x30, 0x78, 0x31, 0x66, 0x55, 0x3b, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, - 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x72, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x61, 0x73, 0x6d, 0x20, 0x76, 0x6f, 0x6c, 0x61, 0x74, 0x69, 0x6c, 0x65, 0x28, 0x22, 0x7b, - 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x73, 0x68, 0x66, 0x6c, 0x2e, 0x69, 0x64, 0x78, - 0x2e, 0x62, 0x33, 0x32, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x20, 0x25, 0x30, 0x2c, - 0x25, 0x31, 0x2c, 0x25, 0x32, 0x2c, 0x25, 0x33, 0x3b, 0x5c, 0x6e, 0x7d, 0x22, 0x0a, 0x20, 0x20, + 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x5f, 0x5f, 0x75, 0x73, 0x68, 0x6f, 0x72, 0x74, + 0x5f, 0x61, 0x73, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, + 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x69, 0x6e, + 0x74, 0x20, 0x69, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x68, 0x3b, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x2a, 0x28, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, + 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, + 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x68, 0x29, + 0x29, 0x29, 0x20, 0x3d, 0x20, 0x69, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x68, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, + 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, + 0x61, 0x6c, 0x66, 0x20, 0x5f, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x64, + 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x68, 0x6d, 0x61, 0x78, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, + 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, + 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x62, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, + 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x66, 0x61, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x68, 0x61, + 0x6c, 0x66, 0x32, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x28, 0x61, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, + 0x20, 0x66, 0x62, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x66, 0x6c, 0x6f, + 0x61, 0x74, 0x28, 0x62, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x66, + 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x66, 0x72, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x7b, 0x6d, 0x61, 0x78, 0x2e, 0x66, 0x33, 0x32, 0x20, 0x25, + 0x30, 0x2c, 0x25, 0x31, 0x2c, 0x25, 0x32, 0x3b, 0x5c, 0x6e, 0x7d, 0x22, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x66, 0x22, 0x28, + 0x66, 0x72, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x3a, 0x20, 0x22, 0x66, 0x22, 0x28, 0x66, 0x61, 0x29, 0x2c, 0x20, 0x22, 0x66, 0x22, 0x28, 0x66, + 0x62, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, + 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x68, 0x72, 0x20, 0x3d, 0x20, 0x5f, + 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x32, 0x68, 0x61, 0x6c, 0x66, 0x28, 0x66, 0x72, 0x29, 0x3b, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, + 0x68, 0x72, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, + 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x5f, 0x5f, + 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, + 0x68, 0x6d, 0x69, 0x6e, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, + 0x66, 0x20, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, + 0x66, 0x20, 0x62, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, + 0x20, 0x66, 0x61, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x66, 0x6c, 0x6f, + 0x61, 0x74, 0x28, 0x61, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, + 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x66, 0x62, 0x20, 0x3d, 0x20, + 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x28, 0x62, 0x29, 0x3b, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x66, + 0x72, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, + 0x7b, 0x6d, 0x69, 0x6e, 0x2e, 0x66, 0x33, 0x32, 0x20, 0x25, 0x30, 0x2c, 0x25, 0x31, 0x2c, 0x25, + 0x32, 0x3b, 0x5c, 0x6e, 0x7d, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x66, 0x22, 0x28, 0x66, 0x72, 0x29, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x66, 0x22, 0x28, + 0x66, 0x61, 0x29, 0x2c, 0x20, 0x22, 0x66, 0x22, 0x28, 0x66, 0x62, 0x29, 0x29, 0x3b, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, + 0x61, 0x6c, 0x66, 0x20, 0x68, 0x72, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, + 0x32, 0x68, 0x61, 0x6c, 0x66, 0x28, 0x66, 0x72, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x68, 0x72, 0x3b, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x7d, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, + 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x5f, 0x5f, 0x68, 0x6d, 0x61, 0x78, 0x28, 0x63, + 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x61, 0x2c, 0x20, 0x63, + 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x62, 0x29, 0x20, 0x7b, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x5f, 0x5f, + 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, + 0x68, 0x6d, 0x61, 0x78, 0x28, 0x61, 0x2c, 0x20, 0x62, 0x29, 0x3b, 0x20, 0x7d, 0x0a, 0x7d, 0x0a, + 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, + 0x66, 0x20, 0x5f, 0x5f, 0x68, 0x6d, 0x69, 0x6e, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, + 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, + 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x62, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7b, + 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x5f, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, + 0x61, 0x6c, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x68, 0x6d, 0x69, 0x6e, 0x28, 0x61, + 0x2c, 0x20, 0x62, 0x29, 0x3b, 0x20, 0x7d, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, + 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x5f, 0x5f, 0x68, + 0x6d, 0x61, 0x78, 0x32, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, + 0x66, 0x32, 0x20, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, + 0x6c, 0x66, 0x32, 0x20, 0x62, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x76, + 0x61, 0x6c, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, 0x61, 0x6c, 0x2e, + 0x78, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x68, 0x6d, 0x61, 0x78, 0x28, 0x61, 0x2e, 0x78, 0x2c, 0x20, + 0x62, 0x2e, 0x78, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, 0x61, + 0x6c, 0x2e, 0x79, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x68, 0x6d, 0x61, 0x78, 0x28, 0x61, 0x2e, 0x79, + 0x2c, 0x20, 0x62, 0x2e, 0x79, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x76, 0x61, 0x6c, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x7d, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, + 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x5f, 0x5f, 0x68, 0x6d, 0x69, 0x6e, 0x32, 0x28, 0x63, + 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x61, 0x2c, 0x20, + 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x62, 0x29, + 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x76, 0x61, 0x6c, 0x3b, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, 0x61, 0x6c, 0x2e, 0x78, 0x20, 0x3d, 0x20, 0x5f, 0x5f, + 0x68, 0x6d, 0x69, 0x6e, 0x28, 0x61, 0x2e, 0x78, 0x2c, 0x20, 0x62, 0x2e, 0x78, 0x29, 0x3b, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, 0x61, 0x6c, 0x2e, 0x79, 0x20, 0x3d, 0x20, + 0x5f, 0x5f, 0x68, 0x6d, 0x69, 0x6e, 0x28, 0x61, 0x2e, 0x79, 0x2c, 0x20, 0x62, 0x2e, 0x79, 0x29, + 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, + 0x20, 0x76, 0x61, 0x6c, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, + 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, + 0x20, 0x5f, 0x5f, 0x73, 0x68, 0x66, 0x6c, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, + 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x76, 0x61, 0x72, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, + 0x20, 0x69, 0x6e, 0x74, 0x20, 0x64, 0x65, 0x6c, 0x74, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, + 0x74, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x77, 0x69, 0x64, 0x74, 0x68, 0x29, 0x20, 0x7b, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x74, 0x20, + 0x77, 0x61, 0x72, 0x70, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, + 0x73, 0x6d, 0x28, 0x22, 0x7b, 0x6d, 0x6f, 0x76, 0x2e, 0x75, 0x33, 0x32, 0x20, 0x25, 0x30, 0x2c, + 0x20, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x53, 0x5a, 0x3b, 0x5c, 0x6e, 0x7d, 0x22, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x72, 0x22, 0x28, 0x77, 0x61, 0x72, + 0x70, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, + 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x74, + 0x20, 0x63, 0x20, 0x3d, 0x20, 0x28, 0x28, 0x77, 0x61, 0x72, 0x70, 0x5f, 0x73, 0x69, 0x7a, 0x65, + 0x20, 0x2d, 0x20, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x75, + 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x3e, 0x28, 0x77, 0x69, 0x64, 0x74, 0x68, 0x29, 0x29, + 0x20, 0x3c, 0x3c, 0x20, 0x38, 0x55, 0x29, 0x20, 0x7c, 0x20, 0x30, 0x78, 0x31, 0x66, 0x55, 0x3b, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5f, + 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x72, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x61, 0x73, 0x6d, 0x20, 0x76, 0x6f, 0x6c, 0x61, 0x74, 0x69, 0x6c, 0x65, 0x28, 0x22, + 0x7b, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x73, 0x68, 0x66, 0x6c, 0x2e, 0x69, 0x64, + 0x78, 0x2e, 0x62, 0x33, 0x32, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x20, 0x25, 0x30, + 0x2c, 0x25, 0x31, 0x2c, 0x25, 0x32, 0x2c, 0x25, 0x33, 0x3b, 0x5c, 0x6e, 0x7d, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x72, 0x22, 0x28, 0x2a, 0x28, 0x72, 0x65, 0x69, 0x6e, - 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x75, 0x6e, 0x73, - 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x72, - 0x29, 0x29, 0x29, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x72, 0x22, 0x28, - 0x2a, 0x28, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, - 0x73, 0x74, 0x3c, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, - 0x64, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x76, 0x61, 0x72, 0x29, 0x29, - 0x29, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x64, 0x65, 0x6c, 0x74, 0x61, 0x29, 0x2c, 0x20, - 0x22, 0x72, 0x22, 0x28, 0x63, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x72, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, - 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, - 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x5f, 0x5f, 0x73, - 0x68, 0x66, 0x6c, 0x5f, 0x75, 0x70, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, - 0x61, 0x6c, 0x66, 0x32, 0x20, 0x76, 0x61, 0x72, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, - 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x64, 0x65, 0x6c, - 0x74, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x77, 0x69, - 0x64, 0x74, 0x68, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, - 0x6e, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x77, 0x61, 0x72, 0x70, 0x5f, 0x73, 0x69, 0x7a, - 0x65, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x7b, 0x6d, 0x6f, 0x76, - 0x2e, 0x75, 0x33, 0x32, 0x20, 0x25, 0x30, 0x2c, 0x20, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x53, 0x5a, - 0x3b, 0x5c, 0x6e, 0x7d, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, - 0x22, 0x3d, 0x72, 0x22, 0x28, 0x77, 0x61, 0x72, 0x70, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x29, 0x29, - 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, - 0x67, 0x6e, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x63, 0x20, 0x3d, 0x20, 0x28, 0x77, 0x61, - 0x72, 0x70, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x20, 0x2d, 0x20, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, - 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x3e, 0x28, - 0x77, 0x69, 0x64, 0x74, 0x68, 0x29, 0x29, 0x20, 0x3c, 0x3c, 0x20, 0x38, 0x55, 0x3b, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x68, - 0x61, 0x6c, 0x66, 0x32, 0x20, 0x72, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x61, 0x73, 0x6d, 0x20, 0x76, 0x6f, 0x6c, 0x61, 0x74, 0x69, 0x6c, 0x65, 0x28, 0x22, 0x7b, 0x22, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x73, 0x68, 0x66, 0x6c, 0x2e, 0x75, 0x70, 0x2e, 0x62, - 0x33, 0x32, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x20, 0x25, 0x30, 0x2c, 0x25, 0x31, - 0x2c, 0x25, 0x32, 0x2c, 0x25, 0x33, 0x3b, 0x5c, 0x6e, 0x7d, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x72, 0x22, 0x28, 0x2a, 0x28, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, - 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x75, 0x6e, 0x73, 0x69, 0x67, - 0x6e, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x72, 0x29, 0x29, - 0x29, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x72, 0x22, 0x28, 0x2a, 0x28, - 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, - 0x3c, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, - 0x69, 0x6e, 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x76, 0x61, 0x72, 0x29, 0x29, 0x29, 0x29, - 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x64, 0x65, 0x6c, 0x74, 0x61, 0x29, 0x2c, 0x20, 0x22, 0x72, - 0x22, 0x28, 0x63, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, - 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x72, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x7d, - 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, - 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x5f, 0x5f, 0x73, 0x68, 0x66, - 0x6c, 0x5f, 0x64, 0x6f, 0x77, 0x6e, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, - 0x61, 0x6c, 0x66, 0x32, 0x20, 0x76, 0x61, 0x72, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, - 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x64, 0x65, 0x6c, - 0x74, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x77, 0x69, - 0x64, 0x74, 0x68, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, - 0x6e, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x77, 0x61, 0x72, 0x70, 0x5f, 0x73, 0x69, 0x7a, - 0x65, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x7b, 0x6d, 0x6f, 0x76, - 0x2e, 0x75, 0x33, 0x32, 0x20, 0x25, 0x30, 0x2c, 0x20, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x53, 0x5a, - 0x3b, 0x5c, 0x6e, 0x7d, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, - 0x22, 0x3d, 0x72, 0x22, 0x28, 0x77, 0x61, 0x72, 0x70, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x29, 0x29, - 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, - 0x67, 0x6e, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x63, 0x20, 0x3d, 0x20, 0x28, 0x28, 0x77, - 0x61, 0x72, 0x70, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x20, 0x2d, 0x20, 0x73, 0x74, 0x61, 0x74, 0x69, - 0x63, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x3e, - 0x28, 0x77, 0x69, 0x64, 0x74, 0x68, 0x29, 0x29, 0x20, 0x3c, 0x3c, 0x20, 0x38, 0x55, 0x29, 0x20, - 0x7c, 0x20, 0x30, 0x78, 0x31, 0x66, 0x55, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x72, 0x22, 0x28, 0x2a, 0x28, 0x72, 0x65, 0x69, + 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x75, 0x6e, + 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, + 0x72, 0x29, 0x29, 0x29, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x72, 0x22, + 0x28, 0x2a, 0x28, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, + 0x61, 0x73, 0x74, 0x3c, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, + 0x65, 0x64, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x76, 0x61, 0x72, 0x29, + 0x29, 0x29, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x64, 0x65, 0x6c, 0x74, 0x61, 0x29, 0x2c, + 0x20, 0x22, 0x72, 0x22, 0x28, 0x63, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x72, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x7d, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, + 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x5f, 0x5f, 0x73, 0x68, 0x66, 0x6c, 0x5f, 0x75, 0x70, + 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x76, + 0x61, 0x72, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, + 0x65, 0x64, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x64, 0x65, 0x6c, 0x74, 0x61, 0x2c, 0x20, 0x63, 0x6f, + 0x6e, 0x73, 0x74, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x77, 0x69, 0x64, 0x74, 0x68, 0x29, 0x20, 0x7b, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x69, 0x6e, + 0x74, 0x20, 0x77, 0x61, 0x72, 0x70, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x3b, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x7b, 0x6d, 0x6f, 0x76, 0x2e, 0x75, 0x33, 0x32, 0x20, 0x25, + 0x30, 0x2c, 0x20, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x53, 0x5a, 0x3b, 0x5c, 0x6e, 0x7d, 0x22, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x72, 0x22, 0x28, 0x77, + 0x61, 0x72, 0x70, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x69, + 0x6e, 0x74, 0x20, 0x63, 0x20, 0x3d, 0x20, 0x28, 0x77, 0x61, 0x72, 0x70, 0x5f, 0x73, 0x69, 0x7a, + 0x65, 0x20, 0x2d, 0x20, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, + 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x3e, 0x28, 0x77, 0x69, 0x64, 0x74, 0x68, 0x29, + 0x29, 0x20, 0x3c, 0x3c, 0x20, 0x38, 0x55, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x72, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x20, 0x76, 0x6f, 0x6c, 0x61, 0x74, 0x69, 0x6c, 0x65, 0x28, 0x22, 0x7b, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x22, 0x73, 0x68, 0x66, 0x6c, 0x2e, 0x64, 0x6f, 0x77, 0x6e, 0x2e, 0x62, 0x33, 0x32, 0x22, 0x0a, + 0x22, 0x73, 0x68, 0x66, 0x6c, 0x2e, 0x75, 0x70, 0x2e, 0x62, 0x33, 0x32, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x20, 0x25, 0x30, 0x2c, 0x25, 0x31, 0x2c, 0x25, 0x32, 0x2c, - 0x25, 0x33, 0x3b, 0x5c, 0x6e, 0x7d, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, - 0x3d, 0x72, 0x22, 0x28, 0x2a, 0x28, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, - 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, - 0x69, 0x6e, 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x72, 0x29, 0x29, 0x29, 0x29, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x22, 0x20, 0x25, 0x30, 0x2c, 0x25, 0x31, 0x2c, 0x25, 0x32, 0x2c, 0x25, 0x33, + 0x3b, 0x5c, 0x6e, 0x7d, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x72, + 0x22, 0x28, 0x2a, 0x28, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, + 0x63, 0x61, 0x73, 0x74, 0x3c, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x69, 0x6e, + 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x72, 0x29, 0x29, 0x29, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x72, 0x22, 0x28, 0x2a, 0x28, 0x72, 0x65, 0x69, 0x6e, - 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x63, 0x6f, 0x6e, + 0x20, 0x20, 0x3a, 0x20, 0x22, 0x72, 0x22, 0x28, 0x2a, 0x28, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, + 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x63, 0x6f, 0x6e, 0x73, 0x74, + 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x2a, 0x3e, + 0x28, 0x26, 0x28, 0x76, 0x61, 0x72, 0x29, 0x29, 0x29, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, + 0x64, 0x65, 0x6c, 0x74, 0x61, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x63, 0x29, 0x29, 0x3b, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, + 0x72, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, + 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x5f, 0x5f, + 0x73, 0x68, 0x66, 0x6c, 0x5f, 0x64, 0x6f, 0x77, 0x6e, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, + 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x76, 0x61, 0x72, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x74, 0x20, - 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x76, 0x61, 0x72, 0x29, 0x29, 0x29, 0x29, 0x2c, 0x20, 0x22, 0x72, - 0x22, 0x28, 0x64, 0x65, 0x6c, 0x74, 0x61, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x63, 0x29, - 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, - 0x6e, 0x20, 0x72, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, - 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, - 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x5f, 0x5f, 0x73, 0x68, 0x66, 0x6c, 0x5f, 0x78, 0x6f, - 0x72, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, - 0x76, 0x61, 0x72, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x64, - 0x65, 0x6c, 0x74, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x69, 0x6e, 0x74, 0x20, - 0x77, 0x69, 0x64, 0x74, 0x68, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x75, 0x6e, 0x73, - 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x77, 0x61, 0x72, 0x70, 0x5f, 0x73, - 0x69, 0x7a, 0x65, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x7b, 0x6d, - 0x6f, 0x76, 0x2e, 0x75, 0x33, 0x32, 0x20, 0x25, 0x30, 0x2c, 0x20, 0x57, 0x41, 0x52, 0x50, 0x5f, - 0x53, 0x5a, 0x3b, 0x5c, 0x6e, 0x7d, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x3a, 0x20, 0x22, 0x3d, 0x72, 0x22, 0x28, 0x77, 0x61, 0x72, 0x70, 0x5f, 0x73, 0x69, 0x7a, 0x65, - 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, - 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x63, 0x20, 0x3d, 0x20, 0x28, - 0x28, 0x77, 0x61, 0x72, 0x70, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x20, 0x2d, 0x20, 0x73, 0x74, 0x61, - 0x74, 0x69, 0x63, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, - 0x64, 0x3e, 0x28, 0x77, 0x69, 0x64, 0x74, 0x68, 0x29, 0x29, 0x20, 0x3c, 0x3c, 0x20, 0x38, 0x55, - 0x29, 0x20, 0x7c, 0x20, 0x30, 0x78, 0x31, 0x66, 0x55, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7b, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, - 0x20, 0x72, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x20, - 0x76, 0x6f, 0x6c, 0x61, 0x74, 0x69, 0x6c, 0x65, 0x28, 0x22, 0x7b, 0x22, 0x0a, 0x20, 0x20, 0x20, + 0x64, 0x65, 0x6c, 0x74, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x69, 0x6e, 0x74, + 0x20, 0x77, 0x69, 0x64, 0x74, 0x68, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x75, 0x6e, + 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x77, 0x61, 0x72, 0x70, 0x5f, + 0x73, 0x69, 0x7a, 0x65, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x7b, + 0x6d, 0x6f, 0x76, 0x2e, 0x75, 0x33, 0x32, 0x20, 0x25, 0x30, 0x2c, 0x20, 0x57, 0x41, 0x52, 0x50, + 0x5f, 0x53, 0x5a, 0x3b, 0x5c, 0x6e, 0x7d, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x72, 0x22, 0x28, 0x77, 0x61, 0x72, 0x70, 0x5f, 0x73, 0x69, 0x7a, + 0x65, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, + 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x63, 0x20, 0x3d, 0x20, + 0x28, 0x28, 0x77, 0x61, 0x72, 0x70, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x20, 0x2d, 0x20, 0x73, 0x74, + 0x61, 0x74, 0x69, 0x63, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, + 0x65, 0x64, 0x3e, 0x28, 0x77, 0x69, 0x64, 0x74, 0x68, 0x29, 0x29, 0x20, 0x3c, 0x3c, 0x20, 0x38, + 0x55, 0x29, 0x20, 0x7c, 0x20, 0x30, 0x78, 0x31, 0x66, 0x55, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, + 0x32, 0x20, 0x72, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, + 0x20, 0x76, 0x6f, 0x6c, 0x61, 0x74, 0x69, 0x6c, 0x65, 0x28, 0x22, 0x7b, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x22, 0x73, 0x68, 0x66, 0x6c, 0x2e, 0x62, 0x66, 0x6c, 0x79, 0x2e, 0x62, 0x33, 0x32, - 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x20, 0x25, 0x30, 0x2c, 0x25, 0x31, 0x2c, 0x25, - 0x32, 0x2c, 0x25, 0x33, 0x3b, 0x5c, 0x6e, 0x7d, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, - 0x20, 0x22, 0x3d, 0x72, 0x22, 0x28, 0x2a, 0x28, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, - 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, - 0x64, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x72, 0x29, 0x29, 0x29, 0x29, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x72, 0x22, 0x28, 0x2a, 0x28, 0x72, 0x65, - 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x63, - 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x69, 0x6e, - 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x76, 0x61, 0x72, 0x29, 0x29, 0x29, 0x29, 0x2c, 0x20, - 0x22, 0x72, 0x22, 0x28, 0x64, 0x65, 0x6c, 0x74, 0x61, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, - 0x63, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, - 0x75, 0x72, 0x6e, 0x20, 0x72, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x7d, 0x0a, 0x5f, - 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, - 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x5f, 0x5f, 0x73, 0x68, 0x66, 0x6c, 0x5f, - 0x73, 0x79, 0x6e, 0x63, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, - 0x6e, 0x65, 0x64, 0x20, 0x6d, 0x61, 0x73, 0x6b, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, - 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x76, 0x61, 0x72, 0x2c, 0x20, 0x63, 0x6f, 0x6e, - 0x73, 0x74, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x64, 0x65, 0x6c, 0x74, 0x61, 0x2c, 0x20, 0x63, 0x6f, - 0x6e, 0x73, 0x74, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x77, 0x69, 0x64, 0x74, 0x68, 0x29, 0x20, 0x7b, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x69, 0x6e, - 0x74, 0x20, 0x77, 0x61, 0x72, 0x70, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x3b, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x7b, 0x6d, 0x6f, 0x76, 0x2e, 0x75, 0x33, 0x32, 0x20, 0x25, - 0x30, 0x2c, 0x20, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x53, 0x5a, 0x3b, 0x5c, 0x6e, 0x7d, 0x22, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x72, 0x22, 0x28, 0x77, - 0x61, 0x72, 0x70, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x22, 0x73, 0x68, 0x66, 0x6c, 0x2e, 0x64, 0x6f, 0x77, 0x6e, 0x2e, 0x62, 0x33, + 0x32, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x20, 0x25, 0x30, 0x2c, 0x25, 0x31, 0x2c, + 0x25, 0x32, 0x2c, 0x25, 0x33, 0x3b, 0x5c, 0x6e, 0x7d, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x3a, 0x20, 0x22, 0x3d, 0x72, 0x22, 0x28, 0x2a, 0x28, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, + 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, + 0x65, 0x64, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x72, 0x29, 0x29, 0x29, + 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x72, 0x22, 0x28, 0x2a, 0x28, 0x72, + 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x69, - 0x6e, 0x74, 0x20, 0x63, 0x20, 0x3d, 0x20, 0x28, 0x28, 0x77, 0x61, 0x72, 0x70, 0x5f, 0x73, 0x69, - 0x7a, 0x65, 0x20, 0x2d, 0x20, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x5f, 0x63, 0x61, 0x73, 0x74, - 0x3c, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x3e, 0x28, 0x77, 0x69, 0x64, 0x74, 0x68, - 0x29, 0x29, 0x20, 0x3c, 0x3c, 0x20, 0x38, 0x55, 0x29, 0x20, 0x7c, 0x20, 0x30, 0x78, 0x31, 0x66, - 0x55, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x72, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x20, 0x76, 0x6f, 0x6c, 0x61, 0x74, 0x69, 0x6c, 0x65, - 0x28, 0x22, 0x7b, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x73, 0x68, 0x66, 0x6c, 0x2e, - 0x73, 0x79, 0x6e, 0x63, 0x2e, 0x69, 0x64, 0x78, 0x2e, 0x62, 0x33, 0x32, 0x22, 0x0a, 0x20, 0x20, + 0x6e, 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x76, 0x61, 0x72, 0x29, 0x29, 0x29, 0x29, 0x2c, + 0x20, 0x22, 0x72, 0x22, 0x28, 0x64, 0x65, 0x6c, 0x74, 0x61, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, + 0x28, 0x63, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, + 0x74, 0x75, 0x72, 0x6e, 0x20, 0x72, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x7d, 0x0a, + 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, + 0x66, 0x32, 0x20, 0x5f, 0x5f, 0x73, 0x68, 0x66, 0x6c, 0x5f, 0x78, 0x6f, 0x72, 0x28, 0x63, 0x6f, + 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x76, 0x61, 0x72, 0x2c, + 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x64, 0x65, 0x6c, 0x74, 0x61, + 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x77, 0x69, 0x64, 0x74, + 0x68, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, + 0x64, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x77, 0x61, 0x72, 0x70, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x3b, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x7b, 0x6d, 0x6f, 0x76, 0x2e, 0x75, + 0x33, 0x32, 0x20, 0x25, 0x30, 0x2c, 0x20, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x53, 0x5a, 0x3b, 0x5c, + 0x6e, 0x7d, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, + 0x72, 0x22, 0x28, 0x77, 0x61, 0x72, 0x70, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x29, 0x29, 0x3b, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, + 0x65, 0x64, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x63, 0x20, 0x3d, 0x20, 0x28, 0x28, 0x77, 0x61, 0x72, + 0x70, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x20, 0x2d, 0x20, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x5f, + 0x63, 0x61, 0x73, 0x74, 0x3c, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x3e, 0x28, 0x77, + 0x69, 0x64, 0x74, 0x68, 0x29, 0x29, 0x20, 0x3c, 0x3c, 0x20, 0x38, 0x55, 0x29, 0x20, 0x7c, 0x20, + 0x30, 0x78, 0x31, 0x66, 0x55, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x72, 0x3b, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x20, 0x76, 0x6f, 0x6c, 0x61, + 0x74, 0x69, 0x6c, 0x65, 0x28, 0x22, 0x7b, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x73, + 0x68, 0x66, 0x6c, 0x2e, 0x62, 0x66, 0x6c, 0x79, 0x2e, 0x62, 0x33, 0x32, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x20, 0x25, 0x30, 0x2c, 0x25, 0x31, 0x2c, 0x25, 0x32, 0x2c, 0x25, 0x33, - 0x2c, 0x25, 0x34, 0x3b, 0x5c, 0x6e, 0x7d, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, - 0x22, 0x3d, 0x72, 0x22, 0x28, 0x2a, 0x28, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, - 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, - 0x20, 0x69, 0x6e, 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x72, 0x29, 0x29, 0x29, 0x29, 0x0a, + 0x3b, 0x5c, 0x6e, 0x7d, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x72, + 0x22, 0x28, 0x2a, 0x28, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, + 0x63, 0x61, 0x73, 0x74, 0x3c, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x69, 0x6e, + 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x72, 0x29, 0x29, 0x29, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x72, 0x22, 0x28, 0x2a, 0x28, 0x72, 0x65, 0x69, - 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x63, 0x6f, - 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x74, - 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x76, 0x61, 0x72, 0x29, 0x29, 0x29, 0x29, 0x2c, 0x20, 0x22, - 0x72, 0x22, 0x28, 0x64, 0x65, 0x6c, 0x74, 0x61, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x63, - 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x6d, 0x61, 0x73, 0x6b, 0x29, 0x29, 0x3b, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x72, 0x3b, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, - 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, - 0x66, 0x32, 0x20, 0x5f, 0x5f, 0x73, 0x68, 0x66, 0x6c, 0x5f, 0x75, 0x70, 0x5f, 0x73, 0x79, 0x6e, - 0x63, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, - 0x20, 0x6d, 0x61, 0x73, 0x6b, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, - 0x61, 0x6c, 0x66, 0x32, 0x20, 0x76, 0x61, 0x72, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, - 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x64, 0x65, 0x6c, - 0x74, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x77, 0x69, - 0x64, 0x74, 0x68, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, - 0x6e, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x77, 0x61, 0x72, 0x70, 0x5f, 0x73, 0x69, 0x7a, - 0x65, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x7b, 0x6d, 0x6f, 0x76, - 0x2e, 0x75, 0x33, 0x32, 0x20, 0x25, 0x30, 0x2c, 0x20, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x53, 0x5a, - 0x3b, 0x5c, 0x6e, 0x7d, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, - 0x22, 0x3d, 0x72, 0x22, 0x28, 0x77, 0x61, 0x72, 0x70, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x29, 0x29, - 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, - 0x67, 0x6e, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x63, 0x20, 0x3d, 0x20, 0x28, 0x77, 0x61, + 0x20, 0x20, 0x3a, 0x20, 0x22, 0x72, 0x22, 0x28, 0x2a, 0x28, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, + 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x63, 0x6f, 0x6e, 0x73, 0x74, + 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x2a, 0x3e, + 0x28, 0x26, 0x28, 0x76, 0x61, 0x72, 0x29, 0x29, 0x29, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, + 0x64, 0x65, 0x6c, 0x74, 0x61, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x63, 0x29, 0x29, 0x3b, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, + 0x72, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, + 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x5f, 0x5f, + 0x73, 0x68, 0x66, 0x6c, 0x5f, 0x73, 0x79, 0x6e, 0x63, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, + 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x6d, 0x61, 0x73, 0x6b, 0x2c, 0x20, 0x63, + 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x76, 0x61, 0x72, + 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x64, 0x65, 0x6c, 0x74, + 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x77, 0x69, 0x64, + 0x74, 0x68, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, + 0x65, 0x64, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x77, 0x61, 0x72, 0x70, 0x5f, 0x73, 0x69, 0x7a, 0x65, + 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x7b, 0x6d, 0x6f, 0x76, 0x2e, + 0x75, 0x33, 0x32, 0x20, 0x25, 0x30, 0x2c, 0x20, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x53, 0x5a, 0x3b, + 0x5c, 0x6e, 0x7d, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, + 0x3d, 0x72, 0x22, 0x28, 0x77, 0x61, 0x72, 0x70, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x29, 0x29, 0x3b, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, + 0x6e, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x63, 0x20, 0x3d, 0x20, 0x28, 0x28, 0x77, 0x61, 0x72, 0x70, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x20, 0x2d, 0x20, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x3e, 0x28, - 0x77, 0x69, 0x64, 0x74, 0x68, 0x29, 0x29, 0x20, 0x3c, 0x3c, 0x20, 0x38, 0x55, 0x3b, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x68, - 0x61, 0x6c, 0x66, 0x32, 0x20, 0x72, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x61, 0x73, 0x6d, 0x20, 0x76, 0x6f, 0x6c, 0x61, 0x74, 0x69, 0x6c, 0x65, 0x28, 0x22, 0x7b, 0x22, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x73, 0x68, 0x66, 0x6c, 0x2e, 0x73, 0x79, 0x6e, 0x63, - 0x2e, 0x75, 0x70, 0x2e, 0x62, 0x33, 0x32, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x77, 0x69, 0x64, 0x74, 0x68, 0x29, 0x29, 0x20, 0x3c, 0x3c, 0x20, 0x38, 0x55, 0x29, 0x20, 0x7c, + 0x20, 0x30, 0x78, 0x31, 0x66, 0x55, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x72, 0x3b, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x20, 0x76, 0x6f, 0x6c, + 0x61, 0x74, 0x69, 0x6c, 0x65, 0x28, 0x22, 0x7b, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, + 0x73, 0x68, 0x66, 0x6c, 0x2e, 0x73, 0x79, 0x6e, 0x63, 0x2e, 0x69, 0x64, 0x78, 0x2e, 0x62, 0x33, + 0x32, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x20, 0x25, 0x30, 0x2c, 0x25, 0x31, 0x2c, + 0x25, 0x32, 0x2c, 0x25, 0x33, 0x2c, 0x25, 0x34, 0x3b, 0x5c, 0x6e, 0x7d, 0x22, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x72, 0x22, 0x28, 0x2a, 0x28, 0x72, 0x65, 0x69, 0x6e, + 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x75, 0x6e, 0x73, + 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x72, + 0x29, 0x29, 0x29, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x72, 0x22, 0x28, + 0x2a, 0x28, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, + 0x73, 0x74, 0x3c, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, + 0x64, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x76, 0x61, 0x72, 0x29, 0x29, + 0x29, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x64, 0x65, 0x6c, 0x74, 0x61, 0x29, 0x2c, 0x20, + 0x22, 0x72, 0x22, 0x28, 0x63, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x6d, 0x61, 0x73, 0x6b, + 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, + 0x72, 0x6e, 0x20, 0x72, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, + 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, + 0x20, 0x5f, 0x5f, 0x73, 0x68, 0x66, 0x6c, 0x5f, 0x75, 0x70, 0x5f, 0x73, 0x79, 0x6e, 0x63, 0x28, + 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x6d, + 0x61, 0x73, 0x6b, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, + 0x66, 0x32, 0x20, 0x76, 0x61, 0x72, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, + 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x64, 0x65, 0x6c, 0x74, 0x61, + 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x77, 0x69, 0x64, 0x74, + 0x68, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, + 0x64, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x77, 0x61, 0x72, 0x70, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x3b, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x7b, 0x6d, 0x6f, 0x76, 0x2e, 0x75, + 0x33, 0x32, 0x20, 0x25, 0x30, 0x2c, 0x20, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x53, 0x5a, 0x3b, 0x5c, + 0x6e, 0x7d, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, + 0x72, 0x22, 0x28, 0x77, 0x61, 0x72, 0x70, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x29, 0x29, 0x3b, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, + 0x65, 0x64, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x63, 0x20, 0x3d, 0x20, 0x28, 0x77, 0x61, 0x72, 0x70, + 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x20, 0x2d, 0x20, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x5f, 0x63, + 0x61, 0x73, 0x74, 0x3c, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x3e, 0x28, 0x77, 0x69, + 0x64, 0x74, 0x68, 0x29, 0x29, 0x20, 0x3c, 0x3c, 0x20, 0x38, 0x55, 0x3b, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, + 0x66, 0x32, 0x20, 0x72, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, + 0x6d, 0x20, 0x76, 0x6f, 0x6c, 0x61, 0x74, 0x69, 0x6c, 0x65, 0x28, 0x22, 0x7b, 0x22, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x22, 0x73, 0x68, 0x66, 0x6c, 0x2e, 0x73, 0x79, 0x6e, 0x63, 0x2e, 0x75, + 0x70, 0x2e, 0x62, 0x33, 0x32, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x20, 0x25, 0x30, + 0x2c, 0x25, 0x31, 0x2c, 0x25, 0x32, 0x2c, 0x25, 0x33, 0x2c, 0x25, 0x34, 0x3b, 0x5c, 0x6e, 0x7d, + 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x72, 0x22, 0x28, 0x2a, 0x28, + 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, + 0x3c, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x2a, 0x3e, + 0x28, 0x26, 0x28, 0x72, 0x29, 0x29, 0x29, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, + 0x22, 0x72, 0x22, 0x28, 0x2a, 0x28, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, + 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, + 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x76, + 0x61, 0x72, 0x29, 0x29, 0x29, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x64, 0x65, 0x6c, 0x74, + 0x61, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x63, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, + 0x6d, 0x61, 0x73, 0x6b, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x72, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, + 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, + 0x61, 0x6c, 0x66, 0x32, 0x20, 0x5f, 0x5f, 0x73, 0x68, 0x66, 0x6c, 0x5f, 0x64, 0x6f, 0x77, 0x6e, + 0x5f, 0x73, 0x79, 0x6e, 0x63, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, + 0x67, 0x6e, 0x65, 0x64, 0x20, 0x6d, 0x61, 0x73, 0x6b, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, + 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x76, 0x61, 0x72, 0x2c, 0x20, 0x63, 0x6f, + 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x74, + 0x20, 0x64, 0x65, 0x6c, 0x74, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x69, 0x6e, + 0x74, 0x20, 0x77, 0x69, 0x64, 0x74, 0x68, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x75, + 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x77, 0x61, 0x72, 0x70, + 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, + 0x7b, 0x6d, 0x6f, 0x76, 0x2e, 0x75, 0x33, 0x32, 0x20, 0x25, 0x30, 0x2c, 0x20, 0x57, 0x41, 0x52, + 0x50, 0x5f, 0x53, 0x5a, 0x3b, 0x5c, 0x6e, 0x7d, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x72, 0x22, 0x28, 0x77, 0x61, 0x72, 0x70, 0x5f, 0x73, 0x69, + 0x7a, 0x65, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, + 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x63, 0x20, 0x3d, + 0x20, 0x28, 0x28, 0x77, 0x61, 0x72, 0x70, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x20, 0x2d, 0x20, 0x73, + 0x74, 0x61, 0x74, 0x69, 0x63, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x75, 0x6e, 0x73, 0x69, 0x67, + 0x6e, 0x65, 0x64, 0x3e, 0x28, 0x77, 0x69, 0x64, 0x74, 0x68, 0x29, 0x29, 0x20, 0x3c, 0x3c, 0x20, + 0x38, 0x55, 0x29, 0x20, 0x7c, 0x20, 0x30, 0x78, 0x31, 0x66, 0x55, 0x3b, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, + 0x66, 0x32, 0x20, 0x72, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, + 0x6d, 0x20, 0x76, 0x6f, 0x6c, 0x61, 0x74, 0x69, 0x6c, 0x65, 0x28, 0x22, 0x7b, 0x22, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x22, 0x73, 0x68, 0x66, 0x6c, 0x2e, 0x73, 0x79, 0x6e, 0x63, 0x2e, 0x64, + 0x6f, 0x77, 0x6e, 0x2e, 0x62, 0x33, 0x32, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x20, 0x25, 0x30, 0x2c, 0x25, 0x31, 0x2c, 0x25, 0x32, 0x2c, 0x25, 0x33, 0x2c, 0x25, 0x34, 0x3b, 0x5c, 0x6e, 0x7d, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, @@ -3711,48 +3591,7 @@ extern "C" const char luisa_cuda_builtin_cuda_device_half[87792] = { 0x6c, 0x74, 0x61, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x63, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x6d, 0x61, 0x73, 0x6b, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x72, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x7d, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, - 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x5f, 0x5f, - 0x73, 0x68, 0x66, 0x6c, 0x5f, 0x64, 0x6f, 0x77, 0x6e, 0x5f, 0x73, 0x79, 0x6e, 0x63, 0x28, 0x63, - 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x6d, 0x61, - 0x73, 0x6b, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, - 0x32, 0x20, 0x76, 0x61, 0x72, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, - 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x64, 0x65, 0x6c, 0x74, 0x61, 0x2c, - 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x77, 0x69, 0x64, 0x74, 0x68, - 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, - 0x20, 0x69, 0x6e, 0x74, 0x20, 0x77, 0x61, 0x72, 0x70, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x3b, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x7b, 0x6d, 0x6f, 0x76, 0x2e, 0x75, 0x33, - 0x32, 0x20, 0x25, 0x30, 0x2c, 0x20, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x53, 0x5a, 0x3b, 0x5c, 0x6e, - 0x7d, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x72, - 0x22, 0x28, 0x77, 0x61, 0x72, 0x70, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x29, 0x29, 0x3b, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, - 0x64, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x63, 0x20, 0x3d, 0x20, 0x28, 0x28, 0x77, 0x61, 0x72, 0x70, - 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x20, 0x2d, 0x20, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x5f, 0x63, - 0x61, 0x73, 0x74, 0x3c, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x3e, 0x28, 0x77, 0x69, - 0x64, 0x74, 0x68, 0x29, 0x29, 0x20, 0x3c, 0x3c, 0x20, 0x38, 0x55, 0x29, 0x20, 0x7c, 0x20, 0x30, - 0x78, 0x31, 0x66, 0x55, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x72, 0x3b, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x20, 0x76, 0x6f, 0x6c, 0x61, 0x74, - 0x69, 0x6c, 0x65, 0x28, 0x22, 0x7b, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x73, 0x68, - 0x66, 0x6c, 0x2e, 0x73, 0x79, 0x6e, 0x63, 0x2e, 0x64, 0x6f, 0x77, 0x6e, 0x2e, 0x62, 0x33, 0x32, - 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x20, 0x25, 0x30, 0x2c, 0x25, 0x31, 0x2c, 0x25, - 0x32, 0x2c, 0x25, 0x33, 0x2c, 0x25, 0x34, 0x3b, 0x5c, 0x6e, 0x7d, 0x22, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x72, 0x22, 0x28, 0x2a, 0x28, 0x72, 0x65, 0x69, 0x6e, 0x74, - 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x75, 0x6e, 0x73, 0x69, - 0x67, 0x6e, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x72, 0x29, - 0x29, 0x29, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x72, 0x22, 0x28, 0x2a, - 0x28, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, - 0x74, 0x3c, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, - 0x20, 0x69, 0x6e, 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x76, 0x61, 0x72, 0x29, 0x29, 0x29, - 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x64, 0x65, 0x6c, 0x74, 0x61, 0x29, 0x2c, 0x20, 0x22, - 0x72, 0x22, 0x28, 0x63, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x6d, 0x61, 0x73, 0x6b, 0x29, - 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, - 0x6e, 0x20, 0x72, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, - 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, + 0x7d, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x5f, 0x5f, 0x73, 0x68, 0x66, 0x6c, 0x5f, 0x78, 0x6f, 0x72, 0x5f, 0x73, 0x79, 0x6e, 0x63, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x6d, 0x61, 0x73, 0x6b, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, @@ -3792,38 +3631,22 @@ extern "C" const char luisa_cuda_builtin_cuda_device_half[87792] = { 0x22, 0x28, 0x63, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x6d, 0x61, 0x73, 0x6b, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x72, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, - 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, - 0x68, 0x61, 0x6c, 0x66, 0x20, 0x5f, 0x5f, 0x73, 0x68, 0x66, 0x6c, 0x28, 0x63, 0x6f, 0x6e, 0x73, - 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x76, 0x61, 0x72, 0x2c, 0x20, 0x63, 0x6f, - 0x6e, 0x73, 0x74, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x64, 0x65, 0x6c, 0x74, 0x61, 0x2c, 0x20, 0x63, - 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x77, 0x69, 0x64, 0x74, 0x68, 0x29, 0x20, - 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, - 0x6c, 0x66, 0x32, 0x20, 0x74, 0x65, 0x6d, 0x70, 0x31, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x68, 0x61, - 0x6c, 0x76, 0x65, 0x73, 0x32, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x28, 0x76, 0x61, 0x72, 0x2c, 0x20, - 0x76, 0x61, 0x72, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, - 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x74, 0x65, 0x6d, 0x70, 0x32, 0x20, 0x3d, 0x20, - 0x5f, 0x5f, 0x73, 0x68, 0x66, 0x6c, 0x28, 0x74, 0x65, 0x6d, 0x70, 0x31, 0x2c, 0x20, 0x64, 0x65, - 0x6c, 0x74, 0x61, 0x2c, 0x20, 0x77, 0x69, 0x64, 0x74, 0x68, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x5f, 0x5f, 0x6c, 0x6f, 0x77, 0x32, 0x68, 0x61, - 0x6c, 0x66, 0x28, 0x74, 0x65, 0x6d, 0x70, 0x32, 0x29, 0x3b, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, - 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, - 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x5f, 0x5f, 0x73, 0x68, 0x66, 0x6c, 0x5f, 0x75, 0x70, 0x28, - 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x76, 0x61, 0x72, - 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, - 0x20, 0x69, 0x6e, 0x74, 0x20, 0x64, 0x65, 0x6c, 0x74, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, - 0x74, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x77, 0x69, 0x64, 0x74, 0x68, 0x29, 0x20, 0x7b, 0x0a, 0x20, + 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x5f, 0x5f, + 0x73, 0x68, 0x66, 0x6c, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, + 0x66, 0x20, 0x76, 0x61, 0x72, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x69, 0x6e, 0x74, + 0x20, 0x64, 0x65, 0x6c, 0x74, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x69, 0x6e, + 0x74, 0x20, 0x77, 0x69, 0x64, 0x74, 0x68, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x63, + 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x74, 0x65, 0x6d, + 0x70, 0x31, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x76, 0x65, 0x73, 0x32, 0x68, 0x61, + 0x6c, 0x66, 0x32, 0x28, 0x76, 0x61, 0x72, 0x2c, 0x20, 0x76, 0x61, 0x72, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, - 0x20, 0x74, 0x65, 0x6d, 0x70, 0x31, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x76, 0x65, - 0x73, 0x32, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x28, 0x76, 0x61, 0x72, 0x2c, 0x20, 0x76, 0x61, 0x72, - 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, - 0x61, 0x6c, 0x66, 0x32, 0x20, 0x74, 0x65, 0x6d, 0x70, 0x32, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x73, - 0x68, 0x66, 0x6c, 0x5f, 0x75, 0x70, 0x28, 0x74, 0x65, 0x6d, 0x70, 0x31, 0x2c, 0x20, 0x64, 0x65, - 0x6c, 0x74, 0x61, 0x2c, 0x20, 0x77, 0x69, 0x64, 0x74, 0x68, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x5f, 0x5f, 0x6c, 0x6f, 0x77, 0x32, 0x68, 0x61, - 0x6c, 0x66, 0x28, 0x74, 0x65, 0x6d, 0x70, 0x32, 0x29, 0x3b, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, - 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, - 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x5f, 0x5f, 0x73, 0x68, 0x66, 0x6c, 0x5f, 0x64, 0x6f, 0x77, - 0x6e, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x76, + 0x20, 0x74, 0x65, 0x6d, 0x70, 0x32, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x73, 0x68, 0x66, 0x6c, 0x28, + 0x74, 0x65, 0x6d, 0x70, 0x31, 0x2c, 0x20, 0x64, 0x65, 0x6c, 0x74, 0x61, 0x2c, 0x20, 0x77, 0x69, + 0x64, 0x74, 0x68, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, + 0x20, 0x5f, 0x5f, 0x6c, 0x6f, 0x77, 0x32, 0x68, 0x61, 0x6c, 0x66, 0x28, 0x74, 0x65, 0x6d, 0x70, + 0x32, 0x29, 0x3b, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, + 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x5f, 0x5f, 0x73, 0x68, 0x66, 0x6c, 0x5f, 0x75, + 0x70, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x76, 0x61, 0x72, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x64, 0x65, 0x6c, 0x74, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x77, 0x69, 0x64, 0x74, 0x68, 0x29, 0x20, 0x7b, @@ -3832,45 +3655,12 @@ extern "C" const char luisa_cuda_builtin_cuda_device_half[87792] = { 0x76, 0x65, 0x73, 0x32, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x28, 0x76, 0x61, 0x72, 0x2c, 0x20, 0x76, 0x61, 0x72, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x74, 0x65, 0x6d, 0x70, 0x32, 0x20, 0x3d, 0x20, 0x5f, - 0x5f, 0x73, 0x68, 0x66, 0x6c, 0x5f, 0x64, 0x6f, 0x77, 0x6e, 0x28, 0x74, 0x65, 0x6d, 0x70, 0x31, - 0x2c, 0x20, 0x64, 0x65, 0x6c, 0x74, 0x61, 0x2c, 0x20, 0x77, 0x69, 0x64, 0x74, 0x68, 0x29, 0x3b, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x5f, 0x5f, 0x6c, 0x6f, - 0x77, 0x32, 0x68, 0x61, 0x6c, 0x66, 0x28, 0x74, 0x65, 0x6d, 0x70, 0x32, 0x29, 0x3b, 0x0a, 0x7d, - 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, - 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x5f, 0x5f, 0x73, 0x68, 0x66, 0x6c, - 0x5f, 0x78, 0x6f, 0x72, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, - 0x66, 0x20, 0x76, 0x61, 0x72, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x69, 0x6e, 0x74, - 0x20, 0x64, 0x65, 0x6c, 0x74, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x69, 0x6e, - 0x74, 0x20, 0x77, 0x69, 0x64, 0x74, 0x68, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x63, - 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x74, 0x65, 0x6d, - 0x70, 0x31, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x76, 0x65, 0x73, 0x32, 0x68, 0x61, - 0x6c, 0x66, 0x32, 0x28, 0x76, 0x61, 0x72, 0x2c, 0x20, 0x76, 0x61, 0x72, 0x29, 0x3b, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, - 0x20, 0x74, 0x65, 0x6d, 0x70, 0x32, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x73, 0x68, 0x66, 0x6c, 0x5f, - 0x78, 0x6f, 0x72, 0x28, 0x74, 0x65, 0x6d, 0x70, 0x31, 0x2c, 0x20, 0x64, 0x65, 0x6c, 0x74, 0x61, - 0x2c, 0x20, 0x77, 0x69, 0x64, 0x74, 0x68, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, - 0x74, 0x75, 0x72, 0x6e, 0x20, 0x5f, 0x5f, 0x6c, 0x6f, 0x77, 0x32, 0x68, 0x61, 0x6c, 0x66, 0x28, - 0x74, 0x65, 0x6d, 0x70, 0x32, 0x29, 0x3b, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, - 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, - 0x6c, 0x66, 0x20, 0x5f, 0x5f, 0x73, 0x68, 0x66, 0x6c, 0x5f, 0x73, 0x79, 0x6e, 0x63, 0x28, 0x63, - 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x6d, 0x61, - 0x73, 0x6b, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, - 0x20, 0x76, 0x61, 0x72, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x69, 0x6e, 0x74, 0x20, - 0x64, 0x65, 0x6c, 0x74, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x69, 0x6e, 0x74, - 0x20, 0x77, 0x69, 0x64, 0x74, 0x68, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, - 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x74, 0x65, 0x6d, 0x70, - 0x31, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x76, 0x65, 0x73, 0x32, 0x68, 0x61, 0x6c, - 0x66, 0x32, 0x28, 0x76, 0x61, 0x72, 0x2c, 0x20, 0x76, 0x61, 0x72, 0x29, 0x3b, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, - 0x74, 0x65, 0x6d, 0x70, 0x32, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x73, 0x68, 0x66, 0x6c, 0x5f, 0x73, - 0x79, 0x6e, 0x63, 0x28, 0x6d, 0x61, 0x73, 0x6b, 0x2c, 0x20, 0x74, 0x65, 0x6d, 0x70, 0x31, 0x2c, - 0x20, 0x64, 0x65, 0x6c, 0x74, 0x61, 0x2c, 0x20, 0x77, 0x69, 0x64, 0x74, 0x68, 0x29, 0x3b, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x5f, 0x5f, 0x6c, 0x6f, 0x77, - 0x32, 0x68, 0x61, 0x6c, 0x66, 0x28, 0x74, 0x65, 0x6d, 0x70, 0x32, 0x29, 0x3b, 0x0a, 0x7d, 0x0a, - 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, - 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x5f, 0x5f, 0x73, 0x68, 0x66, 0x6c, 0x5f, - 0x75, 0x70, 0x5f, 0x73, 0x79, 0x6e, 0x63, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, - 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x6d, 0x61, 0x73, 0x6b, 0x2c, 0x20, 0x63, 0x6f, 0x6e, + 0x5f, 0x73, 0x68, 0x66, 0x6c, 0x5f, 0x75, 0x70, 0x28, 0x74, 0x65, 0x6d, 0x70, 0x31, 0x2c, 0x20, + 0x64, 0x65, 0x6c, 0x74, 0x61, 0x2c, 0x20, 0x77, 0x69, 0x64, 0x74, 0x68, 0x29, 0x3b, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x5f, 0x5f, 0x6c, 0x6f, 0x77, 0x32, + 0x68, 0x61, 0x6c, 0x66, 0x28, 0x74, 0x65, 0x6d, 0x70, 0x32, 0x29, 0x3b, 0x0a, 0x7d, 0x0a, 0x5f, + 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, + 0x20, 0x5f, 0x5f, 0x73, 0x68, 0x66, 0x6c, 0x5f, 0x64, 0x6f, 0x77, 0x6e, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x76, 0x61, 0x72, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x64, 0x65, 0x6c, 0x74, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x69, @@ -3880,78 +3670,148 @@ extern "C" const char luisa_cuda_builtin_cuda_device_half[87792] = { 0x61, 0x6c, 0x66, 0x32, 0x28, 0x76, 0x61, 0x72, 0x2c, 0x20, 0x76, 0x61, 0x72, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x74, 0x65, 0x6d, 0x70, 0x32, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x73, 0x68, 0x66, 0x6c, - 0x5f, 0x75, 0x70, 0x5f, 0x73, 0x79, 0x6e, 0x63, 0x28, 0x6d, 0x61, 0x73, 0x6b, 0x2c, 0x20, 0x74, - 0x65, 0x6d, 0x70, 0x31, 0x2c, 0x20, 0x64, 0x65, 0x6c, 0x74, 0x61, 0x2c, 0x20, 0x77, 0x69, 0x64, - 0x74, 0x68, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, - 0x5f, 0x5f, 0x6c, 0x6f, 0x77, 0x32, 0x68, 0x61, 0x6c, 0x66, 0x28, 0x74, 0x65, 0x6d, 0x70, 0x32, - 0x29, 0x3b, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, - 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x5f, 0x5f, - 0x73, 0x68, 0x66, 0x6c, 0x5f, 0x64, 0x6f, 0x77, 0x6e, 0x5f, 0x73, 0x79, 0x6e, 0x63, 0x28, 0x63, - 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x6d, 0x61, - 0x73, 0x6b, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, - 0x20, 0x76, 0x61, 0x72, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, - 0x67, 0x6e, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x64, 0x65, 0x6c, 0x74, 0x61, 0x2c, 0x20, - 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x77, 0x69, 0x64, 0x74, 0x68, 0x29, - 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, - 0x61, 0x6c, 0x66, 0x32, 0x20, 0x74, 0x65, 0x6d, 0x70, 0x31, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x68, - 0x61, 0x6c, 0x76, 0x65, 0x73, 0x32, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x28, 0x76, 0x61, 0x72, 0x2c, - 0x20, 0x76, 0x61, 0x72, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, - 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x74, 0x65, 0x6d, 0x70, 0x32, 0x20, 0x3d, - 0x20, 0x5f, 0x5f, 0x73, 0x68, 0x66, 0x6c, 0x5f, 0x64, 0x6f, 0x77, 0x6e, 0x5f, 0x73, 0x79, 0x6e, - 0x63, 0x28, 0x6d, 0x61, 0x73, 0x6b, 0x2c, 0x20, 0x74, 0x65, 0x6d, 0x70, 0x31, 0x2c, 0x20, 0x64, + 0x5f, 0x64, 0x6f, 0x77, 0x6e, 0x28, 0x74, 0x65, 0x6d, 0x70, 0x31, 0x2c, 0x20, 0x64, 0x65, 0x6c, + 0x74, 0x61, 0x2c, 0x20, 0x77, 0x69, 0x64, 0x74, 0x68, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x5f, 0x5f, 0x6c, 0x6f, 0x77, 0x32, 0x68, 0x61, 0x6c, + 0x66, 0x28, 0x74, 0x65, 0x6d, 0x70, 0x32, 0x29, 0x3b, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, + 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x5f, 0x5f, + 0x73, 0x68, 0x66, 0x6c, 0x5f, 0x78, 0x6f, 0x72, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, + 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x76, 0x61, 0x72, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, + 0x20, 0x69, 0x6e, 0x74, 0x20, 0x64, 0x65, 0x6c, 0x74, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, + 0x74, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x77, 0x69, 0x64, 0x74, 0x68, 0x29, 0x20, 0x7b, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, + 0x20, 0x74, 0x65, 0x6d, 0x70, 0x31, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x76, 0x65, + 0x73, 0x32, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x28, 0x76, 0x61, 0x72, 0x2c, 0x20, 0x76, 0x61, 0x72, + 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, + 0x61, 0x6c, 0x66, 0x32, 0x20, 0x74, 0x65, 0x6d, 0x70, 0x32, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x73, + 0x68, 0x66, 0x6c, 0x5f, 0x78, 0x6f, 0x72, 0x28, 0x74, 0x65, 0x6d, 0x70, 0x31, 0x2c, 0x20, 0x64, 0x65, 0x6c, 0x74, 0x61, 0x2c, 0x20, 0x77, 0x69, 0x64, 0x74, 0x68, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x5f, 0x5f, 0x6c, 0x6f, 0x77, 0x32, 0x68, 0x61, 0x6c, 0x66, 0x28, 0x74, 0x65, 0x6d, 0x70, 0x32, 0x29, 0x3b, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, - 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, - 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x5f, 0x5f, 0x73, 0x68, 0x66, 0x6c, 0x5f, 0x78, 0x6f, - 0x72, 0x5f, 0x73, 0x79, 0x6e, 0x63, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, - 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x6d, 0x61, 0x73, 0x6b, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, - 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x76, 0x61, 0x72, 0x2c, 0x20, 0x63, 0x6f, - 0x6e, 0x73, 0x74, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x64, 0x65, 0x6c, 0x74, 0x61, 0x2c, 0x20, 0x63, + 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, + 0x5f, 0x5f, 0x73, 0x68, 0x66, 0x6c, 0x5f, 0x73, 0x79, 0x6e, 0x63, 0x28, 0x63, 0x6f, 0x6e, 0x73, + 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x6d, 0x61, 0x73, 0x6b, 0x2c, + 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x76, 0x61, + 0x72, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x64, 0x65, 0x6c, + 0x74, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x77, 0x69, + 0x64, 0x74, 0x68, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, + 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x74, 0x65, 0x6d, 0x70, 0x31, 0x20, 0x3d, + 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x76, 0x65, 0x73, 0x32, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x28, + 0x76, 0x61, 0x72, 0x2c, 0x20, 0x76, 0x61, 0x72, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x63, + 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x74, 0x65, 0x6d, + 0x70, 0x32, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x73, 0x68, 0x66, 0x6c, 0x5f, 0x73, 0x79, 0x6e, 0x63, + 0x28, 0x6d, 0x61, 0x73, 0x6b, 0x2c, 0x20, 0x74, 0x65, 0x6d, 0x70, 0x31, 0x2c, 0x20, 0x64, 0x65, + 0x6c, 0x74, 0x61, 0x2c, 0x20, 0x77, 0x69, 0x64, 0x74, 0x68, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x5f, 0x5f, 0x6c, 0x6f, 0x77, 0x32, 0x68, 0x61, + 0x6c, 0x66, 0x28, 0x74, 0x65, 0x6d, 0x70, 0x32, 0x29, 0x3b, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, + 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x5f, + 0x5f, 0x73, 0x68, 0x66, 0x6c, 0x5f, 0x75, 0x70, 0x5f, 0x73, 0x79, 0x6e, 0x63, 0x28, 0x63, 0x6f, + 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x6d, 0x61, 0x73, + 0x6b, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, + 0x76, 0x61, 0x72, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, + 0x6e, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x64, 0x65, 0x6c, 0x74, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x77, 0x69, 0x64, 0x74, 0x68, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x74, 0x65, 0x6d, 0x70, 0x31, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x76, 0x65, 0x73, 0x32, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x28, 0x76, 0x61, 0x72, 0x2c, 0x20, 0x76, 0x61, 0x72, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x74, 0x65, 0x6d, 0x70, 0x32, 0x20, 0x3d, 0x20, - 0x5f, 0x5f, 0x73, 0x68, 0x66, 0x6c, 0x5f, 0x78, 0x6f, 0x72, 0x5f, 0x73, 0x79, 0x6e, 0x63, 0x28, - 0x6d, 0x61, 0x73, 0x6b, 0x2c, 0x20, 0x74, 0x65, 0x6d, 0x70, 0x31, 0x2c, 0x20, 0x64, 0x65, 0x6c, - 0x74, 0x61, 0x2c, 0x20, 0x77, 0x69, 0x64, 0x74, 0x68, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x5f, 0x5f, 0x6c, 0x6f, 0x77, 0x32, 0x68, 0x61, 0x6c, - 0x66, 0x28, 0x74, 0x65, 0x6d, 0x70, 0x32, 0x29, 0x3b, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, - 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, - 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x5f, 0x5f, 0x6c, 0x64, 0x67, 0x28, 0x63, 0x6f, 0x6e, 0x73, - 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x2a, 0x63, 0x6f, 0x6e, 0x73, 0x74, - 0x20, 0x70, 0x74, 0x72, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x68, 0x61, - 0x6c, 0x66, 0x32, 0x20, 0x72, 0x65, 0x74, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, - 0x28, 0x22, 0x6c, 0x64, 0x2e, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2e, 0x6e, 0x63, 0x2e, 0x62, - 0x33, 0x32, 0x20, 0x25, 0x30, 0x2c, 0x20, 0x5b, 0x25, 0x31, 0x5d, 0x3b, 0x22, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x72, 0x22, 0x28, 0x2a, 0x28, 0x72, - 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, - 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x2a, 0x3e, 0x28, - 0x26, 0x28, 0x72, 0x65, 0x74, 0x29, 0x29, 0x29, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x3a, 0x20, 0x22, 0x6c, 0x22, 0x28, 0x70, 0x74, 0x72, 0x29, 0x29, 0x3b, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x72, 0x65, 0x74, 0x3b, 0x0a, 0x7d, - 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, - 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x5f, 0x5f, 0x6c, 0x64, 0x67, 0x28, - 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x2a, 0x63, 0x6f, - 0x6e, 0x73, 0x74, 0x20, 0x70, 0x74, 0x72, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5f, - 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x72, 0x65, 0x74, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, - 0x73, 0x6d, 0x28, 0x22, 0x6c, 0x64, 0x2e, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2e, 0x6e, 0x63, - 0x2e, 0x62, 0x31, 0x36, 0x20, 0x25, 0x30, 0x2c, 0x20, 0x5b, 0x25, 0x31, 0x5d, 0x3b, 0x22, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x68, 0x22, 0x28, 0x2a, - 0x28, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, - 0x74, 0x3c, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, - 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x72, 0x65, 0x74, 0x29, 0x29, 0x29, 0x29, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x6c, 0x22, 0x28, 0x70, 0x74, 0x72, 0x29, - 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x72, 0x65, - 0x74, 0x3b, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, - 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x5f, - 0x5f, 0x6c, 0x64, 0x63, 0x67, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, + 0x5f, 0x5f, 0x73, 0x68, 0x66, 0x6c, 0x5f, 0x75, 0x70, 0x5f, 0x73, 0x79, 0x6e, 0x63, 0x28, 0x6d, + 0x61, 0x73, 0x6b, 0x2c, 0x20, 0x74, 0x65, 0x6d, 0x70, 0x31, 0x2c, 0x20, 0x64, 0x65, 0x6c, 0x74, + 0x61, 0x2c, 0x20, 0x77, 0x69, 0x64, 0x74, 0x68, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, + 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x5f, 0x5f, 0x6c, 0x6f, 0x77, 0x32, 0x68, 0x61, 0x6c, 0x66, + 0x28, 0x74, 0x65, 0x6d, 0x70, 0x32, 0x29, 0x3b, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, + 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x5f, 0x5f, 0x73, + 0x68, 0x66, 0x6c, 0x5f, 0x64, 0x6f, 0x77, 0x6e, 0x5f, 0x73, 0x79, 0x6e, 0x63, 0x28, 0x63, 0x6f, + 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x6d, 0x61, 0x73, + 0x6b, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, + 0x76, 0x61, 0x72, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, + 0x6e, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x64, 0x65, 0x6c, 0x74, 0x61, 0x2c, 0x20, 0x63, + 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x77, 0x69, 0x64, 0x74, 0x68, 0x29, 0x20, + 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, + 0x6c, 0x66, 0x32, 0x20, 0x74, 0x65, 0x6d, 0x70, 0x31, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x68, 0x61, + 0x6c, 0x76, 0x65, 0x73, 0x32, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x28, 0x76, 0x61, 0x72, 0x2c, 0x20, + 0x76, 0x61, 0x72, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, + 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x74, 0x65, 0x6d, 0x70, 0x32, 0x20, 0x3d, 0x20, + 0x5f, 0x5f, 0x73, 0x68, 0x66, 0x6c, 0x5f, 0x64, 0x6f, 0x77, 0x6e, 0x5f, 0x73, 0x79, 0x6e, 0x63, + 0x28, 0x6d, 0x61, 0x73, 0x6b, 0x2c, 0x20, 0x74, 0x65, 0x6d, 0x70, 0x31, 0x2c, 0x20, 0x64, 0x65, + 0x6c, 0x74, 0x61, 0x2c, 0x20, 0x77, 0x69, 0x64, 0x74, 0x68, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x5f, 0x5f, 0x6c, 0x6f, 0x77, 0x32, 0x68, 0x61, + 0x6c, 0x66, 0x28, 0x74, 0x65, 0x6d, 0x70, 0x32, 0x29, 0x3b, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, + 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x5f, + 0x5f, 0x73, 0x68, 0x66, 0x6c, 0x5f, 0x78, 0x6f, 0x72, 0x5f, 0x73, 0x79, 0x6e, 0x63, 0x28, 0x63, + 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x6d, 0x61, + 0x73, 0x6b, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, + 0x20, 0x76, 0x61, 0x72, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x69, 0x6e, 0x74, 0x20, + 0x64, 0x65, 0x6c, 0x74, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x69, 0x6e, 0x74, + 0x20, 0x77, 0x69, 0x64, 0x74, 0x68, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, + 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x74, 0x65, 0x6d, 0x70, + 0x31, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x76, 0x65, 0x73, 0x32, 0x68, 0x61, 0x6c, + 0x66, 0x32, 0x28, 0x76, 0x61, 0x72, 0x2c, 0x20, 0x76, 0x61, 0x72, 0x29, 0x3b, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, + 0x74, 0x65, 0x6d, 0x70, 0x32, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x73, 0x68, 0x66, 0x6c, 0x5f, 0x78, + 0x6f, 0x72, 0x5f, 0x73, 0x79, 0x6e, 0x63, 0x28, 0x6d, 0x61, 0x73, 0x6b, 0x2c, 0x20, 0x74, 0x65, + 0x6d, 0x70, 0x31, 0x2c, 0x20, 0x64, 0x65, 0x6c, 0x74, 0x61, 0x2c, 0x20, 0x77, 0x69, 0x64, 0x74, + 0x68, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x5f, + 0x5f, 0x6c, 0x6f, 0x77, 0x32, 0x68, 0x61, 0x6c, 0x66, 0x28, 0x74, 0x65, 0x6d, 0x70, 0x32, 0x29, + 0x3b, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, + 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x5f, 0x5f, 0x6c, 0x64, 0x67, 0x28, 0x63, 0x6f, 0x6e, + 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x2a, 0x63, 0x6f, 0x6e, 0x73, + 0x74, 0x20, 0x70, 0x74, 0x72, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x68, + 0x61, 0x6c, 0x66, 0x32, 0x20, 0x72, 0x65, 0x74, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, + 0x6d, 0x28, 0x22, 0x6c, 0x64, 0x2e, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2e, 0x6e, 0x63, 0x2e, + 0x62, 0x33, 0x32, 0x20, 0x25, 0x30, 0x2c, 0x20, 0x5b, 0x25, 0x31, 0x5d, 0x3b, 0x22, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x72, 0x22, 0x28, 0x2a, 0x28, + 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, + 0x3c, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x2a, 0x3e, + 0x28, 0x26, 0x28, 0x72, 0x65, 0x74, 0x29, 0x29, 0x29, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x6c, 0x22, 0x28, 0x70, 0x74, 0x72, 0x29, 0x29, 0x3b, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x72, 0x65, 0x74, 0x3b, 0x0a, + 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, + 0x61, 0x6c, 0x66, 0x20, 0x5f, 0x5f, 0x6c, 0x64, 0x67, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, + 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x2a, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x70, 0x74, + 0x72, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, + 0x72, 0x65, 0x74, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x6c, 0x64, + 0x2e, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2e, 0x6e, 0x63, 0x2e, 0x62, 0x31, 0x36, 0x20, 0x25, + 0x30, 0x2c, 0x20, 0x5b, 0x25, 0x31, 0x5d, 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x68, 0x22, 0x28, 0x2a, 0x28, 0x72, 0x65, 0x69, 0x6e, 0x74, + 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x75, 0x6e, 0x73, 0x69, + 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, + 0x72, 0x65, 0x74, 0x29, 0x29, 0x29, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x3a, 0x20, 0x22, 0x6c, 0x22, 0x28, 0x70, 0x74, 0x72, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x72, 0x65, 0x74, 0x3b, 0x0a, 0x7d, 0x0a, 0x5f, + 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, + 0x32, 0x20, 0x5f, 0x5f, 0x6c, 0x64, 0x63, 0x67, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, + 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x2a, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x70, 0x74, + 0x72, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, + 0x20, 0x72, 0x65, 0x74, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x6c, + 0x64, 0x2e, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2e, 0x63, 0x67, 0x2e, 0x62, 0x33, 0x32, 0x20, + 0x25, 0x30, 0x2c, 0x20, 0x5b, 0x25, 0x31, 0x5d, 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x72, 0x22, 0x28, 0x2a, 0x28, 0x72, 0x65, 0x69, 0x6e, + 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x75, 0x6e, 0x73, + 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x72, + 0x65, 0x74, 0x29, 0x29, 0x29, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, + 0x20, 0x22, 0x6c, 0x22, 0x28, 0x70, 0x74, 0x72, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x72, 0x65, 0x74, 0x3b, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, + 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, + 0x5f, 0x5f, 0x6c, 0x64, 0x63, 0x67, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, + 0x61, 0x6c, 0x66, 0x20, 0x2a, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x70, 0x74, 0x72, 0x29, 0x20, + 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x72, 0x65, 0x74, + 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x6c, 0x64, 0x2e, 0x67, 0x6c, + 0x6f, 0x62, 0x61, 0x6c, 0x2e, 0x63, 0x67, 0x2e, 0x62, 0x31, 0x36, 0x20, 0x25, 0x30, 0x2c, 0x20, + 0x5b, 0x25, 0x31, 0x5d, 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, + 0x20, 0x22, 0x3d, 0x68, 0x22, 0x28, 0x2a, 0x28, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, + 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, + 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x72, 0x65, 0x74, + 0x29, 0x29, 0x29, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, + 0x6c, 0x22, 0x28, 0x70, 0x74, 0x72, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, + 0x74, 0x75, 0x72, 0x6e, 0x20, 0x72, 0x65, 0x74, 0x3b, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, + 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x5f, + 0x5f, 0x6c, 0x64, 0x63, 0x61, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x2a, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x70, 0x74, 0x72, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x72, 0x65, 0x74, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x6c, 0x64, 0x2e, 0x67, - 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2e, 0x63, 0x67, 0x2e, 0x62, 0x33, 0x32, 0x20, 0x25, 0x30, 0x2c, + 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2e, 0x63, 0x61, 0x2e, 0x62, 0x33, 0x32, 0x20, 0x25, 0x30, 0x2c, 0x20, 0x5b, 0x25, 0x31, 0x5d, 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x72, 0x22, 0x28, 0x2a, 0x28, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, @@ -3959,61 +3819,33 @@ extern "C" const char luisa_cuda_builtin_cuda_device_half[87792] = { 0x29, 0x29, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x6c, 0x22, 0x28, 0x70, 0x74, 0x72, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x72, 0x65, 0x74, 0x3b, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, - 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, - 0x61, 0x6c, 0x66, 0x20, 0x5f, 0x5f, 0x6c, 0x64, 0x63, 0x67, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, - 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x2a, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x70, - 0x74, 0x72, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, - 0x20, 0x72, 0x65, 0x74, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x6c, - 0x64, 0x2e, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2e, 0x63, 0x67, 0x2e, 0x62, 0x31, 0x36, 0x20, - 0x25, 0x30, 0x2c, 0x20, 0x5b, 0x25, 0x31, 0x5d, 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x68, 0x22, 0x28, 0x2a, 0x28, 0x72, 0x65, 0x69, 0x6e, - 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x75, 0x6e, 0x73, - 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, - 0x28, 0x72, 0x65, 0x74, 0x29, 0x29, 0x29, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x3a, 0x20, 0x22, 0x6c, 0x22, 0x28, 0x70, 0x74, 0x72, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x72, 0x65, 0x74, 0x3b, 0x0a, 0x7d, 0x0a, - 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, - 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x5f, 0x5f, 0x6c, 0x64, 0x63, 0x61, - 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x2a, - 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x70, 0x74, 0x72, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x72, 0x65, 0x74, 0x3b, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x6c, 0x64, 0x2e, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, - 0x2e, 0x63, 0x61, 0x2e, 0x62, 0x33, 0x32, 0x20, 0x25, 0x30, 0x2c, 0x20, 0x5b, 0x25, 0x31, 0x5d, - 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x72, - 0x22, 0x28, 0x2a, 0x28, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, - 0x63, 0x61, 0x73, 0x74, 0x3c, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x69, 0x6e, - 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x72, 0x65, 0x74, 0x29, 0x29, 0x29, 0x29, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x6c, 0x22, 0x28, 0x70, 0x74, 0x72, - 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x72, - 0x65, 0x74, 0x3b, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, - 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x5f, - 0x5f, 0x6c, 0x64, 0x63, 0x61, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, - 0x6c, 0x66, 0x20, 0x2a, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x70, 0x74, 0x72, 0x29, 0x20, 0x7b, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x72, 0x65, 0x74, 0x3b, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x6c, 0x64, 0x2e, 0x67, 0x6c, 0x6f, - 0x62, 0x61, 0x6c, 0x2e, 0x63, 0x61, 0x2e, 0x62, 0x31, 0x36, 0x20, 0x25, 0x30, 0x2c, 0x20, 0x5b, - 0x25, 0x31, 0x5d, 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, - 0x22, 0x3d, 0x68, 0x22, 0x28, 0x2a, 0x28, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, - 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, - 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x72, 0x65, 0x74, 0x29, - 0x29, 0x29, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x6c, - 0x22, 0x28, 0x70, 0x74, 0x72, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, - 0x75, 0x72, 0x6e, 0x20, 0x72, 0x65, 0x74, 0x3b, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, - 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, - 0x61, 0x6c, 0x66, 0x32, 0x20, 0x5f, 0x5f, 0x6c, 0x64, 0x63, 0x73, 0x28, 0x63, 0x6f, 0x6e, 0x73, - 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x2a, 0x63, 0x6f, 0x6e, 0x73, 0x74, - 0x20, 0x70, 0x74, 0x72, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x68, 0x61, - 0x6c, 0x66, 0x32, 0x20, 0x72, 0x65, 0x74, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, - 0x28, 0x22, 0x6c, 0x64, 0x2e, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2e, 0x63, 0x73, 0x2e, 0x62, - 0x33, 0x32, 0x20, 0x25, 0x30, 0x2c, 0x20, 0x5b, 0x25, 0x31, 0x5d, 0x3b, 0x22, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x72, 0x22, 0x28, 0x2a, 0x28, 0x72, - 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, - 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x2a, 0x3e, 0x28, - 0x26, 0x28, 0x72, 0x65, 0x74, 0x29, 0x29, 0x29, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x3a, 0x20, 0x22, 0x6c, 0x22, 0x28, 0x70, 0x74, 0x72, 0x29, 0x29, 0x3b, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x72, 0x65, 0x74, 0x3b, 0x0a, 0x7d, - 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, - 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x5f, 0x5f, 0x6c, 0x64, 0x63, 0x73, + 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x5f, 0x5f, 0x6c, + 0x64, 0x63, 0x61, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, + 0x20, 0x2a, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x70, 0x74, 0x72, 0x29, 0x20, 0x7b, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x72, 0x65, 0x74, 0x3b, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x6c, 0x64, 0x2e, 0x67, 0x6c, 0x6f, 0x62, 0x61, + 0x6c, 0x2e, 0x63, 0x61, 0x2e, 0x62, 0x31, 0x36, 0x20, 0x25, 0x30, 0x2c, 0x20, 0x5b, 0x25, 0x31, + 0x5d, 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, + 0x68, 0x22, 0x28, 0x2a, 0x28, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, + 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, + 0x68, 0x6f, 0x72, 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x72, 0x65, 0x74, 0x29, 0x29, 0x29, + 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x6c, 0x22, 0x28, + 0x70, 0x74, 0x72, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, + 0x6e, 0x20, 0x72, 0x65, 0x74, 0x3b, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, + 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x5f, 0x5f, 0x6c, 0x64, + 0x63, 0x73, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, + 0x20, 0x2a, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x70, 0x74, 0x72, 0x29, 0x20, 0x7b, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x72, 0x65, 0x74, 0x3b, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x6c, 0x64, 0x2e, 0x67, 0x6c, 0x6f, 0x62, + 0x61, 0x6c, 0x2e, 0x63, 0x73, 0x2e, 0x62, 0x33, 0x32, 0x20, 0x25, 0x30, 0x2c, 0x20, 0x5b, 0x25, + 0x31, 0x5d, 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, + 0x3d, 0x72, 0x22, 0x28, 0x2a, 0x28, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, + 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, + 0x69, 0x6e, 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x72, 0x65, 0x74, 0x29, 0x29, 0x29, 0x29, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x6c, 0x22, 0x28, 0x70, + 0x74, 0x72, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, + 0x20, 0x72, 0x65, 0x74, 0x3b, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, + 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x5f, 0x5f, 0x6c, 0x64, 0x63, 0x73, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x2a, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x70, 0x74, 0x72, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x72, 0x65, 0x74, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, @@ -4026,222 +3858,215 @@ extern "C" const char luisa_cuda_builtin_cuda_device_half[87792] = { 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x6c, 0x22, 0x28, 0x70, 0x74, 0x72, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x72, 0x65, 0x74, 0x3b, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, - 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, - 0x5f, 0x5f, 0x6c, 0x64, 0x6c, 0x75, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, - 0x61, 0x6c, 0x66, 0x32, 0x20, 0x2a, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x70, 0x74, 0x72, 0x29, - 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x72, - 0x65, 0x74, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x6c, 0x64, 0x2e, - 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2e, 0x6c, 0x75, 0x2e, 0x62, 0x33, 0x32, 0x20, 0x25, 0x30, - 0x2c, 0x20, 0x5b, 0x25, 0x31, 0x5d, 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x72, 0x22, 0x28, 0x2a, 0x28, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, - 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x75, 0x6e, 0x73, 0x69, 0x67, - 0x6e, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x72, 0x65, 0x74, - 0x29, 0x29, 0x29, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, - 0x6c, 0x22, 0x28, 0x70, 0x74, 0x72, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x3a, 0x20, 0x22, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x22, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x72, 0x65, 0x74, 0x3b, 0x0a, 0x7d, 0x0a, 0x5f, - 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, - 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x5f, 0x5f, 0x6c, 0x64, 0x6c, 0x75, 0x28, 0x63, - 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x2a, 0x63, 0x6f, 0x6e, - 0x73, 0x74, 0x20, 0x70, 0x74, 0x72, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, - 0x68, 0x61, 0x6c, 0x66, 0x20, 0x72, 0x65, 0x74, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, - 0x6d, 0x28, 0x22, 0x6c, 0x64, 0x2e, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2e, 0x6c, 0x75, 0x2e, - 0x62, 0x31, 0x36, 0x20, 0x25, 0x30, 0x2c, 0x20, 0x5b, 0x25, 0x31, 0x5d, 0x3b, 0x22, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x68, 0x22, 0x28, 0x2a, 0x28, - 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, - 0x3c, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, - 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x72, 0x65, 0x74, 0x29, 0x29, 0x29, 0x29, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x6c, 0x22, 0x28, 0x70, 0x74, 0x72, 0x29, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x6d, 0x65, 0x6d, 0x6f, 0x72, - 0x79, 0x22, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, - 0x72, 0x65, 0x74, 0x3b, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, - 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, - 0x20, 0x5f, 0x5f, 0x6c, 0x64, 0x63, 0x76, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, - 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x2a, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x70, 0x74, 0x72, - 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, - 0x72, 0x65, 0x74, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x6c, 0x64, - 0x2e, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2e, 0x63, 0x76, 0x2e, 0x62, 0x33, 0x32, 0x20, 0x25, - 0x30, 0x2c, 0x20, 0x5b, 0x25, 0x31, 0x5d, 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x72, 0x22, 0x28, 0x2a, 0x28, 0x72, 0x65, 0x69, 0x6e, 0x74, - 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x75, 0x6e, 0x73, 0x69, - 0x67, 0x6e, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x72, 0x65, - 0x74, 0x29, 0x29, 0x29, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, - 0x22, 0x6c, 0x22, 0x28, 0x70, 0x74, 0x72, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x3a, 0x20, 0x22, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x22, 0x29, 0x3b, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x72, 0x65, 0x74, 0x3b, 0x0a, 0x7d, 0x0a, - 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, - 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x5f, 0x5f, 0x6c, 0x64, 0x63, 0x76, 0x28, - 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x2a, 0x63, 0x6f, - 0x6e, 0x73, 0x74, 0x20, 0x70, 0x74, 0x72, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5f, - 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x72, 0x65, 0x74, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, - 0x73, 0x6d, 0x28, 0x22, 0x6c, 0x64, 0x2e, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2e, 0x63, 0x76, - 0x2e, 0x62, 0x31, 0x36, 0x20, 0x25, 0x30, 0x2c, 0x20, 0x5b, 0x25, 0x31, 0x5d, 0x3b, 0x22, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x68, 0x22, 0x28, 0x2a, - 0x28, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, - 0x74, 0x3c, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, + 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x5f, 0x5f, 0x6c, 0x64, 0x6c, 0x75, 0x28, + 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x2a, 0x63, + 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x70, 0x74, 0x72, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x72, 0x65, 0x74, 0x3b, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x6c, 0x64, 0x2e, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2e, + 0x6c, 0x75, 0x2e, 0x62, 0x33, 0x32, 0x20, 0x25, 0x30, 0x2c, 0x20, 0x5b, 0x25, 0x31, 0x5d, 0x3b, + 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x72, 0x22, + 0x28, 0x2a, 0x28, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, + 0x61, 0x73, 0x74, 0x3c, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x72, 0x65, 0x74, 0x29, 0x29, 0x29, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x6c, 0x22, 0x28, 0x70, 0x74, 0x72, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x22, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x72, 0x65, 0x74, 0x3b, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, - 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x76, 0x6f, 0x69, 0x64, 0x20, 0x5f, - 0x5f, 0x73, 0x74, 0x77, 0x62, 0x28, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x2a, 0x63, - 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x70, 0x74, 0x72, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, - 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x29, 0x20, 0x7b, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x73, 0x74, 0x2e, 0x67, 0x6c, 0x6f, - 0x62, 0x61, 0x6c, 0x2e, 0x77, 0x62, 0x2e, 0x62, 0x33, 0x32, 0x20, 0x5b, 0x25, 0x30, 0x5d, 0x2c, - 0x20, 0x25, 0x31, 0x3b, 0x22, 0x20, 0x3a, 0x3a, 0x22, 0x6c, 0x22, 0x28, 0x70, 0x74, 0x72, 0x29, - 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x2a, 0x28, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, - 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, - 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, + 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x5f, 0x5f, 0x6c, 0x64, 0x6c, 0x75, + 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x2a, 0x63, + 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x70, 0x74, 0x72, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x72, 0x65, 0x74, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x61, 0x73, 0x6d, 0x28, 0x22, 0x6c, 0x64, 0x2e, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2e, 0x6c, + 0x75, 0x2e, 0x62, 0x31, 0x36, 0x20, 0x25, 0x30, 0x2c, 0x20, 0x5b, 0x25, 0x31, 0x5d, 0x3b, 0x22, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x68, 0x22, 0x28, + 0x2a, 0x28, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, + 0x73, 0x74, 0x3c, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, + 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x72, 0x65, 0x74, 0x29, 0x29, 0x29, 0x29, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x6c, 0x22, 0x28, 0x70, 0x74, 0x72, + 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x6d, 0x65, 0x6d, + 0x6f, 0x72, 0x79, 0x22, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, + 0x6e, 0x20, 0x72, 0x65, 0x74, 0x3b, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, + 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x5f, 0x5f, 0x6c, 0x64, + 0x63, 0x76, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, + 0x20, 0x2a, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x70, 0x74, 0x72, 0x29, 0x20, 0x7b, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x72, 0x65, 0x74, 0x3b, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x6c, 0x64, 0x2e, 0x67, 0x6c, 0x6f, 0x62, + 0x61, 0x6c, 0x2e, 0x63, 0x76, 0x2e, 0x62, 0x33, 0x32, 0x20, 0x25, 0x30, 0x2c, 0x20, 0x5b, 0x25, + 0x31, 0x5d, 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, + 0x3d, 0x72, 0x22, 0x28, 0x2a, 0x28, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, + 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, + 0x69, 0x6e, 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x72, 0x65, 0x74, 0x29, 0x29, 0x29, 0x29, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x6c, 0x22, 0x28, 0x70, + 0x74, 0x72, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x6d, + 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x22, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, + 0x75, 0x72, 0x6e, 0x20, 0x72, 0x65, 0x74, 0x3b, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, + 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x5f, 0x5f, 0x6c, + 0x64, 0x63, 0x76, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, + 0x20, 0x2a, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x70, 0x74, 0x72, 0x29, 0x20, 0x7b, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x72, 0x65, 0x74, 0x3b, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x6c, 0x64, 0x2e, 0x67, 0x6c, 0x6f, 0x62, 0x61, + 0x6c, 0x2e, 0x63, 0x76, 0x2e, 0x62, 0x31, 0x36, 0x20, 0x25, 0x30, 0x2c, 0x20, 0x5b, 0x25, 0x31, + 0x5d, 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, + 0x68, 0x22, 0x28, 0x2a, 0x28, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, + 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, + 0x68, 0x6f, 0x72, 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x72, 0x65, 0x74, 0x29, 0x29, 0x29, + 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x6c, 0x22, 0x28, + 0x70, 0x74, 0x72, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, + 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x22, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, + 0x74, 0x75, 0x72, 0x6e, 0x20, 0x72, 0x65, 0x74, 0x3b, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, + 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x76, 0x6f, 0x69, 0x64, 0x20, 0x5f, 0x5f, 0x73, 0x74, + 0x77, 0x62, 0x28, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x2a, 0x63, 0x6f, 0x6e, 0x73, + 0x74, 0x20, 0x70, 0x74, 0x72, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, + 0x61, 0x6c, 0x66, 0x32, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x73, 0x74, 0x2e, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, + 0x2e, 0x77, 0x62, 0x2e, 0x62, 0x33, 0x32, 0x20, 0x5b, 0x25, 0x30, 0x5d, 0x2c, 0x20, 0x25, 0x31, + 0x3b, 0x22, 0x20, 0x3a, 0x3a, 0x22, 0x6c, 0x22, 0x28, 0x70, 0x74, 0x72, 0x29, 0x2c, 0x20, 0x22, + 0x72, 0x22, 0x28, 0x2a, 0x28, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, + 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, + 0x67, 0x6e, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x29, 0x29, 0x29, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x3a, 0x20, 0x22, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x22, 0x29, 0x3b, 0x0a, 0x7d, 0x0a, 0x5f, + 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x76, 0x6f, 0x69, 0x64, 0x20, 0x5f, + 0x5f, 0x73, 0x74, 0x77, 0x62, 0x28, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x2a, 0x63, 0x6f, + 0x6e, 0x73, 0x74, 0x20, 0x70, 0x74, 0x72, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, + 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x29, 0x20, 0x7b, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x73, 0x74, 0x2e, 0x67, 0x6c, 0x6f, 0x62, 0x61, + 0x6c, 0x2e, 0x77, 0x62, 0x2e, 0x62, 0x31, 0x36, 0x20, 0x5b, 0x25, 0x30, 0x5d, 0x2c, 0x20, 0x25, + 0x31, 0x3b, 0x22, 0x20, 0x3a, 0x3a, 0x22, 0x6c, 0x22, 0x28, 0x70, 0x74, 0x72, 0x29, 0x2c, 0x20, + 0x22, 0x68, 0x22, 0x28, 0x2a, 0x28, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, + 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, + 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x29, 0x29, 0x29, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x22, 0x29, 0x3b, 0x0a, - 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, - 0x69, 0x6e, 0x65, 0x20, 0x76, 0x6f, 0x69, 0x64, 0x20, 0x5f, 0x5f, 0x73, 0x74, 0x77, 0x62, 0x28, - 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x2a, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x70, 0x74, - 0x72, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, - 0x28, 0x22, 0x73, 0x74, 0x2e, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2e, 0x77, 0x62, 0x2e, 0x62, - 0x31, 0x36, 0x20, 0x5b, 0x25, 0x30, 0x5d, 0x2c, 0x20, 0x25, 0x31, 0x3b, 0x22, 0x20, 0x3a, 0x3a, - 0x22, 0x6c, 0x22, 0x28, 0x70, 0x74, 0x72, 0x29, 0x2c, 0x20, 0x22, 0x68, 0x22, 0x28, 0x2a, 0x28, - 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, - 0x3c, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, - 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x29, 0x29, 0x29, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, - 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x22, 0x29, 0x3b, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, - 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x76, 0x6f, - 0x69, 0x64, 0x20, 0x5f, 0x5f, 0x73, 0x74, 0x63, 0x67, 0x28, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, - 0x32, 0x20, 0x2a, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x70, 0x74, 0x72, 0x2c, 0x20, 0x63, 0x6f, - 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x76, 0x61, 0x6c, 0x75, + 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x76, 0x6f, 0x69, + 0x64, 0x20, 0x5f, 0x5f, 0x73, 0x74, 0x63, 0x67, 0x28, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, + 0x20, 0x2a, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x70, 0x74, 0x72, 0x2c, 0x20, 0x63, 0x6f, 0x6e, + 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x73, 0x74, 0x2e, + 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2e, 0x63, 0x67, 0x2e, 0x62, 0x33, 0x32, 0x20, 0x5b, 0x25, + 0x30, 0x5d, 0x2c, 0x20, 0x25, 0x31, 0x3b, 0x22, 0x20, 0x3a, 0x3a, 0x22, 0x6c, 0x22, 0x28, 0x70, + 0x74, 0x72, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x2a, 0x28, 0x72, 0x65, 0x69, 0x6e, 0x74, + 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x63, 0x6f, 0x6e, 0x73, + 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x2a, + 0x3e, 0x28, 0x26, 0x28, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x29, 0x29, 0x29, 0x29, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x22, + 0x29, 0x3b, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, + 0x76, 0x6f, 0x69, 0x64, 0x20, 0x5f, 0x5f, 0x73, 0x74, 0x63, 0x67, 0x28, 0x5f, 0x5f, 0x68, 0x61, + 0x6c, 0x66, 0x20, 0x2a, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x70, 0x74, 0x72, 0x2c, 0x20, 0x63, + 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x73, 0x74, - 0x2e, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2e, 0x63, 0x67, 0x2e, 0x62, 0x33, 0x32, 0x20, 0x5b, + 0x2e, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2e, 0x63, 0x67, 0x2e, 0x62, 0x31, 0x36, 0x20, 0x5b, 0x25, 0x30, 0x5d, 0x2c, 0x20, 0x25, 0x31, 0x3b, 0x22, 0x20, 0x3a, 0x3a, 0x22, 0x6c, 0x22, 0x28, - 0x70, 0x74, 0x72, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x2a, 0x28, 0x72, 0x65, 0x69, 0x6e, + 0x70, 0x74, 0x72, 0x29, 0x2c, 0x20, 0x22, 0x68, 0x22, 0x28, 0x2a, 0x28, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x63, 0x6f, 0x6e, - 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x74, 0x20, - 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x29, 0x29, 0x29, 0x29, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, - 0x22, 0x29, 0x3b, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, - 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x76, 0x6f, 0x69, 0x64, 0x20, 0x5f, 0x5f, 0x73, - 0x74, 0x63, 0x67, 0x28, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x2a, 0x63, 0x6f, 0x6e, 0x73, - 0x74, 0x20, 0x70, 0x74, 0x72, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, - 0x61, 0x6c, 0x66, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x73, 0x74, 0x2e, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2e, - 0x63, 0x67, 0x2e, 0x62, 0x31, 0x36, 0x20, 0x5b, 0x25, 0x30, 0x5d, 0x2c, 0x20, 0x25, 0x31, 0x3b, - 0x22, 0x20, 0x3a, 0x3a, 0x22, 0x6c, 0x22, 0x28, 0x70, 0x74, 0x72, 0x29, 0x2c, 0x20, 0x22, 0x68, - 0x22, 0x28, 0x2a, 0x28, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, - 0x63, 0x61, 0x73, 0x74, 0x3c, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, - 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x29, 0x29, 0x29, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x3a, 0x20, 0x22, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x22, 0x29, 0x3b, 0x0a, 0x7d, 0x0a, - 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, - 0x65, 0x20, 0x76, 0x6f, 0x69, 0x64, 0x20, 0x5f, 0x5f, 0x73, 0x74, 0x63, 0x73, 0x28, 0x5f, 0x5f, - 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x2a, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x70, 0x74, 0x72, - 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, - 0x28, 0x22, 0x73, 0x74, 0x2e, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2e, 0x63, 0x73, 0x2e, 0x62, - 0x33, 0x32, 0x20, 0x5b, 0x25, 0x30, 0x5d, 0x2c, 0x20, 0x25, 0x31, 0x3b, 0x22, 0x20, 0x3a, 0x3a, - 0x22, 0x6c, 0x22, 0x28, 0x70, 0x74, 0x72, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x2a, 0x28, - 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, - 0x3c, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, - 0x69, 0x6e, 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x29, 0x29, - 0x29, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x6d, 0x65, - 0x6d, 0x6f, 0x72, 0x79, 0x22, 0x29, 0x3b, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, - 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x76, 0x6f, 0x69, 0x64, - 0x20, 0x5f, 0x5f, 0x73, 0x74, 0x63, 0x73, 0x28, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x2a, + 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, + 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x29, 0x29, 0x29, 0x29, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x6d, 0x65, 0x6d, 0x6f, + 0x72, 0x79, 0x22, 0x29, 0x3b, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, + 0x5f, 0x5f, 0x20, 0x76, 0x6f, 0x69, 0x64, 0x20, 0x5f, 0x5f, 0x73, 0x74, 0x63, 0x73, 0x28, 0x5f, + 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x2a, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x70, 0x74, + 0x72, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, + 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, + 0x6d, 0x28, 0x22, 0x73, 0x74, 0x2e, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2e, 0x63, 0x73, 0x2e, + 0x62, 0x33, 0x32, 0x20, 0x5b, 0x25, 0x30, 0x5d, 0x2c, 0x20, 0x25, 0x31, 0x3b, 0x22, 0x20, 0x3a, + 0x3a, 0x22, 0x6c, 0x22, 0x28, 0x70, 0x74, 0x72, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x2a, + 0x28, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, + 0x74, 0x3c, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, + 0x20, 0x69, 0x6e, 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x29, + 0x29, 0x29, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x6d, + 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x22, 0x29, 0x3b, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, + 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x76, 0x6f, 0x69, 0x64, 0x20, 0x5f, 0x5f, 0x73, 0x74, 0x63, + 0x73, 0x28, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x2a, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, + 0x70, 0x74, 0x72, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, + 0x66, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, + 0x73, 0x6d, 0x28, 0x22, 0x73, 0x74, 0x2e, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2e, 0x63, 0x73, + 0x2e, 0x62, 0x31, 0x36, 0x20, 0x5b, 0x25, 0x30, 0x5d, 0x2c, 0x20, 0x25, 0x31, 0x3b, 0x22, 0x20, + 0x3a, 0x3a, 0x22, 0x6c, 0x22, 0x28, 0x70, 0x74, 0x72, 0x29, 0x2c, 0x20, 0x22, 0x68, 0x22, 0x28, + 0x2a, 0x28, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, + 0x73, 0x74, 0x3c, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, + 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x29, 0x29, 0x29, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, + 0x20, 0x22, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x22, 0x29, 0x3b, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, + 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x76, 0x6f, 0x69, 0x64, 0x20, 0x5f, 0x5f, + 0x73, 0x74, 0x77, 0x74, 0x28, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x2a, 0x63, 0x6f, + 0x6e, 0x73, 0x74, 0x20, 0x70, 0x74, 0x72, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, + 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x29, 0x20, 0x7b, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x73, 0x74, 0x2e, 0x67, 0x6c, 0x6f, 0x62, + 0x61, 0x6c, 0x2e, 0x77, 0x74, 0x2e, 0x62, 0x33, 0x32, 0x20, 0x5b, 0x25, 0x30, 0x5d, 0x2c, 0x20, + 0x25, 0x31, 0x3b, 0x22, 0x20, 0x3a, 0x3a, 0x22, 0x6c, 0x22, 0x28, 0x70, 0x74, 0x72, 0x29, 0x2c, + 0x20, 0x22, 0x72, 0x22, 0x28, 0x2a, 0x28, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, + 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, + 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x29, 0x29, 0x29, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x3a, 0x20, 0x22, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x22, 0x29, 0x3b, 0x0a, 0x7d, + 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x76, 0x6f, 0x69, 0x64, + 0x20, 0x5f, 0x5f, 0x73, 0x74, 0x77, 0x74, 0x28, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x2a, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x70, 0x74, 0x72, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x73, 0x74, 0x2e, 0x67, 0x6c, 0x6f, - 0x62, 0x61, 0x6c, 0x2e, 0x63, 0x73, 0x2e, 0x62, 0x31, 0x36, 0x20, 0x5b, 0x25, 0x30, 0x5d, 0x2c, + 0x62, 0x61, 0x6c, 0x2e, 0x77, 0x74, 0x2e, 0x62, 0x31, 0x36, 0x20, 0x5b, 0x25, 0x30, 0x5d, 0x2c, 0x20, 0x25, 0x31, 0x3b, 0x22, 0x20, 0x3a, 0x3a, 0x22, 0x6c, 0x22, 0x28, 0x70, 0x74, 0x72, 0x29, 0x2c, 0x20, 0x22, 0x68, 0x22, 0x28, 0x2a, 0x28, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x29, 0x29, 0x29, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x22, 0x29, - 0x3b, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, - 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x76, 0x6f, 0x69, 0x64, 0x20, 0x5f, 0x5f, 0x73, 0x74, 0x77, - 0x74, 0x28, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x2a, 0x63, 0x6f, 0x6e, 0x73, 0x74, - 0x20, 0x70, 0x74, 0x72, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, - 0x6c, 0x66, 0x32, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x73, 0x74, 0x2e, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2e, - 0x77, 0x74, 0x2e, 0x62, 0x33, 0x32, 0x20, 0x5b, 0x25, 0x30, 0x5d, 0x2c, 0x20, 0x25, 0x31, 0x3b, - 0x22, 0x20, 0x3a, 0x3a, 0x22, 0x6c, 0x22, 0x28, 0x70, 0x74, 0x72, 0x29, 0x2c, 0x20, 0x22, 0x72, - 0x22, 0x28, 0x2a, 0x28, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, - 0x63, 0x61, 0x73, 0x74, 0x3c, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, - 0x6e, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x29, 0x29, 0x29, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, - 0x20, 0x22, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x22, 0x29, 0x3b, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, - 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, - 0x76, 0x6f, 0x69, 0x64, 0x20, 0x5f, 0x5f, 0x73, 0x74, 0x77, 0x74, 0x28, 0x5f, 0x5f, 0x68, 0x61, - 0x6c, 0x66, 0x20, 0x2a, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x70, 0x74, 0x72, 0x2c, 0x20, 0x63, - 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x73, 0x74, - 0x2e, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2e, 0x77, 0x74, 0x2e, 0x62, 0x31, 0x36, 0x20, 0x5b, - 0x25, 0x30, 0x5d, 0x2c, 0x20, 0x25, 0x31, 0x3b, 0x22, 0x20, 0x3a, 0x3a, 0x22, 0x6c, 0x22, 0x28, - 0x70, 0x74, 0x72, 0x29, 0x2c, 0x20, 0x22, 0x68, 0x22, 0x28, 0x2a, 0x28, 0x72, 0x65, 0x69, 0x6e, - 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x63, 0x6f, 0x6e, - 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, - 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x29, 0x29, 0x29, 0x29, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x6d, 0x65, 0x6d, 0x6f, - 0x72, 0x79, 0x22, 0x29, 0x3b, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, - 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, - 0x32, 0x20, 0x5f, 0x5f, 0x68, 0x65, 0x71, 0x32, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, - 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, - 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x62, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, - 0x66, 0x32, 0x5f, 0x72, 0x61, 0x77, 0x20, 0x76, 0x61, 0x6c, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x76, 0x61, 0x6c, 0x2e, 0x78, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x68, 0x65, - 0x71, 0x28, 0x61, 0x2e, 0x78, 0x2c, 0x20, 0x62, 0x2e, 0x78, 0x29, 0x20, 0x3f, 0x20, 0x28, 0x75, - 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x29, 0x30, 0x78, - 0x33, 0x43, 0x30, 0x30, 0x55, 0x20, 0x3a, 0x20, 0x28, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, - 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x29, 0x30, 0x55, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x76, 0x61, 0x6c, 0x2e, 0x79, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x68, 0x65, - 0x71, 0x28, 0x61, 0x2e, 0x79, 0x2c, 0x20, 0x62, 0x2e, 0x79, 0x29, 0x20, 0x3f, 0x20, 0x28, 0x75, - 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x29, 0x30, 0x78, - 0x33, 0x43, 0x30, 0x30, 0x55, 0x20, 0x3a, 0x20, 0x28, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, - 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x29, 0x30, 0x55, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, - 0x66, 0x32, 0x28, 0x76, 0x61, 0x6c, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x7d, - 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, - 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x5f, 0x5f, 0x68, 0x6e, 0x65, + 0x3b, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, + 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x5f, 0x5f, 0x68, 0x65, 0x71, 0x32, 0x28, 0x63, 0x6f, + 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x61, 0x2c, 0x20, 0x63, + 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x62, 0x29, 0x20, + 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x5f, 0x72, 0x61, 0x77, 0x20, 0x76, 0x61, 0x6c, 0x3b, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, 0x61, 0x6c, 0x2e, 0x78, 0x20, 0x3d, + 0x20, 0x5f, 0x5f, 0x68, 0x65, 0x71, 0x28, 0x61, 0x2e, 0x78, 0x2c, 0x20, 0x62, 0x2e, 0x78, 0x29, + 0x20, 0x3f, 0x20, 0x28, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, + 0x72, 0x74, 0x29, 0x30, 0x78, 0x33, 0x43, 0x30, 0x30, 0x55, 0x20, 0x3a, 0x20, 0x28, 0x75, 0x6e, + 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x29, 0x30, 0x55, 0x3b, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, 0x61, 0x6c, 0x2e, 0x79, 0x20, 0x3d, + 0x20, 0x5f, 0x5f, 0x68, 0x65, 0x71, 0x28, 0x61, 0x2e, 0x79, 0x2c, 0x20, 0x62, 0x2e, 0x79, 0x29, + 0x20, 0x3f, 0x20, 0x28, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, + 0x72, 0x74, 0x29, 0x30, 0x78, 0x33, 0x43, 0x30, 0x30, 0x55, 0x20, 0x3a, 0x20, 0x28, 0x75, 0x6e, + 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x29, 0x30, 0x55, 0x3b, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, + 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x28, 0x76, 0x61, 0x6c, 0x29, 0x3b, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x7d, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, + 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x5f, 0x5f, 0x68, 0x6e, 0x65, 0x32, 0x28, + 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x61, 0x2c, + 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x62, + 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x5f, 0x72, 0x61, 0x77, 0x20, 0x76, 0x61, + 0x6c, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, 0x61, 0x6c, 0x2e, 0x78, + 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x68, 0x6e, 0x65, 0x28, 0x61, 0x2e, 0x78, 0x2c, 0x20, 0x62, 0x2e, + 0x78, 0x29, 0x20, 0x3f, 0x20, 0x28, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, + 0x68, 0x6f, 0x72, 0x74, 0x29, 0x30, 0x78, 0x33, 0x43, 0x30, 0x30, 0x55, 0x20, 0x3a, 0x20, 0x28, + 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x29, 0x30, + 0x55, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, 0x61, 0x6c, 0x2e, 0x79, + 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x68, 0x6e, 0x65, 0x28, 0x61, 0x2e, 0x79, 0x2c, 0x20, 0x62, 0x2e, + 0x79, 0x29, 0x20, 0x3f, 0x20, 0x28, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, + 0x68, 0x6f, 0x72, 0x74, 0x29, 0x30, 0x78, 0x33, 0x43, 0x30, 0x30, 0x55, 0x20, 0x3a, 0x20, 0x28, + 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x29, 0x30, + 0x55, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, + 0x6e, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x28, 0x76, 0x61, 0x6c, 0x29, 0x3b, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, + 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x5f, 0x5f, 0x68, 0x6c, 0x65, 0x32, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x62, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x5f, 0x72, 0x61, 0x77, 0x20, 0x76, 0x61, 0x6c, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, 0x61, 0x6c, - 0x2e, 0x78, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x68, 0x6e, 0x65, 0x28, 0x61, 0x2e, 0x78, 0x2c, 0x20, + 0x2e, 0x78, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x68, 0x6c, 0x65, 0x28, 0x61, 0x2e, 0x78, 0x2c, 0x20, 0x62, 0x2e, 0x78, 0x29, 0x20, 0x3f, 0x20, 0x28, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x29, 0x30, 0x78, 0x33, 0x43, 0x30, 0x30, 0x55, 0x20, 0x3a, 0x20, 0x28, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x29, 0x30, 0x55, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, 0x61, 0x6c, - 0x2e, 0x79, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x68, 0x6e, 0x65, 0x28, 0x61, 0x2e, 0x79, 0x2c, 0x20, + 0x2e, 0x79, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x68, 0x6c, 0x65, 0x28, 0x61, 0x2e, 0x79, 0x2c, 0x20, 0x62, 0x2e, 0x79, 0x29, 0x20, 0x3f, 0x20, 0x28, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x29, 0x30, 0x78, 0x33, 0x43, 0x30, 0x30, 0x55, 0x20, 0x3a, 0x20, 0x28, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x29, 0x30, 0x55, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x28, 0x76, 0x61, 0x6c, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, - 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, - 0x6c, 0x66, 0x32, 0x20, 0x5f, 0x5f, 0x68, 0x6c, 0x65, 0x32, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, - 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, - 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x62, 0x29, 0x20, 0x7b, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x68, - 0x61, 0x6c, 0x66, 0x32, 0x5f, 0x72, 0x61, 0x77, 0x20, 0x76, 0x61, 0x6c, 0x3b, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, 0x61, 0x6c, 0x2e, 0x78, 0x20, 0x3d, 0x20, 0x5f, 0x5f, - 0x68, 0x6c, 0x65, 0x28, 0x61, 0x2e, 0x78, 0x2c, 0x20, 0x62, 0x2e, 0x78, 0x29, 0x20, 0x3f, 0x20, - 0x28, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x29, - 0x30, 0x78, 0x33, 0x43, 0x30, 0x30, 0x55, 0x20, 0x3a, 0x20, 0x28, 0x75, 0x6e, 0x73, 0x69, 0x67, - 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x29, 0x30, 0x55, 0x3b, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, 0x61, 0x6c, 0x2e, 0x79, 0x20, 0x3d, 0x20, 0x5f, 0x5f, - 0x68, 0x6c, 0x65, 0x28, 0x61, 0x2e, 0x79, 0x2c, 0x20, 0x62, 0x2e, 0x79, 0x29, 0x20, 0x3f, 0x20, - 0x28, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x29, - 0x30, 0x78, 0x33, 0x43, 0x30, 0x30, 0x55, 0x20, 0x3a, 0x20, 0x28, 0x75, 0x6e, 0x73, 0x69, 0x67, - 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x29, 0x30, 0x55, 0x3b, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x5f, 0x5f, 0x68, - 0x61, 0x6c, 0x66, 0x32, 0x28, 0x76, 0x61, 0x6c, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, - 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, - 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x5f, 0x5f, 0x68, + 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x5f, 0x5f, 0x68, 0x67, 0x65, 0x32, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x62, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x0a, 0x20, 0x20, @@ -4259,269 +4084,190 @@ extern "C" const char luisa_cuda_builtin_cuda_device_half[87792] = { 0x72, 0x74, 0x29, 0x30, 0x55, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x28, 0x76, 0x61, 0x6c, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, - 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, - 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x5f, 0x5f, 0x68, 0x6c, 0x74, 0x32, 0x28, 0x63, 0x6f, 0x6e, - 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x61, 0x2c, 0x20, 0x63, 0x6f, - 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x62, 0x29, 0x20, 0x7b, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5f, - 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x5f, 0x72, 0x61, 0x77, 0x20, 0x76, 0x61, 0x6c, 0x3b, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, 0x61, 0x6c, 0x2e, 0x78, 0x20, 0x3d, 0x20, - 0x5f, 0x5f, 0x68, 0x6c, 0x74, 0x28, 0x61, 0x2e, 0x78, 0x2c, 0x20, 0x62, 0x2e, 0x78, 0x29, 0x20, - 0x3f, 0x20, 0x28, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, - 0x74, 0x29, 0x30, 0x78, 0x33, 0x43, 0x30, 0x30, 0x55, 0x20, 0x3a, 0x20, 0x28, 0x75, 0x6e, 0x73, - 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x29, 0x30, 0x55, 0x3b, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, 0x61, 0x6c, 0x2e, 0x79, 0x20, 0x3d, 0x20, - 0x5f, 0x5f, 0x68, 0x6c, 0x74, 0x28, 0x61, 0x2e, 0x79, 0x2c, 0x20, 0x62, 0x2e, 0x79, 0x29, 0x20, - 0x3f, 0x20, 0x28, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, - 0x74, 0x29, 0x30, 0x78, 0x33, 0x43, 0x30, 0x30, 0x55, 0x20, 0x3a, 0x20, 0x28, 0x75, 0x6e, 0x73, - 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x29, 0x30, 0x55, 0x3b, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x5f, - 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x28, 0x76, 0x61, 0x6c, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x7d, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, - 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x5f, - 0x5f, 0x68, 0x67, 0x74, 0x32, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, + 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x5f, + 0x5f, 0x68, 0x6c, 0x74, 0x32, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x62, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x5f, 0x72, 0x61, 0x77, 0x20, 0x76, 0x61, 0x6c, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x76, 0x61, 0x6c, 0x2e, 0x78, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x68, 0x67, 0x74, 0x28, 0x61, + 0x20, 0x76, 0x61, 0x6c, 0x2e, 0x78, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x68, 0x6c, 0x74, 0x28, 0x61, 0x2e, 0x78, 0x2c, 0x20, 0x62, 0x2e, 0x78, 0x29, 0x20, 0x3f, 0x20, 0x28, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x29, 0x30, 0x78, 0x33, 0x43, 0x30, 0x30, 0x55, 0x20, 0x3a, 0x20, 0x28, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x29, 0x30, 0x55, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x76, 0x61, 0x6c, 0x2e, 0x79, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x68, 0x67, 0x74, 0x28, 0x61, + 0x20, 0x76, 0x61, 0x6c, 0x2e, 0x79, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x68, 0x6c, 0x74, 0x28, 0x61, 0x2e, 0x79, 0x2c, 0x20, 0x62, 0x2e, 0x79, 0x29, 0x20, 0x3f, 0x20, 0x28, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x29, 0x30, 0x78, 0x33, 0x43, 0x30, 0x30, 0x55, 0x20, 0x3a, 0x20, 0x28, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x29, 0x30, 0x55, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x28, 0x76, 0x61, 0x6c, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, - 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, - 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x5f, 0x5f, 0x68, 0x65, 0x71, 0x75, 0x32, 0x28, - 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x61, 0x2c, - 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x62, - 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x5f, 0x72, 0x61, 0x77, 0x20, 0x76, 0x61, - 0x6c, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, 0x61, 0x6c, 0x2e, 0x78, - 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x68, 0x65, 0x71, 0x75, 0x28, 0x61, 0x2e, 0x78, 0x2c, 0x20, 0x62, - 0x2e, 0x78, 0x29, 0x20, 0x3f, 0x20, 0x28, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, - 0x73, 0x68, 0x6f, 0x72, 0x74, 0x29, 0x30, 0x78, 0x33, 0x43, 0x30, 0x30, 0x55, 0x20, 0x3a, 0x20, - 0x28, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x29, - 0x30, 0x55, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, 0x61, 0x6c, 0x2e, - 0x79, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x68, 0x65, 0x71, 0x75, 0x28, 0x61, 0x2e, 0x79, 0x2c, 0x20, - 0x62, 0x2e, 0x79, 0x29, 0x20, 0x3f, 0x20, 0x28, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, - 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x29, 0x30, 0x78, 0x33, 0x43, 0x30, 0x30, 0x55, 0x20, 0x3a, - 0x20, 0x28, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, - 0x29, 0x30, 0x55, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, - 0x75, 0x72, 0x6e, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x28, 0x76, 0x61, 0x6c, 0x29, - 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, - 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, - 0x6c, 0x66, 0x32, 0x20, 0x5f, 0x5f, 0x68, 0x6e, 0x65, 0x75, 0x32, 0x28, 0x63, 0x6f, 0x6e, 0x73, - 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, - 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x62, 0x29, 0x20, 0x7b, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, - 0x68, 0x61, 0x6c, 0x66, 0x32, 0x5f, 0x72, 0x61, 0x77, 0x20, 0x76, 0x61, 0x6c, 0x3b, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, 0x61, 0x6c, 0x2e, 0x78, 0x20, 0x3d, 0x20, 0x5f, - 0x5f, 0x68, 0x6e, 0x65, 0x75, 0x28, 0x61, 0x2e, 0x78, 0x2c, 0x20, 0x62, 0x2e, 0x78, 0x29, 0x20, - 0x3f, 0x20, 0x28, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, - 0x74, 0x29, 0x30, 0x78, 0x33, 0x43, 0x30, 0x30, 0x55, 0x20, 0x3a, 0x20, 0x28, 0x75, 0x6e, 0x73, - 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x29, 0x30, 0x55, 0x3b, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, 0x61, 0x6c, 0x2e, 0x79, 0x20, 0x3d, 0x20, - 0x5f, 0x5f, 0x68, 0x6e, 0x65, 0x75, 0x28, 0x61, 0x2e, 0x79, 0x2c, 0x20, 0x62, 0x2e, 0x79, 0x29, - 0x20, 0x3f, 0x20, 0x28, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, - 0x72, 0x74, 0x29, 0x30, 0x78, 0x33, 0x43, 0x30, 0x30, 0x55, 0x20, 0x3a, 0x20, 0x28, 0x75, 0x6e, - 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x29, 0x30, 0x55, 0x3b, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, - 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x28, 0x76, 0x61, 0x6c, 0x29, 0x3b, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x7d, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, - 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, - 0x5f, 0x5f, 0x68, 0x6c, 0x65, 0x75, 0x32, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, + 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, + 0x20, 0x5f, 0x5f, 0x68, 0x67, 0x74, 0x32, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x62, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x5f, 0x72, 0x61, 0x77, 0x20, 0x76, 0x61, 0x6c, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x76, 0x61, 0x6c, 0x2e, 0x78, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x68, 0x6c, 0x65, - 0x75, 0x28, 0x61, 0x2e, 0x78, 0x2c, 0x20, 0x62, 0x2e, 0x78, 0x29, 0x20, 0x3f, 0x20, 0x28, 0x75, - 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x29, 0x30, 0x78, - 0x33, 0x43, 0x30, 0x30, 0x55, 0x20, 0x3a, 0x20, 0x28, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, - 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x29, 0x30, 0x55, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x76, 0x61, 0x6c, 0x2e, 0x79, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x68, 0x6c, - 0x65, 0x75, 0x28, 0x61, 0x2e, 0x79, 0x2c, 0x20, 0x62, 0x2e, 0x79, 0x29, 0x20, 0x3f, 0x20, 0x28, - 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x29, 0x30, - 0x78, 0x33, 0x43, 0x30, 0x30, 0x55, 0x20, 0x3a, 0x20, 0x28, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, - 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x29, 0x30, 0x55, 0x3b, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x5f, 0x5f, 0x68, 0x61, - 0x6c, 0x66, 0x32, 0x28, 0x76, 0x61, 0x6c, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, - 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, - 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x5f, 0x5f, 0x68, 0x67, - 0x65, 0x75, 0x32, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, - 0x32, 0x20, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, - 0x66, 0x32, 0x20, 0x62, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x5f, 0x72, 0x61, - 0x77, 0x20, 0x76, 0x61, 0x6c, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, - 0x61, 0x6c, 0x2e, 0x78, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x68, 0x67, 0x65, 0x75, 0x28, 0x61, 0x2e, - 0x78, 0x2c, 0x20, 0x62, 0x2e, 0x78, 0x29, 0x20, 0x3f, 0x20, 0x28, 0x75, 0x6e, 0x73, 0x69, 0x67, - 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x29, 0x30, 0x78, 0x33, 0x43, 0x30, 0x30, - 0x55, 0x20, 0x3a, 0x20, 0x28, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, - 0x6f, 0x72, 0x74, 0x29, 0x30, 0x55, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x76, 0x61, 0x6c, 0x2e, 0x79, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x68, 0x67, 0x65, 0x75, 0x28, 0x61, - 0x2e, 0x79, 0x2c, 0x20, 0x62, 0x2e, 0x79, 0x29, 0x20, 0x3f, 0x20, 0x28, 0x75, 0x6e, 0x73, 0x69, - 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x29, 0x30, 0x78, 0x33, 0x43, 0x30, - 0x30, 0x55, 0x20, 0x3a, 0x20, 0x28, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, - 0x68, 0x6f, 0x72, 0x74, 0x29, 0x30, 0x55, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x28, - 0x76, 0x61, 0x6c, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, - 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, - 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x5f, 0x5f, 0x68, 0x6c, 0x74, 0x75, 0x32, 0x28, + 0x20, 0x20, 0x20, 0x76, 0x61, 0x6c, 0x2e, 0x78, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x68, 0x67, 0x74, + 0x28, 0x61, 0x2e, 0x78, 0x2c, 0x20, 0x62, 0x2e, 0x78, 0x29, 0x20, 0x3f, 0x20, 0x28, 0x75, 0x6e, + 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x29, 0x30, 0x78, 0x33, + 0x43, 0x30, 0x30, 0x55, 0x20, 0x3a, 0x20, 0x28, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, + 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x29, 0x30, 0x55, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x76, 0x61, 0x6c, 0x2e, 0x79, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x68, 0x67, 0x74, + 0x28, 0x61, 0x2e, 0x79, 0x2c, 0x20, 0x62, 0x2e, 0x79, 0x29, 0x20, 0x3f, 0x20, 0x28, 0x75, 0x6e, + 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x29, 0x30, 0x78, 0x33, + 0x43, 0x30, 0x30, 0x55, 0x20, 0x3a, 0x20, 0x28, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, + 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x29, 0x30, 0x55, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, + 0x32, 0x28, 0x76, 0x61, 0x6c, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x7d, 0x0a, + 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, + 0x66, 0x32, 0x20, 0x5f, 0x5f, 0x68, 0x65, 0x71, 0x75, 0x32, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, + 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, + 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x62, 0x29, 0x20, 0x7b, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x68, + 0x61, 0x6c, 0x66, 0x32, 0x5f, 0x72, 0x61, 0x77, 0x20, 0x76, 0x61, 0x6c, 0x3b, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, 0x61, 0x6c, 0x2e, 0x78, 0x20, 0x3d, 0x20, 0x5f, 0x5f, + 0x68, 0x65, 0x71, 0x75, 0x28, 0x61, 0x2e, 0x78, 0x2c, 0x20, 0x62, 0x2e, 0x78, 0x29, 0x20, 0x3f, + 0x20, 0x28, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, + 0x29, 0x30, 0x78, 0x33, 0x43, 0x30, 0x30, 0x55, 0x20, 0x3a, 0x20, 0x28, 0x75, 0x6e, 0x73, 0x69, + 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x29, 0x30, 0x55, 0x3b, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, 0x61, 0x6c, 0x2e, 0x79, 0x20, 0x3d, 0x20, 0x5f, + 0x5f, 0x68, 0x65, 0x71, 0x75, 0x28, 0x61, 0x2e, 0x79, 0x2c, 0x20, 0x62, 0x2e, 0x79, 0x29, 0x20, + 0x3f, 0x20, 0x28, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, + 0x74, 0x29, 0x30, 0x78, 0x33, 0x43, 0x30, 0x30, 0x55, 0x20, 0x3a, 0x20, 0x28, 0x75, 0x6e, 0x73, + 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x29, 0x30, 0x55, 0x3b, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x5f, + 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x28, 0x76, 0x61, 0x6c, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x7d, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, + 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x5f, 0x5f, 0x68, 0x6e, 0x65, 0x75, 0x32, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x62, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x5f, 0x72, 0x61, 0x77, 0x20, 0x76, 0x61, 0x6c, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, 0x61, 0x6c, 0x2e, 0x78, - 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x68, 0x6c, 0x74, 0x75, 0x28, 0x61, 0x2e, 0x78, 0x2c, 0x20, 0x62, + 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x68, 0x6e, 0x65, 0x75, 0x28, 0x61, 0x2e, 0x78, 0x2c, 0x20, 0x62, 0x2e, 0x78, 0x29, 0x20, 0x3f, 0x20, 0x28, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x29, 0x30, 0x78, 0x33, 0x43, 0x30, 0x30, 0x55, 0x20, 0x3a, 0x20, 0x28, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x29, 0x30, 0x55, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, 0x61, 0x6c, 0x2e, - 0x79, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x68, 0x6c, 0x74, 0x75, 0x28, 0x61, 0x2e, 0x79, 0x2c, 0x20, + 0x79, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x68, 0x6e, 0x65, 0x75, 0x28, 0x61, 0x2e, 0x79, 0x2c, 0x20, 0x62, 0x2e, 0x79, 0x29, 0x20, 0x3f, 0x20, 0x28, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x29, 0x30, 0x78, 0x33, 0x43, 0x30, 0x30, 0x55, 0x20, 0x3a, 0x20, 0x28, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x29, 0x30, 0x55, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x28, 0x76, 0x61, 0x6c, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, - 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, - 0x6c, 0x66, 0x32, 0x20, 0x5f, 0x5f, 0x68, 0x67, 0x74, 0x75, 0x32, 0x28, 0x63, 0x6f, 0x6e, 0x73, - 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, - 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x62, 0x29, 0x20, 0x7b, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, - 0x68, 0x61, 0x6c, 0x66, 0x32, 0x5f, 0x72, 0x61, 0x77, 0x20, 0x76, 0x61, 0x6c, 0x3b, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, 0x61, 0x6c, 0x2e, 0x78, 0x20, 0x3d, 0x20, 0x5f, - 0x5f, 0x68, 0x67, 0x74, 0x75, 0x28, 0x61, 0x2e, 0x78, 0x2c, 0x20, 0x62, 0x2e, 0x78, 0x29, 0x20, - 0x3f, 0x20, 0x28, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, - 0x74, 0x29, 0x30, 0x78, 0x33, 0x43, 0x30, 0x30, 0x55, 0x20, 0x3a, 0x20, 0x28, 0x75, 0x6e, 0x73, - 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x29, 0x30, 0x55, 0x3b, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, 0x61, 0x6c, 0x2e, 0x79, 0x20, 0x3d, 0x20, - 0x5f, 0x5f, 0x68, 0x67, 0x74, 0x75, 0x28, 0x61, 0x2e, 0x79, 0x2c, 0x20, 0x62, 0x2e, 0x79, 0x29, - 0x20, 0x3f, 0x20, 0x28, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, - 0x72, 0x74, 0x29, 0x30, 0x78, 0x33, 0x43, 0x30, 0x30, 0x55, 0x20, 0x3a, 0x20, 0x28, 0x75, 0x6e, - 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x29, 0x30, 0x55, 0x3b, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, - 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x28, 0x76, 0x61, 0x6c, 0x29, 0x3b, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x7d, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, - 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, - 0x20, 0x5f, 0x5f, 0x68, 0x65, 0x71, 0x32, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x28, 0x63, 0x6f, 0x6e, - 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x61, 0x2c, 0x20, 0x63, 0x6f, - 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x62, 0x29, 0x20, 0x7b, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, - 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, - 0x6f, 0x72, 0x74, 0x20, 0x70, 0x78, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x68, 0x65, 0x71, 0x28, 0x61, + 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x5f, 0x5f, 0x68, + 0x6c, 0x65, 0x75, 0x32, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, + 0x66, 0x32, 0x20, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, + 0x6c, 0x66, 0x32, 0x20, 0x62, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x5f, 0x72, + 0x61, 0x77, 0x20, 0x76, 0x61, 0x6c, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x76, 0x61, 0x6c, 0x2e, 0x78, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x68, 0x6c, 0x65, 0x75, 0x28, 0x61, 0x2e, 0x78, 0x2c, 0x20, 0x62, 0x2e, 0x78, 0x29, 0x20, 0x3f, 0x20, 0x28, 0x75, 0x6e, 0x73, 0x69, - 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x29, 0x30, 0x78, 0x46, 0x46, 0x46, - 0x46, 0x55, 0x20, 0x3a, 0x20, 0x28, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, - 0x68, 0x6f, 0x72, 0x74, 0x29, 0x30, 0x55, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, - 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x70, 0x79, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x68, 0x65, 0x71, - 0x28, 0x61, 0x2e, 0x79, 0x2c, 0x20, 0x62, 0x2e, 0x79, 0x29, 0x20, 0x3f, 0x20, 0x28, 0x75, 0x6e, - 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x29, 0x30, 0x78, 0x46, - 0x46, 0x46, 0x46, 0x55, 0x20, 0x3a, 0x20, 0x28, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, - 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x29, 0x30, 0x55, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x75, 0x72, 0x20, 0x3d, - 0x20, 0x28, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x29, 0x70, 0x79, 0x3b, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x75, 0x72, 0x20, 0x3c, 0x3c, 0x3d, 0x20, 0x28, 0x75, - 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x29, 0x31, 0x36, 0x55, 0x3b, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x75, 0x72, 0x20, 0x7c, 0x3d, 0x20, 0x28, 0x75, 0x6e, 0x73, 0x69, - 0x67, 0x6e, 0x65, 0x64, 0x29, 0x70, 0x78, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x75, 0x72, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x7d, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, - 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x5f, - 0x5f, 0x68, 0x6e, 0x65, 0x32, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, - 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, - 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x62, 0x29, 0x20, 0x7b, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, - 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, - 0x74, 0x20, 0x70, 0x78, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x68, 0x6e, 0x65, 0x28, 0x61, 0x2e, 0x78, - 0x2c, 0x20, 0x62, 0x2e, 0x78, 0x29, 0x20, 0x3f, 0x20, 0x28, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, - 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x29, 0x30, 0x78, 0x46, 0x46, 0x46, 0x46, 0x55, - 0x20, 0x3a, 0x20, 0x28, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, - 0x72, 0x74, 0x29, 0x30, 0x55, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, - 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, - 0x6f, 0x72, 0x74, 0x20, 0x70, 0x79, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x68, 0x6e, 0x65, 0x28, 0x61, - 0x2e, 0x79, 0x2c, 0x20, 0x62, 0x2e, 0x79, 0x29, 0x20, 0x3f, 0x20, 0x28, 0x75, 0x6e, 0x73, 0x69, - 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x29, 0x30, 0x78, 0x46, 0x46, 0x46, - 0x46, 0x55, 0x20, 0x3a, 0x20, 0x28, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, + 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x29, 0x30, 0x78, 0x33, 0x43, 0x30, + 0x30, 0x55, 0x20, 0x3a, 0x20, 0x28, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x29, 0x30, 0x55, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x75, 0x72, 0x20, 0x3d, 0x20, 0x28, - 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x29, 0x70, 0x79, 0x3b, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x75, 0x72, 0x20, 0x3c, 0x3c, 0x3d, 0x20, 0x28, 0x75, 0x6e, 0x73, - 0x69, 0x67, 0x6e, 0x65, 0x64, 0x29, 0x31, 0x36, 0x55, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x75, 0x72, 0x20, 0x7c, 0x3d, 0x20, 0x28, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, - 0x65, 0x64, 0x29, 0x70, 0x78, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, - 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x75, 0x72, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, - 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, - 0x69, 0x6e, 0x65, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x5f, 0x5f, 0x68, - 0x6c, 0x65, 0x32, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, - 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, - 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x62, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, - 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, - 0x70, 0x78, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x68, 0x6c, 0x65, 0x28, 0x61, 0x2e, 0x78, 0x2c, 0x20, - 0x62, 0x2e, 0x78, 0x29, 0x20, 0x3f, 0x20, 0x28, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, - 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x29, 0x30, 0x78, 0x46, 0x46, 0x46, 0x46, 0x55, 0x20, 0x3a, + 0x20, 0x76, 0x61, 0x6c, 0x2e, 0x79, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x68, 0x6c, 0x65, 0x75, 0x28, + 0x61, 0x2e, 0x79, 0x2c, 0x20, 0x62, 0x2e, 0x79, 0x29, 0x20, 0x3f, 0x20, 0x28, 0x75, 0x6e, 0x73, + 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x29, 0x30, 0x78, 0x33, 0x43, + 0x30, 0x30, 0x55, 0x20, 0x3a, 0x20, 0x28, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, + 0x73, 0x68, 0x6f, 0x72, 0x74, 0x29, 0x30, 0x55, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, + 0x28, 0x76, 0x61, 0x6c, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x7d, 0x0a, 0x5f, + 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, + 0x32, 0x20, 0x5f, 0x5f, 0x68, 0x67, 0x65, 0x75, 0x32, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, + 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, + 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x62, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x68, 0x61, + 0x6c, 0x66, 0x32, 0x5f, 0x72, 0x61, 0x77, 0x20, 0x76, 0x61, 0x6c, 0x3b, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, 0x61, 0x6c, 0x2e, 0x78, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x68, + 0x67, 0x65, 0x75, 0x28, 0x61, 0x2e, 0x78, 0x2c, 0x20, 0x62, 0x2e, 0x78, 0x29, 0x20, 0x3f, 0x20, + 0x28, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x29, + 0x30, 0x78, 0x33, 0x43, 0x30, 0x30, 0x55, 0x20, 0x3a, 0x20, 0x28, 0x75, 0x6e, 0x73, 0x69, 0x67, + 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x29, 0x30, 0x55, 0x3b, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, 0x61, 0x6c, 0x2e, 0x79, 0x20, 0x3d, 0x20, 0x5f, 0x5f, + 0x68, 0x67, 0x65, 0x75, 0x28, 0x61, 0x2e, 0x79, 0x2c, 0x20, 0x62, 0x2e, 0x79, 0x29, 0x20, 0x3f, 0x20, 0x28, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, - 0x29, 0x30, 0x55, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, - 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, - 0x74, 0x20, 0x70, 0x79, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x68, 0x6c, 0x65, 0x28, 0x61, 0x2e, 0x79, - 0x2c, 0x20, 0x62, 0x2e, 0x79, 0x29, 0x20, 0x3f, 0x20, 0x28, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, - 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x29, 0x30, 0x78, 0x46, 0x46, 0x46, 0x46, 0x55, - 0x20, 0x3a, 0x20, 0x28, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, - 0x72, 0x74, 0x29, 0x30, 0x55, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x75, - 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x75, 0x72, 0x20, 0x3d, 0x20, 0x28, 0x75, 0x6e, - 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x29, 0x70, 0x79, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x75, 0x72, 0x20, 0x3c, 0x3c, 0x3d, 0x20, 0x28, 0x75, 0x6e, 0x73, 0x69, 0x67, - 0x6e, 0x65, 0x64, 0x29, 0x31, 0x36, 0x55, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x75, 0x72, 0x20, 0x7c, 0x3d, 0x20, 0x28, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, - 0x29, 0x70, 0x78, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, - 0x75, 0x72, 0x6e, 0x20, 0x75, 0x72, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x7d, 0x0a, - 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, - 0x65, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x5f, 0x5f, 0x68, 0x67, 0x65, - 0x32, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, - 0x61, 0x6c, 0x66, 0x32, 0x20, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, - 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x62, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7b, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, - 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x70, 0x78, - 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x68, 0x67, 0x65, 0x28, 0x61, 0x2e, 0x78, 0x2c, 0x20, 0x62, 0x2e, + 0x29, 0x30, 0x78, 0x33, 0x43, 0x30, 0x30, 0x55, 0x20, 0x3a, 0x20, 0x28, 0x75, 0x6e, 0x73, 0x69, + 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x29, 0x30, 0x55, 0x3b, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x5f, 0x5f, + 0x68, 0x61, 0x6c, 0x66, 0x32, 0x28, 0x76, 0x61, 0x6c, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x7d, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, + 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x5f, 0x5f, 0x68, 0x6c, 0x74, 0x75, 0x32, 0x28, 0x63, + 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x61, 0x2c, 0x20, + 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x62, 0x29, + 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x5f, 0x72, 0x61, 0x77, 0x20, 0x76, 0x61, 0x6c, + 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, 0x61, 0x6c, 0x2e, 0x78, 0x20, + 0x3d, 0x20, 0x5f, 0x5f, 0x68, 0x6c, 0x74, 0x75, 0x28, 0x61, 0x2e, 0x78, 0x2c, 0x20, 0x62, 0x2e, 0x78, 0x29, 0x20, 0x3f, 0x20, 0x28, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, - 0x68, 0x6f, 0x72, 0x74, 0x29, 0x30, 0x78, 0x46, 0x46, 0x46, 0x46, 0x55, 0x20, 0x3a, 0x20, 0x28, + 0x68, 0x6f, 0x72, 0x74, 0x29, 0x30, 0x78, 0x33, 0x43, 0x30, 0x30, 0x55, 0x20, 0x3a, 0x20, 0x28, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x29, 0x30, - 0x55, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, - 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, - 0x70, 0x79, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x68, 0x67, 0x65, 0x28, 0x61, 0x2e, 0x79, 0x2c, 0x20, - 0x62, 0x2e, 0x79, 0x29, 0x20, 0x3f, 0x20, 0x28, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, - 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x29, 0x30, 0x78, 0x46, 0x46, 0x46, 0x46, 0x55, 0x20, 0x3a, - 0x20, 0x28, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, - 0x29, 0x30, 0x55, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x75, 0x6e, 0x73, - 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x75, 0x72, 0x20, 0x3d, 0x20, 0x28, 0x75, 0x6e, 0x73, 0x69, - 0x67, 0x6e, 0x65, 0x64, 0x29, 0x70, 0x79, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x75, 0x72, 0x20, 0x3c, 0x3c, 0x3d, 0x20, 0x28, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, - 0x64, 0x29, 0x31, 0x36, 0x55, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x75, - 0x72, 0x20, 0x7c, 0x3d, 0x20, 0x28, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x29, 0x70, - 0x78, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, - 0x6e, 0x20, 0x75, 0x72, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, - 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, - 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x5f, 0x5f, 0x68, 0x6c, 0x74, 0x32, 0x5f, + 0x55, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, 0x61, 0x6c, 0x2e, 0x79, + 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x68, 0x6c, 0x74, 0x75, 0x28, 0x61, 0x2e, 0x79, 0x2c, 0x20, 0x62, + 0x2e, 0x79, 0x29, 0x20, 0x3f, 0x20, 0x28, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, + 0x73, 0x68, 0x6f, 0x72, 0x74, 0x29, 0x30, 0x78, 0x33, 0x43, 0x30, 0x30, 0x55, 0x20, 0x3a, 0x20, + 0x28, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x29, + 0x30, 0x55, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, + 0x72, 0x6e, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x28, 0x76, 0x61, 0x6c, 0x29, 0x3b, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, + 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x5f, 0x5f, 0x68, 0x67, + 0x74, 0x75, 0x32, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, + 0x32, 0x20, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, + 0x66, 0x32, 0x20, 0x62, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x5f, 0x72, 0x61, + 0x77, 0x20, 0x76, 0x61, 0x6c, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, + 0x61, 0x6c, 0x2e, 0x78, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x68, 0x67, 0x74, 0x75, 0x28, 0x61, 0x2e, + 0x78, 0x2c, 0x20, 0x62, 0x2e, 0x78, 0x29, 0x20, 0x3f, 0x20, 0x28, 0x75, 0x6e, 0x73, 0x69, 0x67, + 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x29, 0x30, 0x78, 0x33, 0x43, 0x30, 0x30, + 0x55, 0x20, 0x3a, 0x20, 0x28, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, + 0x6f, 0x72, 0x74, 0x29, 0x30, 0x55, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x76, 0x61, 0x6c, 0x2e, 0x79, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x68, 0x67, 0x74, 0x75, 0x28, 0x61, + 0x2e, 0x79, 0x2c, 0x20, 0x62, 0x2e, 0x79, 0x29, 0x20, 0x3f, 0x20, 0x28, 0x75, 0x6e, 0x73, 0x69, + 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x29, 0x30, 0x78, 0x33, 0x43, 0x30, + 0x30, 0x55, 0x20, 0x3a, 0x20, 0x28, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, + 0x68, 0x6f, 0x72, 0x74, 0x29, 0x30, 0x55, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x28, + 0x76, 0x61, 0x6c, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, + 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, + 0x64, 0x20, 0x5f, 0x5f, 0x68, 0x65, 0x71, 0x32, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x28, 0x63, 0x6f, + 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x61, 0x2c, 0x20, 0x63, + 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x62, 0x29, 0x20, + 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, + 0x68, 0x6f, 0x72, 0x74, 0x20, 0x70, 0x78, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x68, 0x65, 0x71, 0x28, + 0x61, 0x2e, 0x78, 0x2c, 0x20, 0x62, 0x2e, 0x78, 0x29, 0x20, 0x3f, 0x20, 0x28, 0x75, 0x6e, 0x73, + 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x29, 0x30, 0x78, 0x46, 0x46, + 0x46, 0x46, 0x55, 0x20, 0x3a, 0x20, 0x28, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, + 0x73, 0x68, 0x6f, 0x72, 0x74, 0x29, 0x30, 0x55, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, + 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x70, 0x79, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x68, 0x65, + 0x71, 0x28, 0x61, 0x2e, 0x79, 0x2c, 0x20, 0x62, 0x2e, 0x79, 0x29, 0x20, 0x3f, 0x20, 0x28, 0x75, + 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x29, 0x30, 0x78, + 0x46, 0x46, 0x46, 0x46, 0x55, 0x20, 0x3a, 0x20, 0x28, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, + 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x29, 0x30, 0x55, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x75, 0x72, 0x20, + 0x3d, 0x20, 0x28, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x29, 0x70, 0x79, 0x3b, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x75, 0x72, 0x20, 0x3c, 0x3c, 0x3d, 0x20, 0x28, + 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x29, 0x31, 0x36, 0x55, 0x3b, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x75, 0x72, 0x20, 0x7c, 0x3d, 0x20, 0x28, 0x75, 0x6e, 0x73, + 0x69, 0x67, 0x6e, 0x65, 0x64, 0x29, 0x70, 0x78, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x75, 0x72, 0x3b, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x7d, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, + 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x5f, 0x5f, 0x68, 0x6e, 0x65, 0x32, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x62, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x70, 0x78, 0x20, 0x3d, - 0x20, 0x5f, 0x5f, 0x68, 0x6c, 0x74, 0x28, 0x61, 0x2e, 0x78, 0x2c, 0x20, 0x62, 0x2e, 0x78, 0x29, + 0x20, 0x5f, 0x5f, 0x68, 0x6e, 0x65, 0x28, 0x61, 0x2e, 0x78, 0x2c, 0x20, 0x62, 0x2e, 0x78, 0x29, 0x20, 0x3f, 0x20, 0x28, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x29, 0x30, 0x78, 0x46, 0x46, 0x46, 0x46, 0x55, 0x20, 0x3a, 0x20, 0x28, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x29, 0x30, 0x55, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x70, 0x79, - 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x68, 0x6c, 0x74, 0x28, 0x61, 0x2e, 0x79, 0x2c, 0x20, 0x62, 0x2e, + 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x68, 0x6e, 0x65, 0x28, 0x61, 0x2e, 0x79, 0x2c, 0x20, 0x62, 0x2e, 0x79, 0x29, 0x20, 0x3f, 0x20, 0x28, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x29, 0x30, 0x78, 0x46, 0x46, 0x46, 0x46, 0x55, 0x20, 0x3a, 0x20, 0x28, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x29, 0x30, @@ -4533,20 +4279,44 @@ extern "C" const char luisa_cuda_builtin_cuda_device_half[87792] = { 0x7c, 0x3d, 0x20, 0x28, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x29, 0x70, 0x78, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x75, 0x72, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, - 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x75, 0x6e, - 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x5f, 0x5f, 0x68, 0x67, 0x74, 0x32, 0x5f, 0x6d, 0x61, + 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, + 0x5f, 0x5f, 0x68, 0x6c, 0x65, 0x32, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x28, 0x63, 0x6f, 0x6e, 0x73, + 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, + 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x62, 0x29, 0x20, 0x7b, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, + 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, + 0x72, 0x74, 0x20, 0x70, 0x78, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x68, 0x6c, 0x65, 0x28, 0x61, 0x2e, + 0x78, 0x2c, 0x20, 0x62, 0x2e, 0x78, 0x29, 0x20, 0x3f, 0x20, 0x28, 0x75, 0x6e, 0x73, 0x69, 0x67, + 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x29, 0x30, 0x78, 0x46, 0x46, 0x46, 0x46, + 0x55, 0x20, 0x3a, 0x20, 0x28, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, + 0x6f, 0x72, 0x74, 0x29, 0x30, 0x55, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, + 0x68, 0x6f, 0x72, 0x74, 0x20, 0x70, 0x79, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x68, 0x6c, 0x65, 0x28, + 0x61, 0x2e, 0x79, 0x2c, 0x20, 0x62, 0x2e, 0x79, 0x29, 0x20, 0x3f, 0x20, 0x28, 0x75, 0x6e, 0x73, + 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x29, 0x30, 0x78, 0x46, 0x46, + 0x46, 0x46, 0x55, 0x20, 0x3a, 0x20, 0x28, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, + 0x73, 0x68, 0x6f, 0x72, 0x74, 0x29, 0x30, 0x55, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x75, 0x72, 0x20, 0x3d, 0x20, + 0x28, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x29, 0x70, 0x79, 0x3b, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x75, 0x72, 0x20, 0x3c, 0x3c, 0x3d, 0x20, 0x28, 0x75, 0x6e, + 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x29, 0x31, 0x36, 0x55, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x75, 0x72, 0x20, 0x7c, 0x3d, 0x20, 0x28, 0x75, 0x6e, 0x73, 0x69, 0x67, + 0x6e, 0x65, 0x64, 0x29, 0x70, 0x78, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x75, 0x72, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, + 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x75, 0x6e, + 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x5f, 0x5f, 0x68, 0x67, 0x65, 0x32, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x62, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x70, 0x78, 0x20, 0x3d, 0x20, 0x5f, - 0x5f, 0x68, 0x67, 0x74, 0x28, 0x61, 0x2e, 0x78, 0x2c, 0x20, 0x62, 0x2e, 0x78, 0x29, 0x20, 0x3f, + 0x5f, 0x68, 0x67, 0x65, 0x28, 0x61, 0x2e, 0x78, 0x2c, 0x20, 0x62, 0x2e, 0x78, 0x29, 0x20, 0x3f, 0x20, 0x28, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x29, 0x30, 0x78, 0x46, 0x46, 0x46, 0x46, 0x55, 0x20, 0x3a, 0x20, 0x28, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x29, 0x30, 0x55, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x70, 0x79, 0x20, 0x3d, - 0x20, 0x5f, 0x5f, 0x68, 0x67, 0x74, 0x28, 0x61, 0x2e, 0x79, 0x2c, 0x20, 0x62, 0x2e, 0x79, 0x29, + 0x20, 0x5f, 0x5f, 0x68, 0x67, 0x65, 0x28, 0x61, 0x2e, 0x79, 0x2c, 0x20, 0x62, 0x2e, 0x79, 0x29, 0x20, 0x3f, 0x20, 0x28, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x29, 0x30, 0x78, 0x46, 0x46, 0x46, 0x46, 0x55, 0x20, 0x3a, 0x20, 0x28, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x29, 0x30, 0x55, 0x3b, @@ -4558,32 +4328,80 @@ extern "C" const char luisa_cuda_builtin_cuda_device_half[87792] = { 0x20, 0x28, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x29, 0x70, 0x78, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x75, 0x72, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, - 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x75, 0x6e, 0x73, 0x69, - 0x67, 0x6e, 0x65, 0x64, 0x20, 0x5f, 0x5f, 0x68, 0x65, 0x71, 0x75, 0x32, 0x5f, 0x6d, 0x61, 0x73, - 0x6b, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, - 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, - 0x20, 0x62, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, - 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x70, 0x78, 0x20, 0x3d, 0x20, 0x5f, 0x5f, - 0x68, 0x65, 0x71, 0x75, 0x28, 0x61, 0x2e, 0x78, 0x2c, 0x20, 0x62, 0x2e, 0x78, 0x29, 0x20, 0x3f, + 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x5f, 0x5f, + 0x68, 0x6c, 0x74, 0x32, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, + 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, + 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x62, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, + 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, + 0x20, 0x70, 0x78, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x68, 0x6c, 0x74, 0x28, 0x61, 0x2e, 0x78, 0x2c, + 0x20, 0x62, 0x2e, 0x78, 0x29, 0x20, 0x3f, 0x20, 0x28, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, + 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x29, 0x30, 0x78, 0x46, 0x46, 0x46, 0x46, 0x55, 0x20, + 0x3a, 0x20, 0x28, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, + 0x74, 0x29, 0x30, 0x55, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, + 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, + 0x72, 0x74, 0x20, 0x70, 0x79, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x68, 0x6c, 0x74, 0x28, 0x61, 0x2e, + 0x79, 0x2c, 0x20, 0x62, 0x2e, 0x79, 0x29, 0x20, 0x3f, 0x20, 0x28, 0x75, 0x6e, 0x73, 0x69, 0x67, + 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x29, 0x30, 0x78, 0x46, 0x46, 0x46, 0x46, + 0x55, 0x20, 0x3a, 0x20, 0x28, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, + 0x6f, 0x72, 0x74, 0x29, 0x30, 0x55, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x75, 0x72, 0x20, 0x3d, 0x20, 0x28, 0x75, + 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x29, 0x70, 0x79, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x75, 0x72, 0x20, 0x3c, 0x3c, 0x3d, 0x20, 0x28, 0x75, 0x6e, 0x73, 0x69, + 0x67, 0x6e, 0x65, 0x64, 0x29, 0x31, 0x36, 0x55, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x75, 0x72, 0x20, 0x7c, 0x3d, 0x20, 0x28, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, + 0x64, 0x29, 0x70, 0x78, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, + 0x74, 0x75, 0x72, 0x6e, 0x20, 0x75, 0x72, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x7d, + 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x75, 0x6e, 0x73, 0x69, + 0x67, 0x6e, 0x65, 0x64, 0x20, 0x5f, 0x5f, 0x68, 0x67, 0x74, 0x32, 0x5f, 0x6d, 0x61, 0x73, 0x6b, + 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x61, + 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, + 0x62, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, + 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x70, 0x78, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x68, + 0x67, 0x74, 0x28, 0x61, 0x2e, 0x78, 0x2c, 0x20, 0x62, 0x2e, 0x78, 0x29, 0x20, 0x3f, 0x20, 0x28, + 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x29, 0x30, + 0x78, 0x46, 0x46, 0x46, 0x46, 0x55, 0x20, 0x3a, 0x20, 0x28, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, + 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x29, 0x30, 0x55, 0x3b, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, + 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x70, 0x79, 0x20, 0x3d, 0x20, 0x5f, + 0x5f, 0x68, 0x67, 0x74, 0x28, 0x61, 0x2e, 0x79, 0x2c, 0x20, 0x62, 0x2e, 0x79, 0x29, 0x20, 0x3f, 0x20, 0x28, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x29, 0x30, 0x78, 0x46, 0x46, 0x46, 0x46, 0x55, 0x20, 0x3a, 0x20, 0x28, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x29, 0x30, 0x55, 0x3b, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, - 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x70, 0x79, 0x20, 0x3d, - 0x20, 0x5f, 0x5f, 0x68, 0x65, 0x71, 0x75, 0x28, 0x61, 0x2e, 0x79, 0x2c, 0x20, 0x62, 0x2e, 0x79, - 0x29, 0x20, 0x3f, 0x20, 0x28, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, - 0x6f, 0x72, 0x74, 0x29, 0x30, 0x78, 0x46, 0x46, 0x46, 0x46, 0x55, 0x20, 0x3a, 0x20, 0x28, 0x75, - 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x29, 0x30, 0x55, - 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, - 0x65, 0x64, 0x20, 0x75, 0x72, 0x20, 0x3d, 0x20, 0x28, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, - 0x64, 0x29, 0x70, 0x79, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x75, 0x72, - 0x20, 0x3c, 0x3c, 0x3d, 0x20, 0x28, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x29, 0x31, - 0x36, 0x55, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x75, 0x72, 0x20, 0x7c, - 0x3d, 0x20, 0x28, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x29, 0x70, 0x78, 0x3b, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x75, - 0x72, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, - 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x75, 0x6e, 0x73, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, + 0x75, 0x72, 0x20, 0x3d, 0x20, 0x28, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x29, 0x70, + 0x79, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x75, 0x72, 0x20, 0x3c, 0x3c, + 0x3d, 0x20, 0x28, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x29, 0x31, 0x36, 0x55, 0x3b, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x75, 0x72, 0x20, 0x7c, 0x3d, 0x20, 0x28, + 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x29, 0x70, 0x78, 0x3b, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x75, 0x72, 0x3b, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, + 0x5f, 0x5f, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x5f, 0x5f, 0x68, 0x65, + 0x71, 0x75, 0x32, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, + 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, + 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x62, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, + 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, + 0x70, 0x78, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x68, 0x65, 0x71, 0x75, 0x28, 0x61, 0x2e, 0x78, 0x2c, + 0x20, 0x62, 0x2e, 0x78, 0x29, 0x20, 0x3f, 0x20, 0x28, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, + 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x29, 0x30, 0x78, 0x46, 0x46, 0x46, 0x46, 0x55, 0x20, + 0x3a, 0x20, 0x28, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, + 0x74, 0x29, 0x30, 0x55, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, + 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, + 0x72, 0x74, 0x20, 0x70, 0x79, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x68, 0x65, 0x71, 0x75, 0x28, 0x61, + 0x2e, 0x79, 0x2c, 0x20, 0x62, 0x2e, 0x79, 0x29, 0x20, 0x3f, 0x20, 0x28, 0x75, 0x6e, 0x73, 0x69, + 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x29, 0x30, 0x78, 0x46, 0x46, 0x46, + 0x46, 0x55, 0x20, 0x3a, 0x20, 0x28, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, + 0x68, 0x6f, 0x72, 0x74, 0x29, 0x30, 0x55, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x75, 0x72, 0x20, 0x3d, 0x20, 0x28, + 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x29, 0x70, 0x79, 0x3b, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x75, 0x72, 0x20, 0x3c, 0x3c, 0x3d, 0x20, 0x28, 0x75, 0x6e, 0x73, + 0x69, 0x67, 0x6e, 0x65, 0x64, 0x29, 0x31, 0x36, 0x55, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x75, 0x72, 0x20, 0x7c, 0x3d, 0x20, 0x28, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, + 0x65, 0x64, 0x29, 0x70, 0x78, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, + 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x75, 0x72, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, + 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x5f, 0x5f, 0x68, 0x6e, 0x65, 0x75, 0x32, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, @@ -4608,95 +4426,44 @@ extern "C" const char luisa_cuda_builtin_cuda_device_half[87792] = { 0x7c, 0x3d, 0x20, 0x28, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x29, 0x70, 0x78, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x75, 0x72, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, - 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x75, 0x6e, - 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x5f, 0x5f, 0x68, 0x6c, 0x65, 0x75, 0x32, 0x5f, 0x6d, - 0x61, 0x73, 0x6b, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, - 0x32, 0x20, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, - 0x66, 0x32, 0x20, 0x62, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, - 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x70, 0x78, 0x20, 0x3d, 0x20, - 0x5f, 0x5f, 0x68, 0x6c, 0x65, 0x75, 0x28, 0x61, 0x2e, 0x78, 0x2c, 0x20, 0x62, 0x2e, 0x78, 0x29, - 0x20, 0x3f, 0x20, 0x28, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, - 0x72, 0x74, 0x29, 0x30, 0x78, 0x46, 0x46, 0x46, 0x46, 0x55, 0x20, 0x3a, 0x20, 0x28, 0x75, 0x6e, - 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x29, 0x30, 0x55, 0x3b, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, - 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x70, 0x79, - 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x68, 0x6c, 0x65, 0x75, 0x28, 0x61, 0x2e, 0x79, 0x2c, 0x20, 0x62, - 0x2e, 0x79, 0x29, 0x20, 0x3f, 0x20, 0x28, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, - 0x73, 0x68, 0x6f, 0x72, 0x74, 0x29, 0x30, 0x78, 0x46, 0x46, 0x46, 0x46, 0x55, 0x20, 0x3a, 0x20, - 0x28, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x29, - 0x30, 0x55, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x75, 0x6e, 0x73, 0x69, - 0x67, 0x6e, 0x65, 0x64, 0x20, 0x75, 0x72, 0x20, 0x3d, 0x20, 0x28, 0x75, 0x6e, 0x73, 0x69, 0x67, - 0x6e, 0x65, 0x64, 0x29, 0x70, 0x79, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x75, 0x72, 0x20, 0x3c, 0x3c, 0x3d, 0x20, 0x28, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, - 0x29, 0x31, 0x36, 0x55, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x75, 0x72, - 0x20, 0x7c, 0x3d, 0x20, 0x28, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x29, 0x70, 0x78, - 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, - 0x20, 0x75, 0x72, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, - 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x75, - 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x5f, 0x5f, 0x68, 0x67, 0x65, 0x75, 0x32, 0x5f, - 0x6d, 0x61, 0x73, 0x6b, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, - 0x66, 0x32, 0x20, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, - 0x6c, 0x66, 0x32, 0x20, 0x62, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, - 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x70, 0x78, 0x20, 0x3d, - 0x20, 0x5f, 0x5f, 0x68, 0x67, 0x65, 0x75, 0x28, 0x61, 0x2e, 0x78, 0x2c, 0x20, 0x62, 0x2e, 0x78, - 0x29, 0x20, 0x3f, 0x20, 0x28, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, - 0x6f, 0x72, 0x74, 0x29, 0x30, 0x78, 0x46, 0x46, 0x46, 0x46, 0x55, 0x20, 0x3a, 0x20, 0x28, 0x75, - 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x29, 0x30, 0x55, - 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, - 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x70, - 0x79, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x68, 0x67, 0x65, 0x75, 0x28, 0x61, 0x2e, 0x79, 0x2c, 0x20, - 0x62, 0x2e, 0x79, 0x29, 0x20, 0x3f, 0x20, 0x28, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, - 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x29, 0x30, 0x78, 0x46, 0x46, 0x46, 0x46, 0x55, 0x20, 0x3a, - 0x20, 0x28, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, - 0x29, 0x30, 0x55, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x75, 0x6e, 0x73, - 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x75, 0x72, 0x20, 0x3d, 0x20, 0x28, 0x75, 0x6e, 0x73, 0x69, - 0x67, 0x6e, 0x65, 0x64, 0x29, 0x70, 0x79, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x75, 0x72, 0x20, 0x3c, 0x3c, 0x3d, 0x20, 0x28, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, - 0x64, 0x29, 0x31, 0x36, 0x55, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x75, - 0x72, 0x20, 0x7c, 0x3d, 0x20, 0x28, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x29, 0x70, - 0x78, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, - 0x6e, 0x20, 0x75, 0x72, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, - 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, - 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x5f, 0x5f, 0x68, 0x6c, 0x74, 0x75, 0x32, - 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, - 0x6c, 0x66, 0x32, 0x20, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, - 0x61, 0x6c, 0x66, 0x32, 0x20, 0x62, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, - 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x70, 0x78, 0x20, - 0x3d, 0x20, 0x5f, 0x5f, 0x68, 0x6c, 0x74, 0x75, 0x28, 0x61, 0x2e, 0x78, 0x2c, 0x20, 0x62, 0x2e, - 0x78, 0x29, 0x20, 0x3f, 0x20, 0x28, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, - 0x68, 0x6f, 0x72, 0x74, 0x29, 0x30, 0x78, 0x46, 0x46, 0x46, 0x46, 0x55, 0x20, 0x3a, 0x20, 0x28, + 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, + 0x5f, 0x5f, 0x68, 0x6c, 0x65, 0x75, 0x32, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x28, 0x63, 0x6f, 0x6e, + 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x61, 0x2c, 0x20, 0x63, 0x6f, + 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x62, 0x29, 0x20, 0x7b, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, + 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, + 0x6f, 0x72, 0x74, 0x20, 0x70, 0x78, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x68, 0x6c, 0x65, 0x75, 0x28, + 0x61, 0x2e, 0x78, 0x2c, 0x20, 0x62, 0x2e, 0x78, 0x29, 0x20, 0x3f, 0x20, 0x28, 0x75, 0x6e, 0x73, + 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x29, 0x30, 0x78, 0x46, 0x46, + 0x46, 0x46, 0x55, 0x20, 0x3a, 0x20, 0x28, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, + 0x73, 0x68, 0x6f, 0x72, 0x74, 0x29, 0x30, 0x55, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, + 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x70, 0x79, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x68, 0x6c, + 0x65, 0x75, 0x28, 0x61, 0x2e, 0x79, 0x2c, 0x20, 0x62, 0x2e, 0x79, 0x29, 0x20, 0x3f, 0x20, 0x28, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x29, 0x30, - 0x55, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, - 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, - 0x70, 0x79, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x68, 0x6c, 0x74, 0x75, 0x28, 0x61, 0x2e, 0x79, 0x2c, - 0x20, 0x62, 0x2e, 0x79, 0x29, 0x20, 0x3f, 0x20, 0x28, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, - 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x29, 0x30, 0x78, 0x46, 0x46, 0x46, 0x46, 0x55, 0x20, - 0x3a, 0x20, 0x28, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, - 0x74, 0x29, 0x30, 0x55, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x75, 0x6e, - 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x75, 0x72, 0x20, 0x3d, 0x20, 0x28, 0x75, 0x6e, 0x73, - 0x69, 0x67, 0x6e, 0x65, 0x64, 0x29, 0x70, 0x79, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x75, 0x72, 0x20, 0x3c, 0x3c, 0x3d, 0x20, 0x28, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, - 0x65, 0x64, 0x29, 0x31, 0x36, 0x55, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x75, 0x72, 0x20, 0x7c, 0x3d, 0x20, 0x28, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x29, - 0x70, 0x78, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, - 0x72, 0x6e, 0x20, 0x75, 0x72, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x7d, 0x0a, 0x5f, - 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, - 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x5f, 0x5f, 0x68, 0x67, 0x74, 0x75, + 0x78, 0x46, 0x46, 0x46, 0x46, 0x55, 0x20, 0x3a, 0x20, 0x28, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, + 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x29, 0x30, 0x55, 0x3b, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x75, 0x72, + 0x20, 0x3d, 0x20, 0x28, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x29, 0x70, 0x79, 0x3b, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x75, 0x72, 0x20, 0x3c, 0x3c, 0x3d, 0x20, + 0x28, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x29, 0x31, 0x36, 0x55, 0x3b, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x75, 0x72, 0x20, 0x7c, 0x3d, 0x20, 0x28, 0x75, 0x6e, + 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x29, 0x70, 0x78, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x75, 0x72, 0x3b, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x7d, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, + 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x5f, 0x5f, 0x68, 0x67, 0x65, 0x75, 0x32, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x62, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x70, 0x78, - 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x68, 0x67, 0x74, 0x75, 0x28, 0x61, 0x2e, 0x78, 0x2c, 0x20, 0x62, + 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x68, 0x67, 0x65, 0x75, 0x28, 0x61, 0x2e, 0x78, 0x2c, 0x20, 0x62, 0x2e, 0x78, 0x29, 0x20, 0x3f, 0x20, 0x28, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x29, 0x30, 0x78, 0x46, 0x46, 0x46, 0x46, 0x55, 0x20, 0x3a, 0x20, 0x28, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x29, 0x30, 0x55, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, - 0x20, 0x70, 0x79, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x68, 0x67, 0x74, 0x75, 0x28, 0x61, 0x2e, 0x79, + 0x20, 0x70, 0x79, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x68, 0x67, 0x65, 0x75, 0x28, 0x61, 0x2e, 0x79, 0x2c, 0x20, 0x62, 0x2e, 0x79, 0x29, 0x20, 0x3f, 0x20, 0x28, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x29, 0x30, 0x78, 0x46, 0x46, 0x46, 0x46, 0x55, 0x20, 0x3a, 0x20, 0x28, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, @@ -4708,110 +4475,154 @@ extern "C" const char luisa_cuda_builtin_cuda_device_half[87792] = { 0x20, 0x75, 0x72, 0x20, 0x7c, 0x3d, 0x20, 0x28, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x29, 0x70, 0x78, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x75, 0x72, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x7d, 0x0a, - 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, - 0x65, 0x20, 0x62, 0x6f, 0x6f, 0x6c, 0x20, 0x5f, 0x5f, 0x68, 0x62, 0x65, 0x71, 0x32, 0x28, 0x63, - 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x61, 0x2c, 0x20, - 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x62, 0x29, - 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, - 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x6d, 0x61, 0x73, 0x6b, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x68, - 0x65, 0x71, 0x32, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x28, 0x61, 0x2c, 0x20, 0x62, 0x29, 0x3b, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x28, 0x6d, 0x61, 0x73, 0x6b, - 0x20, 0x3d, 0x3d, 0x20, 0x30, 0x78, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x55, 0x29, - 0x3b, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, - 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x62, 0x6f, 0x6f, 0x6c, 0x20, 0x5f, 0x5f, 0x68, 0x62, 0x6e, + 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, + 0x6e, 0x65, 0x64, 0x20, 0x5f, 0x5f, 0x68, 0x6c, 0x74, 0x75, 0x32, 0x5f, 0x6d, 0x61, 0x73, 0x6b, + 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x61, + 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, + 0x62, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, + 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x70, 0x78, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x68, + 0x6c, 0x74, 0x75, 0x28, 0x61, 0x2e, 0x78, 0x2c, 0x20, 0x62, 0x2e, 0x78, 0x29, 0x20, 0x3f, 0x20, + 0x28, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x29, + 0x30, 0x78, 0x46, 0x46, 0x46, 0x46, 0x55, 0x20, 0x3a, 0x20, 0x28, 0x75, 0x6e, 0x73, 0x69, 0x67, + 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x29, 0x30, 0x55, 0x3b, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, + 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x70, 0x79, 0x20, 0x3d, 0x20, + 0x5f, 0x5f, 0x68, 0x6c, 0x74, 0x75, 0x28, 0x61, 0x2e, 0x79, 0x2c, 0x20, 0x62, 0x2e, 0x79, 0x29, + 0x20, 0x3f, 0x20, 0x28, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, + 0x72, 0x74, 0x29, 0x30, 0x78, 0x46, 0x46, 0x46, 0x46, 0x55, 0x20, 0x3a, 0x20, 0x28, 0x75, 0x6e, + 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x29, 0x30, 0x55, 0x3b, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, + 0x64, 0x20, 0x75, 0x72, 0x20, 0x3d, 0x20, 0x28, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, + 0x29, 0x70, 0x79, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x75, 0x72, 0x20, + 0x3c, 0x3c, 0x3d, 0x20, 0x28, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x29, 0x31, 0x36, + 0x55, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x75, 0x72, 0x20, 0x7c, 0x3d, + 0x20, 0x28, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x29, 0x70, 0x78, 0x3b, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x75, 0x72, + 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, + 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x5f, 0x5f, + 0x68, 0x67, 0x74, 0x75, 0x32, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, + 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, + 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x62, 0x29, 0x20, 0x7b, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, + 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, + 0x74, 0x20, 0x70, 0x78, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x68, 0x67, 0x74, 0x75, 0x28, 0x61, 0x2e, + 0x78, 0x2c, 0x20, 0x62, 0x2e, 0x78, 0x29, 0x20, 0x3f, 0x20, 0x28, 0x75, 0x6e, 0x73, 0x69, 0x67, + 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x29, 0x30, 0x78, 0x46, 0x46, 0x46, 0x46, + 0x55, 0x20, 0x3a, 0x20, 0x28, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, + 0x6f, 0x72, 0x74, 0x29, 0x30, 0x55, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, + 0x68, 0x6f, 0x72, 0x74, 0x20, 0x70, 0x79, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x68, 0x67, 0x74, 0x75, + 0x28, 0x61, 0x2e, 0x79, 0x2c, 0x20, 0x62, 0x2e, 0x79, 0x29, 0x20, 0x3f, 0x20, 0x28, 0x75, 0x6e, + 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x29, 0x30, 0x78, 0x46, + 0x46, 0x46, 0x46, 0x55, 0x20, 0x3a, 0x20, 0x28, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, + 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x29, 0x30, 0x55, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x75, 0x72, 0x20, 0x3d, + 0x20, 0x28, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x29, 0x70, 0x79, 0x3b, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x75, 0x72, 0x20, 0x3c, 0x3c, 0x3d, 0x20, 0x28, 0x75, + 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x29, 0x31, 0x36, 0x55, 0x3b, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x75, 0x72, 0x20, 0x7c, 0x3d, 0x20, 0x28, 0x75, 0x6e, 0x73, 0x69, + 0x67, 0x6e, 0x65, 0x64, 0x29, 0x70, 0x78, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x75, 0x72, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x7d, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x62, + 0x6f, 0x6f, 0x6c, 0x20, 0x5f, 0x5f, 0x68, 0x62, 0x65, 0x71, 0x32, 0x28, 0x63, 0x6f, 0x6e, 0x73, + 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, + 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x62, 0x29, 0x20, 0x7b, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, + 0x65, 0x64, 0x20, 0x6d, 0x61, 0x73, 0x6b, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x68, 0x65, 0x71, 0x32, + 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x28, 0x61, 0x2c, 0x20, 0x62, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x28, 0x6d, 0x61, 0x73, 0x6b, 0x20, 0x3d, 0x3d, + 0x20, 0x30, 0x78, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x55, 0x29, 0x3b, 0x0a, 0x7d, + 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x62, 0x6f, 0x6f, 0x6c, + 0x20, 0x5f, 0x5f, 0x68, 0x62, 0x6e, 0x65, 0x32, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, + 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, + 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x62, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, + 0x6d, 0x61, 0x73, 0x6b, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x68, 0x6e, 0x65, 0x32, 0x5f, 0x6d, 0x61, + 0x73, 0x6b, 0x28, 0x61, 0x2c, 0x20, 0x62, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, + 0x74, 0x75, 0x72, 0x6e, 0x20, 0x28, 0x6d, 0x61, 0x73, 0x6b, 0x20, 0x3d, 0x3d, 0x20, 0x30, 0x78, + 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x55, 0x29, 0x3b, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, + 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x62, 0x6f, 0x6f, 0x6c, 0x20, 0x5f, 0x5f, + 0x68, 0x62, 0x6c, 0x65, 0x32, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, + 0x6c, 0x66, 0x32, 0x20, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, + 0x61, 0x6c, 0x66, 0x32, 0x20, 0x62, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, + 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x6d, 0x61, 0x73, + 0x6b, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x68, 0x6c, 0x65, 0x32, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x28, + 0x61, 0x2c, 0x20, 0x62, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, + 0x6e, 0x20, 0x28, 0x6d, 0x61, 0x73, 0x6b, 0x20, 0x3d, 0x3d, 0x20, 0x30, 0x78, 0x46, 0x46, 0x46, + 0x46, 0x46, 0x46, 0x46, 0x46, 0x55, 0x29, 0x3b, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, + 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x62, 0x6f, 0x6f, 0x6c, 0x20, 0x5f, 0x5f, 0x68, 0x62, 0x67, 0x65, 0x32, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x62, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x6d, 0x61, 0x73, 0x6b, 0x20, 0x3d, - 0x20, 0x5f, 0x5f, 0x68, 0x6e, 0x65, 0x32, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x28, 0x61, 0x2c, 0x20, + 0x20, 0x5f, 0x5f, 0x68, 0x67, 0x65, 0x32, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x28, 0x61, 0x2c, 0x20, 0x62, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x28, 0x6d, 0x61, 0x73, 0x6b, 0x20, 0x3d, 0x3d, 0x20, 0x30, 0x78, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x55, 0x29, 0x3b, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, - 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x62, 0x6f, 0x6f, 0x6c, 0x20, 0x5f, - 0x5f, 0x68, 0x62, 0x6c, 0x65, 0x32, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, - 0x61, 0x6c, 0x66, 0x32, 0x20, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, - 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x62, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x63, - 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x6d, 0x61, - 0x73, 0x6b, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x68, 0x6c, 0x65, 0x32, 0x5f, 0x6d, 0x61, 0x73, 0x6b, - 0x28, 0x61, 0x2c, 0x20, 0x62, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, - 0x72, 0x6e, 0x20, 0x28, 0x6d, 0x61, 0x73, 0x6b, 0x20, 0x3d, 0x3d, 0x20, 0x30, 0x78, 0x46, 0x46, - 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x55, 0x29, 0x3b, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, - 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x62, 0x6f, - 0x6f, 0x6c, 0x20, 0x5f, 0x5f, 0x68, 0x62, 0x67, 0x65, 0x32, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, + 0x5f, 0x5f, 0x20, 0x62, 0x6f, 0x6f, 0x6c, 0x20, 0x5f, 0x5f, 0x68, 0x62, 0x6c, 0x74, 0x32, 0x28, + 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x61, 0x2c, + 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x62, + 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, + 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x6d, 0x61, 0x73, 0x6b, 0x20, 0x3d, 0x20, 0x5f, 0x5f, + 0x68, 0x6c, 0x74, 0x32, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x28, 0x61, 0x2c, 0x20, 0x62, 0x29, 0x3b, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x28, 0x6d, 0x61, 0x73, + 0x6b, 0x20, 0x3d, 0x3d, 0x20, 0x30, 0x78, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x55, + 0x29, 0x3b, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, + 0x62, 0x6f, 0x6f, 0x6c, 0x20, 0x5f, 0x5f, 0x68, 0x62, 0x67, 0x74, 0x32, 0x28, 0x63, 0x6f, 0x6e, + 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x61, 0x2c, 0x20, 0x63, 0x6f, + 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x62, 0x29, 0x20, 0x7b, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, + 0x6e, 0x65, 0x64, 0x20, 0x6d, 0x61, 0x73, 0x6b, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x68, 0x67, 0x74, + 0x32, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x28, 0x61, 0x2c, 0x20, 0x62, 0x29, 0x3b, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x28, 0x6d, 0x61, 0x73, 0x6b, 0x20, 0x3d, + 0x3d, 0x20, 0x30, 0x78, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x55, 0x29, 0x3b, 0x0a, + 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x62, 0x6f, 0x6f, + 0x6c, 0x20, 0x5f, 0x5f, 0x68, 0x62, 0x65, 0x71, 0x75, 0x32, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x62, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, - 0x64, 0x20, 0x6d, 0x61, 0x73, 0x6b, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x68, 0x67, 0x65, 0x32, 0x5f, + 0x64, 0x20, 0x6d, 0x61, 0x73, 0x6b, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x68, 0x65, 0x71, 0x75, 0x32, + 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x28, 0x61, 0x2c, 0x20, 0x62, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x28, 0x6d, 0x61, 0x73, 0x6b, 0x20, 0x3d, 0x3d, + 0x20, 0x30, 0x78, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x55, 0x29, 0x3b, 0x0a, 0x7d, + 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x62, 0x6f, 0x6f, 0x6c, + 0x20, 0x5f, 0x5f, 0x68, 0x62, 0x6e, 0x65, 0x75, 0x32, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, + 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, + 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x62, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, + 0x20, 0x6d, 0x61, 0x73, 0x6b, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x68, 0x6e, 0x65, 0x75, 0x32, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x28, 0x61, 0x2c, 0x20, 0x62, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x28, 0x6d, 0x61, 0x73, 0x6b, 0x20, 0x3d, 0x3d, 0x20, 0x30, 0x78, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x55, 0x29, 0x3b, 0x0a, 0x7d, 0x0a, - 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, - 0x65, 0x20, 0x62, 0x6f, 0x6f, 0x6c, 0x20, 0x5f, 0x5f, 0x68, 0x62, 0x6c, 0x74, 0x32, 0x28, 0x63, - 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x61, 0x2c, 0x20, - 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x62, 0x29, - 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, - 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x6d, 0x61, 0x73, 0x6b, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x68, - 0x6c, 0x74, 0x32, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x28, 0x61, 0x2c, 0x20, 0x62, 0x29, 0x3b, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x28, 0x6d, 0x61, 0x73, 0x6b, - 0x20, 0x3d, 0x3d, 0x20, 0x30, 0x78, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x55, 0x29, - 0x3b, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, - 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x62, 0x6f, 0x6f, 0x6c, 0x20, 0x5f, 0x5f, 0x68, 0x62, 0x67, - 0x74, 0x32, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, - 0x20, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, - 0x32, 0x20, 0x62, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, - 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x6d, 0x61, 0x73, 0x6b, 0x20, 0x3d, - 0x20, 0x5f, 0x5f, 0x68, 0x67, 0x74, 0x32, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x28, 0x61, 0x2c, 0x20, - 0x62, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x28, - 0x6d, 0x61, 0x73, 0x6b, 0x20, 0x3d, 0x3d, 0x20, 0x30, 0x78, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, - 0x46, 0x46, 0x55, 0x29, 0x3b, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, - 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x62, 0x6f, 0x6f, 0x6c, 0x20, 0x5f, - 0x5f, 0x68, 0x62, 0x65, 0x71, 0x75, 0x32, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, + 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x62, 0x6f, 0x6f, 0x6c, 0x20, + 0x5f, 0x5f, 0x68, 0x62, 0x6c, 0x65, 0x75, 0x32, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, + 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, + 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x62, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, + 0x6d, 0x61, 0x73, 0x6b, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x68, 0x6c, 0x65, 0x75, 0x32, 0x5f, 0x6d, + 0x61, 0x73, 0x6b, 0x28, 0x61, 0x2c, 0x20, 0x62, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, + 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x28, 0x6d, 0x61, 0x73, 0x6b, 0x20, 0x3d, 0x3d, 0x20, 0x30, + 0x78, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x55, 0x29, 0x3b, 0x0a, 0x7d, 0x0a, 0x5f, + 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x62, 0x6f, 0x6f, 0x6c, 0x20, 0x5f, + 0x5f, 0x68, 0x62, 0x67, 0x65, 0x75, 0x32, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x62, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x6d, - 0x61, 0x73, 0x6b, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x68, 0x65, 0x71, 0x75, 0x32, 0x5f, 0x6d, 0x61, + 0x61, 0x73, 0x6b, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x68, 0x67, 0x65, 0x75, 0x32, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x28, 0x61, 0x2c, 0x20, 0x62, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x28, 0x6d, 0x61, 0x73, 0x6b, 0x20, 0x3d, 0x3d, 0x20, 0x30, 0x78, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x55, 0x29, 0x3b, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, - 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, - 0x62, 0x6f, 0x6f, 0x6c, 0x20, 0x5f, 0x5f, 0x68, 0x62, 0x6e, 0x65, 0x75, 0x32, 0x28, 0x63, 0x6f, - 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x61, 0x2c, 0x20, 0x63, - 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x62, 0x29, 0x20, - 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, - 0x67, 0x6e, 0x65, 0x64, 0x20, 0x6d, 0x61, 0x73, 0x6b, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x68, 0x6e, - 0x65, 0x75, 0x32, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x28, 0x61, 0x2c, 0x20, 0x62, 0x29, 0x3b, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x28, 0x6d, 0x61, 0x73, 0x6b, - 0x20, 0x3d, 0x3d, 0x20, 0x30, 0x78, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x55, 0x29, - 0x3b, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, - 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x62, 0x6f, 0x6f, 0x6c, 0x20, 0x5f, 0x5f, 0x68, 0x62, 0x6c, - 0x65, 0x75, 0x32, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, - 0x32, 0x20, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, - 0x66, 0x32, 0x20, 0x62, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, - 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x6d, 0x61, 0x73, 0x6b, 0x20, - 0x3d, 0x20, 0x5f, 0x5f, 0x68, 0x6c, 0x65, 0x75, 0x32, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x28, 0x61, - 0x2c, 0x20, 0x62, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, - 0x20, 0x28, 0x6d, 0x61, 0x73, 0x6b, 0x20, 0x3d, 0x3d, 0x20, 0x30, 0x78, 0x46, 0x46, 0x46, 0x46, - 0x46, 0x46, 0x46, 0x46, 0x55, 0x29, 0x3b, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, - 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x62, 0x6f, 0x6f, 0x6c, - 0x20, 0x5f, 0x5f, 0x68, 0x62, 0x67, 0x65, 0x75, 0x32, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, - 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, - 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x62, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, - 0x20, 0x6d, 0x61, 0x73, 0x6b, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x68, 0x67, 0x65, 0x75, 0x32, 0x5f, - 0x6d, 0x61, 0x73, 0x6b, 0x28, 0x61, 0x2c, 0x20, 0x62, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x28, 0x6d, 0x61, 0x73, 0x6b, 0x20, 0x3d, 0x3d, 0x20, - 0x30, 0x78, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x55, 0x29, 0x3b, 0x0a, 0x7d, 0x0a, - 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, - 0x65, 0x20, 0x62, 0x6f, 0x6f, 0x6c, 0x20, 0x5f, 0x5f, 0x68, 0x62, 0x6c, 0x74, 0x75, 0x32, 0x28, - 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x61, 0x2c, - 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x62, - 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, - 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x6d, 0x61, 0x73, 0x6b, 0x20, 0x3d, 0x20, 0x5f, 0x5f, - 0x68, 0x6c, 0x74, 0x75, 0x32, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x28, 0x61, 0x2c, 0x20, 0x62, 0x29, - 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x28, 0x6d, 0x61, - 0x73, 0x6b, 0x20, 0x3d, 0x3d, 0x20, 0x30, 0x78, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, - 0x55, 0x29, 0x3b, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, - 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x62, 0x6f, 0x6f, 0x6c, 0x20, 0x5f, 0x5f, 0x68, + 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x62, 0x6f, 0x6f, 0x6c, 0x20, 0x5f, 0x5f, + 0x68, 0x62, 0x6c, 0x74, 0x75, 0x32, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, + 0x61, 0x6c, 0x66, 0x32, 0x20, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, + 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x62, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x63, + 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x6d, 0x61, + 0x73, 0x6b, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x68, 0x6c, 0x74, 0x75, 0x32, 0x5f, 0x6d, 0x61, 0x73, + 0x6b, 0x28, 0x61, 0x2c, 0x20, 0x62, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, + 0x75, 0x72, 0x6e, 0x20, 0x28, 0x6d, 0x61, 0x73, 0x6b, 0x20, 0x3d, 0x3d, 0x20, 0x30, 0x78, 0x46, + 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x55, 0x29, 0x3b, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, + 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x62, 0x6f, 0x6f, 0x6c, 0x20, 0x5f, 0x5f, 0x68, 0x62, 0x67, 0x74, 0x75, 0x32, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x62, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, @@ -4820,20 +4631,44 @@ extern "C" const char luisa_cuda_builtin_cuda_device_half[87792] = { 0x28, 0x61, 0x2c, 0x20, 0x62, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x28, 0x6d, 0x61, 0x73, 0x6b, 0x20, 0x3d, 0x3d, 0x20, 0x30, 0x78, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x55, 0x29, 0x3b, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, - 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x62, 0x6f, - 0x6f, 0x6c, 0x20, 0x5f, 0x5f, 0x68, 0x65, 0x71, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, - 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, - 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x62, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7b, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x66, - 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x66, 0x61, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, - 0x32, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x28, 0x61, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x66, - 0x62, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x66, 0x6c, 0x6f, 0x61, 0x74, - 0x28, 0x62, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, - 0x75, 0x72, 0x6e, 0x20, 0x28, 0x66, 0x61, 0x20, 0x3d, 0x3d, 0x20, 0x66, 0x62, 0x29, 0x3b, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, - 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x62, 0x6f, 0x6f, 0x6c, 0x20, 0x5f, - 0x5f, 0x68, 0x6e, 0x65, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, + 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x62, 0x6f, 0x6f, 0x6c, 0x20, 0x5f, 0x5f, 0x68, 0x65, + 0x71, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x61, + 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x62, + 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x66, 0x61, + 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x28, + 0x61, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, + 0x74, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x66, 0x62, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x68, + 0x61, 0x6c, 0x66, 0x32, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x28, 0x62, 0x29, 0x3b, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x28, 0x66, 0x61, + 0x20, 0x3d, 0x3d, 0x20, 0x66, 0x62, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x7d, + 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x62, 0x6f, 0x6f, 0x6c, + 0x20, 0x5f, 0x5f, 0x68, 0x6e, 0x65, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, + 0x61, 0x6c, 0x66, 0x20, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, + 0x61, 0x6c, 0x66, 0x20, 0x62, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x66, 0x6c, 0x6f, + 0x61, 0x74, 0x20, 0x66, 0x61, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x66, + 0x6c, 0x6f, 0x61, 0x74, 0x28, 0x61, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x66, 0x62, 0x20, + 0x3d, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x28, 0x62, + 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, + 0x6e, 0x20, 0x28, 0x66, 0x61, 0x20, 0x21, 0x3d, 0x20, 0x66, 0x62, 0x29, 0x20, 0x26, 0x26, 0x20, + 0x28, 0x21, 0x5f, 0x5f, 0x68, 0x69, 0x73, 0x6e, 0x61, 0x6e, 0x28, 0x61, 0x29, 0x29, 0x20, 0x26, + 0x26, 0x20, 0x28, 0x21, 0x5f, 0x5f, 0x68, 0x69, 0x73, 0x6e, 0x61, 0x6e, 0x28, 0x62, 0x29, 0x29, + 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, + 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x62, 0x6f, 0x6f, 0x6c, 0x20, 0x5f, 0x5f, 0x68, 0x6c, 0x65, 0x28, + 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x61, 0x2c, 0x20, + 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x62, 0x29, 0x20, + 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x66, 0x61, 0x20, 0x3d, + 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x28, 0x61, 0x29, + 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, + 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x66, 0x62, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, + 0x66, 0x32, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x28, 0x62, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x28, 0x66, 0x61, 0x20, 0x3c, + 0x3d, 0x20, 0x66, 0x62, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x7d, 0x0a, 0x5f, + 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x62, 0x6f, 0x6f, 0x6c, 0x20, 0x5f, + 0x5f, 0x68, 0x67, 0x65, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x62, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, @@ -4842,23 +4677,56 @@ extern "C" const char luisa_cuda_builtin_cuda_device_half[87792] = { 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x66, 0x62, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x28, 0x62, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, - 0x28, 0x66, 0x61, 0x20, 0x21, 0x3d, 0x20, 0x66, 0x62, 0x29, 0x20, 0x26, 0x26, 0x20, 0x28, 0x21, - 0x5f, 0x5f, 0x68, 0x69, 0x73, 0x6e, 0x61, 0x6e, 0x28, 0x61, 0x29, 0x29, 0x20, 0x26, 0x26, 0x20, - 0x28, 0x21, 0x5f, 0x5f, 0x68, 0x69, 0x73, 0x6e, 0x61, 0x6e, 0x28, 0x62, 0x29, 0x29, 0x3b, 0x0a, + 0x28, 0x66, 0x61, 0x20, 0x3e, 0x3d, 0x20, 0x66, 0x62, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x7d, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x62, + 0x6f, 0x6f, 0x6c, 0x20, 0x5f, 0x5f, 0x68, 0x6c, 0x74, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, + 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, + 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x62, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, + 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x66, 0x61, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, + 0x66, 0x32, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x28, 0x61, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, + 0x66, 0x62, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x66, 0x6c, 0x6f, 0x61, + 0x74, 0x28, 0x62, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, + 0x74, 0x75, 0x72, 0x6e, 0x20, 0x28, 0x66, 0x61, 0x20, 0x3c, 0x20, 0x66, 0x62, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, - 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x62, 0x6f, 0x6f, 0x6c, 0x20, 0x5f, - 0x5f, 0x68, 0x6c, 0x65, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, - 0x66, 0x20, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, - 0x66, 0x20, 0x62, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, + 0x5f, 0x5f, 0x20, 0x62, 0x6f, 0x6f, 0x6c, 0x20, 0x5f, 0x5f, 0x68, 0x67, 0x74, 0x28, 0x63, 0x6f, + 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x61, 0x2c, 0x20, 0x63, 0x6f, + 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x62, 0x29, 0x20, 0x7b, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, + 0x6e, 0x73, 0x74, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x66, 0x61, 0x20, 0x3d, 0x20, 0x5f, + 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x28, 0x61, 0x29, 0x3b, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x66, 0x6c, + 0x6f, 0x61, 0x74, 0x20, 0x66, 0x62, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, + 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x28, 0x62, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x28, 0x66, 0x61, 0x20, 0x3e, 0x20, 0x66, + 0x62, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, + 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x62, 0x6f, 0x6f, 0x6c, 0x20, 0x5f, 0x5f, 0x68, 0x65, + 0x71, 0x75, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, + 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, + 0x62, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x66, + 0x61, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x66, 0x6c, 0x6f, 0x61, 0x74, + 0x28, 0x61, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, + 0x73, 0x74, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x66, 0x62, 0x20, 0x3d, 0x20, 0x5f, 0x5f, + 0x68, 0x61, 0x6c, 0x66, 0x32, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x28, 0x62, 0x29, 0x3b, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x28, 0x66, + 0x61, 0x20, 0x3d, 0x3d, 0x20, 0x66, 0x62, 0x29, 0x20, 0x7c, 0x7c, 0x20, 0x28, 0x5f, 0x5f, 0x68, + 0x69, 0x73, 0x6e, 0x61, 0x6e, 0x28, 0x61, 0x29, 0x29, 0x20, 0x7c, 0x7c, 0x20, 0x28, 0x5f, 0x5f, + 0x68, 0x69, 0x73, 0x6e, 0x61, 0x6e, 0x28, 0x62, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x7d, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x62, + 0x6f, 0x6f, 0x6c, 0x20, 0x5f, 0x5f, 0x68, 0x6e, 0x65, 0x75, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, + 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, + 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x62, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, + 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x66, 0x61, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x68, 0x61, + 0x6c, 0x66, 0x32, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x28, 0x61, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, - 0x20, 0x66, 0x61, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x66, 0x6c, 0x6f, - 0x61, 0x74, 0x28, 0x61, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, - 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x66, 0x62, 0x20, 0x3d, 0x20, - 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x28, 0x62, 0x29, 0x3b, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, - 0x28, 0x66, 0x61, 0x20, 0x3c, 0x3d, 0x20, 0x66, 0x62, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x7d, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, - 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x62, 0x6f, 0x6f, 0x6c, 0x20, 0x5f, 0x5f, 0x68, 0x67, 0x65, + 0x20, 0x66, 0x62, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x66, 0x6c, 0x6f, + 0x61, 0x74, 0x28, 0x62, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, + 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x28, 0x66, 0x61, 0x20, 0x21, 0x3d, 0x20, 0x66, 0x62, 0x29, + 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, + 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x62, 0x6f, 0x6f, 0x6c, 0x20, 0x5f, 0x5f, 0x68, 0x6c, 0x65, 0x75, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x62, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, @@ -4868,21 +4736,38 @@ extern "C" const char luisa_cuda_builtin_cuda_device_half[87792] = { 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x66, 0x62, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x28, 0x62, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x28, 0x66, 0x61, 0x20, - 0x3e, 0x3d, 0x20, 0x66, 0x62, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x7d, 0x0a, - 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, - 0x65, 0x20, 0x62, 0x6f, 0x6f, 0x6c, 0x20, 0x5f, 0x5f, 0x68, 0x6c, 0x74, 0x28, 0x63, 0x6f, 0x6e, - 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, - 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x62, 0x29, 0x20, 0x7b, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, - 0x73, 0x74, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x66, 0x61, 0x20, 0x3d, 0x20, 0x5f, 0x5f, - 0x68, 0x61, 0x6c, 0x66, 0x32, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x28, 0x61, 0x29, 0x3b, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x66, 0x6c, 0x6f, - 0x61, 0x74, 0x20, 0x66, 0x62, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x66, - 0x6c, 0x6f, 0x61, 0x74, 0x28, 0x62, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x28, 0x66, 0x61, 0x20, 0x3c, 0x20, 0x66, 0x62, - 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, - 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x62, 0x6f, 0x6f, - 0x6c, 0x20, 0x5f, 0x5f, 0x68, 0x67, 0x74, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, + 0x3c, 0x3d, 0x20, 0x66, 0x62, 0x29, 0x20, 0x7c, 0x7c, 0x20, 0x28, 0x5f, 0x5f, 0x68, 0x69, 0x73, + 0x6e, 0x61, 0x6e, 0x28, 0x61, 0x29, 0x29, 0x20, 0x7c, 0x7c, 0x20, 0x28, 0x5f, 0x5f, 0x68, 0x69, + 0x73, 0x6e, 0x61, 0x6e, 0x28, 0x62, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, + 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x62, 0x6f, 0x6f, + 0x6c, 0x20, 0x5f, 0x5f, 0x68, 0x67, 0x65, 0x75, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, + 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, + 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x62, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7b, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x66, + 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x66, 0x61, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, + 0x32, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x28, 0x61, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x66, + 0x62, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x66, 0x6c, 0x6f, 0x61, 0x74, + 0x28, 0x62, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, + 0x75, 0x72, 0x6e, 0x20, 0x28, 0x66, 0x61, 0x20, 0x3e, 0x3d, 0x20, 0x66, 0x62, 0x29, 0x20, 0x7c, + 0x7c, 0x20, 0x28, 0x5f, 0x5f, 0x68, 0x69, 0x73, 0x6e, 0x61, 0x6e, 0x28, 0x61, 0x29, 0x29, 0x20, + 0x7c, 0x7c, 0x20, 0x28, 0x5f, 0x5f, 0x68, 0x69, 0x73, 0x6e, 0x61, 0x6e, 0x28, 0x62, 0x29, 0x29, + 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, + 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x62, 0x6f, 0x6f, 0x6c, 0x20, 0x5f, 0x5f, 0x68, 0x6c, 0x74, 0x75, + 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x61, 0x2c, + 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x62, 0x29, + 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x66, 0x61, 0x20, + 0x3d, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x28, 0x61, + 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, + 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x66, 0x62, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x68, 0x61, + 0x6c, 0x66, 0x32, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x28, 0x62, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x28, 0x66, 0x61, 0x20, + 0x3c, 0x20, 0x66, 0x62, 0x29, 0x20, 0x7c, 0x7c, 0x20, 0x28, 0x5f, 0x5f, 0x68, 0x69, 0x73, 0x6e, + 0x61, 0x6e, 0x28, 0x61, 0x29, 0x29, 0x20, 0x7c, 0x7c, 0x20, 0x28, 0x5f, 0x5f, 0x68, 0x69, 0x73, + 0x6e, 0x61, 0x6e, 0x28, 0x62, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x7d, + 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x62, 0x6f, 0x6f, 0x6c, + 0x20, 0x5f, 0x5f, 0x68, 0x67, 0x74, 0x75, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x62, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x66, 0x6c, @@ -4891,126 +4776,45 @@ extern "C" const char luisa_cuda_builtin_cuda_device_half[87792] = { 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x66, 0x62, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x28, 0x62, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, - 0x72, 0x6e, 0x20, 0x28, 0x66, 0x61, 0x20, 0x3e, 0x20, 0x66, 0x62, 0x29, 0x3b, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x7d, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, - 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x62, 0x6f, 0x6f, 0x6c, 0x20, 0x5f, 0x5f, 0x68, - 0x65, 0x71, 0x75, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, + 0x72, 0x6e, 0x20, 0x28, 0x66, 0x61, 0x20, 0x3e, 0x20, 0x66, 0x62, 0x29, 0x20, 0x7c, 0x7c, 0x20, + 0x28, 0x5f, 0x5f, 0x68, 0x69, 0x73, 0x6e, 0x61, 0x6e, 0x28, 0x61, 0x29, 0x29, 0x20, 0x7c, 0x7c, + 0x20, 0x28, 0x5f, 0x5f, 0x68, 0x69, 0x73, 0x6e, 0x61, 0x6e, 0x28, 0x62, 0x29, 0x29, 0x3b, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, + 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x64, + 0x64, 0x32, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, - 0x20, 0x62, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, - 0x66, 0x61, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x66, 0x6c, 0x6f, 0x61, - 0x74, 0x28, 0x61, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, - 0x6e, 0x73, 0x74, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x66, 0x62, 0x20, 0x3d, 0x20, 0x5f, - 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x28, 0x62, 0x29, 0x3b, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x28, - 0x66, 0x61, 0x20, 0x3d, 0x3d, 0x20, 0x66, 0x62, 0x29, 0x20, 0x7c, 0x7c, 0x20, 0x28, 0x5f, 0x5f, - 0x68, 0x69, 0x73, 0x6e, 0x61, 0x6e, 0x28, 0x61, 0x29, 0x29, 0x20, 0x7c, 0x7c, 0x20, 0x28, 0x5f, - 0x5f, 0x68, 0x69, 0x73, 0x6e, 0x61, 0x6e, 0x28, 0x62, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x7d, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, - 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x62, 0x6f, 0x6f, 0x6c, 0x20, 0x5f, 0x5f, 0x68, 0x6e, - 0x65, 0x75, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, - 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, - 0x62, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x66, - 0x61, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x66, 0x6c, 0x6f, 0x61, 0x74, - 0x28, 0x61, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, - 0x73, 0x74, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x66, 0x62, 0x20, 0x3d, 0x20, 0x5f, 0x5f, - 0x68, 0x61, 0x6c, 0x66, 0x32, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x28, 0x62, 0x29, 0x3b, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x28, 0x66, - 0x61, 0x20, 0x21, 0x3d, 0x20, 0x66, 0x62, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, - 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, - 0x69, 0x6e, 0x65, 0x20, 0x62, 0x6f, 0x6f, 0x6c, 0x20, 0x5f, 0x5f, 0x68, 0x6c, 0x65, 0x75, 0x28, - 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x61, 0x2c, 0x20, - 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x62, 0x29, 0x20, - 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x66, 0x61, 0x20, 0x3d, - 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x28, 0x61, 0x29, - 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, - 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x66, 0x62, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, - 0x66, 0x32, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x28, 0x62, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x28, 0x66, 0x61, 0x20, 0x3c, - 0x3d, 0x20, 0x66, 0x62, 0x29, 0x20, 0x7c, 0x7c, 0x20, 0x28, 0x5f, 0x5f, 0x68, 0x69, 0x73, 0x6e, - 0x61, 0x6e, 0x28, 0x61, 0x29, 0x29, 0x20, 0x7c, 0x7c, 0x20, 0x28, 0x5f, 0x5f, 0x68, 0x69, 0x73, - 0x6e, 0x61, 0x6e, 0x28, 0x62, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x7d, - 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, - 0x6e, 0x65, 0x20, 0x62, 0x6f, 0x6f, 0x6c, 0x20, 0x5f, 0x5f, 0x68, 0x67, 0x65, 0x75, 0x28, 0x63, - 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x61, 0x2c, 0x20, 0x63, - 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x62, 0x29, 0x20, 0x7b, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, - 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x66, 0x61, 0x20, 0x3d, 0x20, - 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x28, 0x61, 0x29, 0x3b, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x66, - 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x66, 0x62, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, - 0x32, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x28, 0x62, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x28, 0x66, 0x61, 0x20, 0x3e, 0x3d, - 0x20, 0x66, 0x62, 0x29, 0x20, 0x7c, 0x7c, 0x20, 0x28, 0x5f, 0x5f, 0x68, 0x69, 0x73, 0x6e, 0x61, - 0x6e, 0x28, 0x61, 0x29, 0x29, 0x20, 0x7c, 0x7c, 0x20, 0x28, 0x5f, 0x5f, 0x68, 0x69, 0x73, 0x6e, - 0x61, 0x6e, 0x28, 0x62, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x7d, 0x0a, - 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, - 0x65, 0x20, 0x62, 0x6f, 0x6f, 0x6c, 0x20, 0x5f, 0x5f, 0x68, 0x6c, 0x74, 0x75, 0x28, 0x63, 0x6f, - 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x61, 0x2c, 0x20, 0x63, 0x6f, - 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x62, 0x29, 0x20, 0x7b, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, - 0x6e, 0x73, 0x74, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x66, 0x61, 0x20, 0x3d, 0x20, 0x5f, - 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x28, 0x61, 0x29, 0x3b, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x66, 0x6c, - 0x6f, 0x61, 0x74, 0x20, 0x66, 0x62, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, - 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x28, 0x62, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x28, 0x66, 0x61, 0x20, 0x3c, 0x20, 0x66, - 0x62, 0x29, 0x20, 0x7c, 0x7c, 0x20, 0x28, 0x5f, 0x5f, 0x68, 0x69, 0x73, 0x6e, 0x61, 0x6e, 0x28, - 0x61, 0x29, 0x29, 0x20, 0x7c, 0x7c, 0x20, 0x28, 0x5f, 0x5f, 0x68, 0x69, 0x73, 0x6e, 0x61, 0x6e, - 0x28, 0x62, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, - 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, - 0x62, 0x6f, 0x6f, 0x6c, 0x20, 0x5f, 0x5f, 0x68, 0x67, 0x74, 0x75, 0x28, 0x63, 0x6f, 0x6e, 0x73, - 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, - 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x62, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, - 0x74, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x66, 0x61, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x68, - 0x61, 0x6c, 0x66, 0x32, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x28, 0x61, 0x29, 0x3b, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x66, 0x6c, 0x6f, 0x61, - 0x74, 0x20, 0x66, 0x62, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x66, 0x6c, - 0x6f, 0x61, 0x74, 0x28, 0x62, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x28, 0x66, 0x61, 0x20, 0x3e, 0x20, 0x66, 0x62, 0x29, - 0x20, 0x7c, 0x7c, 0x20, 0x28, 0x5f, 0x5f, 0x68, 0x69, 0x73, 0x6e, 0x61, 0x6e, 0x28, 0x61, 0x29, - 0x29, 0x20, 0x7c, 0x7c, 0x20, 0x28, 0x5f, 0x5f, 0x68, 0x69, 0x73, 0x6e, 0x61, 0x6e, 0x28, 0x62, - 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, - 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, - 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x64, 0x64, 0x32, 0x28, 0x63, 0x6f, - 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x61, 0x2c, 0x20, 0x63, - 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x62, 0x29, 0x20, - 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x76, 0x61, 0x6c, 0x3b, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, 0x61, 0x6c, 0x2e, 0x78, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x68, - 0x61, 0x64, 0x64, 0x28, 0x61, 0x2e, 0x78, 0x2c, 0x20, 0x62, 0x2e, 0x78, 0x29, 0x3b, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, 0x61, 0x6c, 0x2e, 0x79, 0x20, 0x3d, 0x20, 0x5f, - 0x5f, 0x68, 0x61, 0x64, 0x64, 0x28, 0x61, 0x2e, 0x79, 0x2c, 0x20, 0x62, 0x2e, 0x79, 0x29, 0x3b, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, - 0x76, 0x61, 0x6c, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, - 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, - 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x5f, 0x5f, 0x68, 0x73, 0x75, 0x62, 0x32, 0x28, 0x63, - 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x61, 0x2c, 0x20, - 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x62, 0x29, - 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x76, 0x61, 0x6c, 0x3b, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, 0x61, 0x6c, 0x2e, 0x78, 0x20, 0x3d, 0x20, 0x5f, 0x5f, - 0x68, 0x73, 0x75, 0x62, 0x28, 0x61, 0x2e, 0x78, 0x2c, 0x20, 0x62, 0x2e, 0x78, 0x29, 0x3b, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, 0x61, 0x6c, 0x2e, 0x79, 0x20, 0x3d, 0x20, - 0x5f, 0x5f, 0x68, 0x73, 0x75, 0x62, 0x28, 0x61, 0x2e, 0x79, 0x2c, 0x20, 0x62, 0x2e, 0x79, 0x29, - 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, - 0x20, 0x76, 0x61, 0x6c, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, - 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, - 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x5f, 0x5f, 0x68, 0x6d, 0x75, 0x6c, 0x32, 0x28, - 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x61, 0x2c, - 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x62, - 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x76, 0x61, 0x6c, 0x3b, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, 0x61, 0x6c, 0x2e, 0x78, 0x20, 0x3d, 0x20, 0x5f, - 0x5f, 0x68, 0x6d, 0x75, 0x6c, 0x28, 0x61, 0x2e, 0x78, 0x2c, 0x20, 0x62, 0x2e, 0x78, 0x29, 0x3b, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, 0x61, 0x6c, 0x2e, 0x79, 0x20, 0x3d, - 0x20, 0x5f, 0x5f, 0x68, 0x6d, 0x75, 0x6c, 0x28, 0x61, 0x2e, 0x79, 0x2c, 0x20, 0x62, 0x2e, 0x79, - 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, - 0x6e, 0x20, 0x76, 0x61, 0x6c, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x7d, 0x0a, 0x5f, - 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, + 0x32, 0x20, 0x62, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x76, 0x61, 0x6c, + 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, 0x61, 0x6c, 0x2e, 0x78, 0x20, + 0x3d, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x64, 0x64, 0x28, 0x61, 0x2e, 0x78, 0x2c, 0x20, 0x62, 0x2e, + 0x78, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, 0x61, 0x6c, 0x2e, + 0x79, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x64, 0x64, 0x28, 0x61, 0x2e, 0x79, 0x2c, 0x20, + 0x62, 0x2e, 0x79, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, + 0x74, 0x75, 0x72, 0x6e, 0x20, 0x76, 0x61, 0x6c, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, + 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, + 0x61, 0x6c, 0x66, 0x32, 0x20, 0x5f, 0x5f, 0x68, 0x73, 0x75, 0x62, 0x32, 0x28, 0x63, 0x6f, 0x6e, + 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x61, 0x2c, 0x20, 0x63, 0x6f, + 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x62, 0x29, 0x20, 0x7b, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5f, + 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x76, 0x61, 0x6c, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x76, 0x61, 0x6c, 0x2e, 0x78, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x68, 0x73, + 0x75, 0x62, 0x28, 0x61, 0x2e, 0x78, 0x2c, 0x20, 0x62, 0x2e, 0x78, 0x29, 0x3b, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, 0x61, 0x6c, 0x2e, 0x79, 0x20, 0x3d, 0x20, 0x5f, 0x5f, + 0x68, 0x73, 0x75, 0x62, 0x28, 0x61, 0x2e, 0x79, 0x2c, 0x20, 0x62, 0x2e, 0x79, 0x29, 0x3b, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x76, + 0x61, 0x6c, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, + 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x5f, + 0x5f, 0x68, 0x6d, 0x75, 0x6c, 0x32, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, + 0x61, 0x6c, 0x66, 0x32, 0x20, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, + 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x62, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7b, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, + 0x20, 0x76, 0x61, 0x6c, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, 0x61, + 0x6c, 0x2e, 0x78, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x68, 0x6d, 0x75, 0x6c, 0x28, 0x61, 0x2e, 0x78, + 0x2c, 0x20, 0x62, 0x2e, 0x78, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x76, 0x61, 0x6c, 0x2e, 0x79, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x68, 0x6d, 0x75, 0x6c, 0x28, 0x61, + 0x2e, 0x79, 0x2c, 0x20, 0x62, 0x2e, 0x79, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x76, 0x61, 0x6c, 0x3b, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x7d, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x64, 0x64, 0x32, 0x5f, 0x73, 0x61, 0x74, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, @@ -5023,166 +4827,99 @@ extern "C" const char luisa_cuda_builtin_cuda_device_half[87792] = { 0x5f, 0x73, 0x61, 0x74, 0x28, 0x61, 0x2e, 0x79, 0x2c, 0x20, 0x62, 0x2e, 0x79, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x76, 0x61, 0x6c, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, - 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, - 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x5f, 0x5f, 0x68, 0x73, 0x75, 0x62, 0x32, 0x5f, 0x73, 0x61, - 0x74, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, - 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, - 0x20, 0x62, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x76, 0x61, 0x6c, 0x3b, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, 0x61, 0x6c, 0x2e, 0x78, 0x20, 0x3d, - 0x20, 0x5f, 0x5f, 0x68, 0x73, 0x75, 0x62, 0x5f, 0x73, 0x61, 0x74, 0x28, 0x61, 0x2e, 0x78, 0x2c, - 0x20, 0x62, 0x2e, 0x78, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, - 0x61, 0x6c, 0x2e, 0x79, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x68, 0x73, 0x75, 0x62, 0x5f, 0x73, 0x61, - 0x74, 0x28, 0x61, 0x2e, 0x79, 0x2c, 0x20, 0x62, 0x2e, 0x79, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x76, 0x61, 0x6c, 0x3b, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, - 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, - 0x66, 0x32, 0x20, 0x5f, 0x5f, 0x68, 0x6d, 0x75, 0x6c, 0x32, 0x5f, 0x73, 0x61, 0x74, 0x28, 0x63, - 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x61, 0x2c, 0x20, - 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x62, 0x29, - 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x76, 0x61, 0x6c, 0x3b, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, 0x61, 0x6c, 0x2e, 0x78, 0x20, 0x3d, 0x20, 0x5f, 0x5f, - 0x68, 0x6d, 0x75, 0x6c, 0x5f, 0x73, 0x61, 0x74, 0x28, 0x61, 0x2e, 0x78, 0x2c, 0x20, 0x62, 0x2e, - 0x78, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, 0x61, 0x6c, 0x2e, - 0x79, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x68, 0x6d, 0x75, 0x6c, 0x5f, 0x73, 0x61, 0x74, 0x28, 0x61, - 0x2e, 0x79, 0x2c, 0x20, 0x62, 0x2e, 0x79, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x76, 0x61, 0x6c, 0x3b, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x7d, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, - 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, - 0x5f, 0x5f, 0x68, 0x61, 0x64, 0x64, 0x32, 0x5f, 0x72, 0x6e, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, + 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x5f, + 0x5f, 0x68, 0x73, 0x75, 0x62, 0x32, 0x5f, 0x73, 0x61, 0x74, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x62, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x76, 0x61, 0x6c, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x76, 0x61, 0x6c, 0x2e, 0x78, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x64, 0x64, - 0x5f, 0x72, 0x6e, 0x28, 0x61, 0x2e, 0x78, 0x2c, 0x20, 0x62, 0x2e, 0x78, 0x29, 0x3b, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, 0x61, 0x6c, 0x2e, 0x79, 0x20, 0x3d, 0x20, 0x5f, - 0x5f, 0x68, 0x61, 0x64, 0x64, 0x5f, 0x72, 0x6e, 0x28, 0x61, 0x2e, 0x79, 0x2c, 0x20, 0x62, 0x2e, - 0x79, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, - 0x72, 0x6e, 0x20, 0x76, 0x61, 0x6c, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x7d, 0x0a, - 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, - 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x5f, 0x5f, 0x68, 0x73, 0x75, 0x62, - 0x32, 0x5f, 0x72, 0x6e, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, - 0x66, 0x32, 0x20, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, - 0x6c, 0x66, 0x32, 0x20, 0x62, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x76, - 0x61, 0x6c, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, 0x61, 0x6c, 0x2e, - 0x78, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x68, 0x73, 0x75, 0x62, 0x5f, 0x72, 0x6e, 0x28, 0x61, 0x2e, - 0x78, 0x2c, 0x20, 0x62, 0x2e, 0x78, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x76, 0x61, 0x6c, 0x2e, 0x79, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x68, 0x73, 0x75, 0x62, 0x5f, - 0x72, 0x6e, 0x28, 0x61, 0x2e, 0x79, 0x2c, 0x20, 0x62, 0x2e, 0x79, 0x29, 0x3b, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x76, 0x61, 0x6c, - 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, - 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, - 0x6c, 0x66, 0x32, 0x20, 0x5f, 0x5f, 0x68, 0x6d, 0x75, 0x6c, 0x32, 0x5f, 0x72, 0x6e, 0x28, 0x63, - 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x61, 0x2c, 0x20, - 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x62, 0x29, - 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x76, 0x61, 0x6c, 0x3b, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, 0x61, 0x6c, 0x2e, 0x78, 0x20, 0x3d, 0x20, 0x5f, 0x5f, - 0x68, 0x6d, 0x75, 0x6c, 0x5f, 0x72, 0x6e, 0x28, 0x61, 0x2e, 0x78, 0x2c, 0x20, 0x62, 0x2e, 0x78, - 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, 0x61, 0x6c, 0x2e, 0x79, - 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x68, 0x6d, 0x75, 0x6c, 0x5f, 0x72, 0x6e, 0x28, 0x61, 0x2e, 0x79, - 0x2c, 0x20, 0x62, 0x2e, 0x79, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x76, 0x61, 0x6c, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x7d, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, - 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x5f, 0x5f, - 0x68, 0x32, 0x64, 0x69, 0x76, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, + 0x20, 0x20, 0x76, 0x61, 0x6c, 0x2e, 0x78, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x68, 0x73, 0x75, 0x62, + 0x5f, 0x73, 0x61, 0x74, 0x28, 0x61, 0x2e, 0x78, 0x2c, 0x20, 0x62, 0x2e, 0x78, 0x29, 0x3b, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, 0x61, 0x6c, 0x2e, 0x79, 0x20, 0x3d, 0x20, + 0x5f, 0x5f, 0x68, 0x73, 0x75, 0x62, 0x5f, 0x73, 0x61, 0x74, 0x28, 0x61, 0x2e, 0x79, 0x2c, 0x20, + 0x62, 0x2e, 0x79, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, + 0x74, 0x75, 0x72, 0x6e, 0x20, 0x76, 0x61, 0x6c, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, + 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, + 0x61, 0x6c, 0x66, 0x32, 0x20, 0x5f, 0x5f, 0x68, 0x6d, 0x75, 0x6c, 0x32, 0x5f, 0x73, 0x61, 0x74, + 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x61, + 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, + 0x62, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x76, 0x61, 0x6c, 0x3b, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, 0x61, 0x6c, 0x2e, 0x78, 0x20, 0x3d, 0x20, + 0x5f, 0x5f, 0x68, 0x6d, 0x75, 0x6c, 0x5f, 0x73, 0x61, 0x74, 0x28, 0x61, 0x2e, 0x78, 0x2c, 0x20, + 0x62, 0x2e, 0x78, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, 0x61, + 0x6c, 0x2e, 0x79, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x68, 0x6d, 0x75, 0x6c, 0x5f, 0x73, 0x61, 0x74, + 0x28, 0x61, 0x2e, 0x79, 0x2c, 0x20, 0x62, 0x2e, 0x79, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x76, 0x61, 0x6c, 0x3b, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, + 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x64, + 0x64, 0x32, 0x5f, 0x72, 0x6e, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, - 0x61, 0x6c, 0x66, 0x32, 0x20, 0x62, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, - 0x68, 0x61, 0x6c, 0x66, 0x20, 0x68, 0x61, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x6c, 0x6f, 0x77, 0x32, - 0x68, 0x61, 0x6c, 0x66, 0x28, 0x61, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x68, - 0x61, 0x6c, 0x66, 0x20, 0x68, 0x62, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x6c, 0x6f, 0x77, 0x32, 0x68, - 0x61, 0x6c, 0x66, 0x28, 0x62, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, - 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x76, 0x31, 0x20, 0x3d, 0x20, 0x5f, 0x5f, - 0x68, 0x64, 0x69, 0x76, 0x28, 0x68, 0x61, 0x2c, 0x20, 0x68, 0x62, 0x29, 0x3b, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x68, 0x61, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x68, 0x69, 0x67, 0x68, 0x32, 0x68, 0x61, - 0x6c, 0x66, 0x28, 0x61, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x68, 0x62, 0x20, 0x3d, 0x20, - 0x5f, 0x5f, 0x68, 0x69, 0x67, 0x68, 0x32, 0x68, 0x61, 0x6c, 0x66, 0x28, 0x62, 0x29, 0x3b, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, - 0x20, 0x76, 0x32, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x68, 0x64, 0x69, 0x76, 0x28, 0x68, 0x61, 0x2c, - 0x20, 0x68, 0x62, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, - 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x76, 0x65, 0x73, 0x32, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x28, - 0x76, 0x31, 0x2c, 0x20, 0x76, 0x32, 0x29, 0x3b, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, - 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, - 0x61, 0x6c, 0x66, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x64, 0x64, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, - 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, - 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x62, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, - 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x66, 0x61, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x68, 0x61, - 0x6c, 0x66, 0x32, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x28, 0x61, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, - 0x20, 0x66, 0x62, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x66, 0x6c, 0x6f, - 0x61, 0x74, 0x28, 0x62, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, - 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x5f, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x32, 0x68, 0x61, - 0x6c, 0x66, 0x28, 0x66, 0x61, 0x20, 0x2b, 0x20, 0x66, 0x62, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x7d, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, - 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x5f, 0x5f, - 0x68, 0x73, 0x75, 0x62, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, - 0x66, 0x20, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, - 0x66, 0x20, 0x62, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, - 0x20, 0x66, 0x61, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x66, 0x6c, 0x6f, - 0x61, 0x74, 0x28, 0x61, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, - 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x66, 0x62, 0x20, 0x3d, 0x20, - 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x28, 0x62, 0x29, 0x3b, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, - 0x5f, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x32, 0x68, 0x61, 0x6c, 0x66, 0x28, 0x66, 0x61, 0x20, - 0x2d, 0x20, 0x66, 0x62, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x7d, 0x0a, 0x5f, - 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, - 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x5f, 0x5f, 0x68, 0x6d, 0x75, 0x6c, 0x28, 0x63, - 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x61, 0x2c, 0x20, 0x63, - 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x62, 0x29, 0x20, 0x7b, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, - 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x66, 0x61, 0x20, 0x3d, 0x20, - 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x28, 0x61, 0x29, 0x3b, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x66, - 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x66, 0x62, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, - 0x32, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x28, 0x62, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x5f, 0x5f, 0x66, 0x6c, 0x6f, 0x61, - 0x74, 0x32, 0x68, 0x61, 0x6c, 0x66, 0x28, 0x66, 0x61, 0x20, 0x2a, 0x20, 0x66, 0x62, 0x29, 0x3b, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, - 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, - 0x66, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x64, 0x64, 0x5f, 0x73, 0x61, 0x74, 0x28, 0x63, 0x6f, 0x6e, - 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, - 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x62, 0x29, 0x20, 0x7b, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x7b, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x5f, 0x5f, 0x68, 0x6d, - 0x69, 0x6e, 0x28, 0x5f, 0x5f, 0x68, 0x6d, 0x61, 0x78, 0x28, 0x5f, 0x5f, 0x68, 0x61, 0x64, 0x64, - 0x28, 0x61, 0x2c, 0x20, 0x62, 0x29, 0x2c, 0x20, 0x5f, 0x5f, 0x75, 0x73, 0x68, 0x6f, 0x72, 0x74, - 0x5f, 0x61, 0x73, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x28, 0x28, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, - 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x29, 0x30, 0x78, 0x30, 0x30, 0x30, 0x30, 0x55, - 0x29, 0x29, 0x2c, 0x20, 0x5f, 0x5f, 0x75, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x5f, 0x61, 0x73, 0x5f, - 0x68, 0x61, 0x6c, 0x66, 0x28, 0x28, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, - 0x68, 0x6f, 0x72, 0x74, 0x29, 0x30, 0x78, 0x33, 0x43, 0x30, 0x30, 0x55, 0x29, 0x29, 0x3b, 0x20, - 0x7d, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, - 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x5f, 0x5f, 0x68, - 0x73, 0x75, 0x62, 0x5f, 0x73, 0x61, 0x74, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, - 0x68, 0x61, 0x6c, 0x66, 0x20, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, - 0x68, 0x61, 0x6c, 0x66, 0x20, 0x62, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x20, - 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x5f, 0x5f, 0x68, 0x6d, 0x69, 0x6e, 0x28, 0x5f, 0x5f, - 0x68, 0x6d, 0x61, 0x78, 0x28, 0x5f, 0x5f, 0x68, 0x73, 0x75, 0x62, 0x28, 0x61, 0x2c, 0x20, 0x62, - 0x29, 0x2c, 0x20, 0x5f, 0x5f, 0x75, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x5f, 0x61, 0x73, 0x5f, 0x68, - 0x61, 0x6c, 0x66, 0x28, 0x28, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, - 0x6f, 0x72, 0x74, 0x29, 0x30, 0x78, 0x30, 0x30, 0x30, 0x30, 0x55, 0x29, 0x29, 0x2c, 0x20, 0x5f, - 0x5f, 0x75, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x5f, 0x61, 0x73, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x28, - 0x28, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x29, - 0x30, 0x78, 0x33, 0x43, 0x30, 0x30, 0x55, 0x29, 0x29, 0x3b, 0x20, 0x7d, 0x0a, 0x7d, 0x0a, 0x5f, - 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, - 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x5f, 0x5f, 0x68, 0x6d, 0x75, 0x6c, 0x5f, 0x73, - 0x61, 0x74, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, - 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, - 0x62, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, - 0x6e, 0x20, 0x5f, 0x5f, 0x68, 0x6d, 0x69, 0x6e, 0x28, 0x5f, 0x5f, 0x68, 0x6d, 0x61, 0x78, 0x28, - 0x5f, 0x5f, 0x68, 0x6d, 0x75, 0x6c, 0x28, 0x61, 0x2c, 0x20, 0x62, 0x29, 0x2c, 0x20, 0x5f, 0x5f, - 0x75, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x5f, 0x61, 0x73, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x28, 0x28, - 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x29, 0x30, - 0x78, 0x30, 0x30, 0x30, 0x30, 0x55, 0x29, 0x29, 0x2c, 0x20, 0x5f, 0x5f, 0x75, 0x73, 0x68, 0x6f, - 0x72, 0x74, 0x5f, 0x61, 0x73, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x28, 0x28, 0x75, 0x6e, 0x73, 0x69, - 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x29, 0x30, 0x78, 0x33, 0x43, 0x30, - 0x30, 0x55, 0x29, 0x29, 0x3b, 0x20, 0x7d, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, - 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, - 0x6c, 0x66, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x64, 0x64, 0x5f, 0x72, 0x6e, 0x28, 0x63, 0x6f, 0x6e, + 0x61, 0x6c, 0x66, 0x32, 0x20, 0x62, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, + 0x76, 0x61, 0x6c, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, 0x61, 0x6c, + 0x2e, 0x78, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x64, 0x64, 0x5f, 0x72, 0x6e, 0x28, 0x61, + 0x2e, 0x78, 0x2c, 0x20, 0x62, 0x2e, 0x78, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x76, 0x61, 0x6c, 0x2e, 0x79, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x64, 0x64, + 0x5f, 0x72, 0x6e, 0x28, 0x61, 0x2e, 0x79, 0x2c, 0x20, 0x62, 0x2e, 0x79, 0x29, 0x3b, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x76, 0x61, + 0x6c, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, + 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x5f, 0x5f, + 0x68, 0x73, 0x75, 0x62, 0x32, 0x5f, 0x72, 0x6e, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, + 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, + 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x62, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, + 0x66, 0x32, 0x20, 0x76, 0x61, 0x6c, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x76, 0x61, 0x6c, 0x2e, 0x78, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x68, 0x73, 0x75, 0x62, 0x5f, 0x72, + 0x6e, 0x28, 0x61, 0x2e, 0x78, 0x2c, 0x20, 0x62, 0x2e, 0x78, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, 0x61, 0x6c, 0x2e, 0x79, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x68, + 0x73, 0x75, 0x62, 0x5f, 0x72, 0x6e, 0x28, 0x61, 0x2e, 0x79, 0x2c, 0x20, 0x62, 0x2e, 0x79, 0x29, + 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, + 0x20, 0x76, 0x61, 0x6c, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, + 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, + 0x20, 0x5f, 0x5f, 0x68, 0x6d, 0x75, 0x6c, 0x32, 0x5f, 0x72, 0x6e, 0x28, 0x63, 0x6f, 0x6e, 0x73, + 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, + 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x62, 0x29, 0x20, 0x7b, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, + 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x76, 0x61, 0x6c, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x76, 0x61, 0x6c, 0x2e, 0x78, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x68, 0x6d, 0x75, + 0x6c, 0x5f, 0x72, 0x6e, 0x28, 0x61, 0x2e, 0x78, 0x2c, 0x20, 0x62, 0x2e, 0x78, 0x29, 0x3b, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, 0x61, 0x6c, 0x2e, 0x79, 0x20, 0x3d, 0x20, + 0x5f, 0x5f, 0x68, 0x6d, 0x75, 0x6c, 0x5f, 0x72, 0x6e, 0x28, 0x61, 0x2e, 0x79, 0x2c, 0x20, 0x62, + 0x2e, 0x79, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, + 0x75, 0x72, 0x6e, 0x20, 0x76, 0x61, 0x6c, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x7d, + 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, + 0x6c, 0x66, 0x32, 0x20, 0x5f, 0x5f, 0x68, 0x32, 0x64, 0x69, 0x76, 0x28, 0x63, 0x6f, 0x6e, 0x73, + 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, + 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x62, 0x29, 0x20, 0x7b, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x68, 0x61, 0x20, 0x3d, 0x20, + 0x5f, 0x5f, 0x6c, 0x6f, 0x77, 0x32, 0x68, 0x61, 0x6c, 0x66, 0x28, 0x61, 0x29, 0x3b, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x68, 0x62, 0x20, 0x3d, 0x20, 0x5f, + 0x5f, 0x6c, 0x6f, 0x77, 0x32, 0x68, 0x61, 0x6c, 0x66, 0x28, 0x62, 0x29, 0x3b, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x76, + 0x31, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x68, 0x64, 0x69, 0x76, 0x28, 0x68, 0x61, 0x2c, 0x20, 0x68, + 0x62, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x68, 0x61, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x68, + 0x69, 0x67, 0x68, 0x32, 0x68, 0x61, 0x6c, 0x66, 0x28, 0x61, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x68, 0x62, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x68, 0x69, 0x67, 0x68, 0x32, 0x68, 0x61, 0x6c, + 0x66, 0x28, 0x62, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, + 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x76, 0x32, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x68, 0x64, + 0x69, 0x76, 0x28, 0x68, 0x61, 0x2c, 0x20, 0x68, 0x62, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x76, 0x65, 0x73, 0x32, + 0x68, 0x61, 0x6c, 0x66, 0x32, 0x28, 0x76, 0x31, 0x2c, 0x20, 0x76, 0x32, 0x29, 0x3b, 0x0a, 0x7d, + 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, + 0x6c, 0x66, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x64, 0x64, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, + 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, + 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x62, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, + 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x66, 0x61, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, + 0x66, 0x32, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x28, 0x61, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, + 0x66, 0x62, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x66, 0x6c, 0x6f, 0x61, + 0x74, 0x28, 0x62, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, + 0x74, 0x75, 0x72, 0x6e, 0x20, 0x5f, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x32, 0x68, 0x61, 0x6c, + 0x66, 0x28, 0x66, 0x61, 0x20, 0x2b, 0x20, 0x66, 0x62, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x7d, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, + 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x5f, 0x5f, 0x68, 0x73, 0x75, 0x62, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x62, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, @@ -5192,35 +4929,95 @@ extern "C" const char luisa_cuda_builtin_cuda_device_half[87792] = { 0x61, 0x74, 0x20, 0x66, 0x62, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x28, 0x62, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x5f, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x32, - 0x68, 0x61, 0x6c, 0x66, 0x28, 0x66, 0x61, 0x20, 0x2b, 0x20, 0x66, 0x62, 0x29, 0x3b, 0x0a, 0x20, + 0x68, 0x61, 0x6c, 0x66, 0x28, 0x66, 0x61, 0x20, 0x2d, 0x20, 0x66, 0x62, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, - 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, - 0x5f, 0x5f, 0x68, 0x73, 0x75, 0x62, 0x5f, 0x72, 0x6e, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, - 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, - 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x62, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, - 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x66, 0x61, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, - 0x66, 0x32, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x28, 0x61, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, - 0x66, 0x62, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x66, 0x6c, 0x6f, 0x61, - 0x74, 0x28, 0x62, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, - 0x74, 0x75, 0x72, 0x6e, 0x20, 0x5f, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x32, 0x68, 0x61, 0x6c, - 0x66, 0x28, 0x66, 0x61, 0x20, 0x2d, 0x20, 0x66, 0x62, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x7d, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, - 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x5f, 0x5f, 0x68, - 0x6d, 0x75, 0x6c, 0x5f, 0x72, 0x6e, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, + 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x5f, 0x5f, 0x68, 0x6d, 0x75, 0x6c, 0x28, + 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x61, 0x2c, 0x20, + 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x62, 0x29, 0x20, + 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x66, 0x61, 0x20, 0x3d, + 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x28, 0x61, 0x29, + 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, + 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x66, 0x62, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, + 0x66, 0x32, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x28, 0x62, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x5f, 0x5f, 0x66, 0x6c, 0x6f, + 0x61, 0x74, 0x32, 0x68, 0x61, 0x6c, 0x66, 0x28, 0x66, 0x61, 0x20, 0x2a, 0x20, 0x66, 0x62, 0x29, + 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, + 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x5f, 0x5f, 0x68, 0x61, + 0x64, 0x64, 0x5f, 0x73, 0x61, 0x74, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, - 0x61, 0x6c, 0x66, 0x20, 0x62, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x66, 0x6c, 0x6f, - 0x61, 0x74, 0x20, 0x66, 0x61, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x66, - 0x6c, 0x6f, 0x61, 0x74, 0x28, 0x61, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x66, 0x62, 0x20, - 0x3d, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x28, 0x62, - 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, - 0x6e, 0x20, 0x5f, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x32, 0x68, 0x61, 0x6c, 0x66, 0x28, 0x66, - 0x61, 0x20, 0x2a, 0x20, 0x66, 0x62, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x7d, - 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, - 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x5f, 0x5f, 0x68, 0x64, 0x69, 0x76, + 0x61, 0x6c, 0x66, 0x20, 0x62, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x20, 0x72, + 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x5f, 0x5f, 0x68, 0x6d, 0x69, 0x6e, 0x28, 0x5f, 0x5f, 0x68, + 0x6d, 0x61, 0x78, 0x28, 0x5f, 0x5f, 0x68, 0x61, 0x64, 0x64, 0x28, 0x61, 0x2c, 0x20, 0x62, 0x29, + 0x2c, 0x20, 0x5f, 0x5f, 0x75, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x5f, 0x61, 0x73, 0x5f, 0x68, 0x61, + 0x6c, 0x66, 0x28, 0x28, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, + 0x72, 0x74, 0x29, 0x30, 0x78, 0x30, 0x30, 0x30, 0x30, 0x55, 0x29, 0x29, 0x2c, 0x20, 0x5f, 0x5f, + 0x75, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x5f, 0x61, 0x73, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x28, 0x28, + 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x29, 0x30, + 0x78, 0x33, 0x43, 0x30, 0x30, 0x55, 0x29, 0x29, 0x3b, 0x20, 0x7d, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, + 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, + 0x5f, 0x5f, 0x68, 0x73, 0x75, 0x62, 0x5f, 0x73, 0x61, 0x74, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, + 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, + 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x62, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x7b, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x5f, 0x5f, 0x68, 0x6d, 0x69, 0x6e, + 0x28, 0x5f, 0x5f, 0x68, 0x6d, 0x61, 0x78, 0x28, 0x5f, 0x5f, 0x68, 0x73, 0x75, 0x62, 0x28, 0x61, + 0x2c, 0x20, 0x62, 0x29, 0x2c, 0x20, 0x5f, 0x5f, 0x75, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x5f, 0x61, + 0x73, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x28, 0x28, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, + 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x29, 0x30, 0x78, 0x30, 0x30, 0x30, 0x30, 0x55, 0x29, 0x29, + 0x2c, 0x20, 0x5f, 0x5f, 0x75, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x5f, 0x61, 0x73, 0x5f, 0x68, 0x61, + 0x6c, 0x66, 0x28, 0x28, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, + 0x72, 0x74, 0x29, 0x30, 0x78, 0x33, 0x43, 0x30, 0x30, 0x55, 0x29, 0x29, 0x3b, 0x20, 0x7d, 0x0a, + 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, + 0x61, 0x6c, 0x66, 0x20, 0x5f, 0x5f, 0x68, 0x6d, 0x75, 0x6c, 0x5f, 0x73, 0x61, 0x74, 0x28, 0x63, + 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x61, 0x2c, 0x20, 0x63, + 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x62, 0x29, 0x20, 0x7b, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x5f, 0x5f, + 0x68, 0x6d, 0x69, 0x6e, 0x28, 0x5f, 0x5f, 0x68, 0x6d, 0x61, 0x78, 0x28, 0x5f, 0x5f, 0x68, 0x6d, + 0x75, 0x6c, 0x28, 0x61, 0x2c, 0x20, 0x62, 0x29, 0x2c, 0x20, 0x5f, 0x5f, 0x75, 0x73, 0x68, 0x6f, + 0x72, 0x74, 0x5f, 0x61, 0x73, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x28, 0x28, 0x75, 0x6e, 0x73, 0x69, + 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x29, 0x30, 0x78, 0x30, 0x30, 0x30, + 0x30, 0x55, 0x29, 0x29, 0x2c, 0x20, 0x5f, 0x5f, 0x75, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x5f, 0x61, + 0x73, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x28, 0x28, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, + 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x29, 0x30, 0x78, 0x33, 0x43, 0x30, 0x30, 0x55, 0x29, 0x29, + 0x3b, 0x20, 0x7d, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, + 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x64, 0x64, 0x5f, 0x72, + 0x6e, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x61, + 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x62, + 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x66, 0x61, + 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x28, + 0x61, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, + 0x74, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x66, 0x62, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x68, + 0x61, 0x6c, 0x66, 0x32, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x28, 0x62, 0x29, 0x3b, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x5f, 0x5f, 0x66, + 0x6c, 0x6f, 0x61, 0x74, 0x32, 0x68, 0x61, 0x6c, 0x66, 0x28, 0x66, 0x61, 0x20, 0x2b, 0x20, 0x66, + 0x62, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, + 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x5f, 0x5f, + 0x68, 0x73, 0x75, 0x62, 0x5f, 0x72, 0x6e, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, + 0x68, 0x61, 0x6c, 0x66, 0x20, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, + 0x68, 0x61, 0x6c, 0x66, 0x20, 0x62, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x66, 0x6c, + 0x6f, 0x61, 0x74, 0x20, 0x66, 0x61, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, + 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x28, 0x61, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x66, 0x62, + 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x28, + 0x62, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, + 0x72, 0x6e, 0x20, 0x5f, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x32, 0x68, 0x61, 0x6c, 0x66, 0x28, + 0x66, 0x61, 0x20, 0x2d, 0x20, 0x66, 0x62, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, + 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, + 0x61, 0x6c, 0x66, 0x20, 0x5f, 0x5f, 0x68, 0x6d, 0x75, 0x6c, 0x5f, 0x72, 0x6e, 0x28, 0x63, 0x6f, + 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x61, 0x2c, 0x20, 0x63, 0x6f, + 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x62, 0x29, 0x20, 0x7b, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, + 0x6e, 0x73, 0x74, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x66, 0x61, 0x20, 0x3d, 0x20, 0x5f, + 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x28, 0x61, 0x29, 0x3b, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x66, 0x6c, + 0x6f, 0x61, 0x74, 0x20, 0x66, 0x62, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, + 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x28, 0x62, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x5f, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, + 0x32, 0x68, 0x61, 0x6c, 0x66, 0x28, 0x66, 0x61, 0x20, 0x2a, 0x20, 0x66, 0x62, 0x29, 0x3b, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, + 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x5f, 0x5f, 0x68, 0x64, 0x69, 0x76, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x62, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, @@ -5263,280 +5060,188 @@ extern "C" const char luisa_cuda_builtin_cuda_device_half[87792] = { 0x6c, 0x6f, 0x61, 0x74, 0x32, 0x68, 0x61, 0x6c, 0x66, 0x28, 0x66, 0x76, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x76, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, - 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, - 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x68, 0x65, 0x78, 0x70, - 0x32, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x61, - 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x76, - 0x61, 0x6c, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x7b, 0x2e, 0x72, - 0x65, 0x67, 0x2e, 0x62, 0x33, 0x32, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x66, - 0x2c, 0x20, 0x55, 0x4c, 0x50, 0x3b, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, - 0x6e, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x20, 0x2e, 0x72, 0x65, - 0x67, 0x2e, 0x62, 0x31, 0x36, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x3b, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x6e, - 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x20, 0x20, 0x6d, 0x6f, 0x76, - 0x2e, 0x62, 0x31, 0x36, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x2c, 0x25, - 0x31, 0x3b, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x6e, 0x22, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x20, 0x20, 0x63, 0x76, 0x74, 0x2e, - 0x66, 0x33, 0x32, 0x2e, 0x66, 0x31, 0x36, 0x20, 0x20, 0x20, 0x20, 0x20, 0x66, 0x2c, 0x72, 0x3b, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x6e, 0x22, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x20, 0x20, 0x65, 0x78, 0x32, 0x2e, 0x61, - 0x70, 0x70, 0x72, 0x6f, 0x78, 0x2e, 0x66, 0x74, 0x7a, 0x2e, 0x66, 0x33, 0x32, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x66, 0x2c, 0x66, 0x3b, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x6e, 0x22, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x20, 0x20, 0x6d, 0x6f, 0x76, 0x2e, 0x62, 0x33, - 0x32, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x55, 0x4c, 0x50, 0x2c, 0x20, 0x30, - 0x78, 0x33, 0x33, 0x38, 0x30, 0x30, 0x30, 0x30, 0x30, 0x55, 0x3b, 0x5c, 0x6e, 0x22, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x20, 0x20, 0x66, 0x6d, 0x61, 0x2e, 0x72, 0x6e, - 0x2e, 0x66, 0x33, 0x32, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x66, 0x2c, 0x66, 0x2c, 0x55, 0x4c, - 0x50, 0x2c, 0x66, 0x3b, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x6e, 0x22, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x20, 0x20, 0x63, 0x76, 0x74, 0x2e, 0x72, 0x6e, 0x2e, - 0x66, 0x31, 0x36, 0x2e, 0x66, 0x33, 0x32, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x2c, 0x66, - 0x3b, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x6e, 0x22, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x20, 0x20, 0x6d, 0x6f, 0x76, 0x2e, 0x62, 0x31, 0x36, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x25, 0x30, 0x2c, 0x72, 0x3b, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x6e, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x22, 0x7d, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x3a, 0x20, 0x22, 0x3d, 0x68, 0x22, 0x28, 0x2a, 0x28, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, - 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, - 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x76, 0x61, - 0x6c, 0x29, 0x29, 0x29, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, - 0x22, 0x68, 0x22, 0x28, 0x2a, 0x28, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, - 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, - 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, - 0x28, 0x61, 0x29, 0x29, 0x29, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, - 0x75, 0x72, 0x6e, 0x20, 0x76, 0x61, 0x6c, 0x3b, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, - 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, - 0x61, 0x6c, 0x66, 0x32, 0x20, 0x68, 0x32, 0x65, 0x78, 0x70, 0x32, 0x28, 0x63, 0x6f, 0x6e, 0x73, - 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x61, 0x29, 0x20, 0x7b, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x76, 0x61, 0x6c, 0x3b, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x7b, 0x2e, 0x72, 0x65, 0x67, 0x2e, 0x62, - 0x31, 0x36, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x68, 0x6c, 0x2c, 0x20, 0x68, - 0x75, 0x3b, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x6e, 0x22, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x20, 0x2e, 0x72, 0x65, 0x67, 0x2e, 0x62, 0x33, - 0x32, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x66, 0x6c, 0x2c, 0x20, 0x66, 0x75, - 0x2c, 0x20, 0x55, 0x4c, 0x50, 0x3b, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x6e, 0x22, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x20, 0x20, 0x6d, 0x6f, 0x76, 0x2e, 0x62, 0x33, 0x32, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x68, 0x6c, 0x2c, 0x20, 0x68, 0x75, - 0x7d, 0x2c, 0x20, 0x25, 0x31, 0x3b, 0x20, 0x20, 0x20, 0x5c, 0x6e, 0x22, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x20, 0x20, 0x63, 0x76, 0x74, 0x2e, 0x66, 0x33, 0x32, 0x2e, - 0x66, 0x31, 0x36, 0x20, 0x20, 0x20, 0x20, 0x20, 0x66, 0x6c, 0x2c, 0x20, 0x68, 0x6c, 0x3b, 0x20, + 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, + 0x68, 0x61, 0x6c, 0x66, 0x20, 0x68, 0x65, 0x78, 0x70, 0x32, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, + 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x61, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x76, 0x61, 0x6c, 0x3b, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x7b, 0x2e, 0x72, 0x65, 0x67, 0x2e, 0x62, 0x33, 0x32, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x66, 0x2c, 0x20, 0x55, 0x4c, 0x50, 0x3b, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x6e, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x22, 0x20, 0x20, 0x63, 0x76, 0x74, 0x2e, 0x66, 0x33, 0x32, 0x2e, 0x66, - 0x31, 0x36, 0x20, 0x20, 0x20, 0x20, 0x20, 0x66, 0x75, 0x2c, 0x20, 0x68, 0x75, 0x3b, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x22, 0x20, 0x2e, 0x72, 0x65, 0x67, 0x2e, 0x62, 0x31, 0x36, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x3b, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x6e, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x22, 0x20, 0x20, 0x65, 0x78, 0x32, 0x2e, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x78, - 0x2e, 0x66, 0x74, 0x7a, 0x2e, 0x66, 0x33, 0x32, 0x20, 0x20, 0x66, 0x6c, 0x2c, 0x20, 0x66, 0x6c, - 0x3b, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x6e, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x22, 0x20, 0x20, 0x65, 0x78, 0x32, 0x2e, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x78, 0x2e, - 0x66, 0x74, 0x7a, 0x2e, 0x66, 0x33, 0x32, 0x20, 0x20, 0x66, 0x75, 0x2c, 0x20, 0x66, 0x75, 0x3b, + 0x20, 0x20, 0x20, 0x22, 0x20, 0x20, 0x6d, 0x6f, 0x76, 0x2e, 0x62, 0x31, 0x36, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x2c, 0x25, 0x31, 0x3b, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x6e, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x22, 0x20, 0x20, 0x63, 0x76, 0x74, 0x2e, 0x66, 0x33, 0x32, 0x2e, 0x66, 0x31, 0x36, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x66, 0x2c, 0x72, 0x3b, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x6e, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x22, 0x20, 0x20, 0x6d, 0x6f, 0x76, 0x2e, 0x62, 0x33, 0x32, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x55, 0x4c, 0x50, 0x2c, 0x20, 0x30, 0x78, 0x33, 0x33, 0x38, 0x30, 0x30, - 0x30, 0x30, 0x30, 0x55, 0x3b, 0x5c, 0x6e, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x22, 0x20, 0x20, 0x66, 0x6d, 0x61, 0x2e, 0x72, 0x6e, 0x2e, 0x66, 0x33, 0x32, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x66, 0x6c, 0x2c, 0x66, 0x6c, 0x2c, 0x55, 0x4c, 0x50, 0x2c, 0x66, 0x6c, - 0x3b, 0x20, 0x20, 0x20, 0x5c, 0x6e, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x22, 0x20, 0x20, 0x65, 0x78, 0x32, 0x2e, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x78, 0x2e, 0x66, + 0x74, 0x7a, 0x2e, 0x66, 0x33, 0x32, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x66, 0x2c, 0x66, 0x3b, + 0x20, 0x20, 0x20, 0x20, 0x5c, 0x6e, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x22, 0x20, 0x20, 0x6d, 0x6f, 0x76, 0x2e, 0x62, 0x33, 0x32, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x55, 0x4c, 0x50, 0x2c, 0x20, 0x30, 0x78, 0x33, 0x33, 0x38, 0x30, 0x30, 0x30, + 0x30, 0x30, 0x55, 0x3b, 0x5c, 0x6e, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x20, 0x20, 0x66, 0x6d, 0x61, 0x2e, 0x72, 0x6e, 0x2e, 0x66, 0x33, 0x32, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x66, 0x75, 0x2c, 0x66, 0x75, 0x2c, 0x55, 0x4c, 0x50, 0x2c, 0x66, 0x75, 0x3b, + 0x20, 0x20, 0x20, 0x66, 0x2c, 0x66, 0x2c, 0x55, 0x4c, 0x50, 0x2c, 0x66, 0x3b, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x6e, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x20, 0x20, 0x63, 0x76, 0x74, 0x2e, 0x72, 0x6e, 0x2e, 0x66, 0x31, 0x36, 0x2e, 0x66, 0x33, 0x32, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x68, 0x6c, 0x2c, 0x20, 0x66, 0x6c, 0x3b, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x2c, 0x66, 0x3b, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x6e, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x20, - 0x20, 0x63, 0x76, 0x74, 0x2e, 0x72, 0x6e, 0x2e, 0x66, 0x31, 0x36, 0x2e, 0x66, 0x33, 0x32, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x68, 0x75, 0x2c, 0x20, 0x66, 0x75, 0x3b, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x5c, 0x6e, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x20, 0x20, - 0x6d, 0x6f, 0x76, 0x2e, 0x62, 0x33, 0x32, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x25, 0x30, 0x2c, 0x20, 0x7b, 0x68, 0x6c, 0x2c, 0x20, 0x68, 0x75, 0x7d, 0x3b, 0x20, 0x20, 0x20, - 0x5c, 0x6e, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x7d, 0x22, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x72, 0x22, 0x28, 0x2a, - 0x28, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, - 0x74, 0x3c, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x2a, - 0x3e, 0x28, 0x26, 0x28, 0x76, 0x61, 0x6c, 0x29, 0x29, 0x29, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x72, 0x22, 0x28, 0x2a, 0x28, 0x72, 0x65, 0x69, 0x6e, - 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x63, 0x6f, 0x6e, - 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x74, 0x20, - 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x61, 0x29, 0x29, 0x29, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x76, 0x61, 0x6c, 0x3b, 0x0a, 0x7d, 0x0a, 0x5f, - 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, - 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x68, 0x32, 0x72, 0x63, 0x70, 0x28, 0x63, - 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x61, 0x29, 0x20, - 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x76, 0x61, 0x6c, 0x3b, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x7b, 0x2e, 0x72, 0x65, 0x67, 0x2e, - 0x62, 0x31, 0x36, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x68, 0x6c, 0x2c, 0x20, - 0x68, 0x75, 0x3b, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x6e, 0x22, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x20, 0x2e, 0x72, - 0x65, 0x67, 0x2e, 0x62, 0x33, 0x32, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x66, - 0x6c, 0x2c, 0x20, 0x66, 0x75, 0x3b, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, - 0x6e, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, - 0x20, 0x20, 0x6d, 0x6f, 0x76, 0x2e, 0x62, 0x33, 0x32, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x7b, 0x68, 0x6c, 0x2c, 0x20, 0x68, 0x75, 0x7d, 0x2c, 0x20, 0x25, 0x31, 0x3b, 0x20, - 0x20, 0x20, 0x5c, 0x6e, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x22, 0x20, 0x20, 0x63, 0x76, 0x74, 0x2e, 0x66, 0x33, 0x32, 0x2e, 0x66, 0x31, 0x36, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x66, 0x6c, 0x2c, 0x20, 0x68, 0x6c, 0x3b, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x6e, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x20, 0x20, 0x63, 0x76, 0x74, 0x2e, 0x66, 0x33, 0x32, 0x2e, - 0x66, 0x31, 0x36, 0x20, 0x20, 0x20, 0x20, 0x20, 0x66, 0x75, 0x2c, 0x20, 0x68, 0x75, 0x3b, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x6e, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x20, 0x20, 0x22, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x72, 0x63, 0x70, 0x22, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x2e, 0x61, 0x70, 0x70, - 0x72, 0x6f, 0x78, 0x2e, 0x66, 0x74, 0x7a, 0x2e, 0x66, 0x33, 0x32, 0x20, 0x20, 0x20, 0x66, 0x6c, - 0x2c, 0x20, 0x66, 0x6c, 0x3b, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x6e, 0x22, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x20, 0x20, 0x22, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x72, 0x63, 0x70, 0x22, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x2e, 0x61, - 0x70, 0x70, 0x72, 0x6f, 0x78, 0x2e, 0x66, 0x74, 0x7a, 0x2e, 0x66, 0x33, 0x32, 0x20, 0x20, 0x20, - 0x66, 0x75, 0x2c, 0x20, 0x66, 0x75, 0x3b, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x6e, 0x22, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x20, 0x20, 0x63, - 0x76, 0x74, 0x2e, 0x72, 0x6e, 0x2e, 0x66, 0x31, 0x36, 0x2e, 0x66, 0x33, 0x32, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x68, 0x6c, 0x2c, 0x20, 0x66, 0x6c, 0x3b, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, - 0x6e, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, - 0x20, 0x20, 0x63, 0x76, 0x74, 0x2e, 0x72, 0x6e, 0x2e, 0x66, 0x31, 0x36, 0x2e, 0x66, 0x33, 0x32, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x68, 0x75, 0x2c, 0x20, 0x66, 0x75, 0x3b, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x5c, 0x6e, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x22, 0x20, 0x20, 0x6d, 0x6f, 0x76, 0x2e, 0x62, 0x33, 0x32, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x25, 0x30, 0x2c, 0x20, 0x7b, 0x68, 0x6c, 0x2c, 0x20, 0x68, 0x75, - 0x7d, 0x3b, 0x20, 0x20, 0x20, 0x5c, 0x6e, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x7d, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x72, 0x22, 0x28, 0x2a, 0x28, 0x72, 0x65, - 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x75, - 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, - 0x28, 0x76, 0x61, 0x6c, 0x29, 0x29, 0x29, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x72, 0x22, 0x28, 0x2a, 0x28, 0x72, 0x65, 0x69, - 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x63, 0x6f, - 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x74, - 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x61, 0x29, 0x29, 0x29, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x76, 0x61, 0x6c, - 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, - 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, - 0x6c, 0x66, 0x20, 0x68, 0x72, 0x63, 0x70, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, - 0x68, 0x61, 0x6c, 0x66, 0x20, 0x61, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x76, - 0x61, 0x6c, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x28, - 0x22, 0x7b, 0x2e, 0x72, 0x65, 0x67, 0x2e, 0x62, 0x33, 0x32, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x66, 0x3b, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x6e, 0x22, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x20, 0x2e, - 0x72, 0x65, 0x67, 0x2e, 0x62, 0x31, 0x36, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x72, 0x3b, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x6e, 0x22, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x20, 0x20, 0x6d, 0x6f, 0x76, - 0x2e, 0x62, 0x31, 0x36, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x2c, 0x25, - 0x31, 0x3b, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x6e, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x6d, 0x6f, 0x76, 0x2e, 0x62, 0x31, 0x36, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x25, 0x30, 0x2c, 0x72, 0x3b, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x5c, 0x6e, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x7d, 0x22, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x68, 0x22, 0x28, + 0x2a, 0x28, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, + 0x73, 0x74, 0x3c, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, + 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x76, 0x61, 0x6c, 0x29, 0x29, 0x29, 0x29, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x68, 0x22, 0x28, 0x2a, 0x28, 0x72, + 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, + 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, + 0x68, 0x6f, 0x72, 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x61, 0x29, 0x29, 0x29, 0x29, 0x29, + 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x76, 0x61, 0x6c, + 0x3b, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, + 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x68, 0x32, 0x65, 0x78, 0x70, 0x32, 0x28, 0x63, 0x6f, + 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x61, 0x29, 0x20, 0x7b, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x76, 0x61, 0x6c, + 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x7b, 0x2e, 0x72, 0x65, 0x67, + 0x2e, 0x62, 0x31, 0x36, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x68, 0x6c, 0x2c, + 0x20, 0x68, 0x75, 0x3b, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x6e, 0x22, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x20, 0x2e, 0x72, 0x65, 0x67, 0x2e, + 0x62, 0x33, 0x32, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x66, 0x6c, 0x2c, 0x20, + 0x66, 0x75, 0x2c, 0x20, 0x55, 0x4c, 0x50, 0x3b, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x6e, 0x22, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x20, 0x20, 0x6d, 0x6f, 0x76, 0x2e, 0x62, + 0x33, 0x32, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x68, 0x6c, 0x2c, 0x20, + 0x68, 0x75, 0x7d, 0x2c, 0x20, 0x25, 0x31, 0x3b, 0x20, 0x20, 0x20, 0x5c, 0x6e, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x20, 0x20, 0x63, 0x76, 0x74, 0x2e, 0x66, 0x33, - 0x32, 0x2e, 0x66, 0x31, 0x36, 0x20, 0x20, 0x20, 0x20, 0x20, 0x66, 0x2c, 0x72, 0x3b, 0x20, 0x20, + 0x32, 0x2e, 0x66, 0x31, 0x36, 0x20, 0x20, 0x20, 0x20, 0x20, 0x66, 0x6c, 0x2c, 0x20, 0x68, 0x6c, + 0x3b, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x6e, 0x22, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x20, 0x20, 0x63, 0x76, 0x74, 0x2e, 0x66, 0x33, 0x32, + 0x2e, 0x66, 0x31, 0x36, 0x20, 0x20, 0x20, 0x20, 0x20, 0x66, 0x75, 0x2c, 0x20, 0x68, 0x75, 0x3b, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x6e, 0x22, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x20, 0x20, 0x65, 0x78, 0x32, 0x2e, 0x61, 0x70, 0x70, 0x72, + 0x6f, 0x78, 0x2e, 0x66, 0x74, 0x7a, 0x2e, 0x66, 0x33, 0x32, 0x20, 0x20, 0x66, 0x6c, 0x2c, 0x20, + 0x66, 0x6c, 0x3b, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x6e, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x22, 0x20, 0x20, 0x65, 0x78, 0x32, 0x2e, 0x61, 0x70, 0x70, 0x72, 0x6f, + 0x78, 0x2e, 0x66, 0x74, 0x7a, 0x2e, 0x66, 0x33, 0x32, 0x20, 0x20, 0x66, 0x75, 0x2c, 0x20, 0x66, + 0x75, 0x3b, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x6e, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x22, 0x20, 0x20, 0x6d, 0x6f, 0x76, 0x2e, 0x62, 0x33, 0x32, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x55, 0x4c, 0x50, 0x2c, 0x20, 0x30, 0x78, 0x33, 0x33, 0x38, + 0x30, 0x30, 0x30, 0x30, 0x30, 0x55, 0x3b, 0x5c, 0x6e, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x22, 0x20, 0x20, 0x66, 0x6d, 0x61, 0x2e, 0x72, 0x6e, 0x2e, 0x66, 0x33, 0x32, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x66, 0x6c, 0x2c, 0x66, 0x6c, 0x2c, 0x55, 0x4c, 0x50, 0x2c, + 0x66, 0x6c, 0x3b, 0x20, 0x20, 0x20, 0x5c, 0x6e, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x22, 0x20, 0x20, 0x66, 0x6d, 0x61, 0x2e, 0x72, 0x6e, 0x2e, 0x66, 0x33, 0x32, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x66, 0x75, 0x2c, 0x66, 0x75, 0x2c, 0x55, 0x4c, 0x50, 0x2c, 0x66, + 0x75, 0x3b, 0x20, 0x20, 0x20, 0x5c, 0x6e, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x22, 0x20, 0x20, 0x63, 0x76, 0x74, 0x2e, 0x72, 0x6e, 0x2e, 0x66, 0x31, 0x36, 0x2e, 0x66, + 0x33, 0x32, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x68, 0x6c, 0x2c, 0x20, 0x66, 0x6c, 0x3b, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x6e, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x22, 0x20, 0x20, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x72, 0x63, 0x70, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x2e, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x78, 0x2e, - 0x66, 0x74, 0x7a, 0x2e, 0x66, 0x33, 0x32, 0x20, 0x20, 0x20, 0x66, 0x2c, 0x66, 0x3b, 0x20, 0x20, - 0x5c, 0x6e, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x20, 0x20, 0x63, 0x76, 0x74, 0x2e, 0x72, 0x6e, 0x2e, 0x66, 0x31, 0x36, 0x2e, 0x66, 0x33, - 0x32, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x2c, 0x66, 0x3b, 0x20, 0x20, 0x5c, 0x6e, 0x22, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x20, 0x20, - 0x6d, 0x6f, 0x76, 0x2e, 0x62, 0x31, 0x36, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x25, 0x30, 0x2c, 0x72, 0x3b, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x6e, 0x22, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x7d, 0x22, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x68, 0x22, + 0x32, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x68, 0x75, 0x2c, 0x20, 0x66, 0x75, 0x3b, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x5c, 0x6e, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, + 0x20, 0x20, 0x6d, 0x6f, 0x76, 0x2e, 0x62, 0x33, 0x32, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x25, 0x30, 0x2c, 0x20, 0x7b, 0x68, 0x6c, 0x2c, 0x20, 0x68, 0x75, 0x7d, 0x3b, 0x20, + 0x20, 0x20, 0x5c, 0x6e, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x7d, + 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x72, 0x22, 0x28, 0x2a, 0x28, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, - 0x61, 0x73, 0x74, 0x3c, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, - 0x72, 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x76, 0x61, 0x6c, 0x29, 0x29, 0x29, 0x29, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x68, - 0x22, 0x28, 0x2a, 0x28, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, - 0x63, 0x61, 0x73, 0x74, 0x3c, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, - 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x61, - 0x29, 0x29, 0x29, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, - 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x76, 0x61, 0x6c, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, - 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, - 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x68, 0x32, 0x72, - 0x73, 0x71, 0x72, 0x74, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, - 0x66, 0x32, 0x20, 0x61, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x76, 0x61, - 0x6c, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, - 0x7b, 0x2e, 0x72, 0x65, 0x67, 0x2e, 0x62, 0x31, 0x36, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x68, 0x6c, 0x2c, 0x20, 0x68, 0x75, 0x3b, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x5c, 0x6e, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x22, 0x20, 0x2e, 0x72, 0x65, 0x67, 0x2e, 0x62, 0x33, 0x32, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x66, 0x6c, 0x2c, 0x20, 0x66, 0x75, 0x3b, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x6e, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x20, 0x20, 0x6d, 0x6f, 0x76, 0x2e, 0x62, 0x33, 0x32, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x68, 0x6c, 0x2c, 0x20, 0x68, 0x75, 0x7d, - 0x2c, 0x20, 0x25, 0x31, 0x3b, 0x20, 0x20, 0x20, 0x5c, 0x6e, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x20, 0x20, 0x63, 0x76, 0x74, 0x2e, 0x66, - 0x33, 0x32, 0x2e, 0x66, 0x31, 0x36, 0x20, 0x20, 0x20, 0x20, 0x20, 0x66, 0x6c, 0x2c, 0x20, 0x68, - 0x6c, 0x3b, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x6e, 0x22, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x20, 0x20, 0x63, 0x76, - 0x74, 0x2e, 0x66, 0x33, 0x32, 0x2e, 0x66, 0x31, 0x36, 0x20, 0x20, 0x20, 0x20, 0x20, 0x66, 0x75, - 0x2c, 0x20, 0x68, 0x75, 0x3b, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x6e, - 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x20, - 0x20, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, - 0x72, 0x73, 0x71, 0x72, 0x74, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x22, 0x2e, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x78, 0x2e, 0x66, 0x74, 0x7a, 0x2e, - 0x66, 0x33, 0x32, 0x20, 0x20, 0x20, 0x66, 0x6c, 0x2c, 0x20, 0x66, 0x6c, 0x3b, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x5c, 0x6e, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x22, 0x20, 0x20, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x22, 0x72, 0x73, 0x71, 0x72, 0x74, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x2e, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x78, 0x2e, - 0x66, 0x74, 0x7a, 0x2e, 0x66, 0x33, 0x32, 0x20, 0x20, 0x20, 0x66, 0x75, 0x2c, 0x20, 0x66, 0x75, - 0x3b, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x6e, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x20, 0x20, 0x63, 0x76, 0x74, 0x2e, 0x72, 0x6e, 0x2e, - 0x66, 0x31, 0x36, 0x2e, 0x66, 0x33, 0x32, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x68, 0x6c, 0x2c, - 0x20, 0x66, 0x6c, 0x3b, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x6e, 0x22, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x20, 0x20, 0x63, 0x76, 0x74, 0x2e, - 0x72, 0x6e, 0x2e, 0x66, 0x31, 0x36, 0x2e, 0x66, 0x33, 0x32, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x68, 0x75, 0x2c, 0x20, 0x66, 0x75, 0x3b, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x6e, 0x22, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x20, 0x20, 0x6d, - 0x6f, 0x76, 0x2e, 0x62, 0x33, 0x32, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x25, - 0x30, 0x2c, 0x20, 0x7b, 0x68, 0x6c, 0x2c, 0x20, 0x68, 0x75, 0x7d, 0x3b, 0x20, 0x20, 0x20, 0x5c, - 0x6e, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, - 0x7d, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, - 0x20, 0x22, 0x3d, 0x72, 0x22, 0x28, 0x2a, 0x28, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, - 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, - 0x64, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x76, 0x61, 0x6c, 0x29, 0x29, - 0x29, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, - 0x20, 0x22, 0x72, 0x22, 0x28, 0x2a, 0x28, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, - 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, - 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, - 0x61, 0x29, 0x29, 0x29, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x76, 0x61, 0x6c, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x7d, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, - 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x68, 0x72, 0x73, - 0x71, 0x72, 0x74, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, - 0x20, 0x61, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x76, 0x61, 0x6c, 0x3b, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x7b, 0x2e, 0x72, - 0x65, 0x67, 0x2e, 0x62, 0x33, 0x32, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x66, - 0x3b, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x6e, 0x22, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x20, 0x2e, 0x72, 0x65, 0x67, 0x2e, - 0x62, 0x31, 0x36, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x3b, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x6e, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x20, 0x20, 0x6d, 0x6f, 0x76, 0x2e, 0x62, 0x31, 0x36, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x2c, 0x25, 0x31, 0x3b, 0x20, 0x20, + 0x61, 0x73, 0x74, 0x3c, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x74, + 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x76, 0x61, 0x6c, 0x29, 0x29, 0x29, 0x29, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x72, 0x22, 0x28, 0x2a, 0x28, 0x72, 0x65, + 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x63, + 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x69, 0x6e, + 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x61, 0x29, 0x29, 0x29, 0x29, 0x29, 0x3b, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x76, 0x61, 0x6c, 0x3b, 0x0a, 0x7d, + 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, + 0x6c, 0x66, 0x32, 0x20, 0x68, 0x32, 0x72, 0x63, 0x70, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, + 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x61, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, + 0x66, 0x32, 0x20, 0x76, 0x61, 0x6c, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x61, 0x73, 0x6d, 0x28, 0x22, 0x7b, 0x2e, 0x72, 0x65, 0x67, 0x2e, 0x62, 0x31, 0x36, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x68, 0x6c, 0x2c, 0x20, 0x68, 0x75, 0x3b, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x6e, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x20, 0x2e, 0x72, 0x65, 0x67, 0x2e, 0x62, 0x33, + 0x32, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x66, 0x6c, 0x2c, 0x20, 0x66, 0x75, + 0x3b, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x6e, 0x22, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x20, 0x20, 0x6d, 0x6f, 0x76, + 0x2e, 0x62, 0x33, 0x32, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x68, 0x6c, + 0x2c, 0x20, 0x68, 0x75, 0x7d, 0x2c, 0x20, 0x25, 0x31, 0x3b, 0x20, 0x20, 0x20, 0x5c, 0x6e, 0x22, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x20, 0x20, + 0x63, 0x76, 0x74, 0x2e, 0x66, 0x33, 0x32, 0x2e, 0x66, 0x31, 0x36, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x66, 0x6c, 0x2c, 0x20, 0x68, 0x6c, 0x3b, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x5c, 0x6e, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x22, 0x20, 0x20, 0x63, 0x76, 0x74, 0x2e, 0x66, 0x33, 0x32, 0x2e, 0x66, 0x31, 0x36, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x66, 0x75, 0x2c, 0x20, 0x68, 0x75, 0x3b, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x6e, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x22, 0x20, 0x20, 0x63, 0x76, 0x74, 0x2e, 0x66, 0x33, 0x32, 0x2e, 0x66, 0x31, - 0x36, 0x20, 0x20, 0x20, 0x20, 0x20, 0x66, 0x2c, 0x72, 0x3b, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x22, 0x20, 0x20, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x22, 0x72, 0x63, 0x70, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x2e, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x78, 0x2e, 0x66, + 0x74, 0x7a, 0x2e, 0x66, 0x33, 0x32, 0x20, 0x20, 0x20, 0x66, 0x6c, 0x2c, 0x20, 0x66, 0x6c, 0x3b, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x6e, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x20, 0x20, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x72, 0x63, 0x70, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x2e, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x78, + 0x2e, 0x66, 0x74, 0x7a, 0x2e, 0x66, 0x33, 0x32, 0x20, 0x20, 0x20, 0x66, 0x75, 0x2c, 0x20, 0x66, + 0x75, 0x3b, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x6e, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x20, 0x20, 0x63, 0x76, 0x74, 0x2e, 0x72, 0x6e, + 0x2e, 0x66, 0x31, 0x36, 0x2e, 0x66, 0x33, 0x32, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x68, 0x6c, + 0x2c, 0x20, 0x66, 0x6c, 0x3b, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x6e, 0x22, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x20, 0x20, 0x63, 0x76, 0x74, + 0x2e, 0x72, 0x6e, 0x2e, 0x66, 0x31, 0x36, 0x2e, 0x66, 0x33, 0x32, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x68, 0x75, 0x2c, 0x20, 0x66, 0x75, 0x3b, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x6e, 0x22, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x20, 0x20, + 0x6d, 0x6f, 0x76, 0x2e, 0x62, 0x33, 0x32, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x25, 0x30, 0x2c, 0x20, 0x7b, 0x68, 0x6c, 0x2c, 0x20, 0x68, 0x75, 0x7d, 0x3b, 0x20, 0x20, 0x20, 0x5c, 0x6e, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x22, 0x20, 0x20, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x22, 0x72, 0x73, 0x71, 0x72, 0x74, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x2e, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x78, 0x2e, 0x66, 0x74, - 0x7a, 0x2e, 0x66, 0x33, 0x32, 0x20, 0x20, 0x20, 0x66, 0x2c, 0x66, 0x3b, 0x20, 0x20, 0x5c, 0x6e, + 0x22, 0x7d, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x3a, 0x20, 0x22, 0x3d, 0x72, 0x22, 0x28, 0x2a, 0x28, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, + 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, + 0x65, 0x64, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x76, 0x61, 0x6c, 0x29, + 0x29, 0x29, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x3a, 0x20, 0x22, 0x72, 0x22, 0x28, 0x2a, 0x28, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, + 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, + 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, + 0x28, 0x61, 0x29, 0x29, 0x29, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x76, 0x61, 0x6c, 0x3b, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x7d, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, + 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x68, 0x72, 0x63, 0x70, 0x28, 0x63, 0x6f, 0x6e, 0x73, + 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x61, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x68, 0x61, + 0x6c, 0x66, 0x20, 0x76, 0x61, 0x6c, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x61, 0x73, 0x6d, 0x28, 0x22, 0x7b, 0x2e, 0x72, 0x65, 0x67, 0x2e, 0x62, 0x33, 0x32, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x66, 0x3b, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x5c, 0x6e, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x22, 0x20, 0x2e, 0x72, 0x65, 0x67, 0x2e, 0x62, 0x31, 0x36, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x72, 0x3b, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x6e, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x20, - 0x20, 0x63, 0x76, 0x74, 0x2e, 0x72, 0x6e, 0x2e, 0x66, 0x31, 0x36, 0x2e, 0x66, 0x33, 0x32, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x2c, 0x66, 0x3b, 0x20, 0x20, 0x5c, 0x6e, 0x22, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x20, 0x20, 0x6d, 0x6f, - 0x76, 0x2e, 0x62, 0x31, 0x36, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x25, 0x30, - 0x2c, 0x72, 0x3b, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x6e, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x7d, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x68, 0x22, 0x28, 0x2a, - 0x28, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, - 0x74, 0x3c, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, - 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x76, 0x61, 0x6c, 0x29, 0x29, 0x29, 0x29, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x68, 0x22, 0x28, - 0x2a, 0x28, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, - 0x73, 0x74, 0x3c, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, - 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x61, 0x29, 0x29, - 0x29, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, - 0x75, 0x72, 0x6e, 0x20, 0x76, 0x61, 0x6c, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x7d, - 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, - 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x68, 0x32, 0x73, 0x71, 0x72, + 0x20, 0x6d, 0x6f, 0x76, 0x2e, 0x62, 0x31, 0x36, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x72, 0x2c, 0x25, 0x31, 0x3b, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x6e, 0x22, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x20, 0x20, 0x63, 0x76, + 0x74, 0x2e, 0x66, 0x33, 0x32, 0x2e, 0x66, 0x31, 0x36, 0x20, 0x20, 0x20, 0x20, 0x20, 0x66, 0x2c, + 0x72, 0x3b, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x6e, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x20, 0x20, 0x22, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x72, 0x63, 0x70, 0x22, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x2e, 0x61, 0x70, 0x70, + 0x72, 0x6f, 0x78, 0x2e, 0x66, 0x74, 0x7a, 0x2e, 0x66, 0x33, 0x32, 0x20, 0x20, 0x20, 0x66, 0x2c, + 0x66, 0x3b, 0x20, 0x20, 0x5c, 0x6e, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x22, 0x20, 0x20, 0x63, 0x76, 0x74, 0x2e, 0x72, 0x6e, 0x2e, 0x66, 0x31, + 0x36, 0x2e, 0x66, 0x33, 0x32, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x2c, 0x66, 0x3b, 0x20, + 0x20, 0x5c, 0x6e, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x22, 0x20, 0x20, 0x6d, 0x6f, 0x76, 0x2e, 0x62, 0x31, 0x36, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x25, 0x30, 0x2c, 0x72, 0x3b, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x6e, + 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x7d, + 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, + 0x22, 0x3d, 0x68, 0x22, 0x28, 0x2a, 0x28, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, + 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, + 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x76, 0x61, 0x6c, 0x29, + 0x29, 0x29, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x3a, 0x20, 0x22, 0x68, 0x22, 0x28, 0x2a, 0x28, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, + 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, + 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x2a, 0x3e, + 0x28, 0x26, 0x28, 0x61, 0x29, 0x29, 0x29, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x76, 0x61, 0x6c, 0x3b, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, + 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x68, 0x32, 0x72, 0x73, 0x71, 0x72, 0x74, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x61, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x76, 0x61, 0x6c, 0x3b, 0x0a, @@ -5557,172 +5262,257 @@ extern "C" const char luisa_cuda_builtin_cuda_device_half[87792] = { 0x33, 0x32, 0x2e, 0x66, 0x31, 0x36, 0x20, 0x20, 0x20, 0x20, 0x20, 0x66, 0x75, 0x2c, 0x20, 0x68, 0x75, 0x3b, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x6e, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x20, 0x20, 0x22, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x73, 0x71, 0x72, - 0x74, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, - 0x2e, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x78, 0x2e, 0x66, 0x74, 0x7a, 0x2e, 0x66, 0x33, 0x32, 0x20, - 0x20, 0x20, 0x66, 0x6c, 0x2c, 0x20, 0x66, 0x6c, 0x3b, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x6e, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x72, 0x73, 0x71, + 0x72, 0x74, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x22, 0x2e, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x78, 0x2e, 0x66, 0x74, 0x7a, 0x2e, 0x66, 0x33, 0x32, + 0x20, 0x20, 0x20, 0x66, 0x6c, 0x2c, 0x20, 0x66, 0x6c, 0x3b, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, + 0x6e, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, + 0x20, 0x20, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x22, 0x72, 0x73, 0x71, 0x72, 0x74, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x22, 0x2e, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x78, 0x2e, 0x66, 0x74, 0x7a, + 0x2e, 0x66, 0x33, 0x32, 0x20, 0x20, 0x20, 0x66, 0x75, 0x2c, 0x20, 0x66, 0x75, 0x3b, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x5c, 0x6e, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x22, 0x20, 0x20, 0x63, 0x76, 0x74, 0x2e, 0x72, 0x6e, 0x2e, 0x66, 0x31, 0x36, + 0x2e, 0x66, 0x33, 0x32, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x68, 0x6c, 0x2c, 0x20, 0x66, 0x6c, + 0x3b, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x6e, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x20, 0x20, 0x63, 0x76, 0x74, 0x2e, 0x72, 0x6e, 0x2e, + 0x66, 0x31, 0x36, 0x2e, 0x66, 0x33, 0x32, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x68, 0x75, 0x2c, + 0x20, 0x66, 0x75, 0x3b, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x6e, 0x22, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x20, 0x20, 0x6d, 0x6f, 0x76, 0x2e, + 0x62, 0x33, 0x32, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x25, 0x30, 0x2c, 0x20, + 0x7b, 0x68, 0x6c, 0x2c, 0x20, 0x68, 0x75, 0x7d, 0x3b, 0x20, 0x20, 0x20, 0x5c, 0x6e, 0x22, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x7d, 0x22, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, + 0x72, 0x22, 0x28, 0x2a, 0x28, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, + 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x69, + 0x6e, 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x76, 0x61, 0x6c, 0x29, 0x29, 0x29, 0x29, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x72, + 0x22, 0x28, 0x2a, 0x28, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, + 0x63, 0x61, 0x73, 0x74, 0x3c, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, + 0x6e, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x61, 0x29, 0x29, + 0x29, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, + 0x75, 0x72, 0x6e, 0x20, 0x76, 0x61, 0x6c, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x7d, + 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, + 0x6c, 0x66, 0x20, 0x68, 0x72, 0x73, 0x71, 0x72, 0x74, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, + 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x61, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, + 0x20, 0x76, 0x61, 0x6c, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, + 0x6d, 0x28, 0x22, 0x7b, 0x2e, 0x72, 0x65, 0x67, 0x2e, 0x62, 0x33, 0x32, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x66, 0x3b, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, + 0x6e, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, + 0x20, 0x2e, 0x72, 0x65, 0x67, 0x2e, 0x62, 0x31, 0x36, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x72, 0x3b, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x6e, 0x22, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x20, 0x20, 0x6d, + 0x6f, 0x76, 0x2e, 0x62, 0x31, 0x36, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, + 0x2c, 0x25, 0x31, 0x3b, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x6e, 0x22, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x20, 0x20, 0x63, 0x76, 0x74, 0x2e, + 0x66, 0x33, 0x32, 0x2e, 0x66, 0x31, 0x36, 0x20, 0x20, 0x20, 0x20, 0x20, 0x66, 0x2c, 0x72, 0x3b, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x6e, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x20, 0x20, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x72, 0x73, 0x71, 0x72, 0x74, 0x22, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x2e, 0x61, 0x70, 0x70, + 0x72, 0x6f, 0x78, 0x2e, 0x66, 0x74, 0x7a, 0x2e, 0x66, 0x33, 0x32, 0x20, 0x20, 0x20, 0x66, 0x2c, + 0x66, 0x3b, 0x20, 0x20, 0x5c, 0x6e, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x22, 0x20, 0x20, 0x63, 0x76, 0x74, 0x2e, 0x72, 0x6e, 0x2e, 0x66, 0x31, + 0x36, 0x2e, 0x66, 0x33, 0x32, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x2c, 0x66, 0x3b, 0x20, + 0x20, 0x5c, 0x6e, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x22, 0x20, 0x20, 0x6d, 0x6f, 0x76, 0x2e, 0x62, 0x31, 0x36, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x25, 0x30, 0x2c, 0x72, 0x3b, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x6e, + 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x7d, + 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, + 0x22, 0x3d, 0x68, 0x22, 0x28, 0x2a, 0x28, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, + 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, + 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x76, 0x61, 0x6c, 0x29, + 0x29, 0x29, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x3a, 0x20, 0x22, 0x68, 0x22, 0x28, 0x2a, 0x28, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, + 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, + 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x2a, 0x3e, + 0x28, 0x26, 0x28, 0x61, 0x29, 0x29, 0x29, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x76, 0x61, 0x6c, 0x3b, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, + 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x68, 0x32, 0x73, 0x71, 0x72, 0x74, + 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x61, + 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x76, 0x61, 0x6c, 0x3b, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x7b, 0x2e, 0x72, 0x65, + 0x67, 0x2e, 0x62, 0x31, 0x36, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x68, 0x6c, + 0x2c, 0x20, 0x68, 0x75, 0x3b, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x6e, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x20, - 0x20, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, - 0x73, 0x71, 0x72, 0x74, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x22, 0x2e, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x78, 0x2e, 0x66, 0x74, 0x7a, 0x2e, 0x66, - 0x33, 0x32, 0x20, 0x20, 0x20, 0x66, 0x75, 0x2c, 0x20, 0x66, 0x75, 0x3b, 0x20, 0x20, 0x20, 0x20, + 0x2e, 0x72, 0x65, 0x67, 0x2e, 0x62, 0x33, 0x32, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x66, 0x6c, 0x2c, 0x20, 0x66, 0x75, 0x3b, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x6e, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x22, 0x20, 0x20, 0x63, 0x76, 0x74, 0x2e, 0x72, 0x6e, 0x2e, 0x66, 0x31, 0x36, 0x2e, 0x66, - 0x33, 0x32, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x68, 0x6c, 0x2c, 0x20, 0x66, 0x6c, 0x3b, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x5c, 0x6e, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x22, 0x20, 0x20, 0x63, 0x76, 0x74, 0x2e, 0x72, 0x6e, 0x2e, 0x66, 0x31, - 0x36, 0x2e, 0x66, 0x33, 0x32, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x68, 0x75, 0x2c, 0x20, 0x66, - 0x75, 0x3b, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x6e, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x20, 0x20, 0x6d, 0x6f, 0x76, 0x2e, 0x62, 0x33, - 0x32, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x25, 0x30, 0x2c, 0x20, 0x7b, 0x68, - 0x6c, 0x2c, 0x20, 0x68, 0x75, 0x7d, 0x3b, 0x20, 0x20, 0x20, 0x5c, 0x6e, 0x22, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x7d, 0x22, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x72, 0x22, - 0x28, 0x2a, 0x28, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, - 0x61, 0x73, 0x74, 0x3c, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x74, - 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x76, 0x61, 0x6c, 0x29, 0x29, 0x29, 0x29, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x72, 0x22, 0x28, - 0x2a, 0x28, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, - 0x73, 0x74, 0x3c, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, - 0x64, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x61, 0x29, 0x29, 0x29, 0x29, - 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, - 0x6e, 0x20, 0x76, 0x61, 0x6c, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x7d, 0x0a, 0x5f, - 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, - 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x68, 0x73, 0x71, 0x72, 0x74, 0x28, 0x63, 0x6f, - 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x61, 0x29, 0x20, 0x7b, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, - 0x68, 0x61, 0x6c, 0x66, 0x20, 0x76, 0x61, 0x6c, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x7b, 0x2e, 0x72, 0x65, 0x67, 0x2e, 0x62, 0x33, 0x32, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x66, 0x3b, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x5c, 0x6e, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x22, 0x20, 0x2e, 0x72, 0x65, 0x67, 0x2e, 0x62, 0x31, 0x36, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x3b, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x5c, 0x6e, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x22, 0x20, 0x20, 0x6d, 0x6f, 0x76, 0x2e, 0x62, 0x31, 0x36, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x72, 0x2c, 0x25, 0x31, 0x3b, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x6e, 0x22, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x20, 0x20, - 0x63, 0x76, 0x74, 0x2e, 0x66, 0x33, 0x32, 0x2e, 0x66, 0x31, 0x36, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x66, 0x2c, 0x72, 0x3b, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x6e, 0x22, 0x0a, 0x20, 0x20, + 0x20, 0x22, 0x20, 0x20, 0x6d, 0x6f, 0x76, 0x2e, 0x62, 0x33, 0x32, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x7b, 0x68, 0x6c, 0x2c, 0x20, 0x68, 0x75, 0x7d, 0x2c, 0x20, 0x25, 0x31, + 0x3b, 0x20, 0x20, 0x20, 0x5c, 0x6e, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x22, 0x20, 0x20, 0x63, 0x76, 0x74, 0x2e, 0x66, 0x33, 0x32, 0x2e, 0x66, + 0x31, 0x36, 0x20, 0x20, 0x20, 0x20, 0x20, 0x66, 0x6c, 0x2c, 0x20, 0x68, 0x6c, 0x3b, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x6e, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x20, 0x20, 0x63, 0x76, 0x74, 0x2e, 0x66, 0x33, + 0x32, 0x2e, 0x66, 0x31, 0x36, 0x20, 0x20, 0x20, 0x20, 0x20, 0x66, 0x75, 0x2c, 0x20, 0x68, 0x75, + 0x3b, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x6e, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x20, 0x20, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x73, 0x71, 0x72, 0x74, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x2e, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x78, 0x2e, 0x66, 0x74, 0x7a, 0x2e, 0x66, 0x33, 0x32, 0x20, 0x20, - 0x20, 0x66, 0x2c, 0x66, 0x3b, 0x20, 0x20, 0x5c, 0x6e, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x20, 0x20, 0x63, 0x76, 0x74, 0x2e, 0x72, 0x6e, - 0x2e, 0x66, 0x31, 0x36, 0x2e, 0x66, 0x33, 0x32, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x2c, - 0x66, 0x3b, 0x20, 0x20, 0x5c, 0x6e, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x22, 0x20, 0x20, 0x6d, 0x6f, 0x76, 0x2e, 0x62, 0x31, 0x36, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x25, 0x30, 0x2c, 0x72, 0x3b, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x5c, 0x6e, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x22, 0x7d, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x68, 0x22, 0x28, 0x2a, 0x28, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, - 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x75, 0x6e, 0x73, 0x69, 0x67, - 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x76, - 0x61, 0x6c, 0x29, 0x29, 0x29, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x68, 0x22, 0x28, 0x2a, 0x28, 0x72, 0x65, 0x69, 0x6e, 0x74, - 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x63, 0x6f, 0x6e, 0x73, - 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, - 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x61, 0x29, 0x29, 0x29, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x76, 0x61, 0x6c, - 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, - 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, - 0x6c, 0x66, 0x32, 0x20, 0x5f, 0x5f, 0x68, 0x69, 0x73, 0x6e, 0x61, 0x6e, 0x32, 0x28, 0x63, 0x6f, - 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x61, 0x29, 0x20, 0x7b, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x72, 0x3b, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, - 0x68, 0x61, 0x6c, 0x66, 0x32, 0x5f, 0x72, 0x61, 0x77, 0x20, 0x76, 0x61, 0x6c, 0x3b, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, 0x61, 0x6c, 0x2e, 0x78, 0x20, 0x3d, 0x20, 0x5f, - 0x5f, 0x68, 0x69, 0x73, 0x6e, 0x61, 0x6e, 0x28, 0x61, 0x2e, 0x78, 0x29, 0x20, 0x3f, 0x20, 0x28, + 0x20, 0x66, 0x6c, 0x2c, 0x20, 0x66, 0x6c, 0x3b, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x6e, 0x22, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x20, 0x20, + 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x73, + 0x71, 0x72, 0x74, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x22, 0x2e, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x78, 0x2e, 0x66, 0x74, 0x7a, 0x2e, 0x66, 0x33, + 0x32, 0x20, 0x20, 0x20, 0x66, 0x75, 0x2c, 0x20, 0x66, 0x75, 0x3b, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x5c, 0x6e, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x22, 0x20, 0x20, 0x63, 0x76, 0x74, 0x2e, 0x72, 0x6e, 0x2e, 0x66, 0x31, 0x36, 0x2e, 0x66, 0x33, + 0x32, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x68, 0x6c, 0x2c, 0x20, 0x66, 0x6c, 0x3b, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x5c, 0x6e, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x22, 0x20, 0x20, 0x63, 0x76, 0x74, 0x2e, 0x72, 0x6e, 0x2e, 0x66, 0x31, 0x36, + 0x2e, 0x66, 0x33, 0x32, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x68, 0x75, 0x2c, 0x20, 0x66, 0x75, + 0x3b, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x6e, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x20, 0x20, 0x6d, 0x6f, 0x76, 0x2e, 0x62, 0x33, 0x32, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x25, 0x30, 0x2c, 0x20, 0x7b, 0x68, 0x6c, + 0x2c, 0x20, 0x68, 0x75, 0x7d, 0x3b, 0x20, 0x20, 0x20, 0x5c, 0x6e, 0x22, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x7d, 0x22, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x72, 0x22, 0x28, + 0x2a, 0x28, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, + 0x73, 0x74, 0x3c, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x74, 0x20, + 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x76, 0x61, 0x6c, 0x29, 0x29, 0x29, 0x29, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x72, 0x22, 0x28, 0x2a, + 0x28, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, + 0x74, 0x3c, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, + 0x20, 0x69, 0x6e, 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x61, 0x29, 0x29, 0x29, 0x29, 0x29, + 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, + 0x20, 0x76, 0x61, 0x6c, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, + 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, + 0x68, 0x73, 0x71, 0x72, 0x74, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, + 0x6c, 0x66, 0x20, 0x61, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x76, 0x61, 0x6c, + 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x7b, + 0x2e, 0x72, 0x65, 0x67, 0x2e, 0x62, 0x33, 0x32, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x66, 0x3b, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x6e, 0x22, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x20, 0x2e, 0x72, 0x65, + 0x67, 0x2e, 0x62, 0x31, 0x36, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x3b, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x6e, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x20, 0x20, 0x6d, 0x6f, 0x76, 0x2e, 0x62, + 0x31, 0x36, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x2c, 0x25, 0x31, 0x3b, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x6e, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x20, 0x20, 0x63, 0x76, 0x74, 0x2e, 0x66, 0x33, 0x32, 0x2e, + 0x66, 0x31, 0x36, 0x20, 0x20, 0x20, 0x20, 0x20, 0x66, 0x2c, 0x72, 0x3b, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x5c, 0x6e, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x22, 0x20, 0x20, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x22, 0x73, 0x71, 0x72, 0x74, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x2e, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x78, 0x2e, 0x66, + 0x74, 0x7a, 0x2e, 0x66, 0x33, 0x32, 0x20, 0x20, 0x20, 0x66, 0x2c, 0x66, 0x3b, 0x20, 0x20, 0x5c, + 0x6e, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, + 0x20, 0x20, 0x63, 0x76, 0x74, 0x2e, 0x72, 0x6e, 0x2e, 0x66, 0x31, 0x36, 0x2e, 0x66, 0x33, 0x32, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x2c, 0x66, 0x3b, 0x20, 0x20, 0x5c, 0x6e, 0x22, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x20, 0x20, 0x6d, + 0x6f, 0x76, 0x2e, 0x62, 0x31, 0x36, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x25, + 0x30, 0x2c, 0x72, 0x3b, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x6e, 0x22, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x7d, 0x22, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x68, 0x22, 0x28, + 0x2a, 0x28, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, + 0x73, 0x74, 0x3c, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, + 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x76, 0x61, 0x6c, 0x29, 0x29, 0x29, 0x29, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x68, 0x22, + 0x28, 0x2a, 0x28, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, + 0x61, 0x73, 0x74, 0x3c, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, + 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x61, 0x29, + 0x29, 0x29, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, + 0x74, 0x75, 0x72, 0x6e, 0x20, 0x76, 0x61, 0x6c, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, + 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, + 0x61, 0x6c, 0x66, 0x32, 0x20, 0x5f, 0x5f, 0x68, 0x69, 0x73, 0x6e, 0x61, 0x6e, 0x32, 0x28, 0x63, + 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x61, 0x29, 0x20, + 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x72, 0x3b, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5f, + 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x5f, 0x72, 0x61, 0x77, 0x20, 0x76, 0x61, 0x6c, 0x3b, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, 0x61, 0x6c, 0x2e, 0x78, 0x20, 0x3d, 0x20, + 0x5f, 0x5f, 0x68, 0x69, 0x73, 0x6e, 0x61, 0x6e, 0x28, 0x61, 0x2e, 0x78, 0x29, 0x20, 0x3f, 0x20, + 0x28, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x29, + 0x30, 0x78, 0x33, 0x43, 0x30, 0x30, 0x55, 0x20, 0x3a, 0x20, 0x28, 0x75, 0x6e, 0x73, 0x69, 0x67, + 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x29, 0x30, 0x55, 0x3b, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, 0x61, 0x6c, 0x2e, 0x79, 0x20, 0x3d, 0x20, 0x5f, 0x5f, + 0x68, 0x69, 0x73, 0x6e, 0x61, 0x6e, 0x28, 0x61, 0x2e, 0x79, 0x29, 0x20, 0x3f, 0x20, 0x28, 0x75, + 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x29, 0x30, 0x78, + 0x33, 0x43, 0x30, 0x30, 0x55, 0x20, 0x3a, 0x20, 0x28, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, + 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x29, 0x30, 0x55, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x72, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x28, + 0x76, 0x61, 0x6c, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x72, 0x3b, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, + 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x62, 0x6f, 0x6f, 0x6c, 0x20, 0x5f, 0x5f, 0x68, 0x69, + 0x73, 0x6e, 0x61, 0x6e, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, + 0x66, 0x20, 0x61, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, + 0x66, 0x5f, 0x72, 0x61, 0x77, 0x20, 0x68, 0x72, 0x20, 0x3d, 0x20, 0x73, 0x74, 0x61, 0x74, 0x69, + 0x63, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x5f, 0x72, 0x61, + 0x77, 0x3e, 0x28, 0x61, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, + 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x28, 0x28, 0x68, 0x72, 0x2e, 0x78, 0x20, 0x26, 0x20, 0x28, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x29, 0x30, - 0x78, 0x33, 0x43, 0x30, 0x30, 0x55, 0x20, 0x3a, 0x20, 0x28, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, - 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x29, 0x30, 0x55, 0x3b, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, 0x61, 0x6c, 0x2e, 0x79, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x68, - 0x69, 0x73, 0x6e, 0x61, 0x6e, 0x28, 0x61, 0x2e, 0x79, 0x29, 0x20, 0x3f, 0x20, 0x28, 0x75, 0x6e, - 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x29, 0x30, 0x78, 0x33, - 0x43, 0x30, 0x30, 0x55, 0x20, 0x3a, 0x20, 0x28, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, - 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x29, 0x30, 0x55, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x72, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x28, 0x76, - 0x61, 0x6c, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, + 0x78, 0x37, 0x46, 0x46, 0x46, 0x55, 0x29, 0x20, 0x3e, 0x20, 0x28, 0x75, 0x6e, 0x73, 0x69, 0x67, + 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x29, 0x30, 0x78, 0x37, 0x43, 0x30, 0x30, + 0x55, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, + 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x5f, + 0x5f, 0x68, 0x6e, 0x65, 0x67, 0x32, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, + 0x61, 0x6c, 0x66, 0x32, 0x20, 0x61, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, + 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x72, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x2e, 0x78, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x68, + 0x6e, 0x65, 0x67, 0x28, 0x61, 0x2e, 0x78, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x72, 0x2e, 0x79, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x68, 0x6e, 0x65, 0x67, 0x28, 0x61, + 0x2e, 0x79, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x72, 0x3b, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, - 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x62, 0x6f, 0x6f, - 0x6c, 0x20, 0x5f, 0x5f, 0x68, 0x69, 0x73, 0x6e, 0x61, 0x6e, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, - 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x61, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, - 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x5f, 0x72, 0x61, 0x77, 0x20, 0x68, 0x72, 0x20, 0x3d, - 0x20, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x5f, 0x5f, 0x68, - 0x61, 0x6c, 0x66, 0x5f, 0x72, 0x61, 0x77, 0x3e, 0x28, 0x61, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x28, 0x28, 0x68, 0x72, - 0x2e, 0x78, 0x20, 0x26, 0x20, 0x28, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, - 0x68, 0x6f, 0x72, 0x74, 0x29, 0x30, 0x78, 0x37, 0x46, 0x46, 0x46, 0x55, 0x29, 0x20, 0x3e, 0x20, - 0x28, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x29, - 0x30, 0x78, 0x37, 0x43, 0x30, 0x30, 0x55, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, - 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, - 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x5f, 0x5f, 0x68, 0x6e, - 0x65, 0x67, 0x32, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, - 0x32, 0x20, 0x61, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, - 0x66, 0x32, 0x20, 0x72, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x72, 0x2e, 0x78, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x68, 0x6e, 0x65, 0x67, - 0x28, 0x61, 0x2e, 0x78, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, - 0x2e, 0x79, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x68, 0x6e, 0x65, 0x67, 0x28, 0x61, 0x2e, 0x79, 0x29, - 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, - 0x72, 0x6e, 0x20, 0x72, 0x3b, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, - 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, - 0x20, 0x5f, 0x5f, 0x68, 0x6e, 0x65, 0x67, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, + 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x5f, 0x5f, 0x68, + 0x6e, 0x65, 0x67, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, + 0x20, 0x61, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, + 0x66, 0x61, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x66, 0x6c, 0x6f, 0x61, + 0x74, 0x28, 0x61, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, + 0x74, 0x75, 0x72, 0x6e, 0x20, 0x5f, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x32, 0x68, 0x61, 0x6c, + 0x66, 0x28, 0x2d, 0x66, 0x61, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x7d, 0x0a, + 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, + 0x66, 0x32, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x62, 0x73, 0x32, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, + 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x61, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x72, 0x3b, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x2e, 0x78, 0x20, 0x3d, + 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x62, 0x73, 0x28, 0x61, 0x2e, 0x78, 0x29, 0x3b, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x2e, 0x79, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x68, 0x61, + 0x62, 0x73, 0x28, 0x61, 0x2e, 0x79, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x72, 0x3b, 0x0a, 0x7d, 0x0a, 0x5f, + 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, + 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x62, 0x73, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x61, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x66, 0x6c, - 0x6f, 0x61, 0x74, 0x20, 0x66, 0x61, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, - 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x28, 0x61, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x5f, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, - 0x32, 0x68, 0x61, 0x6c, 0x66, 0x28, 0x2d, 0x66, 0x61, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x7d, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, - 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x5f, 0x5f, - 0x68, 0x61, 0x62, 0x73, 0x32, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, - 0x6c, 0x66, 0x32, 0x20, 0x61, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x68, - 0x61, 0x6c, 0x66, 0x32, 0x20, 0x72, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x2e, 0x78, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x68, 0x61, - 0x62, 0x73, 0x28, 0x61, 0x2e, 0x78, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x72, 0x2e, 0x79, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x62, 0x73, 0x28, 0x61, 0x2e, - 0x79, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, - 0x74, 0x75, 0x72, 0x6e, 0x20, 0x72, 0x3b, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, - 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, - 0x6c, 0x66, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x62, 0x73, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, - 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x61, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, - 0x5f, 0x72, 0x61, 0x77, 0x20, 0x61, 0x62, 0x73, 0x5f, 0x61, 0x5f, 0x72, 0x61, 0x77, 0x20, 0x3d, - 0x20, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x5f, 0x5f, 0x68, - 0x61, 0x6c, 0x66, 0x5f, 0x72, 0x61, 0x77, 0x3e, 0x28, 0x61, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x61, 0x62, 0x73, 0x5f, 0x61, 0x5f, 0x72, 0x61, 0x77, 0x2e, 0x78, - 0x20, 0x26, 0x3d, 0x20, 0x28, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, - 0x6f, 0x72, 0x74, 0x29, 0x30, 0x78, 0x37, 0x46, 0x46, 0x46, 0x55, 0x3b, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x28, 0x61, 0x62, 0x73, 0x5f, 0x61, 0x5f, 0x72, - 0x61, 0x77, 0x2e, 0x78, 0x20, 0x3e, 0x20, 0x28, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, - 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x29, 0x30, 0x78, 0x37, 0x43, 0x30, 0x30, 0x55, 0x29, 0x20, - 0x7b, 0x20, 0x61, 0x62, 0x73, 0x5f, 0x61, 0x5f, 0x72, 0x61, 0x77, 0x2e, 0x78, 0x20, 0x3d, 0x20, - 0x28, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x29, - 0x30, 0x78, 0x37, 0x46, 0x46, 0x46, 0x55, 0x3b, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, - 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x3e, 0x28, 0x61, 0x62, - 0x73, 0x5f, 0x61, 0x5f, 0x72, 0x61, 0x77, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, - 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, - 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x5f, 0x5f, 0x68, 0x6d, 0x61, - 0x78, 0x5f, 0x6e, 0x61, 0x6e, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, - 0x6c, 0x66, 0x20, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, - 0x6c, 0x66, 0x20, 0x62, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x6d, 0x61, 0x78, - 0x76, 0x61, 0x6c, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, - 0x28, 0x5f, 0x5f, 0x68, 0x69, 0x73, 0x6e, 0x61, 0x6e, 0x28, 0x61, 0x29, 0x20, 0x7c, 0x7c, 0x20, - 0x5f, 0x5f, 0x68, 0x69, 0x73, 0x6e, 0x61, 0x6e, 0x28, 0x62, 0x29, 0x29, 0x20, 0x7b, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6d, 0x61, 0x78, 0x76, 0x61, - 0x6c, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x75, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x5f, 0x61, 0x73, 0x5f, - 0x68, 0x61, 0x6c, 0x66, 0x28, 0x28, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, - 0x68, 0x6f, 0x72, 0x74, 0x29, 0x30, 0x78, 0x37, 0x46, 0x46, 0x46, 0x55, 0x29, 0x3b, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x20, 0x65, 0x6c, 0x73, 0x65, 0x20, 0x7b, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6d, 0x61, 0x78, 0x76, - 0x61, 0x6c, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x68, 0x6d, 0x61, 0x78, 0x28, 0x61, 0x2c, 0x20, 0x62, - 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x6d, 0x61, 0x78, 0x76, - 0x61, 0x6c, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, - 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x5f, 0x72, + 0x61, 0x77, 0x20, 0x61, 0x62, 0x73, 0x5f, 0x61, 0x5f, 0x72, 0x61, 0x77, 0x20, 0x3d, 0x20, 0x73, + 0x74, 0x61, 0x74, 0x69, 0x63, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x5f, 0x5f, 0x68, 0x61, 0x6c, + 0x66, 0x5f, 0x72, 0x61, 0x77, 0x3e, 0x28, 0x61, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x61, 0x62, 0x73, 0x5f, 0x61, 0x5f, 0x72, 0x61, 0x77, 0x2e, 0x78, 0x20, 0x26, + 0x3d, 0x20, 0x28, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, + 0x74, 0x29, 0x30, 0x78, 0x37, 0x46, 0x46, 0x46, 0x55, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x28, 0x61, 0x62, 0x73, 0x5f, 0x61, 0x5f, 0x72, 0x61, 0x77, + 0x2e, 0x78, 0x20, 0x3e, 0x20, 0x28, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, + 0x68, 0x6f, 0x72, 0x74, 0x29, 0x30, 0x78, 0x37, 0x43, 0x30, 0x30, 0x55, 0x29, 0x20, 0x7b, 0x20, + 0x61, 0x62, 0x73, 0x5f, 0x61, 0x5f, 0x72, 0x61, 0x77, 0x2e, 0x78, 0x20, 0x3d, 0x20, 0x28, 0x75, + 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x29, 0x30, 0x78, + 0x37, 0x46, 0x46, 0x46, 0x55, 0x3b, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x5f, 0x63, + 0x61, 0x73, 0x74, 0x3c, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x3e, 0x28, 0x61, 0x62, 0x73, 0x5f, + 0x61, 0x5f, 0x72, 0x61, 0x77, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x7d, 0x0a, + 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, + 0x66, 0x20, 0x5f, 0x5f, 0x68, 0x6d, 0x61, 0x78, 0x5f, 0x6e, 0x61, 0x6e, 0x28, 0x63, 0x6f, 0x6e, + 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, + 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x62, 0x29, 0x20, 0x7b, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x68, + 0x61, 0x6c, 0x66, 0x20, 0x6d, 0x61, 0x78, 0x76, 0x61, 0x6c, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x28, 0x5f, 0x5f, 0x68, 0x69, 0x73, 0x6e, 0x61, 0x6e, + 0x28, 0x61, 0x29, 0x20, 0x7c, 0x7c, 0x20, 0x5f, 0x5f, 0x68, 0x69, 0x73, 0x6e, 0x61, 0x6e, 0x28, + 0x62, 0x29, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x6d, 0x61, 0x78, 0x76, 0x61, 0x6c, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x75, 0x73, 0x68, + 0x6f, 0x72, 0x74, 0x5f, 0x61, 0x73, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x28, 0x28, 0x75, 0x6e, 0x73, + 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x29, 0x30, 0x78, 0x37, 0x46, + 0x46, 0x46, 0x55, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x20, + 0x65, 0x6c, 0x73, 0x65, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x6d, 0x61, 0x78, 0x76, 0x61, 0x6c, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x68, 0x6d, + 0x61, 0x78, 0x28, 0x61, 0x2c, 0x20, 0x62, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, + 0x72, 0x6e, 0x20, 0x6d, 0x61, 0x78, 0x76, 0x61, 0x6c, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, + 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x5f, 0x5f, 0x68, 0x6d, 0x69, 0x6e, 0x5f, 0x6e, 0x61, 0x6e, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x62, 0x29, 0x20, @@ -5741,136 +5531,134 @@ extern "C" const char luisa_cuda_builtin_cuda_device_half[87792] = { 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x6d, 0x69, 0x6e, 0x76, 0x61, 0x6c, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, - 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, - 0x5f, 0x5f, 0x68, 0x6d, 0x61, 0x78, 0x32, 0x5f, 0x6e, 0x61, 0x6e, 0x28, 0x63, 0x6f, 0x6e, 0x73, - 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, - 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x62, 0x29, 0x20, 0x7b, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, - 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x20, 0x3d, 0x20, 0x5f, - 0x5f, 0x68, 0x6d, 0x61, 0x78, 0x32, 0x28, 0x61, 0x2c, 0x20, 0x62, 0x29, 0x3b, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x28, 0x5f, 0x5f, 0x68, 0x69, 0x73, 0x6e, - 0x61, 0x6e, 0x28, 0x61, 0x2e, 0x78, 0x29, 0x20, 0x7c, 0x7c, 0x20, 0x5f, 0x5f, 0x68, 0x69, 0x73, - 0x6e, 0x61, 0x6e, 0x28, 0x62, 0x2e, 0x78, 0x29, 0x29, 0x20, 0x7b, 0x20, 0x72, 0x65, 0x73, 0x75, - 0x6c, 0x74, 0x2e, 0x78, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x75, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x5f, - 0x61, 0x73, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x28, 0x28, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, - 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x29, 0x30, 0x78, 0x37, 0x46, 0x46, 0x46, 0x55, 0x29, - 0x3b, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x28, - 0x5f, 0x5f, 0x68, 0x69, 0x73, 0x6e, 0x61, 0x6e, 0x28, 0x61, 0x2e, 0x79, 0x29, 0x20, 0x7c, 0x7c, - 0x20, 0x5f, 0x5f, 0x68, 0x69, 0x73, 0x6e, 0x61, 0x6e, 0x28, 0x62, 0x2e, 0x79, 0x29, 0x29, 0x20, - 0x7b, 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x79, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x75, - 0x73, 0x68, 0x6f, 0x72, 0x74, 0x5f, 0x61, 0x73, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x28, 0x28, 0x75, - 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x29, 0x30, 0x78, - 0x37, 0x46, 0x46, 0x46, 0x55, 0x29, 0x3b, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x3b, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, - 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, - 0x66, 0x32, 0x20, 0x5f, 0x5f, 0x68, 0x6d, 0x69, 0x6e, 0x32, 0x5f, 0x6e, 0x61, 0x6e, 0x28, 0x63, - 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x61, 0x2c, 0x20, - 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x62, 0x29, - 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x20, - 0x3d, 0x20, 0x5f, 0x5f, 0x68, 0x6d, 0x69, 0x6e, 0x32, 0x28, 0x61, 0x2c, 0x20, 0x62, 0x29, 0x3b, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x28, 0x5f, 0x5f, 0x68, - 0x69, 0x73, 0x6e, 0x61, 0x6e, 0x28, 0x61, 0x2e, 0x78, 0x29, 0x20, 0x7c, 0x7c, 0x20, 0x5f, 0x5f, - 0x68, 0x69, 0x73, 0x6e, 0x61, 0x6e, 0x28, 0x62, 0x2e, 0x78, 0x29, 0x29, 0x20, 0x7b, 0x20, 0x72, - 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x78, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x75, 0x73, 0x68, 0x6f, - 0x72, 0x74, 0x5f, 0x61, 0x73, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x28, 0x28, 0x75, 0x6e, 0x73, 0x69, - 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x29, 0x30, 0x78, 0x37, 0x46, 0x46, - 0x46, 0x55, 0x29, 0x3b, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, - 0x66, 0x20, 0x28, 0x5f, 0x5f, 0x68, 0x69, 0x73, 0x6e, 0x61, 0x6e, 0x28, 0x61, 0x2e, 0x79, 0x29, - 0x20, 0x7c, 0x7c, 0x20, 0x5f, 0x5f, 0x68, 0x69, 0x73, 0x6e, 0x61, 0x6e, 0x28, 0x62, 0x2e, 0x79, - 0x29, 0x29, 0x20, 0x7b, 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x79, 0x20, 0x3d, 0x20, + 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x5f, 0x5f, 0x68, 0x6d, 0x61, 0x78, 0x32, + 0x5f, 0x6e, 0x61, 0x6e, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, + 0x66, 0x32, 0x20, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, + 0x6c, 0x66, 0x32, 0x20, 0x62, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x72, + 0x65, 0x73, 0x75, 0x6c, 0x74, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x68, 0x6d, 0x61, 0x78, 0x32, 0x28, + 0x61, 0x2c, 0x20, 0x62, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, + 0x66, 0x20, 0x28, 0x5f, 0x5f, 0x68, 0x69, 0x73, 0x6e, 0x61, 0x6e, 0x28, 0x61, 0x2e, 0x78, 0x29, + 0x20, 0x7c, 0x7c, 0x20, 0x5f, 0x5f, 0x68, 0x69, 0x73, 0x6e, 0x61, 0x6e, 0x28, 0x62, 0x2e, 0x78, + 0x29, 0x29, 0x20, 0x7b, 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x78, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x75, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x5f, 0x61, 0x73, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x28, 0x28, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x29, 0x30, 0x78, 0x37, 0x46, 0x46, 0x46, 0x55, 0x29, 0x3b, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x72, 0x65, 0x73, 0x75, - 0x6c, 0x74, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, - 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, - 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x61, 0x74, 0x6f, 0x6d, 0x69, 0x63, 0x41, 0x64, 0x64, 0x28, - 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x2a, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x61, - 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, - 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x76, 0x61, 0x6c, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, - 0x6e, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x2a, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, - 0x5f, 0x61, 0x73, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x20, 0x3d, 0x20, 0x28, 0x75, 0x6e, 0x73, 0x69, - 0x67, 0x6e, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x2a, 0x29, 0x61, 0x64, 0x64, 0x72, 0x65, - 0x73, 0x73, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x75, 0x6e, 0x73, 0x69, - 0x67, 0x6e, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x6f, 0x6c, 0x64, 0x20, 0x3d, 0x20, 0x2a, - 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x5f, 0x61, 0x73, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x3b, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, - 0x64, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x61, 0x73, 0x73, 0x75, 0x6d, 0x65, 0x64, 0x3b, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x64, 0x6f, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x73, 0x75, 0x6d, 0x65, 0x64, 0x20, - 0x3d, 0x20, 0x6f, 0x6c, 0x64, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x6e, 0x65, 0x77, 0x5f, 0x76, - 0x61, 0x6c, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x64, 0x64, 0x32, 0x28, 0x76, 0x61, 0x6c, - 0x2c, 0x20, 0x2a, 0x28, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x2a, 0x29, 0x26, 0x61, - 0x73, 0x73, 0x75, 0x6d, 0x65, 0x64, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x6f, 0x6c, 0x64, 0x20, 0x3d, 0x20, 0x61, 0x74, 0x6f, 0x6d, 0x69, - 0x63, 0x43, 0x41, 0x53, 0x28, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x5f, 0x61, 0x73, 0x5f, - 0x75, 0x69, 0x6e, 0x74, 0x2c, 0x20, 0x61, 0x73, 0x73, 0x75, 0x6d, 0x65, 0x64, 0x2c, 0x20, 0x2a, - 0x28, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x2a, 0x29, - 0x26, 0x6e, 0x65, 0x77, 0x5f, 0x76, 0x61, 0x6c, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x7d, 0x20, 0x77, 0x68, 0x69, 0x6c, 0x65, 0x20, 0x28, 0x61, 0x73, 0x73, 0x75, - 0x6d, 0x65, 0x64, 0x20, 0x21, 0x3d, 0x20, 0x6f, 0x6c, 0x64, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x2a, 0x28, 0x5f, 0x5f, - 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x2a, 0x29, 0x26, 0x6f, 0x6c, 0x64, 0x3b, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x7d, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, - 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x5f, - 0x5f, 0x68, 0x66, 0x6d, 0x61, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, - 0x6c, 0x66, 0x20, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, - 0x6c, 0x66, 0x20, 0x62, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, - 0x6c, 0x66, 0x20, 0x63, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x68, 0x61, - 0x6c, 0x66, 0x20, 0x76, 0x61, 0x6c, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x28, - 0x22, 0x7b, 0x66, 0x6d, 0x61, 0x2e, 0x72, 0x6e, 0x2e, 0x66, 0x31, 0x36, 0x20, 0x25, 0x30, 0x2c, - 0x25, 0x31, 0x2c, 0x25, 0x32, 0x2c, 0x25, 0x33, 0x3b, 0x5c, 0x6e, 0x7d, 0x22, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x68, 0x22, 0x28, 0x2a, 0x28, 0x72, - 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, - 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x2a, - 0x3e, 0x28, 0x26, 0x28, 0x76, 0x61, 0x6c, 0x29, 0x29, 0x29, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x68, 0x22, 0x28, 0x2a, 0x28, 0x72, 0x65, 0x69, 0x6e, - 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x63, 0x6f, 0x6e, - 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, - 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x61, 0x29, 0x29, 0x29, 0x29, 0x2c, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x68, 0x22, 0x28, 0x2a, 0x28, 0x72, 0x65, - 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x63, - 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, - 0x6f, 0x72, 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x62, 0x29, 0x29, 0x29, 0x29, 0x2c, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x68, 0x22, 0x28, 0x2a, 0x28, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x28, 0x5f, 0x5f, 0x68, 0x69, 0x73, 0x6e, 0x61, + 0x6e, 0x28, 0x61, 0x2e, 0x79, 0x29, 0x20, 0x7c, 0x7c, 0x20, 0x5f, 0x5f, 0x68, 0x69, 0x73, 0x6e, + 0x61, 0x6e, 0x28, 0x62, 0x2e, 0x79, 0x29, 0x29, 0x20, 0x7b, 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, + 0x74, 0x2e, 0x79, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x75, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x5f, 0x61, + 0x73, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x28, 0x28, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, + 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x29, 0x30, 0x78, 0x37, 0x46, 0x46, 0x46, 0x55, 0x29, 0x3b, + 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, + 0x6e, 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, + 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, + 0x61, 0x6c, 0x66, 0x32, 0x20, 0x5f, 0x5f, 0x68, 0x6d, 0x69, 0x6e, 0x32, 0x5f, 0x6e, 0x61, 0x6e, + 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x61, + 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, + 0x62, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, + 0x74, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x68, 0x6d, 0x69, 0x6e, 0x32, 0x28, 0x61, 0x2c, 0x20, 0x62, + 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x28, 0x5f, + 0x5f, 0x68, 0x69, 0x73, 0x6e, 0x61, 0x6e, 0x28, 0x61, 0x2e, 0x78, 0x29, 0x20, 0x7c, 0x7c, 0x20, + 0x5f, 0x5f, 0x68, 0x69, 0x73, 0x6e, 0x61, 0x6e, 0x28, 0x62, 0x2e, 0x78, 0x29, 0x29, 0x20, 0x7b, + 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x78, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x75, 0x73, + 0x68, 0x6f, 0x72, 0x74, 0x5f, 0x61, 0x73, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x28, 0x28, 0x75, 0x6e, + 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x29, 0x30, 0x78, 0x37, + 0x46, 0x46, 0x46, 0x55, 0x29, 0x3b, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x69, 0x66, 0x20, 0x28, 0x5f, 0x5f, 0x68, 0x69, 0x73, 0x6e, 0x61, 0x6e, 0x28, 0x61, 0x2e, + 0x79, 0x29, 0x20, 0x7c, 0x7c, 0x20, 0x5f, 0x5f, 0x68, 0x69, 0x73, 0x6e, 0x61, 0x6e, 0x28, 0x62, + 0x2e, 0x79, 0x29, 0x29, 0x20, 0x7b, 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x79, 0x20, + 0x3d, 0x20, 0x5f, 0x5f, 0x75, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x5f, 0x61, 0x73, 0x5f, 0x68, 0x61, + 0x6c, 0x66, 0x28, 0x28, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, + 0x72, 0x74, 0x29, 0x30, 0x78, 0x37, 0x46, 0x46, 0x46, 0x55, 0x29, 0x3b, 0x20, 0x7d, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x72, 0x65, + 0x73, 0x75, 0x6c, 0x74, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, + 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, + 0x20, 0x61, 0x74, 0x6f, 0x6d, 0x69, 0x63, 0x41, 0x64, 0x64, 0x28, 0x5f, 0x5f, 0x68, 0x61, 0x6c, + 0x66, 0x32, 0x20, 0x2a, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, + 0x73, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, + 0x20, 0x76, 0x61, 0x6c, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x69, + 0x6e, 0x74, 0x20, 0x2a, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x5f, 0x61, 0x73, 0x5f, 0x75, + 0x69, 0x6e, 0x74, 0x20, 0x3d, 0x20, 0x28, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, + 0x69, 0x6e, 0x74, 0x20, 0x2a, 0x29, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x3b, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, + 0x69, 0x6e, 0x74, 0x20, 0x6f, 0x6c, 0x64, 0x20, 0x3d, 0x20, 0x2a, 0x61, 0x64, 0x64, 0x72, 0x65, + 0x73, 0x73, 0x5f, 0x61, 0x73, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x74, + 0x20, 0x61, 0x73, 0x73, 0x75, 0x6d, 0x65, 0x64, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x64, 0x6f, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x61, 0x73, 0x73, 0x75, 0x6d, 0x65, 0x64, 0x20, 0x3d, 0x20, 0x6f, 0x6c, 0x64, + 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, + 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x6e, 0x65, 0x77, 0x5f, 0x76, 0x61, 0x6c, 0x20, 0x3d, 0x20, + 0x5f, 0x5f, 0x68, 0x61, 0x64, 0x64, 0x32, 0x28, 0x76, 0x61, 0x6c, 0x2c, 0x20, 0x2a, 0x28, 0x5f, + 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x2a, 0x29, 0x26, 0x61, 0x73, 0x73, 0x75, 0x6d, 0x65, + 0x64, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x6f, 0x6c, 0x64, 0x20, 0x3d, 0x20, 0x61, 0x74, 0x6f, 0x6d, 0x69, 0x63, 0x43, 0x41, 0x53, 0x28, + 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x5f, 0x61, 0x73, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x2c, + 0x20, 0x61, 0x73, 0x73, 0x75, 0x6d, 0x65, 0x64, 0x2c, 0x20, 0x2a, 0x28, 0x75, 0x6e, 0x73, 0x69, + 0x67, 0x6e, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x2a, 0x29, 0x26, 0x6e, 0x65, 0x77, 0x5f, + 0x76, 0x61, 0x6c, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x20, + 0x77, 0x68, 0x69, 0x6c, 0x65, 0x20, 0x28, 0x61, 0x73, 0x73, 0x75, 0x6d, 0x65, 0x64, 0x20, 0x21, + 0x3d, 0x20, 0x6f, 0x6c, 0x64, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x2a, 0x28, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, + 0x20, 0x2a, 0x29, 0x26, 0x6f, 0x6c, 0x64, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x7d, + 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, + 0x6c, 0x66, 0x20, 0x5f, 0x5f, 0x68, 0x66, 0x6d, 0x61, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, + 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, + 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x62, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, + 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x63, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x76, 0x61, 0x6c, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x61, 0x73, 0x6d, 0x28, 0x22, 0x7b, 0x66, 0x6d, 0x61, 0x2e, 0x72, 0x6e, 0x2e, 0x66, 0x31, 0x36, + 0x20, 0x25, 0x30, 0x2c, 0x25, 0x31, 0x2c, 0x25, 0x32, 0x2c, 0x25, 0x33, 0x3b, 0x5c, 0x6e, 0x7d, + 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x68, 0x22, + 0x28, 0x2a, 0x28, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, + 0x61, 0x73, 0x74, 0x3c, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, + 0x72, 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x76, 0x61, 0x6c, 0x29, 0x29, 0x29, 0x29, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x68, 0x22, 0x28, 0x2a, 0x28, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, - 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x63, 0x29, 0x29, 0x29, 0x29, - 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x76, 0x61, - 0x6c, 0x3b, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, - 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x5f, 0x68, - 0x66, 0x6d, 0x61, 0x5f, 0x73, 0x61, 0x74, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, - 0x68, 0x61, 0x6c, 0x66, 0x20, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, - 0x68, 0x61, 0x6c, 0x66, 0x20, 0x62, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, - 0x68, 0x61, 0x6c, 0x66, 0x20, 0x63, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, - 0x68, 0x61, 0x6c, 0x66, 0x20, 0x76, 0x61, 0x6c, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, - 0x6d, 0x28, 0x22, 0x7b, 0x66, 0x6d, 0x61, 0x2e, 0x72, 0x6e, 0x2e, 0x73, 0x61, 0x74, 0x2e, 0x66, - 0x31, 0x36, 0x20, 0x25, 0x30, 0x2c, 0x25, 0x31, 0x2c, 0x25, 0x32, 0x2c, 0x25, 0x33, 0x3b, 0x5c, - 0x6e, 0x7d, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, - 0x68, 0x22, 0x28, 0x2a, 0x28, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, - 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, - 0x68, 0x6f, 0x72, 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x76, 0x61, 0x6c, 0x29, 0x29, 0x29, - 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x68, 0x22, 0x28, + 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x61, 0x29, 0x29, 0x29, 0x29, + 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x68, 0x22, 0x28, 0x2a, 0x28, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, - 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x61, 0x29, 0x29, + 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x62, 0x29, 0x29, 0x29, 0x29, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x68, 0x22, 0x28, 0x2a, 0x28, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, - 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x62, - 0x29, 0x29, 0x29, 0x29, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x22, 0x68, 0x22, 0x28, 0x2a, 0x28, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, - 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, - 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, - 0x28, 0x63, 0x29, 0x29, 0x29, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, - 0x75, 0x72, 0x6e, 0x20, 0x76, 0x61, 0x6c, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x75, 0x73, 0x69, 0x6e, - 0x67, 0x20, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x3b, - 0x0a, 0x75, 0x73, 0x69, 0x6e, 0x67, 0x20, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x3d, 0x20, 0x5f, - 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x3b, 0x0a, 0x0a, 0x23, 0x65, 0x6e, 0x64, 0x69, 0x66, 0x0a + 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x63, + 0x29, 0x29, 0x29, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, + 0x6e, 0x20, 0x76, 0x61, 0x6c, 0x3b, 0x0a, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, + 0x65, 0x5f, 0x5f, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x5f, 0x68, 0x66, 0x6d, 0x61, + 0x5f, 0x73, 0x61, 0x74, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, + 0x66, 0x20, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, + 0x66, 0x20, 0x62, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, + 0x66, 0x20, 0x63, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, + 0x66, 0x20, 0x76, 0x61, 0x6c, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, + 0x7b, 0x66, 0x6d, 0x61, 0x2e, 0x72, 0x6e, 0x2e, 0x73, 0x61, 0x74, 0x2e, 0x66, 0x31, 0x36, 0x20, + 0x25, 0x30, 0x2c, 0x25, 0x31, 0x2c, 0x25, 0x32, 0x2c, 0x25, 0x33, 0x3b, 0x5c, 0x6e, 0x7d, 0x22, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x68, 0x22, 0x28, + 0x2a, 0x28, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, + 0x73, 0x74, 0x3c, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, + 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x76, 0x61, 0x6c, 0x29, 0x29, 0x29, 0x29, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x68, 0x22, 0x28, 0x2a, 0x28, 0x72, + 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, + 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, + 0x68, 0x6f, 0x72, 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x61, 0x29, 0x29, 0x29, 0x29, 0x2c, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x68, 0x22, 0x28, 0x2a, + 0x28, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, + 0x74, 0x3c, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, + 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x62, 0x29, 0x29, 0x29, + 0x29, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x68, 0x22, + 0x28, 0x2a, 0x28, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, + 0x61, 0x73, 0x74, 0x3c, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, + 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x28, 0x63, 0x29, + 0x29, 0x29, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, + 0x20, 0x76, 0x61, 0x6c, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x75, 0x73, 0x69, 0x6e, 0x67, 0x20, 0x68, + 0x61, 0x6c, 0x66, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x3b, 0x0a, 0x75, 0x73, + 0x69, 0x6e, 0x67, 0x20, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x68, 0x61, + 0x6c, 0x66, 0x32, 0x3b, 0x0a, 0x0a, 0x23, 0x65, 0x6e, 0x64, 0x69, 0x66, 0x0a }; extern "C" const char luisa_cuda_builtin_cuda_device_math[499474] = { @@ -37094,7 +36882,7 @@ extern "C" const char luisa_cuda_builtin_cuda_device_math[499474] = { 0x7d, 0x0a }; -extern "C" const char luisa_cuda_builtin_cuda_device_resource[119200] = { +extern "C" const char luisa_cuda_builtin_cuda_device_resource[117933] = { 0x23, 0x70, 0x72, 0x61, 0x67, 0x6d, 0x61, 0x20, 0x6f, 0x6e, 0x63, 0x65, 0x0a, 0x0a, 0x5b, 0x5b, 0x6e, 0x6f, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x5d, 0x5d, 0x20, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x78, 0x70, 0x72, @@ -37127,492 +36915,485 @@ extern "C" const char luisa_cuda_builtin_cuda_device_resource[119200] = { 0x4e, 0x54, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x78, 0x70, 0x72, 0x0a, 0x23, 0x65, 0x6e, 0x64, 0x69, 0x66, 0x0a, 0x0a, 0x23, 0x69, 0x66, 0x20, 0x4c, 0x43, 0x5f, 0x4e, 0x56, 0x52, 0x54, 0x43, 0x5f, 0x56, 0x45, 0x52, 0x53, 0x49, 0x4f, 0x4e, 0x20, 0x3c, 0x20, 0x31, 0x31, 0x30, 0x32, - 0x30, 0x30, 0x0a, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, - 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x76, 0x6f, 0x69, 0x64, 0x20, 0x6c, 0x63, 0x5f, 0x61, 0x73, 0x73, - 0x75, 0x6d, 0x65, 0x28, 0x62, 0x6f, 0x6f, 0x6c, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, - 0x70, 0x74, 0x20, 0x7b, 0x7d, 0x0a, 0x23, 0x65, 0x6c, 0x73, 0x65, 0x0a, 0x23, 0x64, 0x65, 0x66, - 0x69, 0x6e, 0x65, 0x20, 0x6c, 0x63, 0x5f, 0x61, 0x73, 0x73, 0x75, 0x6d, 0x65, 0x28, 0x2e, 0x2e, - 0x2e, 0x29, 0x20, 0x5f, 0x5f, 0x62, 0x75, 0x69, 0x6c, 0x74, 0x69, 0x6e, 0x5f, 0x61, 0x73, 0x73, - 0x75, 0x6d, 0x65, 0x28, 0x5f, 0x5f, 0x56, 0x41, 0x5f, 0x41, 0x52, 0x47, 0x53, 0x5f, 0x5f, 0x29, - 0x0a, 0x23, 0x65, 0x6e, 0x64, 0x69, 0x66, 0x0a, 0x0a, 0x5b, 0x5b, 0x6e, 0x6f, 0x72, 0x65, 0x74, - 0x75, 0x72, 0x6e, 0x5d, 0x5d, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x76, 0x6f, 0x69, - 0x64, 0x20, 0x6c, 0x63, 0x5f, 0x74, 0x72, 0x61, 0x70, 0x28, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, - 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x74, 0x72, 0x61, 0x70, - 0x3b, 0x22, 0x29, 0x3b, 0x20, 0x7d, 0x0a, 0x0a, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, - 0x3c, 0x74, 0x79, 0x70, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x54, 0x20, 0x3d, 0x20, 0x76, 0x6f, - 0x69, 0x64, 0x3e, 0x0a, 0x5b, 0x5b, 0x6e, 0x6f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5d, 0x5d, - 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, - 0x5f, 0x5f, 0x20, 0x54, 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x6e, 0x72, 0x65, 0x61, 0x63, 0x68, 0x61, - 0x62, 0x6c, 0x65, 0x28, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x63, - 0x68, 0x61, 0x72, 0x20, 0x2a, 0x66, 0x69, 0x6c, 0x65, 0x2c, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x6c, - 0x69, 0x6e, 0x65, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x0a, - 0x23, 0x69, 0x66, 0x20, 0x4c, 0x43, 0x5f, 0x4e, 0x56, 0x52, 0x54, 0x43, 0x5f, 0x56, 0x45, 0x52, - 0x53, 0x49, 0x4f, 0x4e, 0x20, 0x3c, 0x20, 0x31, 0x31, 0x30, 0x33, 0x30, 0x30, 0x20, 0x7c, 0x7c, - 0x20, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x28, 0x4c, 0x55, 0x49, 0x53, 0x41, 0x5f, 0x44, - 0x45, 0x42, 0x55, 0x47, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x66, - 0x28, 0x22, 0x55, 0x6e, 0x72, 0x65, 0x61, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x20, 0x63, 0x6f, - 0x64, 0x65, 0x20, 0x72, 0x65, 0x61, 0x63, 0x68, 0x65, 0x64, 0x20, 0x5b, 0x25, 0x73, 0x3a, 0x25, - 0x64, 0x5d, 0x5c, 0x6e, 0x22, 0x2c, 0x20, 0x66, 0x69, 0x6c, 0x65, 0x2c, 0x20, 0x6c, 0x69, 0x6e, - 0x65, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x74, 0x72, 0x61, 0x70, 0x28, - 0x29, 0x3b, 0x0a, 0x23, 0x65, 0x6c, 0x73, 0x65, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x62, - 0x75, 0x69, 0x6c, 0x74, 0x69, 0x6e, 0x5f, 0x75, 0x6e, 0x72, 0x65, 0x61, 0x63, 0x68, 0x61, 0x62, - 0x6c, 0x65, 0x28, 0x29, 0x3b, 0x0a, 0x23, 0x65, 0x6e, 0x64, 0x69, 0x66, 0x0a, 0x7d, 0x0a, 0x0a, - 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x3c, 0x74, 0x79, 0x70, 0x65, 0x6e, 0x61, 0x6d, - 0x65, 0x20, 0x54, 0x20, 0x3d, 0x20, 0x76, 0x6f, 0x69, 0x64, 0x3e, 0x0a, 0x5b, 0x5b, 0x6e, 0x6f, - 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5d, 0x5d, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, - 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x54, 0x20, 0x6c, 0x63, 0x5f, - 0x75, 0x6e, 0x72, 0x65, 0x61, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x77, 0x69, 0x74, 0x68, - 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x28, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, - 0x6e, 0x73, 0x74, 0x20, 0x63, 0x68, 0x61, 0x72, 0x20, 0x2a, 0x66, 0x69, 0x6c, 0x65, 0x2c, 0x20, - 0x69, 0x6e, 0x74, 0x20, 0x6c, 0x69, 0x6e, 0x65, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, - 0x63, 0x68, 0x61, 0x72, 0x20, 0x2a, 0x6d, 0x73, 0x67, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, - 0x65, 0x70, 0x74, 0x20, 0x7b, 0x0a, 0x23, 0x69, 0x66, 0x20, 0x4c, 0x43, 0x5f, 0x4e, 0x56, 0x52, - 0x54, 0x43, 0x5f, 0x56, 0x45, 0x52, 0x53, 0x49, 0x4f, 0x4e, 0x20, 0x3c, 0x20, 0x31, 0x31, 0x30, - 0x33, 0x30, 0x30, 0x20, 0x7c, 0x7c, 0x20, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x28, 0x4c, - 0x55, 0x49, 0x53, 0x41, 0x5f, 0x44, 0x45, 0x42, 0x55, 0x47, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x70, 0x72, 0x69, 0x6e, 0x74, 0x66, 0x28, 0x22, 0x55, 0x6e, 0x72, 0x65, 0x61, 0x63, 0x68, 0x61, - 0x62, 0x6c, 0x65, 0x20, 0x63, 0x6f, 0x64, 0x65, 0x20, 0x72, 0x65, 0x61, 0x63, 0x68, 0x65, 0x64, - 0x20, 0x5b, 0x25, 0x73, 0x3a, 0x25, 0x64, 0x5d, 0x5c, 0x6e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x3a, 0x20, 0x25, 0x73, 0x5c, 0x6e, 0x22, 0x2c, 0x20, 0x66, 0x69, 0x6c, 0x65, 0x2c, 0x20, - 0x6c, 0x69, 0x6e, 0x65, 0x2c, 0x20, 0x6d, 0x73, 0x67, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x6c, 0x63, 0x5f, 0x74, 0x72, 0x61, 0x70, 0x28, 0x29, 0x3b, 0x0a, 0x23, 0x65, 0x6c, 0x73, 0x65, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x62, 0x75, 0x69, 0x6c, 0x74, 0x69, 0x6e, 0x5f, 0x75, - 0x6e, 0x72, 0x65, 0x61, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x28, 0x29, 0x3b, 0x0a, 0x23, 0x65, - 0x6e, 0x64, 0x69, 0x66, 0x0a, 0x7d, 0x0a, 0x0a, 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, - 0x53, 0x54, 0x52, 0x49, 0x4e, 0x47, 0x49, 0x46, 0x59, 0x32, 0x28, 0x78, 0x29, 0x20, 0x23, 0x78, - 0x0a, 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, 0x53, 0x54, 0x52, 0x49, 0x4e, 0x47, 0x49, - 0x46, 0x59, 0x28, 0x78, 0x29, 0x20, 0x53, 0x54, 0x52, 0x49, 0x4e, 0x47, 0x49, 0x46, 0x59, 0x32, - 0x28, 0x78, 0x29, 0x0a, 0x0a, 0x23, 0x69, 0x66, 0x64, 0x65, 0x66, 0x20, 0x4c, 0x55, 0x49, 0x53, - 0x41, 0x5f, 0x44, 0x45, 0x42, 0x55, 0x47, 0x0a, 0x0a, 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, - 0x20, 0x6c, 0x63, 0x5f, 0x61, 0x73, 0x73, 0x65, 0x72, 0x74, 0x28, 0x78, 0x29, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x5c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x64, 0x6f, 0x20, 0x7b, 0x20, 0x20, 0x20, 0x20, + 0x30, 0x30, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x76, 0x6f, + 0x69, 0x64, 0x20, 0x6c, 0x63, 0x5f, 0x61, 0x73, 0x73, 0x75, 0x6d, 0x65, 0x28, 0x62, 0x6f, 0x6f, + 0x6c, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x7d, 0x0a, 0x23, + 0x65, 0x6c, 0x73, 0x65, 0x0a, 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, 0x6c, 0x63, 0x5f, + 0x61, 0x73, 0x73, 0x75, 0x6d, 0x65, 0x28, 0x2e, 0x2e, 0x2e, 0x29, 0x20, 0x5f, 0x5f, 0x62, 0x75, + 0x69, 0x6c, 0x74, 0x69, 0x6e, 0x5f, 0x61, 0x73, 0x73, 0x75, 0x6d, 0x65, 0x28, 0x5f, 0x5f, 0x56, + 0x41, 0x5f, 0x41, 0x52, 0x47, 0x53, 0x5f, 0x5f, 0x29, 0x0a, 0x23, 0x65, 0x6e, 0x64, 0x69, 0x66, + 0x0a, 0x0a, 0x5b, 0x5b, 0x6e, 0x6f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5d, 0x5d, 0x20, 0x76, + 0x6f, 0x69, 0x64, 0x20, 0x6c, 0x63, 0x5f, 0x74, 0x72, 0x61, 0x70, 0x28, 0x29, 0x20, 0x6e, 0x6f, + 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x74, 0x72, + 0x61, 0x70, 0x3b, 0x22, 0x29, 0x3b, 0x20, 0x7d, 0x0a, 0x0a, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, + 0x74, 0x65, 0x3c, 0x74, 0x79, 0x70, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x54, 0x20, 0x3d, 0x20, + 0x76, 0x6f, 0x69, 0x64, 0x3e, 0x0a, 0x5b, 0x5b, 0x6e, 0x6f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, + 0x5d, 0x5d, 0x20, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x54, 0x20, + 0x6c, 0x63, 0x5f, 0x75, 0x6e, 0x72, 0x65, 0x61, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x28, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x63, 0x68, 0x61, 0x72, 0x20, 0x2a, + 0x66, 0x69, 0x6c, 0x65, 0x2c, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x6c, 0x69, 0x6e, 0x65, 0x29, 0x20, + 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x0a, 0x23, 0x69, 0x66, 0x20, 0x4c, + 0x43, 0x5f, 0x4e, 0x56, 0x52, 0x54, 0x43, 0x5f, 0x56, 0x45, 0x52, 0x53, 0x49, 0x4f, 0x4e, 0x20, + 0x3c, 0x20, 0x31, 0x31, 0x30, 0x33, 0x30, 0x30, 0x20, 0x7c, 0x7c, 0x20, 0x64, 0x65, 0x66, 0x69, + 0x6e, 0x65, 0x64, 0x28, 0x4c, 0x55, 0x49, 0x53, 0x41, 0x5f, 0x44, 0x45, 0x42, 0x55, 0x47, 0x29, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x66, 0x28, 0x22, 0x55, 0x6e, 0x72, + 0x65, 0x61, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x20, 0x63, 0x6f, 0x64, 0x65, 0x20, 0x72, 0x65, + 0x61, 0x63, 0x68, 0x65, 0x64, 0x20, 0x5b, 0x25, 0x73, 0x3a, 0x25, 0x64, 0x5d, 0x5c, 0x6e, 0x22, + 0x2c, 0x20, 0x66, 0x69, 0x6c, 0x65, 0x2c, 0x20, 0x6c, 0x69, 0x6e, 0x65, 0x29, 0x3b, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x74, 0x72, 0x61, 0x70, 0x28, 0x29, 0x3b, 0x0a, 0x23, 0x65, + 0x6c, 0x73, 0x65, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x62, 0x75, 0x69, 0x6c, 0x74, 0x69, + 0x6e, 0x5f, 0x75, 0x6e, 0x72, 0x65, 0x61, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x28, 0x29, 0x3b, + 0x0a, 0x23, 0x65, 0x6e, 0x64, 0x69, 0x66, 0x0a, 0x7d, 0x0a, 0x0a, 0x74, 0x65, 0x6d, 0x70, 0x6c, + 0x61, 0x74, 0x65, 0x3c, 0x74, 0x79, 0x70, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x54, 0x20, 0x3d, + 0x20, 0x76, 0x6f, 0x69, 0x64, 0x3e, 0x0a, 0x5b, 0x5b, 0x6e, 0x6f, 0x72, 0x65, 0x74, 0x75, 0x72, + 0x6e, 0x5d, 0x5d, 0x20, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x54, + 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x6e, 0x72, 0x65, 0x61, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x5f, + 0x77, 0x69, 0x74, 0x68, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x28, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x63, 0x68, 0x61, 0x72, 0x20, 0x2a, 0x66, 0x69, + 0x6c, 0x65, 0x2c, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x6c, 0x69, 0x6e, 0x65, 0x2c, 0x20, 0x63, 0x6f, + 0x6e, 0x73, 0x74, 0x20, 0x63, 0x68, 0x61, 0x72, 0x20, 0x2a, 0x6d, 0x73, 0x67, 0x29, 0x20, 0x6e, + 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x0a, 0x23, 0x69, 0x66, 0x20, 0x4c, 0x43, + 0x5f, 0x4e, 0x56, 0x52, 0x54, 0x43, 0x5f, 0x56, 0x45, 0x52, 0x53, 0x49, 0x4f, 0x4e, 0x20, 0x3c, + 0x20, 0x31, 0x31, 0x30, 0x33, 0x30, 0x30, 0x20, 0x7c, 0x7c, 0x20, 0x64, 0x65, 0x66, 0x69, 0x6e, + 0x65, 0x64, 0x28, 0x4c, 0x55, 0x49, 0x53, 0x41, 0x5f, 0x44, 0x45, 0x42, 0x55, 0x47, 0x29, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x66, 0x28, 0x22, 0x55, 0x6e, 0x72, 0x65, + 0x61, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x20, 0x63, 0x6f, 0x64, 0x65, 0x20, 0x72, 0x65, 0x61, + 0x63, 0x68, 0x65, 0x64, 0x20, 0x5b, 0x25, 0x73, 0x3a, 0x25, 0x64, 0x5d, 0x5c, 0x6e, 0x4d, 0x65, + 0x73, 0x73, 0x61, 0x67, 0x65, 0x3a, 0x20, 0x25, 0x73, 0x5c, 0x6e, 0x22, 0x2c, 0x20, 0x66, 0x69, + 0x6c, 0x65, 0x2c, 0x20, 0x6c, 0x69, 0x6e, 0x65, 0x2c, 0x20, 0x6d, 0x73, 0x67, 0x29, 0x3b, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x74, 0x72, 0x61, 0x70, 0x28, 0x29, 0x3b, 0x0a, 0x23, + 0x65, 0x6c, 0x73, 0x65, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x62, 0x75, 0x69, 0x6c, 0x74, + 0x69, 0x6e, 0x5f, 0x75, 0x6e, 0x72, 0x65, 0x61, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x28, 0x29, + 0x3b, 0x0a, 0x23, 0x65, 0x6e, 0x64, 0x69, 0x66, 0x0a, 0x7d, 0x0a, 0x0a, 0x23, 0x64, 0x65, 0x66, + 0x69, 0x6e, 0x65, 0x20, 0x53, 0x54, 0x52, 0x49, 0x4e, 0x47, 0x49, 0x46, 0x59, 0x32, 0x28, 0x78, + 0x29, 0x20, 0x23, 0x78, 0x0a, 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, 0x53, 0x54, 0x52, + 0x49, 0x4e, 0x47, 0x49, 0x46, 0x59, 0x28, 0x78, 0x29, 0x20, 0x53, 0x54, 0x52, 0x49, 0x4e, 0x47, + 0x49, 0x46, 0x59, 0x32, 0x28, 0x78, 0x29, 0x0a, 0x0a, 0x23, 0x69, 0x66, 0x64, 0x65, 0x66, 0x20, + 0x4c, 0x55, 0x49, 0x53, 0x41, 0x5f, 0x44, 0x45, 0x42, 0x55, 0x47, 0x0a, 0x0a, 0x23, 0x64, 0x65, + 0x66, 0x69, 0x6e, 0x65, 0x20, 0x6c, 0x63, 0x5f, 0x61, 0x73, 0x73, 0x65, 0x72, 0x74, 0x28, 0x78, + 0x29, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x64, 0x6f, 0x20, 0x7b, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x28, 0x21, 0x28, 0x78, 0x29, 0x29, - 0x20, 0x7b, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x66, 0x28, 0x22, 0x41, 0x73, - 0x73, 0x65, 0x72, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x3a, 0x20, - 0x22, 0x20, 0x23, 0x78, 0x20, 0x22, 0x20, 0x5b, 0x22, 0x20, 0x5f, 0x5f, 0x46, 0x49, 0x4c, 0x45, - 0x5f, 0x5f, 0x20, 0x22, 0x3a, 0x22, 0x20, 0x53, 0x54, 0x52, 0x49, 0x4e, 0x47, 0x49, 0x46, 0x59, - 0x28, 0x5f, 0x5f, 0x4c, 0x49, 0x4e, 0x45, 0x5f, 0x5f, 0x29, 0x20, 0x22, 0x5d, 0x5c, 0x6e, 0x22, - 0x29, 0x3b, 0x20, 0x5c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x6c, 0x63, 0x5f, 0x74, 0x72, 0x61, 0x70, 0x28, 0x29, 0x3b, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x5c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x28, 0x21, + 0x28, 0x78, 0x29, 0x29, 0x20, 0x7b, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x66, + 0x28, 0x22, 0x41, 0x73, 0x73, 0x65, 0x72, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x66, 0x61, 0x69, 0x6c, + 0x65, 0x64, 0x3a, 0x20, 0x22, 0x20, 0x23, 0x78, 0x20, 0x22, 0x20, 0x5b, 0x22, 0x20, 0x5f, 0x5f, + 0x46, 0x49, 0x4c, 0x45, 0x5f, 0x5f, 0x20, 0x22, 0x3a, 0x22, 0x20, 0x53, 0x54, 0x52, 0x49, 0x4e, + 0x47, 0x49, 0x46, 0x59, 0x28, 0x5f, 0x5f, 0x4c, 0x49, 0x4e, 0x45, 0x5f, 0x5f, 0x29, 0x20, 0x22, + 0x5d, 0x5c, 0x6e, 0x22, 0x29, 0x3b, 0x20, 0x5c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x74, 0x72, 0x61, 0x70, 0x28, 0x29, 0x3b, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, - 0x20, 0x77, 0x68, 0x69, 0x6c, 0x65, 0x20, 0x28, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x29, 0x0a, 0x0a, - 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, 0x6c, 0x63, 0x5f, 0x61, 0x73, 0x73, 0x65, 0x72, - 0x74, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x28, 0x78, - 0x2c, 0x20, 0x6d, 0x73, 0x67, 0x29, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x5c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x64, 0x6f, 0x20, 0x7b, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x7d, 0x20, 0x77, 0x68, 0x69, 0x6c, 0x65, 0x20, 0x28, 0x66, 0x61, 0x6c, 0x73, + 0x65, 0x29, 0x0a, 0x0a, 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, 0x6c, 0x63, 0x5f, 0x61, + 0x73, 0x73, 0x65, 0x72, 0x74, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, + 0x67, 0x65, 0x28, 0x78, 0x2c, 0x20, 0x6d, 0x73, 0x67, 0x29, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x69, 0x66, 0x20, 0x28, 0x21, 0x28, 0x78, 0x29, 0x29, 0x20, 0x7b, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x64, 0x6f, 0x20, 0x7b, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x66, 0x28, 0x22, 0x41, 0x73, 0x73, 0x65, 0x72, - 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x3a, 0x20, 0x22, 0x20, 0x23, - 0x78, 0x20, 0x22, 0x20, 0x5b, 0x22, 0x20, 0x5f, 0x5f, 0x46, 0x49, 0x4c, 0x45, 0x5f, 0x5f, 0x20, - 0x22, 0x3a, 0x22, 0x20, 0x53, 0x54, 0x52, 0x49, 0x4e, 0x47, 0x49, 0x46, 0x59, 0x28, 0x5f, 0x5f, - 0x4c, 0x49, 0x4e, 0x45, 0x5f, 0x5f, 0x29, 0x20, 0x22, 0x5d, 0x5c, 0x6e, 0x4d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x3a, 0x20, 0x25, 0x73, 0x5c, 0x6e, 0x22, 0x2c, 0x20, 0x6d, 0x73, 0x67, 0x29, - 0x3b, 0x20, 0x5c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x6c, 0x63, 0x5f, 0x74, 0x72, 0x61, 0x70, 0x28, 0x29, 0x3b, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x28, 0x21, 0x28, 0x78, 0x29, 0x29, 0x20, + 0x7b, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x66, 0x28, 0x22, 0x41, + 0x73, 0x73, 0x65, 0x72, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x3a, + 0x20, 0x22, 0x20, 0x23, 0x78, 0x20, 0x22, 0x20, 0x5b, 0x22, 0x20, 0x5f, 0x5f, 0x46, 0x49, 0x4c, + 0x45, 0x5f, 0x5f, 0x20, 0x22, 0x3a, 0x22, 0x20, 0x53, 0x54, 0x52, 0x49, 0x4e, 0x47, 0x49, 0x46, + 0x59, 0x28, 0x5f, 0x5f, 0x4c, 0x49, 0x4e, 0x45, 0x5f, 0x5f, 0x29, 0x20, 0x22, 0x5d, 0x5c, 0x6e, + 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x3a, 0x20, 0x25, 0x73, 0x5c, 0x6e, 0x22, 0x2c, 0x20, + 0x6d, 0x73, 0x67, 0x29, 0x3b, 0x20, 0x5c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x74, 0x72, 0x61, 0x70, 0x28, 0x29, 0x3b, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x7d, 0x20, 0x77, 0x68, 0x69, 0x6c, 0x65, 0x20, 0x28, 0x66, 0x61, 0x6c, 0x73, 0x65, - 0x29, 0x0a, 0x0a, 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, 0x6c, 0x63, 0x5f, 0x63, 0x68, - 0x65, 0x63, 0x6b, 0x5f, 0x69, 0x6e, 0x5f, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x73, 0x28, 0x73, 0x69, - 0x7a, 0x65, 0x2c, 0x20, 0x6d, 0x61, 0x78, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x29, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x5c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x64, 0x6f, 0x20, 0x7b, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x69, 0x66, 0x20, 0x28, 0x21, 0x28, 0x28, 0x73, 0x69, 0x7a, 0x65, 0x29, 0x20, 0x3c, 0x20, - 0x28, 0x6d, 0x61, 0x78, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x29, 0x29, 0x29, 0x20, 0x7b, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x5c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x70, 0x72, 0x69, 0x6e, 0x74, 0x66, 0x28, 0x22, 0x4f, 0x75, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x62, - 0x6f, 0x75, 0x6e, 0x64, 0x73, 0x3a, 0x20, 0x21, 0x28, 0x25, 0x73, 0x3a, 0x20, 0x25, 0x6c, 0x6c, - 0x75, 0x20, 0x3c, 0x20, 0x25, 0x73, 0x3a, 0x20, 0x25, 0x6c, 0x6c, 0x75, 0x29, 0x20, 0x5b, 0x25, - 0x73, 0x3a, 0x25, 0x64, 0x3a, 0x25, 0x73, 0x5d, 0x5c, 0x6e, 0x22, 0x2c, 0x20, 0x5c, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x23, 0x73, 0x69, 0x7a, 0x65, 0x2c, 0x20, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x5f, - 0x63, 0x61, 0x73, 0x74, 0x3c, 0x73, 0x69, 0x7a, 0x65, 0x5f, 0x74, 0x3e, 0x28, 0x73, 0x69, 0x7a, - 0x65, 0x29, 0x2c, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x23, 0x6d, 0x61, - 0x78, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x2c, 0x20, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x5f, 0x63, - 0x61, 0x73, 0x74, 0x3c, 0x73, 0x69, 0x7a, 0x65, 0x5f, 0x74, 0x3e, 0x28, 0x6d, 0x61, 0x78, 0x5f, - 0x73, 0x69, 0x7a, 0x65, 0x29, 0x2c, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x5c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x46, 0x49, 0x4c, 0x45, 0x5f, 0x5f, - 0x2c, 0x20, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x69, 0x6e, - 0x74, 0x3e, 0x28, 0x5f, 0x5f, 0x4c, 0x49, 0x4e, 0x45, 0x5f, 0x5f, 0x29, 0x2c, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x0a, + 0x5c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x20, 0x77, 0x68, 0x69, 0x6c, 0x65, 0x20, 0x28, 0x66, + 0x61, 0x6c, 0x73, 0x65, 0x29, 0x0a, 0x0a, 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, 0x6c, + 0x63, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x5f, 0x69, 0x6e, 0x5f, 0x62, 0x6f, 0x75, 0x6e, 0x64, + 0x73, 0x28, 0x73, 0x69, 0x7a, 0x65, 0x2c, 0x20, 0x6d, 0x61, 0x78, 0x5f, 0x73, 0x69, 0x7a, 0x65, + 0x29, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x46, 0x55, 0x4e, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x5f, 0x29, - 0x3b, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x5c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x64, 0x6f, 0x20, 0x7b, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x74, 0x72, 0x61, 0x70, 0x28, 0x29, - 0x3b, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x5c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x28, 0x21, 0x28, 0x28, 0x73, 0x69, 0x7a, 0x65, + 0x29, 0x20, 0x3c, 0x20, 0x28, 0x6d, 0x61, 0x78, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x29, 0x29, 0x29, + 0x20, 0x7b, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x66, 0x28, 0x22, 0x4f, 0x75, 0x74, 0x20, + 0x6f, 0x66, 0x20, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x73, 0x3a, 0x20, 0x21, 0x28, 0x25, 0x73, 0x3a, + 0x20, 0x25, 0x6c, 0x6c, 0x75, 0x20, 0x3c, 0x20, 0x25, 0x73, 0x3a, 0x20, 0x25, 0x6c, 0x6c, 0x75, + 0x29, 0x20, 0x5b, 0x25, 0x73, 0x3a, 0x25, 0x64, 0x3a, 0x25, 0x73, 0x5d, 0x5c, 0x6e, 0x22, 0x2c, + 0x20, 0x5c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x23, 0x73, 0x69, 0x7a, 0x65, 0x2c, 0x20, 0x73, 0x74, 0x61, + 0x74, 0x69, 0x63, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x73, 0x69, 0x7a, 0x65, 0x5f, 0x74, 0x3e, + 0x28, 0x73, 0x69, 0x7a, 0x65, 0x29, 0x2c, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x23, 0x6d, 0x61, 0x78, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x2c, 0x20, 0x73, 0x74, 0x61, 0x74, + 0x69, 0x63, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x73, 0x69, 0x7a, 0x65, 0x5f, 0x74, 0x3e, 0x28, + 0x6d, 0x61, 0x78, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x29, 0x2c, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x46, 0x49, + 0x4c, 0x45, 0x5f, 0x5f, 0x2c, 0x20, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x5f, 0x63, 0x61, 0x73, + 0x74, 0x3c, 0x69, 0x6e, 0x74, 0x3e, 0x28, 0x5f, 0x5f, 0x4c, 0x49, 0x4e, 0x45, 0x5f, 0x5f, 0x29, + 0x2c, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x5c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x46, 0x55, 0x4e, 0x43, 0x54, 0x49, 0x4f, + 0x4e, 0x5f, 0x5f, 0x29, 0x3b, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x74, 0x72, + 0x61, 0x70, 0x28, 0x29, 0x3b, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x20, 0x77, 0x68, 0x69, 0x6c, 0x65, 0x20, 0x28, 0x66, 0x61, - 0x6c, 0x73, 0x65, 0x29, 0x0a, 0x0a, 0x23, 0x65, 0x6c, 0x73, 0x65, 0x0a, 0x69, 0x6e, 0x6c, 0x69, - 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x76, 0x6f, - 0x69, 0x64, 0x20, 0x6c, 0x63, 0x5f, 0x61, 0x73, 0x73, 0x65, 0x72, 0x74, 0x28, 0x62, 0x6f, 0x6f, - 0x6c, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x7d, 0x0a, 0x69, - 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, - 0x20, 0x76, 0x6f, 0x69, 0x64, 0x20, 0x6c, 0x63, 0x5f, 0x61, 0x73, 0x73, 0x65, 0x72, 0x74, 0x5f, - 0x77, 0x69, 0x74, 0x68, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x28, 0x62, 0x6f, 0x6f, - 0x6c, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x63, 0x68, 0x61, 0x72, 0x20, 0x2a, 0x29, - 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x7d, 0x0a, 0x23, 0x65, 0x6e, - 0x64, 0x69, 0x66, 0x0a, 0x0a, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x3c, 0x74, 0x79, - 0x70, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x54, 0x3e, 0x0a, 0x5b, 0x5b, 0x6e, 0x6f, 0x64, 0x69, - 0x73, 0x63, 0x61, 0x72, 0x64, 0x5d, 0x5d, 0x20, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, - 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x6c, - 0x63, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x5f, 0x6f, 0x66, 0x28, 0x54, 0x20, 0x26, - 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, - 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x72, 0x65, - 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x6c, - 0x63, 0x5f, 0x75, 0x6c, 0x6f, 0x6e, 0x67, 0x3e, 0x28, 0x26, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, - 0x29, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x5b, 0x5b, 0x6e, 0x6f, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, - 0x64, 0x5d, 0x5d, 0x20, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, - 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x6c, 0x63, 0x5f, 0x62, 0x69, - 0x74, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x28, 0x6c, 0x63, 0x5f, 0x75, 0x73, - 0x68, 0x6f, 0x72, 0x74, 0x20, 0x62, 0x69, 0x74, 0x73, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, - 0x65, 0x70, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, - 0x20, 0x2a, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, - 0x73, 0x74, 0x3c, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x6c, 0x63, 0x5f, 0x68, 0x61, 0x6c, 0x66, - 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x62, 0x69, 0x74, 0x73, 0x29, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x5b, - 0x5b, 0x6e, 0x6f, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x5d, 0x5d, 0x20, 0x5f, 0x5f, 0x64, - 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x61, - 0x75, 0x74, 0x6f, 0x20, 0x6c, 0x63, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x5f, 0x74, 0x6f, 0x5f, 0x62, - 0x69, 0x74, 0x73, 0x28, 0x6c, 0x63, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x68, 0x29, 0x20, 0x6e, - 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, - 0x74, 0x75, 0x72, 0x6e, 0x20, 0x2a, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, - 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x6c, 0x63, 0x5f, - 0x75, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x68, 0x29, 0x3b, 0x0a, 0x7d, - 0x0a, 0x0a, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x3c, 0x73, 0x69, 0x7a, 0x65, 0x5f, - 0x74, 0x20, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x2c, 0x20, 0x73, 0x69, 0x7a, - 0x65, 0x5f, 0x74, 0x20, 0x73, 0x69, 0x7a, 0x65, 0x3e, 0x0a, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, - 0x20, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x61, 0x73, 0x28, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x6d, 0x65, - 0x6e, 0x74, 0x29, 0x20, 0x6c, 0x63, 0x5f, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x5f, 0x73, - 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x75, 0x6e, 0x73, - 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x63, 0x68, 0x61, 0x72, 0x20, 0x64, 0x61, 0x74, 0x61, 0x5b, - 0x73, 0x69, 0x7a, 0x65, 0x5d, 0x3b, 0x0a, 0x7d, 0x3b, 0x0a, 0x0a, 0x73, 0x74, 0x72, 0x75, 0x63, - 0x74, 0x20, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x61, 0x73, 0x28, 0x31, 0x36, 0x29, 0x20, 0x4c, 0x43, - 0x49, 0x6e, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x20, 0x7b, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x20, 0x73, 0x69, 0x7a, - 0x65, 0x3b, 0x0a, 0x7d, 0x3b, 0x0a, 0x0a, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x20, 0x61, 0x6c, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x7d, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x5c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x20, 0x77, 0x68, 0x69, 0x6c, 0x65, + 0x20, 0x28, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x29, 0x0a, 0x0a, 0x23, 0x65, 0x6c, 0x73, 0x65, 0x0a, + 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x76, 0x6f, 0x69, 0x64, 0x20, + 0x6c, 0x63, 0x5f, 0x61, 0x73, 0x73, 0x65, 0x72, 0x74, 0x28, 0x62, 0x6f, 0x6f, 0x6c, 0x29, 0x20, + 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x7d, 0x0a, 0x5f, 0x5f, 0x64, 0x65, + 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x76, 0x6f, 0x69, 0x64, 0x20, 0x6c, 0x63, 0x5f, 0x61, + 0x73, 0x73, 0x65, 0x72, 0x74, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, + 0x67, 0x65, 0x28, 0x62, 0x6f, 0x6f, 0x6c, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x63, + 0x68, 0x61, 0x72, 0x20, 0x2a, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, + 0x7b, 0x7d, 0x0a, 0x23, 0x65, 0x6e, 0x64, 0x69, 0x66, 0x0a, 0x0a, 0x74, 0x65, 0x6d, 0x70, 0x6c, + 0x61, 0x74, 0x65, 0x3c, 0x74, 0x79, 0x70, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x54, 0x3e, 0x0a, + 0x5b, 0x5b, 0x6e, 0x6f, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x5d, 0x5d, 0x20, 0x5f, 0x5f, + 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x6c, 0x63, + 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x5f, 0x6f, 0x66, 0x28, 0x54, 0x20, 0x26, 0x6f, + 0x62, 0x6a, 0x65, 0x63, 0x74, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, + 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x72, 0x65, 0x69, + 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x6c, 0x63, + 0x5f, 0x75, 0x6c, 0x6f, 0x6e, 0x67, 0x3e, 0x28, 0x26, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x29, + 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x5b, 0x5b, 0x6e, 0x6f, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, + 0x5d, 0x5d, 0x20, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x61, 0x75, + 0x74, 0x6f, 0x20, 0x6c, 0x63, 0x5f, 0x62, 0x69, 0x74, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x68, 0x61, + 0x6c, 0x66, 0x28, 0x6c, 0x63, 0x5f, 0x75, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x62, 0x69, 0x74, + 0x73, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x2a, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, + 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x63, 0x6f, 0x6e, 0x73, 0x74, + 0x20, 0x6c, 0x63, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x62, 0x69, 0x74, + 0x73, 0x29, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x5b, 0x5b, 0x6e, 0x6f, 0x64, 0x69, 0x73, 0x63, 0x61, + 0x72, 0x64, 0x5d, 0x5d, 0x20, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, + 0x61, 0x75, 0x74, 0x6f, 0x20, 0x6c, 0x63, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x5f, 0x74, 0x6f, 0x5f, + 0x62, 0x69, 0x74, 0x73, 0x28, 0x6c, 0x63, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x68, 0x29, 0x20, + 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, + 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x2a, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, + 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x6c, 0x63, + 0x5f, 0x75, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x68, 0x29, 0x3b, 0x0a, + 0x7d, 0x0a, 0x0a, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x3c, 0x73, 0x69, 0x7a, 0x65, + 0x5f, 0x74, 0x20, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x2c, 0x20, 0x73, 0x69, + 0x7a, 0x65, 0x5f, 0x74, 0x20, 0x73, 0x69, 0x7a, 0x65, 0x3e, 0x0a, 0x73, 0x74, 0x72, 0x75, 0x63, + 0x74, 0x20, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x61, 0x73, 0x28, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x6d, + 0x65, 0x6e, 0x74, 0x29, 0x20, 0x6c, 0x63, 0x5f, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x5f, + 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x75, 0x6e, + 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x63, 0x68, 0x61, 0x72, 0x20, 0x64, 0x61, 0x74, 0x61, + 0x5b, 0x73, 0x69, 0x7a, 0x65, 0x5d, 0x3b, 0x0a, 0x7d, 0x3b, 0x0a, 0x0a, 0x73, 0x74, 0x72, 0x75, + 0x63, 0x74, 0x20, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x61, 0x73, 0x28, 0x31, 0x36, 0x29, 0x20, 0x4c, + 0x43, 0x49, 0x6e, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x20, + 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x20, 0x73, 0x69, + 0x7a, 0x65, 0x3b, 0x0a, 0x7d, 0x3b, 0x0a, 0x0a, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x20, 0x61, + 0x6c, 0x69, 0x67, 0x6e, 0x61, 0x73, 0x28, 0x31, 0x36, 0x29, 0x20, 0x4c, 0x43, 0x49, 0x6e, 0x64, + 0x69, 0x72, 0x65, 0x63, 0x74, 0x44, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x20, 0x7b, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x20, 0x62, 0x6c, 0x6f, + 0x63, 0x6b, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, + 0x75, 0x69, 0x6e, 0x74, 0x34, 0x20, 0x64, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x73, + 0x69, 0x7a, 0x65, 0x5f, 0x61, 0x6e, 0x64, 0x5f, 0x6b, 0x65, 0x72, 0x6e, 0x65, 0x6c, 0x5f, 0x69, + 0x64, 0x3b, 0x0a, 0x7d, 0x3b, 0x0a, 0x0a, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x20, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x61, 0x73, 0x28, 0x31, 0x36, 0x29, 0x20, 0x4c, 0x43, 0x49, 0x6e, 0x64, 0x69, - 0x72, 0x65, 0x63, 0x74, 0x44, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x20, 0x7b, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x20, 0x62, 0x6c, 0x6f, 0x63, - 0x6b, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x75, - 0x69, 0x6e, 0x74, 0x34, 0x20, 0x64, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x73, 0x69, - 0x7a, 0x65, 0x5f, 0x61, 0x6e, 0x64, 0x5f, 0x6b, 0x65, 0x72, 0x6e, 0x65, 0x6c, 0x5f, 0x69, 0x64, - 0x3b, 0x0a, 0x7d, 0x3b, 0x0a, 0x0a, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x20, 0x61, 0x6c, 0x69, - 0x67, 0x6e, 0x61, 0x73, 0x28, 0x31, 0x36, 0x29, 0x20, 0x4c, 0x43, 0x49, 0x6e, 0x64, 0x69, 0x72, - 0x65, 0x63, 0x74, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x76, 0x6f, 0x69, 0x64, 0x20, 0x2a, 0x5f, 0x5f, 0x72, 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, - 0x5f, 0x5f, 0x20, 0x64, 0x61, 0x74, 0x61, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, - 0x75, 0x69, 0x6e, 0x74, 0x20, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x3b, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x20, 0x63, 0x61, 0x70, 0x61, 0x63, 0x69, 0x74, - 0x79, 0x3b, 0x0a, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5b, 0x5b, 0x6e, 0x6f, 0x64, 0x69, 0x73, 0x63, - 0x61, 0x72, 0x64, 0x5d, 0x5d, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x68, 0x65, 0x61, 0x64, 0x65, - 0x72, 0x28, 0x29, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, - 0x70, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, - 0x75, 0x72, 0x6e, 0x20, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, - 0x63, 0x61, 0x73, 0x74, 0x3c, 0x4c, 0x43, 0x49, 0x6e, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x48, - 0x65, 0x61, 0x64, 0x65, 0x72, 0x20, 0x2a, 0x3e, 0x28, 0x64, 0x61, 0x74, 0x61, 0x29, 0x3b, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5b, 0x5b, 0x6e, 0x6f, 0x64, - 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x5d, 0x5d, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x64, 0x69, - 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x28, 0x29, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, - 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x72, 0x65, 0x69, 0x6e, 0x74, - 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x4c, 0x43, 0x49, 0x6e, - 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x44, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x20, 0x2a, - 0x3e, 0x28, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, - 0x73, 0x74, 0x3c, 0x6c, 0x63, 0x5f, 0x75, 0x6c, 0x6f, 0x6e, 0x67, 0x3e, 0x28, 0x64, 0x61, 0x74, - 0x61, 0x29, 0x20, 0x2b, 0x20, 0x73, 0x69, 0x7a, 0x65, 0x6f, 0x66, 0x28, 0x4c, 0x43, 0x49, 0x6e, - 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x29, 0x29, 0x3b, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x7d, 0x3b, 0x0a, 0x0a, 0x76, 0x6f, 0x69, 0x64, 0x20, 0x6c, - 0x63, 0x5f, 0x69, 0x6e, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x64, - 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x28, 0x63, 0x6f, - 0x6e, 0x73, 0x74, 0x20, 0x4c, 0x43, 0x49, 0x6e, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x42, 0x75, - 0x66, 0x66, 0x65, 0x72, 0x20, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x2c, 0x20, 0x6c, 0x63, 0x5f, - 0x75, 0x69, 0x6e, 0x74, 0x20, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, - 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x0a, 0x23, 0x69, 0x66, 0x64, 0x65, 0x66, 0x20, 0x4c, 0x55, - 0x49, 0x53, 0x41, 0x5f, 0x44, 0x45, 0x42, 0x55, 0x47, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, - 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x5f, 0x69, 0x6e, 0x5f, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x73, - 0x28, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x2e, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x20, 0x2b, - 0x20, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2c, 0x20, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x2e, 0x63, - 0x61, 0x70, 0x61, 0x63, 0x69, 0x74, 0x79, 0x20, 0x2b, 0x20, 0x31, 0x75, 0x29, 0x3b, 0x0a, 0x23, - 0x65, 0x6e, 0x64, 0x69, 0x66, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, - 0x2e, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x28, 0x29, 0x2d, 0x3e, 0x73, 0x69, 0x7a, 0x65, 0x20, - 0x3d, 0x20, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x76, 0x6f, 0x69, 0x64, - 0x20, 0x6c, 0x63, 0x5f, 0x69, 0x6e, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x5f, 0x73, 0x65, 0x74, - 0x5f, 0x64, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x6b, 0x65, 0x72, 0x6e, 0x65, 0x6c, - 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x4c, 0x43, 0x49, 0x6e, 0x64, 0x69, 0x72, 0x65, 0x63, - 0x74, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x20, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x2c, 0x20, - 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x20, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x2c, 0x20, 0x6c, - 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x20, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x73, 0x69, - 0x7a, 0x65, 0x2c, 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x20, 0x64, 0x69, 0x73, - 0x70, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x2c, 0x20, 0x6c, 0x63, 0x5f, 0x75, - 0x69, 0x6e, 0x74, 0x20, 0x6b, 0x65, 0x72, 0x6e, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x29, 0x20, 0x6e, - 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x0a, 0x23, 0x69, 0x66, 0x64, 0x65, 0x66, - 0x20, 0x4c, 0x55, 0x49, 0x53, 0x41, 0x5f, 0x44, 0x45, 0x42, 0x55, 0x47, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x6c, 0x63, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x5f, 0x69, 0x6e, 0x5f, 0x62, 0x6f, 0x75, - 0x6e, 0x64, 0x73, 0x28, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x2c, 0x20, 0x62, 0x75, 0x66, 0x66, 0x65, + 0x72, 0x65, 0x63, 0x74, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x76, 0x6f, 0x69, 0x64, 0x20, 0x2a, 0x5f, 0x5f, 0x72, 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, + 0x74, 0x5f, 0x5f, 0x20, 0x64, 0x61, 0x74, 0x61, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, + 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x20, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x3b, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x20, 0x63, 0x61, 0x70, 0x61, 0x63, 0x69, + 0x74, 0x79, 0x3b, 0x0a, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5b, 0x5b, 0x6e, 0x6f, 0x64, 0x69, 0x73, + 0x63, 0x61, 0x72, 0x64, 0x5d, 0x5d, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x68, 0x65, 0x61, 0x64, + 0x65, 0x72, 0x28, 0x29, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, + 0x65, 0x70, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, + 0x74, 0x75, 0x72, 0x6e, 0x20, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, + 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x4c, 0x43, 0x49, 0x6e, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, + 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x20, 0x2a, 0x3e, 0x28, 0x64, 0x61, 0x74, 0x61, 0x29, 0x3b, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5b, 0x5b, 0x6e, 0x6f, + 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x5d, 0x5d, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x64, + 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x28, 0x29, 0x20, 0x63, 0x6f, 0x6e, 0x73, + 0x74, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x72, 0x65, 0x69, 0x6e, + 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x4c, 0x43, 0x49, + 0x6e, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x44, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x20, + 0x2a, 0x3e, 0x28, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, + 0x61, 0x73, 0x74, 0x3c, 0x6c, 0x63, 0x5f, 0x75, 0x6c, 0x6f, 0x6e, 0x67, 0x3e, 0x28, 0x64, 0x61, + 0x74, 0x61, 0x29, 0x20, 0x2b, 0x20, 0x73, 0x69, 0x7a, 0x65, 0x6f, 0x66, 0x28, 0x4c, 0x43, 0x49, + 0x6e, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x29, 0x29, 0x3b, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x7d, 0x3b, 0x0a, 0x0a, 0x76, 0x6f, 0x69, 0x64, 0x20, + 0x6c, 0x63, 0x5f, 0x69, 0x6e, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x5f, 0x73, 0x65, 0x74, 0x5f, + 0x64, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x28, 0x63, + 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x4c, 0x43, 0x49, 0x6e, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x42, + 0x75, 0x66, 0x66, 0x65, 0x72, 0x20, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x2c, 0x20, 0x6c, 0x63, + 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x20, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x29, 0x20, 0x6e, 0x6f, 0x65, + 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x0a, 0x23, 0x69, 0x66, 0x64, 0x65, 0x66, 0x20, 0x4c, + 0x55, 0x49, 0x53, 0x41, 0x5f, 0x44, 0x45, 0x42, 0x55, 0x47, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, + 0x63, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x5f, 0x69, 0x6e, 0x5f, 0x62, 0x6f, 0x75, 0x6e, 0x64, + 0x73, 0x28, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x2e, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x20, + 0x2b, 0x20, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2c, 0x20, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x2e, + 0x63, 0x61, 0x70, 0x61, 0x63, 0x69, 0x74, 0x79, 0x20, 0x2b, 0x20, 0x31, 0x75, 0x29, 0x3b, 0x0a, + 0x23, 0x65, 0x6e, 0x64, 0x69, 0x66, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x2e, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x28, 0x29, 0x2d, 0x3e, 0x73, 0x69, 0x7a, 0x65, - 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x5f, - 0x69, 0x6e, 0x5f, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x73, 0x28, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x20, - 0x2b, 0x20, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x2e, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x2c, - 0x20, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x2e, 0x63, 0x61, 0x70, 0x61, 0x63, 0x69, 0x74, 0x79, + 0x20, 0x3d, 0x20, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x76, 0x6f, 0x69, + 0x64, 0x20, 0x6c, 0x63, 0x5f, 0x69, 0x6e, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x5f, 0x73, 0x65, + 0x74, 0x5f, 0x64, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x6b, 0x65, 0x72, 0x6e, 0x65, + 0x6c, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x4c, 0x43, 0x49, 0x6e, 0x64, 0x69, 0x72, 0x65, + 0x63, 0x74, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x20, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x2c, + 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x20, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x2c, 0x20, + 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x20, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x73, + 0x69, 0x7a, 0x65, 0x2c, 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x20, 0x64, 0x69, + 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x2c, 0x20, 0x6c, 0x63, 0x5f, + 0x75, 0x69, 0x6e, 0x74, 0x20, 0x6b, 0x65, 0x72, 0x6e, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x29, 0x20, + 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x0a, 0x23, 0x69, 0x66, 0x64, 0x65, + 0x66, 0x20, 0x4c, 0x55, 0x49, 0x53, 0x41, 0x5f, 0x44, 0x45, 0x42, 0x55, 0x47, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x5f, 0x69, 0x6e, 0x5f, 0x62, 0x6f, + 0x75, 0x6e, 0x64, 0x73, 0x28, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x2c, 0x20, 0x62, 0x75, 0x66, 0x66, + 0x65, 0x72, 0x2e, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x28, 0x29, 0x2d, 0x3e, 0x73, 0x69, 0x7a, + 0x65, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, + 0x5f, 0x69, 0x6e, 0x5f, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x73, 0x28, 0x69, 0x6e, 0x64, 0x65, 0x78, + 0x20, 0x2b, 0x20, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x2e, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, + 0x2c, 0x20, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x2e, 0x63, 0x61, 0x70, 0x61, 0x63, 0x69, 0x74, + 0x79, 0x29, 0x3b, 0x0a, 0x23, 0x65, 0x6e, 0x64, 0x69, 0x66, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x62, + 0x75, 0x66, 0x66, 0x65, 0x72, 0x2e, 0x64, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, + 0x28, 0x29, 0x5b, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x20, 0x2b, 0x20, 0x62, 0x75, 0x66, 0x66, 0x65, + 0x72, 0x2e, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x5d, 0x20, 0x3d, 0x20, 0x4c, 0x43, 0x49, 0x6e, + 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x44, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x7b, 0x62, + 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x2c, 0x20, 0x6c, 0x63, 0x5f, 0x6d, 0x61, + 0x6b, 0x65, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x34, 0x28, 0x64, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, + 0x68, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x2c, 0x20, 0x6b, 0x65, 0x72, 0x6e, 0x65, 0x6c, 0x5f, 0x69, + 0x64, 0x29, 0x7d, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, + 0x3c, 0x74, 0x79, 0x70, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x54, 0x3e, 0x0a, 0x73, 0x74, 0x72, + 0x75, 0x63, 0x74, 0x20, 0x4c, 0x43, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x20, 0x7b, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x54, 0x20, 0x2a, 0x5f, 0x5f, 0x72, 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, + 0x5f, 0x5f, 0x20, 0x70, 0x74, 0x72, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x73, 0x69, 0x7a, 0x65, + 0x5f, 0x74, 0x20, 0x73, 0x69, 0x7a, 0x65, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x3b, 0x0a, 0x7d, + 0x3b, 0x0a, 0x0a, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x3c, 0x74, 0x79, 0x70, 0x65, + 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x54, 0x3e, 0x0a, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x20, 0x4c, + 0x43, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x3c, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x54, 0x3e, + 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x54, 0x20, 0x2a, + 0x5f, 0x5f, 0x72, 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x5f, 0x5f, 0x20, 0x70, 0x74, 0x72, + 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x73, 0x69, 0x7a, 0x65, 0x5f, 0x74, 0x20, 0x73, 0x69, 0x7a, + 0x65, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x4c, 0x43, 0x42, + 0x75, 0x66, 0x66, 0x65, 0x72, 0x28, 0x4c, 0x43, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x3c, 0x54, + 0x3e, 0x20, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, + 0x70, 0x74, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x70, 0x74, 0x72, + 0x7b, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x2e, 0x70, 0x74, 0x72, 0x7d, 0x2c, 0x20, 0x73, 0x69, + 0x7a, 0x65, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x7b, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x2e, + 0x73, 0x69, 0x7a, 0x65, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x7d, 0x20, 0x7b, 0x7d, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x4c, 0x43, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x28, 0x29, 0x20, 0x6e, 0x6f, + 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x3d, 0x20, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, + 0x3b, 0x0a, 0x7d, 0x3b, 0x0a, 0x0a, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x3c, 0x74, + 0x79, 0x70, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x54, 0x3e, 0x0a, 0x5b, 0x5b, 0x6e, 0x6f, 0x64, + 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x5d, 0x5d, 0x20, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, + 0x65, 0x5f, 0x5f, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x6c, 0x63, 0x5f, 0x62, 0x75, 0x66, 0x66, + 0x65, 0x72, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x28, 0x4c, 0x43, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, + 0x3c, 0x54, 0x3e, 0x20, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, + 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, + 0x6e, 0x20, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x2e, 0x73, 0x69, 0x7a, 0x65, 0x5f, 0x62, 0x79, + 0x74, 0x65, 0x73, 0x20, 0x2f, 0x20, 0x73, 0x69, 0x7a, 0x65, 0x6f, 0x66, 0x28, 0x54, 0x29, 0x3b, + 0x0a, 0x7d, 0x0a, 0x0a, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x3c, 0x74, 0x79, 0x70, + 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x54, 0x2c, 0x20, 0x74, 0x79, 0x70, 0x65, 0x6e, 0x61, 0x6d, + 0x65, 0x20, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x3e, 0x0a, 0x5b, 0x5b, 0x6e, 0x6f, 0x64, 0x69, 0x73, + 0x63, 0x61, 0x72, 0x64, 0x5d, 0x5d, 0x20, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, + 0x5f, 0x20, 0x54, 0x20, 0x6c, 0x63, 0x5f, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x72, 0x65, + 0x61, 0x64, 0x28, 0x4c, 0x43, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x3c, 0x54, 0x3e, 0x20, 0x62, + 0x75, 0x66, 0x66, 0x65, 0x72, 0x2c, 0x20, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x20, 0x69, 0x6e, 0x64, + 0x65, 0x78, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x61, 0x73, 0x73, 0x75, 0x6d, 0x65, 0x28, 0x5f, 0x5f, 0x69, + 0x73, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x28, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x2e, 0x70, + 0x74, 0x72, 0x29, 0x29, 0x3b, 0x0a, 0x23, 0x69, 0x66, 0x64, 0x65, 0x66, 0x20, 0x4c, 0x55, 0x49, + 0x53, 0x41, 0x5f, 0x44, 0x45, 0x42, 0x55, 0x47, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, + 0x63, 0x68, 0x65, 0x63, 0x6b, 0x5f, 0x69, 0x6e, 0x5f, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x73, 0x28, + 0x69, 0x6e, 0x64, 0x65, 0x78, 0x2c, 0x20, 0x6c, 0x63, 0x5f, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, + 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x28, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x29, 0x29, 0x3b, 0x0a, + 0x23, 0x65, 0x6e, 0x64, 0x69, 0x66, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, + 0x6e, 0x20, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x2e, 0x70, 0x74, 0x72, 0x5b, 0x69, 0x6e, 0x64, + 0x65, 0x78, 0x5d, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, + 0x3c, 0x74, 0x79, 0x70, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x54, 0x2c, 0x20, 0x74, 0x79, 0x70, + 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x3e, 0x0a, 0x5f, 0x5f, 0x64, + 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x76, 0x6f, 0x69, 0x64, 0x20, 0x6c, 0x63, 0x5f, + 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x28, 0x4c, 0x43, 0x42, + 0x75, 0x66, 0x66, 0x65, 0x72, 0x3c, 0x54, 0x3e, 0x20, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x2c, + 0x20, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x20, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x2c, 0x20, 0x54, 0x20, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, + 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x61, 0x73, 0x73, 0x75, 0x6d, 0x65, 0x28, + 0x5f, 0x5f, 0x69, 0x73, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x28, 0x62, 0x75, 0x66, 0x66, 0x65, + 0x72, 0x2e, 0x70, 0x74, 0x72, 0x29, 0x29, 0x3b, 0x0a, 0x23, 0x69, 0x66, 0x64, 0x65, 0x66, 0x20, + 0x4c, 0x55, 0x49, 0x53, 0x41, 0x5f, 0x44, 0x45, 0x42, 0x55, 0x47, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x6c, 0x63, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x5f, 0x69, 0x6e, 0x5f, 0x62, 0x6f, 0x75, 0x6e, + 0x64, 0x73, 0x28, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x2c, 0x20, 0x6c, 0x63, 0x5f, 0x62, 0x75, 0x66, + 0x66, 0x65, 0x72, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x28, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x29, 0x29, 0x3b, 0x0a, 0x23, 0x65, 0x6e, 0x64, 0x69, 0x66, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x62, 0x75, - 0x66, 0x66, 0x65, 0x72, 0x2e, 0x64, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x28, - 0x29, 0x5b, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x20, 0x2b, 0x20, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, - 0x2e, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x5d, 0x20, 0x3d, 0x20, 0x4c, 0x43, 0x49, 0x6e, 0x64, - 0x69, 0x72, 0x65, 0x63, 0x74, 0x44, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x7b, 0x62, 0x6c, - 0x6f, 0x63, 0x6b, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x2c, 0x20, 0x6c, 0x63, 0x5f, 0x6d, 0x61, 0x6b, - 0x65, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x34, 0x28, 0x64, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, - 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x2c, 0x20, 0x6b, 0x65, 0x72, 0x6e, 0x65, 0x6c, 0x5f, 0x69, 0x64, - 0x29, 0x7d, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x3c, - 0x74, 0x79, 0x70, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x54, 0x3e, 0x0a, 0x73, 0x74, 0x72, 0x75, - 0x63, 0x74, 0x20, 0x4c, 0x43, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x20, 0x7b, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x54, 0x20, 0x2a, 0x5f, 0x5f, 0x72, 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x5f, - 0x5f, 0x20, 0x70, 0x74, 0x72, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x73, 0x69, 0x7a, 0x65, 0x5f, - 0x74, 0x20, 0x73, 0x69, 0x7a, 0x65, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x3b, 0x0a, 0x7d, 0x3b, - 0x0a, 0x0a, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x3c, 0x74, 0x79, 0x70, 0x65, 0x6e, - 0x61, 0x6d, 0x65, 0x20, 0x54, 0x3e, 0x0a, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x20, 0x4c, 0x43, - 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x3c, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x54, 0x3e, 0x20, - 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x54, 0x20, 0x2a, 0x5f, - 0x5f, 0x72, 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x5f, 0x5f, 0x20, 0x70, 0x74, 0x72, 0x3b, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x73, 0x69, 0x7a, 0x65, 0x5f, 0x74, 0x20, 0x73, 0x69, 0x7a, 0x65, - 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x4c, 0x43, 0x42, 0x75, - 0x66, 0x66, 0x65, 0x72, 0x28, 0x4c, 0x43, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x3c, 0x54, 0x3e, - 0x20, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, - 0x74, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x70, 0x74, 0x72, 0x7b, - 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x2e, 0x70, 0x74, 0x72, 0x7d, 0x2c, 0x20, 0x73, 0x69, 0x7a, - 0x65, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x7b, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x2e, 0x73, - 0x69, 0x7a, 0x65, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x7d, 0x20, 0x7b, 0x7d, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x4c, 0x43, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x28, 0x29, 0x20, 0x6e, 0x6f, 0x65, - 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x3d, 0x20, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x3b, - 0x0a, 0x7d, 0x3b, 0x0a, 0x0a, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x3c, 0x74, 0x79, - 0x70, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x54, 0x3e, 0x0a, 0x5b, 0x5b, 0x6e, 0x6f, 0x64, 0x69, - 0x73, 0x63, 0x61, 0x72, 0x64, 0x5d, 0x5d, 0x20, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, - 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x6c, - 0x63, 0x5f, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x28, 0x4c, 0x43, - 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x3c, 0x54, 0x3e, 0x20, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, - 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x2e, 0x73, - 0x69, 0x7a, 0x65, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x20, 0x2f, 0x20, 0x73, 0x69, 0x7a, 0x65, - 0x6f, 0x66, 0x28, 0x54, 0x29, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, - 0x74, 0x65, 0x3c, 0x74, 0x79, 0x70, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x54, 0x2c, 0x20, 0x74, - 0x79, 0x70, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x3e, 0x0a, 0x5b, - 0x5b, 0x6e, 0x6f, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x5d, 0x5d, 0x20, 0x5f, 0x5f, 0x64, - 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x54, - 0x20, 0x6c, 0x63, 0x5f, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x28, - 0x4c, 0x43, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x3c, 0x54, 0x3e, 0x20, 0x62, 0x75, 0x66, 0x66, - 0x65, 0x72, 0x2c, 0x20, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x20, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x29, - 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x6c, 0x63, 0x5f, 0x61, 0x73, 0x73, 0x75, 0x6d, 0x65, 0x28, 0x5f, 0x5f, 0x69, 0x73, 0x47, 0x6c, - 0x6f, 0x62, 0x61, 0x6c, 0x28, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x2e, 0x70, 0x74, 0x72, 0x29, - 0x29, 0x3b, 0x0a, 0x23, 0x69, 0x66, 0x64, 0x65, 0x66, 0x20, 0x4c, 0x55, 0x49, 0x53, 0x41, 0x5f, - 0x44, 0x45, 0x42, 0x55, 0x47, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x63, 0x68, 0x65, - 0x63, 0x6b, 0x5f, 0x69, 0x6e, 0x5f, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x73, 0x28, 0x69, 0x6e, 0x64, - 0x65, 0x78, 0x2c, 0x20, 0x6c, 0x63, 0x5f, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x73, 0x69, - 0x7a, 0x65, 0x28, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x29, 0x29, 0x3b, 0x0a, 0x23, 0x65, 0x6e, - 0x64, 0x69, 0x66, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x62, - 0x75, 0x66, 0x66, 0x65, 0x72, 0x2e, 0x70, 0x74, 0x72, 0x5b, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5d, - 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x3c, 0x74, 0x79, - 0x70, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x54, 0x2c, 0x20, 0x74, 0x79, 0x70, 0x65, 0x6e, 0x61, - 0x6d, 0x65, 0x20, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x3e, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, - 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x76, 0x6f, 0x69, 0x64, - 0x20, 0x6c, 0x63, 0x5f, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, + 0x66, 0x66, 0x65, 0x72, 0x2e, 0x70, 0x74, 0x72, 0x5b, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5d, 0x20, + 0x3d, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x74, 0x65, 0x6d, 0x70, + 0x6c, 0x61, 0x74, 0x65, 0x3c, 0x74, 0x79, 0x70, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x54, 0x3e, + 0x0a, 0x5b, 0x5b, 0x6e, 0x6f, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x5d, 0x5d, 0x20, 0x5f, + 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x6c, + 0x63, 0x5f, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x28, 0x4c, 0x43, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x3c, 0x54, 0x3e, 0x20, 0x62, 0x75, 0x66, - 0x66, 0x65, 0x72, 0x2c, 0x20, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x20, 0x69, 0x6e, 0x64, 0x65, 0x78, - 0x2c, 0x20, 0x54, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, - 0x65, 0x70, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x61, 0x73, 0x73, - 0x75, 0x6d, 0x65, 0x28, 0x5f, 0x5f, 0x69, 0x73, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x28, 0x62, - 0x75, 0x66, 0x66, 0x65, 0x72, 0x2e, 0x70, 0x74, 0x72, 0x29, 0x29, 0x3b, 0x0a, 0x23, 0x69, 0x66, - 0x64, 0x65, 0x66, 0x20, 0x4c, 0x55, 0x49, 0x53, 0x41, 0x5f, 0x44, 0x45, 0x42, 0x55, 0x47, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x5f, 0x69, 0x6e, 0x5f, - 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x73, 0x28, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x2c, 0x20, 0x6c, 0x63, - 0x5f, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x28, 0x62, 0x75, 0x66, - 0x66, 0x65, 0x72, 0x29, 0x29, 0x3b, 0x0a, 0x23, 0x65, 0x6e, 0x64, 0x69, 0x66, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x2e, 0x70, 0x74, 0x72, 0x5b, 0x69, 0x6e, 0x64, - 0x65, 0x78, 0x5d, 0x20, 0x3d, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, - 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x3c, 0x74, 0x79, 0x70, 0x65, 0x6e, 0x61, 0x6d, - 0x65, 0x20, 0x54, 0x3e, 0x0a, 0x5b, 0x5b, 0x6e, 0x6f, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, - 0x5d, 0x5d, 0x20, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, - 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x6c, 0x63, 0x5f, 0x62, 0x75, 0x66, - 0x66, 0x65, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x28, 0x4c, 0x43, 0x42, 0x75, - 0x66, 0x66, 0x65, 0x72, 0x3c, 0x54, 0x3e, 0x20, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x29, 0x20, - 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, - 0x63, 0x5f, 0x61, 0x73, 0x73, 0x75, 0x6d, 0x65, 0x28, 0x5f, 0x5f, 0x69, 0x73, 0x47, 0x6c, 0x6f, - 0x62, 0x61, 0x6c, 0x28, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x2e, 0x70, 0x74, 0x72, 0x29, 0x29, - 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x72, 0x65, 0x69, - 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x6c, 0x63, - 0x5f, 0x75, 0x6c, 0x6f, 0x6e, 0x67, 0x3e, 0x28, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x2e, 0x70, - 0x74, 0x72, 0x29, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x65, 0x6e, 0x75, 0x6d, 0x20, 0x73, 0x74, 0x72, - 0x75, 0x63, 0x74, 0x20, 0x4c, 0x43, 0x50, 0x69, 0x78, 0x65, 0x6c, 0x53, 0x74, 0x6f, 0x72, 0x61, - 0x67, 0x65, 0x20, 0x7b, 0x0a, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x42, 0x59, 0x54, 0x45, 0x31, 0x2c, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x42, 0x59, 0x54, 0x45, 0x32, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x42, 0x59, 0x54, 0x45, 0x34, 0x2c, 0x0a, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x53, 0x48, 0x4f, 0x52, - 0x54, 0x31, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x53, 0x48, 0x4f, 0x52, 0x54, 0x32, 0x2c, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x53, 0x48, 0x4f, 0x52, 0x54, 0x34, 0x2c, 0x0a, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x49, 0x4e, 0x54, 0x31, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x49, 0x4e, 0x54, 0x32, 0x2c, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x49, 0x4e, 0x54, 0x34, 0x2c, 0x0a, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x48, 0x41, 0x4c, 0x46, 0x31, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x48, 0x41, 0x4c, 0x46, 0x32, - 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x48, 0x41, 0x4c, 0x46, 0x34, 0x2c, 0x0a, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x46, 0x4c, 0x4f, 0x41, 0x54, 0x31, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x46, 0x4c, - 0x4f, 0x41, 0x54, 0x32, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x46, 0x4c, 0x4f, 0x41, 0x54, 0x34, - 0x0a, 0x7d, 0x3b, 0x0a, 0x0a, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x20, 0x61, 0x6c, 0x69, 0x67, - 0x6e, 0x61, 0x73, 0x28, 0x31, 0x36, 0x29, 0x20, 0x4c, 0x43, 0x53, 0x75, 0x72, 0x66, 0x61, 0x63, - 0x65, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x63, 0x75, 0x64, 0x61, 0x53, 0x75, 0x72, 0x66, - 0x61, 0x63, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x74, 0x20, 0x68, 0x61, 0x6e, 0x64, - 0x6c, 0x65, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, - 0x20, 0x6c, 0x6f, 0x6e, 0x67, 0x20, 0x6c, 0x6f, 0x6e, 0x67, 0x20, 0x73, 0x74, 0x6f, 0x72, 0x61, - 0x67, 0x65, 0x3b, 0x0a, 0x7d, 0x3b, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x5f, 0x61, - 0x73, 0x73, 0x65, 0x72, 0x74, 0x28, 0x73, 0x69, 0x7a, 0x65, 0x6f, 0x66, 0x28, 0x4c, 0x43, 0x53, - 0x75, 0x72, 0x66, 0x61, 0x63, 0x65, 0x29, 0x20, 0x3d, 0x3d, 0x20, 0x31, 0x36, 0x29, 0x3b, 0x0a, - 0x0a, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x3c, 0x74, 0x79, 0x70, 0x65, 0x6e, 0x61, - 0x6d, 0x65, 0x20, 0x41, 0x2c, 0x20, 0x74, 0x79, 0x70, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x42, - 0x3e, 0x0a, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x20, 0x6c, 0x63, 0x5f, 0x69, 0x73, 0x5f, 0x73, - 0x61, 0x6d, 0x65, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5b, 0x5b, 0x6e, 0x6f, 0x64, 0x69, - 0x73, 0x63, 0x61, 0x72, 0x64, 0x5d, 0x5d, 0x20, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x20, 0x63, - 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x78, 0x70, 0x72, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x28, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, - 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x3b, 0x20, 0x7d, - 0x3b, 0x0a, 0x7d, 0x3b, 0x0a, 0x0a, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x3c, 0x74, - 0x79, 0x70, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x41, 0x3e, 0x0a, 0x73, 0x74, 0x72, 0x75, 0x63, - 0x74, 0x20, 0x6c, 0x63, 0x5f, 0x69, 0x73, 0x5f, 0x73, 0x61, 0x6d, 0x65, 0x3c, 0x41, 0x2c, 0x20, - 0x41, 0x3e, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5b, 0x5b, 0x6e, 0x6f, 0x64, 0x69, 0x73, - 0x63, 0x61, 0x72, 0x64, 0x5d, 0x5d, 0x20, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x20, 0x63, 0x6f, - 0x6e, 0x73, 0x74, 0x65, 0x78, 0x70, 0x72, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x28, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x20, - 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x74, 0x72, 0x75, 0x65, 0x3b, 0x20, 0x7d, 0x3b, 0x0a, - 0x7d, 0x3b, 0x0a, 0x0a, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x3c, 0x74, 0x79, 0x70, - 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x2e, 0x2e, 0x2e, 0x3e, 0x0a, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, - 0x20, 0x6c, 0x63, 0x5f, 0x61, 0x6c, 0x77, 0x61, 0x79, 0x73, 0x5f, 0x66, 0x61, 0x6c, 0x73, 0x65, - 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5b, 0x5b, 0x6e, 0x6f, 0x64, 0x69, 0x73, 0x63, 0x61, - 0x72, 0x64, 0x5d, 0x5d, 0x20, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x20, 0x63, 0x6f, 0x6e, 0x73, - 0x74, 0x65, 0x78, 0x70, 0x72, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x28, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x20, 0x72, 0x65, - 0x74, 0x75, 0x72, 0x6e, 0x20, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x3b, 0x20, 0x7d, 0x3b, 0x0a, 0x7d, - 0x3b, 0x0a, 0x0a, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x3c, 0x74, 0x79, 0x70, 0x65, - 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x50, 0x3e, 0x0a, 0x5b, 0x5b, 0x6e, 0x6f, 0x64, 0x69, 0x73, 0x63, - 0x61, 0x72, 0x64, 0x5d, 0x5d, 0x20, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, - 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x6c, 0x63, 0x5f, - 0x74, 0x65, 0x78, 0x65, 0x6c, 0x5f, 0x74, 0x6f, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x28, 0x50, - 0x20, 0x78, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x78, 0x70, 0x72, 0x20, - 0x28, 0x6c, 0x63, 0x5f, 0x69, 0x73, 0x5f, 0x73, 0x61, 0x6d, 0x65, 0x3c, 0x50, 0x2c, 0x20, 0x63, - 0x68, 0x61, 0x72, 0x3e, 0x3a, 0x3a, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x28, 0x29, 0x29, 0x20, 0x7b, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, - 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x75, 0x6e, 0x73, 0x69, - 0x67, 0x6e, 0x65, 0x64, 0x20, 0x63, 0x68, 0x61, 0x72, 0x3e, 0x28, 0x78, 0x29, 0x20, 0x2a, 0x20, - 0x28, 0x31, 0x2e, 0x30, 0x66, 0x20, 0x2f, 0x20, 0x32, 0x35, 0x35, 0x2e, 0x30, 0x66, 0x29, 0x3b, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x20, 0x65, 0x6c, 0x73, 0x65, 0x20, 0x69, 0x66, 0x20, 0x63, - 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x78, 0x70, 0x72, 0x20, 0x28, 0x6c, 0x63, 0x5f, 0x69, 0x73, 0x5f, - 0x73, 0x61, 0x6d, 0x65, 0x3c, 0x50, 0x2c, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x3e, 0x3a, 0x3a, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x28, 0x29, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, - 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, - 0x68, 0x6f, 0x72, 0x74, 0x3e, 0x28, 0x78, 0x29, 0x20, 0x2a, 0x20, 0x28, 0x31, 0x2e, 0x30, 0x66, - 0x20, 0x2f, 0x20, 0x36, 0x35, 0x35, 0x33, 0x35, 0x2e, 0x30, 0x66, 0x29, 0x3b, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x7d, 0x20, 0x65, 0x6c, 0x73, 0x65, 0x20, 0x69, 0x66, 0x20, 0x63, 0x6f, 0x6e, 0x73, - 0x74, 0x65, 0x78, 0x70, 0x72, 0x20, 0x28, 0x6c, 0x63, 0x5f, 0x69, 0x73, 0x5f, 0x73, 0x61, 0x6d, - 0x65, 0x3c, 0x50, 0x2c, 0x20, 0x6c, 0x63, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x3e, 0x3a, 0x3a, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x28, 0x29, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x5f, - 0x63, 0x61, 0x73, 0x74, 0x3c, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x3e, 0x28, 0x78, 0x29, 0x3b, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x7d, 0x20, 0x65, 0x6c, 0x73, 0x65, 0x20, 0x69, 0x66, 0x20, 0x63, 0x6f, - 0x6e, 0x73, 0x74, 0x65, 0x78, 0x70, 0x72, 0x20, 0x28, 0x6c, 0x63, 0x5f, 0x69, 0x73, 0x5f, 0x73, - 0x61, 0x6d, 0x65, 0x3c, 0x50, 0x2c, 0x20, 0x6c, 0x63, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x3e, - 0x3a, 0x3a, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x28, 0x29, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x78, 0x3b, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, - 0x30, 0x2e, 0x30, 0x66, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, - 0x65, 0x3c, 0x74, 0x79, 0x70, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x50, 0x3e, 0x0a, 0x5b, 0x5b, - 0x6e, 0x6f, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x5d, 0x5d, 0x20, 0x5f, 0x5f, 0x64, 0x65, - 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x61, 0x75, - 0x74, 0x6f, 0x20, 0x6c, 0x63, 0x5f, 0x74, 0x65, 0x78, 0x65, 0x6c, 0x5f, 0x74, 0x6f, 0x5f, 0x69, - 0x6e, 0x74, 0x28, 0x50, 0x20, 0x78, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, - 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x65, - 0x78, 0x70, 0x72, 0x20, 0x28, 0x6c, 0x63, 0x5f, 0x69, 0x73, 0x5f, 0x73, 0x61, 0x6d, 0x65, 0x3c, - 0x50, 0x2c, 0x20, 0x63, 0x68, 0x61, 0x72, 0x3e, 0x3a, 0x3a, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x28, - 0x29, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, - 0x75, 0x72, 0x6e, 0x20, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, - 0x6c, 0x63, 0x5f, 0x69, 0x6e, 0x74, 0x3e, 0x28, 0x78, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x66, 0x65, 0x72, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x61, 0x73, 0x73, 0x75, 0x6d, 0x65, 0x28, 0x5f, 0x5f, + 0x69, 0x73, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x28, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x2e, + 0x70, 0x74, 0x72, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, + 0x6e, 0x20, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, + 0x73, 0x74, 0x3c, 0x6c, 0x63, 0x5f, 0x75, 0x6c, 0x6f, 0x6e, 0x67, 0x3e, 0x28, 0x62, 0x75, 0x66, + 0x66, 0x65, 0x72, 0x2e, 0x70, 0x74, 0x72, 0x29, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x65, 0x6e, 0x75, + 0x6d, 0x20, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x20, 0x4c, 0x43, 0x50, 0x69, 0x78, 0x65, 0x6c, + 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x20, 0x7b, 0x0a, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x42, + 0x59, 0x54, 0x45, 0x31, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x42, 0x59, 0x54, 0x45, 0x32, 0x2c, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x42, 0x59, 0x54, 0x45, 0x34, 0x2c, 0x0a, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x53, 0x48, 0x4f, 0x52, 0x54, 0x31, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x53, 0x48, 0x4f, + 0x52, 0x54, 0x32, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x53, 0x48, 0x4f, 0x52, 0x54, 0x34, 0x2c, + 0x0a, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x49, 0x4e, 0x54, 0x31, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x49, 0x4e, 0x54, 0x32, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x49, 0x4e, 0x54, 0x34, 0x2c, 0x0a, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x48, 0x41, 0x4c, 0x46, 0x31, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x48, 0x41, 0x4c, 0x46, 0x32, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x48, 0x41, 0x4c, 0x46, 0x34, + 0x2c, 0x0a, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x46, 0x4c, 0x4f, 0x41, 0x54, 0x31, 0x2c, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x46, 0x4c, 0x4f, 0x41, 0x54, 0x32, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x46, + 0x4c, 0x4f, 0x41, 0x54, 0x34, 0x0a, 0x7d, 0x3b, 0x0a, 0x0a, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, + 0x20, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x61, 0x73, 0x28, 0x31, 0x36, 0x29, 0x20, 0x4c, 0x43, 0x53, + 0x75, 0x72, 0x66, 0x61, 0x63, 0x65, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x63, 0x75, 0x64, + 0x61, 0x53, 0x75, 0x72, 0x66, 0x61, 0x63, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x74, + 0x20, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x75, 0x6e, 0x73, + 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x6c, 0x6f, 0x6e, 0x67, 0x20, 0x6c, 0x6f, 0x6e, 0x67, 0x20, + 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x3b, 0x0a, 0x7d, 0x3b, 0x0a, 0x0a, 0x73, 0x74, 0x61, + 0x74, 0x69, 0x63, 0x5f, 0x61, 0x73, 0x73, 0x65, 0x72, 0x74, 0x28, 0x73, 0x69, 0x7a, 0x65, 0x6f, + 0x66, 0x28, 0x4c, 0x43, 0x53, 0x75, 0x72, 0x66, 0x61, 0x63, 0x65, 0x29, 0x20, 0x3d, 0x3d, 0x20, + 0x31, 0x36, 0x29, 0x3b, 0x0a, 0x0a, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x3c, 0x74, + 0x79, 0x70, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x41, 0x2c, 0x20, 0x74, 0x79, 0x70, 0x65, 0x6e, + 0x61, 0x6d, 0x65, 0x20, 0x42, 0x3e, 0x0a, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x20, 0x6c, 0x63, + 0x5f, 0x69, 0x73, 0x5f, 0x73, 0x61, 0x6d, 0x65, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5b, + 0x5b, 0x6e, 0x6f, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x5d, 0x5d, 0x20, 0x73, 0x74, 0x61, + 0x74, 0x69, 0x63, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x78, 0x70, 0x72, 0x20, 0x61, 0x75, + 0x74, 0x6f, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x28, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, + 0x65, 0x70, 0x74, 0x20, 0x7b, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x66, 0x61, 0x6c, + 0x73, 0x65, 0x3b, 0x20, 0x7d, 0x3b, 0x0a, 0x7d, 0x3b, 0x0a, 0x0a, 0x74, 0x65, 0x6d, 0x70, 0x6c, + 0x61, 0x74, 0x65, 0x3c, 0x74, 0x79, 0x70, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x41, 0x3e, 0x0a, + 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x20, 0x6c, 0x63, 0x5f, 0x69, 0x73, 0x5f, 0x73, 0x61, 0x6d, + 0x65, 0x3c, 0x41, 0x2c, 0x20, 0x41, 0x3e, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5b, 0x5b, + 0x6e, 0x6f, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x5d, 0x5d, 0x20, 0x73, 0x74, 0x61, 0x74, + 0x69, 0x63, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x78, 0x70, 0x72, 0x20, 0x61, 0x75, 0x74, + 0x6f, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x28, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, + 0x70, 0x74, 0x20, 0x7b, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x74, 0x72, 0x75, 0x65, + 0x3b, 0x20, 0x7d, 0x3b, 0x0a, 0x7d, 0x3b, 0x0a, 0x0a, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, + 0x65, 0x3c, 0x74, 0x79, 0x70, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x2e, 0x2e, 0x2e, 0x3e, 0x0a, 0x73, + 0x74, 0x72, 0x75, 0x63, 0x74, 0x20, 0x6c, 0x63, 0x5f, 0x61, 0x6c, 0x77, 0x61, 0x79, 0x73, 0x5f, + 0x66, 0x61, 0x6c, 0x73, 0x65, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5b, 0x5b, 0x6e, 0x6f, + 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x5d, 0x5d, 0x20, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, + 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x78, 0x70, 0x72, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x28, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, + 0x20, 0x7b, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x3b, + 0x20, 0x7d, 0x3b, 0x0a, 0x7d, 0x3b, 0x0a, 0x0a, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, + 0x3c, 0x74, 0x79, 0x70, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x50, 0x3e, 0x0a, 0x5b, 0x5b, 0x6e, + 0x6f, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x5d, 0x5d, 0x20, 0x5f, 0x5f, 0x64, 0x65, 0x76, + 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x6c, 0x63, 0x5f, 0x74, 0x65, + 0x78, 0x65, 0x6c, 0x5f, 0x74, 0x6f, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x28, 0x50, 0x20, 0x78, + 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x69, 0x66, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x78, 0x70, 0x72, 0x20, 0x28, 0x6c, + 0x63, 0x5f, 0x69, 0x73, 0x5f, 0x73, 0x61, 0x6d, 0x65, 0x3c, 0x50, 0x2c, 0x20, 0x63, 0x68, 0x61, + 0x72, 0x3e, 0x3a, 0x3a, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x28, 0x29, 0x29, 0x20, 0x7b, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x73, 0x74, + 0x61, 0x74, 0x69, 0x63, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, + 0x65, 0x64, 0x20, 0x63, 0x68, 0x61, 0x72, 0x3e, 0x28, 0x78, 0x29, 0x20, 0x2a, 0x20, 0x28, 0x31, + 0x2e, 0x30, 0x66, 0x20, 0x2f, 0x20, 0x32, 0x35, 0x35, 0x2e, 0x30, 0x66, 0x29, 0x3b, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x7d, 0x20, 0x65, 0x6c, 0x73, 0x65, 0x20, 0x69, 0x66, 0x20, 0x63, 0x6f, 0x6e, + 0x73, 0x74, 0x65, 0x78, 0x70, 0x72, 0x20, 0x28, 0x6c, 0x63, 0x5f, 0x69, 0x73, 0x5f, 0x73, 0x61, + 0x6d, 0x65, 0x3c, 0x50, 0x2c, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x3e, 0x3a, 0x3a, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x28, 0x29, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x5f, 0x63, + 0x61, 0x73, 0x74, 0x3c, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, + 0x72, 0x74, 0x3e, 0x28, 0x78, 0x29, 0x20, 0x2a, 0x20, 0x28, 0x31, 0x2e, 0x30, 0x66, 0x20, 0x2f, + 0x20, 0x36, 0x35, 0x35, 0x33, 0x35, 0x2e, 0x30, 0x66, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x20, 0x65, 0x6c, 0x73, 0x65, 0x20, 0x69, 0x66, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x78, 0x70, 0x72, 0x20, 0x28, 0x6c, 0x63, 0x5f, 0x69, 0x73, 0x5f, 0x73, 0x61, 0x6d, 0x65, 0x3c, - 0x50, 0x2c, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x3e, 0x3a, 0x3a, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x28, 0x29, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, - 0x74, 0x75, 0x72, 0x6e, 0x20, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x5f, 0x63, 0x61, 0x73, 0x74, - 0x3c, 0x6c, 0x63, 0x5f, 0x69, 0x6e, 0x74, 0x3e, 0x28, 0x78, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x7d, 0x20, 0x65, 0x6c, 0x73, 0x65, 0x20, 0x69, 0x66, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, - 0x65, 0x78, 0x70, 0x72, 0x20, 0x28, 0x6c, 0x63, 0x5f, 0x69, 0x73, 0x5f, 0x73, 0x61, 0x6d, 0x65, - 0x3c, 0x50, 0x2c, 0x20, 0x6c, 0x63, 0x5f, 0x69, 0x6e, 0x74, 0x3e, 0x3a, 0x3a, 0x76, 0x61, 0x6c, + 0x50, 0x2c, 0x20, 0x6c, 0x63, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x3e, 0x3a, 0x3a, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x28, 0x29, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x78, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x30, 0x3b, 0x0a, 0x7d, 0x0a, - 0x0a, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x3c, 0x74, 0x79, 0x70, 0x65, 0x6e, 0x61, - 0x6d, 0x65, 0x20, 0x50, 0x3e, 0x0a, 0x5b, 0x5b, 0x6e, 0x6f, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, - 0x64, 0x5d, 0x5d, 0x20, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, - 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x6c, 0x63, 0x5f, 0x74, 0x65, + 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x5f, 0x63, 0x61, + 0x73, 0x74, 0x3c, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x3e, 0x28, 0x78, 0x29, 0x3b, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x7d, 0x20, 0x65, 0x6c, 0x73, 0x65, 0x20, 0x69, 0x66, 0x20, 0x63, 0x6f, 0x6e, 0x73, + 0x74, 0x65, 0x78, 0x70, 0x72, 0x20, 0x28, 0x6c, 0x63, 0x5f, 0x69, 0x73, 0x5f, 0x73, 0x61, 0x6d, + 0x65, 0x3c, 0x50, 0x2c, 0x20, 0x6c, 0x63, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x3e, 0x3a, 0x3a, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x28, 0x29, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x78, 0x3b, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x30, 0x2e, + 0x30, 0x66, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x3c, + 0x74, 0x79, 0x70, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x50, 0x3e, 0x0a, 0x5b, 0x5b, 0x6e, 0x6f, + 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x5d, 0x5d, 0x20, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, + 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x6c, 0x63, 0x5f, 0x74, 0x65, 0x78, + 0x65, 0x6c, 0x5f, 0x74, 0x6f, 0x5f, 0x69, 0x6e, 0x74, 0x28, 0x50, 0x20, 0x78, 0x29, 0x20, 0x6e, + 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, + 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x78, 0x70, 0x72, 0x20, 0x28, 0x6c, 0x63, 0x5f, 0x69, + 0x73, 0x5f, 0x73, 0x61, 0x6d, 0x65, 0x3c, 0x50, 0x2c, 0x20, 0x63, 0x68, 0x61, 0x72, 0x3e, 0x3a, + 0x3a, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x28, 0x29, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x73, 0x74, 0x61, 0x74, 0x69, + 0x63, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x6c, 0x63, 0x5f, 0x69, 0x6e, 0x74, 0x3e, 0x28, 0x78, + 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x20, 0x65, 0x6c, 0x73, 0x65, 0x20, 0x69, 0x66, + 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x78, 0x70, 0x72, 0x20, 0x28, 0x6c, 0x63, 0x5f, 0x69, + 0x73, 0x5f, 0x73, 0x61, 0x6d, 0x65, 0x3c, 0x50, 0x2c, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x3e, + 0x3a, 0x3a, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x28, 0x29, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x73, 0x74, 0x61, 0x74, + 0x69, 0x63, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x6c, 0x63, 0x5f, 0x69, 0x6e, 0x74, 0x3e, 0x28, + 0x78, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x20, 0x65, 0x6c, 0x73, 0x65, 0x20, 0x69, + 0x66, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x78, 0x70, 0x72, 0x20, 0x28, 0x6c, 0x63, 0x5f, + 0x69, 0x73, 0x5f, 0x73, 0x61, 0x6d, 0x65, 0x3c, 0x50, 0x2c, 0x20, 0x6c, 0x63, 0x5f, 0x69, 0x6e, + 0x74, 0x3e, 0x3a, 0x3a, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x28, 0x29, 0x29, 0x20, 0x7b, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x78, 0x3b, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, + 0x6e, 0x20, 0x30, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, + 0x3c, 0x74, 0x79, 0x70, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x50, 0x3e, 0x0a, 0x5b, 0x5b, 0x6e, + 0x6f, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x5d, 0x5d, 0x20, 0x5f, 0x5f, 0x64, 0x65, 0x76, + 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x6c, 0x63, 0x5f, 0x74, 0x65, 0x78, 0x65, 0x6c, 0x5f, 0x74, 0x6f, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x28, 0x50, 0x20, 0x78, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x78, 0x70, 0x72, 0x20, 0x28, 0x6c, 0x63, @@ -37641,220 +37422,245 @@ extern "C" const char luisa_cuda_builtin_cuda_device_resource[119200] = { 0x6c, 0x61, 0x74, 0x65, 0x3c, 0x74, 0x79, 0x70, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x54, 0x2c, 0x20, 0x74, 0x79, 0x70, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x50, 0x3e, 0x0a, 0x5b, 0x5b, 0x6e, 0x6f, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x5d, 0x5d, 0x20, 0x5f, 0x5f, 0x64, 0x65, 0x76, - 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x61, 0x75, 0x74, - 0x6f, 0x20, 0x6c, 0x63, 0x5f, 0x74, 0x65, 0x78, 0x65, 0x6c, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x5f, - 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x28, 0x50, 0x20, 0x70, 0x29, 0x20, 0x6e, 0x6f, 0x65, - 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x63, - 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x78, 0x70, 0x72, 0x20, 0x28, 0x6c, 0x63, 0x5f, 0x69, 0x73, 0x5f, - 0x73, 0x61, 0x6d, 0x65, 0x3c, 0x54, 0x2c, 0x20, 0x6c, 0x63, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, - 0x3e, 0x3a, 0x3a, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x28, 0x29, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x6c, 0x63, 0x5f, - 0x74, 0x65, 0x78, 0x65, 0x6c, 0x5f, 0x74, 0x6f, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x3c, 0x50, - 0x3e, 0x28, 0x70, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x20, 0x65, 0x6c, 0x73, 0x65, - 0x20, 0x69, 0x66, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x78, 0x70, 0x72, 0x20, 0x28, 0x6c, - 0x63, 0x5f, 0x69, 0x73, 0x5f, 0x73, 0x61, 0x6d, 0x65, 0x3c, 0x54, 0x2c, 0x20, 0x6c, 0x63, 0x5f, - 0x69, 0x6e, 0x74, 0x3e, 0x3a, 0x3a, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x28, 0x29, 0x29, 0x20, 0x7b, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, - 0x6c, 0x63, 0x5f, 0x74, 0x65, 0x78, 0x65, 0x6c, 0x5f, 0x74, 0x6f, 0x5f, 0x69, 0x6e, 0x74, 0x3c, - 0x50, 0x3e, 0x28, 0x70, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x20, 0x65, 0x6c, 0x73, - 0x65, 0x20, 0x69, 0x66, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x78, 0x70, 0x72, 0x20, 0x28, - 0x6c, 0x63, 0x5f, 0x69, 0x73, 0x5f, 0x73, 0x61, 0x6d, 0x65, 0x3c, 0x54, 0x2c, 0x20, 0x6c, 0x63, - 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x3e, 0x3a, 0x3a, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x28, 0x29, 0x29, - 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, - 0x6e, 0x20, 0x6c, 0x63, 0x5f, 0x74, 0x65, 0x78, 0x65, 0x6c, 0x5f, 0x74, 0x6f, 0x5f, 0x75, 0x69, - 0x6e, 0x74, 0x3c, 0x50, 0x3e, 0x28, 0x70, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x20, - 0x65, 0x6c, 0x73, 0x65, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x73, - 0x74, 0x61, 0x74, 0x69, 0x63, 0x5f, 0x61, 0x73, 0x73, 0x65, 0x72, 0x74, 0x28, 0x6c, 0x63, 0x5f, - 0x61, 0x6c, 0x77, 0x61, 0x79, 0x73, 0x5f, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x3c, 0x54, 0x2c, 0x20, - 0x50, 0x3e, 0x3a, 0x3a, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x28, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x7d, 0x0a, 0x7d, 0x0a, 0x0a, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x3c, - 0x74, 0x79, 0x70, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x50, 0x3e, 0x0a, 0x5b, 0x5b, 0x6e, 0x6f, - 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x5d, 0x5d, 0x20, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, - 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x61, 0x75, 0x74, 0x6f, - 0x20, 0x6c, 0x63, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x5f, 0x74, 0x6f, 0x5f, 0x74, 0x65, 0x78, - 0x65, 0x6c, 0x28, 0x6c, 0x63, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x78, 0x29, 0x20, 0x6e, - 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, - 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x78, 0x70, 0x72, 0x20, 0x28, 0x6c, 0x63, 0x5f, 0x69, - 0x73, 0x5f, 0x73, 0x61, 0x6d, 0x65, 0x3c, 0x50, 0x2c, 0x20, 0x63, 0x68, 0x61, 0x72, 0x3e, 0x3a, - 0x3a, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x28, 0x29, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x73, 0x74, 0x61, 0x74, 0x69, - 0x63, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x63, 0x68, 0x61, 0x72, 0x3e, 0x28, 0x73, 0x74, 0x61, - 0x74, 0x69, 0x63, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, - 0x64, 0x20, 0x63, 0x68, 0x61, 0x72, 0x3e, 0x28, 0x6c, 0x63, 0x5f, 0x72, 0x6f, 0x75, 0x6e, 0x64, - 0x28, 0x6c, 0x63, 0x5f, 0x73, 0x61, 0x74, 0x75, 0x72, 0x61, 0x74, 0x65, 0x28, 0x78, 0x29, 0x20, - 0x2a, 0x20, 0x32, 0x35, 0x35, 0x2e, 0x30, 0x66, 0x29, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x7d, 0x20, 0x65, 0x6c, 0x73, 0x65, 0x20, 0x69, 0x66, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, - 0x65, 0x78, 0x70, 0x72, 0x20, 0x28, 0x6c, 0x63, 0x5f, 0x69, 0x73, 0x5f, 0x73, 0x61, 0x6d, 0x65, - 0x3c, 0x50, 0x2c, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x3e, 0x3a, 0x3a, 0x76, 0x61, 0x6c, 0x75, + 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x6c, 0x63, 0x5f, 0x74, 0x65, + 0x78, 0x65, 0x6c, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, + 0x28, 0x50, 0x20, 0x70, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x78, 0x70, + 0x72, 0x20, 0x28, 0x6c, 0x63, 0x5f, 0x69, 0x73, 0x5f, 0x73, 0x61, 0x6d, 0x65, 0x3c, 0x54, 0x2c, + 0x20, 0x6c, 0x63, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x3e, 0x3a, 0x3a, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x28, 0x29, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, - 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x5f, 0x63, 0x61, 0x73, - 0x74, 0x3c, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x3e, 0x28, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x5f, - 0x63, 0x61, 0x73, 0x74, 0x3c, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, - 0x6f, 0x72, 0x74, 0x3e, 0x28, 0x6c, 0x63, 0x5f, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x28, 0x6c, 0x63, - 0x5f, 0x73, 0x61, 0x74, 0x75, 0x72, 0x61, 0x74, 0x65, 0x28, 0x78, 0x29, 0x20, 0x2a, 0x20, 0x36, - 0x35, 0x35, 0x33, 0x35, 0x2e, 0x30, 0x66, 0x29, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x7d, 0x20, 0x65, 0x6c, 0x73, 0x65, 0x20, 0x69, 0x66, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x65, - 0x78, 0x70, 0x72, 0x20, 0x28, 0x6c, 0x63, 0x5f, 0x69, 0x73, 0x5f, 0x73, 0x61, 0x6d, 0x65, 0x3c, - 0x50, 0x2c, 0x20, 0x6c, 0x63, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x3e, 0x3a, 0x3a, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x28, 0x29, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x5f, 0x63, 0x61, - 0x73, 0x74, 0x3c, 0x6c, 0x63, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x3e, 0x28, 0x78, 0x29, 0x3b, 0x0a, + 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x6c, 0x63, 0x5f, 0x74, 0x65, 0x78, 0x65, 0x6c, 0x5f, 0x74, + 0x6f, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x3c, 0x50, 0x3e, 0x28, 0x70, 0x29, 0x3b, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x7d, 0x20, 0x65, 0x6c, 0x73, 0x65, 0x20, 0x69, 0x66, 0x20, 0x63, 0x6f, 0x6e, + 0x73, 0x74, 0x65, 0x78, 0x70, 0x72, 0x20, 0x28, 0x6c, 0x63, 0x5f, 0x69, 0x73, 0x5f, 0x73, 0x61, + 0x6d, 0x65, 0x3c, 0x54, 0x2c, 0x20, 0x6c, 0x63, 0x5f, 0x69, 0x6e, 0x74, 0x3e, 0x3a, 0x3a, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x28, 0x29, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x6c, 0x63, 0x5f, 0x74, 0x65, 0x78, 0x65, + 0x6c, 0x5f, 0x74, 0x6f, 0x5f, 0x69, 0x6e, 0x74, 0x3c, 0x50, 0x3e, 0x28, 0x70, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x20, 0x65, 0x6c, 0x73, 0x65, 0x20, 0x69, 0x66, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x78, 0x70, 0x72, 0x20, 0x28, 0x6c, 0x63, 0x5f, 0x69, 0x73, 0x5f, 0x73, - 0x61, 0x6d, 0x65, 0x3c, 0x50, 0x2c, 0x20, 0x6c, 0x63, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x3e, - 0x3a, 0x3a, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x28, 0x29, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x78, 0x3b, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, - 0x50, 0x7b, 0x7d, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, - 0x3c, 0x74, 0x79, 0x70, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x50, 0x3e, 0x0a, 0x5b, 0x5b, 0x6e, - 0x6f, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x5d, 0x5d, 0x20, 0x5f, 0x5f, 0x64, 0x65, 0x76, - 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x61, 0x75, 0x74, - 0x6f, 0x20, 0x6c, 0x63, 0x5f, 0x69, 0x6e, 0x74, 0x5f, 0x74, 0x6f, 0x5f, 0x74, 0x65, 0x78, 0x65, - 0x6c, 0x28, 0x6c, 0x63, 0x5f, 0x69, 0x6e, 0x74, 0x20, 0x78, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, - 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x63, 0x6f, - 0x6e, 0x73, 0x74, 0x65, 0x78, 0x70, 0x72, 0x20, 0x28, 0x6c, 0x63, 0x5f, 0x69, 0x73, 0x5f, 0x73, - 0x61, 0x6d, 0x65, 0x3c, 0x50, 0x2c, 0x20, 0x63, 0x68, 0x61, 0x72, 0x3e, 0x3a, 0x3a, 0x76, 0x61, + 0x61, 0x6d, 0x65, 0x3c, 0x54, 0x2c, 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x3e, 0x3a, + 0x3a, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x28, 0x29, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x6c, 0x63, 0x5f, 0x74, 0x65, + 0x78, 0x65, 0x6c, 0x5f, 0x74, 0x6f, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x3c, 0x50, 0x3e, 0x28, 0x70, + 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x20, 0x65, 0x6c, 0x73, 0x65, 0x20, 0x7b, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x5f, 0x61, + 0x73, 0x73, 0x65, 0x72, 0x74, 0x28, 0x6c, 0x63, 0x5f, 0x61, 0x6c, 0x77, 0x61, 0x79, 0x73, 0x5f, + 0x66, 0x61, 0x6c, 0x73, 0x65, 0x3c, 0x54, 0x2c, 0x20, 0x50, 0x3e, 0x3a, 0x3a, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x28, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x7d, 0x0a, 0x0a, + 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x3c, 0x74, 0x79, 0x70, 0x65, 0x6e, 0x61, 0x6d, + 0x65, 0x20, 0x50, 0x3e, 0x0a, 0x5b, 0x5b, 0x6e, 0x6f, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, + 0x5d, 0x5d, 0x20, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x61, 0x75, + 0x74, 0x6f, 0x20, 0x6c, 0x63, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x5f, 0x74, 0x6f, 0x5f, 0x74, + 0x65, 0x78, 0x65, 0x6c, 0x28, 0x6c, 0x63, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x78, 0x29, + 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x69, 0x66, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x78, 0x70, 0x72, 0x20, 0x28, 0x6c, 0x63, + 0x5f, 0x69, 0x73, 0x5f, 0x73, 0x61, 0x6d, 0x65, 0x3c, 0x50, 0x2c, 0x20, 0x63, 0x68, 0x61, 0x72, + 0x3e, 0x3a, 0x3a, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x28, 0x29, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x73, 0x74, 0x61, + 0x74, 0x69, 0x63, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x63, 0x68, 0x61, 0x72, 0x3e, 0x28, 0x73, + 0x74, 0x61, 0x74, 0x69, 0x63, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x75, 0x6e, 0x73, 0x69, 0x67, + 0x6e, 0x65, 0x64, 0x20, 0x63, 0x68, 0x61, 0x72, 0x3e, 0x28, 0x6c, 0x63, 0x5f, 0x72, 0x6f, 0x75, + 0x6e, 0x64, 0x28, 0x6c, 0x63, 0x5f, 0x73, 0x61, 0x74, 0x75, 0x72, 0x61, 0x74, 0x65, 0x28, 0x78, + 0x29, 0x20, 0x2a, 0x20, 0x32, 0x35, 0x35, 0x2e, 0x30, 0x66, 0x29, 0x29, 0x29, 0x3b, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x7d, 0x20, 0x65, 0x6c, 0x73, 0x65, 0x20, 0x69, 0x66, 0x20, 0x63, 0x6f, 0x6e, + 0x73, 0x74, 0x65, 0x78, 0x70, 0x72, 0x20, 0x28, 0x6c, 0x63, 0x5f, 0x69, 0x73, 0x5f, 0x73, 0x61, + 0x6d, 0x65, 0x3c, 0x50, 0x2c, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x3e, 0x3a, 0x3a, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x28, 0x29, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x5f, 0x63, - 0x61, 0x73, 0x74, 0x3c, 0x63, 0x68, 0x61, 0x72, 0x3e, 0x28, 0x78, 0x29, 0x3b, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x7d, 0x20, 0x65, 0x6c, 0x73, 0x65, 0x20, 0x69, 0x66, 0x20, 0x63, 0x6f, 0x6e, 0x73, - 0x74, 0x65, 0x78, 0x70, 0x72, 0x20, 0x28, 0x6c, 0x63, 0x5f, 0x69, 0x73, 0x5f, 0x73, 0x61, 0x6d, - 0x65, 0x3c, 0x50, 0x2c, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x3e, 0x3a, 0x3a, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x28, 0x29, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x5f, 0x63, 0x61, - 0x73, 0x74, 0x3c, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x3e, 0x28, 0x78, 0x29, 0x3b, 0x0a, 0x20, 0x20, + 0x61, 0x73, 0x74, 0x3c, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x3e, 0x28, 0x73, 0x74, 0x61, 0x74, 0x69, + 0x63, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, + 0x73, 0x68, 0x6f, 0x72, 0x74, 0x3e, 0x28, 0x6c, 0x63, 0x5f, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x28, + 0x6c, 0x63, 0x5f, 0x73, 0x61, 0x74, 0x75, 0x72, 0x61, 0x74, 0x65, 0x28, 0x78, 0x29, 0x20, 0x2a, + 0x20, 0x36, 0x35, 0x35, 0x33, 0x35, 0x2e, 0x30, 0x66, 0x29, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x20, 0x65, 0x6c, 0x73, 0x65, 0x20, 0x69, 0x66, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x78, 0x70, 0x72, 0x20, 0x28, 0x6c, 0x63, 0x5f, 0x69, 0x73, 0x5f, 0x73, 0x61, 0x6d, - 0x65, 0x3c, 0x50, 0x2c, 0x20, 0x6c, 0x63, 0x5f, 0x69, 0x6e, 0x74, 0x3e, 0x3a, 0x3a, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x28, 0x29, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x78, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, + 0x65, 0x3c, 0x50, 0x2c, 0x20, 0x6c, 0x63, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x3e, 0x3a, 0x3a, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x28, 0x29, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x5f, + 0x63, 0x61, 0x73, 0x74, 0x3c, 0x6c, 0x63, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x3e, 0x28, 0x78, 0x29, + 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x20, 0x65, 0x6c, 0x73, 0x65, 0x20, 0x69, 0x66, 0x20, + 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x78, 0x70, 0x72, 0x20, 0x28, 0x6c, 0x63, 0x5f, 0x69, 0x73, + 0x5f, 0x73, 0x61, 0x6d, 0x65, 0x3c, 0x50, 0x2c, 0x20, 0x6c, 0x63, 0x5f, 0x66, 0x6c, 0x6f, 0x61, + 0x74, 0x3e, 0x3a, 0x3a, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x28, 0x29, 0x29, 0x20, 0x7b, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x78, 0x3b, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, + 0x6e, 0x20, 0x50, 0x7b, 0x7d, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, + 0x74, 0x65, 0x3c, 0x74, 0x79, 0x70, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x50, 0x3e, 0x0a, 0x5b, + 0x5b, 0x6e, 0x6f, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x5d, 0x5d, 0x20, 0x5f, 0x5f, 0x64, + 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x6c, 0x63, 0x5f, + 0x69, 0x6e, 0x74, 0x5f, 0x74, 0x6f, 0x5f, 0x74, 0x65, 0x78, 0x65, 0x6c, 0x28, 0x6c, 0x63, 0x5f, + 0x69, 0x6e, 0x74, 0x20, 0x78, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, + 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x78, + 0x70, 0x72, 0x20, 0x28, 0x6c, 0x63, 0x5f, 0x69, 0x73, 0x5f, 0x73, 0x61, 0x6d, 0x65, 0x3c, 0x50, + 0x2c, 0x20, 0x63, 0x68, 0x61, 0x72, 0x3e, 0x3a, 0x3a, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x28, 0x29, + 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, + 0x72, 0x6e, 0x20, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x63, + 0x68, 0x61, 0x72, 0x3e, 0x28, 0x78, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x20, 0x65, + 0x6c, 0x73, 0x65, 0x20, 0x69, 0x66, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x78, 0x70, 0x72, + 0x20, 0x28, 0x6c, 0x63, 0x5f, 0x69, 0x73, 0x5f, 0x73, 0x61, 0x6d, 0x65, 0x3c, 0x50, 0x2c, 0x20, + 0x73, 0x68, 0x6f, 0x72, 0x74, 0x3e, 0x3a, 0x3a, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x28, 0x29, 0x29, + 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, + 0x6e, 0x20, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x73, 0x68, + 0x6f, 0x72, 0x74, 0x3e, 0x28, 0x78, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x20, 0x65, + 0x6c, 0x73, 0x65, 0x20, 0x69, 0x66, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x78, 0x70, 0x72, + 0x20, 0x28, 0x6c, 0x63, 0x5f, 0x69, 0x73, 0x5f, 0x73, 0x61, 0x6d, 0x65, 0x3c, 0x50, 0x2c, 0x20, + 0x6c, 0x63, 0x5f, 0x69, 0x6e, 0x74, 0x3e, 0x3a, 0x3a, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x28, 0x29, + 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, + 0x72, 0x6e, 0x20, 0x78, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x50, 0x7b, 0x7d, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x74, + 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x3c, 0x74, 0x79, 0x70, 0x65, 0x6e, 0x61, 0x6d, 0x65, + 0x20, 0x50, 0x3e, 0x0a, 0x5b, 0x5b, 0x6e, 0x6f, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x5d, + 0x5d, 0x20, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x61, 0x75, 0x74, + 0x6f, 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x5f, 0x74, 0x6f, 0x5f, 0x74, 0x65, 0x78, + 0x65, 0x6c, 0x28, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x20, 0x78, 0x29, 0x20, 0x6e, 0x6f, + 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, + 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x78, 0x70, 0x72, 0x20, 0x28, 0x6c, 0x63, 0x5f, 0x69, 0x73, + 0x5f, 0x73, 0x61, 0x6d, 0x65, 0x3c, 0x50, 0x2c, 0x20, 0x63, 0x68, 0x61, 0x72, 0x3e, 0x3a, 0x3a, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x28, 0x29, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, + 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x63, 0x68, 0x61, 0x72, 0x3e, 0x28, 0x73, 0x74, 0x61, 0x74, + 0x69, 0x63, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, + 0x20, 0x63, 0x68, 0x61, 0x72, 0x3e, 0x28, 0x78, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x7d, 0x20, 0x65, 0x6c, 0x73, 0x65, 0x20, 0x69, 0x66, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x65, + 0x78, 0x70, 0x72, 0x20, 0x28, 0x6c, 0x63, 0x5f, 0x69, 0x73, 0x5f, 0x73, 0x61, 0x6d, 0x65, 0x3c, + 0x50, 0x2c, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x3e, 0x3a, 0x3a, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x28, 0x29, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, + 0x74, 0x75, 0x72, 0x6e, 0x20, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x5f, 0x63, 0x61, 0x73, 0x74, + 0x3c, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x3e, 0x28, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x5f, 0x63, + 0x61, 0x73, 0x74, 0x3c, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, + 0x72, 0x74, 0x3e, 0x28, 0x78, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x20, 0x65, + 0x6c, 0x73, 0x65, 0x20, 0x69, 0x66, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x78, 0x70, 0x72, + 0x20, 0x28, 0x6c, 0x63, 0x5f, 0x69, 0x73, 0x5f, 0x73, 0x61, 0x6d, 0x65, 0x3c, 0x50, 0x2c, 0x20, + 0x6c, 0x63, 0x5f, 0x69, 0x6e, 0x74, 0x3e, 0x3a, 0x3a, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x28, 0x29, + 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, + 0x72, 0x6e, 0x20, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x6c, + 0x63, 0x5f, 0x69, 0x6e, 0x74, 0x3e, 0x28, 0x78, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x50, 0x7b, 0x7d, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x3c, 0x74, 0x79, 0x70, - 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x50, 0x3e, 0x0a, 0x5b, 0x5b, 0x6e, 0x6f, 0x64, 0x69, 0x73, - 0x63, 0x61, 0x72, 0x64, 0x5d, 0x5d, 0x20, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, - 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x6c, 0x63, - 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x5f, 0x74, 0x6f, 0x5f, 0x74, 0x65, 0x78, 0x65, 0x6c, 0x28, 0x6c, - 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x20, 0x78, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, - 0x70, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x63, 0x6f, 0x6e, 0x73, - 0x74, 0x65, 0x78, 0x70, 0x72, 0x20, 0x28, 0x6c, 0x63, 0x5f, 0x69, 0x73, 0x5f, 0x73, 0x61, 0x6d, - 0x65, 0x3c, 0x50, 0x2c, 0x20, 0x63, 0x68, 0x61, 0x72, 0x3e, 0x3a, 0x3a, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x28, 0x29, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, - 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x5f, 0x63, 0x61, 0x73, - 0x74, 0x3c, 0x63, 0x68, 0x61, 0x72, 0x3e, 0x28, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x5f, 0x63, - 0x61, 0x73, 0x74, 0x3c, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x63, 0x68, 0x61, - 0x72, 0x3e, 0x28, 0x78, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x20, 0x65, 0x6c, + 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x50, 0x2c, 0x20, 0x74, 0x79, 0x70, 0x65, 0x6e, 0x61, 0x6d, + 0x65, 0x20, 0x54, 0x3e, 0x0a, 0x5b, 0x5b, 0x6e, 0x6f, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, + 0x5d, 0x5d, 0x20, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x61, 0x75, + 0x74, 0x6f, 0x20, 0x6c, 0x63, 0x5f, 0x74, 0x65, 0x78, 0x65, 0x6c, 0x5f, 0x77, 0x72, 0x69, 0x74, + 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x28, 0x54, 0x20, 0x74, 0x29, 0x20, 0x6e, + 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, + 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x78, 0x70, 0x72, 0x20, 0x28, 0x6c, 0x63, 0x5f, 0x69, + 0x73, 0x5f, 0x73, 0x61, 0x6d, 0x65, 0x3c, 0x54, 0x2c, 0x20, 0x6c, 0x63, 0x5f, 0x66, 0x6c, 0x6f, + 0x61, 0x74, 0x3e, 0x3a, 0x3a, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x28, 0x29, 0x29, 0x20, 0x7b, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x6c, + 0x63, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x5f, 0x74, 0x6f, 0x5f, 0x74, 0x65, 0x78, 0x65, 0x6c, + 0x3c, 0x50, 0x3e, 0x28, 0x74, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x20, 0x65, 0x6c, 0x73, 0x65, 0x20, 0x69, 0x66, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x78, 0x70, 0x72, 0x20, - 0x28, 0x6c, 0x63, 0x5f, 0x69, 0x73, 0x5f, 0x73, 0x61, 0x6d, 0x65, 0x3c, 0x50, 0x2c, 0x20, 0x73, - 0x68, 0x6f, 0x72, 0x74, 0x3e, 0x3a, 0x3a, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x28, 0x29, 0x29, 0x20, - 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, - 0x20, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x73, 0x68, 0x6f, - 0x72, 0x74, 0x3e, 0x28, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, - 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x3e, 0x28, - 0x78, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x20, 0x65, 0x6c, 0x73, 0x65, 0x20, - 0x69, 0x66, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x78, 0x70, 0x72, 0x20, 0x28, 0x6c, 0x63, - 0x5f, 0x69, 0x73, 0x5f, 0x73, 0x61, 0x6d, 0x65, 0x3c, 0x50, 0x2c, 0x20, 0x6c, 0x63, 0x5f, 0x69, - 0x6e, 0x74, 0x3e, 0x3a, 0x3a, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x28, 0x29, 0x29, 0x20, 0x7b, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x73, - 0x74, 0x61, 0x74, 0x69, 0x63, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x6c, 0x63, 0x5f, 0x69, 0x6e, - 0x74, 0x3e, 0x28, 0x78, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x50, 0x7b, 0x7d, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, - 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x3c, 0x74, 0x79, 0x70, 0x65, 0x6e, 0x61, 0x6d, - 0x65, 0x20, 0x50, 0x2c, 0x20, 0x74, 0x79, 0x70, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x54, 0x3e, - 0x0a, 0x5b, 0x5b, 0x6e, 0x6f, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x5d, 0x5d, 0x20, 0x5f, - 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, - 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x6c, 0x63, 0x5f, 0x74, 0x65, 0x78, 0x65, 0x6c, 0x5f, 0x77, - 0x72, 0x69, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x28, 0x54, 0x20, 0x74, - 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x69, 0x66, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x78, 0x70, 0x72, 0x20, 0x28, 0x6c, - 0x63, 0x5f, 0x69, 0x73, 0x5f, 0x73, 0x61, 0x6d, 0x65, 0x3c, 0x54, 0x2c, 0x20, 0x6c, 0x63, 0x5f, - 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x3e, 0x3a, 0x3a, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x28, 0x29, 0x29, + 0x28, 0x6c, 0x63, 0x5f, 0x69, 0x73, 0x5f, 0x73, 0x61, 0x6d, 0x65, 0x3c, 0x54, 0x2c, 0x20, 0x6c, + 0x63, 0x5f, 0x69, 0x6e, 0x74, 0x3e, 0x3a, 0x3a, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x28, 0x29, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, - 0x6e, 0x20, 0x6c, 0x63, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x5f, 0x74, 0x6f, 0x5f, 0x74, 0x65, - 0x78, 0x65, 0x6c, 0x3c, 0x50, 0x3e, 0x28, 0x74, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, - 0x20, 0x65, 0x6c, 0x73, 0x65, 0x20, 0x69, 0x66, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x78, - 0x70, 0x72, 0x20, 0x28, 0x6c, 0x63, 0x5f, 0x69, 0x73, 0x5f, 0x73, 0x61, 0x6d, 0x65, 0x3c, 0x54, - 0x2c, 0x20, 0x6c, 0x63, 0x5f, 0x69, 0x6e, 0x74, 0x3e, 0x3a, 0x3a, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x28, 0x29, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, - 0x74, 0x75, 0x72, 0x6e, 0x20, 0x6c, 0x63, 0x5f, 0x69, 0x6e, 0x74, 0x5f, 0x74, 0x6f, 0x5f, 0x74, + 0x6e, 0x20, 0x6c, 0x63, 0x5f, 0x69, 0x6e, 0x74, 0x5f, 0x74, 0x6f, 0x5f, 0x74, 0x65, 0x78, 0x65, + 0x6c, 0x3c, 0x50, 0x3e, 0x28, 0x74, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x20, 0x65, + 0x6c, 0x73, 0x65, 0x20, 0x69, 0x66, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x78, 0x70, 0x72, + 0x20, 0x28, 0x6c, 0x63, 0x5f, 0x69, 0x73, 0x5f, 0x73, 0x61, 0x6d, 0x65, 0x3c, 0x54, 0x2c, 0x20, + 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x3e, 0x3a, 0x3a, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x28, + 0x29, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, + 0x75, 0x72, 0x6e, 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x5f, 0x74, 0x6f, 0x5f, 0x74, 0x65, 0x78, 0x65, 0x6c, 0x3c, 0x50, 0x3e, 0x28, 0x74, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x7d, 0x20, 0x65, 0x6c, 0x73, 0x65, 0x20, 0x69, 0x66, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x65, - 0x78, 0x70, 0x72, 0x20, 0x28, 0x6c, 0x63, 0x5f, 0x69, 0x73, 0x5f, 0x73, 0x61, 0x6d, 0x65, 0x3c, - 0x54, 0x2c, 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x3e, 0x3a, 0x3a, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x28, 0x29, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x5f, 0x74, - 0x6f, 0x5f, 0x74, 0x65, 0x78, 0x65, 0x6c, 0x3c, 0x50, 0x3e, 0x28, 0x74, 0x29, 0x3b, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x7d, 0x20, 0x65, 0x6c, 0x73, 0x65, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x5f, 0x61, 0x73, 0x73, 0x65, 0x72, - 0x74, 0x28, 0x6c, 0x63, 0x5f, 0x61, 0x6c, 0x77, 0x61, 0x79, 0x73, 0x5f, 0x66, 0x61, 0x6c, 0x73, - 0x65, 0x3c, 0x54, 0x2c, 0x20, 0x50, 0x3e, 0x3a, 0x3a, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x28, 0x29, - 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x7d, 0x0a, 0x0a, 0x74, 0x65, 0x6d, 0x70, - 0x6c, 0x61, 0x74, 0x65, 0x3c, 0x74, 0x79, 0x70, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x54, 0x3e, - 0x0a, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x20, 0x6c, 0x63, 0x5f, 0x76, 0x65, 0x63, 0x34, 0x20, - 0x7b, 0x7d, 0x3b, 0x0a, 0x0a, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x3c, 0x3e, 0x0a, - 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x20, 0x6c, 0x63, 0x5f, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x6c, - 0x63, 0x5f, 0x69, 0x6e, 0x74, 0x3e, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x75, 0x73, 0x69, - 0x6e, 0x67, 0x20, 0x74, 0x79, 0x70, 0x65, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x69, 0x6e, 0x74, - 0x34, 0x3b, 0x0a, 0x7d, 0x3b, 0x0a, 0x0a, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x3c, - 0x3e, 0x0a, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x20, 0x6c, 0x63, 0x5f, 0x76, 0x65, 0x63, 0x34, - 0x3c, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x3e, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x75, 0x73, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x79, 0x70, 0x65, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, - 0x75, 0x69, 0x6e, 0x74, 0x34, 0x3b, 0x0a, 0x7d, 0x3b, 0x0a, 0x0a, 0x74, 0x65, 0x6d, 0x70, 0x6c, - 0x61, 0x74, 0x65, 0x3c, 0x3e, 0x0a, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x20, 0x6c, 0x63, 0x5f, - 0x76, 0x65, 0x63, 0x34, 0x3c, 0x6c, 0x63, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x3e, 0x20, 0x7b, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x75, 0x73, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x79, 0x70, 0x65, 0x20, - 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x34, 0x3b, 0x0a, 0x7d, 0x3b, 0x0a, + 0x7d, 0x20, 0x65, 0x6c, 0x73, 0x65, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x5f, 0x61, 0x73, 0x73, 0x65, 0x72, 0x74, 0x28, 0x6c, + 0x63, 0x5f, 0x61, 0x6c, 0x77, 0x61, 0x79, 0x73, 0x5f, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x3c, 0x54, + 0x2c, 0x20, 0x50, 0x3e, 0x3a, 0x3a, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x28, 0x29, 0x29, 0x3b, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x7d, 0x0a, 0x0a, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, + 0x65, 0x3c, 0x74, 0x79, 0x70, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x54, 0x3e, 0x0a, 0x73, 0x74, + 0x72, 0x75, 0x63, 0x74, 0x20, 0x6c, 0x63, 0x5f, 0x76, 0x65, 0x63, 0x34, 0x20, 0x7b, 0x7d, 0x3b, + 0x0a, 0x0a, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x3c, 0x3e, 0x0a, 0x73, 0x74, 0x72, + 0x75, 0x63, 0x74, 0x20, 0x6c, 0x63, 0x5f, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x6c, 0x63, 0x5f, 0x69, + 0x6e, 0x74, 0x3e, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x75, 0x73, 0x69, 0x6e, 0x67, 0x20, + 0x74, 0x79, 0x70, 0x65, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x69, 0x6e, 0x74, 0x34, 0x3b, 0x0a, + 0x7d, 0x3b, 0x0a, 0x0a, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x3c, 0x3e, 0x0a, 0x73, + 0x74, 0x72, 0x75, 0x63, 0x74, 0x20, 0x6c, 0x63, 0x5f, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x6c, 0x63, + 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x3e, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x75, 0x73, 0x69, + 0x6e, 0x67, 0x20, 0x74, 0x79, 0x70, 0x65, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, + 0x74, 0x34, 0x3b, 0x0a, 0x7d, 0x3b, 0x0a, 0x0a, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, + 0x3c, 0x3e, 0x0a, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x20, 0x6c, 0x63, 0x5f, 0x76, 0x65, 0x63, + 0x34, 0x3c, 0x6c, 0x63, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x3e, 0x20, 0x7b, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x75, 0x73, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x79, 0x70, 0x65, 0x20, 0x3d, 0x20, 0x6c, + 0x63, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x34, 0x3b, 0x0a, 0x7d, 0x3b, 0x0a, 0x0a, 0x74, 0x65, + 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x3c, 0x74, 0x79, 0x70, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x20, + 0x54, 0x3e, 0x0a, 0x75, 0x73, 0x69, 0x6e, 0x67, 0x20, 0x6c, 0x63, 0x5f, 0x76, 0x65, 0x63, 0x34, + 0x5f, 0x74, 0x20, 0x3d, 0x20, 0x74, 0x79, 0x70, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x6c, 0x63, + 0x5f, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x54, 0x3e, 0x3a, 0x3a, 0x74, 0x79, 0x70, 0x65, 0x3b, 0x0a, 0x0a, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x3c, 0x74, 0x79, 0x70, 0x65, 0x6e, 0x61, - 0x6d, 0x65, 0x20, 0x54, 0x3e, 0x0a, 0x75, 0x73, 0x69, 0x6e, 0x67, 0x20, 0x6c, 0x63, 0x5f, 0x76, - 0x65, 0x63, 0x34, 0x5f, 0x74, 0x20, 0x3d, 0x20, 0x74, 0x79, 0x70, 0x65, 0x6e, 0x61, 0x6d, 0x65, - 0x20, 0x6c, 0x63, 0x5f, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x54, 0x3e, 0x3a, 0x3a, 0x74, 0x79, 0x70, - 0x65, 0x3b, 0x0a, 0x0a, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x3c, 0x74, 0x79, 0x70, - 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x54, 0x3e, 0x0a, 0x5b, 0x5b, 0x6e, 0x6f, 0x64, 0x69, 0x73, - 0x63, 0x61, 0x72, 0x64, 0x5d, 0x5d, 0x20, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, - 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x6c, 0x63, - 0x5f, 0x73, 0x75, 0x72, 0x66, 0x32, 0x64, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x28, 0x4c, 0x43, 0x53, - 0x75, 0x72, 0x66, 0x61, 0x63, 0x65, 0x20, 0x73, 0x75, 0x72, 0x66, 0x2c, 0x20, 0x6c, 0x63, 0x5f, - 0x75, 0x69, 0x6e, 0x74, 0x32, 0x20, 0x70, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, - 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x76, 0x65, 0x63, 0x34, 0x5f, - 0x74, 0x3c, 0x54, 0x3e, 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x7b, 0x30, 0x2c, 0x20, 0x30, - 0x2c, 0x20, 0x30, 0x2c, 0x20, 0x30, 0x7d, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x73, 0x77, 0x69, - 0x74, 0x63, 0x68, 0x20, 0x28, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x5f, 0x63, 0x61, 0x73, 0x74, - 0x3c, 0x4c, 0x43, 0x50, 0x69, 0x78, 0x65, 0x6c, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x3e, - 0x28, 0x73, 0x75, 0x72, 0x66, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x29, 0x29, 0x20, - 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x61, 0x73, 0x65, 0x20, 0x4c, + 0x6d, 0x65, 0x20, 0x54, 0x3e, 0x0a, 0x5b, 0x5b, 0x6e, 0x6f, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, + 0x64, 0x5d, 0x5d, 0x20, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x61, + 0x75, 0x74, 0x6f, 0x20, 0x6c, 0x63, 0x5f, 0x73, 0x75, 0x72, 0x66, 0x32, 0x64, 0x5f, 0x72, 0x65, + 0x61, 0x64, 0x28, 0x4c, 0x43, 0x53, 0x75, 0x72, 0x66, 0x61, 0x63, 0x65, 0x20, 0x73, 0x75, 0x72, + 0x66, 0x2c, 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x32, 0x20, 0x70, 0x29, 0x20, 0x6e, + 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, + 0x5f, 0x76, 0x65, 0x63, 0x34, 0x5f, 0x74, 0x3c, 0x54, 0x3e, 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, + 0x74, 0x7b, 0x30, 0x2c, 0x20, 0x30, 0x2c, 0x20, 0x30, 0x2c, 0x20, 0x30, 0x7d, 0x3b, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x73, 0x77, 0x69, 0x74, 0x63, 0x68, 0x20, 0x28, 0x73, 0x74, 0x61, 0x74, 0x69, + 0x63, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x4c, 0x43, 0x50, 0x69, 0x78, 0x65, 0x6c, 0x53, 0x74, + 0x6f, 0x72, 0x61, 0x67, 0x65, 0x3e, 0x28, 0x73, 0x75, 0x72, 0x66, 0x2e, 0x73, 0x74, 0x6f, 0x72, + 0x61, 0x67, 0x65, 0x29, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x63, 0x61, 0x73, 0x65, 0x20, 0x4c, 0x43, 0x50, 0x69, 0x78, 0x65, 0x6c, 0x53, 0x74, 0x6f, 0x72, + 0x61, 0x67, 0x65, 0x3a, 0x3a, 0x42, 0x59, 0x54, 0x45, 0x31, 0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x78, 0x3b, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, + 0x28, 0x22, 0x73, 0x75, 0x6c, 0x64, 0x2e, 0x62, 0x2e, 0x32, 0x64, 0x2e, 0x62, 0x38, 0x2e, 0x7a, + 0x65, 0x72, 0x6f, 0x20, 0x25, 0x30, 0x2c, 0x20, 0x5b, 0x25, 0x31, 0x2c, 0x20, 0x7b, 0x25, 0x32, + 0x2c, 0x20, 0x25, 0x33, 0x7d, 0x5d, 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x72, 0x22, 0x28, + 0x78, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x6c, 0x22, 0x28, 0x73, 0x75, 0x72, 0x66, 0x2e, 0x68, 0x61, + 0x6e, 0x64, 0x6c, 0x65, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x70, 0x2e, 0x78, 0x20, 0x2a, + 0x20, 0x28, 0x69, 0x6e, 0x74, 0x29, 0x73, 0x69, 0x7a, 0x65, 0x6f, 0x66, 0x28, 0x63, 0x68, 0x61, + 0x72, 0x29, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x70, 0x2e, 0x79, 0x29, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, + 0x22, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x22, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x78, 0x20, + 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x74, 0x65, 0x78, 0x65, 0x6c, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x5f, + 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x3c, 0x54, 0x2c, 0x20, 0x63, 0x68, 0x61, 0x72, 0x3e, + 0x28, 0x78, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x61, 0x73, 0x65, 0x20, 0x4c, 0x43, 0x50, 0x69, 0x78, 0x65, 0x6c, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x3a, 0x3a, 0x42, - 0x59, 0x54, 0x45, 0x31, 0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x78, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x73, 0x75, 0x6c, 0x64, - 0x2e, 0x62, 0x2e, 0x32, 0x64, 0x2e, 0x62, 0x38, 0x2e, 0x7a, 0x65, 0x72, 0x6f, 0x20, 0x25, 0x30, - 0x2c, 0x20, 0x5b, 0x25, 0x31, 0x2c, 0x20, 0x7b, 0x25, 0x32, 0x2c, 0x20, 0x25, 0x33, 0x7d, 0x5d, - 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x72, 0x22, 0x28, 0x78, 0x29, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, - 0x6c, 0x22, 0x28, 0x73, 0x75, 0x72, 0x66, 0x2e, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x29, 0x2c, - 0x20, 0x22, 0x72, 0x22, 0x28, 0x70, 0x2e, 0x78, 0x20, 0x2a, 0x20, 0x28, 0x69, 0x6e, 0x74, 0x29, - 0x73, 0x69, 0x7a, 0x65, 0x6f, 0x66, 0x28, 0x63, 0x68, 0x61, 0x72, 0x29, 0x29, 0x2c, 0x20, 0x22, - 0x72, 0x22, 0x28, 0x70, 0x2e, 0x79, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x6d, 0x65, 0x6d, 0x6f, 0x72, - 0x79, 0x22, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x78, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x74, + 0x59, 0x54, 0x45, 0x32, 0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x78, 0x2c, 0x20, 0x79, 0x3b, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x73, + 0x75, 0x6c, 0x64, 0x2e, 0x62, 0x2e, 0x32, 0x64, 0x2e, 0x76, 0x32, 0x2e, 0x62, 0x38, 0x2e, 0x7a, + 0x65, 0x72, 0x6f, 0x20, 0x7b, 0x25, 0x30, 0x2c, 0x20, 0x25, 0x31, 0x7d, 0x2c, 0x20, 0x5b, 0x25, + 0x32, 0x2c, 0x20, 0x7b, 0x25, 0x33, 0x2c, 0x20, 0x25, 0x34, 0x7d, 0x5d, 0x3b, 0x22, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, + 0x20, 0x22, 0x3d, 0x72, 0x22, 0x28, 0x78, 0x29, 0x2c, 0x20, 0x22, 0x3d, 0x72, 0x22, 0x28, 0x79, + 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x3a, 0x20, 0x22, 0x6c, 0x22, 0x28, 0x73, 0x75, 0x72, 0x66, 0x2e, 0x68, 0x61, 0x6e, + 0x64, 0x6c, 0x65, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x70, 0x2e, 0x78, 0x20, 0x2a, 0x20, + 0x28, 0x69, 0x6e, 0x74, 0x29, 0x73, 0x69, 0x7a, 0x65, 0x6f, 0x66, 0x28, 0x63, 0x68, 0x61, 0x72, + 0x32, 0x29, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x70, 0x2e, 0x79, 0x29, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, + 0x22, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x22, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x78, 0x20, + 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x74, 0x65, 0x78, 0x65, 0x6c, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x5f, + 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x3c, 0x54, 0x2c, 0x20, 0x63, 0x68, 0x61, 0x72, 0x3e, + 0x28, 0x78, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x79, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x74, 0x65, 0x78, 0x65, 0x6c, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, - 0x74, 0x3c, 0x54, 0x2c, 0x20, 0x63, 0x68, 0x61, 0x72, 0x3e, 0x28, 0x78, 0x29, 0x3b, 0x0a, 0x20, + 0x74, 0x3c, 0x54, 0x2c, 0x20, 0x63, 0x68, 0x61, 0x72, 0x3e, 0x28, 0x79, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x61, 0x73, 0x65, 0x20, 0x4c, 0x43, 0x50, 0x69, 0x78, 0x65, 0x6c, - 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x3a, 0x3a, 0x42, 0x59, 0x54, 0x45, 0x32, 0x3a, 0x20, + 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x3a, 0x3a, 0x42, 0x59, 0x54, 0x45, 0x34, 0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x6e, - 0x74, 0x20, 0x78, 0x2c, 0x20, 0x79, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x73, 0x75, 0x6c, 0x64, 0x2e, 0x62, 0x2e, - 0x32, 0x64, 0x2e, 0x76, 0x32, 0x2e, 0x62, 0x38, 0x2e, 0x7a, 0x65, 0x72, 0x6f, 0x20, 0x7b, 0x25, - 0x30, 0x2c, 0x20, 0x25, 0x31, 0x7d, 0x2c, 0x20, 0x5b, 0x25, 0x32, 0x2c, 0x20, 0x7b, 0x25, 0x33, - 0x2c, 0x20, 0x25, 0x34, 0x7d, 0x5d, 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x72, 0x22, 0x28, - 0x78, 0x29, 0x2c, 0x20, 0x22, 0x3d, 0x72, 0x22, 0x28, 0x79, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x74, 0x20, 0x78, 0x2c, 0x20, 0x79, 0x2c, 0x20, 0x7a, 0x2c, 0x20, 0x77, 0x3b, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x73, + 0x75, 0x6c, 0x64, 0x2e, 0x62, 0x2e, 0x32, 0x64, 0x2e, 0x76, 0x34, 0x2e, 0x62, 0x38, 0x2e, 0x7a, + 0x65, 0x72, 0x6f, 0x20, 0x7b, 0x25, 0x30, 0x2c, 0x20, 0x25, 0x31, 0x2c, 0x20, 0x25, 0x32, 0x2c, + 0x20, 0x25, 0x33, 0x7d, 0x2c, 0x20, 0x5b, 0x25, 0x34, 0x2c, 0x20, 0x7b, 0x25, 0x35, 0x2c, 0x20, + 0x25, 0x36, 0x7d, 0x5d, 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x72, 0x22, 0x28, 0x78, 0x29, + 0x2c, 0x20, 0x22, 0x3d, 0x72, 0x22, 0x28, 0x79, 0x29, 0x2c, 0x20, 0x22, 0x3d, 0x72, 0x22, 0x28, + 0x7a, 0x29, 0x2c, 0x20, 0x22, 0x3d, 0x72, 0x22, 0x28, 0x77, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x6c, 0x22, 0x28, 0x73, 0x75, 0x72, 0x66, 0x2e, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x70, 0x2e, 0x78, 0x20, 0x2a, 0x20, 0x28, 0x69, 0x6e, 0x74, 0x29, 0x73, - 0x69, 0x7a, 0x65, 0x6f, 0x66, 0x28, 0x63, 0x68, 0x61, 0x72, 0x32, 0x29, 0x29, 0x2c, 0x20, 0x22, + 0x69, 0x7a, 0x65, 0x6f, 0x66, 0x28, 0x63, 0x68, 0x61, 0x72, 0x34, 0x29, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x70, 0x2e, 0x79, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x22, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, @@ -37865,69 +37671,123 @@ extern "C" const char luisa_cuda_builtin_cuda_device_resource[119200] = { 0x74, 0x2e, 0x79, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x74, 0x65, 0x78, 0x65, 0x6c, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x3c, 0x54, 0x2c, 0x20, 0x63, 0x68, 0x61, 0x72, 0x3e, 0x28, 0x79, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x61, - 0x73, 0x65, 0x20, 0x4c, 0x43, 0x50, 0x69, 0x78, 0x65, 0x6c, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, - 0x65, 0x3a, 0x3a, 0x42, 0x59, 0x54, 0x45, 0x34, 0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x78, 0x2c, 0x20, 0x79, - 0x2c, 0x20, 0x7a, 0x2c, 0x20, 0x77, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x73, 0x75, 0x6c, 0x64, 0x2e, 0x62, 0x2e, - 0x32, 0x64, 0x2e, 0x76, 0x34, 0x2e, 0x62, 0x38, 0x2e, 0x7a, 0x65, 0x72, 0x6f, 0x20, 0x7b, 0x25, - 0x30, 0x2c, 0x20, 0x25, 0x31, 0x2c, 0x20, 0x25, 0x32, 0x2c, 0x20, 0x25, 0x33, 0x7d, 0x2c, 0x20, - 0x5b, 0x25, 0x34, 0x2c, 0x20, 0x7b, 0x25, 0x35, 0x2c, 0x20, 0x25, 0x36, 0x7d, 0x5d, 0x3b, 0x22, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x72, 0x22, 0x28, 0x78, 0x29, 0x2c, 0x20, 0x22, 0x3d, 0x72, 0x22, - 0x28, 0x79, 0x29, 0x2c, 0x20, 0x22, 0x3d, 0x72, 0x22, 0x28, 0x7a, 0x29, 0x2c, 0x20, 0x22, 0x3d, - 0x72, 0x22, 0x28, 0x77, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x6c, 0x22, 0x28, 0x73, 0x75, 0x72, 0x66, - 0x2e, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x70, 0x2e, - 0x78, 0x20, 0x2a, 0x20, 0x28, 0x69, 0x6e, 0x74, 0x29, 0x73, 0x69, 0x7a, 0x65, 0x6f, 0x66, 0x28, - 0x63, 0x68, 0x61, 0x72, 0x34, 0x29, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x70, 0x2e, 0x79, - 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x3a, 0x20, 0x22, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x22, 0x29, 0x3b, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, - 0x74, 0x2e, 0x78, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x74, 0x65, 0x78, 0x65, 0x6c, 0x5f, 0x72, - 0x65, 0x61, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x3c, 0x54, 0x2c, 0x20, 0x63, - 0x68, 0x61, 0x72, 0x3e, 0x28, 0x78, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x79, 0x20, 0x3d, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x7a, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x74, 0x65, 0x78, 0x65, 0x6c, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x63, 0x6f, - 0x6e, 0x76, 0x65, 0x72, 0x74, 0x3c, 0x54, 0x2c, 0x20, 0x63, 0x68, 0x61, 0x72, 0x3e, 0x28, 0x79, + 0x6e, 0x76, 0x65, 0x72, 0x74, 0x3c, 0x54, 0x2c, 0x20, 0x63, 0x68, 0x61, 0x72, 0x3e, 0x28, 0x7a, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, - 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x7a, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x74, 0x65, 0x78, + 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x77, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x74, 0x65, 0x78, 0x65, 0x6c, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x3c, - 0x54, 0x2c, 0x20, 0x63, 0x68, 0x61, 0x72, 0x3e, 0x28, 0x7a, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, - 0x77, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x74, 0x65, 0x78, 0x65, 0x6c, 0x5f, 0x72, 0x65, 0x61, - 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x3c, 0x54, 0x2c, 0x20, 0x63, 0x68, 0x61, - 0x72, 0x3e, 0x28, 0x77, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x54, 0x2c, 0x20, 0x63, 0x68, 0x61, 0x72, 0x3e, 0x28, 0x77, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x63, 0x61, 0x73, 0x65, 0x20, 0x4c, 0x43, 0x50, 0x69, 0x78, 0x65, 0x6c, 0x53, 0x74, + 0x6f, 0x72, 0x61, 0x67, 0x65, 0x3a, 0x3a, 0x53, 0x48, 0x4f, 0x52, 0x54, 0x31, 0x3a, 0x20, 0x7b, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x6e, 0x74, + 0x20, 0x78, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x61, 0x73, 0x6d, 0x28, 0x22, 0x73, 0x75, 0x6c, 0x64, 0x2e, 0x62, 0x2e, 0x32, 0x64, 0x2e, 0x62, + 0x31, 0x36, 0x2e, 0x7a, 0x65, 0x72, 0x6f, 0x20, 0x25, 0x30, 0x2c, 0x20, 0x5b, 0x25, 0x31, 0x2c, + 0x20, 0x7b, 0x25, 0x32, 0x2c, 0x20, 0x25, 0x33, 0x7d, 0x5d, 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, + 0x3d, 0x72, 0x22, 0x28, 0x78, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x6c, 0x22, 0x28, 0x73, 0x75, 0x72, + 0x66, 0x2e, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x70, + 0x2e, 0x78, 0x20, 0x2a, 0x20, 0x28, 0x69, 0x6e, 0x74, 0x29, 0x73, 0x69, 0x7a, 0x65, 0x6f, 0x66, + 0x28, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x29, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x70, 0x2e, + 0x79, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x22, 0x29, 0x3b, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x73, 0x75, + 0x6c, 0x74, 0x2e, 0x78, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x74, 0x65, 0x78, 0x65, 0x6c, 0x5f, + 0x72, 0x65, 0x61, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x3c, 0x54, 0x2c, 0x20, + 0x73, 0x68, 0x6f, 0x72, 0x74, 0x3e, 0x28, 0x78, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x63, 0x61, 0x73, 0x65, 0x20, 0x4c, 0x43, 0x50, 0x69, 0x78, 0x65, 0x6c, 0x53, 0x74, 0x6f, 0x72, + 0x61, 0x67, 0x65, 0x3a, 0x3a, 0x53, 0x48, 0x4f, 0x52, 0x54, 0x32, 0x3a, 0x20, 0x7b, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x78, + 0x2c, 0x20, 0x79, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x73, 0x75, 0x6c, 0x64, 0x2e, 0x62, 0x2e, 0x32, 0x64, 0x2e, + 0x76, 0x32, 0x2e, 0x62, 0x31, 0x36, 0x2e, 0x7a, 0x65, 0x72, 0x6f, 0x20, 0x7b, 0x25, 0x30, 0x2c, + 0x20, 0x25, 0x31, 0x7d, 0x2c, 0x20, 0x5b, 0x25, 0x32, 0x2c, 0x20, 0x7b, 0x25, 0x33, 0x2c, 0x20, + 0x25, 0x34, 0x7d, 0x5d, 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x72, 0x22, 0x28, 0x78, 0x29, + 0x2c, 0x20, 0x22, 0x3d, 0x72, 0x22, 0x28, 0x79, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x6c, 0x22, 0x28, + 0x73, 0x75, 0x72, 0x66, 0x2e, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x29, 0x2c, 0x20, 0x22, 0x72, + 0x22, 0x28, 0x70, 0x2e, 0x78, 0x20, 0x2a, 0x20, 0x28, 0x69, 0x6e, 0x74, 0x29, 0x73, 0x69, 0x7a, + 0x65, 0x6f, 0x66, 0x28, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x32, 0x29, 0x29, 0x2c, 0x20, 0x22, 0x72, + 0x22, 0x28, 0x70, 0x2e, 0x79, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, + 0x22, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x78, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x74, 0x65, + 0x78, 0x65, 0x6c, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, + 0x3c, 0x54, 0x2c, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x3e, 0x28, 0x78, 0x29, 0x3b, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, + 0x74, 0x2e, 0x79, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x74, 0x65, 0x78, 0x65, 0x6c, 0x5f, 0x72, + 0x65, 0x61, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x3c, 0x54, 0x2c, 0x20, 0x73, + 0x68, 0x6f, 0x72, 0x74, 0x3e, 0x28, 0x79, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, + 0x61, 0x73, 0x65, 0x20, 0x4c, 0x43, 0x50, 0x69, 0x78, 0x65, 0x6c, 0x53, 0x74, 0x6f, 0x72, 0x61, + 0x67, 0x65, 0x3a, 0x3a, 0x53, 0x48, 0x4f, 0x52, 0x54, 0x34, 0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x78, 0x2c, + 0x20, 0x79, 0x2c, 0x20, 0x7a, 0x2c, 0x20, 0x77, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x73, 0x75, 0x6c, 0x64, 0x2e, + 0x62, 0x2e, 0x32, 0x64, 0x2e, 0x76, 0x34, 0x2e, 0x62, 0x31, 0x36, 0x2e, 0x7a, 0x65, 0x72, 0x6f, + 0x20, 0x7b, 0x25, 0x30, 0x2c, 0x20, 0x25, 0x31, 0x2c, 0x20, 0x25, 0x32, 0x2c, 0x20, 0x25, 0x33, + 0x7d, 0x2c, 0x20, 0x5b, 0x25, 0x34, 0x2c, 0x20, 0x7b, 0x25, 0x35, 0x2c, 0x20, 0x25, 0x36, 0x7d, + 0x5d, 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x72, 0x22, 0x28, 0x78, 0x29, 0x2c, 0x20, 0x22, + 0x3d, 0x72, 0x22, 0x28, 0x79, 0x29, 0x2c, 0x20, 0x22, 0x3d, 0x72, 0x22, 0x28, 0x7a, 0x29, 0x2c, + 0x20, 0x22, 0x3d, 0x72, 0x22, 0x28, 0x77, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x6c, 0x22, 0x28, 0x73, + 0x75, 0x72, 0x66, 0x2e, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, + 0x28, 0x70, 0x2e, 0x78, 0x20, 0x2a, 0x20, 0x28, 0x69, 0x6e, 0x74, 0x29, 0x73, 0x69, 0x7a, 0x65, + 0x6f, 0x66, 0x28, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x34, 0x29, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, + 0x28, 0x70, 0x2e, 0x79, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x22, + 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, + 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x78, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x74, 0x65, 0x78, + 0x65, 0x6c, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x3c, + 0x54, 0x2c, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x3e, 0x28, 0x78, 0x29, 0x3b, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, + 0x2e, 0x79, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x74, 0x65, 0x78, 0x65, 0x6c, 0x5f, 0x72, 0x65, + 0x61, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x3c, 0x54, 0x2c, 0x20, 0x73, 0x68, + 0x6f, 0x72, 0x74, 0x3e, 0x28, 0x79, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x7a, 0x20, 0x3d, 0x20, + 0x6c, 0x63, 0x5f, 0x74, 0x65, 0x78, 0x65, 0x6c, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x63, 0x6f, + 0x6e, 0x76, 0x65, 0x72, 0x74, 0x3c, 0x54, 0x2c, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x3e, 0x28, + 0x7a, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x77, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x74, 0x65, + 0x78, 0x65, 0x6c, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, + 0x3c, 0x54, 0x2c, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x3e, 0x28, 0x77, 0x29, 0x3b, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x62, 0x72, 0x65, 0x61, 0x6b, + 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x63, 0x61, 0x73, 0x65, 0x20, 0x4c, 0x43, 0x50, 0x69, 0x78, 0x65, 0x6c, + 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x3a, 0x3a, 0x49, 0x4e, 0x54, 0x31, 0x3a, 0x20, 0x7b, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x6e, 0x74, + 0x20, 0x78, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x61, 0x73, 0x6d, 0x28, 0x22, 0x73, 0x75, 0x6c, 0x64, 0x2e, 0x62, 0x2e, 0x32, 0x64, 0x2e, 0x62, + 0x33, 0x32, 0x2e, 0x7a, 0x65, 0x72, 0x6f, 0x20, 0x25, 0x30, 0x2c, 0x20, 0x5b, 0x25, 0x31, 0x2c, + 0x20, 0x7b, 0x25, 0x32, 0x2c, 0x20, 0x25, 0x33, 0x7d, 0x5d, 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, + 0x3d, 0x72, 0x22, 0x28, 0x78, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x6c, 0x22, 0x28, 0x73, 0x75, 0x72, + 0x66, 0x2e, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x70, + 0x2e, 0x78, 0x20, 0x2a, 0x20, 0x28, 0x69, 0x6e, 0x74, 0x29, 0x73, 0x69, 0x7a, 0x65, 0x6f, 0x66, + 0x28, 0x69, 0x6e, 0x74, 0x29, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x70, 0x2e, 0x79, 0x29, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x3a, 0x20, 0x22, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x22, 0x29, 0x3b, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, + 0x2e, 0x78, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x74, 0x65, 0x78, 0x65, 0x6c, 0x5f, 0x72, 0x65, + 0x61, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x3c, 0x54, 0x2c, 0x20, 0x69, 0x6e, + 0x74, 0x3e, 0x28, 0x78, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x61, 0x73, 0x65, 0x20, 0x4c, 0x43, 0x50, 0x69, 0x78, 0x65, 0x6c, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x3a, - 0x3a, 0x53, 0x48, 0x4f, 0x52, 0x54, 0x31, 0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x78, 0x3b, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x73, - 0x75, 0x6c, 0x64, 0x2e, 0x62, 0x2e, 0x32, 0x64, 0x2e, 0x62, 0x31, 0x36, 0x2e, 0x7a, 0x65, 0x72, - 0x6f, 0x20, 0x25, 0x30, 0x2c, 0x20, 0x5b, 0x25, 0x31, 0x2c, 0x20, 0x7b, 0x25, 0x32, 0x2c, 0x20, - 0x25, 0x33, 0x7d, 0x5d, 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x72, 0x22, 0x28, 0x78, 0x29, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x3a, 0x20, 0x22, 0x6c, 0x22, 0x28, 0x73, 0x75, 0x72, 0x66, 0x2e, 0x68, 0x61, 0x6e, 0x64, - 0x6c, 0x65, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x70, 0x2e, 0x78, 0x20, 0x2a, 0x20, 0x28, - 0x69, 0x6e, 0x74, 0x29, 0x73, 0x69, 0x7a, 0x65, 0x6f, 0x66, 0x28, 0x73, 0x68, 0x6f, 0x72, 0x74, - 0x29, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x70, 0x2e, 0x79, 0x29, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, - 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x22, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x78, 0x20, 0x3d, - 0x20, 0x6c, 0x63, 0x5f, 0x74, 0x65, 0x78, 0x65, 0x6c, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x63, - 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x3c, 0x54, 0x2c, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x3e, - 0x28, 0x78, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x61, 0x73, 0x65, 0x20, 0x4c, - 0x43, 0x50, 0x69, 0x78, 0x65, 0x6c, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x3a, 0x3a, 0x53, - 0x48, 0x4f, 0x52, 0x54, 0x32, 0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x3a, 0x49, 0x4e, 0x54, 0x32, 0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x78, 0x2c, 0x20, 0x79, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, - 0x73, 0x75, 0x6c, 0x64, 0x2e, 0x62, 0x2e, 0x32, 0x64, 0x2e, 0x76, 0x32, 0x2e, 0x62, 0x31, 0x36, + 0x73, 0x75, 0x6c, 0x64, 0x2e, 0x62, 0x2e, 0x32, 0x64, 0x2e, 0x76, 0x32, 0x2e, 0x62, 0x33, 0x32, 0x2e, 0x7a, 0x65, 0x72, 0x6f, 0x20, 0x7b, 0x25, 0x30, 0x2c, 0x20, 0x25, 0x31, 0x7d, 0x2c, 0x20, 0x5b, 0x25, 0x32, 0x2c, 0x20, 0x7b, 0x25, 0x33, 0x2c, 0x20, 0x25, 0x34, 0x7d, 0x5d, 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, @@ -37935,174 +37795,126 @@ extern "C" const char luisa_cuda_builtin_cuda_device_resource[119200] = { 0x28, 0x79, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x6c, 0x22, 0x28, 0x73, 0x75, 0x72, 0x66, 0x2e, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x70, 0x2e, 0x78, 0x20, - 0x2a, 0x20, 0x28, 0x69, 0x6e, 0x74, 0x29, 0x73, 0x69, 0x7a, 0x65, 0x6f, 0x66, 0x28, 0x73, 0x68, - 0x6f, 0x72, 0x74, 0x32, 0x29, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x70, 0x2e, 0x79, 0x29, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x3a, 0x20, 0x22, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x22, 0x29, 0x3b, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, - 0x2e, 0x78, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x74, 0x65, 0x78, 0x65, 0x6c, 0x5f, 0x72, 0x65, - 0x61, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x3c, 0x54, 0x2c, 0x20, 0x73, 0x68, - 0x6f, 0x72, 0x74, 0x3e, 0x28, 0x78, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x79, 0x20, 0x3d, 0x20, - 0x6c, 0x63, 0x5f, 0x74, 0x65, 0x78, 0x65, 0x6c, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x63, 0x6f, - 0x6e, 0x76, 0x65, 0x72, 0x74, 0x3c, 0x54, 0x2c, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x3e, 0x28, - 0x79, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x61, 0x73, 0x65, 0x20, 0x4c, 0x43, - 0x50, 0x69, 0x78, 0x65, 0x6c, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x3a, 0x3a, 0x53, 0x48, - 0x4f, 0x52, 0x54, 0x34, 0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x78, 0x2c, 0x20, 0x79, 0x2c, 0x20, 0x7a, 0x2c, - 0x20, 0x77, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x61, 0x73, 0x6d, 0x28, 0x22, 0x73, 0x75, 0x6c, 0x64, 0x2e, 0x62, 0x2e, 0x32, 0x64, 0x2e, 0x76, - 0x34, 0x2e, 0x62, 0x31, 0x36, 0x2e, 0x7a, 0x65, 0x72, 0x6f, 0x20, 0x7b, 0x25, 0x30, 0x2c, 0x20, - 0x25, 0x31, 0x2c, 0x20, 0x25, 0x32, 0x2c, 0x20, 0x25, 0x33, 0x7d, 0x2c, 0x20, 0x5b, 0x25, 0x34, - 0x2c, 0x20, 0x7b, 0x25, 0x35, 0x2c, 0x20, 0x25, 0x36, 0x7d, 0x5d, 0x3b, 0x22, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, - 0x22, 0x3d, 0x72, 0x22, 0x28, 0x78, 0x29, 0x2c, 0x20, 0x22, 0x3d, 0x72, 0x22, 0x28, 0x79, 0x29, - 0x2c, 0x20, 0x22, 0x3d, 0x72, 0x22, 0x28, 0x7a, 0x29, 0x2c, 0x20, 0x22, 0x3d, 0x72, 0x22, 0x28, - 0x77, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x6c, 0x22, 0x28, 0x73, 0x75, 0x72, 0x66, 0x2e, 0x68, 0x61, - 0x6e, 0x64, 0x6c, 0x65, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x70, 0x2e, 0x78, 0x20, 0x2a, - 0x20, 0x28, 0x69, 0x6e, 0x74, 0x29, 0x73, 0x69, 0x7a, 0x65, 0x6f, 0x66, 0x28, 0x73, 0x68, 0x6f, - 0x72, 0x74, 0x34, 0x29, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x70, 0x2e, 0x79, 0x29, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x3a, 0x20, 0x22, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x22, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, - 0x78, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x74, 0x65, 0x78, 0x65, 0x6c, 0x5f, 0x72, 0x65, 0x61, - 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x3c, 0x54, 0x2c, 0x20, 0x73, 0x68, 0x6f, - 0x72, 0x74, 0x3e, 0x28, 0x78, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x79, 0x20, 0x3d, 0x20, 0x6c, - 0x63, 0x5f, 0x74, 0x65, 0x78, 0x65, 0x6c, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x63, 0x6f, 0x6e, - 0x76, 0x65, 0x72, 0x74, 0x3c, 0x54, 0x2c, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x3e, 0x28, 0x79, + 0x2a, 0x20, 0x28, 0x69, 0x6e, 0x74, 0x29, 0x73, 0x69, 0x7a, 0x65, 0x6f, 0x66, 0x28, 0x69, 0x6e, + 0x74, 0x32, 0x29, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x70, 0x2e, 0x79, 0x29, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, + 0x20, 0x22, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x22, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x78, + 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x74, 0x65, 0x78, 0x65, 0x6c, 0x5f, 0x72, 0x65, 0x61, 0x64, + 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x3c, 0x54, 0x2c, 0x20, 0x69, 0x6e, 0x74, 0x3e, + 0x28, 0x78, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x79, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x74, + 0x65, 0x78, 0x65, 0x6c, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, + 0x74, 0x3c, 0x54, 0x2c, 0x20, 0x69, 0x6e, 0x74, 0x3e, 0x28, 0x79, 0x29, 0x3b, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x63, 0x61, 0x73, 0x65, 0x20, 0x4c, 0x43, 0x50, 0x69, 0x78, 0x65, 0x6c, 0x53, + 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x3a, 0x3a, 0x49, 0x4e, 0x54, 0x34, 0x3a, 0x20, 0x7b, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x6e, 0x74, 0x20, + 0x78, 0x2c, 0x20, 0x79, 0x2c, 0x20, 0x7a, 0x2c, 0x20, 0x77, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x73, 0x75, 0x6c, + 0x64, 0x2e, 0x62, 0x2e, 0x32, 0x64, 0x2e, 0x76, 0x34, 0x2e, 0x62, 0x33, 0x32, 0x2e, 0x7a, 0x65, + 0x72, 0x6f, 0x20, 0x7b, 0x25, 0x30, 0x2c, 0x20, 0x25, 0x31, 0x2c, 0x20, 0x25, 0x32, 0x2c, 0x20, + 0x25, 0x33, 0x7d, 0x2c, 0x20, 0x5b, 0x25, 0x34, 0x2c, 0x20, 0x7b, 0x25, 0x35, 0x2c, 0x20, 0x25, + 0x36, 0x7d, 0x5d, 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x72, 0x22, 0x28, 0x78, 0x29, 0x2c, + 0x20, 0x22, 0x3d, 0x72, 0x22, 0x28, 0x79, 0x29, 0x2c, 0x20, 0x22, 0x3d, 0x72, 0x22, 0x28, 0x7a, + 0x29, 0x2c, 0x20, 0x22, 0x3d, 0x72, 0x22, 0x28, 0x77, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x6c, 0x22, + 0x28, 0x73, 0x75, 0x72, 0x66, 0x2e, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x29, 0x2c, 0x20, 0x22, + 0x72, 0x22, 0x28, 0x70, 0x2e, 0x78, 0x20, 0x2a, 0x20, 0x28, 0x69, 0x6e, 0x74, 0x29, 0x73, 0x69, + 0x7a, 0x65, 0x6f, 0x66, 0x28, 0x69, 0x6e, 0x74, 0x34, 0x29, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, + 0x28, 0x70, 0x2e, 0x79, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x22, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, - 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x7a, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x74, 0x65, 0x78, + 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x78, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x74, 0x65, 0x78, 0x65, 0x6c, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x3c, - 0x54, 0x2c, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x3e, 0x28, 0x7a, 0x29, 0x3b, 0x0a, 0x20, 0x20, + 0x54, 0x2c, 0x20, 0x69, 0x6e, 0x74, 0x3e, 0x28, 0x78, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x79, + 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x74, 0x65, 0x78, 0x65, 0x6c, 0x5f, 0x72, 0x65, 0x61, 0x64, + 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x3c, 0x54, 0x2c, 0x20, 0x69, 0x6e, 0x74, 0x3e, + 0x28, 0x79, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x7a, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x74, + 0x65, 0x78, 0x65, 0x6c, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, + 0x74, 0x3c, 0x54, 0x2c, 0x20, 0x69, 0x6e, 0x74, 0x3e, 0x28, 0x7a, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x77, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x74, 0x65, 0x78, 0x65, 0x6c, 0x5f, 0x72, 0x65, - 0x61, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x3c, 0x54, 0x2c, 0x20, 0x73, 0x68, - 0x6f, 0x72, 0x74, 0x3e, 0x28, 0x77, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x61, - 0x73, 0x65, 0x20, 0x4c, 0x43, 0x50, 0x69, 0x78, 0x65, 0x6c, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, - 0x65, 0x3a, 0x3a, 0x49, 0x4e, 0x54, 0x31, 0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x78, 0x3b, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x73, - 0x75, 0x6c, 0x64, 0x2e, 0x62, 0x2e, 0x32, 0x64, 0x2e, 0x62, 0x33, 0x32, 0x2e, 0x7a, 0x65, 0x72, - 0x6f, 0x20, 0x25, 0x30, 0x2c, 0x20, 0x5b, 0x25, 0x31, 0x2c, 0x20, 0x7b, 0x25, 0x32, 0x2c, 0x20, - 0x25, 0x33, 0x7d, 0x5d, 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x72, 0x22, 0x28, 0x78, 0x29, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x3a, 0x20, 0x22, 0x6c, 0x22, 0x28, 0x73, 0x75, 0x72, 0x66, 0x2e, 0x68, 0x61, 0x6e, 0x64, - 0x6c, 0x65, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x70, 0x2e, 0x78, 0x20, 0x2a, 0x20, 0x28, - 0x69, 0x6e, 0x74, 0x29, 0x73, 0x69, 0x7a, 0x65, 0x6f, 0x66, 0x28, 0x69, 0x6e, 0x74, 0x29, 0x29, - 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x70, 0x2e, 0x79, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x6d, 0x65, - 0x6d, 0x6f, 0x72, 0x79, 0x22, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x78, 0x20, 0x3d, 0x20, 0x6c, - 0x63, 0x5f, 0x74, 0x65, 0x78, 0x65, 0x6c, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x63, 0x6f, 0x6e, - 0x76, 0x65, 0x72, 0x74, 0x3c, 0x54, 0x2c, 0x20, 0x69, 0x6e, 0x74, 0x3e, 0x28, 0x78, 0x29, 0x3b, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x62, 0x72, 0x65, - 0x61, 0x6b, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x61, 0x73, 0x65, 0x20, 0x4c, 0x43, 0x50, 0x69, 0x78, - 0x65, 0x6c, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x3a, 0x3a, 0x49, 0x4e, 0x54, 0x32, 0x3a, - 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, - 0x6e, 0x74, 0x20, 0x78, 0x2c, 0x20, 0x79, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x73, 0x75, 0x6c, 0x64, 0x2e, 0x62, - 0x2e, 0x32, 0x64, 0x2e, 0x76, 0x32, 0x2e, 0x62, 0x33, 0x32, 0x2e, 0x7a, 0x65, 0x72, 0x6f, 0x20, - 0x7b, 0x25, 0x30, 0x2c, 0x20, 0x25, 0x31, 0x7d, 0x2c, 0x20, 0x5b, 0x25, 0x32, 0x2c, 0x20, 0x7b, - 0x25, 0x33, 0x2c, 0x20, 0x25, 0x34, 0x7d, 0x5d, 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x72, - 0x22, 0x28, 0x78, 0x29, 0x2c, 0x20, 0x22, 0x3d, 0x72, 0x22, 0x28, 0x79, 0x29, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, - 0x22, 0x6c, 0x22, 0x28, 0x73, 0x75, 0x72, 0x66, 0x2e, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x29, - 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x70, 0x2e, 0x78, 0x20, 0x2a, 0x20, 0x28, 0x69, 0x6e, 0x74, - 0x29, 0x73, 0x69, 0x7a, 0x65, 0x6f, 0x66, 0x28, 0x69, 0x6e, 0x74, 0x32, 0x29, 0x29, 0x2c, 0x20, - 0x22, 0x72, 0x22, 0x28, 0x70, 0x2e, 0x79, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x6d, 0x65, 0x6d, 0x6f, - 0x72, 0x79, 0x22, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x78, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, - 0x74, 0x65, 0x78, 0x65, 0x6c, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, - 0x72, 0x74, 0x3c, 0x54, 0x2c, 0x20, 0x69, 0x6e, 0x74, 0x3e, 0x28, 0x78, 0x29, 0x3b, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, - 0x74, 0x2e, 0x79, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x74, 0x65, 0x78, 0x65, 0x6c, 0x5f, 0x72, - 0x65, 0x61, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x3c, 0x54, 0x2c, 0x20, 0x69, - 0x6e, 0x74, 0x3e, 0x28, 0x79, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x61, 0x73, - 0x65, 0x20, 0x4c, 0x43, 0x50, 0x69, 0x78, 0x65, 0x6c, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, - 0x3a, 0x3a, 0x49, 0x4e, 0x54, 0x34, 0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x78, 0x2c, 0x20, 0x79, 0x2c, 0x20, - 0x7a, 0x2c, 0x20, 0x77, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x73, 0x75, 0x6c, 0x64, 0x2e, 0x62, 0x2e, 0x32, 0x64, - 0x2e, 0x76, 0x34, 0x2e, 0x62, 0x33, 0x32, 0x2e, 0x7a, 0x65, 0x72, 0x6f, 0x20, 0x7b, 0x25, 0x30, - 0x2c, 0x20, 0x25, 0x31, 0x2c, 0x20, 0x25, 0x32, 0x2c, 0x20, 0x25, 0x33, 0x7d, 0x2c, 0x20, 0x5b, - 0x25, 0x34, 0x2c, 0x20, 0x7b, 0x25, 0x35, 0x2c, 0x20, 0x25, 0x36, 0x7d, 0x5d, 0x3b, 0x22, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x3a, 0x20, 0x22, 0x3d, 0x72, 0x22, 0x28, 0x78, 0x29, 0x2c, 0x20, 0x22, 0x3d, 0x72, 0x22, 0x28, - 0x79, 0x29, 0x2c, 0x20, 0x22, 0x3d, 0x72, 0x22, 0x28, 0x7a, 0x29, 0x2c, 0x20, 0x22, 0x3d, 0x72, - 0x22, 0x28, 0x77, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x6c, 0x22, 0x28, 0x73, 0x75, 0x72, 0x66, 0x2e, - 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x70, 0x2e, 0x78, - 0x20, 0x2a, 0x20, 0x28, 0x69, 0x6e, 0x74, 0x29, 0x73, 0x69, 0x7a, 0x65, 0x6f, 0x66, 0x28, 0x69, - 0x6e, 0x74, 0x34, 0x29, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x70, 0x2e, 0x79, 0x29, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x3a, 0x20, 0x22, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x22, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, - 0x78, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x74, 0x65, 0x78, 0x65, 0x6c, 0x5f, 0x72, 0x65, 0x61, - 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x3c, 0x54, 0x2c, 0x20, 0x69, 0x6e, 0x74, - 0x3e, 0x28, 0x78, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x79, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, - 0x74, 0x65, 0x78, 0x65, 0x6c, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, - 0x72, 0x74, 0x3c, 0x54, 0x2c, 0x20, 0x69, 0x6e, 0x74, 0x3e, 0x28, 0x79, 0x29, 0x3b, 0x0a, 0x20, + 0x61, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x3c, 0x54, 0x2c, 0x20, 0x69, 0x6e, + 0x74, 0x3e, 0x28, 0x77, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x61, 0x73, 0x65, + 0x20, 0x4c, 0x43, 0x50, 0x69, 0x78, 0x65, 0x6c, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x3a, + 0x3a, 0x48, 0x41, 0x4c, 0x46, 0x31, 0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x20, 0x78, 0x3b, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, + 0x28, 0x22, 0x73, 0x75, 0x6c, 0x64, 0x2e, 0x62, 0x2e, 0x32, 0x64, 0x2e, 0x62, 0x31, 0x36, 0x2e, + 0x7a, 0x65, 0x72, 0x6f, 0x20, 0x25, 0x30, 0x2c, 0x20, 0x5b, 0x25, 0x31, 0x2c, 0x20, 0x7b, 0x25, + 0x32, 0x2c, 0x20, 0x25, 0x33, 0x7d, 0x5d, 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x72, 0x22, + 0x28, 0x78, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x6c, 0x22, 0x28, 0x73, 0x75, 0x72, 0x66, 0x2e, 0x68, + 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x70, 0x2e, 0x78, 0x20, + 0x2a, 0x20, 0x28, 0x69, 0x6e, 0x74, 0x29, 0x73, 0x69, 0x7a, 0x65, 0x6f, 0x66, 0x28, 0x6c, 0x63, + 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x29, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x70, 0x2e, 0x79, + 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x3a, 0x20, 0x22, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x22, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, - 0x74, 0x2e, 0x7a, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x74, 0x65, 0x78, 0x65, 0x6c, 0x5f, 0x72, - 0x65, 0x61, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x3c, 0x54, 0x2c, 0x20, 0x69, - 0x6e, 0x74, 0x3e, 0x28, 0x7a, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x77, 0x20, 0x3d, 0x20, 0x6c, - 0x63, 0x5f, 0x74, 0x65, 0x78, 0x65, 0x6c, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x63, 0x6f, 0x6e, - 0x76, 0x65, 0x72, 0x74, 0x3c, 0x54, 0x2c, 0x20, 0x69, 0x6e, 0x74, 0x3e, 0x28, 0x77, 0x29, 0x3b, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x62, 0x72, 0x65, - 0x61, 0x6b, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x61, 0x73, 0x65, 0x20, 0x4c, 0x43, 0x50, 0x69, 0x78, - 0x65, 0x6c, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x3a, 0x3a, 0x48, 0x41, 0x4c, 0x46, 0x31, - 0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x20, 0x78, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x73, 0x75, 0x6c, 0x64, - 0x2e, 0x62, 0x2e, 0x32, 0x64, 0x2e, 0x62, 0x31, 0x36, 0x2e, 0x7a, 0x65, 0x72, 0x6f, 0x20, 0x25, - 0x30, 0x2c, 0x20, 0x5b, 0x25, 0x31, 0x2c, 0x20, 0x7b, 0x25, 0x32, 0x2c, 0x20, 0x25, 0x33, 0x7d, + 0x74, 0x2e, 0x78, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x74, 0x65, 0x78, 0x65, 0x6c, 0x5f, 0x72, + 0x65, 0x61, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x3c, 0x54, 0x2c, 0x20, 0x6c, + 0x63, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x3e, 0x28, 0x6c, 0x63, 0x5f, 0x62, 0x69, 0x74, 0x73, 0x5f, + 0x74, 0x6f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x28, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x5f, 0x63, + 0x61, 0x73, 0x74, 0x3c, 0x6c, 0x63, 0x5f, 0x75, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x3e, 0x28, 0x78, + 0x29, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x61, 0x73, 0x65, 0x20, 0x4c, + 0x43, 0x50, 0x69, 0x78, 0x65, 0x6c, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x3a, 0x3a, 0x48, + 0x41, 0x4c, 0x46, 0x32, 0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x20, 0x78, 0x2c, 0x20, 0x79, + 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, + 0x6d, 0x28, 0x22, 0x73, 0x75, 0x6c, 0x64, 0x2e, 0x62, 0x2e, 0x32, 0x64, 0x2e, 0x76, 0x32, 0x2e, + 0x62, 0x31, 0x36, 0x2e, 0x7a, 0x65, 0x72, 0x6f, 0x20, 0x7b, 0x25, 0x30, 0x2c, 0x20, 0x25, 0x31, + 0x7d, 0x2c, 0x20, 0x5b, 0x25, 0x32, 0x2c, 0x20, 0x7b, 0x25, 0x33, 0x2c, 0x20, 0x25, 0x34, 0x7d, 0x5d, 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x72, 0x22, 0x28, 0x78, 0x29, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, - 0x22, 0x6c, 0x22, 0x28, 0x73, 0x75, 0x72, 0x66, 0x2e, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x29, - 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x70, 0x2e, 0x78, 0x20, 0x2a, 0x20, 0x28, 0x69, 0x6e, 0x74, - 0x29, 0x73, 0x69, 0x7a, 0x65, 0x6f, 0x66, 0x28, 0x6c, 0x63, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x29, - 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x70, 0x2e, 0x79, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x6d, - 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x22, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x78, 0x20, 0x3d, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x72, 0x22, 0x28, 0x78, 0x29, 0x2c, 0x20, 0x22, + 0x3d, 0x72, 0x22, 0x28, 0x79, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x6c, 0x22, 0x28, 0x73, 0x75, 0x72, + 0x66, 0x2e, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x70, + 0x2e, 0x78, 0x20, 0x2a, 0x20, 0x28, 0x69, 0x6e, 0x74, 0x29, 0x73, 0x69, 0x7a, 0x65, 0x6f, 0x66, + 0x28, 0x6c, 0x63, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x29, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, + 0x28, 0x70, 0x2e, 0x79, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x22, + 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, + 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x78, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x74, 0x65, 0x78, + 0x65, 0x6c, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x3c, + 0x54, 0x2c, 0x20, 0x6c, 0x63, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x3e, 0x28, 0x6c, 0x63, 0x5f, 0x62, + 0x69, 0x74, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x28, 0x73, 0x74, 0x61, 0x74, + 0x69, 0x63, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x6c, 0x63, 0x5f, 0x75, 0x73, 0x68, 0x6f, 0x72, + 0x74, 0x3e, 0x28, 0x78, 0x29, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x79, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x74, 0x65, 0x78, 0x65, 0x6c, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x3c, 0x54, 0x2c, 0x20, 0x6c, 0x63, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x3e, 0x28, 0x6c, 0x63, 0x5f, 0x62, 0x69, 0x74, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x28, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x6c, 0x63, - 0x5f, 0x75, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x3e, 0x28, 0x78, 0x29, 0x29, 0x29, 0x3b, 0x0a, 0x20, + 0x5f, 0x75, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x3e, 0x28, 0x79, 0x29, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x61, 0x73, 0x65, 0x20, 0x4c, 0x43, 0x50, 0x69, 0x78, 0x65, 0x6c, - 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x3a, 0x3a, 0x48, 0x41, 0x4c, 0x46, 0x32, 0x3a, 0x20, + 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x3a, 0x3a, 0x48, 0x41, 0x4c, 0x46, 0x34, 0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, - 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x20, 0x78, 0x2c, 0x20, 0x79, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x73, 0x75, 0x6c, - 0x64, 0x2e, 0x62, 0x2e, 0x32, 0x64, 0x2e, 0x76, 0x32, 0x2e, 0x62, 0x31, 0x36, 0x2e, 0x7a, 0x65, - 0x72, 0x6f, 0x20, 0x7b, 0x25, 0x30, 0x2c, 0x20, 0x25, 0x31, 0x7d, 0x2c, 0x20, 0x5b, 0x25, 0x32, - 0x2c, 0x20, 0x7b, 0x25, 0x33, 0x2c, 0x20, 0x25, 0x34, 0x7d, 0x5d, 0x3b, 0x22, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, - 0x22, 0x3d, 0x72, 0x22, 0x28, 0x78, 0x29, 0x2c, 0x20, 0x22, 0x3d, 0x72, 0x22, 0x28, 0x79, 0x29, + 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x20, 0x78, 0x2c, 0x20, 0x79, 0x2c, 0x20, 0x7a, 0x2c, 0x20, 0x77, + 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, + 0x6d, 0x28, 0x22, 0x73, 0x75, 0x6c, 0x64, 0x2e, 0x62, 0x2e, 0x32, 0x64, 0x2e, 0x76, 0x34, 0x2e, + 0x62, 0x31, 0x36, 0x2e, 0x7a, 0x65, 0x72, 0x6f, 0x20, 0x7b, 0x25, 0x30, 0x2c, 0x20, 0x25, 0x31, + 0x2c, 0x20, 0x25, 0x32, 0x2c, 0x20, 0x25, 0x33, 0x7d, 0x2c, 0x20, 0x5b, 0x25, 0x34, 0x2c, 0x20, + 0x7b, 0x25, 0x35, 0x2c, 0x20, 0x25, 0x36, 0x7d, 0x5d, 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, + 0x72, 0x22, 0x28, 0x78, 0x29, 0x2c, 0x20, 0x22, 0x3d, 0x72, 0x22, 0x28, 0x79, 0x29, 0x2c, 0x20, + 0x22, 0x3d, 0x72, 0x22, 0x28, 0x7a, 0x29, 0x2c, 0x20, 0x22, 0x3d, 0x72, 0x22, 0x28, 0x77, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x6c, 0x22, 0x28, 0x73, 0x75, 0x72, 0x66, 0x2e, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x70, 0x2e, 0x78, 0x20, 0x2a, 0x20, 0x28, 0x69, 0x6e, 0x74, 0x29, 0x73, 0x69, 0x7a, 0x65, 0x6f, 0x66, 0x28, 0x6c, 0x63, 0x5f, 0x68, 0x61, - 0x6c, 0x66, 0x32, 0x29, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x70, 0x2e, 0x79, 0x29, 0x0a, + 0x6c, 0x66, 0x34, 0x29, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x70, 0x2e, 0x79, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x22, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, @@ -38118,89 +37930,33 @@ extern "C" const char luisa_cuda_builtin_cuda_device_resource[119200] = { 0x69, 0x74, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x28, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x6c, 0x63, 0x5f, 0x75, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x3e, 0x28, 0x79, 0x29, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x61, - 0x73, 0x65, 0x20, 0x4c, 0x43, 0x50, 0x69, 0x78, 0x65, 0x6c, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, - 0x65, 0x3a, 0x3a, 0x48, 0x41, 0x4c, 0x46, 0x34, 0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x20, - 0x78, 0x2c, 0x20, 0x79, 0x2c, 0x20, 0x7a, 0x2c, 0x20, 0x77, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x73, 0x75, 0x6c, - 0x64, 0x2e, 0x62, 0x2e, 0x32, 0x64, 0x2e, 0x76, 0x34, 0x2e, 0x62, 0x31, 0x36, 0x2e, 0x7a, 0x65, - 0x72, 0x6f, 0x20, 0x7b, 0x25, 0x30, 0x2c, 0x20, 0x25, 0x31, 0x2c, 0x20, 0x25, 0x32, 0x2c, 0x20, - 0x25, 0x33, 0x7d, 0x2c, 0x20, 0x5b, 0x25, 0x34, 0x2c, 0x20, 0x7b, 0x25, 0x35, 0x2c, 0x20, 0x25, - 0x36, 0x7d, 0x5d, 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x72, 0x22, 0x28, 0x78, 0x29, 0x2c, - 0x20, 0x22, 0x3d, 0x72, 0x22, 0x28, 0x79, 0x29, 0x2c, 0x20, 0x22, 0x3d, 0x72, 0x22, 0x28, 0x7a, - 0x29, 0x2c, 0x20, 0x22, 0x3d, 0x72, 0x22, 0x28, 0x77, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x6c, 0x22, - 0x28, 0x73, 0x75, 0x72, 0x66, 0x2e, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x29, 0x2c, 0x20, 0x22, - 0x72, 0x22, 0x28, 0x70, 0x2e, 0x78, 0x20, 0x2a, 0x20, 0x28, 0x69, 0x6e, 0x74, 0x29, 0x73, 0x69, - 0x7a, 0x65, 0x6f, 0x66, 0x28, 0x6c, 0x63, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x34, 0x29, 0x29, 0x2c, - 0x20, 0x22, 0x72, 0x22, 0x28, 0x70, 0x2e, 0x79, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x6d, 0x65, 0x6d, - 0x6f, 0x72, 0x79, 0x22, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x78, 0x20, 0x3d, 0x20, 0x6c, 0x63, - 0x5f, 0x74, 0x65, 0x78, 0x65, 0x6c, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x76, - 0x65, 0x72, 0x74, 0x3c, 0x54, 0x2c, 0x20, 0x6c, 0x63, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x3e, 0x28, - 0x6c, 0x63, 0x5f, 0x62, 0x69, 0x74, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x28, - 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x6c, 0x63, 0x5f, 0x75, - 0x73, 0x68, 0x6f, 0x72, 0x74, 0x3e, 0x28, 0x78, 0x29, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, - 0x79, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x74, 0x65, 0x78, 0x65, 0x6c, 0x5f, 0x72, 0x65, 0x61, - 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x3c, 0x54, 0x2c, 0x20, 0x6c, 0x63, 0x5f, - 0x68, 0x61, 0x6c, 0x66, 0x3e, 0x28, 0x6c, 0x63, 0x5f, 0x62, 0x69, 0x74, 0x73, 0x5f, 0x74, 0x6f, - 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x28, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x5f, 0x63, 0x61, 0x73, - 0x74, 0x3c, 0x6c, 0x63, 0x5f, 0x75, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x3e, 0x28, 0x79, 0x29, 0x29, - 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, - 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x7a, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x74, 0x65, 0x78, - 0x65, 0x6c, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x3c, - 0x54, 0x2c, 0x20, 0x6c, 0x63, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x3e, 0x28, 0x6c, 0x63, 0x5f, 0x62, - 0x69, 0x74, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x28, 0x73, 0x74, 0x61, 0x74, - 0x69, 0x63, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x6c, 0x63, 0x5f, 0x75, 0x73, 0x68, 0x6f, 0x72, - 0x74, 0x3e, 0x28, 0x7a, 0x29, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x77, 0x20, 0x3d, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x7a, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x74, 0x65, 0x78, 0x65, 0x6c, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x3c, 0x54, 0x2c, 0x20, 0x6c, 0x63, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x3e, 0x28, 0x6c, 0x63, 0x5f, 0x62, 0x69, 0x74, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x28, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x6c, 0x63, - 0x5f, 0x75, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x3e, 0x28, 0x77, 0x29, 0x29, 0x29, 0x3b, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x62, 0x72, 0x65, 0x61, 0x6b, - 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x63, 0x61, 0x73, 0x65, 0x20, 0x4c, 0x43, 0x50, 0x69, 0x78, 0x65, 0x6c, - 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x3a, 0x3a, 0x46, 0x4c, 0x4f, 0x41, 0x54, 0x31, 0x3a, - 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x66, - 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x78, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x73, 0x75, 0x6c, 0x64, 0x2e, 0x62, 0x2e, - 0x32, 0x64, 0x2e, 0x62, 0x33, 0x32, 0x2e, 0x7a, 0x65, 0x72, 0x6f, 0x20, 0x25, 0x30, 0x2c, 0x20, - 0x5b, 0x25, 0x31, 0x2c, 0x20, 0x7b, 0x25, 0x32, 0x2c, 0x20, 0x25, 0x33, 0x7d, 0x5d, 0x3b, 0x22, + 0x5f, 0x75, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x3e, 0x28, 0x7a, 0x29, 0x29, 0x29, 0x3b, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, + 0x74, 0x2e, 0x77, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x74, 0x65, 0x78, 0x65, 0x6c, 0x5f, 0x72, + 0x65, 0x61, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x3c, 0x54, 0x2c, 0x20, 0x6c, + 0x63, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x3e, 0x28, 0x6c, 0x63, 0x5f, 0x62, 0x69, 0x74, 0x73, 0x5f, + 0x74, 0x6f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x28, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x5f, 0x63, + 0x61, 0x73, 0x74, 0x3c, 0x6c, 0x63, 0x5f, 0x75, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x3e, 0x28, 0x77, + 0x29, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x61, 0x73, 0x65, 0x20, 0x4c, + 0x43, 0x50, 0x69, 0x78, 0x65, 0x6c, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x3a, 0x3a, 0x46, + 0x4c, 0x4f, 0x41, 0x54, 0x31, 0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x78, 0x3b, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x73, + 0x75, 0x6c, 0x64, 0x2e, 0x62, 0x2e, 0x32, 0x64, 0x2e, 0x62, 0x33, 0x32, 0x2e, 0x7a, 0x65, 0x72, + 0x6f, 0x20, 0x25, 0x30, 0x2c, 0x20, 0x5b, 0x25, 0x31, 0x2c, 0x20, 0x7b, 0x25, 0x32, 0x2c, 0x20, + 0x25, 0x33, 0x7d, 0x5d, 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x66, 0x22, 0x28, 0x78, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x66, 0x22, 0x28, 0x78, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x6c, 0x22, - 0x28, 0x73, 0x75, 0x72, 0x66, 0x2e, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x29, 0x2c, 0x20, 0x22, - 0x72, 0x22, 0x28, 0x70, 0x2e, 0x78, 0x20, 0x2a, 0x20, 0x28, 0x69, 0x6e, 0x74, 0x29, 0x73, 0x69, - 0x7a, 0x65, 0x6f, 0x66, 0x28, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x29, 0x29, 0x2c, 0x20, 0x22, 0x72, - 0x22, 0x28, 0x70, 0x2e, 0x79, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, - 0x22, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x78, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x74, 0x65, - 0x78, 0x65, 0x6c, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, - 0x3c, 0x54, 0x2c, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x3e, 0x28, 0x78, 0x29, 0x3b, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x62, 0x72, 0x65, 0x61, 0x6b, - 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x63, 0x61, 0x73, 0x65, 0x20, 0x4c, 0x43, 0x50, 0x69, 0x78, 0x65, 0x6c, - 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x3a, 0x3a, 0x46, 0x4c, 0x4f, 0x41, 0x54, 0x32, 0x3a, - 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x66, - 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x78, 0x2c, 0x20, 0x79, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x73, 0x75, 0x6c, 0x64, - 0x2e, 0x62, 0x2e, 0x32, 0x64, 0x2e, 0x76, 0x32, 0x2e, 0x62, 0x33, 0x32, 0x2e, 0x7a, 0x65, 0x72, - 0x6f, 0x20, 0x7b, 0x25, 0x30, 0x2c, 0x20, 0x25, 0x31, 0x7d, 0x2c, 0x20, 0x5b, 0x25, 0x32, 0x2c, - 0x20, 0x7b, 0x25, 0x33, 0x2c, 0x20, 0x25, 0x34, 0x7d, 0x5d, 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, - 0x3d, 0x66, 0x22, 0x28, 0x78, 0x29, 0x2c, 0x20, 0x22, 0x3d, 0x66, 0x22, 0x28, 0x79, 0x29, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x3a, 0x20, 0x22, 0x6c, 0x22, 0x28, 0x73, 0x75, 0x72, 0x66, 0x2e, 0x68, 0x61, 0x6e, 0x64, 0x6c, - 0x65, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x70, 0x2e, 0x78, 0x20, 0x2a, 0x20, 0x28, 0x69, - 0x6e, 0x74, 0x29, 0x73, 0x69, 0x7a, 0x65, 0x6f, 0x66, 0x28, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x32, + 0x20, 0x3a, 0x20, 0x22, 0x6c, 0x22, 0x28, 0x73, 0x75, 0x72, 0x66, 0x2e, 0x68, 0x61, 0x6e, 0x64, + 0x6c, 0x65, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x70, 0x2e, 0x78, 0x20, 0x2a, 0x20, 0x28, + 0x69, 0x6e, 0x74, 0x29, 0x73, 0x69, 0x7a, 0x65, 0x6f, 0x66, 0x28, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x29, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x70, 0x2e, 0x79, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x22, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, @@ -38208,113 +37964,108 @@ extern "C" const char luisa_cuda_builtin_cuda_device_resource[119200] = { 0x20, 0x6c, 0x63, 0x5f, 0x74, 0x65, 0x78, 0x65, 0x6c, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x3c, 0x54, 0x2c, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x3e, 0x28, 0x78, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x79, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x74, - 0x65, 0x78, 0x65, 0x6c, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, - 0x74, 0x3c, 0x54, 0x2c, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x3e, 0x28, 0x79, 0x29, 0x3b, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x62, 0x72, 0x65, 0x61, - 0x6b, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x61, 0x73, 0x65, 0x20, 0x4c, 0x43, 0x50, 0x69, 0x78, 0x65, - 0x6c, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x3a, 0x3a, 0x46, 0x4c, 0x4f, 0x41, 0x54, 0x34, - 0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x78, 0x2c, 0x20, 0x79, 0x2c, 0x20, 0x7a, 0x2c, 0x20, 0x77, - 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, - 0x6d, 0x28, 0x22, 0x73, 0x75, 0x6c, 0x64, 0x2e, 0x62, 0x2e, 0x32, 0x64, 0x2e, 0x76, 0x34, 0x2e, - 0x62, 0x33, 0x32, 0x2e, 0x7a, 0x65, 0x72, 0x6f, 0x20, 0x7b, 0x25, 0x30, 0x2c, 0x20, 0x25, 0x31, - 0x2c, 0x20, 0x25, 0x32, 0x2c, 0x20, 0x25, 0x33, 0x7d, 0x2c, 0x20, 0x5b, 0x25, 0x34, 0x2c, 0x20, - 0x7b, 0x25, 0x35, 0x2c, 0x20, 0x25, 0x36, 0x7d, 0x5d, 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, - 0x66, 0x22, 0x28, 0x78, 0x29, 0x2c, 0x20, 0x22, 0x3d, 0x66, 0x22, 0x28, 0x79, 0x29, 0x2c, 0x20, - 0x22, 0x3d, 0x66, 0x22, 0x28, 0x7a, 0x29, 0x2c, 0x20, 0x22, 0x3d, 0x66, 0x22, 0x28, 0x77, 0x29, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x3a, 0x20, 0x22, 0x6c, 0x22, 0x28, 0x73, 0x75, 0x72, 0x66, 0x2e, 0x68, 0x61, 0x6e, 0x64, - 0x6c, 0x65, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x70, 0x2e, 0x78, 0x20, 0x2a, 0x20, 0x28, - 0x69, 0x6e, 0x74, 0x29, 0x73, 0x69, 0x7a, 0x65, 0x6f, 0x66, 0x28, 0x66, 0x6c, 0x6f, 0x61, 0x74, - 0x34, 0x29, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x70, 0x2e, 0x79, 0x29, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, - 0x22, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x22, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x78, 0x20, + 0x20, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x61, 0x73, 0x65, 0x20, 0x4c, + 0x43, 0x50, 0x69, 0x78, 0x65, 0x6c, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x3a, 0x3a, 0x46, + 0x4c, 0x4f, 0x41, 0x54, 0x32, 0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x78, 0x2c, 0x20, 0x79, 0x3b, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, + 0x28, 0x22, 0x73, 0x75, 0x6c, 0x64, 0x2e, 0x62, 0x2e, 0x32, 0x64, 0x2e, 0x76, 0x32, 0x2e, 0x62, + 0x33, 0x32, 0x2e, 0x7a, 0x65, 0x72, 0x6f, 0x20, 0x7b, 0x25, 0x30, 0x2c, 0x20, 0x25, 0x31, 0x7d, + 0x2c, 0x20, 0x5b, 0x25, 0x32, 0x2c, 0x20, 0x7b, 0x25, 0x33, 0x2c, 0x20, 0x25, 0x34, 0x7d, 0x5d, + 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x66, 0x22, 0x28, 0x78, 0x29, 0x2c, 0x20, 0x22, 0x3d, + 0x66, 0x22, 0x28, 0x79, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x6c, 0x22, 0x28, 0x73, 0x75, 0x72, 0x66, + 0x2e, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x70, 0x2e, + 0x78, 0x20, 0x2a, 0x20, 0x28, 0x69, 0x6e, 0x74, 0x29, 0x73, 0x69, 0x7a, 0x65, 0x6f, 0x66, 0x28, + 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x32, 0x29, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x70, 0x2e, + 0x79, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x22, 0x29, 0x3b, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x73, 0x75, + 0x6c, 0x74, 0x2e, 0x78, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x74, 0x65, 0x78, 0x65, 0x6c, 0x5f, + 0x72, 0x65, 0x61, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x3c, 0x54, 0x2c, 0x20, + 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x3e, 0x28, 0x78, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x79, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x74, 0x65, 0x78, 0x65, 0x6c, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x3c, 0x54, 0x2c, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, - 0x3e, 0x28, 0x78, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x79, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, - 0x74, 0x65, 0x78, 0x65, 0x6c, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, - 0x72, 0x74, 0x3c, 0x54, 0x2c, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x3e, 0x28, 0x79, 0x29, 0x3b, + 0x3e, 0x28, 0x79, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x61, 0x73, 0x65, 0x20, + 0x4c, 0x43, 0x50, 0x69, 0x78, 0x65, 0x6c, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x3a, 0x3a, + 0x46, 0x4c, 0x4f, 0x41, 0x54, 0x34, 0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x78, 0x2c, 0x20, 0x79, + 0x2c, 0x20, 0x7a, 0x2c, 0x20, 0x77, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x73, 0x75, 0x6c, 0x64, 0x2e, 0x62, 0x2e, + 0x32, 0x64, 0x2e, 0x76, 0x34, 0x2e, 0x62, 0x33, 0x32, 0x2e, 0x7a, 0x65, 0x72, 0x6f, 0x20, 0x7b, + 0x25, 0x30, 0x2c, 0x20, 0x25, 0x31, 0x2c, 0x20, 0x25, 0x32, 0x2c, 0x20, 0x25, 0x33, 0x7d, 0x2c, + 0x20, 0x5b, 0x25, 0x34, 0x2c, 0x20, 0x7b, 0x25, 0x35, 0x2c, 0x20, 0x25, 0x36, 0x7d, 0x5d, 0x3b, + 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x66, 0x22, 0x28, 0x78, 0x29, 0x2c, 0x20, 0x22, 0x3d, 0x66, + 0x22, 0x28, 0x79, 0x29, 0x2c, 0x20, 0x22, 0x3d, 0x66, 0x22, 0x28, 0x7a, 0x29, 0x2c, 0x20, 0x22, + 0x3d, 0x66, 0x22, 0x28, 0x77, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x6c, 0x22, 0x28, 0x73, 0x75, 0x72, + 0x66, 0x2e, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x70, + 0x2e, 0x78, 0x20, 0x2a, 0x20, 0x28, 0x69, 0x6e, 0x74, 0x29, 0x73, 0x69, 0x7a, 0x65, 0x6f, 0x66, + 0x28, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x34, 0x29, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x70, + 0x2e, 0x79, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x22, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x73, - 0x75, 0x6c, 0x74, 0x2e, 0x7a, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x74, 0x65, 0x78, 0x65, 0x6c, + 0x75, 0x6c, 0x74, 0x2e, 0x78, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x74, 0x65, 0x78, 0x65, 0x6c, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x3c, 0x54, 0x2c, - 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x3e, 0x28, 0x7a, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x77, + 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x3e, 0x28, 0x78, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x79, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x74, 0x65, 0x78, 0x65, 0x6c, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x3c, 0x54, 0x2c, 0x20, 0x66, 0x6c, 0x6f, 0x61, - 0x74, 0x3e, 0x28, 0x77, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x64, 0x65, 0x66, 0x61, - 0x75, 0x6c, 0x74, 0x3a, 0x20, 0x5f, 0x5f, 0x62, 0x75, 0x69, 0x6c, 0x74, 0x69, 0x6e, 0x5f, 0x75, - 0x6e, 0x72, 0x65, 0x61, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x28, 0x29, 0x3b, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x72, - 0x65, 0x73, 0x75, 0x6c, 0x74, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, - 0x74, 0x65, 0x3c, 0x74, 0x79, 0x70, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x54, 0x2c, 0x20, 0x74, - 0x79, 0x70, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x56, 0x3e, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, - 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x76, 0x6f, 0x69, - 0x64, 0x20, 0x6c, 0x63, 0x5f, 0x73, 0x75, 0x72, 0x66, 0x32, 0x64, 0x5f, 0x77, 0x72, 0x69, 0x74, - 0x65, 0x28, 0x4c, 0x43, 0x53, 0x75, 0x72, 0x66, 0x61, 0x63, 0x65, 0x20, 0x73, 0x75, 0x72, 0x66, - 0x2c, 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x32, 0x20, 0x70, 0x2c, 0x20, 0x56, 0x20, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, - 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x73, 0x77, 0x69, 0x74, 0x63, 0x68, 0x20, 0x28, 0x73, 0x74, - 0x61, 0x74, 0x69, 0x63, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x4c, 0x43, 0x50, 0x69, 0x78, 0x65, - 0x6c, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x3e, 0x28, 0x73, 0x75, 0x72, 0x66, 0x2e, 0x73, - 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x29, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x63, 0x61, 0x73, 0x65, 0x20, 0x4c, 0x43, 0x50, 0x69, 0x78, 0x65, 0x6c, 0x53, - 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x3a, 0x3a, 0x42, 0x59, 0x54, 0x45, 0x31, 0x3a, 0x20, 0x7b, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x6e, 0x74, - 0x20, 0x76, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x74, 0x65, 0x78, 0x65, 0x6c, 0x5f, 0x77, 0x72, - 0x69, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x3c, 0x63, 0x68, 0x61, 0x72, - 0x3e, 0x28, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x78, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x20, 0x76, 0x6f, 0x6c, 0x61, - 0x74, 0x69, 0x6c, 0x65, 0x28, 0x22, 0x73, 0x75, 0x73, 0x74, 0x2e, 0x62, 0x2e, 0x32, 0x64, 0x2e, - 0x62, 0x38, 0x2e, 0x7a, 0x65, 0x72, 0x6f, 0x20, 0x5b, 0x25, 0x30, 0x2c, 0x20, 0x7b, 0x25, 0x31, - 0x2c, 0x20, 0x25, 0x32, 0x7d, 0x5d, 0x2c, 0x20, 0x25, 0x33, 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x3a, 0x20, 0x22, 0x6c, 0x22, 0x28, 0x73, 0x75, 0x72, 0x66, 0x2e, 0x68, 0x61, 0x6e, 0x64, - 0x6c, 0x65, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x70, 0x2e, 0x78, 0x20, 0x2a, 0x20, 0x28, - 0x69, 0x6e, 0x74, 0x29, 0x28, 0x73, 0x69, 0x7a, 0x65, 0x6f, 0x66, 0x28, 0x63, 0x68, 0x61, 0x72, - 0x29, 0x29, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x70, 0x2e, 0x79, 0x29, 0x2c, 0x20, 0x22, - 0x72, 0x22, 0x28, 0x76, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, - 0x20, 0x22, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x22, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x63, 0x61, 0x73, 0x65, 0x20, 0x4c, 0x43, 0x50, 0x69, 0x78, 0x65, 0x6c, 0x53, 0x74, 0x6f, - 0x72, 0x61, 0x67, 0x65, 0x3a, 0x3a, 0x42, 0x59, 0x54, 0x45, 0x32, 0x3a, 0x20, 0x7b, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x76, - 0x78, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x74, 0x65, 0x78, 0x65, 0x6c, 0x5f, 0x77, 0x72, 0x69, + 0x74, 0x3e, 0x28, 0x79, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x7a, 0x20, 0x3d, 0x20, 0x6c, 0x63, + 0x5f, 0x74, 0x65, 0x78, 0x65, 0x6c, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x76, + 0x65, 0x72, 0x74, 0x3c, 0x54, 0x2c, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x3e, 0x28, 0x7a, 0x29, + 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, + 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x77, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x74, 0x65, 0x78, 0x65, + 0x6c, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x3c, 0x54, + 0x2c, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x3e, 0x28, 0x77, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x3a, 0x20, 0x5f, 0x5f, 0x62, 0x75, 0x69, + 0x6c, 0x74, 0x69, 0x6e, 0x5f, 0x75, 0x6e, 0x72, 0x65, 0x61, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, + 0x28, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, + 0x74, 0x75, 0x72, 0x6e, 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, + 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x3c, 0x74, 0x79, 0x70, 0x65, 0x6e, 0x61, 0x6d, + 0x65, 0x20, 0x54, 0x2c, 0x20, 0x74, 0x79, 0x70, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x56, 0x3e, + 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x76, 0x6f, 0x69, 0x64, + 0x20, 0x6c, 0x63, 0x5f, 0x73, 0x75, 0x72, 0x66, 0x32, 0x64, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, + 0x28, 0x4c, 0x43, 0x53, 0x75, 0x72, 0x66, 0x61, 0x63, 0x65, 0x20, 0x73, 0x75, 0x72, 0x66, 0x2c, + 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x32, 0x20, 0x70, 0x2c, 0x20, 0x56, 0x20, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x73, 0x77, 0x69, 0x74, 0x63, 0x68, 0x20, 0x28, 0x73, 0x74, 0x61, + 0x74, 0x69, 0x63, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x4c, 0x43, 0x50, 0x69, 0x78, 0x65, 0x6c, + 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x3e, 0x28, 0x73, 0x75, 0x72, 0x66, 0x2e, 0x73, 0x74, + 0x6f, 0x72, 0x61, 0x67, 0x65, 0x29, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x63, 0x61, 0x73, 0x65, 0x20, 0x4c, 0x43, 0x50, 0x69, 0x78, 0x65, 0x6c, 0x53, 0x74, + 0x6f, 0x72, 0x61, 0x67, 0x65, 0x3a, 0x3a, 0x42, 0x59, 0x54, 0x45, 0x31, 0x3a, 0x20, 0x7b, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x6e, 0x74, 0x20, + 0x76, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x74, 0x65, 0x78, 0x65, 0x6c, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x3c, 0x63, 0x68, 0x61, 0x72, 0x3e, 0x28, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x78, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x76, 0x79, 0x20, 0x3d, 0x20, - 0x6c, 0x63, 0x5f, 0x74, 0x65, 0x78, 0x65, 0x6c, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x63, - 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x3c, 0x63, 0x68, 0x61, 0x72, 0x3e, 0x28, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x2e, 0x79, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x20, 0x76, 0x6f, 0x6c, 0x61, 0x74, 0x69, 0x6c, 0x65, 0x28, - 0x22, 0x73, 0x75, 0x73, 0x74, 0x2e, 0x62, 0x2e, 0x32, 0x64, 0x2e, 0x76, 0x32, 0x2e, 0x62, 0x38, - 0x2e, 0x7a, 0x65, 0x72, 0x6f, 0x20, 0x5b, 0x25, 0x30, 0x2c, 0x20, 0x7b, 0x25, 0x31, 0x2c, 0x20, - 0x25, 0x32, 0x7d, 0x5d, 0x2c, 0x20, 0x7b, 0x25, 0x33, 0x2c, 0x20, 0x25, 0x34, 0x7d, 0x3b, 0x22, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x20, 0x76, 0x6f, 0x6c, 0x61, 0x74, + 0x69, 0x6c, 0x65, 0x28, 0x22, 0x73, 0x75, 0x73, 0x74, 0x2e, 0x62, 0x2e, 0x32, 0x64, 0x2e, 0x62, + 0x38, 0x2e, 0x7a, 0x65, 0x72, 0x6f, 0x20, 0x5b, 0x25, 0x30, 0x2c, 0x20, 0x7b, 0x25, 0x31, 0x2c, + 0x20, 0x25, 0x32, 0x7d, 0x5d, 0x2c, 0x20, 0x25, 0x33, 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x6c, 0x22, 0x28, 0x73, 0x75, 0x72, 0x66, 0x2e, - 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x70, 0x2e, 0x78, - 0x20, 0x2a, 0x20, 0x28, 0x69, 0x6e, 0x74, 0x29, 0x28, 0x73, 0x69, 0x7a, 0x65, 0x6f, 0x66, 0x28, - 0x63, 0x68, 0x61, 0x72, 0x32, 0x29, 0x29, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x70, 0x2e, - 0x79, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x76, 0x78, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, - 0x28, 0x76, 0x79, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x3a, 0x20, 0x22, 0x6c, 0x22, 0x28, 0x73, 0x75, 0x72, 0x66, 0x2e, 0x68, 0x61, 0x6e, 0x64, 0x6c, + 0x65, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x70, 0x2e, 0x78, 0x20, 0x2a, 0x20, 0x28, 0x69, + 0x6e, 0x74, 0x29, 0x28, 0x73, 0x69, 0x7a, 0x65, 0x6f, 0x66, 0x28, 0x63, 0x68, 0x61, 0x72, 0x29, + 0x29, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x70, 0x2e, 0x79, 0x29, 0x2c, 0x20, 0x22, 0x72, + 0x22, 0x28, 0x76, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x22, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x61, 0x73, 0x65, 0x20, 0x4c, 0x43, 0x50, 0x69, 0x78, 0x65, 0x6c, 0x53, 0x74, 0x6f, 0x72, - 0x61, 0x67, 0x65, 0x3a, 0x3a, 0x42, 0x59, 0x54, 0x45, 0x34, 0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, + 0x61, 0x67, 0x65, 0x3a, 0x3a, 0x42, 0x59, 0x54, 0x45, 0x32, 0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x76, 0x78, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x74, 0x65, 0x78, 0x65, 0x6c, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x3c, 0x63, 0x68, 0x61, 0x72, 0x3e, 0x28, @@ -38323,515 +38074,628 @@ extern "C" const char luisa_cuda_builtin_cuda_device_resource[119200] = { 0x63, 0x5f, 0x74, 0x65, 0x78, 0x65, 0x6c, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x3c, 0x63, 0x68, 0x61, 0x72, 0x3e, 0x28, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x79, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x76, 0x7a, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x74, 0x65, - 0x78, 0x65, 0x6c, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, - 0x74, 0x3c, 0x63, 0x68, 0x61, 0x72, 0x3e, 0x28, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x7a, 0x29, - 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x6e, - 0x74, 0x20, 0x76, 0x77, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x74, 0x65, 0x78, 0x65, 0x6c, 0x5f, - 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x3c, 0x63, 0x68, - 0x61, 0x72, 0x3e, 0x28, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x77, 0x29, 0x3b, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x20, 0x76, 0x6f, - 0x6c, 0x61, 0x74, 0x69, 0x6c, 0x65, 0x28, 0x22, 0x73, 0x75, 0x73, 0x74, 0x2e, 0x62, 0x2e, 0x32, - 0x64, 0x2e, 0x76, 0x34, 0x2e, 0x62, 0x38, 0x2e, 0x7a, 0x65, 0x72, 0x6f, 0x20, 0x5b, 0x25, 0x30, - 0x2c, 0x20, 0x7b, 0x25, 0x31, 0x2c, 0x20, 0x25, 0x32, 0x7d, 0x5d, 0x2c, 0x20, 0x7b, 0x25, 0x33, - 0x2c, 0x20, 0x25, 0x34, 0x2c, 0x20, 0x25, 0x35, 0x2c, 0x20, 0x25, 0x36, 0x7d, 0x3b, 0x22, 0x0a, + 0x20, 0x20, 0x61, 0x73, 0x6d, 0x20, 0x76, 0x6f, 0x6c, 0x61, 0x74, 0x69, 0x6c, 0x65, 0x28, 0x22, + 0x73, 0x75, 0x73, 0x74, 0x2e, 0x62, 0x2e, 0x32, 0x64, 0x2e, 0x76, 0x32, 0x2e, 0x62, 0x38, 0x2e, + 0x7a, 0x65, 0x72, 0x6f, 0x20, 0x5b, 0x25, 0x30, 0x2c, 0x20, 0x7b, 0x25, 0x31, 0x2c, 0x20, 0x25, + 0x32, 0x7d, 0x5d, 0x2c, 0x20, 0x7b, 0x25, 0x33, 0x2c, 0x20, 0x25, 0x34, 0x7d, 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x6c, 0x22, 0x28, 0x73, 0x75, 0x72, 0x66, 0x2e, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x70, 0x2e, 0x78, 0x20, 0x2a, 0x20, 0x28, 0x69, 0x6e, 0x74, 0x29, 0x28, 0x73, 0x69, 0x7a, 0x65, 0x6f, 0x66, 0x28, 0x63, - 0x68, 0x61, 0x72, 0x34, 0x29, 0x29, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x70, 0x2e, 0x79, + 0x68, 0x61, 0x72, 0x32, 0x29, 0x29, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x70, 0x2e, 0x79, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x76, 0x78, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, - 0x76, 0x79, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x76, 0x7a, 0x29, 0x2c, 0x20, 0x22, 0x72, - 0x22, 0x28, 0x76, 0x77, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, - 0x20, 0x22, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x22, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x63, 0x61, 0x73, 0x65, 0x20, 0x4c, 0x43, 0x50, 0x69, 0x78, 0x65, 0x6c, 0x53, 0x74, 0x6f, - 0x72, 0x61, 0x67, 0x65, 0x3a, 0x3a, 0x53, 0x48, 0x4f, 0x52, 0x54, 0x31, 0x3a, 0x20, 0x7b, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x6e, 0x74, 0x20, - 0x76, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x74, 0x65, 0x78, 0x65, 0x6c, 0x5f, 0x77, 0x72, 0x69, - 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x3c, 0x73, 0x68, 0x6f, 0x72, 0x74, - 0x3e, 0x28, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x78, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x20, 0x76, 0x6f, 0x6c, 0x61, - 0x74, 0x69, 0x6c, 0x65, 0x28, 0x22, 0x73, 0x75, 0x73, 0x74, 0x2e, 0x62, 0x2e, 0x32, 0x64, 0x2e, - 0x62, 0x31, 0x36, 0x2e, 0x7a, 0x65, 0x72, 0x6f, 0x20, 0x5b, 0x25, 0x30, 0x2c, 0x20, 0x7b, 0x25, - 0x31, 0x2c, 0x20, 0x25, 0x32, 0x7d, 0x5d, 0x2c, 0x20, 0x25, 0x33, 0x3b, 0x22, 0x0a, 0x20, 0x20, + 0x76, 0x79, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, + 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x22, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, + 0x61, 0x73, 0x65, 0x20, 0x4c, 0x43, 0x50, 0x69, 0x78, 0x65, 0x6c, 0x53, 0x74, 0x6f, 0x72, 0x61, + 0x67, 0x65, 0x3a, 0x3a, 0x42, 0x59, 0x54, 0x45, 0x34, 0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x76, 0x78, 0x20, + 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x74, 0x65, 0x78, 0x65, 0x6c, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, + 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x3c, 0x63, 0x68, 0x61, 0x72, 0x3e, 0x28, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x78, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x76, 0x79, 0x20, 0x3d, 0x20, 0x6c, 0x63, + 0x5f, 0x74, 0x65, 0x78, 0x65, 0x6c, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6e, + 0x76, 0x65, 0x72, 0x74, 0x3c, 0x63, 0x68, 0x61, 0x72, 0x3e, 0x28, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x2e, 0x79, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x69, 0x6e, 0x74, 0x20, 0x76, 0x7a, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x74, 0x65, 0x78, + 0x65, 0x6c, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, + 0x3c, 0x63, 0x68, 0x61, 0x72, 0x3e, 0x28, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x7a, 0x29, 0x3b, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x6e, 0x74, + 0x20, 0x76, 0x77, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x74, 0x65, 0x78, 0x65, 0x6c, 0x5f, 0x77, + 0x72, 0x69, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x3c, 0x63, 0x68, 0x61, + 0x72, 0x3e, 0x28, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x77, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x20, 0x76, 0x6f, 0x6c, + 0x61, 0x74, 0x69, 0x6c, 0x65, 0x28, 0x22, 0x73, 0x75, 0x73, 0x74, 0x2e, 0x62, 0x2e, 0x32, 0x64, + 0x2e, 0x76, 0x34, 0x2e, 0x62, 0x38, 0x2e, 0x7a, 0x65, 0x72, 0x6f, 0x20, 0x5b, 0x25, 0x30, 0x2c, + 0x20, 0x7b, 0x25, 0x31, 0x2c, 0x20, 0x25, 0x32, 0x7d, 0x5d, 0x2c, 0x20, 0x7b, 0x25, 0x33, 0x2c, + 0x20, 0x25, 0x34, 0x2c, 0x20, 0x25, 0x35, 0x2c, 0x20, 0x25, 0x36, 0x7d, 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x3a, 0x20, 0x22, 0x6c, 0x22, 0x28, 0x73, 0x75, 0x72, 0x66, 0x2e, 0x68, 0x61, 0x6e, - 0x64, 0x6c, 0x65, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x70, 0x2e, 0x78, 0x20, 0x2a, 0x20, - 0x28, 0x69, 0x6e, 0x74, 0x29, 0x28, 0x73, 0x69, 0x7a, 0x65, 0x6f, 0x66, 0x28, 0x73, 0x68, 0x6f, - 0x72, 0x74, 0x29, 0x29, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x70, 0x2e, 0x79, 0x29, 0x2c, - 0x20, 0x22, 0x72, 0x22, 0x28, 0x76, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x6c, 0x22, 0x28, 0x73, 0x75, 0x72, 0x66, 0x2e, 0x68, 0x61, + 0x6e, 0x64, 0x6c, 0x65, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x70, 0x2e, 0x78, 0x20, 0x2a, + 0x20, 0x28, 0x69, 0x6e, 0x74, 0x29, 0x28, 0x73, 0x69, 0x7a, 0x65, 0x6f, 0x66, 0x28, 0x63, 0x68, + 0x61, 0x72, 0x34, 0x29, 0x29, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x70, 0x2e, 0x79, 0x29, + 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x76, 0x78, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x76, + 0x79, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x76, 0x7a, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, + 0x28, 0x76, 0x77, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, + 0x22, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x22, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x63, 0x61, 0x73, 0x65, 0x20, 0x4c, 0x43, 0x50, 0x69, 0x78, 0x65, 0x6c, 0x53, 0x74, 0x6f, 0x72, + 0x61, 0x67, 0x65, 0x3a, 0x3a, 0x53, 0x48, 0x4f, 0x52, 0x54, 0x31, 0x3a, 0x20, 0x7b, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x76, + 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x74, 0x65, 0x78, 0x65, 0x6c, 0x5f, 0x77, 0x72, 0x69, 0x74, + 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x3c, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x3e, + 0x28, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x78, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x20, 0x76, 0x6f, 0x6c, 0x61, 0x74, + 0x69, 0x6c, 0x65, 0x28, 0x22, 0x73, 0x75, 0x73, 0x74, 0x2e, 0x62, 0x2e, 0x32, 0x64, 0x2e, 0x62, + 0x31, 0x36, 0x2e, 0x7a, 0x65, 0x72, 0x6f, 0x20, 0x5b, 0x25, 0x30, 0x2c, 0x20, 0x7b, 0x25, 0x31, + 0x2c, 0x20, 0x25, 0x32, 0x7d, 0x5d, 0x2c, 0x20, 0x25, 0x33, 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x3a, 0x20, 0x22, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x22, 0x29, 0x3b, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x63, 0x61, 0x73, 0x65, 0x20, 0x4c, 0x43, 0x50, 0x69, 0x78, 0x65, 0x6c, 0x53, - 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x3a, 0x3a, 0x53, 0x48, 0x4f, 0x52, 0x54, 0x32, 0x3a, 0x20, - 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x6e, - 0x74, 0x20, 0x76, 0x78, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x74, 0x65, 0x78, 0x65, 0x6c, 0x5f, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x3a, 0x20, 0x22, 0x6c, 0x22, 0x28, 0x73, 0x75, 0x72, 0x66, 0x2e, 0x68, 0x61, 0x6e, 0x64, + 0x6c, 0x65, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x70, 0x2e, 0x78, 0x20, 0x2a, 0x20, 0x28, + 0x69, 0x6e, 0x74, 0x29, 0x28, 0x73, 0x69, 0x7a, 0x65, 0x6f, 0x66, 0x28, 0x73, 0x68, 0x6f, 0x72, + 0x74, 0x29, 0x29, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x70, 0x2e, 0x79, 0x29, 0x2c, 0x20, + 0x22, 0x72, 0x22, 0x28, 0x76, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x3a, 0x20, 0x22, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x22, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x63, 0x61, 0x73, 0x65, 0x20, 0x4c, 0x43, 0x50, 0x69, 0x78, 0x65, 0x6c, 0x53, 0x74, + 0x6f, 0x72, 0x61, 0x67, 0x65, 0x3a, 0x3a, 0x53, 0x48, 0x4f, 0x52, 0x54, 0x32, 0x3a, 0x20, 0x7b, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x6e, 0x74, + 0x20, 0x76, 0x78, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x74, 0x65, 0x78, 0x65, 0x6c, 0x5f, 0x77, + 0x72, 0x69, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x3c, 0x73, 0x68, 0x6f, + 0x72, 0x74, 0x3e, 0x28, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x78, 0x29, 0x3b, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x76, 0x79, + 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x74, 0x65, 0x78, 0x65, 0x6c, 0x5f, 0x77, 0x72, 0x69, 0x74, + 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x3c, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x3e, + 0x28, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x79, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x20, 0x76, 0x6f, 0x6c, 0x61, 0x74, + 0x69, 0x6c, 0x65, 0x28, 0x22, 0x73, 0x75, 0x73, 0x74, 0x2e, 0x62, 0x2e, 0x32, 0x64, 0x2e, 0x76, + 0x32, 0x2e, 0x62, 0x31, 0x36, 0x2e, 0x7a, 0x65, 0x72, 0x6f, 0x20, 0x5b, 0x25, 0x30, 0x2c, 0x20, + 0x7b, 0x25, 0x31, 0x2c, 0x20, 0x25, 0x32, 0x7d, 0x5d, 0x2c, 0x20, 0x7b, 0x25, 0x33, 0x2c, 0x20, + 0x25, 0x34, 0x7d, 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x6c, 0x22, 0x28, + 0x73, 0x75, 0x72, 0x66, 0x2e, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x29, 0x2c, 0x20, 0x22, 0x72, + 0x22, 0x28, 0x70, 0x2e, 0x78, 0x20, 0x2a, 0x20, 0x28, 0x69, 0x6e, 0x74, 0x29, 0x28, 0x73, 0x69, + 0x7a, 0x65, 0x6f, 0x66, 0x28, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x32, 0x29, 0x29, 0x29, 0x2c, 0x20, + 0x22, 0x72, 0x22, 0x28, 0x70, 0x2e, 0x79, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x76, 0x78, + 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x76, 0x79, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x22, 0x29, 0x3b, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x62, 0x72, 0x65, + 0x61, 0x6b, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x61, 0x73, 0x65, 0x20, 0x4c, 0x43, 0x50, 0x69, 0x78, + 0x65, 0x6c, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x3a, 0x3a, 0x53, 0x48, 0x4f, 0x52, 0x54, + 0x34, 0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x69, 0x6e, 0x74, 0x20, 0x76, 0x78, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x74, 0x65, 0x78, + 0x65, 0x6c, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, + 0x3c, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x3e, 0x28, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x78, 0x29, + 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x6e, + 0x74, 0x20, 0x76, 0x79, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x74, 0x65, 0x78, 0x65, 0x6c, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x3c, 0x73, 0x68, - 0x6f, 0x72, 0x74, 0x3e, 0x28, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x78, 0x29, 0x3b, 0x0a, 0x20, + 0x6f, 0x72, 0x74, 0x3e, 0x28, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x79, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x76, - 0x79, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x74, 0x65, 0x78, 0x65, 0x6c, 0x5f, 0x77, 0x72, 0x69, + 0x7a, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x74, 0x65, 0x78, 0x65, 0x6c, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x3c, 0x73, 0x68, 0x6f, 0x72, 0x74, - 0x3e, 0x28, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x79, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x20, 0x76, 0x6f, 0x6c, 0x61, - 0x74, 0x69, 0x6c, 0x65, 0x28, 0x22, 0x73, 0x75, 0x73, 0x74, 0x2e, 0x62, 0x2e, 0x32, 0x64, 0x2e, - 0x76, 0x32, 0x2e, 0x62, 0x31, 0x36, 0x2e, 0x7a, 0x65, 0x72, 0x6f, 0x20, 0x5b, 0x25, 0x30, 0x2c, - 0x20, 0x7b, 0x25, 0x31, 0x2c, 0x20, 0x25, 0x32, 0x7d, 0x5d, 0x2c, 0x20, 0x7b, 0x25, 0x33, 0x2c, - 0x20, 0x25, 0x34, 0x7d, 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x3e, 0x28, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x7a, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x76, 0x77, 0x20, 0x3d, + 0x20, 0x6c, 0x63, 0x5f, 0x74, 0x65, 0x78, 0x65, 0x6c, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, + 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x3c, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x3e, 0x28, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x77, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x20, 0x76, 0x6f, 0x6c, 0x61, 0x74, 0x69, 0x6c, + 0x65, 0x28, 0x22, 0x73, 0x75, 0x73, 0x74, 0x2e, 0x62, 0x2e, 0x32, 0x64, 0x2e, 0x76, 0x34, 0x2e, + 0x62, 0x31, 0x36, 0x2e, 0x7a, 0x65, 0x72, 0x6f, 0x20, 0x5b, 0x25, 0x30, 0x2c, 0x20, 0x7b, 0x25, + 0x31, 0x2c, 0x20, 0x25, 0x32, 0x7d, 0x5d, 0x2c, 0x20, 0x7b, 0x25, 0x33, 0x2c, 0x20, 0x25, 0x34, + 0x2c, 0x20, 0x25, 0x35, 0x2c, 0x20, 0x25, 0x36, 0x7d, 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x3a, 0x20, 0x22, 0x6c, 0x22, 0x28, 0x73, 0x75, 0x72, 0x66, 0x2e, 0x68, 0x61, 0x6e, 0x64, 0x6c, + 0x65, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x70, 0x2e, 0x78, 0x20, 0x2a, 0x20, 0x28, 0x69, + 0x6e, 0x74, 0x29, 0x28, 0x73, 0x69, 0x7a, 0x65, 0x6f, 0x66, 0x28, 0x73, 0x68, 0x6f, 0x72, 0x74, + 0x34, 0x29, 0x29, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x70, 0x2e, 0x79, 0x29, 0x2c, 0x20, + 0x22, 0x72, 0x22, 0x28, 0x76, 0x78, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x76, 0x79, 0x29, + 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x76, 0x7a, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x76, + 0x77, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x6d, + 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x22, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x61, + 0x73, 0x65, 0x20, 0x4c, 0x43, 0x50, 0x69, 0x78, 0x65, 0x6c, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, + 0x65, 0x3a, 0x3a, 0x49, 0x4e, 0x54, 0x31, 0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x76, 0x20, 0x3d, 0x20, 0x6c, + 0x63, 0x5f, 0x74, 0x65, 0x78, 0x65, 0x6c, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x63, 0x6f, + 0x6e, 0x76, 0x65, 0x72, 0x74, 0x3c, 0x69, 0x6e, 0x74, 0x3e, 0x28, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x2e, 0x78, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x61, 0x73, 0x6d, 0x20, 0x76, 0x6f, 0x6c, 0x61, 0x74, 0x69, 0x6c, 0x65, 0x28, 0x22, 0x73, + 0x75, 0x73, 0x74, 0x2e, 0x62, 0x2e, 0x32, 0x64, 0x2e, 0x62, 0x33, 0x32, 0x2e, 0x7a, 0x65, 0x72, + 0x6f, 0x20, 0x5b, 0x25, 0x30, 0x2c, 0x20, 0x7b, 0x25, 0x31, 0x2c, 0x20, 0x25, 0x32, 0x7d, 0x5d, + 0x2c, 0x20, 0x25, 0x33, 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x6c, 0x22, 0x28, 0x73, 0x75, 0x72, 0x66, 0x2e, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x70, 0x2e, 0x78, 0x20, 0x2a, 0x20, 0x28, 0x69, 0x6e, 0x74, 0x29, 0x28, 0x73, - 0x69, 0x7a, 0x65, 0x6f, 0x66, 0x28, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x32, 0x29, 0x29, 0x29, 0x2c, - 0x20, 0x22, 0x72, 0x22, 0x28, 0x70, 0x2e, 0x79, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x76, - 0x78, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x76, 0x79, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x22, 0x29, - 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x62, 0x72, - 0x65, 0x61, 0x6b, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x61, 0x73, 0x65, 0x20, 0x4c, 0x43, 0x50, 0x69, - 0x78, 0x65, 0x6c, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x3a, 0x3a, 0x53, 0x48, 0x4f, 0x52, - 0x54, 0x34, 0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x76, 0x78, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x74, 0x65, - 0x78, 0x65, 0x6c, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, - 0x74, 0x3c, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x3e, 0x28, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x78, - 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, - 0x6e, 0x74, 0x20, 0x76, 0x79, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x74, 0x65, 0x78, 0x65, 0x6c, - 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x3c, 0x73, - 0x68, 0x6f, 0x72, 0x74, 0x3e, 0x28, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x79, 0x29, 0x3b, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x6e, 0x74, 0x20, - 0x76, 0x7a, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x74, 0x65, 0x78, 0x65, 0x6c, 0x5f, 0x77, 0x72, - 0x69, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x3c, 0x73, 0x68, 0x6f, 0x72, - 0x74, 0x3e, 0x28, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x7a, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x76, 0x77, 0x20, - 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x74, 0x65, 0x78, 0x65, 0x6c, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, - 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x3c, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x3e, 0x28, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x77, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x20, 0x76, 0x6f, 0x6c, 0x61, 0x74, 0x69, - 0x6c, 0x65, 0x28, 0x22, 0x73, 0x75, 0x73, 0x74, 0x2e, 0x62, 0x2e, 0x32, 0x64, 0x2e, 0x76, 0x34, - 0x2e, 0x62, 0x31, 0x36, 0x2e, 0x7a, 0x65, 0x72, 0x6f, 0x20, 0x5b, 0x25, 0x30, 0x2c, 0x20, 0x7b, - 0x25, 0x31, 0x2c, 0x20, 0x25, 0x32, 0x7d, 0x5d, 0x2c, 0x20, 0x7b, 0x25, 0x33, 0x2c, 0x20, 0x25, - 0x34, 0x2c, 0x20, 0x25, 0x35, 0x2c, 0x20, 0x25, 0x36, 0x7d, 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x69, 0x7a, 0x65, 0x6f, 0x66, 0x28, 0x69, 0x6e, 0x74, 0x29, 0x29, 0x29, 0x2c, 0x20, 0x22, 0x72, + 0x22, 0x28, 0x70, 0x2e, 0x79, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x76, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x3a, 0x20, 0x22, 0x6c, 0x22, 0x28, 0x73, 0x75, 0x72, 0x66, 0x2e, 0x68, 0x61, 0x6e, 0x64, - 0x6c, 0x65, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x70, 0x2e, 0x78, 0x20, 0x2a, 0x20, 0x28, - 0x69, 0x6e, 0x74, 0x29, 0x28, 0x73, 0x69, 0x7a, 0x65, 0x6f, 0x66, 0x28, 0x73, 0x68, 0x6f, 0x72, - 0x74, 0x34, 0x29, 0x29, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x70, 0x2e, 0x79, 0x29, 0x2c, - 0x20, 0x22, 0x72, 0x22, 0x28, 0x76, 0x78, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x76, 0x79, - 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x76, 0x7a, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, - 0x76, 0x77, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, - 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x22, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, - 0x61, 0x73, 0x65, 0x20, 0x4c, 0x43, 0x50, 0x69, 0x78, 0x65, 0x6c, 0x53, 0x74, 0x6f, 0x72, 0x61, - 0x67, 0x65, 0x3a, 0x3a, 0x49, 0x4e, 0x54, 0x31, 0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x76, 0x20, 0x3d, 0x20, - 0x6c, 0x63, 0x5f, 0x74, 0x65, 0x78, 0x65, 0x6c, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x63, - 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x3c, 0x69, 0x6e, 0x74, 0x3e, 0x28, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x2e, 0x78, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x61, 0x73, 0x6d, 0x20, 0x76, 0x6f, 0x6c, 0x61, 0x74, 0x69, 0x6c, 0x65, 0x28, 0x22, - 0x73, 0x75, 0x73, 0x74, 0x2e, 0x62, 0x2e, 0x32, 0x64, 0x2e, 0x62, 0x33, 0x32, 0x2e, 0x7a, 0x65, - 0x72, 0x6f, 0x20, 0x5b, 0x25, 0x30, 0x2c, 0x20, 0x7b, 0x25, 0x31, 0x2c, 0x20, 0x25, 0x32, 0x7d, - 0x5d, 0x2c, 0x20, 0x25, 0x33, 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x6d, 0x65, 0x6d, 0x6f, 0x72, + 0x79, 0x22, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x61, 0x73, 0x65, 0x20, 0x4c, + 0x43, 0x50, 0x69, 0x78, 0x65, 0x6c, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x3a, 0x3a, 0x49, + 0x4e, 0x54, 0x32, 0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x76, 0x78, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x74, + 0x65, 0x78, 0x65, 0x6c, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, + 0x72, 0x74, 0x3c, 0x69, 0x6e, 0x74, 0x3e, 0x28, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x78, 0x29, + 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x6e, + 0x74, 0x20, 0x76, 0x79, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x74, 0x65, 0x78, 0x65, 0x6c, 0x5f, + 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x3c, 0x69, 0x6e, + 0x74, 0x3e, 0x28, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x79, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x20, 0x76, 0x6f, 0x6c, + 0x61, 0x74, 0x69, 0x6c, 0x65, 0x28, 0x22, 0x73, 0x75, 0x73, 0x74, 0x2e, 0x62, 0x2e, 0x32, 0x64, + 0x2e, 0x76, 0x32, 0x2e, 0x62, 0x33, 0x32, 0x2e, 0x7a, 0x65, 0x72, 0x6f, 0x20, 0x5b, 0x25, 0x30, + 0x2c, 0x20, 0x7b, 0x25, 0x31, 0x2c, 0x20, 0x25, 0x32, 0x7d, 0x5d, 0x2c, 0x20, 0x7b, 0x25, 0x33, + 0x2c, 0x20, 0x25, 0x34, 0x7d, 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x6c, 0x22, 0x28, 0x73, 0x75, 0x72, 0x66, 0x2e, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x70, 0x2e, 0x78, 0x20, 0x2a, 0x20, 0x28, 0x69, 0x6e, 0x74, 0x29, 0x28, - 0x73, 0x69, 0x7a, 0x65, 0x6f, 0x66, 0x28, 0x69, 0x6e, 0x74, 0x29, 0x29, 0x29, 0x2c, 0x20, 0x22, - 0x72, 0x22, 0x28, 0x70, 0x2e, 0x79, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x76, 0x29, 0x0a, + 0x73, 0x69, 0x7a, 0x65, 0x6f, 0x66, 0x28, 0x69, 0x6e, 0x74, 0x32, 0x29, 0x29, 0x29, 0x2c, 0x20, + 0x22, 0x72, 0x22, 0x28, 0x70, 0x2e, 0x79, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x76, 0x78, + 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x76, 0x79, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x6d, 0x65, 0x6d, 0x6f, - 0x72, 0x79, 0x22, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x61, 0x73, 0x65, 0x20, - 0x4c, 0x43, 0x50, 0x69, 0x78, 0x65, 0x6c, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x3a, 0x3a, - 0x49, 0x4e, 0x54, 0x32, 0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x76, 0x78, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, - 0x74, 0x65, 0x78, 0x65, 0x6c, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x76, - 0x65, 0x72, 0x74, 0x3c, 0x69, 0x6e, 0x74, 0x3e, 0x28, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x78, - 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, - 0x6e, 0x74, 0x20, 0x76, 0x79, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x74, 0x65, 0x78, 0x65, 0x6c, + 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x22, 0x29, 0x3b, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x62, 0x72, 0x65, + 0x61, 0x6b, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x61, 0x73, 0x65, 0x20, 0x4c, 0x43, 0x50, 0x69, 0x78, + 0x65, 0x6c, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x3a, 0x3a, 0x49, 0x4e, 0x54, 0x34, 0x3a, + 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, + 0x6e, 0x74, 0x20, 0x76, 0x78, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x74, 0x65, 0x78, 0x65, 0x6c, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x3c, 0x69, - 0x6e, 0x74, 0x3e, 0x28, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x79, 0x29, 0x3b, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x20, 0x76, 0x6f, - 0x6c, 0x61, 0x74, 0x69, 0x6c, 0x65, 0x28, 0x22, 0x73, 0x75, 0x73, 0x74, 0x2e, 0x62, 0x2e, 0x32, - 0x64, 0x2e, 0x76, 0x32, 0x2e, 0x62, 0x33, 0x32, 0x2e, 0x7a, 0x65, 0x72, 0x6f, 0x20, 0x5b, 0x25, - 0x30, 0x2c, 0x20, 0x7b, 0x25, 0x31, 0x2c, 0x20, 0x25, 0x32, 0x7d, 0x5d, 0x2c, 0x20, 0x7b, 0x25, - 0x33, 0x2c, 0x20, 0x25, 0x34, 0x7d, 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x3a, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, - 0x6c, 0x22, 0x28, 0x73, 0x75, 0x72, 0x66, 0x2e, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x29, 0x2c, - 0x20, 0x22, 0x72, 0x22, 0x28, 0x70, 0x2e, 0x78, 0x20, 0x2a, 0x20, 0x28, 0x69, 0x6e, 0x74, 0x29, - 0x28, 0x73, 0x69, 0x7a, 0x65, 0x6f, 0x66, 0x28, 0x69, 0x6e, 0x74, 0x32, 0x29, 0x29, 0x29, 0x2c, - 0x20, 0x22, 0x72, 0x22, 0x28, 0x70, 0x2e, 0x79, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x76, - 0x78, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x76, 0x79, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x22, 0x29, - 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x62, 0x72, - 0x65, 0x61, 0x6b, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x61, 0x73, 0x65, 0x20, 0x4c, 0x43, 0x50, 0x69, - 0x78, 0x65, 0x6c, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x3a, 0x3a, 0x49, 0x4e, 0x54, 0x34, - 0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x69, 0x6e, 0x74, 0x20, 0x76, 0x78, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x74, 0x65, 0x78, 0x65, + 0x6e, 0x74, 0x3e, 0x28, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x78, 0x29, 0x3b, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x76, 0x79, + 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x74, 0x65, 0x78, 0x65, 0x6c, 0x5f, 0x77, 0x72, 0x69, 0x74, + 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x3c, 0x69, 0x6e, 0x74, 0x3e, 0x28, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x79, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x76, 0x7a, 0x20, 0x3d, 0x20, 0x6c, 0x63, + 0x5f, 0x74, 0x65, 0x78, 0x65, 0x6c, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6e, + 0x76, 0x65, 0x72, 0x74, 0x3c, 0x69, 0x6e, 0x74, 0x3e, 0x28, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2e, + 0x7a, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x69, 0x6e, 0x74, 0x20, 0x76, 0x77, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x74, 0x65, 0x78, 0x65, 0x6c, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x3c, - 0x69, 0x6e, 0x74, 0x3e, 0x28, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x78, 0x29, 0x3b, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x76, - 0x79, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x74, 0x65, 0x78, 0x65, 0x6c, 0x5f, 0x77, 0x72, 0x69, - 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x3c, 0x69, 0x6e, 0x74, 0x3e, 0x28, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x79, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x76, 0x7a, 0x20, 0x3d, 0x20, 0x6c, - 0x63, 0x5f, 0x74, 0x65, 0x78, 0x65, 0x6c, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x63, 0x6f, - 0x6e, 0x76, 0x65, 0x72, 0x74, 0x3c, 0x69, 0x6e, 0x74, 0x3e, 0x28, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x2e, 0x7a, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x69, 0x6e, 0x74, 0x20, 0x76, 0x77, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x74, 0x65, 0x78, - 0x65, 0x6c, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, - 0x3c, 0x69, 0x6e, 0x74, 0x3e, 0x28, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x77, 0x29, 0x3b, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x20, - 0x76, 0x6f, 0x6c, 0x61, 0x74, 0x69, 0x6c, 0x65, 0x28, 0x22, 0x73, 0x75, 0x73, 0x74, 0x2e, 0x62, - 0x2e, 0x32, 0x64, 0x2e, 0x76, 0x34, 0x2e, 0x62, 0x33, 0x32, 0x2e, 0x7a, 0x65, 0x72, 0x6f, 0x20, - 0x5b, 0x25, 0x30, 0x2c, 0x20, 0x7b, 0x25, 0x31, 0x2c, 0x20, 0x25, 0x32, 0x7d, 0x5d, 0x2c, 0x20, - 0x7b, 0x25, 0x33, 0x2c, 0x20, 0x25, 0x34, 0x2c, 0x20, 0x25, 0x35, 0x2c, 0x20, 0x25, 0x36, 0x7d, - 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x0a, 0x20, 0x20, + 0x69, 0x6e, 0x74, 0x3e, 0x28, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x77, 0x29, 0x3b, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x20, 0x76, + 0x6f, 0x6c, 0x61, 0x74, 0x69, 0x6c, 0x65, 0x28, 0x22, 0x73, 0x75, 0x73, 0x74, 0x2e, 0x62, 0x2e, + 0x32, 0x64, 0x2e, 0x76, 0x34, 0x2e, 0x62, 0x33, 0x32, 0x2e, 0x7a, 0x65, 0x72, 0x6f, 0x20, 0x5b, + 0x25, 0x30, 0x2c, 0x20, 0x7b, 0x25, 0x31, 0x2c, 0x20, 0x25, 0x32, 0x7d, 0x5d, 0x2c, 0x20, 0x7b, + 0x25, 0x33, 0x2c, 0x20, 0x25, 0x34, 0x2c, 0x20, 0x25, 0x35, 0x2c, 0x20, 0x25, 0x36, 0x7d, 0x3b, + 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x6c, 0x22, 0x28, 0x73, 0x75, 0x72, - 0x66, 0x2e, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x70, - 0x2e, 0x78, 0x20, 0x2a, 0x20, 0x28, 0x69, 0x6e, 0x74, 0x29, 0x28, 0x73, 0x69, 0x7a, 0x65, 0x6f, - 0x66, 0x28, 0x69, 0x6e, 0x74, 0x34, 0x29, 0x29, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x70, - 0x2e, 0x79, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x76, 0x78, 0x29, 0x2c, 0x20, 0x22, 0x72, - 0x22, 0x28, 0x76, 0x79, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x76, 0x7a, 0x29, 0x2c, 0x20, - 0x22, 0x72, 0x22, 0x28, 0x76, 0x77, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x6c, 0x22, 0x28, 0x73, 0x75, 0x72, 0x66, + 0x2e, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x70, 0x2e, + 0x78, 0x20, 0x2a, 0x20, 0x28, 0x69, 0x6e, 0x74, 0x29, 0x28, 0x73, 0x69, 0x7a, 0x65, 0x6f, 0x66, + 0x28, 0x69, 0x6e, 0x74, 0x34, 0x29, 0x29, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x70, 0x2e, + 0x79, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x76, 0x78, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, + 0x28, 0x76, 0x79, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x76, 0x7a, 0x29, 0x2c, 0x20, 0x22, + 0x72, 0x22, 0x28, 0x76, 0x77, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x3a, 0x20, 0x22, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x22, 0x29, 0x3b, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x63, 0x61, 0x73, 0x65, 0x20, 0x4c, 0x43, 0x50, 0x69, 0x78, 0x65, 0x6c, 0x53, - 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x3a, 0x3a, 0x48, 0x41, 0x4c, 0x46, 0x31, 0x3a, 0x20, 0x7b, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, - 0x75, 0x69, 0x6e, 0x74, 0x20, 0x76, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x68, 0x61, 0x6c, 0x66, - 0x5f, 0x74, 0x6f, 0x5f, 0x62, 0x69, 0x74, 0x73, 0x28, 0x6c, 0x63, 0x5f, 0x74, 0x65, 0x78, 0x65, - 0x6c, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x3c, - 0x6c, 0x63, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x3e, 0x28, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x78, - 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x61, 0x73, 0x6d, 0x20, 0x76, 0x6f, 0x6c, 0x61, 0x74, 0x69, 0x6c, 0x65, 0x28, 0x22, 0x73, 0x75, - 0x73, 0x74, 0x2e, 0x62, 0x2e, 0x32, 0x64, 0x2e, 0x62, 0x31, 0x36, 0x2e, 0x7a, 0x65, 0x72, 0x6f, - 0x20, 0x5b, 0x25, 0x30, 0x2c, 0x20, 0x7b, 0x25, 0x31, 0x2c, 0x20, 0x25, 0x32, 0x7d, 0x5d, 0x2c, - 0x20, 0x25, 0x33, 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x6c, 0x22, 0x28, - 0x73, 0x75, 0x72, 0x66, 0x2e, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x29, 0x2c, 0x20, 0x22, 0x72, - 0x22, 0x28, 0x70, 0x2e, 0x78, 0x20, 0x2a, 0x20, 0x28, 0x69, 0x6e, 0x74, 0x29, 0x28, 0x73, 0x69, - 0x7a, 0x65, 0x6f, 0x66, 0x28, 0x6c, 0x63, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x29, 0x29, 0x29, 0x2c, - 0x20, 0x22, 0x72, 0x22, 0x28, 0x70, 0x2e, 0x79, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x76, - 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x6d, 0x65, - 0x6d, 0x6f, 0x72, 0x79, 0x22, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x61, 0x73, - 0x65, 0x20, 0x4c, 0x43, 0x50, 0x69, 0x78, 0x65, 0x6c, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, - 0x3a, 0x3a, 0x48, 0x41, 0x4c, 0x46, 0x32, 0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x20, 0x76, - 0x78, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x5f, 0x74, 0x6f, 0x5f, 0x62, - 0x69, 0x74, 0x73, 0x28, 0x6c, 0x63, 0x5f, 0x74, 0x65, 0x78, 0x65, 0x6c, 0x5f, 0x77, 0x72, 0x69, - 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x3c, 0x6c, 0x63, 0x5f, 0x68, 0x61, - 0x6c, 0x66, 0x3e, 0x28, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x78, 0x29, 0x29, 0x3b, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x69, - 0x6e, 0x74, 0x20, 0x76, 0x79, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x5f, + 0x3a, 0x20, 0x22, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x22, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x63, 0x61, 0x73, 0x65, 0x20, 0x4c, 0x43, 0x50, 0x69, 0x78, 0x65, 0x6c, 0x53, 0x74, + 0x6f, 0x72, 0x61, 0x67, 0x65, 0x3a, 0x3a, 0x48, 0x41, 0x4c, 0x46, 0x31, 0x3a, 0x20, 0x7b, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x75, + 0x69, 0x6e, 0x74, 0x20, 0x76, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x5f, 0x74, 0x6f, 0x5f, 0x62, 0x69, 0x74, 0x73, 0x28, 0x6c, 0x63, 0x5f, 0x74, 0x65, 0x78, 0x65, 0x6c, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x3c, 0x6c, - 0x63, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x3e, 0x28, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x79, 0x29, + 0x63, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x3e, 0x28, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x78, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x20, 0x76, 0x6f, 0x6c, 0x61, 0x74, 0x69, 0x6c, 0x65, 0x28, 0x22, 0x73, 0x75, 0x73, - 0x74, 0x2e, 0x62, 0x2e, 0x32, 0x64, 0x2e, 0x76, 0x32, 0x2e, 0x62, 0x31, 0x36, 0x2e, 0x7a, 0x65, - 0x72, 0x6f, 0x20, 0x5b, 0x25, 0x30, 0x2c, 0x20, 0x7b, 0x25, 0x31, 0x2c, 0x20, 0x25, 0x32, 0x7d, - 0x5d, 0x2c, 0x20, 0x7b, 0x25, 0x33, 0x2c, 0x20, 0x25, 0x34, 0x7d, 0x3b, 0x22, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x74, 0x2e, 0x62, 0x2e, 0x32, 0x64, 0x2e, 0x62, 0x31, 0x36, 0x2e, 0x7a, 0x65, 0x72, 0x6f, 0x20, + 0x5b, 0x25, 0x30, 0x2c, 0x20, 0x7b, 0x25, 0x31, 0x2c, 0x20, 0x25, 0x32, 0x7d, 0x5d, 0x2c, 0x20, + 0x25, 0x33, 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x3a, 0x20, 0x22, 0x6c, 0x22, 0x28, 0x73, 0x75, 0x72, 0x66, 0x2e, 0x68, 0x61, 0x6e, - 0x64, 0x6c, 0x65, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x70, 0x2e, 0x78, 0x20, 0x2a, 0x20, - 0x28, 0x69, 0x6e, 0x74, 0x29, 0x28, 0x73, 0x69, 0x7a, 0x65, 0x6f, 0x66, 0x28, 0x6c, 0x63, 0x5f, - 0x68, 0x61, 0x6c, 0x66, 0x32, 0x29, 0x29, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x70, 0x2e, - 0x79, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x76, 0x78, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, - 0x28, 0x76, 0x79, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, - 0x22, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x22, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x63, 0x61, 0x73, 0x65, 0x20, 0x4c, 0x43, 0x50, 0x69, 0x78, 0x65, 0x6c, 0x53, 0x74, 0x6f, 0x72, - 0x61, 0x67, 0x65, 0x3a, 0x3a, 0x48, 0x41, 0x4c, 0x46, 0x34, 0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x6c, 0x22, 0x28, 0x73, + 0x75, 0x72, 0x66, 0x2e, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, + 0x28, 0x70, 0x2e, 0x78, 0x20, 0x2a, 0x20, 0x28, 0x69, 0x6e, 0x74, 0x29, 0x28, 0x73, 0x69, 0x7a, + 0x65, 0x6f, 0x66, 0x28, 0x6c, 0x63, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x29, 0x29, 0x29, 0x2c, 0x20, + 0x22, 0x72, 0x22, 0x28, 0x70, 0x2e, 0x79, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x76, 0x29, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x6d, 0x65, 0x6d, + 0x6f, 0x72, 0x79, 0x22, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x61, 0x73, 0x65, + 0x20, 0x4c, 0x43, 0x50, 0x69, 0x78, 0x65, 0x6c, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x3a, + 0x3a, 0x48, 0x41, 0x4c, 0x46, 0x32, 0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x20, 0x76, 0x78, + 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x5f, 0x74, 0x6f, 0x5f, 0x62, 0x69, + 0x74, 0x73, 0x28, 0x6c, 0x63, 0x5f, 0x74, 0x65, 0x78, 0x65, 0x6c, 0x5f, 0x77, 0x72, 0x69, 0x74, + 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x3c, 0x6c, 0x63, 0x5f, 0x68, 0x61, 0x6c, + 0x66, 0x3e, 0x28, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x78, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, - 0x74, 0x20, 0x76, 0x78, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x5f, 0x74, + 0x74, 0x20, 0x76, 0x79, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x5f, 0x74, 0x6f, 0x5f, 0x62, 0x69, 0x74, 0x73, 0x28, 0x6c, 0x63, 0x5f, 0x74, 0x65, 0x78, 0x65, 0x6c, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x3c, 0x6c, 0x63, - 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x3e, 0x28, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x78, 0x29, 0x29, - 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, - 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x20, 0x76, 0x79, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x68, 0x61, - 0x6c, 0x66, 0x5f, 0x74, 0x6f, 0x5f, 0x62, 0x69, 0x74, 0x73, 0x28, 0x6c, 0x63, 0x5f, 0x74, 0x65, - 0x78, 0x65, 0x6c, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, - 0x74, 0x3c, 0x6c, 0x63, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x3e, 0x28, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x2e, 0x79, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x20, 0x76, 0x7a, 0x20, 0x3d, 0x20, 0x6c, - 0x63, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x5f, 0x74, 0x6f, 0x5f, 0x62, 0x69, 0x74, 0x73, 0x28, 0x6c, - 0x63, 0x5f, 0x74, 0x65, 0x78, 0x65, 0x6c, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x63, 0x6f, - 0x6e, 0x76, 0x65, 0x72, 0x74, 0x3c, 0x6c, 0x63, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x3e, 0x28, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x7a, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x20, 0x76, 0x77, - 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x5f, 0x74, 0x6f, 0x5f, 0x62, 0x69, - 0x74, 0x73, 0x28, 0x6c, 0x63, 0x5f, 0x74, 0x65, 0x78, 0x65, 0x6c, 0x5f, 0x77, 0x72, 0x69, 0x74, - 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x3c, 0x6c, 0x63, 0x5f, 0x68, 0x61, 0x6c, - 0x66, 0x3e, 0x28, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x77, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x20, 0x76, 0x6f, - 0x6c, 0x61, 0x74, 0x69, 0x6c, 0x65, 0x28, 0x22, 0x73, 0x75, 0x73, 0x74, 0x2e, 0x62, 0x2e, 0x32, - 0x64, 0x2e, 0x76, 0x34, 0x2e, 0x62, 0x31, 0x36, 0x2e, 0x7a, 0x65, 0x72, 0x6f, 0x20, 0x5b, 0x25, - 0x30, 0x2c, 0x20, 0x7b, 0x25, 0x31, 0x2c, 0x20, 0x25, 0x32, 0x7d, 0x5d, 0x2c, 0x20, 0x7b, 0x25, - 0x33, 0x2c, 0x20, 0x25, 0x34, 0x2c, 0x20, 0x25, 0x35, 0x2c, 0x20, 0x25, 0x36, 0x7d, 0x3b, 0x22, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x3e, 0x28, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x79, 0x29, 0x29, + 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, + 0x6d, 0x20, 0x76, 0x6f, 0x6c, 0x61, 0x74, 0x69, 0x6c, 0x65, 0x28, 0x22, 0x73, 0x75, 0x73, 0x74, + 0x2e, 0x62, 0x2e, 0x32, 0x64, 0x2e, 0x76, 0x32, 0x2e, 0x62, 0x31, 0x36, 0x2e, 0x7a, 0x65, 0x72, + 0x6f, 0x20, 0x5b, 0x25, 0x30, 0x2c, 0x20, 0x7b, 0x25, 0x31, 0x2c, 0x20, 0x25, 0x32, 0x7d, 0x5d, + 0x2c, 0x20, 0x7b, 0x25, 0x33, 0x2c, 0x20, 0x25, 0x34, 0x7d, 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x6c, 0x22, 0x28, 0x73, 0x75, 0x72, 0x66, 0x2e, - 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x70, 0x2e, 0x78, - 0x20, 0x2a, 0x20, 0x28, 0x69, 0x6e, 0x74, 0x29, 0x28, 0x73, 0x69, 0x7a, 0x65, 0x6f, 0x66, 0x28, - 0x6c, 0x63, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x34, 0x29, 0x29, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, - 0x28, 0x70, 0x2e, 0x79, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x76, 0x78, 0x29, 0x2c, 0x20, - 0x22, 0x72, 0x22, 0x28, 0x76, 0x79, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x76, 0x7a, 0x29, - 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x76, 0x77, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x22, 0x29, 0x3b, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x62, 0x72, 0x65, 0x61, - 0x6b, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x61, 0x73, 0x65, 0x20, 0x4c, 0x43, 0x50, 0x69, 0x78, 0x65, - 0x6c, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x3a, 0x3a, 0x46, 0x4c, 0x4f, 0x41, 0x54, 0x31, - 0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x76, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x74, 0x65, 0x78, + 0x20, 0x3a, 0x20, 0x22, 0x6c, 0x22, 0x28, 0x73, 0x75, 0x72, 0x66, 0x2e, 0x68, 0x61, 0x6e, 0x64, + 0x6c, 0x65, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x70, 0x2e, 0x78, 0x20, 0x2a, 0x20, 0x28, + 0x69, 0x6e, 0x74, 0x29, 0x28, 0x73, 0x69, 0x7a, 0x65, 0x6f, 0x66, 0x28, 0x6c, 0x63, 0x5f, 0x68, + 0x61, 0x6c, 0x66, 0x32, 0x29, 0x29, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x70, 0x2e, 0x79, + 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x76, 0x78, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, + 0x76, 0x79, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, + 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x22, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, + 0x61, 0x73, 0x65, 0x20, 0x4c, 0x43, 0x50, 0x69, 0x78, 0x65, 0x6c, 0x53, 0x74, 0x6f, 0x72, 0x61, + 0x67, 0x65, 0x3a, 0x3a, 0x48, 0x41, 0x4c, 0x46, 0x34, 0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, + 0x20, 0x76, 0x78, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x5f, 0x74, 0x6f, + 0x5f, 0x62, 0x69, 0x74, 0x73, 0x28, 0x6c, 0x63, 0x5f, 0x74, 0x65, 0x78, 0x65, 0x6c, 0x5f, 0x77, + 0x72, 0x69, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x3c, 0x6c, 0x63, 0x5f, + 0x68, 0x61, 0x6c, 0x66, 0x3e, 0x28, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x78, 0x29, 0x29, 0x3b, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, + 0x75, 0x69, 0x6e, 0x74, 0x20, 0x76, 0x79, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x68, 0x61, 0x6c, + 0x66, 0x5f, 0x74, 0x6f, 0x5f, 0x62, 0x69, 0x74, 0x73, 0x28, 0x6c, 0x63, 0x5f, 0x74, 0x65, 0x78, 0x65, 0x6c, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, - 0x3c, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x3e, 0x28, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x78, 0x29, - 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, - 0x6d, 0x20, 0x76, 0x6f, 0x6c, 0x61, 0x74, 0x69, 0x6c, 0x65, 0x28, 0x22, 0x73, 0x75, 0x73, 0x74, - 0x2e, 0x62, 0x2e, 0x32, 0x64, 0x2e, 0x62, 0x33, 0x32, 0x2e, 0x7a, 0x65, 0x72, 0x6f, 0x20, 0x5b, - 0x25, 0x30, 0x2c, 0x20, 0x7b, 0x25, 0x31, 0x2c, 0x20, 0x25, 0x32, 0x7d, 0x5d, 0x2c, 0x20, 0x25, - 0x33, 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x0a, 0x20, + 0x3c, 0x6c, 0x63, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x3e, 0x28, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2e, + 0x79, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x20, 0x76, 0x7a, 0x20, 0x3d, 0x20, 0x6c, 0x63, + 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x5f, 0x74, 0x6f, 0x5f, 0x62, 0x69, 0x74, 0x73, 0x28, 0x6c, 0x63, + 0x5f, 0x74, 0x65, 0x78, 0x65, 0x6c, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6e, + 0x76, 0x65, 0x72, 0x74, 0x3c, 0x6c, 0x63, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x3e, 0x28, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x2e, 0x7a, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x20, 0x76, 0x77, 0x20, + 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x5f, 0x74, 0x6f, 0x5f, 0x62, 0x69, 0x74, + 0x73, 0x28, 0x6c, 0x63, 0x5f, 0x74, 0x65, 0x78, 0x65, 0x6c, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, + 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x3c, 0x6c, 0x63, 0x5f, 0x68, 0x61, 0x6c, 0x66, + 0x3e, 0x28, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x77, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x20, 0x76, 0x6f, 0x6c, + 0x61, 0x74, 0x69, 0x6c, 0x65, 0x28, 0x22, 0x73, 0x75, 0x73, 0x74, 0x2e, 0x62, 0x2e, 0x32, 0x64, + 0x2e, 0x76, 0x34, 0x2e, 0x62, 0x31, 0x36, 0x2e, 0x7a, 0x65, 0x72, 0x6f, 0x20, 0x5b, 0x25, 0x30, + 0x2c, 0x20, 0x7b, 0x25, 0x31, 0x2c, 0x20, 0x25, 0x32, 0x7d, 0x5d, 0x2c, 0x20, 0x7b, 0x25, 0x33, + 0x2c, 0x20, 0x25, 0x34, 0x2c, 0x20, 0x25, 0x35, 0x2c, 0x20, 0x25, 0x36, 0x7d, 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x6c, 0x22, 0x28, 0x73, 0x75, - 0x72, 0x66, 0x2e, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, - 0x70, 0x2e, 0x78, 0x20, 0x2a, 0x20, 0x28, 0x69, 0x6e, 0x74, 0x29, 0x28, 0x73, 0x69, 0x7a, 0x65, - 0x6f, 0x66, 0x28, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x29, 0x29, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, - 0x28, 0x70, 0x2e, 0x79, 0x29, 0x2c, 0x20, 0x22, 0x66, 0x22, 0x28, 0x76, 0x29, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, - 0x22, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x61, 0x73, 0x65, 0x20, 0x4c, 0x43, - 0x50, 0x69, 0x78, 0x65, 0x6c, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x3a, 0x3a, 0x46, 0x4c, - 0x4f, 0x41, 0x54, 0x32, 0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x76, 0x78, 0x20, 0x3d, 0x20, 0x6c, - 0x63, 0x5f, 0x74, 0x65, 0x78, 0x65, 0x6c, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x63, 0x6f, - 0x6e, 0x76, 0x65, 0x72, 0x74, 0x3c, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x3e, 0x28, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x2e, 0x78, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x76, 0x79, 0x20, 0x3d, 0x20, 0x6c, 0x63, + 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x6c, 0x22, 0x28, 0x73, 0x75, 0x72, 0x66, 0x2e, 0x68, + 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x70, 0x2e, 0x78, 0x20, + 0x2a, 0x20, 0x28, 0x69, 0x6e, 0x74, 0x29, 0x28, 0x73, 0x69, 0x7a, 0x65, 0x6f, 0x66, 0x28, 0x6c, + 0x63, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x34, 0x29, 0x29, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, + 0x70, 0x2e, 0x79, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x76, 0x78, 0x29, 0x2c, 0x20, 0x22, + 0x72, 0x22, 0x28, 0x76, 0x79, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x76, 0x7a, 0x29, 0x2c, + 0x20, 0x22, 0x72, 0x22, 0x28, 0x76, 0x77, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x3a, 0x20, 0x22, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x22, 0x29, 0x3b, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x62, 0x72, 0x65, 0x61, 0x6b, + 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x63, 0x61, 0x73, 0x65, 0x20, 0x4c, 0x43, 0x50, 0x69, 0x78, 0x65, 0x6c, + 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x3a, 0x3a, 0x46, 0x4c, 0x4f, 0x41, 0x54, 0x31, 0x3a, + 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x66, + 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x76, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x74, 0x65, 0x78, 0x65, + 0x6c, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x3c, + 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x3e, 0x28, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x78, 0x29, 0x3b, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, + 0x20, 0x76, 0x6f, 0x6c, 0x61, 0x74, 0x69, 0x6c, 0x65, 0x28, 0x22, 0x73, 0x75, 0x73, 0x74, 0x2e, + 0x62, 0x2e, 0x32, 0x64, 0x2e, 0x62, 0x33, 0x32, 0x2e, 0x7a, 0x65, 0x72, 0x6f, 0x20, 0x5b, 0x25, + 0x30, 0x2c, 0x20, 0x7b, 0x25, 0x31, 0x2c, 0x20, 0x25, 0x32, 0x7d, 0x5d, 0x2c, 0x20, 0x25, 0x33, + 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x6c, 0x22, 0x28, 0x73, 0x75, 0x72, + 0x66, 0x2e, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x70, + 0x2e, 0x78, 0x20, 0x2a, 0x20, 0x28, 0x69, 0x6e, 0x74, 0x29, 0x28, 0x73, 0x69, 0x7a, 0x65, 0x6f, + 0x66, 0x28, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x29, 0x29, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, + 0x70, 0x2e, 0x79, 0x29, 0x2c, 0x20, 0x22, 0x66, 0x22, 0x28, 0x76, 0x29, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x22, + 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x62, + 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x61, 0x73, 0x65, 0x20, 0x4c, 0x43, 0x50, + 0x69, 0x78, 0x65, 0x6c, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x3a, 0x3a, 0x46, 0x4c, 0x4f, + 0x41, 0x54, 0x32, 0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x76, 0x78, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x74, 0x65, 0x78, 0x65, 0x6c, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x3c, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x3e, 0x28, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x2e, 0x79, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x61, 0x73, 0x6d, 0x20, 0x76, 0x6f, 0x6c, 0x61, 0x74, 0x69, 0x6c, 0x65, 0x28, 0x22, - 0x73, 0x75, 0x73, 0x74, 0x2e, 0x62, 0x2e, 0x32, 0x64, 0x2e, 0x76, 0x32, 0x2e, 0x62, 0x33, 0x32, - 0x2e, 0x7a, 0x65, 0x72, 0x6f, 0x20, 0x5b, 0x25, 0x30, 0x2c, 0x20, 0x7b, 0x25, 0x31, 0x2c, 0x20, - 0x25, 0x32, 0x7d, 0x5d, 0x2c, 0x20, 0x7b, 0x25, 0x33, 0x2c, 0x20, 0x25, 0x34, 0x7d, 0x3b, 0x22, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x65, 0x2e, 0x78, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x76, 0x79, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, + 0x74, 0x65, 0x78, 0x65, 0x6c, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x76, + 0x65, 0x72, 0x74, 0x3c, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x3e, 0x28, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x2e, 0x79, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x61, 0x73, 0x6d, 0x20, 0x76, 0x6f, 0x6c, 0x61, 0x74, 0x69, 0x6c, 0x65, 0x28, 0x22, 0x73, + 0x75, 0x73, 0x74, 0x2e, 0x62, 0x2e, 0x32, 0x64, 0x2e, 0x76, 0x32, 0x2e, 0x62, 0x33, 0x32, 0x2e, + 0x7a, 0x65, 0x72, 0x6f, 0x20, 0x5b, 0x25, 0x30, 0x2c, 0x20, 0x7b, 0x25, 0x31, 0x2c, 0x20, 0x25, + 0x32, 0x7d, 0x5d, 0x2c, 0x20, 0x7b, 0x25, 0x33, 0x2c, 0x20, 0x25, 0x34, 0x7d, 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x6c, 0x22, 0x28, 0x73, 0x75, 0x72, 0x66, 0x2e, - 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x70, 0x2e, 0x78, - 0x20, 0x2a, 0x20, 0x28, 0x69, 0x6e, 0x74, 0x29, 0x28, 0x73, 0x69, 0x7a, 0x65, 0x6f, 0x66, 0x28, - 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x32, 0x29, 0x29, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x70, - 0x2e, 0x79, 0x29, 0x2c, 0x20, 0x22, 0x66, 0x22, 0x28, 0x76, 0x78, 0x29, 0x2c, 0x20, 0x22, 0x66, - 0x22, 0x28, 0x76, 0x79, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, - 0x20, 0x22, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x22, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x63, 0x61, 0x73, 0x65, 0x20, 0x4c, 0x43, 0x50, 0x69, 0x78, 0x65, 0x6c, 0x53, 0x74, 0x6f, - 0x72, 0x61, 0x67, 0x65, 0x3a, 0x3a, 0x46, 0x4c, 0x4f, 0x41, 0x54, 0x34, 0x3a, 0x20, 0x7b, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, - 0x74, 0x20, 0x76, 0x78, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x74, 0x65, 0x78, 0x65, 0x6c, 0x5f, - 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x3c, 0x66, 0x6c, - 0x6f, 0x61, 0x74, 0x3e, 0x28, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x78, 0x29, 0x3b, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x6c, 0x22, 0x28, 0x73, 0x75, 0x72, 0x66, 0x2e, 0x68, + 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x70, 0x2e, 0x78, 0x20, + 0x2a, 0x20, 0x28, 0x69, 0x6e, 0x74, 0x29, 0x28, 0x73, 0x69, 0x7a, 0x65, 0x6f, 0x66, 0x28, 0x66, + 0x6c, 0x6f, 0x61, 0x74, 0x32, 0x29, 0x29, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x70, 0x2e, + 0x79, 0x29, 0x2c, 0x20, 0x22, 0x66, 0x22, 0x28, 0x76, 0x78, 0x29, 0x2c, 0x20, 0x22, 0x66, 0x22, + 0x28, 0x76, 0x79, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, + 0x22, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x22, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x63, 0x61, 0x73, 0x65, 0x20, 0x4c, 0x43, 0x50, 0x69, 0x78, 0x65, 0x6c, 0x53, 0x74, 0x6f, 0x72, + 0x61, 0x67, 0x65, 0x3a, 0x3a, 0x46, 0x4c, 0x4f, 0x41, 0x54, 0x34, 0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, - 0x20, 0x76, 0x79, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x74, 0x65, 0x78, 0x65, 0x6c, 0x5f, 0x77, + 0x20, 0x76, 0x78, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x74, 0x65, 0x78, 0x65, 0x6c, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x3c, 0x66, 0x6c, 0x6f, - 0x61, 0x74, 0x3e, 0x28, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x79, 0x29, 0x3b, 0x0a, 0x20, 0x20, + 0x61, 0x74, 0x3e, 0x28, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x78, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, - 0x76, 0x7a, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x74, 0x65, 0x78, 0x65, 0x6c, 0x5f, 0x77, 0x72, + 0x76, 0x79, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x74, 0x65, 0x78, 0x65, 0x6c, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x3c, 0x66, 0x6c, 0x6f, 0x61, - 0x74, 0x3e, 0x28, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x7a, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, + 0x74, 0x3e, 0x28, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x79, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x76, - 0x77, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x74, 0x65, 0x78, 0x65, 0x6c, 0x5f, 0x77, 0x72, 0x69, + 0x7a, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x74, 0x65, 0x78, 0x65, 0x6c, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x3c, 0x66, 0x6c, 0x6f, 0x61, 0x74, - 0x3e, 0x28, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x77, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x20, 0x76, 0x6f, 0x6c, 0x61, - 0x74, 0x69, 0x6c, 0x65, 0x28, 0x22, 0x73, 0x75, 0x73, 0x74, 0x2e, 0x62, 0x2e, 0x32, 0x64, 0x2e, - 0x76, 0x34, 0x2e, 0x62, 0x33, 0x32, 0x2e, 0x7a, 0x65, 0x72, 0x6f, 0x20, 0x5b, 0x25, 0x30, 0x2c, - 0x20, 0x7b, 0x25, 0x31, 0x2c, 0x20, 0x25, 0x32, 0x7d, 0x5d, 0x2c, 0x20, 0x7b, 0x25, 0x33, 0x2c, - 0x20, 0x25, 0x34, 0x2c, 0x20, 0x25, 0x35, 0x2c, 0x20, 0x25, 0x36, 0x7d, 0x3b, 0x22, 0x0a, 0x20, + 0x3e, 0x28, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x7a, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x76, 0x77, + 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x74, 0x65, 0x78, 0x65, 0x6c, 0x5f, 0x77, 0x72, 0x69, 0x74, + 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x3c, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x3e, + 0x28, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x77, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x20, 0x76, 0x6f, 0x6c, 0x61, 0x74, + 0x69, 0x6c, 0x65, 0x28, 0x22, 0x73, 0x75, 0x73, 0x74, 0x2e, 0x62, 0x2e, 0x32, 0x64, 0x2e, 0x76, + 0x34, 0x2e, 0x62, 0x33, 0x32, 0x2e, 0x7a, 0x65, 0x72, 0x6f, 0x20, 0x5b, 0x25, 0x30, 0x2c, 0x20, + 0x7b, 0x25, 0x31, 0x2c, 0x20, 0x25, 0x32, 0x7d, 0x5d, 0x2c, 0x20, 0x7b, 0x25, 0x33, 0x2c, 0x20, + 0x25, 0x34, 0x2c, 0x20, 0x25, 0x35, 0x2c, 0x20, 0x25, 0x36, 0x7d, 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x6c, 0x22, 0x28, 0x73, 0x75, 0x72, 0x66, 0x2e, 0x68, 0x61, - 0x6e, 0x64, 0x6c, 0x65, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x70, 0x2e, 0x78, 0x20, 0x2a, - 0x20, 0x28, 0x69, 0x6e, 0x74, 0x29, 0x28, 0x73, 0x69, 0x7a, 0x65, 0x6f, 0x66, 0x28, 0x66, 0x6c, - 0x6f, 0x61, 0x74, 0x34, 0x29, 0x29, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x70, 0x2e, 0x79, - 0x29, 0x2c, 0x20, 0x22, 0x66, 0x22, 0x28, 0x76, 0x78, 0x29, 0x2c, 0x20, 0x22, 0x66, 0x22, 0x28, - 0x76, 0x79, 0x29, 0x2c, 0x20, 0x22, 0x66, 0x22, 0x28, 0x76, 0x7a, 0x29, 0x2c, 0x20, 0x22, 0x66, - 0x22, 0x28, 0x76, 0x77, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, - 0x20, 0x22, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x22, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x3a, 0x20, 0x5f, 0x5f, 0x62, 0x75, 0x69, 0x6c, - 0x74, 0x69, 0x6e, 0x5f, 0x75, 0x6e, 0x72, 0x65, 0x61, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x28, - 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x7d, 0x0a, 0x0a, 0x74, 0x65, 0x6d, 0x70, - 0x6c, 0x61, 0x74, 0x65, 0x3c, 0x74, 0x79, 0x70, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x54, 0x3e, - 0x0a, 0x5b, 0x5b, 0x6e, 0x6f, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x5d, 0x5d, 0x20, 0x5f, - 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, - 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x6c, 0x63, 0x5f, 0x73, 0x75, 0x72, 0x66, 0x33, 0x64, 0x5f, - 0x72, 0x65, 0x61, 0x64, 0x28, 0x4c, 0x43, 0x53, 0x75, 0x72, 0x66, 0x61, 0x63, 0x65, 0x20, 0x73, - 0x75, 0x72, 0x66, 0x2c, 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x20, 0x70, 0x29, - 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x6c, 0x63, 0x5f, 0x76, 0x65, 0x63, 0x34, 0x5f, 0x74, 0x3c, 0x54, 0x3e, 0x20, 0x72, 0x65, 0x73, - 0x75, 0x6c, 0x74, 0x7b, 0x30, 0x2c, 0x20, 0x30, 0x2c, 0x20, 0x30, 0x2c, 0x20, 0x30, 0x7d, 0x3b, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x73, 0x77, 0x69, 0x74, 0x63, 0x68, 0x20, 0x28, 0x73, 0x74, 0x61, - 0x74, 0x69, 0x63, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x4c, 0x43, 0x50, 0x69, 0x78, 0x65, 0x6c, - 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x3e, 0x28, 0x73, 0x75, 0x72, 0x66, 0x2e, 0x73, 0x74, - 0x6f, 0x72, 0x61, 0x67, 0x65, 0x29, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x3a, 0x20, 0x22, 0x6c, 0x22, 0x28, 0x73, 0x75, 0x72, 0x66, 0x2e, 0x68, 0x61, 0x6e, + 0x64, 0x6c, 0x65, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x70, 0x2e, 0x78, 0x20, 0x2a, 0x20, + 0x28, 0x69, 0x6e, 0x74, 0x29, 0x28, 0x73, 0x69, 0x7a, 0x65, 0x6f, 0x66, 0x28, 0x66, 0x6c, 0x6f, + 0x61, 0x74, 0x34, 0x29, 0x29, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x70, 0x2e, 0x79, 0x29, + 0x2c, 0x20, 0x22, 0x66, 0x22, 0x28, 0x76, 0x78, 0x29, 0x2c, 0x20, 0x22, 0x66, 0x22, 0x28, 0x76, + 0x79, 0x29, 0x2c, 0x20, 0x22, 0x66, 0x22, 0x28, 0x76, 0x7a, 0x29, 0x2c, 0x20, 0x22, 0x66, 0x22, + 0x28, 0x76, 0x77, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, + 0x22, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x22, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x3a, 0x20, 0x5f, 0x5f, 0x62, 0x75, 0x69, 0x6c, 0x74, + 0x69, 0x6e, 0x5f, 0x75, 0x6e, 0x72, 0x65, 0x61, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x28, 0x29, + 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x7d, 0x0a, 0x0a, 0x74, 0x65, 0x6d, 0x70, 0x6c, + 0x61, 0x74, 0x65, 0x3c, 0x74, 0x79, 0x70, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x54, 0x3e, 0x0a, + 0x5b, 0x5b, 0x6e, 0x6f, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x5d, 0x5d, 0x20, 0x5f, 0x5f, + 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x6c, 0x63, + 0x5f, 0x73, 0x75, 0x72, 0x66, 0x33, 0x64, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x28, 0x4c, 0x43, 0x53, + 0x75, 0x72, 0x66, 0x61, 0x63, 0x65, 0x20, 0x73, 0x75, 0x72, 0x66, 0x2c, 0x20, 0x6c, 0x63, 0x5f, + 0x75, 0x69, 0x6e, 0x74, 0x33, 0x20, 0x70, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, + 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x76, 0x65, 0x63, 0x34, 0x5f, + 0x74, 0x3c, 0x54, 0x3e, 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x7b, 0x30, 0x2c, 0x20, 0x30, + 0x2c, 0x20, 0x30, 0x2c, 0x20, 0x30, 0x7d, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x73, 0x77, 0x69, + 0x74, 0x63, 0x68, 0x20, 0x28, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x5f, 0x63, 0x61, 0x73, 0x74, + 0x3c, 0x4c, 0x43, 0x50, 0x69, 0x78, 0x65, 0x6c, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x3e, + 0x28, 0x73, 0x75, 0x72, 0x66, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x29, 0x29, 0x20, + 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x61, 0x73, 0x65, 0x20, 0x4c, + 0x43, 0x50, 0x69, 0x78, 0x65, 0x6c, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x3a, 0x3a, 0x42, + 0x59, 0x54, 0x45, 0x31, 0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x78, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x73, 0x75, 0x6c, 0x64, + 0x2e, 0x62, 0x2e, 0x33, 0x64, 0x2e, 0x62, 0x38, 0x2e, 0x7a, 0x65, 0x72, 0x6f, 0x20, 0x25, 0x30, + 0x2c, 0x20, 0x5b, 0x25, 0x31, 0x2c, 0x20, 0x7b, 0x25, 0x32, 0x2c, 0x20, 0x25, 0x33, 0x2c, 0x20, + 0x25, 0x34, 0x2c, 0x20, 0x25, 0x35, 0x7d, 0x5d, 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x72, + 0x22, 0x28, 0x78, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x6c, 0x22, 0x28, 0x73, 0x75, 0x72, 0x66, 0x2e, + 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x70, 0x2e, 0x78, + 0x20, 0x2a, 0x20, 0x28, 0x69, 0x6e, 0x74, 0x29, 0x73, 0x69, 0x7a, 0x65, 0x6f, 0x66, 0x28, 0x63, + 0x68, 0x61, 0x72, 0x29, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x70, 0x2e, 0x79, 0x29, 0x2c, + 0x20, 0x22, 0x72, 0x22, 0x28, 0x70, 0x2e, 0x7a, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x30, + 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x3a, 0x20, 0x22, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x22, 0x29, 0x3b, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, + 0x74, 0x2e, 0x78, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x74, 0x65, 0x78, 0x65, 0x6c, 0x5f, 0x72, + 0x65, 0x61, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x3c, 0x54, 0x2c, 0x20, 0x63, + 0x68, 0x61, 0x72, 0x3e, 0x28, 0x78, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x61, + 0x73, 0x65, 0x20, 0x4c, 0x43, 0x50, 0x69, 0x78, 0x65, 0x6c, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, + 0x65, 0x3a, 0x3a, 0x42, 0x59, 0x54, 0x45, 0x32, 0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x78, 0x2c, 0x20, 0x79, + 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, + 0x6d, 0x28, 0x22, 0x73, 0x75, 0x6c, 0x64, 0x2e, 0x62, 0x2e, 0x33, 0x64, 0x2e, 0x76, 0x32, 0x2e, + 0x62, 0x38, 0x2e, 0x7a, 0x65, 0x72, 0x6f, 0x20, 0x7b, 0x25, 0x30, 0x2c, 0x20, 0x25, 0x31, 0x7d, + 0x2c, 0x20, 0x5b, 0x25, 0x32, 0x2c, 0x20, 0x7b, 0x25, 0x33, 0x2c, 0x20, 0x25, 0x34, 0x2c, 0x20, + 0x25, 0x35, 0x2c, 0x20, 0x25, 0x36, 0x7d, 0x5d, 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x72, + 0x22, 0x28, 0x78, 0x29, 0x2c, 0x20, 0x22, 0x3d, 0x72, 0x22, 0x28, 0x79, 0x29, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, + 0x22, 0x6c, 0x22, 0x28, 0x73, 0x75, 0x72, 0x66, 0x2e, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x29, + 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x70, 0x2e, 0x78, 0x20, 0x2a, 0x20, 0x28, 0x69, 0x6e, 0x74, + 0x29, 0x73, 0x69, 0x7a, 0x65, 0x6f, 0x66, 0x28, 0x63, 0x68, 0x61, 0x72, 0x32, 0x29, 0x29, 0x2c, + 0x20, 0x22, 0x72, 0x22, 0x28, 0x70, 0x2e, 0x79, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x70, + 0x2e, 0x7a, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x30, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x6d, + 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x22, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x78, 0x20, 0x3d, 0x20, + 0x6c, 0x63, 0x5f, 0x74, 0x65, 0x78, 0x65, 0x6c, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x63, 0x6f, + 0x6e, 0x76, 0x65, 0x72, 0x74, 0x3c, 0x54, 0x2c, 0x20, 0x63, 0x68, 0x61, 0x72, 0x3e, 0x28, 0x78, + 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, + 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x79, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x74, 0x65, 0x78, + 0x65, 0x6c, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x3c, + 0x54, 0x2c, 0x20, 0x63, 0x68, 0x61, 0x72, 0x3e, 0x28, 0x79, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x61, 0x73, 0x65, 0x20, 0x4c, 0x43, 0x50, 0x69, 0x78, 0x65, 0x6c, 0x53, 0x74, - 0x6f, 0x72, 0x61, 0x67, 0x65, 0x3a, 0x3a, 0x42, 0x59, 0x54, 0x45, 0x31, 0x3a, 0x20, 0x7b, 0x0a, + 0x6f, 0x72, 0x61, 0x67, 0x65, 0x3a, 0x3a, 0x42, 0x59, 0x54, 0x45, 0x34, 0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x6e, 0x74, 0x20, - 0x78, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x61, - 0x73, 0x6d, 0x28, 0x22, 0x73, 0x75, 0x6c, 0x64, 0x2e, 0x62, 0x2e, 0x33, 0x64, 0x2e, 0x62, 0x38, - 0x2e, 0x7a, 0x65, 0x72, 0x6f, 0x20, 0x25, 0x30, 0x2c, 0x20, 0x5b, 0x25, 0x31, 0x2c, 0x20, 0x7b, - 0x25, 0x32, 0x2c, 0x20, 0x25, 0x33, 0x2c, 0x20, 0x25, 0x34, 0x2c, 0x20, 0x25, 0x35, 0x7d, 0x5d, - 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x72, 0x22, 0x28, 0x78, 0x29, 0x0a, 0x20, 0x20, 0x20, + 0x78, 0x2c, 0x20, 0x79, 0x2c, 0x20, 0x7a, 0x2c, 0x20, 0x77, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x73, 0x75, 0x6c, + 0x64, 0x2e, 0x62, 0x2e, 0x33, 0x64, 0x2e, 0x76, 0x34, 0x2e, 0x62, 0x38, 0x2e, 0x7a, 0x65, 0x72, + 0x6f, 0x20, 0x7b, 0x25, 0x30, 0x2c, 0x20, 0x25, 0x31, 0x2c, 0x20, 0x25, 0x32, 0x2c, 0x20, 0x25, + 0x33, 0x7d, 0x2c, 0x20, 0x5b, 0x25, 0x34, 0x2c, 0x20, 0x7b, 0x25, 0x35, 0x2c, 0x20, 0x25, 0x36, + 0x2c, 0x20, 0x25, 0x37, 0x2c, 0x20, 0x25, 0x38, 0x7d, 0x5d, 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, - 0x6c, 0x22, 0x28, 0x73, 0x75, 0x72, 0x66, 0x2e, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x29, 0x2c, - 0x20, 0x22, 0x72, 0x22, 0x28, 0x70, 0x2e, 0x78, 0x20, 0x2a, 0x20, 0x28, 0x69, 0x6e, 0x74, 0x29, - 0x73, 0x69, 0x7a, 0x65, 0x6f, 0x66, 0x28, 0x63, 0x68, 0x61, 0x72, 0x29, 0x29, 0x2c, 0x20, 0x22, - 0x72, 0x22, 0x28, 0x70, 0x2e, 0x79, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x70, 0x2e, 0x7a, - 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x30, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x6d, 0x65, 0x6d, - 0x6f, 0x72, 0x79, 0x22, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x78, 0x20, 0x3d, 0x20, 0x6c, 0x63, + 0x3d, 0x72, 0x22, 0x28, 0x78, 0x29, 0x2c, 0x20, 0x22, 0x3d, 0x72, 0x22, 0x28, 0x79, 0x29, 0x2c, + 0x20, 0x22, 0x3d, 0x72, 0x22, 0x28, 0x7a, 0x29, 0x2c, 0x20, 0x22, 0x3d, 0x72, 0x22, 0x28, 0x77, + 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x3a, 0x20, 0x22, 0x6c, 0x22, 0x28, 0x73, 0x75, 0x72, 0x66, 0x2e, 0x68, 0x61, 0x6e, + 0x64, 0x6c, 0x65, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x70, 0x2e, 0x78, 0x20, 0x2a, 0x20, + 0x28, 0x69, 0x6e, 0x74, 0x29, 0x73, 0x69, 0x7a, 0x65, 0x6f, 0x66, 0x28, 0x63, 0x68, 0x61, 0x72, + 0x34, 0x29, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x70, 0x2e, 0x79, 0x29, 0x2c, 0x20, 0x22, + 0x72, 0x22, 0x28, 0x70, 0x2e, 0x7a, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x30, 0x29, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x3a, 0x20, 0x22, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x22, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, + 0x78, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x74, 0x65, 0x78, 0x65, 0x6c, 0x5f, 0x72, 0x65, 0x61, + 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x3c, 0x54, 0x2c, 0x20, 0x63, 0x68, 0x61, + 0x72, 0x3e, 0x28, 0x78, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x79, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x74, 0x65, 0x78, 0x65, 0x6c, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x76, - 0x65, 0x72, 0x74, 0x3c, 0x54, 0x2c, 0x20, 0x63, 0x68, 0x61, 0x72, 0x3e, 0x28, 0x78, 0x29, 0x3b, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x62, 0x72, 0x65, - 0x61, 0x6b, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x61, 0x73, 0x65, 0x20, 0x4c, 0x43, 0x50, 0x69, 0x78, - 0x65, 0x6c, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x3a, 0x3a, 0x42, 0x59, 0x54, 0x45, 0x32, - 0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x69, 0x6e, 0x74, 0x20, 0x78, 0x2c, 0x20, 0x79, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x73, 0x75, 0x6c, 0x64, 0x2e, - 0x62, 0x2e, 0x33, 0x64, 0x2e, 0x76, 0x32, 0x2e, 0x62, 0x38, 0x2e, 0x7a, 0x65, 0x72, 0x6f, 0x20, - 0x7b, 0x25, 0x30, 0x2c, 0x20, 0x25, 0x31, 0x7d, 0x2c, 0x20, 0x5b, 0x25, 0x32, 0x2c, 0x20, 0x7b, - 0x25, 0x33, 0x2c, 0x20, 0x25, 0x34, 0x2c, 0x20, 0x25, 0x35, 0x2c, 0x20, 0x25, 0x36, 0x7d, 0x5d, - 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x72, 0x22, 0x28, 0x78, 0x29, 0x2c, 0x20, 0x22, 0x3d, - 0x72, 0x22, 0x28, 0x79, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x6c, 0x22, 0x28, 0x73, 0x75, 0x72, 0x66, - 0x2e, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x70, 0x2e, - 0x78, 0x20, 0x2a, 0x20, 0x28, 0x69, 0x6e, 0x74, 0x29, 0x73, 0x69, 0x7a, 0x65, 0x6f, 0x66, 0x28, - 0x63, 0x68, 0x61, 0x72, 0x32, 0x29, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x70, 0x2e, 0x79, - 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x70, 0x2e, 0x7a, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, - 0x28, 0x30, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x22, 0x29, 0x3b, + 0x65, 0x72, 0x74, 0x3c, 0x54, 0x2c, 0x20, 0x63, 0x68, 0x61, 0x72, 0x3e, 0x28, 0x79, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x73, - 0x75, 0x6c, 0x74, 0x2e, 0x78, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x74, 0x65, 0x78, 0x65, 0x6c, + 0x75, 0x6c, 0x74, 0x2e, 0x7a, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x74, 0x65, 0x78, 0x65, 0x6c, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x3c, 0x54, 0x2c, - 0x20, 0x63, 0x68, 0x61, 0x72, 0x3e, 0x28, 0x78, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x79, 0x20, + 0x20, 0x63, 0x68, 0x61, 0x72, 0x3e, 0x28, 0x7a, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x77, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x74, 0x65, 0x78, 0x65, 0x6c, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x3c, 0x54, 0x2c, 0x20, 0x63, 0x68, 0x61, 0x72, 0x3e, - 0x28, 0x79, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x28, 0x77, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x61, 0x73, 0x65, 0x20, 0x4c, - 0x43, 0x50, 0x69, 0x78, 0x65, 0x6c, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x3a, 0x3a, 0x42, - 0x59, 0x54, 0x45, 0x34, 0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x78, 0x2c, 0x20, 0x79, 0x2c, 0x20, 0x7a, 0x2c, - 0x20, 0x77, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x61, 0x73, 0x6d, 0x28, 0x22, 0x73, 0x75, 0x6c, 0x64, 0x2e, 0x62, 0x2e, 0x33, 0x64, 0x2e, 0x76, - 0x34, 0x2e, 0x62, 0x38, 0x2e, 0x7a, 0x65, 0x72, 0x6f, 0x20, 0x7b, 0x25, 0x30, 0x2c, 0x20, 0x25, - 0x31, 0x2c, 0x20, 0x25, 0x32, 0x2c, 0x20, 0x25, 0x33, 0x7d, 0x2c, 0x20, 0x5b, 0x25, 0x34, 0x2c, - 0x20, 0x7b, 0x25, 0x35, 0x2c, 0x20, 0x25, 0x36, 0x2c, 0x20, 0x25, 0x37, 0x2c, 0x20, 0x25, 0x38, - 0x7d, 0x5d, 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x72, 0x22, 0x28, 0x78, 0x29, 0x2c, 0x20, - 0x22, 0x3d, 0x72, 0x22, 0x28, 0x79, 0x29, 0x2c, 0x20, 0x22, 0x3d, 0x72, 0x22, 0x28, 0x7a, 0x29, - 0x2c, 0x20, 0x22, 0x3d, 0x72, 0x22, 0x28, 0x77, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x6c, 0x22, 0x28, - 0x73, 0x75, 0x72, 0x66, 0x2e, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x29, 0x2c, 0x20, 0x22, 0x72, - 0x22, 0x28, 0x70, 0x2e, 0x78, 0x20, 0x2a, 0x20, 0x28, 0x69, 0x6e, 0x74, 0x29, 0x73, 0x69, 0x7a, - 0x65, 0x6f, 0x66, 0x28, 0x63, 0x68, 0x61, 0x72, 0x34, 0x29, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, - 0x28, 0x70, 0x2e, 0x79, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x70, 0x2e, 0x7a, 0x29, 0x2c, - 0x20, 0x22, 0x72, 0x22, 0x28, 0x30, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x6d, 0x65, 0x6d, 0x6f, 0x72, - 0x79, 0x22, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x78, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x74, - 0x65, 0x78, 0x65, 0x6c, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, - 0x74, 0x3c, 0x54, 0x2c, 0x20, 0x63, 0x68, 0x61, 0x72, 0x3e, 0x28, 0x78, 0x29, 0x3b, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, - 0x74, 0x2e, 0x79, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x74, 0x65, 0x78, 0x65, 0x6c, 0x5f, 0x72, - 0x65, 0x61, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x3c, 0x54, 0x2c, 0x20, 0x63, - 0x68, 0x61, 0x72, 0x3e, 0x28, 0x79, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x7a, 0x20, 0x3d, 0x20, - 0x6c, 0x63, 0x5f, 0x74, 0x65, 0x78, 0x65, 0x6c, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x63, 0x6f, - 0x6e, 0x76, 0x65, 0x72, 0x74, 0x3c, 0x54, 0x2c, 0x20, 0x63, 0x68, 0x61, 0x72, 0x3e, 0x28, 0x7a, - 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, - 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x77, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x74, 0x65, 0x78, - 0x65, 0x6c, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x3c, - 0x54, 0x2c, 0x20, 0x63, 0x68, 0x61, 0x72, 0x3e, 0x28, 0x77, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, + 0x43, 0x50, 0x69, 0x78, 0x65, 0x6c, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x3a, 0x3a, 0x53, + 0x48, 0x4f, 0x52, 0x54, 0x31, 0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x78, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x73, 0x75, 0x6c, + 0x64, 0x2e, 0x62, 0x2e, 0x33, 0x64, 0x2e, 0x62, 0x31, 0x36, 0x2e, 0x7a, 0x65, 0x72, 0x6f, 0x20, + 0x25, 0x30, 0x2c, 0x20, 0x5b, 0x25, 0x31, 0x2c, 0x20, 0x7b, 0x25, 0x32, 0x2c, 0x20, 0x25, 0x33, + 0x2c, 0x20, 0x25, 0x34, 0x2c, 0x20, 0x25, 0x35, 0x7d, 0x5d, 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, + 0x3d, 0x72, 0x22, 0x28, 0x78, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x6c, 0x22, 0x28, 0x73, 0x75, 0x72, + 0x66, 0x2e, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x70, + 0x2e, 0x78, 0x20, 0x2a, 0x20, 0x28, 0x69, 0x6e, 0x74, 0x29, 0x73, 0x69, 0x7a, 0x65, 0x6f, 0x66, + 0x28, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x29, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x70, 0x2e, + 0x79, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x70, 0x2e, 0x7a, 0x29, 0x2c, 0x20, 0x22, 0x72, + 0x22, 0x28, 0x30, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x22, 0x29, + 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, + 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x78, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x74, 0x65, 0x78, 0x65, + 0x6c, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x3c, 0x54, + 0x2c, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x3e, 0x28, 0x78, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x61, 0x73, 0x65, 0x20, 0x4c, 0x43, 0x50, 0x69, 0x78, 0x65, 0x6c, 0x53, 0x74, - 0x6f, 0x72, 0x61, 0x67, 0x65, 0x3a, 0x3a, 0x53, 0x48, 0x4f, 0x52, 0x54, 0x31, 0x3a, 0x20, 0x7b, + 0x6f, 0x72, 0x61, 0x67, 0x65, 0x3a, 0x3a, 0x53, 0x48, 0x4f, 0x52, 0x54, 0x32, 0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x6e, 0x74, - 0x20, 0x78, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x61, 0x73, 0x6d, 0x28, 0x22, 0x73, 0x75, 0x6c, 0x64, 0x2e, 0x62, 0x2e, 0x33, 0x64, 0x2e, 0x62, - 0x31, 0x36, 0x2e, 0x7a, 0x65, 0x72, 0x6f, 0x20, 0x25, 0x30, 0x2c, 0x20, 0x5b, 0x25, 0x31, 0x2c, - 0x20, 0x7b, 0x25, 0x32, 0x2c, 0x20, 0x25, 0x33, 0x2c, 0x20, 0x25, 0x34, 0x2c, 0x20, 0x25, 0x35, - 0x7d, 0x5d, 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x72, 0x22, 0x28, 0x78, 0x29, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, - 0x20, 0x22, 0x6c, 0x22, 0x28, 0x73, 0x75, 0x72, 0x66, 0x2e, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, - 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x70, 0x2e, 0x78, 0x20, 0x2a, 0x20, 0x28, 0x69, 0x6e, - 0x74, 0x29, 0x73, 0x69, 0x7a, 0x65, 0x6f, 0x66, 0x28, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x29, 0x29, - 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x70, 0x2e, 0x79, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, - 0x70, 0x2e, 0x7a, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x30, 0x29, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x78, 0x2c, 0x20, 0x79, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x73, 0x75, 0x6c, 0x64, 0x2e, 0x62, 0x2e, 0x33, + 0x64, 0x2e, 0x76, 0x32, 0x2e, 0x62, 0x31, 0x36, 0x2e, 0x7a, 0x65, 0x72, 0x6f, 0x20, 0x7b, 0x25, + 0x30, 0x2c, 0x20, 0x25, 0x31, 0x7d, 0x2c, 0x20, 0x5b, 0x25, 0x32, 0x2c, 0x20, 0x7b, 0x25, 0x33, + 0x2c, 0x20, 0x25, 0x34, 0x2c, 0x20, 0x25, 0x35, 0x2c, 0x20, 0x25, 0x36, 0x7d, 0x5d, 0x3b, 0x22, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x72, 0x22, 0x28, 0x78, 0x29, 0x2c, 0x20, 0x22, 0x3d, 0x72, 0x22, + 0x28, 0x79, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x6c, 0x22, 0x28, 0x73, 0x75, 0x72, 0x66, 0x2e, 0x68, + 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x70, 0x2e, 0x78, 0x20, + 0x2a, 0x20, 0x28, 0x69, 0x6e, 0x74, 0x29, 0x73, 0x69, 0x7a, 0x65, 0x6f, 0x66, 0x28, 0x73, 0x68, + 0x6f, 0x72, 0x74, 0x32, 0x29, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x70, 0x2e, 0x79, 0x29, + 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x70, 0x2e, 0x7a, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, + 0x30, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x22, 0x29, 0x3b, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x73, 0x75, + 0x6c, 0x74, 0x2e, 0x78, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x74, 0x65, 0x78, 0x65, 0x6c, 0x5f, + 0x72, 0x65, 0x61, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x3c, 0x54, 0x2c, 0x20, + 0x73, 0x68, 0x6f, 0x72, 0x74, 0x3e, 0x28, 0x78, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x79, 0x20, + 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x74, 0x65, 0x78, 0x65, 0x6c, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x5f, + 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x3c, 0x54, 0x2c, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, + 0x3e, 0x28, 0x79, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x61, 0x73, 0x65, 0x20, + 0x4c, 0x43, 0x50, 0x69, 0x78, 0x65, 0x6c, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x3a, 0x3a, + 0x53, 0x48, 0x4f, 0x52, 0x54, 0x34, 0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x78, 0x2c, 0x20, 0x79, 0x2c, 0x20, + 0x7a, 0x2c, 0x20, 0x77, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x73, 0x75, 0x6c, 0x64, 0x2e, 0x62, 0x2e, 0x33, 0x64, + 0x2e, 0x76, 0x34, 0x2e, 0x62, 0x31, 0x36, 0x2e, 0x7a, 0x65, 0x72, 0x6f, 0x20, 0x7b, 0x25, 0x30, + 0x2c, 0x20, 0x25, 0x31, 0x2c, 0x20, 0x25, 0x32, 0x2c, 0x20, 0x25, 0x33, 0x7d, 0x2c, 0x20, 0x5b, + 0x25, 0x34, 0x2c, 0x20, 0x7b, 0x25, 0x35, 0x2c, 0x20, 0x25, 0x36, 0x2c, 0x20, 0x25, 0x37, 0x2c, + 0x20, 0x25, 0x38, 0x7d, 0x5d, 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x72, 0x22, 0x28, 0x78, + 0x29, 0x2c, 0x20, 0x22, 0x3d, 0x72, 0x22, 0x28, 0x79, 0x29, 0x2c, 0x20, 0x22, 0x3d, 0x72, 0x22, + 0x28, 0x7a, 0x29, 0x2c, 0x20, 0x22, 0x3d, 0x72, 0x22, 0x28, 0x77, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, - 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x22, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x78, 0x20, 0x3d, + 0x6c, 0x22, 0x28, 0x73, 0x75, 0x72, 0x66, 0x2e, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x29, 0x2c, + 0x20, 0x22, 0x72, 0x22, 0x28, 0x70, 0x2e, 0x78, 0x20, 0x2a, 0x20, 0x28, 0x69, 0x6e, 0x74, 0x29, + 0x73, 0x69, 0x7a, 0x65, 0x6f, 0x66, 0x28, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x34, 0x29, 0x29, 0x2c, + 0x20, 0x22, 0x72, 0x22, 0x28, 0x70, 0x2e, 0x79, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x70, + 0x2e, 0x7a, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x30, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x6d, + 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x22, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x78, 0x20, 0x3d, 0x20, + 0x6c, 0x63, 0x5f, 0x74, 0x65, 0x78, 0x65, 0x6c, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x63, 0x6f, + 0x6e, 0x76, 0x65, 0x72, 0x74, 0x3c, 0x54, 0x2c, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x3e, 0x28, + 0x78, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x79, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x74, 0x65, + 0x78, 0x65, 0x6c, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, + 0x3c, 0x54, 0x2c, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x3e, 0x28, 0x79, 0x29, 0x3b, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, + 0x74, 0x2e, 0x7a, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x74, 0x65, 0x78, 0x65, 0x6c, 0x5f, 0x72, + 0x65, 0x61, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x3c, 0x54, 0x2c, 0x20, 0x73, + 0x68, 0x6f, 0x72, 0x74, 0x3e, 0x28, 0x7a, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x77, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x74, 0x65, 0x78, 0x65, 0x6c, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x3c, 0x54, 0x2c, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x3e, - 0x28, 0x78, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x28, 0x77, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x61, 0x73, 0x65, 0x20, 0x4c, - 0x43, 0x50, 0x69, 0x78, 0x65, 0x6c, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x3a, 0x3a, 0x53, - 0x48, 0x4f, 0x52, 0x54, 0x32, 0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x43, 0x50, 0x69, 0x78, 0x65, 0x6c, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x3a, 0x3a, 0x49, + 0x4e, 0x54, 0x31, 0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x78, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x73, 0x75, 0x6c, 0x64, 0x2e, + 0x62, 0x2e, 0x33, 0x64, 0x2e, 0x62, 0x33, 0x32, 0x2e, 0x7a, 0x65, 0x72, 0x6f, 0x20, 0x25, 0x30, + 0x2c, 0x20, 0x5b, 0x25, 0x31, 0x2c, 0x20, 0x7b, 0x25, 0x32, 0x2c, 0x20, 0x25, 0x33, 0x2c, 0x20, + 0x25, 0x34, 0x2c, 0x20, 0x25, 0x35, 0x7d, 0x5d, 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x72, + 0x22, 0x28, 0x78, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x6c, 0x22, 0x28, 0x73, 0x75, 0x72, 0x66, 0x2e, + 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x70, 0x2e, 0x78, + 0x20, 0x2a, 0x20, 0x28, 0x69, 0x6e, 0x74, 0x29, 0x73, 0x69, 0x7a, 0x65, 0x6f, 0x66, 0x28, 0x69, + 0x6e, 0x74, 0x29, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x70, 0x2e, 0x79, 0x29, 0x2c, 0x20, + 0x22, 0x72, 0x22, 0x28, 0x70, 0x2e, 0x7a, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x30, 0x29, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x3a, 0x20, 0x22, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x22, 0x29, 0x3b, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, + 0x2e, 0x78, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x74, 0x65, 0x78, 0x65, 0x6c, 0x5f, 0x72, 0x65, + 0x61, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x3c, 0x54, 0x2c, 0x20, 0x69, 0x6e, + 0x74, 0x3e, 0x28, 0x78, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x61, 0x73, 0x65, + 0x20, 0x4c, 0x43, 0x50, 0x69, 0x78, 0x65, 0x6c, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x3a, + 0x3a, 0x49, 0x4e, 0x54, 0x32, 0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x78, 0x2c, 0x20, 0x79, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, - 0x73, 0x75, 0x6c, 0x64, 0x2e, 0x62, 0x2e, 0x33, 0x64, 0x2e, 0x76, 0x32, 0x2e, 0x62, 0x31, 0x36, + 0x73, 0x75, 0x6c, 0x64, 0x2e, 0x62, 0x2e, 0x33, 0x64, 0x2e, 0x76, 0x32, 0x2e, 0x62, 0x33, 0x32, 0x2e, 0x7a, 0x65, 0x72, 0x6f, 0x20, 0x7b, 0x25, 0x30, 0x2c, 0x20, 0x25, 0x31, 0x7d, 0x2c, 0x20, 0x5b, 0x25, 0x32, 0x2c, 0x20, 0x7b, 0x25, 0x33, 0x2c, 0x20, 0x25, 0x34, 0x2c, 0x20, 0x25, 0x35, 0x2c, 0x20, 0x25, 0x36, 0x7d, 0x5d, 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, @@ -38840,360 +38704,363 @@ extern "C" const char luisa_cuda_builtin_cuda_device_resource[119200] = { 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x6c, 0x22, 0x28, 0x73, 0x75, 0x72, 0x66, 0x2e, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x70, 0x2e, 0x78, 0x20, 0x2a, 0x20, 0x28, 0x69, 0x6e, 0x74, 0x29, 0x73, - 0x69, 0x7a, 0x65, 0x6f, 0x66, 0x28, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x32, 0x29, 0x29, 0x2c, 0x20, - 0x22, 0x72, 0x22, 0x28, 0x70, 0x2e, 0x79, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x70, 0x2e, - 0x7a, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x30, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x6d, 0x65, - 0x6d, 0x6f, 0x72, 0x79, 0x22, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x78, 0x20, 0x3d, 0x20, 0x6c, - 0x63, 0x5f, 0x74, 0x65, 0x78, 0x65, 0x6c, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x63, 0x6f, 0x6e, - 0x76, 0x65, 0x72, 0x74, 0x3c, 0x54, 0x2c, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x3e, 0x28, 0x78, - 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, - 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x79, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x74, 0x65, 0x78, - 0x65, 0x6c, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x3c, - 0x54, 0x2c, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x3e, 0x28, 0x79, 0x29, 0x3b, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x63, 0x61, 0x73, 0x65, 0x20, 0x4c, 0x43, 0x50, 0x69, 0x78, 0x65, 0x6c, 0x53, - 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x3a, 0x3a, 0x53, 0x48, 0x4f, 0x52, 0x54, 0x34, 0x3a, 0x20, - 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x6e, + 0x69, 0x7a, 0x65, 0x6f, 0x66, 0x28, 0x69, 0x6e, 0x74, 0x32, 0x29, 0x29, 0x2c, 0x20, 0x22, 0x72, + 0x22, 0x28, 0x70, 0x2e, 0x79, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x70, 0x2e, 0x7a, 0x29, + 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x30, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x6d, 0x65, 0x6d, 0x6f, + 0x72, 0x79, 0x22, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x78, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, + 0x74, 0x65, 0x78, 0x65, 0x6c, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, + 0x72, 0x74, 0x3c, 0x54, 0x2c, 0x20, 0x69, 0x6e, 0x74, 0x3e, 0x28, 0x78, 0x29, 0x3b, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, + 0x74, 0x2e, 0x79, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x74, 0x65, 0x78, 0x65, 0x6c, 0x5f, 0x72, + 0x65, 0x61, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x3c, 0x54, 0x2c, 0x20, 0x69, + 0x6e, 0x74, 0x3e, 0x28, 0x79, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x61, 0x73, + 0x65, 0x20, 0x4c, 0x43, 0x50, 0x69, 0x78, 0x65, 0x6c, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, + 0x3a, 0x3a, 0x49, 0x4e, 0x54, 0x34, 0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x78, 0x2c, 0x20, 0x79, 0x2c, 0x20, + 0x7a, 0x2c, 0x20, 0x77, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x73, 0x75, 0x6c, 0x64, 0x2e, 0x62, 0x2e, 0x33, 0x64, + 0x2e, 0x76, 0x34, 0x2e, 0x62, 0x33, 0x32, 0x2e, 0x7a, 0x65, 0x72, 0x6f, 0x20, 0x7b, 0x25, 0x30, + 0x2c, 0x20, 0x25, 0x31, 0x2c, 0x20, 0x25, 0x32, 0x2c, 0x20, 0x25, 0x33, 0x7d, 0x2c, 0x20, 0x5b, + 0x25, 0x34, 0x2c, 0x20, 0x7b, 0x25, 0x35, 0x2c, 0x20, 0x25, 0x36, 0x2c, 0x20, 0x25, 0x37, 0x2c, + 0x20, 0x25, 0x38, 0x7d, 0x5d, 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x72, 0x22, 0x28, 0x78, + 0x29, 0x2c, 0x20, 0x22, 0x3d, 0x72, 0x22, 0x28, 0x79, 0x29, 0x2c, 0x20, 0x22, 0x3d, 0x72, 0x22, + 0x28, 0x7a, 0x29, 0x2c, 0x20, 0x22, 0x3d, 0x72, 0x22, 0x28, 0x77, 0x29, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, + 0x6c, 0x22, 0x28, 0x73, 0x75, 0x72, 0x66, 0x2e, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x29, 0x2c, + 0x20, 0x22, 0x72, 0x22, 0x28, 0x70, 0x2e, 0x78, 0x20, 0x2a, 0x20, 0x28, 0x69, 0x6e, 0x74, 0x29, + 0x73, 0x69, 0x7a, 0x65, 0x6f, 0x66, 0x28, 0x69, 0x6e, 0x74, 0x34, 0x29, 0x29, 0x2c, 0x20, 0x22, + 0x72, 0x22, 0x28, 0x70, 0x2e, 0x79, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x70, 0x2e, 0x7a, + 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x30, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x6d, 0x65, 0x6d, + 0x6f, 0x72, 0x79, 0x22, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x78, 0x20, 0x3d, 0x20, 0x6c, 0x63, + 0x5f, 0x74, 0x65, 0x78, 0x65, 0x6c, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x76, + 0x65, 0x72, 0x74, 0x3c, 0x54, 0x2c, 0x20, 0x69, 0x6e, 0x74, 0x3e, 0x28, 0x78, 0x29, 0x3b, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x73, 0x75, + 0x6c, 0x74, 0x2e, 0x79, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x74, 0x65, 0x78, 0x65, 0x6c, 0x5f, + 0x72, 0x65, 0x61, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x3c, 0x54, 0x2c, 0x20, + 0x69, 0x6e, 0x74, 0x3e, 0x28, 0x79, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x7a, 0x20, 0x3d, 0x20, + 0x6c, 0x63, 0x5f, 0x74, 0x65, 0x78, 0x65, 0x6c, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x63, 0x6f, + 0x6e, 0x76, 0x65, 0x72, 0x74, 0x3c, 0x54, 0x2c, 0x20, 0x69, 0x6e, 0x74, 0x3e, 0x28, 0x7a, 0x29, + 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, + 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x77, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x74, 0x65, 0x78, 0x65, + 0x6c, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x3c, 0x54, + 0x2c, 0x20, 0x69, 0x6e, 0x74, 0x3e, 0x28, 0x77, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x63, 0x61, 0x73, 0x65, 0x20, 0x4c, 0x43, 0x50, 0x69, 0x78, 0x65, 0x6c, 0x53, 0x74, 0x6f, 0x72, + 0x61, 0x67, 0x65, 0x3a, 0x3a, 0x48, 0x41, 0x4c, 0x46, 0x31, 0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, + 0x74, 0x20, 0x78, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x73, 0x75, 0x6c, 0x64, 0x2e, 0x62, 0x2e, 0x33, 0x64, 0x2e, + 0x62, 0x31, 0x36, 0x2e, 0x7a, 0x65, 0x72, 0x6f, 0x20, 0x25, 0x30, 0x2c, 0x20, 0x5b, 0x25, 0x31, + 0x2c, 0x20, 0x7b, 0x25, 0x32, 0x2c, 0x20, 0x25, 0x33, 0x2c, 0x20, 0x25, 0x34, 0x2c, 0x20, 0x25, + 0x35, 0x7d, 0x5d, 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x72, 0x22, 0x28, 0x78, 0x29, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x3a, 0x20, 0x22, 0x6c, 0x22, 0x28, 0x73, 0x75, 0x72, 0x66, 0x2e, 0x68, 0x61, 0x6e, 0x64, 0x6c, + 0x65, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x70, 0x2e, 0x78, 0x20, 0x2a, 0x20, 0x28, 0x69, + 0x6e, 0x74, 0x29, 0x73, 0x69, 0x7a, 0x65, 0x6f, 0x66, 0x28, 0x6c, 0x63, 0x5f, 0x68, 0x61, 0x6c, + 0x66, 0x29, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x70, 0x2e, 0x79, 0x29, 0x2c, 0x20, 0x22, + 0x72, 0x22, 0x28, 0x70, 0x2e, 0x7a, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x30, 0x29, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x3a, 0x20, 0x22, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x22, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, + 0x78, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x74, 0x65, 0x78, 0x65, 0x6c, 0x5f, 0x72, 0x65, 0x61, + 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x3c, 0x54, 0x2c, 0x20, 0x6c, 0x63, 0x5f, + 0x68, 0x61, 0x6c, 0x66, 0x3e, 0x28, 0x6c, 0x63, 0x5f, 0x62, 0x69, 0x74, 0x73, 0x5f, 0x74, 0x6f, + 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x28, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x5f, 0x63, 0x61, 0x73, + 0x74, 0x3c, 0x6c, 0x63, 0x5f, 0x75, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x3e, 0x28, 0x78, 0x29, 0x29, + 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x62, + 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x61, 0x73, 0x65, 0x20, 0x4c, 0x43, 0x50, + 0x69, 0x78, 0x65, 0x6c, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x3a, 0x3a, 0x48, 0x41, 0x4c, + 0x46, 0x32, 0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x20, 0x78, 0x2c, 0x20, 0x79, 0x3b, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x28, + 0x22, 0x73, 0x75, 0x6c, 0x64, 0x2e, 0x62, 0x2e, 0x33, 0x64, 0x2e, 0x76, 0x32, 0x2e, 0x62, 0x31, + 0x36, 0x2e, 0x7a, 0x65, 0x72, 0x6f, 0x20, 0x7b, 0x25, 0x30, 0x2c, 0x20, 0x25, 0x31, 0x7d, 0x2c, + 0x20, 0x5b, 0x25, 0x32, 0x2c, 0x20, 0x7b, 0x25, 0x33, 0x2c, 0x20, 0x25, 0x34, 0x2c, 0x20, 0x25, + 0x35, 0x2c, 0x20, 0x25, 0x36, 0x7d, 0x5d, 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x72, 0x22, + 0x28, 0x78, 0x29, 0x2c, 0x20, 0x22, 0x3d, 0x72, 0x22, 0x28, 0x79, 0x29, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, + 0x6c, 0x22, 0x28, 0x73, 0x75, 0x72, 0x66, 0x2e, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x29, 0x2c, + 0x20, 0x22, 0x72, 0x22, 0x28, 0x70, 0x2e, 0x78, 0x20, 0x2a, 0x20, 0x28, 0x69, 0x6e, 0x74, 0x29, + 0x73, 0x69, 0x7a, 0x65, 0x6f, 0x66, 0x28, 0x6c, 0x63, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x29, + 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x70, 0x2e, 0x79, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, + 0x28, 0x70, 0x2e, 0x7a, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x30, 0x29, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, + 0x22, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x22, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x78, 0x20, + 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x74, 0x65, 0x78, 0x65, 0x6c, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x5f, + 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x3c, 0x54, 0x2c, 0x20, 0x6c, 0x63, 0x5f, 0x68, 0x61, + 0x6c, 0x66, 0x3e, 0x28, 0x6c, 0x63, 0x5f, 0x62, 0x69, 0x74, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x68, + 0x61, 0x6c, 0x66, 0x28, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, + 0x6c, 0x63, 0x5f, 0x75, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x3e, 0x28, 0x78, 0x29, 0x29, 0x29, 0x3b, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x73, + 0x75, 0x6c, 0x74, 0x2e, 0x79, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x74, 0x65, 0x78, 0x65, 0x6c, + 0x5f, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x3c, 0x54, 0x2c, + 0x20, 0x6c, 0x63, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x3e, 0x28, 0x6c, 0x63, 0x5f, 0x62, 0x69, 0x74, + 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x28, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, + 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x6c, 0x63, 0x5f, 0x75, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x3e, + 0x28, 0x79, 0x29, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x61, 0x73, 0x65, + 0x20, 0x4c, 0x43, 0x50, 0x69, 0x78, 0x65, 0x6c, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x3a, + 0x3a, 0x48, 0x41, 0x4c, 0x46, 0x34, 0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x20, 0x78, 0x2c, + 0x20, 0x79, 0x2c, 0x20, 0x7a, 0x2c, 0x20, 0x77, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x73, 0x75, 0x6c, 0x64, 0x2e, + 0x62, 0x2e, 0x33, 0x64, 0x2e, 0x76, 0x34, 0x2e, 0x62, 0x31, 0x36, 0x2e, 0x7a, 0x65, 0x72, 0x6f, + 0x20, 0x7b, 0x25, 0x30, 0x2c, 0x20, 0x25, 0x31, 0x2c, 0x20, 0x25, 0x32, 0x2c, 0x20, 0x25, 0x33, + 0x7d, 0x2c, 0x20, 0x5b, 0x25, 0x34, 0x2c, 0x20, 0x7b, 0x25, 0x35, 0x2c, 0x20, 0x25, 0x36, 0x2c, + 0x20, 0x25, 0x37, 0x2c, 0x20, 0x25, 0x38, 0x7d, 0x5d, 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, + 0x72, 0x22, 0x28, 0x78, 0x29, 0x2c, 0x20, 0x22, 0x3d, 0x72, 0x22, 0x28, 0x79, 0x29, 0x2c, 0x20, + 0x22, 0x3d, 0x72, 0x22, 0x28, 0x7a, 0x29, 0x2c, 0x20, 0x22, 0x3d, 0x72, 0x22, 0x28, 0x77, 0x29, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x3a, 0x20, 0x22, 0x6c, 0x22, 0x28, 0x73, 0x75, 0x72, 0x66, 0x2e, 0x68, 0x61, 0x6e, 0x64, + 0x6c, 0x65, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x70, 0x2e, 0x78, 0x20, 0x2a, 0x20, 0x28, + 0x69, 0x6e, 0x74, 0x29, 0x73, 0x69, 0x7a, 0x65, 0x6f, 0x66, 0x28, 0x6c, 0x63, 0x5f, 0x68, 0x61, + 0x6c, 0x66, 0x34, 0x29, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x70, 0x2e, 0x79, 0x29, 0x2c, + 0x20, 0x22, 0x72, 0x22, 0x28, 0x70, 0x2e, 0x7a, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x30, + 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x3a, 0x20, 0x22, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x22, 0x29, 0x3b, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, + 0x74, 0x2e, 0x78, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x74, 0x65, 0x78, 0x65, 0x6c, 0x5f, 0x72, + 0x65, 0x61, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x3c, 0x54, 0x2c, 0x20, 0x6c, + 0x63, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x3e, 0x28, 0x6c, 0x63, 0x5f, 0x62, 0x69, 0x74, 0x73, 0x5f, + 0x74, 0x6f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x28, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x5f, 0x63, + 0x61, 0x73, 0x74, 0x3c, 0x6c, 0x63, 0x5f, 0x75, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x3e, 0x28, 0x78, + 0x29, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x79, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x74, + 0x65, 0x78, 0x65, 0x6c, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, + 0x74, 0x3c, 0x54, 0x2c, 0x20, 0x6c, 0x63, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x3e, 0x28, 0x6c, 0x63, + 0x5f, 0x62, 0x69, 0x74, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x28, 0x73, 0x74, + 0x61, 0x74, 0x69, 0x63, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x6c, 0x63, 0x5f, 0x75, 0x73, 0x68, + 0x6f, 0x72, 0x74, 0x3e, 0x28, 0x79, 0x29, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x7a, 0x20, + 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x74, 0x65, 0x78, 0x65, 0x6c, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x5f, + 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x3c, 0x54, 0x2c, 0x20, 0x6c, 0x63, 0x5f, 0x68, 0x61, + 0x6c, 0x66, 0x3e, 0x28, 0x6c, 0x63, 0x5f, 0x62, 0x69, 0x74, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x68, + 0x61, 0x6c, 0x66, 0x28, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, + 0x6c, 0x63, 0x5f, 0x75, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x3e, 0x28, 0x7a, 0x29, 0x29, 0x29, 0x3b, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x73, + 0x75, 0x6c, 0x74, 0x2e, 0x77, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x74, 0x65, 0x78, 0x65, 0x6c, + 0x5f, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x3c, 0x54, 0x2c, + 0x20, 0x6c, 0x63, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x3e, 0x28, 0x6c, 0x63, 0x5f, 0x62, 0x69, 0x74, + 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x28, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, + 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x6c, 0x63, 0x5f, 0x75, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x3e, + 0x28, 0x77, 0x29, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x61, 0x73, 0x65, + 0x20, 0x4c, 0x43, 0x50, 0x69, 0x78, 0x65, 0x6c, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x3a, + 0x3a, 0x46, 0x4c, 0x4f, 0x41, 0x54, 0x31, 0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x78, 0x3b, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x28, + 0x22, 0x73, 0x75, 0x6c, 0x64, 0x2e, 0x62, 0x2e, 0x33, 0x64, 0x2e, 0x62, 0x33, 0x32, 0x2e, 0x7a, + 0x65, 0x72, 0x6f, 0x20, 0x25, 0x30, 0x2c, 0x20, 0x5b, 0x25, 0x31, 0x2c, 0x20, 0x7b, 0x25, 0x32, + 0x2c, 0x20, 0x25, 0x33, 0x2c, 0x20, 0x25, 0x34, 0x2c, 0x20, 0x25, 0x35, 0x7d, 0x5d, 0x3b, 0x22, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x66, 0x22, 0x28, 0x78, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x6c, 0x22, + 0x28, 0x73, 0x75, 0x72, 0x66, 0x2e, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x29, 0x2c, 0x20, 0x22, + 0x72, 0x22, 0x28, 0x70, 0x2e, 0x78, 0x20, 0x2a, 0x20, 0x28, 0x69, 0x6e, 0x74, 0x29, 0x73, 0x69, + 0x7a, 0x65, 0x6f, 0x66, 0x28, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x29, 0x29, 0x2c, 0x20, 0x22, 0x72, + 0x22, 0x28, 0x70, 0x2e, 0x79, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x70, 0x2e, 0x7a, 0x29, + 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x30, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x6d, 0x65, 0x6d, 0x6f, + 0x72, 0x79, 0x22, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x78, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, + 0x74, 0x65, 0x78, 0x65, 0x6c, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, + 0x72, 0x74, 0x3c, 0x54, 0x2c, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x3e, 0x28, 0x78, 0x29, 0x3b, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x62, 0x72, 0x65, + 0x61, 0x6b, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x61, 0x73, 0x65, 0x20, 0x4c, 0x43, 0x50, 0x69, 0x78, + 0x65, 0x6c, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x3a, 0x3a, 0x46, 0x4c, 0x4f, 0x41, 0x54, + 0x32, 0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x78, 0x2c, 0x20, 0x79, 0x3b, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x73, 0x75, + 0x6c, 0x64, 0x2e, 0x62, 0x2e, 0x33, 0x64, 0x2e, 0x76, 0x32, 0x2e, 0x62, 0x33, 0x32, 0x2e, 0x7a, + 0x65, 0x72, 0x6f, 0x20, 0x7b, 0x25, 0x30, 0x2c, 0x20, 0x25, 0x31, 0x7d, 0x2c, 0x20, 0x5b, 0x25, + 0x32, 0x2c, 0x20, 0x7b, 0x25, 0x33, 0x2c, 0x20, 0x25, 0x34, 0x2c, 0x20, 0x25, 0x35, 0x2c, 0x20, + 0x25, 0x36, 0x7d, 0x5d, 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x66, 0x22, 0x28, 0x78, 0x29, + 0x2c, 0x20, 0x22, 0x3d, 0x66, 0x22, 0x28, 0x79, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x6c, 0x22, 0x28, + 0x73, 0x75, 0x72, 0x66, 0x2e, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x29, 0x2c, 0x20, 0x22, 0x72, + 0x22, 0x28, 0x70, 0x2e, 0x78, 0x20, 0x2a, 0x20, 0x28, 0x69, 0x6e, 0x74, 0x29, 0x73, 0x69, 0x7a, + 0x65, 0x6f, 0x66, 0x28, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x32, 0x29, 0x29, 0x2c, 0x20, 0x22, 0x72, + 0x22, 0x28, 0x70, 0x2e, 0x79, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x70, 0x2e, 0x7a, 0x29, + 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x30, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x6d, 0x65, 0x6d, 0x6f, + 0x72, 0x79, 0x22, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x78, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, + 0x74, 0x65, 0x78, 0x65, 0x6c, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, + 0x72, 0x74, 0x3c, 0x54, 0x2c, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x3e, 0x28, 0x78, 0x29, 0x3b, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x73, + 0x75, 0x6c, 0x74, 0x2e, 0x79, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x74, 0x65, 0x78, 0x65, 0x6c, + 0x5f, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x3c, 0x54, 0x2c, + 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x3e, 0x28, 0x79, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x63, 0x61, 0x73, 0x65, 0x20, 0x4c, 0x43, 0x50, 0x69, 0x78, 0x65, 0x6c, 0x53, 0x74, 0x6f, + 0x72, 0x61, 0x67, 0x65, 0x3a, 0x3a, 0x46, 0x4c, 0x4f, 0x41, 0x54, 0x34, 0x3a, 0x20, 0x7b, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x78, 0x2c, 0x20, 0x79, 0x2c, 0x20, 0x7a, 0x2c, 0x20, 0x77, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x73, - 0x75, 0x6c, 0x64, 0x2e, 0x62, 0x2e, 0x33, 0x64, 0x2e, 0x76, 0x34, 0x2e, 0x62, 0x31, 0x36, 0x2e, + 0x75, 0x6c, 0x64, 0x2e, 0x62, 0x2e, 0x33, 0x64, 0x2e, 0x76, 0x34, 0x2e, 0x62, 0x33, 0x32, 0x2e, 0x7a, 0x65, 0x72, 0x6f, 0x20, 0x7b, 0x25, 0x30, 0x2c, 0x20, 0x25, 0x31, 0x2c, 0x20, 0x25, 0x32, 0x2c, 0x20, 0x25, 0x33, 0x7d, 0x2c, 0x20, 0x5b, 0x25, 0x34, 0x2c, 0x20, 0x7b, 0x25, 0x35, 0x2c, 0x20, 0x25, 0x36, 0x2c, 0x20, 0x25, 0x37, 0x2c, 0x20, 0x25, 0x38, 0x7d, 0x5d, 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x3a, 0x20, 0x22, 0x3d, 0x72, 0x22, 0x28, 0x78, 0x29, 0x2c, 0x20, 0x22, 0x3d, 0x72, 0x22, 0x28, - 0x79, 0x29, 0x2c, 0x20, 0x22, 0x3d, 0x72, 0x22, 0x28, 0x7a, 0x29, 0x2c, 0x20, 0x22, 0x3d, 0x72, + 0x3a, 0x20, 0x22, 0x3d, 0x66, 0x22, 0x28, 0x78, 0x29, 0x2c, 0x20, 0x22, 0x3d, 0x66, 0x22, 0x28, + 0x79, 0x29, 0x2c, 0x20, 0x22, 0x3d, 0x66, 0x22, 0x28, 0x7a, 0x29, 0x2c, 0x20, 0x22, 0x3d, 0x66, 0x22, 0x28, 0x77, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x6c, 0x22, 0x28, 0x73, 0x75, 0x72, 0x66, 0x2e, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x70, 0x2e, 0x78, - 0x20, 0x2a, 0x20, 0x28, 0x69, 0x6e, 0x74, 0x29, 0x73, 0x69, 0x7a, 0x65, 0x6f, 0x66, 0x28, 0x73, - 0x68, 0x6f, 0x72, 0x74, 0x34, 0x29, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x70, 0x2e, 0x79, + 0x20, 0x2a, 0x20, 0x28, 0x69, 0x6e, 0x74, 0x29, 0x73, 0x69, 0x7a, 0x65, 0x6f, 0x66, 0x28, 0x66, + 0x6c, 0x6f, 0x61, 0x74, 0x34, 0x29, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x70, 0x2e, 0x79, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x70, 0x2e, 0x7a, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x30, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x22, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x78, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x74, 0x65, 0x78, 0x65, 0x6c, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x3c, 0x54, 0x2c, - 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x3e, 0x28, 0x78, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x3e, 0x28, 0x78, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x79, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x74, 0x65, 0x78, 0x65, 0x6c, 0x5f, 0x72, 0x65, 0x61, 0x64, - 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x3c, 0x54, 0x2c, 0x20, 0x73, 0x68, 0x6f, 0x72, + 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x3c, 0x54, 0x2c, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x3e, 0x28, 0x79, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x7a, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x74, 0x65, 0x78, 0x65, 0x6c, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x76, - 0x65, 0x72, 0x74, 0x3c, 0x54, 0x2c, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x3e, 0x28, 0x7a, 0x29, + 0x65, 0x72, 0x74, 0x3c, 0x54, 0x2c, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x3e, 0x28, 0x7a, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x77, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x74, 0x65, 0x78, 0x65, 0x6c, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x3c, 0x54, - 0x2c, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x3e, 0x28, 0x77, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, + 0x2c, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x3e, 0x28, 0x77, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x3a, 0x20, 0x5f, 0x5f, 0x62, 0x75, 0x69, + 0x6c, 0x74, 0x69, 0x6e, 0x5f, 0x75, 0x6e, 0x72, 0x65, 0x61, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, + 0x28, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, + 0x74, 0x75, 0x72, 0x6e, 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, + 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x3c, 0x74, 0x79, 0x70, 0x65, 0x6e, 0x61, 0x6d, + 0x65, 0x20, 0x54, 0x2c, 0x20, 0x74, 0x79, 0x70, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x56, 0x3e, + 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x76, 0x6f, 0x69, 0x64, + 0x20, 0x6c, 0x63, 0x5f, 0x73, 0x75, 0x72, 0x66, 0x33, 0x64, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, + 0x28, 0x4c, 0x43, 0x53, 0x75, 0x72, 0x66, 0x61, 0x63, 0x65, 0x20, 0x73, 0x75, 0x72, 0x66, 0x2c, + 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x20, 0x70, 0x2c, 0x20, 0x56, 0x20, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x73, 0x77, 0x69, 0x74, 0x63, 0x68, 0x20, 0x28, 0x73, 0x74, 0x61, + 0x74, 0x69, 0x63, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x4c, 0x43, 0x50, 0x69, 0x78, 0x65, 0x6c, + 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x3e, 0x28, 0x73, 0x75, 0x72, 0x66, 0x2e, 0x73, 0x74, + 0x6f, 0x72, 0x61, 0x67, 0x65, 0x29, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x61, 0x73, 0x65, 0x20, 0x4c, 0x43, 0x50, 0x69, 0x78, 0x65, 0x6c, 0x53, 0x74, - 0x6f, 0x72, 0x61, 0x67, 0x65, 0x3a, 0x3a, 0x49, 0x4e, 0x54, 0x31, 0x3a, 0x20, 0x7b, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x78, - 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, - 0x6d, 0x28, 0x22, 0x73, 0x75, 0x6c, 0x64, 0x2e, 0x62, 0x2e, 0x33, 0x64, 0x2e, 0x62, 0x33, 0x32, - 0x2e, 0x7a, 0x65, 0x72, 0x6f, 0x20, 0x25, 0x30, 0x2c, 0x20, 0x5b, 0x25, 0x31, 0x2c, 0x20, 0x7b, - 0x25, 0x32, 0x2c, 0x20, 0x25, 0x33, 0x2c, 0x20, 0x25, 0x34, 0x2c, 0x20, 0x25, 0x35, 0x7d, 0x5d, - 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x72, 0x22, 0x28, 0x78, 0x29, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, - 0x6c, 0x22, 0x28, 0x73, 0x75, 0x72, 0x66, 0x2e, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x29, 0x2c, - 0x20, 0x22, 0x72, 0x22, 0x28, 0x70, 0x2e, 0x78, 0x20, 0x2a, 0x20, 0x28, 0x69, 0x6e, 0x74, 0x29, - 0x73, 0x69, 0x7a, 0x65, 0x6f, 0x66, 0x28, 0x69, 0x6e, 0x74, 0x29, 0x29, 0x2c, 0x20, 0x22, 0x72, - 0x22, 0x28, 0x70, 0x2e, 0x79, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x70, 0x2e, 0x7a, 0x29, - 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x30, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x6d, 0x65, 0x6d, 0x6f, - 0x72, 0x79, 0x22, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x78, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, - 0x74, 0x65, 0x78, 0x65, 0x6c, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, - 0x72, 0x74, 0x3c, 0x54, 0x2c, 0x20, 0x69, 0x6e, 0x74, 0x3e, 0x28, 0x78, 0x29, 0x3b, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x62, 0x72, 0x65, 0x61, 0x6b, - 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x63, 0x61, 0x73, 0x65, 0x20, 0x4c, 0x43, 0x50, 0x69, 0x78, 0x65, 0x6c, - 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x3a, 0x3a, 0x49, 0x4e, 0x54, 0x32, 0x3a, 0x20, 0x7b, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x6e, 0x74, - 0x20, 0x78, 0x2c, 0x20, 0x79, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x73, 0x75, 0x6c, 0x64, 0x2e, 0x62, 0x2e, 0x33, - 0x64, 0x2e, 0x76, 0x32, 0x2e, 0x62, 0x33, 0x32, 0x2e, 0x7a, 0x65, 0x72, 0x6f, 0x20, 0x7b, 0x25, - 0x30, 0x2c, 0x20, 0x25, 0x31, 0x7d, 0x2c, 0x20, 0x5b, 0x25, 0x32, 0x2c, 0x20, 0x7b, 0x25, 0x33, - 0x2c, 0x20, 0x25, 0x34, 0x2c, 0x20, 0x25, 0x35, 0x2c, 0x20, 0x25, 0x36, 0x7d, 0x5d, 0x3b, 0x22, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x72, 0x22, 0x28, 0x78, 0x29, 0x2c, 0x20, 0x22, 0x3d, 0x72, 0x22, - 0x28, 0x79, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x6c, 0x22, 0x28, 0x73, 0x75, 0x72, 0x66, 0x2e, 0x68, - 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x70, 0x2e, 0x78, 0x20, - 0x2a, 0x20, 0x28, 0x69, 0x6e, 0x74, 0x29, 0x73, 0x69, 0x7a, 0x65, 0x6f, 0x66, 0x28, 0x69, 0x6e, - 0x74, 0x32, 0x29, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x70, 0x2e, 0x79, 0x29, 0x2c, 0x20, - 0x22, 0x72, 0x22, 0x28, 0x70, 0x2e, 0x7a, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x30, 0x29, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x3a, 0x20, 0x22, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x22, 0x29, 0x3b, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, - 0x2e, 0x78, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x74, 0x65, 0x78, 0x65, 0x6c, 0x5f, 0x72, 0x65, - 0x61, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x3c, 0x54, 0x2c, 0x20, 0x69, 0x6e, - 0x74, 0x3e, 0x28, 0x78, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x79, 0x20, 0x3d, 0x20, 0x6c, 0x63, - 0x5f, 0x74, 0x65, 0x78, 0x65, 0x6c, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x76, - 0x65, 0x72, 0x74, 0x3c, 0x54, 0x2c, 0x20, 0x69, 0x6e, 0x74, 0x3e, 0x28, 0x79, 0x29, 0x3b, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x62, 0x72, 0x65, 0x61, - 0x6b, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x61, 0x73, 0x65, 0x20, 0x4c, 0x43, 0x50, 0x69, 0x78, 0x65, - 0x6c, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x3a, 0x3a, 0x49, 0x4e, 0x54, 0x34, 0x3a, 0x20, - 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x6e, - 0x74, 0x20, 0x78, 0x2c, 0x20, 0x79, 0x2c, 0x20, 0x7a, 0x2c, 0x20, 0x77, 0x3b, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x73, - 0x75, 0x6c, 0x64, 0x2e, 0x62, 0x2e, 0x33, 0x64, 0x2e, 0x76, 0x34, 0x2e, 0x62, 0x33, 0x32, 0x2e, - 0x7a, 0x65, 0x72, 0x6f, 0x20, 0x7b, 0x25, 0x30, 0x2c, 0x20, 0x25, 0x31, 0x2c, 0x20, 0x25, 0x32, - 0x2c, 0x20, 0x25, 0x33, 0x7d, 0x2c, 0x20, 0x5b, 0x25, 0x34, 0x2c, 0x20, 0x7b, 0x25, 0x35, 0x2c, - 0x20, 0x25, 0x36, 0x2c, 0x20, 0x25, 0x37, 0x2c, 0x20, 0x25, 0x38, 0x7d, 0x5d, 0x3b, 0x22, 0x0a, + 0x6f, 0x72, 0x61, 0x67, 0x65, 0x3a, 0x3a, 0x42, 0x59, 0x54, 0x45, 0x31, 0x3a, 0x20, 0x7b, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x6e, 0x74, 0x20, + 0x76, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x74, 0x65, 0x78, 0x65, 0x6c, 0x5f, 0x77, 0x72, 0x69, + 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x3c, 0x63, 0x68, 0x61, 0x72, 0x3e, + 0x28, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x78, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x20, 0x76, 0x6f, 0x6c, 0x61, 0x74, + 0x69, 0x6c, 0x65, 0x28, 0x22, 0x73, 0x75, 0x73, 0x74, 0x2e, 0x62, 0x2e, 0x33, 0x64, 0x2e, 0x62, + 0x38, 0x2e, 0x7a, 0x65, 0x72, 0x6f, 0x20, 0x5b, 0x25, 0x30, 0x2c, 0x20, 0x7b, 0x25, 0x31, 0x2c, + 0x20, 0x25, 0x32, 0x2c, 0x20, 0x25, 0x33, 0x2c, 0x20, 0x25, 0x34, 0x7d, 0x5d, 0x2c, 0x20, 0x25, + 0x35, 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x3a, 0x20, 0x22, 0x3d, 0x72, 0x22, 0x28, 0x78, 0x29, 0x2c, 0x20, 0x22, 0x3d, 0x72, 0x22, 0x28, - 0x79, 0x29, 0x2c, 0x20, 0x22, 0x3d, 0x72, 0x22, 0x28, 0x7a, 0x29, 0x2c, 0x20, 0x22, 0x3d, 0x72, - 0x22, 0x28, 0x77, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x6c, 0x22, 0x28, 0x73, 0x75, 0x72, 0x66, 0x2e, - 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x70, 0x2e, 0x78, - 0x20, 0x2a, 0x20, 0x28, 0x69, 0x6e, 0x74, 0x29, 0x73, 0x69, 0x7a, 0x65, 0x6f, 0x66, 0x28, 0x69, - 0x6e, 0x74, 0x34, 0x29, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x70, 0x2e, 0x79, 0x29, 0x2c, - 0x20, 0x22, 0x72, 0x22, 0x28, 0x70, 0x2e, 0x7a, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x30, - 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x3a, 0x20, 0x22, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x22, 0x29, 0x3b, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, - 0x74, 0x2e, 0x78, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x74, 0x65, 0x78, 0x65, 0x6c, 0x5f, 0x72, - 0x65, 0x61, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x3c, 0x54, 0x2c, 0x20, 0x69, - 0x6e, 0x74, 0x3e, 0x28, 0x78, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x79, 0x20, 0x3d, 0x20, 0x6c, - 0x63, 0x5f, 0x74, 0x65, 0x78, 0x65, 0x6c, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x63, 0x6f, 0x6e, - 0x76, 0x65, 0x72, 0x74, 0x3c, 0x54, 0x2c, 0x20, 0x69, 0x6e, 0x74, 0x3e, 0x28, 0x79, 0x29, 0x3b, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x73, - 0x75, 0x6c, 0x74, 0x2e, 0x7a, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x74, 0x65, 0x78, 0x65, 0x6c, - 0x5f, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x3c, 0x54, 0x2c, - 0x20, 0x69, 0x6e, 0x74, 0x3e, 0x28, 0x7a, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x77, 0x20, 0x3d, - 0x20, 0x6c, 0x63, 0x5f, 0x74, 0x65, 0x78, 0x65, 0x6c, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x63, - 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x3c, 0x54, 0x2c, 0x20, 0x69, 0x6e, 0x74, 0x3e, 0x28, 0x77, - 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x62, - 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x61, 0x73, 0x65, 0x20, 0x4c, 0x43, 0x50, - 0x69, 0x78, 0x65, 0x6c, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x3a, 0x3a, 0x48, 0x41, 0x4c, - 0x46, 0x31, 0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x20, 0x78, 0x3b, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x73, 0x75, - 0x6c, 0x64, 0x2e, 0x62, 0x2e, 0x33, 0x64, 0x2e, 0x62, 0x31, 0x36, 0x2e, 0x7a, 0x65, 0x72, 0x6f, - 0x20, 0x25, 0x30, 0x2c, 0x20, 0x5b, 0x25, 0x31, 0x2c, 0x20, 0x7b, 0x25, 0x32, 0x2c, 0x20, 0x25, - 0x33, 0x2c, 0x20, 0x25, 0x34, 0x2c, 0x20, 0x25, 0x35, 0x7d, 0x5d, 0x3b, 0x22, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, - 0x22, 0x3d, 0x72, 0x22, 0x28, 0x78, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x6c, 0x22, 0x28, 0x73, 0x75, 0x72, 0x66, 0x2e, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, - 0x70, 0x2e, 0x78, 0x20, 0x2a, 0x20, 0x28, 0x69, 0x6e, 0x74, 0x29, 0x73, 0x69, 0x7a, 0x65, 0x6f, - 0x66, 0x28, 0x6c, 0x63, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x29, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, - 0x28, 0x70, 0x2e, 0x79, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x70, 0x2e, 0x7a, 0x29, 0x2c, - 0x20, 0x22, 0x72, 0x22, 0x28, 0x30, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x70, 0x2e, 0x78, 0x20, 0x2a, 0x20, 0x28, 0x69, 0x6e, 0x74, 0x29, 0x28, 0x73, 0x69, 0x7a, 0x65, + 0x6f, 0x66, 0x28, 0x63, 0x68, 0x61, 0x72, 0x29, 0x29, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, + 0x70, 0x2e, 0x79, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x70, 0x2e, 0x7a, 0x29, 0x2c, 0x20, + 0x22, 0x72, 0x22, 0x28, 0x30, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x76, 0x29, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x22, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x78, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x74, - 0x65, 0x78, 0x65, 0x6c, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, - 0x74, 0x3c, 0x54, 0x2c, 0x20, 0x6c, 0x63, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x3e, 0x28, 0x6c, 0x63, - 0x5f, 0x62, 0x69, 0x74, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x28, 0x73, 0x74, - 0x61, 0x74, 0x69, 0x63, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x6c, 0x63, 0x5f, 0x75, 0x73, 0x68, - 0x6f, 0x72, 0x74, 0x3e, 0x28, 0x78, 0x29, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x63, 0x61, 0x73, 0x65, 0x20, 0x4c, 0x43, 0x50, 0x69, 0x78, 0x65, 0x6c, 0x53, 0x74, 0x6f, 0x72, - 0x61, 0x67, 0x65, 0x3a, 0x3a, 0x48, 0x41, 0x4c, 0x46, 0x32, 0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, - 0x74, 0x20, 0x78, 0x2c, 0x20, 0x79, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x73, 0x75, 0x6c, 0x64, 0x2e, 0x62, 0x2e, - 0x33, 0x64, 0x2e, 0x76, 0x32, 0x2e, 0x62, 0x31, 0x36, 0x2e, 0x7a, 0x65, 0x72, 0x6f, 0x20, 0x7b, - 0x25, 0x30, 0x2c, 0x20, 0x25, 0x31, 0x7d, 0x2c, 0x20, 0x5b, 0x25, 0x32, 0x2c, 0x20, 0x7b, 0x25, - 0x33, 0x2c, 0x20, 0x25, 0x34, 0x2c, 0x20, 0x25, 0x35, 0x2c, 0x20, 0x25, 0x36, 0x7d, 0x5d, 0x3b, + 0x20, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x61, 0x73, 0x65, 0x20, 0x4c, + 0x43, 0x50, 0x69, 0x78, 0x65, 0x6c, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x3a, 0x3a, 0x42, + 0x59, 0x54, 0x45, 0x32, 0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x76, 0x78, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, + 0x74, 0x65, 0x78, 0x65, 0x6c, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x76, + 0x65, 0x72, 0x74, 0x3c, 0x63, 0x68, 0x61, 0x72, 0x3e, 0x28, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2e, + 0x78, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x69, 0x6e, 0x74, 0x20, 0x76, 0x79, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x74, 0x65, 0x78, 0x65, + 0x6c, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x3c, + 0x63, 0x68, 0x61, 0x72, 0x3e, 0x28, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x79, 0x29, 0x3b, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x20, + 0x76, 0x6f, 0x6c, 0x61, 0x74, 0x69, 0x6c, 0x65, 0x28, 0x22, 0x73, 0x75, 0x73, 0x74, 0x2e, 0x62, + 0x2e, 0x33, 0x64, 0x2e, 0x76, 0x32, 0x2e, 0x62, 0x38, 0x2e, 0x7a, 0x65, 0x72, 0x6f, 0x20, 0x5b, + 0x25, 0x30, 0x2c, 0x20, 0x7b, 0x25, 0x31, 0x2c, 0x20, 0x25, 0x32, 0x2c, 0x20, 0x25, 0x33, 0x2c, + 0x20, 0x25, 0x34, 0x7d, 0x5d, 0x2c, 0x20, 0x7b, 0x25, 0x35, 0x2c, 0x20, 0x25, 0x36, 0x7d, 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x72, 0x22, 0x28, 0x78, 0x29, 0x2c, 0x20, 0x22, 0x3d, 0x72, - 0x22, 0x28, 0x79, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x6c, 0x22, 0x28, 0x73, 0x75, 0x72, 0x66, 0x2e, - 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x70, 0x2e, 0x78, - 0x20, 0x2a, 0x20, 0x28, 0x69, 0x6e, 0x74, 0x29, 0x73, 0x69, 0x7a, 0x65, 0x6f, 0x66, 0x28, 0x6c, - 0x63, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x32, 0x29, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x70, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x6c, 0x22, 0x28, 0x73, 0x75, 0x72, 0x66, + 0x2e, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x70, 0x2e, + 0x78, 0x20, 0x2a, 0x20, 0x28, 0x69, 0x6e, 0x74, 0x29, 0x28, 0x73, 0x69, 0x7a, 0x65, 0x6f, 0x66, + 0x28, 0x63, 0x68, 0x61, 0x72, 0x32, 0x29, 0x29, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x70, 0x2e, 0x79, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x70, 0x2e, 0x7a, 0x29, 0x2c, 0x20, 0x22, - 0x72, 0x22, 0x28, 0x30, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x22, - 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, - 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x78, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x74, 0x65, 0x78, - 0x65, 0x6c, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x3c, - 0x54, 0x2c, 0x20, 0x6c, 0x63, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x3e, 0x28, 0x6c, 0x63, 0x5f, 0x62, - 0x69, 0x74, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x28, 0x73, 0x74, 0x61, 0x74, - 0x69, 0x63, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x6c, 0x63, 0x5f, 0x75, 0x73, 0x68, 0x6f, 0x72, - 0x74, 0x3e, 0x28, 0x78, 0x29, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x79, 0x20, 0x3d, 0x20, - 0x6c, 0x63, 0x5f, 0x74, 0x65, 0x78, 0x65, 0x6c, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x63, 0x6f, - 0x6e, 0x76, 0x65, 0x72, 0x74, 0x3c, 0x54, 0x2c, 0x20, 0x6c, 0x63, 0x5f, 0x68, 0x61, 0x6c, 0x66, - 0x3e, 0x28, 0x6c, 0x63, 0x5f, 0x62, 0x69, 0x74, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x68, 0x61, 0x6c, - 0x66, 0x28, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x6c, 0x63, - 0x5f, 0x75, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x3e, 0x28, 0x79, 0x29, 0x29, 0x29, 0x3b, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x62, 0x72, 0x65, 0x61, 0x6b, - 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x63, 0x61, 0x73, 0x65, 0x20, 0x4c, 0x43, 0x50, 0x69, 0x78, 0x65, 0x6c, - 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x3a, 0x3a, 0x48, 0x41, 0x4c, 0x46, 0x34, 0x3a, 0x20, - 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, - 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x20, 0x78, 0x2c, 0x20, 0x79, 0x2c, 0x20, 0x7a, 0x2c, 0x20, 0x77, - 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, - 0x6d, 0x28, 0x22, 0x73, 0x75, 0x6c, 0x64, 0x2e, 0x62, 0x2e, 0x33, 0x64, 0x2e, 0x76, 0x34, 0x2e, - 0x62, 0x31, 0x36, 0x2e, 0x7a, 0x65, 0x72, 0x6f, 0x20, 0x7b, 0x25, 0x30, 0x2c, 0x20, 0x25, 0x31, - 0x2c, 0x20, 0x25, 0x32, 0x2c, 0x20, 0x25, 0x33, 0x7d, 0x2c, 0x20, 0x5b, 0x25, 0x34, 0x2c, 0x20, - 0x7b, 0x25, 0x35, 0x2c, 0x20, 0x25, 0x36, 0x2c, 0x20, 0x25, 0x37, 0x2c, 0x20, 0x25, 0x38, 0x7d, - 0x5d, 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x72, 0x22, 0x28, 0x78, 0x29, 0x2c, 0x20, 0x22, - 0x3d, 0x72, 0x22, 0x28, 0x79, 0x29, 0x2c, 0x20, 0x22, 0x3d, 0x72, 0x22, 0x28, 0x7a, 0x29, 0x2c, - 0x20, 0x22, 0x3d, 0x72, 0x22, 0x28, 0x77, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x6c, 0x22, 0x28, 0x73, - 0x75, 0x72, 0x66, 0x2e, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, - 0x28, 0x70, 0x2e, 0x78, 0x20, 0x2a, 0x20, 0x28, 0x69, 0x6e, 0x74, 0x29, 0x73, 0x69, 0x7a, 0x65, - 0x6f, 0x66, 0x28, 0x6c, 0x63, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x34, 0x29, 0x29, 0x2c, 0x20, 0x22, - 0x72, 0x22, 0x28, 0x70, 0x2e, 0x79, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x70, 0x2e, 0x7a, - 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x30, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x6d, 0x65, 0x6d, - 0x6f, 0x72, 0x79, 0x22, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x78, 0x20, 0x3d, 0x20, 0x6c, 0x63, - 0x5f, 0x74, 0x65, 0x78, 0x65, 0x6c, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x76, - 0x65, 0x72, 0x74, 0x3c, 0x54, 0x2c, 0x20, 0x6c, 0x63, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x3e, 0x28, - 0x6c, 0x63, 0x5f, 0x62, 0x69, 0x74, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x28, - 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x6c, 0x63, 0x5f, 0x75, - 0x73, 0x68, 0x6f, 0x72, 0x74, 0x3e, 0x28, 0x78, 0x29, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, - 0x79, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x74, 0x65, 0x78, 0x65, 0x6c, 0x5f, 0x72, 0x65, 0x61, - 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x3c, 0x54, 0x2c, 0x20, 0x6c, 0x63, 0x5f, - 0x68, 0x61, 0x6c, 0x66, 0x3e, 0x28, 0x6c, 0x63, 0x5f, 0x62, 0x69, 0x74, 0x73, 0x5f, 0x74, 0x6f, - 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x28, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x5f, 0x63, 0x61, 0x73, - 0x74, 0x3c, 0x6c, 0x63, 0x5f, 0x75, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x3e, 0x28, 0x79, 0x29, 0x29, - 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, - 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x7a, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x74, 0x65, 0x78, - 0x65, 0x6c, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x3c, - 0x54, 0x2c, 0x20, 0x6c, 0x63, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x3e, 0x28, 0x6c, 0x63, 0x5f, 0x62, - 0x69, 0x74, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x28, 0x73, 0x74, 0x61, 0x74, - 0x69, 0x63, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x6c, 0x63, 0x5f, 0x75, 0x73, 0x68, 0x6f, 0x72, - 0x74, 0x3e, 0x28, 0x7a, 0x29, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x77, 0x20, 0x3d, 0x20, - 0x6c, 0x63, 0x5f, 0x74, 0x65, 0x78, 0x65, 0x6c, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x63, 0x6f, - 0x6e, 0x76, 0x65, 0x72, 0x74, 0x3c, 0x54, 0x2c, 0x20, 0x6c, 0x63, 0x5f, 0x68, 0x61, 0x6c, 0x66, - 0x3e, 0x28, 0x6c, 0x63, 0x5f, 0x62, 0x69, 0x74, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x68, 0x61, 0x6c, - 0x66, 0x28, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x6c, 0x63, - 0x5f, 0x75, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x3e, 0x28, 0x77, 0x29, 0x29, 0x29, 0x3b, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x62, 0x72, 0x65, 0x61, 0x6b, - 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x63, 0x61, 0x73, 0x65, 0x20, 0x4c, 0x43, 0x50, 0x69, 0x78, 0x65, 0x6c, - 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x3a, 0x3a, 0x46, 0x4c, 0x4f, 0x41, 0x54, 0x31, 0x3a, - 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x66, - 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x78, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x73, 0x75, 0x6c, 0x64, 0x2e, 0x62, 0x2e, - 0x33, 0x64, 0x2e, 0x62, 0x33, 0x32, 0x2e, 0x7a, 0x65, 0x72, 0x6f, 0x20, 0x25, 0x30, 0x2c, 0x20, - 0x5b, 0x25, 0x31, 0x2c, 0x20, 0x7b, 0x25, 0x32, 0x2c, 0x20, 0x25, 0x33, 0x2c, 0x20, 0x25, 0x34, - 0x2c, 0x20, 0x25, 0x35, 0x7d, 0x5d, 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x66, 0x22, 0x28, - 0x78, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x6c, 0x22, 0x28, 0x73, 0x75, 0x72, 0x66, 0x2e, 0x68, 0x61, - 0x6e, 0x64, 0x6c, 0x65, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x70, 0x2e, 0x78, 0x20, 0x2a, - 0x20, 0x28, 0x69, 0x6e, 0x74, 0x29, 0x73, 0x69, 0x7a, 0x65, 0x6f, 0x66, 0x28, 0x66, 0x6c, 0x6f, - 0x61, 0x74, 0x29, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x70, 0x2e, 0x79, 0x29, 0x2c, 0x20, - 0x22, 0x72, 0x22, 0x28, 0x70, 0x2e, 0x7a, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x30, 0x29, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x3a, 0x20, 0x22, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x22, 0x29, 0x3b, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, - 0x2e, 0x78, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x74, 0x65, 0x78, 0x65, 0x6c, 0x5f, 0x72, 0x65, - 0x61, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x3c, 0x54, 0x2c, 0x20, 0x66, 0x6c, - 0x6f, 0x61, 0x74, 0x3e, 0x28, 0x78, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x61, - 0x73, 0x65, 0x20, 0x4c, 0x43, 0x50, 0x69, 0x78, 0x65, 0x6c, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, - 0x65, 0x3a, 0x3a, 0x46, 0x4c, 0x4f, 0x41, 0x54, 0x32, 0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x78, - 0x2c, 0x20, 0x79, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x73, 0x75, 0x6c, 0x64, 0x2e, 0x62, 0x2e, 0x33, 0x64, 0x2e, - 0x76, 0x32, 0x2e, 0x62, 0x33, 0x32, 0x2e, 0x7a, 0x65, 0x72, 0x6f, 0x20, 0x7b, 0x25, 0x30, 0x2c, - 0x20, 0x25, 0x31, 0x7d, 0x2c, 0x20, 0x5b, 0x25, 0x32, 0x2c, 0x20, 0x7b, 0x25, 0x33, 0x2c, 0x20, - 0x25, 0x34, 0x2c, 0x20, 0x25, 0x35, 0x2c, 0x20, 0x25, 0x36, 0x7d, 0x5d, 0x3b, 0x22, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, - 0x20, 0x22, 0x3d, 0x66, 0x22, 0x28, 0x78, 0x29, 0x2c, 0x20, 0x22, 0x3d, 0x66, 0x22, 0x28, 0x79, - 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x3a, 0x20, 0x22, 0x6c, 0x22, 0x28, 0x73, 0x75, 0x72, 0x66, 0x2e, 0x68, 0x61, 0x6e, - 0x64, 0x6c, 0x65, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x70, 0x2e, 0x78, 0x20, 0x2a, 0x20, - 0x28, 0x69, 0x6e, 0x74, 0x29, 0x73, 0x69, 0x7a, 0x65, 0x6f, 0x66, 0x28, 0x66, 0x6c, 0x6f, 0x61, - 0x74, 0x32, 0x29, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x70, 0x2e, 0x79, 0x29, 0x2c, 0x20, - 0x22, 0x72, 0x22, 0x28, 0x70, 0x2e, 0x7a, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x30, 0x29, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x72, 0x22, 0x28, 0x30, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x76, 0x78, 0x29, 0x2c, 0x20, + 0x22, 0x72, 0x22, 0x28, 0x76, 0x79, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x22, 0x29, 0x3b, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, - 0x2e, 0x78, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x74, 0x65, 0x78, 0x65, 0x6c, 0x5f, 0x72, 0x65, - 0x61, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x3c, 0x54, 0x2c, 0x20, 0x66, 0x6c, - 0x6f, 0x61, 0x74, 0x3e, 0x28, 0x78, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x79, 0x20, 0x3d, 0x20, - 0x6c, 0x63, 0x5f, 0x74, 0x65, 0x78, 0x65, 0x6c, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x63, 0x6f, - 0x6e, 0x76, 0x65, 0x72, 0x74, 0x3c, 0x54, 0x2c, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x3e, 0x28, - 0x79, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x61, 0x73, 0x65, 0x20, 0x4c, 0x43, - 0x50, 0x69, 0x78, 0x65, 0x6c, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x3a, 0x3a, 0x46, 0x4c, - 0x4f, 0x41, 0x54, 0x34, 0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x78, 0x2c, 0x20, 0x79, 0x2c, 0x20, - 0x7a, 0x2c, 0x20, 0x77, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x73, 0x75, 0x6c, 0x64, 0x2e, 0x62, 0x2e, 0x33, 0x64, - 0x2e, 0x76, 0x34, 0x2e, 0x62, 0x33, 0x32, 0x2e, 0x7a, 0x65, 0x72, 0x6f, 0x20, 0x7b, 0x25, 0x30, - 0x2c, 0x20, 0x25, 0x31, 0x2c, 0x20, 0x25, 0x32, 0x2c, 0x20, 0x25, 0x33, 0x7d, 0x2c, 0x20, 0x5b, - 0x25, 0x34, 0x2c, 0x20, 0x7b, 0x25, 0x35, 0x2c, 0x20, 0x25, 0x36, 0x2c, 0x20, 0x25, 0x37, 0x2c, - 0x20, 0x25, 0x38, 0x7d, 0x5d, 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x66, 0x22, 0x28, 0x78, - 0x29, 0x2c, 0x20, 0x22, 0x3d, 0x66, 0x22, 0x28, 0x79, 0x29, 0x2c, 0x20, 0x22, 0x3d, 0x66, 0x22, - 0x28, 0x7a, 0x29, 0x2c, 0x20, 0x22, 0x3d, 0x66, 0x22, 0x28, 0x77, 0x29, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, - 0x6c, 0x22, 0x28, 0x73, 0x75, 0x72, 0x66, 0x2e, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x29, 0x2c, - 0x20, 0x22, 0x72, 0x22, 0x28, 0x70, 0x2e, 0x78, 0x20, 0x2a, 0x20, 0x28, 0x69, 0x6e, 0x74, 0x29, - 0x73, 0x69, 0x7a, 0x65, 0x6f, 0x66, 0x28, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x34, 0x29, 0x29, 0x2c, - 0x20, 0x22, 0x72, 0x22, 0x28, 0x70, 0x2e, 0x79, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x70, - 0x2e, 0x7a, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x30, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x63, 0x61, 0x73, 0x65, 0x20, 0x4c, 0x43, 0x50, 0x69, 0x78, 0x65, 0x6c, 0x53, + 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x3a, 0x3a, 0x42, 0x59, 0x54, 0x45, 0x34, 0x3a, 0x20, 0x7b, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x6e, 0x74, + 0x20, 0x76, 0x78, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x74, 0x65, 0x78, 0x65, 0x6c, 0x5f, 0x77, + 0x72, 0x69, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x3c, 0x63, 0x68, 0x61, + 0x72, 0x3e, 0x28, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x78, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x76, 0x79, 0x20, + 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x74, 0x65, 0x78, 0x65, 0x6c, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, + 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x3c, 0x63, 0x68, 0x61, 0x72, 0x3e, 0x28, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x79, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x76, 0x7a, 0x20, 0x3d, 0x20, 0x6c, 0x63, + 0x5f, 0x74, 0x65, 0x78, 0x65, 0x6c, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6e, + 0x76, 0x65, 0x72, 0x74, 0x3c, 0x63, 0x68, 0x61, 0x72, 0x3e, 0x28, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x2e, 0x7a, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x69, 0x6e, 0x74, 0x20, 0x76, 0x77, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x74, 0x65, 0x78, + 0x65, 0x6c, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, + 0x3c, 0x63, 0x68, 0x61, 0x72, 0x3e, 0x28, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x77, 0x29, 0x3b, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, + 0x20, 0x76, 0x6f, 0x6c, 0x61, 0x74, 0x69, 0x6c, 0x65, 0x28, 0x22, 0x73, 0x75, 0x73, 0x74, 0x2e, + 0x62, 0x2e, 0x33, 0x64, 0x2e, 0x76, 0x34, 0x2e, 0x62, 0x38, 0x2e, 0x7a, 0x65, 0x72, 0x6f, 0x20, + 0x5b, 0x25, 0x30, 0x2c, 0x20, 0x7b, 0x25, 0x31, 0x2c, 0x20, 0x25, 0x32, 0x2c, 0x20, 0x25, 0x33, + 0x2c, 0x20, 0x25, 0x34, 0x7d, 0x5d, 0x2c, 0x20, 0x7b, 0x25, 0x35, 0x2c, 0x20, 0x25, 0x36, 0x2c, + 0x20, 0x25, 0x37, 0x2c, 0x20, 0x25, 0x38, 0x7d, 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x3a, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, + 0x20, 0x22, 0x6c, 0x22, 0x28, 0x73, 0x75, 0x72, 0x66, 0x2e, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, + 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x70, 0x2e, 0x78, 0x20, 0x2a, 0x20, 0x28, 0x69, 0x6e, + 0x74, 0x29, 0x28, 0x73, 0x69, 0x7a, 0x65, 0x6f, 0x66, 0x28, 0x63, 0x68, 0x61, 0x72, 0x34, 0x29, + 0x29, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x70, 0x2e, 0x79, 0x29, 0x2c, 0x20, 0x22, 0x72, + 0x22, 0x28, 0x70, 0x2e, 0x7a, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x30, 0x29, 0x2c, 0x20, + 0x22, 0x72, 0x22, 0x28, 0x76, 0x78, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x76, 0x79, 0x29, + 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x76, 0x7a, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x76, + 0x77, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x22, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x78, 0x20, 0x3d, 0x20, - 0x6c, 0x63, 0x5f, 0x74, 0x65, 0x78, 0x65, 0x6c, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x63, 0x6f, - 0x6e, 0x76, 0x65, 0x72, 0x74, 0x3c, 0x54, 0x2c, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x3e, 0x28, - 0x78, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x79, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x74, 0x65, - 0x78, 0x65, 0x6c, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, - 0x3c, 0x54, 0x2c, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x3e, 0x28, 0x79, 0x29, 0x3b, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, - 0x74, 0x2e, 0x7a, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x74, 0x65, 0x78, 0x65, 0x6c, 0x5f, 0x72, - 0x65, 0x61, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x3c, 0x54, 0x2c, 0x20, 0x66, - 0x6c, 0x6f, 0x61, 0x74, 0x3e, 0x28, 0x7a, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x77, 0x20, 0x3d, - 0x20, 0x6c, 0x63, 0x5f, 0x74, 0x65, 0x78, 0x65, 0x6c, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x63, - 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x3c, 0x54, 0x2c, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x3e, - 0x28, 0x77, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, - 0x74, 0x3a, 0x20, 0x5f, 0x5f, 0x62, 0x75, 0x69, 0x6c, 0x74, 0x69, 0x6e, 0x5f, 0x75, 0x6e, 0x72, - 0x65, 0x61, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x28, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x72, 0x65, 0x73, - 0x75, 0x6c, 0x74, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, - 0x3c, 0x74, 0x79, 0x70, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x54, 0x2c, 0x20, 0x74, 0x79, 0x70, - 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x56, 0x3e, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, - 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x76, 0x6f, 0x69, 0x64, 0x20, - 0x6c, 0x63, 0x5f, 0x73, 0x75, 0x72, 0x66, 0x33, 0x64, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x28, - 0x4c, 0x43, 0x53, 0x75, 0x72, 0x66, 0x61, 0x63, 0x65, 0x20, 0x73, 0x75, 0x72, 0x66, 0x2c, 0x20, - 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x20, 0x70, 0x2c, 0x20, 0x56, 0x20, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x73, 0x77, 0x69, 0x74, 0x63, 0x68, 0x20, 0x28, 0x73, 0x74, 0x61, 0x74, - 0x69, 0x63, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x4c, 0x43, 0x50, 0x69, 0x78, 0x65, 0x6c, 0x53, - 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x3e, 0x28, 0x73, 0x75, 0x72, 0x66, 0x2e, 0x73, 0x74, 0x6f, - 0x72, 0x61, 0x67, 0x65, 0x29, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x63, 0x61, 0x73, 0x65, 0x20, 0x4c, 0x43, 0x50, 0x69, 0x78, 0x65, 0x6c, 0x53, 0x74, 0x6f, - 0x72, 0x61, 0x67, 0x65, 0x3a, 0x3a, 0x42, 0x59, 0x54, 0x45, 0x31, 0x3a, 0x20, 0x7b, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x76, - 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x74, 0x65, 0x78, 0x65, 0x6c, 0x5f, 0x77, 0x72, 0x69, 0x74, - 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x3c, 0x63, 0x68, 0x61, 0x72, 0x3e, 0x28, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x78, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x20, 0x76, 0x6f, 0x6c, 0x61, 0x74, 0x69, - 0x6c, 0x65, 0x28, 0x22, 0x73, 0x75, 0x73, 0x74, 0x2e, 0x62, 0x2e, 0x33, 0x64, 0x2e, 0x62, 0x38, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x61, + 0x73, 0x65, 0x20, 0x4c, 0x43, 0x50, 0x69, 0x78, 0x65, 0x6c, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, + 0x65, 0x3a, 0x3a, 0x53, 0x48, 0x4f, 0x52, 0x54, 0x31, 0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x76, 0x20, 0x3d, + 0x20, 0x6c, 0x63, 0x5f, 0x74, 0x65, 0x78, 0x65, 0x6c, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, + 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x3c, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x3e, 0x28, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x78, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x20, 0x76, 0x6f, 0x6c, 0x61, 0x74, 0x69, 0x6c, + 0x65, 0x28, 0x22, 0x73, 0x75, 0x73, 0x74, 0x2e, 0x62, 0x2e, 0x33, 0x64, 0x2e, 0x62, 0x31, 0x36, 0x2e, 0x7a, 0x65, 0x72, 0x6f, 0x20, 0x5b, 0x25, 0x30, 0x2c, 0x20, 0x7b, 0x25, 0x31, 0x2c, 0x20, 0x25, 0x32, 0x2c, 0x20, 0x25, 0x33, 0x2c, 0x20, 0x25, 0x34, 0x7d, 0x5d, 0x2c, 0x20, 0x25, 0x35, 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, @@ -39202,62 +39069,152 @@ extern "C" const char luisa_cuda_builtin_cuda_device_resource[119200] = { 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x6c, 0x22, 0x28, 0x73, 0x75, 0x72, 0x66, 0x2e, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x70, 0x2e, 0x78, 0x20, 0x2a, 0x20, 0x28, 0x69, 0x6e, 0x74, 0x29, 0x28, 0x73, 0x69, 0x7a, 0x65, 0x6f, - 0x66, 0x28, 0x63, 0x68, 0x61, 0x72, 0x29, 0x29, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x70, - 0x2e, 0x79, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x70, 0x2e, 0x7a, 0x29, 0x2c, 0x20, 0x22, - 0x72, 0x22, 0x28, 0x30, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x76, 0x29, 0x0a, 0x20, 0x20, + 0x66, 0x28, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x29, 0x29, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, + 0x70, 0x2e, 0x79, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x70, 0x2e, 0x7a, 0x29, 0x2c, 0x20, + 0x22, 0x72, 0x22, 0x28, 0x30, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x76, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, - 0x22, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x61, 0x73, 0x65, 0x20, 0x4c, 0x43, - 0x50, 0x69, 0x78, 0x65, 0x6c, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x3a, 0x3a, 0x42, 0x59, - 0x54, 0x45, 0x32, 0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x6d, 0x65, 0x6d, 0x6f, 0x72, + 0x79, 0x22, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x61, 0x73, 0x65, 0x20, 0x4c, + 0x43, 0x50, 0x69, 0x78, 0x65, 0x6c, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x3a, 0x3a, 0x53, + 0x48, 0x4f, 0x52, 0x54, 0x32, 0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x76, 0x78, 0x20, 0x3d, 0x20, 0x6c, 0x63, + 0x5f, 0x74, 0x65, 0x78, 0x65, 0x6c, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6e, + 0x76, 0x65, 0x72, 0x74, 0x3c, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x3e, 0x28, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x2e, 0x78, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x76, 0x79, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x74, 0x65, + 0x78, 0x65, 0x6c, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, + 0x74, 0x3c, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x3e, 0x28, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x79, + 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x61, + 0x73, 0x6d, 0x20, 0x76, 0x6f, 0x6c, 0x61, 0x74, 0x69, 0x6c, 0x65, 0x28, 0x22, 0x73, 0x75, 0x73, + 0x74, 0x2e, 0x62, 0x2e, 0x33, 0x64, 0x2e, 0x76, 0x32, 0x2e, 0x62, 0x31, 0x36, 0x2e, 0x7a, 0x65, + 0x72, 0x6f, 0x20, 0x5b, 0x25, 0x30, 0x2c, 0x20, 0x7b, 0x25, 0x31, 0x2c, 0x20, 0x25, 0x32, 0x2c, + 0x20, 0x25, 0x33, 0x2c, 0x20, 0x25, 0x34, 0x7d, 0x5d, 0x2c, 0x20, 0x7b, 0x25, 0x35, 0x2c, 0x20, + 0x25, 0x36, 0x7d, 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x6c, 0x22, 0x28, + 0x73, 0x75, 0x72, 0x66, 0x2e, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x29, 0x2c, 0x20, 0x22, 0x72, + 0x22, 0x28, 0x70, 0x2e, 0x78, 0x20, 0x2a, 0x20, 0x28, 0x69, 0x6e, 0x74, 0x29, 0x28, 0x73, 0x69, + 0x7a, 0x65, 0x6f, 0x66, 0x28, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x32, 0x29, 0x29, 0x29, 0x2c, 0x20, + 0x22, 0x72, 0x22, 0x28, 0x70, 0x2e, 0x79, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x70, 0x2e, + 0x7a, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x30, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, + 0x76, 0x78, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x76, 0x79, 0x29, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x22, + 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x62, + 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x61, 0x73, 0x65, 0x20, 0x4c, 0x43, 0x50, + 0x69, 0x78, 0x65, 0x6c, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x3a, 0x3a, 0x53, 0x48, 0x4f, + 0x52, 0x54, 0x34, 0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x76, 0x78, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x74, 0x65, 0x78, 0x65, 0x6c, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, - 0x72, 0x74, 0x3c, 0x63, 0x68, 0x61, 0x72, 0x3e, 0x28, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x78, - 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, - 0x6e, 0x74, 0x20, 0x76, 0x79, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x74, 0x65, 0x78, 0x65, 0x6c, - 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x3c, 0x63, - 0x68, 0x61, 0x72, 0x3e, 0x28, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x79, 0x29, 0x3b, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x20, 0x76, - 0x6f, 0x6c, 0x61, 0x74, 0x69, 0x6c, 0x65, 0x28, 0x22, 0x73, 0x75, 0x73, 0x74, 0x2e, 0x62, 0x2e, - 0x33, 0x64, 0x2e, 0x76, 0x32, 0x2e, 0x62, 0x38, 0x2e, 0x7a, 0x65, 0x72, 0x6f, 0x20, 0x5b, 0x25, - 0x30, 0x2c, 0x20, 0x7b, 0x25, 0x31, 0x2c, 0x20, 0x25, 0x32, 0x2c, 0x20, 0x25, 0x33, 0x2c, 0x20, - 0x25, 0x34, 0x7d, 0x5d, 0x2c, 0x20, 0x7b, 0x25, 0x35, 0x2c, 0x20, 0x25, 0x36, 0x7d, 0x3b, 0x22, + 0x72, 0x74, 0x3c, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x3e, 0x28, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2e, + 0x78, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x69, 0x6e, 0x74, 0x20, 0x76, 0x79, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x74, 0x65, 0x78, 0x65, + 0x6c, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x3c, + 0x73, 0x68, 0x6f, 0x72, 0x74, 0x3e, 0x28, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x79, 0x29, 0x3b, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x6e, 0x74, + 0x20, 0x76, 0x7a, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x74, 0x65, 0x78, 0x65, 0x6c, 0x5f, 0x77, + 0x72, 0x69, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x3c, 0x73, 0x68, 0x6f, + 0x72, 0x74, 0x3e, 0x28, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x7a, 0x29, 0x3b, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x76, 0x77, + 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x74, 0x65, 0x78, 0x65, 0x6c, 0x5f, 0x77, 0x72, 0x69, 0x74, + 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x3c, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x3e, + 0x28, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x77, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x20, 0x76, 0x6f, 0x6c, 0x61, 0x74, + 0x69, 0x6c, 0x65, 0x28, 0x22, 0x73, 0x75, 0x73, 0x74, 0x2e, 0x62, 0x2e, 0x33, 0x64, 0x2e, 0x76, + 0x34, 0x2e, 0x62, 0x31, 0x36, 0x2e, 0x7a, 0x65, 0x72, 0x6f, 0x20, 0x5b, 0x25, 0x30, 0x2c, 0x20, + 0x7b, 0x25, 0x31, 0x2c, 0x20, 0x25, 0x32, 0x2c, 0x20, 0x25, 0x33, 0x2c, 0x20, 0x25, 0x34, 0x7d, + 0x5d, 0x2c, 0x20, 0x7b, 0x25, 0x35, 0x2c, 0x20, 0x25, 0x36, 0x2c, 0x20, 0x25, 0x37, 0x2c, 0x20, + 0x25, 0x38, 0x7d, 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x6c, 0x22, 0x28, + 0x73, 0x75, 0x72, 0x66, 0x2e, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x29, 0x2c, 0x20, 0x22, 0x72, + 0x22, 0x28, 0x70, 0x2e, 0x78, 0x20, 0x2a, 0x20, 0x28, 0x69, 0x6e, 0x74, 0x29, 0x28, 0x73, 0x69, + 0x7a, 0x65, 0x6f, 0x66, 0x28, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x34, 0x29, 0x29, 0x29, 0x2c, 0x20, + 0x22, 0x72, 0x22, 0x28, 0x70, 0x2e, 0x79, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x70, 0x2e, + 0x7a, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x30, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, + 0x76, 0x78, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x76, 0x79, 0x29, 0x2c, 0x20, 0x22, 0x72, + 0x22, 0x28, 0x76, 0x7a, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x76, 0x77, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x6c, 0x22, 0x28, 0x73, 0x75, 0x72, 0x66, 0x2e, - 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x70, 0x2e, 0x78, - 0x20, 0x2a, 0x20, 0x28, 0x69, 0x6e, 0x74, 0x29, 0x28, 0x73, 0x69, 0x7a, 0x65, 0x6f, 0x66, 0x28, - 0x63, 0x68, 0x61, 0x72, 0x32, 0x29, 0x29, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x70, 0x2e, - 0x79, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x70, 0x2e, 0x7a, 0x29, 0x2c, 0x20, 0x22, 0x72, - 0x22, 0x28, 0x30, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x76, 0x78, 0x29, 0x2c, 0x20, 0x22, - 0x72, 0x22, 0x28, 0x76, 0x79, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x6d, 0x65, 0x6d, 0x6f, 0x72, + 0x79, 0x22, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x61, 0x73, 0x65, 0x20, 0x4c, + 0x43, 0x50, 0x69, 0x78, 0x65, 0x6c, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x3a, 0x3a, 0x49, + 0x4e, 0x54, 0x31, 0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x76, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x74, 0x65, + 0x78, 0x65, 0x6c, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, + 0x74, 0x3c, 0x69, 0x6e, 0x74, 0x3e, 0x28, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x78, 0x29, 0x3b, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, + 0x20, 0x76, 0x6f, 0x6c, 0x61, 0x74, 0x69, 0x6c, 0x65, 0x28, 0x22, 0x73, 0x75, 0x73, 0x74, 0x2e, + 0x62, 0x2e, 0x33, 0x64, 0x2e, 0x62, 0x33, 0x32, 0x2e, 0x7a, 0x65, 0x72, 0x6f, 0x20, 0x5b, 0x25, + 0x30, 0x2c, 0x20, 0x7b, 0x25, 0x31, 0x2c, 0x20, 0x25, 0x32, 0x2c, 0x20, 0x25, 0x33, 0x2c, 0x20, + 0x25, 0x34, 0x7d, 0x5d, 0x2c, 0x20, 0x25, 0x35, 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x3a, 0x20, 0x22, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x22, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x63, 0x61, 0x73, 0x65, 0x20, 0x4c, 0x43, 0x50, 0x69, 0x78, 0x65, 0x6c, 0x53, 0x74, - 0x6f, 0x72, 0x61, 0x67, 0x65, 0x3a, 0x3a, 0x42, 0x59, 0x54, 0x45, 0x34, 0x3a, 0x20, 0x7b, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x6e, 0x74, 0x20, - 0x76, 0x78, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x74, 0x65, 0x78, 0x65, 0x6c, 0x5f, 0x77, 0x72, - 0x69, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x3c, 0x63, 0x68, 0x61, 0x72, - 0x3e, 0x28, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x78, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x76, 0x79, 0x20, 0x3d, - 0x20, 0x6c, 0x63, 0x5f, 0x74, 0x65, 0x78, 0x65, 0x6c, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, - 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x3c, 0x63, 0x68, 0x61, 0x72, 0x3e, 0x28, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x2e, 0x79, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x76, 0x7a, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, + 0x20, 0x20, 0x20, 0x20, 0x3a, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, + 0x20, 0x22, 0x6c, 0x22, 0x28, 0x73, 0x75, 0x72, 0x66, 0x2e, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, + 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x70, 0x2e, 0x78, 0x20, 0x2a, 0x20, 0x28, 0x69, 0x6e, + 0x74, 0x29, 0x28, 0x73, 0x69, 0x7a, 0x65, 0x6f, 0x66, 0x28, 0x69, 0x6e, 0x74, 0x29, 0x29, 0x29, + 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x70, 0x2e, 0x79, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, + 0x70, 0x2e, 0x7a, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x30, 0x29, 0x2c, 0x20, 0x22, 0x72, + 0x22, 0x28, 0x76, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, + 0x22, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x22, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x63, 0x61, 0x73, 0x65, 0x20, 0x4c, 0x43, 0x50, 0x69, 0x78, 0x65, 0x6c, 0x53, 0x74, 0x6f, 0x72, + 0x61, 0x67, 0x65, 0x3a, 0x3a, 0x49, 0x4e, 0x54, 0x32, 0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x76, 0x78, 0x20, + 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x74, 0x65, 0x78, 0x65, 0x6c, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, + 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x3c, 0x69, 0x6e, 0x74, 0x3e, 0x28, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x2e, 0x78, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x76, 0x79, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x74, 0x65, 0x78, 0x65, 0x6c, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x76, - 0x65, 0x72, 0x74, 0x3c, 0x63, 0x68, 0x61, 0x72, 0x3e, 0x28, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2e, + 0x65, 0x72, 0x74, 0x3c, 0x69, 0x6e, 0x74, 0x3e, 0x28, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x79, + 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x61, + 0x73, 0x6d, 0x20, 0x76, 0x6f, 0x6c, 0x61, 0x74, 0x69, 0x6c, 0x65, 0x28, 0x22, 0x73, 0x75, 0x73, + 0x74, 0x2e, 0x62, 0x2e, 0x33, 0x64, 0x2e, 0x76, 0x32, 0x2e, 0x62, 0x33, 0x32, 0x2e, 0x7a, 0x65, + 0x72, 0x6f, 0x20, 0x5b, 0x25, 0x30, 0x2c, 0x20, 0x7b, 0x25, 0x31, 0x2c, 0x20, 0x25, 0x32, 0x2c, + 0x20, 0x25, 0x33, 0x2c, 0x20, 0x25, 0x34, 0x7d, 0x5d, 0x2c, 0x20, 0x7b, 0x25, 0x35, 0x2c, 0x20, + 0x25, 0x36, 0x7d, 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x6c, 0x22, 0x28, + 0x73, 0x75, 0x72, 0x66, 0x2e, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x29, 0x2c, 0x20, 0x22, 0x72, + 0x22, 0x28, 0x70, 0x2e, 0x78, 0x20, 0x2a, 0x20, 0x28, 0x69, 0x6e, 0x74, 0x29, 0x28, 0x73, 0x69, + 0x7a, 0x65, 0x6f, 0x66, 0x28, 0x69, 0x6e, 0x74, 0x32, 0x29, 0x29, 0x29, 0x2c, 0x20, 0x22, 0x72, + 0x22, 0x28, 0x70, 0x2e, 0x79, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x70, 0x2e, 0x7a, 0x29, + 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x30, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x76, 0x78, + 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x76, 0x79, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x22, 0x29, 0x3b, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x62, 0x72, 0x65, + 0x61, 0x6b, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x61, 0x73, 0x65, 0x20, 0x4c, 0x43, 0x50, 0x69, 0x78, + 0x65, 0x6c, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x3a, 0x3a, 0x49, 0x4e, 0x54, 0x34, 0x3a, + 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, + 0x6e, 0x74, 0x20, 0x76, 0x78, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x74, 0x65, 0x78, 0x65, 0x6c, + 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x3c, 0x69, + 0x6e, 0x74, 0x3e, 0x28, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x78, 0x29, 0x3b, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x76, 0x79, + 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x74, 0x65, 0x78, 0x65, 0x6c, 0x5f, 0x77, 0x72, 0x69, 0x74, + 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x3c, 0x69, 0x6e, 0x74, 0x3e, 0x28, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x79, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x76, 0x7a, 0x20, 0x3d, 0x20, 0x6c, 0x63, + 0x5f, 0x74, 0x65, 0x78, 0x65, 0x6c, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6e, + 0x76, 0x65, 0x72, 0x74, 0x3c, 0x69, 0x6e, 0x74, 0x3e, 0x28, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x7a, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x76, 0x77, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x74, 0x65, 0x78, 0x65, 0x6c, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x3c, - 0x63, 0x68, 0x61, 0x72, 0x3e, 0x28, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x77, 0x29, 0x3b, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x20, - 0x76, 0x6f, 0x6c, 0x61, 0x74, 0x69, 0x6c, 0x65, 0x28, 0x22, 0x73, 0x75, 0x73, 0x74, 0x2e, 0x62, - 0x2e, 0x33, 0x64, 0x2e, 0x76, 0x34, 0x2e, 0x62, 0x38, 0x2e, 0x7a, 0x65, 0x72, 0x6f, 0x20, 0x5b, + 0x69, 0x6e, 0x74, 0x3e, 0x28, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x77, 0x29, 0x3b, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x20, 0x76, + 0x6f, 0x6c, 0x61, 0x74, 0x69, 0x6c, 0x65, 0x28, 0x22, 0x73, 0x75, 0x73, 0x74, 0x2e, 0x62, 0x2e, + 0x33, 0x64, 0x2e, 0x76, 0x34, 0x2e, 0x62, 0x33, 0x32, 0x2e, 0x7a, 0x65, 0x72, 0x6f, 0x20, 0x5b, 0x25, 0x30, 0x2c, 0x20, 0x7b, 0x25, 0x31, 0x2c, 0x20, 0x25, 0x32, 0x2c, 0x20, 0x25, 0x33, 0x2c, 0x20, 0x25, 0x34, 0x7d, 0x5d, 0x2c, 0x20, 0x7b, 0x25, 0x35, 0x2c, 0x20, 0x25, 0x36, 0x2c, 0x20, 0x25, 0x37, 0x2c, 0x20, 0x25, 0x38, 0x7d, 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, @@ -39266,493 +39223,310 @@ extern "C" const char luisa_cuda_builtin_cuda_device_resource[119200] = { 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x6c, 0x22, 0x28, 0x73, 0x75, 0x72, 0x66, 0x2e, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x70, 0x2e, 0x78, 0x20, 0x2a, 0x20, 0x28, 0x69, 0x6e, 0x74, - 0x29, 0x28, 0x73, 0x69, 0x7a, 0x65, 0x6f, 0x66, 0x28, 0x63, 0x68, 0x61, 0x72, 0x34, 0x29, 0x29, - 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x70, 0x2e, 0x79, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, - 0x28, 0x70, 0x2e, 0x7a, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x30, 0x29, 0x2c, 0x20, 0x22, - 0x72, 0x22, 0x28, 0x76, 0x78, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x76, 0x79, 0x29, 0x2c, - 0x20, 0x22, 0x72, 0x22, 0x28, 0x76, 0x7a, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x76, 0x77, - 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x6d, 0x65, - 0x6d, 0x6f, 0x72, 0x79, 0x22, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x61, 0x73, - 0x65, 0x20, 0x4c, 0x43, 0x50, 0x69, 0x78, 0x65, 0x6c, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, - 0x3a, 0x3a, 0x53, 0x48, 0x4f, 0x52, 0x54, 0x31, 0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x76, 0x20, 0x3d, 0x20, - 0x6c, 0x63, 0x5f, 0x74, 0x65, 0x78, 0x65, 0x6c, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x63, - 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x3c, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x3e, 0x28, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x2e, 0x78, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x20, 0x76, 0x6f, 0x6c, 0x61, 0x74, 0x69, 0x6c, 0x65, - 0x28, 0x22, 0x73, 0x75, 0x73, 0x74, 0x2e, 0x62, 0x2e, 0x33, 0x64, 0x2e, 0x62, 0x31, 0x36, 0x2e, - 0x7a, 0x65, 0x72, 0x6f, 0x20, 0x5b, 0x25, 0x30, 0x2c, 0x20, 0x7b, 0x25, 0x31, 0x2c, 0x20, 0x25, - 0x32, 0x2c, 0x20, 0x25, 0x33, 0x2c, 0x20, 0x25, 0x34, 0x7d, 0x5d, 0x2c, 0x20, 0x25, 0x35, 0x3b, - 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x6c, 0x22, 0x28, 0x73, 0x75, 0x72, 0x66, - 0x2e, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x70, 0x2e, - 0x78, 0x20, 0x2a, 0x20, 0x28, 0x69, 0x6e, 0x74, 0x29, 0x28, 0x73, 0x69, 0x7a, 0x65, 0x6f, 0x66, - 0x28, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x29, 0x29, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x70, - 0x2e, 0x79, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x70, 0x2e, 0x7a, 0x29, 0x2c, 0x20, 0x22, - 0x72, 0x22, 0x28, 0x30, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x76, 0x29, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, - 0x22, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x61, 0x73, 0x65, 0x20, 0x4c, 0x43, - 0x50, 0x69, 0x78, 0x65, 0x6c, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x3a, 0x3a, 0x53, 0x48, - 0x4f, 0x52, 0x54, 0x32, 0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x76, 0x78, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, - 0x74, 0x65, 0x78, 0x65, 0x6c, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x76, - 0x65, 0x72, 0x74, 0x3c, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x3e, 0x28, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x2e, 0x78, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x69, 0x6e, 0x74, 0x20, 0x76, 0x79, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x74, 0x65, 0x78, - 0x65, 0x6c, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, - 0x3c, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x3e, 0x28, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x79, 0x29, - 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, - 0x6d, 0x20, 0x76, 0x6f, 0x6c, 0x61, 0x74, 0x69, 0x6c, 0x65, 0x28, 0x22, 0x73, 0x75, 0x73, 0x74, - 0x2e, 0x62, 0x2e, 0x33, 0x64, 0x2e, 0x76, 0x32, 0x2e, 0x62, 0x31, 0x36, 0x2e, 0x7a, 0x65, 0x72, - 0x6f, 0x20, 0x5b, 0x25, 0x30, 0x2c, 0x20, 0x7b, 0x25, 0x31, 0x2c, 0x20, 0x25, 0x32, 0x2c, 0x20, - 0x25, 0x33, 0x2c, 0x20, 0x25, 0x34, 0x7d, 0x5d, 0x2c, 0x20, 0x7b, 0x25, 0x35, 0x2c, 0x20, 0x25, - 0x36, 0x7d, 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x6c, 0x22, 0x28, 0x73, - 0x75, 0x72, 0x66, 0x2e, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, - 0x28, 0x70, 0x2e, 0x78, 0x20, 0x2a, 0x20, 0x28, 0x69, 0x6e, 0x74, 0x29, 0x28, 0x73, 0x69, 0x7a, - 0x65, 0x6f, 0x66, 0x28, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x32, 0x29, 0x29, 0x29, 0x2c, 0x20, 0x22, - 0x72, 0x22, 0x28, 0x70, 0x2e, 0x79, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x70, 0x2e, 0x7a, - 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x30, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x76, - 0x78, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x76, 0x79, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x22, 0x29, - 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x62, 0x72, - 0x65, 0x61, 0x6b, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x61, 0x73, 0x65, 0x20, 0x4c, 0x43, 0x50, 0x69, - 0x78, 0x65, 0x6c, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x3a, 0x3a, 0x53, 0x48, 0x4f, 0x52, - 0x54, 0x34, 0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x76, 0x78, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x74, 0x65, - 0x78, 0x65, 0x6c, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, - 0x74, 0x3c, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x3e, 0x28, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x78, - 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, - 0x6e, 0x74, 0x20, 0x76, 0x79, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x74, 0x65, 0x78, 0x65, 0x6c, - 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x3c, 0x73, - 0x68, 0x6f, 0x72, 0x74, 0x3e, 0x28, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x79, 0x29, 0x3b, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x6e, 0x74, 0x20, - 0x76, 0x7a, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x74, 0x65, 0x78, 0x65, 0x6c, 0x5f, 0x77, 0x72, - 0x69, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x3c, 0x73, 0x68, 0x6f, 0x72, - 0x74, 0x3e, 0x28, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x7a, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x76, 0x77, 0x20, - 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x74, 0x65, 0x78, 0x65, 0x6c, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, - 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x3c, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x3e, 0x28, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x77, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x20, 0x76, 0x6f, 0x6c, 0x61, 0x74, 0x69, - 0x6c, 0x65, 0x28, 0x22, 0x73, 0x75, 0x73, 0x74, 0x2e, 0x62, 0x2e, 0x33, 0x64, 0x2e, 0x76, 0x34, + 0x29, 0x28, 0x73, 0x69, 0x7a, 0x65, 0x6f, 0x66, 0x28, 0x69, 0x6e, 0x74, 0x34, 0x29, 0x29, 0x29, + 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x70, 0x2e, 0x79, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, + 0x70, 0x2e, 0x7a, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x30, 0x29, 0x2c, 0x20, 0x22, 0x72, + 0x22, 0x28, 0x76, 0x78, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x76, 0x79, 0x29, 0x2c, 0x20, + 0x22, 0x72, 0x22, 0x28, 0x76, 0x7a, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x76, 0x77, 0x29, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x6d, 0x65, 0x6d, + 0x6f, 0x72, 0x79, 0x22, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x61, 0x73, 0x65, + 0x20, 0x4c, 0x43, 0x50, 0x69, 0x78, 0x65, 0x6c, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x3a, + 0x3a, 0x48, 0x41, 0x4c, 0x46, 0x31, 0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x20, 0x76, 0x20, + 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x5f, 0x74, 0x6f, 0x5f, 0x62, 0x69, 0x74, + 0x73, 0x28, 0x6c, 0x63, 0x5f, 0x74, 0x65, 0x78, 0x65, 0x6c, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, + 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x3c, 0x6c, 0x63, 0x5f, 0x68, 0x61, 0x6c, 0x66, + 0x3e, 0x28, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x78, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x20, 0x76, 0x6f, 0x6c, + 0x61, 0x74, 0x69, 0x6c, 0x65, 0x28, 0x22, 0x73, 0x75, 0x73, 0x74, 0x2e, 0x62, 0x2e, 0x33, 0x64, 0x2e, 0x62, 0x31, 0x36, 0x2e, 0x7a, 0x65, 0x72, 0x6f, 0x20, 0x5b, 0x25, 0x30, 0x2c, 0x20, 0x7b, 0x25, 0x31, 0x2c, 0x20, 0x25, 0x32, 0x2c, 0x20, 0x25, 0x33, 0x2c, 0x20, 0x25, 0x34, 0x7d, 0x5d, - 0x2c, 0x20, 0x7b, 0x25, 0x35, 0x2c, 0x20, 0x25, 0x36, 0x2c, 0x20, 0x25, 0x37, 0x2c, 0x20, 0x25, - 0x38, 0x7d, 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x6c, 0x22, 0x28, 0x73, - 0x75, 0x72, 0x66, 0x2e, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, - 0x28, 0x70, 0x2e, 0x78, 0x20, 0x2a, 0x20, 0x28, 0x69, 0x6e, 0x74, 0x29, 0x28, 0x73, 0x69, 0x7a, - 0x65, 0x6f, 0x66, 0x28, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x34, 0x29, 0x29, 0x29, 0x2c, 0x20, 0x22, - 0x72, 0x22, 0x28, 0x70, 0x2e, 0x79, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x70, 0x2e, 0x7a, - 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x30, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x76, - 0x78, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x76, 0x79, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, - 0x28, 0x76, 0x7a, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x76, 0x77, 0x29, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, - 0x22, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x61, 0x73, 0x65, 0x20, 0x4c, 0x43, - 0x50, 0x69, 0x78, 0x65, 0x6c, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x3a, 0x3a, 0x49, 0x4e, - 0x54, 0x31, 0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x76, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x74, 0x65, 0x78, - 0x65, 0x6c, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, - 0x3c, 0x69, 0x6e, 0x74, 0x3e, 0x28, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x78, 0x29, 0x3b, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x20, - 0x76, 0x6f, 0x6c, 0x61, 0x74, 0x69, 0x6c, 0x65, 0x28, 0x22, 0x73, 0x75, 0x73, 0x74, 0x2e, 0x62, - 0x2e, 0x33, 0x64, 0x2e, 0x62, 0x33, 0x32, 0x2e, 0x7a, 0x65, 0x72, 0x6f, 0x20, 0x5b, 0x25, 0x30, - 0x2c, 0x20, 0x7b, 0x25, 0x31, 0x2c, 0x20, 0x25, 0x32, 0x2c, 0x20, 0x25, 0x33, 0x2c, 0x20, 0x25, - 0x34, 0x7d, 0x5d, 0x2c, 0x20, 0x25, 0x35, 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x2c, 0x20, 0x25, 0x35, 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x3a, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x3a, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x6c, 0x22, + 0x28, 0x73, 0x75, 0x72, 0x66, 0x2e, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x29, 0x2c, 0x20, 0x22, + 0x72, 0x22, 0x28, 0x70, 0x2e, 0x78, 0x20, 0x2a, 0x20, 0x28, 0x69, 0x6e, 0x74, 0x29, 0x28, 0x73, + 0x69, 0x7a, 0x65, 0x6f, 0x66, 0x28, 0x6c, 0x63, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x29, 0x29, 0x29, + 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x70, 0x2e, 0x79, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, + 0x70, 0x2e, 0x7a, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x30, 0x29, 0x2c, 0x20, 0x22, 0x72, + 0x22, 0x28, 0x76, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, - 0x22, 0x6c, 0x22, 0x28, 0x73, 0x75, 0x72, 0x66, 0x2e, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x29, - 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x70, 0x2e, 0x78, 0x20, 0x2a, 0x20, 0x28, 0x69, 0x6e, 0x74, - 0x29, 0x28, 0x73, 0x69, 0x7a, 0x65, 0x6f, 0x66, 0x28, 0x69, 0x6e, 0x74, 0x29, 0x29, 0x29, 0x2c, - 0x20, 0x22, 0x72, 0x22, 0x28, 0x70, 0x2e, 0x79, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x70, - 0x2e, 0x7a, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x30, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, - 0x28, 0x76, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, - 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x22, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, - 0x61, 0x73, 0x65, 0x20, 0x4c, 0x43, 0x50, 0x69, 0x78, 0x65, 0x6c, 0x53, 0x74, 0x6f, 0x72, 0x61, - 0x67, 0x65, 0x3a, 0x3a, 0x49, 0x4e, 0x54, 0x32, 0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x76, 0x78, 0x20, 0x3d, - 0x20, 0x6c, 0x63, 0x5f, 0x74, 0x65, 0x78, 0x65, 0x6c, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, - 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x3c, 0x69, 0x6e, 0x74, 0x3e, 0x28, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x2e, 0x78, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x76, 0x79, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x74, - 0x65, 0x78, 0x65, 0x6c, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, - 0x72, 0x74, 0x3c, 0x69, 0x6e, 0x74, 0x3e, 0x28, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x79, 0x29, - 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, - 0x6d, 0x20, 0x76, 0x6f, 0x6c, 0x61, 0x74, 0x69, 0x6c, 0x65, 0x28, 0x22, 0x73, 0x75, 0x73, 0x74, - 0x2e, 0x62, 0x2e, 0x33, 0x64, 0x2e, 0x76, 0x32, 0x2e, 0x62, 0x33, 0x32, 0x2e, 0x7a, 0x65, 0x72, - 0x6f, 0x20, 0x5b, 0x25, 0x30, 0x2c, 0x20, 0x7b, 0x25, 0x31, 0x2c, 0x20, 0x25, 0x32, 0x2c, 0x20, - 0x25, 0x33, 0x2c, 0x20, 0x25, 0x34, 0x7d, 0x5d, 0x2c, 0x20, 0x7b, 0x25, 0x35, 0x2c, 0x20, 0x25, - 0x36, 0x7d, 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x6c, 0x22, 0x28, 0x73, - 0x75, 0x72, 0x66, 0x2e, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, - 0x28, 0x70, 0x2e, 0x78, 0x20, 0x2a, 0x20, 0x28, 0x69, 0x6e, 0x74, 0x29, 0x28, 0x73, 0x69, 0x7a, - 0x65, 0x6f, 0x66, 0x28, 0x69, 0x6e, 0x74, 0x32, 0x29, 0x29, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, - 0x28, 0x70, 0x2e, 0x79, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x70, 0x2e, 0x7a, 0x29, 0x2c, - 0x20, 0x22, 0x72, 0x22, 0x28, 0x30, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x76, 0x78, 0x29, - 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x76, 0x79, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x22, 0x29, 0x3b, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x62, 0x72, 0x65, 0x61, - 0x6b, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x61, 0x73, 0x65, 0x20, 0x4c, 0x43, 0x50, 0x69, 0x78, 0x65, - 0x6c, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x3a, 0x3a, 0x49, 0x4e, 0x54, 0x34, 0x3a, 0x20, - 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x6e, - 0x74, 0x20, 0x76, 0x78, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x74, 0x65, 0x78, 0x65, 0x6c, 0x5f, - 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x3c, 0x69, 0x6e, - 0x74, 0x3e, 0x28, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x78, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x76, 0x79, 0x20, - 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x74, 0x65, 0x78, 0x65, 0x6c, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, - 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x3c, 0x69, 0x6e, 0x74, 0x3e, 0x28, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x2e, 0x79, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x76, 0x7a, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, - 0x74, 0x65, 0x78, 0x65, 0x6c, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x76, - 0x65, 0x72, 0x74, 0x3c, 0x69, 0x6e, 0x74, 0x3e, 0x28, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x7a, - 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, - 0x6e, 0x74, 0x20, 0x76, 0x77, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x74, 0x65, 0x78, 0x65, 0x6c, - 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x3c, 0x69, - 0x6e, 0x74, 0x3e, 0x28, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x77, 0x29, 0x3b, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x20, 0x76, 0x6f, - 0x6c, 0x61, 0x74, 0x69, 0x6c, 0x65, 0x28, 0x22, 0x73, 0x75, 0x73, 0x74, 0x2e, 0x62, 0x2e, 0x33, - 0x64, 0x2e, 0x76, 0x34, 0x2e, 0x62, 0x33, 0x32, 0x2e, 0x7a, 0x65, 0x72, 0x6f, 0x20, 0x5b, 0x25, - 0x30, 0x2c, 0x20, 0x7b, 0x25, 0x31, 0x2c, 0x20, 0x25, 0x32, 0x2c, 0x20, 0x25, 0x33, 0x2c, 0x20, - 0x25, 0x34, 0x7d, 0x5d, 0x2c, 0x20, 0x7b, 0x25, 0x35, 0x2c, 0x20, 0x25, 0x36, 0x2c, 0x20, 0x25, - 0x37, 0x2c, 0x20, 0x25, 0x38, 0x7d, 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x22, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x22, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x63, 0x61, 0x73, 0x65, 0x20, 0x4c, 0x43, 0x50, 0x69, 0x78, 0x65, 0x6c, 0x53, 0x74, 0x6f, 0x72, + 0x61, 0x67, 0x65, 0x3a, 0x3a, 0x48, 0x41, 0x4c, 0x46, 0x32, 0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, + 0x74, 0x20, 0x76, 0x78, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x5f, 0x74, + 0x6f, 0x5f, 0x62, 0x69, 0x74, 0x73, 0x28, 0x6c, 0x63, 0x5f, 0x74, 0x65, 0x78, 0x65, 0x6c, 0x5f, + 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x3c, 0x6c, 0x63, + 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x3e, 0x28, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x78, 0x29, 0x29, + 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, + 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x20, 0x76, 0x79, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x68, 0x61, + 0x6c, 0x66, 0x5f, 0x74, 0x6f, 0x5f, 0x62, 0x69, 0x74, 0x73, 0x28, 0x6c, 0x63, 0x5f, 0x74, 0x65, + 0x78, 0x65, 0x6c, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, + 0x74, 0x3c, 0x6c, 0x63, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x3e, 0x28, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x2e, 0x79, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x61, 0x73, 0x6d, 0x20, 0x76, 0x6f, 0x6c, 0x61, 0x74, 0x69, 0x6c, 0x65, 0x28, 0x22, + 0x73, 0x75, 0x73, 0x74, 0x2e, 0x62, 0x2e, 0x33, 0x64, 0x2e, 0x76, 0x32, 0x2e, 0x62, 0x31, 0x36, + 0x2e, 0x7a, 0x65, 0x72, 0x6f, 0x20, 0x5b, 0x25, 0x30, 0x2c, 0x20, 0x7b, 0x25, 0x31, 0x2c, 0x20, + 0x25, 0x32, 0x2c, 0x20, 0x25, 0x33, 0x2c, 0x20, 0x25, 0x34, 0x7d, 0x5d, 0x2c, 0x20, 0x7b, 0x25, + 0x35, 0x2c, 0x20, 0x25, 0x36, 0x7d, 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x6c, 0x22, 0x28, 0x73, 0x75, 0x72, 0x66, 0x2e, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x70, 0x2e, 0x78, 0x20, 0x2a, 0x20, 0x28, 0x69, 0x6e, 0x74, 0x29, - 0x28, 0x73, 0x69, 0x7a, 0x65, 0x6f, 0x66, 0x28, 0x69, 0x6e, 0x74, 0x34, 0x29, 0x29, 0x29, 0x2c, - 0x20, 0x22, 0x72, 0x22, 0x28, 0x70, 0x2e, 0x79, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x70, - 0x2e, 0x7a, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x30, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, - 0x28, 0x76, 0x78, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x76, 0x79, 0x29, 0x2c, 0x20, 0x22, - 0x72, 0x22, 0x28, 0x76, 0x7a, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x76, 0x77, 0x29, 0x0a, + 0x28, 0x73, 0x69, 0x7a, 0x65, 0x6f, 0x66, 0x28, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x32, 0x29, 0x29, + 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x70, 0x2e, 0x79, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, + 0x28, 0x70, 0x2e, 0x7a, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x30, 0x29, 0x2c, 0x20, 0x22, + 0x72, 0x22, 0x28, 0x76, 0x78, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x76, 0x79, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x22, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x61, 0x73, 0x65, 0x20, 0x4c, 0x43, 0x50, 0x69, 0x78, 0x65, 0x6c, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x3a, 0x3a, - 0x48, 0x41, 0x4c, 0x46, 0x31, 0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x20, 0x76, 0x20, 0x3d, - 0x20, 0x6c, 0x63, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x5f, 0x74, 0x6f, 0x5f, 0x62, 0x69, 0x74, 0x73, - 0x28, 0x6c, 0x63, 0x5f, 0x74, 0x65, 0x78, 0x65, 0x6c, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, - 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x3c, 0x6c, 0x63, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x3e, - 0x28, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x78, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x20, 0x76, 0x6f, 0x6c, 0x61, - 0x74, 0x69, 0x6c, 0x65, 0x28, 0x22, 0x73, 0x75, 0x73, 0x74, 0x2e, 0x62, 0x2e, 0x33, 0x64, 0x2e, - 0x62, 0x31, 0x36, 0x2e, 0x7a, 0x65, 0x72, 0x6f, 0x20, 0x5b, 0x25, 0x30, 0x2c, 0x20, 0x7b, 0x25, - 0x31, 0x2c, 0x20, 0x25, 0x32, 0x2c, 0x20, 0x25, 0x33, 0x2c, 0x20, 0x25, 0x34, 0x7d, 0x5d, 0x2c, - 0x20, 0x25, 0x35, 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x6c, 0x22, 0x28, - 0x73, 0x75, 0x72, 0x66, 0x2e, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x29, 0x2c, 0x20, 0x22, 0x72, - 0x22, 0x28, 0x70, 0x2e, 0x78, 0x20, 0x2a, 0x20, 0x28, 0x69, 0x6e, 0x74, 0x29, 0x28, 0x73, 0x69, - 0x7a, 0x65, 0x6f, 0x66, 0x28, 0x6c, 0x63, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x29, 0x29, 0x29, 0x2c, - 0x20, 0x22, 0x72, 0x22, 0x28, 0x70, 0x2e, 0x79, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x70, - 0x2e, 0x7a, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x30, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, - 0x28, 0x76, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, - 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x22, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, - 0x61, 0x73, 0x65, 0x20, 0x4c, 0x43, 0x50, 0x69, 0x78, 0x65, 0x6c, 0x53, 0x74, 0x6f, 0x72, 0x61, - 0x67, 0x65, 0x3a, 0x3a, 0x48, 0x41, 0x4c, 0x46, 0x32, 0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, + 0x48, 0x41, 0x4c, 0x46, 0x34, 0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x20, 0x76, 0x78, 0x20, + 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x5f, 0x74, 0x6f, 0x5f, 0x62, 0x69, 0x74, + 0x73, 0x28, 0x6c, 0x63, 0x5f, 0x74, 0x65, 0x78, 0x65, 0x6c, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, + 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x3c, 0x6c, 0x63, 0x5f, 0x68, 0x61, 0x6c, 0x66, + 0x3e, 0x28, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x78, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, - 0x20, 0x76, 0x78, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x5f, 0x74, 0x6f, + 0x20, 0x76, 0x79, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x5f, 0x74, 0x6f, 0x5f, 0x62, 0x69, 0x74, 0x73, 0x28, 0x6c, 0x63, 0x5f, 0x74, 0x65, 0x78, 0x65, 0x6c, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x3c, 0x6c, 0x63, 0x5f, - 0x68, 0x61, 0x6c, 0x66, 0x3e, 0x28, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x78, 0x29, 0x29, 0x3b, + 0x68, 0x61, 0x6c, 0x66, 0x3e, 0x28, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x79, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, - 0x75, 0x69, 0x6e, 0x74, 0x20, 0x76, 0x79, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x68, 0x61, 0x6c, + 0x75, 0x69, 0x6e, 0x74, 0x20, 0x76, 0x7a, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x5f, 0x74, 0x6f, 0x5f, 0x62, 0x69, 0x74, 0x73, 0x28, 0x6c, 0x63, 0x5f, 0x74, 0x65, 0x78, 0x65, 0x6c, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x3c, 0x6c, 0x63, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x3e, 0x28, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2e, - 0x79, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x61, 0x73, 0x6d, 0x20, 0x76, 0x6f, 0x6c, 0x61, 0x74, 0x69, 0x6c, 0x65, 0x28, 0x22, 0x73, - 0x75, 0x73, 0x74, 0x2e, 0x62, 0x2e, 0x33, 0x64, 0x2e, 0x76, 0x32, 0x2e, 0x62, 0x31, 0x36, 0x2e, - 0x7a, 0x65, 0x72, 0x6f, 0x20, 0x5b, 0x25, 0x30, 0x2c, 0x20, 0x7b, 0x25, 0x31, 0x2c, 0x20, 0x25, - 0x32, 0x2c, 0x20, 0x25, 0x33, 0x2c, 0x20, 0x25, 0x34, 0x7d, 0x5d, 0x2c, 0x20, 0x7b, 0x25, 0x35, - 0x2c, 0x20, 0x25, 0x36, 0x7d, 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x7a, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x20, 0x76, 0x77, 0x20, 0x3d, 0x20, 0x6c, 0x63, + 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x5f, 0x74, 0x6f, 0x5f, 0x62, 0x69, 0x74, 0x73, 0x28, 0x6c, 0x63, + 0x5f, 0x74, 0x65, 0x78, 0x65, 0x6c, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6e, + 0x76, 0x65, 0x72, 0x74, 0x3c, 0x6c, 0x63, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x3e, 0x28, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x2e, 0x77, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x20, 0x76, 0x6f, 0x6c, 0x61, 0x74, 0x69, 0x6c, + 0x65, 0x28, 0x22, 0x73, 0x75, 0x73, 0x74, 0x2e, 0x62, 0x2e, 0x33, 0x64, 0x2e, 0x76, 0x34, 0x2e, + 0x62, 0x31, 0x36, 0x2e, 0x7a, 0x65, 0x72, 0x6f, 0x20, 0x5b, 0x25, 0x30, 0x2c, 0x20, 0x7b, 0x25, + 0x31, 0x2c, 0x20, 0x25, 0x32, 0x2c, 0x20, 0x25, 0x33, 0x2c, 0x20, 0x25, 0x34, 0x7d, 0x5d, 0x2c, + 0x20, 0x7b, 0x25, 0x35, 0x2c, 0x20, 0x25, 0x36, 0x2c, 0x20, 0x25, 0x37, 0x2c, 0x20, 0x25, 0x38, + 0x7d, 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x3a, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x6c, - 0x22, 0x28, 0x73, 0x75, 0x72, 0x66, 0x2e, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x29, 0x2c, 0x20, - 0x22, 0x72, 0x22, 0x28, 0x70, 0x2e, 0x78, 0x20, 0x2a, 0x20, 0x28, 0x69, 0x6e, 0x74, 0x29, 0x28, - 0x73, 0x69, 0x7a, 0x65, 0x6f, 0x66, 0x28, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x32, 0x29, 0x29, 0x29, - 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x70, 0x2e, 0x79, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, - 0x70, 0x2e, 0x7a, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x30, 0x29, 0x2c, 0x20, 0x22, 0x72, - 0x22, 0x28, 0x76, 0x78, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x76, 0x79, 0x29, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x6c, 0x22, 0x28, 0x73, 0x75, + 0x72, 0x66, 0x2e, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, + 0x70, 0x2e, 0x78, 0x20, 0x2a, 0x20, 0x28, 0x69, 0x6e, 0x74, 0x29, 0x28, 0x73, 0x69, 0x7a, 0x65, + 0x6f, 0x66, 0x28, 0x6c, 0x63, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x34, 0x29, 0x29, 0x29, 0x2c, 0x20, + 0x22, 0x72, 0x22, 0x28, 0x70, 0x2e, 0x79, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x70, 0x2e, + 0x7a, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x30, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, + 0x76, 0x78, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x76, 0x79, 0x29, 0x2c, 0x20, 0x22, 0x72, + 0x22, 0x28, 0x76, 0x7a, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x76, 0x77, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x22, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x61, 0x73, 0x65, 0x20, 0x4c, - 0x43, 0x50, 0x69, 0x78, 0x65, 0x6c, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x3a, 0x3a, 0x48, - 0x41, 0x4c, 0x46, 0x34, 0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x20, 0x76, 0x78, 0x20, 0x3d, - 0x20, 0x6c, 0x63, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x5f, 0x74, 0x6f, 0x5f, 0x62, 0x69, 0x74, 0x73, - 0x28, 0x6c, 0x63, 0x5f, 0x74, 0x65, 0x78, 0x65, 0x6c, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, - 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x3c, 0x6c, 0x63, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x3e, - 0x28, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x78, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x20, - 0x76, 0x79, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x5f, 0x74, 0x6f, 0x5f, - 0x62, 0x69, 0x74, 0x73, 0x28, 0x6c, 0x63, 0x5f, 0x74, 0x65, 0x78, 0x65, 0x6c, 0x5f, 0x77, 0x72, - 0x69, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x3c, 0x6c, 0x63, 0x5f, 0x68, - 0x61, 0x6c, 0x66, 0x3e, 0x28, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x79, 0x29, 0x29, 0x3b, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x75, - 0x69, 0x6e, 0x74, 0x20, 0x76, 0x7a, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x68, 0x61, 0x6c, 0x66, - 0x5f, 0x74, 0x6f, 0x5f, 0x62, 0x69, 0x74, 0x73, 0x28, 0x6c, 0x63, 0x5f, 0x74, 0x65, 0x78, 0x65, - 0x6c, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x3c, - 0x6c, 0x63, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x3e, 0x28, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x7a, - 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x20, 0x76, 0x77, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, - 0x68, 0x61, 0x6c, 0x66, 0x5f, 0x74, 0x6f, 0x5f, 0x62, 0x69, 0x74, 0x73, 0x28, 0x6c, 0x63, 0x5f, - 0x74, 0x65, 0x78, 0x65, 0x6c, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x76, - 0x65, 0x72, 0x74, 0x3c, 0x6c, 0x63, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x3e, 0x28, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x2e, 0x77, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x20, 0x76, 0x6f, 0x6c, 0x61, 0x74, 0x69, 0x6c, 0x65, - 0x28, 0x22, 0x73, 0x75, 0x73, 0x74, 0x2e, 0x62, 0x2e, 0x33, 0x64, 0x2e, 0x76, 0x34, 0x2e, 0x62, - 0x31, 0x36, 0x2e, 0x7a, 0x65, 0x72, 0x6f, 0x20, 0x5b, 0x25, 0x30, 0x2c, 0x20, 0x7b, 0x25, 0x31, - 0x2c, 0x20, 0x25, 0x32, 0x2c, 0x20, 0x25, 0x33, 0x2c, 0x20, 0x25, 0x34, 0x7d, 0x5d, 0x2c, 0x20, - 0x7b, 0x25, 0x35, 0x2c, 0x20, 0x25, 0x36, 0x2c, 0x20, 0x25, 0x37, 0x2c, 0x20, 0x25, 0x38, 0x7d, - 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x0a, 0x20, 0x20, + 0x43, 0x50, 0x69, 0x78, 0x65, 0x6c, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x3a, 0x3a, 0x46, + 0x4c, 0x4f, 0x41, 0x54, 0x31, 0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x76, 0x20, 0x3d, 0x20, 0x6c, + 0x63, 0x5f, 0x74, 0x65, 0x78, 0x65, 0x6c, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x63, 0x6f, + 0x6e, 0x76, 0x65, 0x72, 0x74, 0x3c, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x3e, 0x28, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x2e, 0x78, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x20, 0x76, 0x6f, 0x6c, 0x61, 0x74, 0x69, 0x6c, 0x65, 0x28, + 0x22, 0x73, 0x75, 0x73, 0x74, 0x2e, 0x62, 0x2e, 0x33, 0x64, 0x2e, 0x62, 0x33, 0x32, 0x2e, 0x7a, + 0x65, 0x72, 0x6f, 0x20, 0x5b, 0x25, 0x30, 0x2c, 0x20, 0x7b, 0x25, 0x31, 0x2c, 0x20, 0x25, 0x32, + 0x2c, 0x20, 0x25, 0x33, 0x2c, 0x20, 0x25, 0x34, 0x7d, 0x5d, 0x2c, 0x20, 0x25, 0x35, 0x3b, 0x22, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x6c, 0x22, 0x28, 0x73, 0x75, 0x72, - 0x66, 0x2e, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x70, - 0x2e, 0x78, 0x20, 0x2a, 0x20, 0x28, 0x69, 0x6e, 0x74, 0x29, 0x28, 0x73, 0x69, 0x7a, 0x65, 0x6f, - 0x66, 0x28, 0x6c, 0x63, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x34, 0x29, 0x29, 0x29, 0x2c, 0x20, 0x22, - 0x72, 0x22, 0x28, 0x70, 0x2e, 0x79, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x70, 0x2e, 0x7a, - 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x30, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x76, - 0x78, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x76, 0x79, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, - 0x28, 0x76, 0x7a, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x76, 0x77, 0x29, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x6c, 0x22, 0x28, 0x73, 0x75, 0x72, 0x66, 0x2e, + 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x70, 0x2e, 0x78, + 0x20, 0x2a, 0x20, 0x28, 0x69, 0x6e, 0x74, 0x29, 0x28, 0x73, 0x69, 0x7a, 0x65, 0x6f, 0x66, 0x28, + 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x29, 0x29, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x70, 0x2e, + 0x79, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x70, 0x2e, 0x7a, 0x29, 0x2c, 0x20, 0x22, 0x72, + 0x22, 0x28, 0x30, 0x29, 0x2c, 0x20, 0x22, 0x66, 0x22, 0x28, 0x76, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, - 0x22, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x61, 0x73, 0x65, 0x20, 0x4c, 0x43, - 0x50, 0x69, 0x78, 0x65, 0x6c, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x3a, 0x3a, 0x46, 0x4c, - 0x4f, 0x41, 0x54, 0x31, 0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x76, 0x20, 0x3d, 0x20, 0x6c, 0x63, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x22, + 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x62, + 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x61, 0x73, 0x65, 0x20, 0x4c, 0x43, 0x50, + 0x69, 0x78, 0x65, 0x6c, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x3a, 0x3a, 0x46, 0x4c, 0x4f, + 0x41, 0x54, 0x32, 0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x76, 0x78, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x74, 0x65, 0x78, 0x65, 0x6c, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x3c, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x3e, 0x28, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x78, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x61, 0x73, 0x6d, 0x20, 0x76, 0x6f, 0x6c, 0x61, 0x74, 0x69, 0x6c, 0x65, 0x28, 0x22, - 0x73, 0x75, 0x73, 0x74, 0x2e, 0x62, 0x2e, 0x33, 0x64, 0x2e, 0x62, 0x33, 0x32, 0x2e, 0x7a, 0x65, - 0x72, 0x6f, 0x20, 0x5b, 0x25, 0x30, 0x2c, 0x20, 0x7b, 0x25, 0x31, 0x2c, 0x20, 0x25, 0x32, 0x2c, - 0x20, 0x25, 0x33, 0x2c, 0x20, 0x25, 0x34, 0x7d, 0x5d, 0x2c, 0x20, 0x25, 0x35, 0x3b, 0x22, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x6c, 0x22, 0x28, 0x73, 0x75, 0x72, 0x66, 0x2e, 0x68, - 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x70, 0x2e, 0x78, 0x20, - 0x2a, 0x20, 0x28, 0x69, 0x6e, 0x74, 0x29, 0x28, 0x73, 0x69, 0x7a, 0x65, 0x6f, 0x66, 0x28, 0x66, - 0x6c, 0x6f, 0x61, 0x74, 0x29, 0x29, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x70, 0x2e, 0x79, - 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x70, 0x2e, 0x7a, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, - 0x28, 0x30, 0x29, 0x2c, 0x20, 0x22, 0x66, 0x22, 0x28, 0x76, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x22, 0x29, - 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x62, 0x72, - 0x65, 0x61, 0x6b, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x61, 0x73, 0x65, 0x20, 0x4c, 0x43, 0x50, 0x69, - 0x78, 0x65, 0x6c, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x3a, 0x3a, 0x46, 0x4c, 0x4f, 0x41, - 0x54, 0x32, 0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x76, 0x78, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, + 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x76, 0x79, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x74, 0x65, 0x78, 0x65, 0x6c, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x3c, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x3e, 0x28, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x2e, 0x78, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x76, 0x79, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x74, - 0x65, 0x78, 0x65, 0x6c, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, - 0x72, 0x74, 0x3c, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x3e, 0x28, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2e, - 0x79, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x61, 0x73, 0x6d, 0x20, 0x76, 0x6f, 0x6c, 0x61, 0x74, 0x69, 0x6c, 0x65, 0x28, 0x22, 0x73, 0x75, - 0x73, 0x74, 0x2e, 0x62, 0x2e, 0x33, 0x64, 0x2e, 0x76, 0x32, 0x2e, 0x62, 0x33, 0x32, 0x2e, 0x7a, - 0x65, 0x72, 0x6f, 0x20, 0x5b, 0x25, 0x30, 0x2c, 0x20, 0x7b, 0x25, 0x31, 0x2c, 0x20, 0x25, 0x32, - 0x2c, 0x20, 0x25, 0x33, 0x2c, 0x20, 0x25, 0x34, 0x7d, 0x5d, 0x2c, 0x20, 0x7b, 0x25, 0x35, 0x2c, - 0x20, 0x25, 0x36, 0x7d, 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x2e, 0x79, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x61, 0x73, 0x6d, 0x20, 0x76, 0x6f, 0x6c, 0x61, 0x74, 0x69, 0x6c, 0x65, 0x28, 0x22, 0x73, + 0x75, 0x73, 0x74, 0x2e, 0x62, 0x2e, 0x33, 0x64, 0x2e, 0x76, 0x32, 0x2e, 0x62, 0x33, 0x32, 0x2e, + 0x7a, 0x65, 0x72, 0x6f, 0x20, 0x5b, 0x25, 0x30, 0x2c, 0x20, 0x7b, 0x25, 0x31, 0x2c, 0x20, 0x25, + 0x32, 0x2c, 0x20, 0x25, 0x33, 0x2c, 0x20, 0x25, 0x34, 0x7d, 0x5d, 0x2c, 0x20, 0x7b, 0x25, 0x35, + 0x2c, 0x20, 0x25, 0x36, 0x7d, 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x3a, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x6c, 0x22, - 0x28, 0x73, 0x75, 0x72, 0x66, 0x2e, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x29, 0x2c, 0x20, 0x22, - 0x72, 0x22, 0x28, 0x70, 0x2e, 0x78, 0x20, 0x2a, 0x20, 0x28, 0x69, 0x6e, 0x74, 0x29, 0x28, 0x73, - 0x69, 0x7a, 0x65, 0x6f, 0x66, 0x28, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x32, 0x29, 0x29, 0x29, 0x2c, - 0x20, 0x22, 0x72, 0x22, 0x28, 0x70, 0x2e, 0x79, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x70, - 0x2e, 0x7a, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x30, 0x29, 0x2c, 0x20, 0x22, 0x66, 0x22, - 0x28, 0x76, 0x78, 0x29, 0x2c, 0x20, 0x22, 0x66, 0x22, 0x28, 0x76, 0x79, 0x29, 0x0a, 0x20, 0x20, + 0x20, 0x3a, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x6c, + 0x22, 0x28, 0x73, 0x75, 0x72, 0x66, 0x2e, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x29, 0x2c, 0x20, + 0x22, 0x72, 0x22, 0x28, 0x70, 0x2e, 0x78, 0x20, 0x2a, 0x20, 0x28, 0x69, 0x6e, 0x74, 0x29, 0x28, + 0x73, 0x69, 0x7a, 0x65, 0x6f, 0x66, 0x28, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x32, 0x29, 0x29, 0x29, + 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x70, 0x2e, 0x79, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, + 0x70, 0x2e, 0x7a, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x30, 0x29, 0x2c, 0x20, 0x22, 0x66, + 0x22, 0x28, 0x76, 0x78, 0x29, 0x2c, 0x20, 0x22, 0x66, 0x22, 0x28, 0x76, 0x79, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, - 0x22, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x61, 0x73, 0x65, 0x20, 0x4c, 0x43, - 0x50, 0x69, 0x78, 0x65, 0x6c, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x3a, 0x3a, 0x46, 0x4c, - 0x4f, 0x41, 0x54, 0x34, 0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x76, 0x78, 0x20, 0x3d, 0x20, 0x6c, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x6d, 0x65, 0x6d, 0x6f, 0x72, + 0x79, 0x22, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x61, 0x73, 0x65, 0x20, 0x4c, + 0x43, 0x50, 0x69, 0x78, 0x65, 0x6c, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x3a, 0x3a, 0x46, + 0x4c, 0x4f, 0x41, 0x54, 0x34, 0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x76, 0x78, 0x20, 0x3d, 0x20, + 0x6c, 0x63, 0x5f, 0x74, 0x65, 0x78, 0x65, 0x6c, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x63, + 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x3c, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x3e, 0x28, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x2e, 0x78, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x76, 0x79, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x74, 0x65, 0x78, 0x65, 0x6c, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x3c, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x3e, 0x28, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x2e, 0x78, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x76, 0x79, 0x20, 0x3d, 0x20, 0x6c, 0x63, + 0x75, 0x65, 0x2e, 0x79, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x76, 0x7a, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x74, 0x65, 0x78, 0x65, 0x6c, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x3c, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x3e, 0x28, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x2e, 0x79, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x76, 0x7a, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, + 0x65, 0x2e, 0x7a, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x76, 0x77, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x74, 0x65, 0x78, 0x65, 0x6c, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x3c, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x3e, 0x28, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x2e, 0x7a, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x76, 0x77, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x74, - 0x65, 0x78, 0x65, 0x6c, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, - 0x72, 0x74, 0x3c, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x3e, 0x28, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2e, - 0x77, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x61, 0x73, 0x6d, 0x20, 0x76, 0x6f, 0x6c, 0x61, 0x74, 0x69, 0x6c, 0x65, 0x28, 0x22, 0x73, 0x75, - 0x73, 0x74, 0x2e, 0x62, 0x2e, 0x33, 0x64, 0x2e, 0x76, 0x34, 0x2e, 0x62, 0x33, 0x32, 0x2e, 0x7a, - 0x65, 0x72, 0x6f, 0x20, 0x5b, 0x25, 0x30, 0x2c, 0x20, 0x7b, 0x25, 0x31, 0x2c, 0x20, 0x25, 0x32, - 0x2c, 0x20, 0x25, 0x33, 0x2c, 0x20, 0x25, 0x34, 0x7d, 0x5d, 0x2c, 0x20, 0x7b, 0x25, 0x35, 0x2c, - 0x20, 0x25, 0x36, 0x2c, 0x20, 0x25, 0x37, 0x2c, 0x20, 0x25, 0x38, 0x7d, 0x3b, 0x22, 0x0a, 0x20, + 0x2e, 0x77, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x61, 0x73, 0x6d, 0x20, 0x76, 0x6f, 0x6c, 0x61, 0x74, 0x69, 0x6c, 0x65, 0x28, 0x22, 0x73, + 0x75, 0x73, 0x74, 0x2e, 0x62, 0x2e, 0x33, 0x64, 0x2e, 0x76, 0x34, 0x2e, 0x62, 0x33, 0x32, 0x2e, + 0x7a, 0x65, 0x72, 0x6f, 0x20, 0x5b, 0x25, 0x30, 0x2c, 0x20, 0x7b, 0x25, 0x31, 0x2c, 0x20, 0x25, + 0x32, 0x2c, 0x20, 0x25, 0x33, 0x2c, 0x20, 0x25, 0x34, 0x7d, 0x5d, 0x2c, 0x20, 0x7b, 0x25, 0x35, + 0x2c, 0x20, 0x25, 0x36, 0x2c, 0x20, 0x25, 0x37, 0x2c, 0x20, 0x25, 0x38, 0x7d, 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x6c, 0x22, 0x28, 0x73, 0x75, 0x72, 0x66, 0x2e, 0x68, 0x61, - 0x6e, 0x64, 0x6c, 0x65, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x70, 0x2e, 0x78, 0x20, 0x2a, - 0x20, 0x28, 0x69, 0x6e, 0x74, 0x29, 0x28, 0x73, 0x69, 0x7a, 0x65, 0x6f, 0x66, 0x28, 0x66, 0x6c, - 0x6f, 0x61, 0x74, 0x34, 0x29, 0x29, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x70, 0x2e, 0x79, - 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x70, 0x2e, 0x7a, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, - 0x28, 0x30, 0x29, 0x2c, 0x20, 0x22, 0x66, 0x22, 0x28, 0x76, 0x78, 0x29, 0x2c, 0x20, 0x22, 0x66, - 0x22, 0x28, 0x76, 0x79, 0x29, 0x2c, 0x20, 0x22, 0x66, 0x22, 0x28, 0x76, 0x7a, 0x29, 0x2c, 0x20, - 0x22, 0x66, 0x22, 0x28, 0x76, 0x77, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x6c, 0x22, 0x28, 0x73, 0x75, 0x72, 0x66, 0x2e, 0x68, + 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x70, 0x2e, 0x78, 0x20, + 0x2a, 0x20, 0x28, 0x69, 0x6e, 0x74, 0x29, 0x28, 0x73, 0x69, 0x7a, 0x65, 0x6f, 0x66, 0x28, 0x66, + 0x6c, 0x6f, 0x61, 0x74, 0x34, 0x29, 0x29, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x70, 0x2e, + 0x79, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x70, 0x2e, 0x7a, 0x29, 0x2c, 0x20, 0x22, 0x72, + 0x22, 0x28, 0x30, 0x29, 0x2c, 0x20, 0x22, 0x66, 0x22, 0x28, 0x76, 0x78, 0x29, 0x2c, 0x20, 0x22, + 0x66, 0x22, 0x28, 0x76, 0x79, 0x29, 0x2c, 0x20, 0x22, 0x66, 0x22, 0x28, 0x76, 0x7a, 0x29, 0x2c, + 0x20, 0x22, 0x66, 0x22, 0x28, 0x76, 0x77, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x3a, 0x20, 0x22, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x22, 0x29, 0x3b, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x3a, 0x20, 0x5f, 0x5f, 0x62, 0x75, - 0x69, 0x6c, 0x74, 0x69, 0x6e, 0x5f, 0x75, 0x6e, 0x72, 0x65, 0x61, 0x63, 0x68, 0x61, 0x62, 0x6c, - 0x65, 0x28, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x7d, 0x0a, 0x0a, 0x74, 0x65, - 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x3c, 0x74, 0x79, 0x70, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x20, - 0x54, 0x3e, 0x0a, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x20, 0x4c, 0x43, 0x54, 0x65, 0x78, 0x74, - 0x75, 0x72, 0x65, 0x32, 0x44, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x4c, 0x43, 0x53, 0x75, - 0x72, 0x66, 0x61, 0x63, 0x65, 0x20, 0x73, 0x75, 0x72, 0x66, 0x61, 0x63, 0x65, 0x3b, 0x0a, 0x7d, - 0x3b, 0x0a, 0x0a, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x3c, 0x74, 0x79, 0x70, 0x65, - 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x54, 0x3e, 0x0a, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x20, 0x4c, - 0x43, 0x54, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x33, 0x44, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x4c, 0x43, 0x53, 0x75, 0x72, 0x66, 0x61, 0x63, 0x65, 0x20, 0x73, 0x75, 0x72, 0x66, 0x61, - 0x63, 0x65, 0x3b, 0x0a, 0x7d, 0x3b, 0x0a, 0x0a, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, - 0x3c, 0x74, 0x79, 0x70, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x54, 0x3e, 0x0a, 0x5b, 0x5b, 0x6e, - 0x6f, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x5d, 0x5d, 0x20, 0x5f, 0x5f, 0x64, 0x65, 0x76, - 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x61, 0x75, 0x74, - 0x6f, 0x20, 0x6c, 0x63, 0x5f, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x73, 0x69, 0x7a, - 0x65, 0x28, 0x4c, 0x43, 0x54, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x32, 0x44, 0x3c, 0x54, 0x3e, - 0x20, 0x74, 0x65, 0x78, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x32, 0x20, 0x73, 0x69, - 0x7a, 0x65, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x73, 0x75, 0x71, - 0x2e, 0x77, 0x69, 0x64, 0x74, 0x68, 0x2e, 0x62, 0x33, 0x32, 0x20, 0x25, 0x30, 0x2c, 0x20, 0x5b, - 0x25, 0x31, 0x5d, 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, - 0x22, 0x3d, 0x72, 0x22, 0x28, 0x73, 0x69, 0x7a, 0x65, 0x2e, 0x78, 0x29, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x6c, 0x22, 0x28, 0x74, 0x65, 0x78, 0x2e, 0x73, - 0x75, 0x72, 0x66, 0x61, 0x63, 0x65, 0x2e, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x29, 0x29, 0x3b, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x73, 0x75, 0x71, 0x2e, 0x68, 0x65, - 0x69, 0x67, 0x68, 0x74, 0x2e, 0x62, 0x33, 0x32, 0x20, 0x25, 0x30, 0x2c, 0x20, 0x5b, 0x25, 0x31, + 0x20, 0x20, 0x3a, 0x20, 0x22, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x22, 0x29, 0x3b, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x62, 0x72, 0x65, 0x61, 0x6b, + 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x3a, 0x20, 0x5f, 0x5f, 0x62, + 0x75, 0x69, 0x6c, 0x74, 0x69, 0x6e, 0x5f, 0x75, 0x6e, 0x72, 0x65, 0x61, 0x63, 0x68, 0x61, 0x62, + 0x6c, 0x65, 0x28, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x7d, 0x0a, 0x0a, 0x74, + 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x3c, 0x74, 0x79, 0x70, 0x65, 0x6e, 0x61, 0x6d, 0x65, + 0x20, 0x54, 0x3e, 0x0a, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x20, 0x4c, 0x43, 0x54, 0x65, 0x78, + 0x74, 0x75, 0x72, 0x65, 0x32, 0x44, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x4c, 0x43, 0x53, + 0x75, 0x72, 0x66, 0x61, 0x63, 0x65, 0x20, 0x73, 0x75, 0x72, 0x66, 0x61, 0x63, 0x65, 0x3b, 0x0a, + 0x7d, 0x3b, 0x0a, 0x0a, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x3c, 0x74, 0x79, 0x70, + 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x54, 0x3e, 0x0a, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x20, + 0x4c, 0x43, 0x54, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x33, 0x44, 0x20, 0x7b, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x4c, 0x43, 0x53, 0x75, 0x72, 0x66, 0x61, 0x63, 0x65, 0x20, 0x73, 0x75, 0x72, 0x66, + 0x61, 0x63, 0x65, 0x3b, 0x0a, 0x7d, 0x3b, 0x0a, 0x0a, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, + 0x65, 0x3c, 0x74, 0x79, 0x70, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x54, 0x3e, 0x0a, 0x5b, 0x5b, + 0x6e, 0x6f, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x5d, 0x5d, 0x20, 0x5f, 0x5f, 0x64, 0x65, + 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x6c, 0x63, 0x5f, 0x74, + 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x28, 0x4c, 0x43, 0x54, 0x65, + 0x78, 0x74, 0x75, 0x72, 0x65, 0x32, 0x44, 0x3c, 0x54, 0x3e, 0x20, 0x74, 0x65, 0x78, 0x29, 0x20, + 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, + 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x32, 0x20, 0x73, 0x69, 0x7a, 0x65, 0x3b, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x73, 0x75, 0x71, 0x2e, 0x77, 0x69, 0x64, 0x74, 0x68, + 0x2e, 0x62, 0x33, 0x32, 0x20, 0x25, 0x30, 0x2c, 0x20, 0x5b, 0x25, 0x31, 0x5d, 0x3b, 0x22, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x72, 0x22, 0x28, 0x73, + 0x69, 0x7a, 0x65, 0x2e, 0x78, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, + 0x20, 0x22, 0x6c, 0x22, 0x28, 0x74, 0x65, 0x78, 0x2e, 0x73, 0x75, 0x72, 0x66, 0x61, 0x63, 0x65, + 0x2e, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, + 0x73, 0x6d, 0x28, 0x22, 0x73, 0x75, 0x71, 0x2e, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x2e, 0x62, + 0x33, 0x32, 0x20, 0x25, 0x30, 0x2c, 0x20, 0x5b, 0x25, 0x31, 0x5d, 0x3b, 0x22, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x72, 0x22, 0x28, 0x73, 0x69, 0x7a, + 0x65, 0x2e, 0x79, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, + 0x6c, 0x22, 0x28, 0x74, 0x65, 0x78, 0x2e, 0x73, 0x75, 0x72, 0x66, 0x61, 0x63, 0x65, 0x2e, 0x68, + 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, + 0x75, 0x72, 0x6e, 0x20, 0x73, 0x69, 0x7a, 0x65, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x74, 0x65, 0x6d, + 0x70, 0x6c, 0x61, 0x74, 0x65, 0x3c, 0x74, 0x79, 0x70, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x54, + 0x3e, 0x0a, 0x5b, 0x5b, 0x6e, 0x6f, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x5d, 0x5d, 0x20, + 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, + 0x6c, 0x63, 0x5f, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x28, + 0x4c, 0x43, 0x54, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x33, 0x44, 0x3c, 0x54, 0x3e, 0x20, 0x74, + 0x65, 0x78, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x20, 0x73, 0x69, 0x7a, 0x65, + 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x73, 0x75, 0x71, 0x2e, 0x77, + 0x69, 0x64, 0x74, 0x68, 0x2e, 0x62, 0x33, 0x32, 0x20, 0x25, 0x30, 0x2c, 0x20, 0x5b, 0x25, 0x31, 0x5d, 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, - 0x72, 0x22, 0x28, 0x73, 0x69, 0x7a, 0x65, 0x2e, 0x79, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x72, 0x22, 0x28, 0x73, 0x69, 0x7a, 0x65, 0x2e, 0x78, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x6c, 0x22, 0x28, 0x74, 0x65, 0x78, 0x2e, 0x73, 0x75, 0x72, 0x66, 0x61, 0x63, 0x65, 0x2e, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x29, 0x29, 0x3b, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x73, 0x69, 0x7a, 0x65, 0x3b, 0x0a, - 0x7d, 0x0a, 0x0a, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x3c, 0x74, 0x79, 0x70, 0x65, - 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x54, 0x3e, 0x0a, 0x5b, 0x5b, 0x6e, 0x6f, 0x64, 0x69, 0x73, 0x63, - 0x61, 0x72, 0x64, 0x5d, 0x5d, 0x20, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, - 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x6c, 0x63, 0x5f, - 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x28, 0x4c, 0x43, 0x54, - 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x33, 0x44, 0x3c, 0x54, 0x3e, 0x20, 0x74, 0x65, 0x78, 0x29, - 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x20, 0x73, 0x69, 0x7a, 0x65, 0x3b, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x73, 0x75, 0x71, 0x2e, 0x77, 0x69, 0x64, 0x74, - 0x68, 0x2e, 0x62, 0x33, 0x32, 0x20, 0x25, 0x30, 0x2c, 0x20, 0x5b, 0x25, 0x31, 0x5d, 0x3b, 0x22, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x72, 0x22, 0x28, - 0x73, 0x69, 0x7a, 0x65, 0x2e, 0x78, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x3a, 0x20, 0x22, 0x6c, 0x22, 0x28, 0x74, 0x65, 0x78, 0x2e, 0x73, 0x75, 0x72, 0x66, 0x61, 0x63, - 0x65, 0x2e, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x61, 0x73, 0x6d, 0x28, 0x22, 0x73, 0x75, 0x71, 0x2e, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x2e, + 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x73, 0x75, 0x71, 0x2e, 0x68, 0x65, 0x69, 0x67, + 0x68, 0x74, 0x2e, 0x62, 0x33, 0x32, 0x20, 0x25, 0x30, 0x2c, 0x20, 0x5b, 0x25, 0x31, 0x5d, 0x3b, + 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x72, 0x22, + 0x28, 0x73, 0x69, 0x7a, 0x65, 0x2e, 0x79, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x3a, 0x20, 0x22, 0x6c, 0x22, 0x28, 0x74, 0x65, 0x78, 0x2e, 0x73, 0x75, 0x72, 0x66, 0x61, + 0x63, 0x65, 0x2e, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x73, 0x75, 0x71, 0x2e, 0x64, 0x65, 0x70, 0x74, 0x68, 0x2e, 0x62, 0x33, 0x32, 0x20, 0x25, 0x30, 0x2c, 0x20, 0x5b, 0x25, 0x31, 0x5d, 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x72, 0x22, 0x28, 0x73, 0x69, - 0x7a, 0x65, 0x2e, 0x79, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, + 0x7a, 0x65, 0x2e, 0x7a, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x6c, 0x22, 0x28, 0x74, 0x65, 0x78, 0x2e, 0x73, 0x75, 0x72, 0x66, 0x61, 0x63, 0x65, 0x2e, - 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, - 0x6d, 0x28, 0x22, 0x73, 0x75, 0x71, 0x2e, 0x64, 0x65, 0x70, 0x74, 0x68, 0x2e, 0x62, 0x33, 0x32, - 0x20, 0x25, 0x30, 0x2c, 0x20, 0x5b, 0x25, 0x31, 0x5d, 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x72, 0x22, 0x28, 0x73, 0x69, 0x7a, 0x65, 0x2e, - 0x7a, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x6c, 0x22, - 0x28, 0x74, 0x65, 0x78, 0x2e, 0x73, 0x75, 0x72, 0x66, 0x61, 0x63, 0x65, 0x2e, 0x68, 0x61, 0x6e, - 0x64, 0x6c, 0x65, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, - 0x6e, 0x20, 0x73, 0x69, 0x7a, 0x65, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x74, 0x65, 0x6d, 0x70, 0x6c, - 0x61, 0x74, 0x65, 0x3c, 0x74, 0x79, 0x70, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x54, 0x3e, 0x0a, - 0x5b, 0x5b, 0x6e, 0x6f, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x5d, 0x5d, 0x20, 0x5f, 0x5f, - 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, - 0x61, 0x75, 0x74, 0x6f, 0x20, 0x6c, 0x63, 0x5f, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5f, - 0x72, 0x65, 0x61, 0x64, 0x28, 0x4c, 0x43, 0x54, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x32, 0x44, - 0x3c, 0x54, 0x3e, 0x20, 0x74, 0x65, 0x78, 0x2c, 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, - 0x32, 0x20, 0x70, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x6c, 0x63, 0x5f, 0x73, 0x75, - 0x72, 0x66, 0x32, 0x64, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x3c, 0x54, 0x3e, 0x28, 0x74, 0x65, 0x78, - 0x2e, 0x73, 0x75, 0x72, 0x66, 0x61, 0x63, 0x65, 0x2c, 0x20, 0x70, 0x29, 0x3b, 0x0a, 0x7d, 0x0a, - 0x0a, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x3c, 0x74, 0x79, 0x70, 0x65, 0x6e, 0x61, - 0x6d, 0x65, 0x20, 0x54, 0x3e, 0x0a, 0x5b, 0x5b, 0x6e, 0x6f, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, - 0x64, 0x5d, 0x5d, 0x20, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, - 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x6c, 0x63, 0x5f, 0x74, 0x65, - 0x78, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x28, 0x4c, 0x43, 0x54, 0x65, 0x78, - 0x74, 0x75, 0x72, 0x65, 0x33, 0x44, 0x3c, 0x54, 0x3e, 0x20, 0x74, 0x65, 0x78, 0x2c, 0x20, 0x6c, - 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x20, 0x70, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, - 0x65, 0x70, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, - 0x20, 0x6c, 0x63, 0x5f, 0x73, 0x75, 0x72, 0x66, 0x33, 0x64, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x3c, - 0x54, 0x3e, 0x28, 0x74, 0x65, 0x78, 0x2e, 0x73, 0x75, 0x72, 0x66, 0x61, 0x63, 0x65, 0x2c, 0x20, - 0x70, 0x29, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x3c, - 0x74, 0x79, 0x70, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x54, 0x2c, 0x20, 0x74, 0x79, 0x70, 0x65, - 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x56, 0x3e, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, - 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x76, 0x6f, 0x69, 0x64, 0x20, 0x6c, - 0x63, 0x5f, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x28, - 0x4c, 0x43, 0x54, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x32, 0x44, 0x3c, 0x54, 0x3e, 0x20, 0x74, - 0x65, 0x78, 0x2c, 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x32, 0x20, 0x70, 0x2c, 0x20, - 0x56, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, - 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x73, 0x75, 0x72, 0x66, 0x32, - 0x64, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x3c, 0x54, 0x3e, 0x28, 0x74, 0x65, 0x78, 0x2e, 0x73, - 0x75, 0x72, 0x66, 0x61, 0x63, 0x65, 0x2c, 0x20, 0x70, 0x2c, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x29, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x3c, 0x74, - 0x79, 0x70, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x54, 0x2c, 0x20, 0x74, 0x79, 0x70, 0x65, 0x6e, - 0x61, 0x6d, 0x65, 0x20, 0x56, 0x3e, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, - 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x76, 0x6f, 0x69, 0x64, 0x20, 0x6c, 0x63, - 0x5f, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x28, 0x4c, - 0x43, 0x54, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x33, 0x44, 0x3c, 0x54, 0x3e, 0x20, 0x74, 0x65, - 0x78, 0x2c, 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x20, 0x70, 0x2c, 0x20, 0x56, - 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, - 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x73, 0x75, 0x72, 0x66, 0x33, 0x64, - 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x3c, 0x54, 0x3e, 0x28, 0x74, 0x65, 0x78, 0x2e, 0x73, 0x75, - 0x72, 0x66, 0x61, 0x63, 0x65, 0x2c, 0x20, 0x70, 0x2c, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x29, - 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x3c, 0x74, 0x79, - 0x70, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x54, 0x3e, 0x0a, 0x5b, 0x5b, 0x6e, 0x6f, 0x64, 0x69, - 0x73, 0x63, 0x61, 0x72, 0x64, 0x5d, 0x5d, 0x20, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, - 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x6c, + 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, + 0x74, 0x75, 0x72, 0x6e, 0x20, 0x73, 0x69, 0x7a, 0x65, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x74, 0x65, + 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x3c, 0x74, 0x79, 0x70, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x20, + 0x54, 0x3e, 0x0a, 0x5b, 0x5b, 0x6e, 0x6f, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x5d, 0x5d, + 0x20, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x61, 0x75, 0x74, 0x6f, + 0x20, 0x6c, 0x63, 0x5f, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x72, 0x65, 0x61, 0x64, + 0x28, 0x4c, 0x43, 0x54, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x32, 0x44, 0x3c, 0x54, 0x3e, 0x20, + 0x74, 0x65, 0x78, 0x2c, 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x32, 0x20, 0x70, 0x29, + 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x6c, 0x63, 0x5f, 0x73, 0x75, 0x72, 0x66, 0x32, 0x64, + 0x5f, 0x72, 0x65, 0x61, 0x64, 0x3c, 0x54, 0x3e, 0x28, 0x74, 0x65, 0x78, 0x2e, 0x73, 0x75, 0x72, + 0x66, 0x61, 0x63, 0x65, 0x2c, 0x20, 0x70, 0x29, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x74, 0x65, 0x6d, + 0x70, 0x6c, 0x61, 0x74, 0x65, 0x3c, 0x74, 0x79, 0x70, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x54, + 0x3e, 0x0a, 0x5b, 0x5b, 0x6e, 0x6f, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x5d, 0x5d, 0x20, + 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, + 0x6c, 0x63, 0x5f, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x28, + 0x4c, 0x43, 0x54, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x33, 0x44, 0x3c, 0x54, 0x3e, 0x20, 0x74, + 0x65, 0x78, 0x2c, 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x20, 0x70, 0x29, 0x20, + 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, + 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x6c, 0x63, 0x5f, 0x73, 0x75, 0x72, 0x66, 0x33, 0x64, 0x5f, + 0x72, 0x65, 0x61, 0x64, 0x3c, 0x54, 0x3e, 0x28, 0x74, 0x65, 0x78, 0x2e, 0x73, 0x75, 0x72, 0x66, + 0x61, 0x63, 0x65, 0x2c, 0x20, 0x70, 0x29, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x74, 0x65, 0x6d, 0x70, + 0x6c, 0x61, 0x74, 0x65, 0x3c, 0x74, 0x79, 0x70, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x54, 0x2c, + 0x20, 0x74, 0x79, 0x70, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x56, 0x3e, 0x0a, 0x5f, 0x5f, 0x64, + 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x76, 0x6f, 0x69, 0x64, 0x20, 0x6c, 0x63, 0x5f, + 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x28, 0x4c, 0x43, + 0x54, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x32, 0x44, 0x3c, 0x54, 0x3e, 0x20, 0x74, 0x65, 0x78, + 0x2c, 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x32, 0x20, 0x70, 0x2c, 0x20, 0x56, 0x20, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, + 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x73, 0x75, 0x72, 0x66, 0x32, 0x64, 0x5f, + 0x77, 0x72, 0x69, 0x74, 0x65, 0x3c, 0x54, 0x3e, 0x28, 0x74, 0x65, 0x78, 0x2e, 0x73, 0x75, 0x72, + 0x66, 0x61, 0x63, 0x65, 0x2c, 0x20, 0x70, 0x2c, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x29, 0x3b, + 0x0a, 0x7d, 0x0a, 0x0a, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x3c, 0x74, 0x79, 0x70, + 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x54, 0x2c, 0x20, 0x74, 0x79, 0x70, 0x65, 0x6e, 0x61, 0x6d, + 0x65, 0x20, 0x56, 0x3e, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, + 0x76, 0x6f, 0x69, 0x64, 0x20, 0x6c, 0x63, 0x5f, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5f, + 0x77, 0x72, 0x69, 0x74, 0x65, 0x28, 0x4c, 0x43, 0x54, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x33, + 0x44, 0x3c, 0x54, 0x3e, 0x20, 0x74, 0x65, 0x78, 0x2c, 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, + 0x74, 0x33, 0x20, 0x70, 0x2c, 0x20, 0x56, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x29, 0x20, 0x6e, + 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, + 0x5f, 0x73, 0x75, 0x72, 0x66, 0x33, 0x64, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x3c, 0x54, 0x3e, + 0x28, 0x74, 0x65, 0x78, 0x2e, 0x73, 0x75, 0x72, 0x66, 0x61, 0x63, 0x65, 0x2c, 0x20, 0x70, 0x2c, + 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x29, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x74, 0x65, 0x6d, 0x70, + 0x6c, 0x61, 0x74, 0x65, 0x3c, 0x74, 0x79, 0x70, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x54, 0x3e, + 0x0a, 0x5b, 0x5b, 0x6e, 0x6f, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x5d, 0x5d, 0x20, 0x5f, + 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x6c, 0x63, 0x5f, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x28, 0x4c, 0x43, 0x54, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x32, 0x44, 0x3c, 0x54, 0x3e, 0x20, 0x74, 0x65, 0x78, 0x2c, 0x20, 0x6c, 0x63, 0x5f, 0x69, 0x6e, 0x74, 0x32, 0x20, 0x70, 0x29, 0x20, 0x6e, 0x6f, @@ -39762,89 +39536,111 @@ extern "C" const char luisa_cuda_builtin_cuda_device_resource[119200] = { 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x32, 0x28, 0x70, 0x29, 0x29, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x3c, 0x74, 0x79, 0x70, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x54, 0x3e, 0x0a, 0x5b, 0x5b, 0x6e, 0x6f, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x5d, - 0x5d, 0x20, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, - 0x69, 0x6e, 0x65, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x6c, 0x63, 0x5f, 0x74, 0x65, 0x78, 0x74, - 0x75, 0x72, 0x65, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x28, 0x4c, 0x43, 0x54, 0x65, 0x78, 0x74, 0x75, - 0x72, 0x65, 0x33, 0x44, 0x3c, 0x54, 0x3e, 0x20, 0x74, 0x65, 0x78, 0x2c, 0x20, 0x6c, 0x63, 0x5f, - 0x69, 0x6e, 0x74, 0x33, 0x20, 0x70, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, - 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x6c, 0x63, - 0x5f, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x28, 0x74, 0x65, - 0x78, 0x2c, 0x20, 0x6c, 0x63, 0x5f, 0x6d, 0x61, 0x6b, 0x65, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x33, - 0x28, 0x70, 0x29, 0x29, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, - 0x65, 0x3c, 0x74, 0x79, 0x70, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x54, 0x2c, 0x20, 0x74, 0x79, - 0x70, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x56, 0x3e, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, - 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x76, 0x6f, 0x69, 0x64, - 0x20, 0x6c, 0x63, 0x5f, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x77, 0x72, 0x69, 0x74, - 0x65, 0x28, 0x4c, 0x43, 0x54, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x32, 0x44, 0x3c, 0x54, 0x3e, - 0x20, 0x74, 0x65, 0x78, 0x2c, 0x20, 0x6c, 0x63, 0x5f, 0x69, 0x6e, 0x74, 0x32, 0x20, 0x70, 0x2c, - 0x20, 0x56, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, - 0x70, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x74, 0x65, 0x78, 0x74, - 0x75, 0x72, 0x65, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x28, 0x74, 0x65, 0x78, 0x2c, 0x20, 0x6c, - 0x63, 0x5f, 0x6d, 0x61, 0x6b, 0x65, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x32, 0x28, 0x70, 0x29, 0x2c, - 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x29, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x74, 0x65, 0x6d, 0x70, - 0x6c, 0x61, 0x74, 0x65, 0x3c, 0x74, 0x79, 0x70, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x54, 0x2c, - 0x20, 0x74, 0x79, 0x70, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x56, 0x3e, 0x0a, 0x5f, 0x5f, 0x64, - 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x76, - 0x6f, 0x69, 0x64, 0x20, 0x6c, 0x63, 0x5f, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x77, - 0x72, 0x69, 0x74, 0x65, 0x28, 0x4c, 0x43, 0x54, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x33, 0x44, - 0x3c, 0x54, 0x3e, 0x20, 0x74, 0x65, 0x78, 0x2c, 0x20, 0x6c, 0x63, 0x5f, 0x69, 0x6e, 0x74, 0x33, - 0x20, 0x70, 0x2c, 0x20, 0x56, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x29, 0x20, 0x6e, 0x6f, 0x65, - 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x74, - 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x28, 0x74, 0x65, 0x78, - 0x2c, 0x20, 0x6c, 0x63, 0x5f, 0x6d, 0x61, 0x6b, 0x65, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x28, - 0x70, 0x29, 0x2c, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x29, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x73, - 0x74, 0x72, 0x75, 0x63, 0x74, 0x20, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x61, 0x73, 0x28, 0x31, 0x36, - 0x29, 0x20, 0x4c, 0x43, 0x42, 0x69, 0x6e, 0x64, 0x6c, 0x65, 0x73, 0x73, 0x53, 0x6c, 0x6f, 0x74, - 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x76, 0x6f, 0x69, 0x64, 0x20, 0x2a, 0x5f, 0x5f, 0x72, - 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x5f, 0x5f, 0x20, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, - 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x73, 0x69, 0x7a, 0x65, 0x5f, 0x74, 0x20, 0x62, 0x75, 0x66, - 0x66, 0x65, 0x72, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x63, 0x75, - 0x64, 0x61, 0x54, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, - 0x74, 0x20, 0x74, 0x65, 0x78, 0x32, 0x64, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x63, 0x75, 0x64, - 0x61, 0x54, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x74, - 0x20, 0x74, 0x65, 0x78, 0x33, 0x64, 0x3b, 0x0a, 0x7d, 0x3b, 0x0a, 0x0a, 0x73, 0x74, 0x72, 0x75, - 0x63, 0x74, 0x20, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x61, 0x73, 0x28, 0x31, 0x36, 0x29, 0x20, 0x4c, - 0x43, 0x42, 0x69, 0x6e, 0x64, 0x6c, 0x65, 0x73, 0x73, 0x41, 0x72, 0x72, 0x61, 0x79, 0x20, 0x7b, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x4c, 0x43, 0x42, 0x69, 0x6e, - 0x64, 0x6c, 0x65, 0x73, 0x73, 0x53, 0x6c, 0x6f, 0x74, 0x20, 0x2a, 0x5f, 0x5f, 0x72, 0x65, 0x73, - 0x74, 0x72, 0x69, 0x63, 0x74, 0x5f, 0x5f, 0x20, 0x73, 0x6c, 0x6f, 0x74, 0x73, 0x3b, 0x0a, 0x7d, - 0x3b, 0x0a, 0x0a, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x3c, 0x74, 0x79, 0x70, 0x65, - 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x54, 0x20, 0x3d, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, - 0x64, 0x20, 0x63, 0x68, 0x61, 0x72, 0x3e, 0x0a, 0x5b, 0x5b, 0x6e, 0x6f, 0x64, 0x69, 0x73, 0x63, - 0x61, 0x72, 0x64, 0x5d, 0x5d, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x64, - 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x6c, 0x63, 0x5f, - 0x62, 0x69, 0x6e, 0x64, 0x6c, 0x65, 0x73, 0x73, 0x5f, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x5f, - 0x73, 0x69, 0x7a, 0x65, 0x28, 0x4c, 0x43, 0x42, 0x69, 0x6e, 0x64, 0x6c, 0x65, 0x73, 0x73, 0x41, - 0x72, 0x72, 0x61, 0x79, 0x20, 0x61, 0x72, 0x72, 0x61, 0x79, 0x2c, 0x20, 0x6c, 0x63, 0x5f, 0x75, - 0x69, 0x6e, 0x74, 0x20, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, - 0x65, 0x70, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x61, 0x73, 0x73, - 0x75, 0x6d, 0x65, 0x28, 0x5f, 0x5f, 0x69, 0x73, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x28, 0x61, - 0x72, 0x72, 0x61, 0x79, 0x2e, 0x73, 0x6c, 0x6f, 0x74, 0x73, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x61, 0x72, 0x72, 0x61, 0x79, 0x2e, 0x73, - 0x6c, 0x6f, 0x74, 0x73, 0x5b, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5d, 0x2e, 0x62, 0x75, 0x66, 0x66, - 0x65, 0x72, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x20, 0x2f, 0x20, 0x73, 0x69, 0x7a, 0x65, 0x6f, 0x66, - 0x28, 0x54, 0x29, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x5b, 0x5b, 0x6e, 0x6f, 0x64, 0x69, 0x73, 0x63, - 0x61, 0x72, 0x64, 0x5d, 0x5d, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x64, - 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x6c, 0x63, 0x5f, - 0x62, 0x69, 0x6e, 0x64, 0x6c, 0x65, 0x73, 0x73, 0x5f, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x5f, - 0x73, 0x69, 0x7a, 0x65, 0x28, 0x4c, 0x43, 0x42, 0x69, 0x6e, 0x64, 0x6c, 0x65, 0x73, 0x73, 0x41, - 0x72, 0x72, 0x61, 0x79, 0x20, 0x61, 0x72, 0x72, 0x61, 0x79, 0x2c, 0x20, 0x6c, 0x63, 0x5f, 0x75, - 0x69, 0x6e, 0x74, 0x20, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x2c, 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x69, - 0x6e, 0x74, 0x20, 0x73, 0x74, 0x72, 0x69, 0x64, 0x65, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, - 0x65, 0x70, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x61, 0x73, 0x73, - 0x75, 0x6d, 0x65, 0x28, 0x5f, 0x5f, 0x69, 0x73, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x28, 0x61, - 0x72, 0x72, 0x61, 0x79, 0x2e, 0x73, 0x6c, 0x6f, 0x74, 0x73, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x61, 0x72, 0x72, 0x61, 0x79, 0x2e, 0x73, - 0x6c, 0x6f, 0x74, 0x73, 0x5b, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5d, 0x2e, 0x62, 0x75, 0x66, 0x66, - 0x65, 0x72, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x20, 0x2f, 0x20, 0x73, 0x74, 0x72, 0x69, 0x64, 0x65, - 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x3c, 0x74, 0x79, - 0x70, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x54, 0x3e, 0x0a, 0x5b, 0x5b, 0x6e, 0x6f, 0x64, 0x69, - 0x73, 0x63, 0x61, 0x72, 0x64, 0x5d, 0x5d, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, - 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x54, 0x20, 0x2a, 0x6c, 0x63, 0x5f, - 0x62, 0x69, 0x6e, 0x64, 0x6c, 0x65, 0x73, 0x73, 0x5f, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x28, - 0x4c, 0x43, 0x42, 0x69, 0x6e, 0x64, 0x6c, 0x65, 0x73, 0x73, 0x41, 0x72, 0x72, 0x61, 0x79, 0x20, - 0x61, 0x72, 0x72, 0x61, 0x79, 0x2c, 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x20, 0x69, - 0x6e, 0x64, 0x65, 0x78, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, + 0x5d, 0x20, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x61, 0x75, 0x74, + 0x6f, 0x20, 0x6c, 0x63, 0x5f, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x72, 0x65, 0x61, + 0x64, 0x28, 0x4c, 0x43, 0x54, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x33, 0x44, 0x3c, 0x54, 0x3e, + 0x20, 0x74, 0x65, 0x78, 0x2c, 0x20, 0x6c, 0x63, 0x5f, 0x69, 0x6e, 0x74, 0x33, 0x20, 0x70, 0x29, + 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x6c, 0x63, 0x5f, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, + 0x65, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x28, 0x74, 0x65, 0x78, 0x2c, 0x20, 0x6c, 0x63, 0x5f, 0x6d, + 0x61, 0x6b, 0x65, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x28, 0x70, 0x29, 0x29, 0x3b, 0x0a, 0x7d, + 0x0a, 0x0a, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x3c, 0x74, 0x79, 0x70, 0x65, 0x6e, + 0x61, 0x6d, 0x65, 0x20, 0x54, 0x2c, 0x20, 0x74, 0x79, 0x70, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x20, + 0x56, 0x3e, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x76, 0x6f, + 0x69, 0x64, 0x20, 0x6c, 0x63, 0x5f, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x77, 0x72, + 0x69, 0x74, 0x65, 0x28, 0x4c, 0x43, 0x54, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x32, 0x44, 0x3c, + 0x54, 0x3e, 0x20, 0x74, 0x65, 0x78, 0x2c, 0x20, 0x6c, 0x63, 0x5f, 0x69, 0x6e, 0x74, 0x32, 0x20, + 0x70, 0x2c, 0x20, 0x56, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, + 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x74, 0x65, + 0x78, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x28, 0x74, 0x65, 0x78, 0x2c, + 0x20, 0x6c, 0x63, 0x5f, 0x6d, 0x61, 0x6b, 0x65, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x32, 0x28, 0x70, + 0x29, 0x2c, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x29, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x74, 0x65, + 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x3c, 0x74, 0x79, 0x70, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x20, + 0x54, 0x2c, 0x20, 0x74, 0x79, 0x70, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x56, 0x3e, 0x0a, 0x5f, + 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x76, 0x6f, 0x69, 0x64, 0x20, 0x6c, + 0x63, 0x5f, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x28, + 0x4c, 0x43, 0x54, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x33, 0x44, 0x3c, 0x54, 0x3e, 0x20, 0x74, + 0x65, 0x78, 0x2c, 0x20, 0x6c, 0x63, 0x5f, 0x69, 0x6e, 0x74, 0x33, 0x20, 0x70, 0x2c, 0x20, 0x56, + 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, + 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, + 0x65, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x28, 0x74, 0x65, 0x78, 0x2c, 0x20, 0x6c, 0x63, 0x5f, + 0x6d, 0x61, 0x6b, 0x65, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x28, 0x70, 0x29, 0x2c, 0x20, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x29, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, + 0x20, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x61, 0x73, 0x28, 0x31, 0x36, 0x29, 0x20, 0x4c, 0x43, 0x42, + 0x69, 0x6e, 0x64, 0x6c, 0x65, 0x73, 0x73, 0x53, 0x6c, 0x6f, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x76, 0x6f, 0x69, 0x64, 0x20, 0x2a, 0x5f, 0x5f, 0x72, 0x65, 0x73, 0x74, 0x72, 0x69, + 0x63, 0x74, 0x5f, 0x5f, 0x20, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x3b, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x73, 0x69, 0x7a, 0x65, 0x5f, 0x74, 0x20, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x73, + 0x69, 0x7a, 0x65, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x63, 0x75, 0x64, 0x61, 0x54, 0x65, 0x78, + 0x74, 0x75, 0x72, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x74, 0x20, 0x74, 0x65, 0x78, + 0x32, 0x64, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x63, 0x75, 0x64, 0x61, 0x54, 0x65, 0x78, 0x74, + 0x75, 0x72, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x74, 0x20, 0x74, 0x65, 0x78, 0x33, + 0x64, 0x3b, 0x0a, 0x7d, 0x3b, 0x0a, 0x0a, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x20, 0x61, 0x6c, + 0x69, 0x67, 0x6e, 0x61, 0x73, 0x28, 0x31, 0x36, 0x29, 0x20, 0x4c, 0x43, 0x42, 0x69, 0x6e, 0x64, + 0x6c, 0x65, 0x73, 0x73, 0x41, 0x72, 0x72, 0x61, 0x79, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x4c, 0x43, 0x42, 0x69, 0x6e, 0x64, 0x6c, 0x65, 0x73, 0x73, + 0x53, 0x6c, 0x6f, 0x74, 0x20, 0x2a, 0x5f, 0x5f, 0x72, 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, + 0x5f, 0x5f, 0x20, 0x73, 0x6c, 0x6f, 0x74, 0x73, 0x3b, 0x0a, 0x7d, 0x3b, 0x0a, 0x0a, 0x74, 0x65, + 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x3c, 0x74, 0x79, 0x70, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x20, + 0x54, 0x20, 0x3d, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x63, 0x68, 0x61, + 0x72, 0x3e, 0x0a, 0x5b, 0x5b, 0x6e, 0x6f, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x5d, 0x5d, + 0x20, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x61, 0x75, 0x74, 0x6f, + 0x20, 0x6c, 0x63, 0x5f, 0x62, 0x69, 0x6e, 0x64, 0x6c, 0x65, 0x73, 0x73, 0x5f, 0x62, 0x75, 0x66, + 0x66, 0x65, 0x72, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x28, 0x4c, 0x43, 0x42, 0x69, 0x6e, 0x64, 0x6c, + 0x65, 0x73, 0x73, 0x41, 0x72, 0x72, 0x61, 0x79, 0x20, 0x61, 0x72, 0x72, 0x61, 0x79, 0x2c, 0x20, + 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x20, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x29, 0x20, 0x6e, + 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, + 0x5f, 0x61, 0x73, 0x73, 0x75, 0x6d, 0x65, 0x28, 0x5f, 0x5f, 0x69, 0x73, 0x47, 0x6c, 0x6f, 0x62, + 0x61, 0x6c, 0x28, 0x61, 0x72, 0x72, 0x61, 0x79, 0x2e, 0x73, 0x6c, 0x6f, 0x74, 0x73, 0x29, 0x29, + 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x61, 0x72, 0x72, + 0x61, 0x79, 0x2e, 0x73, 0x6c, 0x6f, 0x74, 0x73, 0x5b, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5d, 0x2e, + 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x20, 0x2f, 0x20, 0x73, 0x69, + 0x7a, 0x65, 0x6f, 0x66, 0x28, 0x54, 0x29, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x5b, 0x5b, 0x6e, 0x6f, + 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x5d, 0x5d, 0x20, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, + 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x6c, 0x63, 0x5f, 0x62, 0x69, 0x6e, + 0x64, 0x6c, 0x65, 0x73, 0x73, 0x5f, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x73, 0x69, 0x7a, + 0x65, 0x28, 0x4c, 0x43, 0x42, 0x69, 0x6e, 0x64, 0x6c, 0x65, 0x73, 0x73, 0x41, 0x72, 0x72, 0x61, + 0x79, 0x20, 0x61, 0x72, 0x72, 0x61, 0x79, 0x2c, 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, + 0x20, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x2c, 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x20, + 0x73, 0x74, 0x72, 0x69, 0x64, 0x65, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, + 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x61, 0x73, 0x73, 0x75, 0x6d, 0x65, + 0x28, 0x5f, 0x5f, 0x69, 0x73, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x28, 0x61, 0x72, 0x72, 0x61, + 0x79, 0x2e, 0x73, 0x6c, 0x6f, 0x74, 0x73, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, + 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x61, 0x72, 0x72, 0x61, 0x79, 0x2e, 0x73, 0x6c, 0x6f, 0x74, + 0x73, 0x5b, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5d, 0x2e, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x5f, + 0x73, 0x69, 0x7a, 0x65, 0x20, 0x2f, 0x20, 0x73, 0x74, 0x72, 0x69, 0x64, 0x65, 0x3b, 0x0a, 0x7d, + 0x0a, 0x0a, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x3c, 0x74, 0x79, 0x70, 0x65, 0x6e, + 0x61, 0x6d, 0x65, 0x20, 0x54, 0x3e, 0x0a, 0x5b, 0x5b, 0x6e, 0x6f, 0x64, 0x69, 0x73, 0x63, 0x61, + 0x72, 0x64, 0x5d, 0x5d, 0x20, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, + 0x54, 0x20, 0x2a, 0x6c, 0x63, 0x5f, 0x62, 0x69, 0x6e, 0x64, 0x6c, 0x65, 0x73, 0x73, 0x5f, 0x62, + 0x75, 0x66, 0x66, 0x65, 0x72, 0x28, 0x4c, 0x43, 0x42, 0x69, 0x6e, 0x64, 0x6c, 0x65, 0x73, 0x73, + 0x41, 0x72, 0x72, 0x61, 0x79, 0x20, 0x61, 0x72, 0x72, 0x61, 0x79, 0x2c, 0x20, 0x6c, 0x63, 0x5f, + 0x75, 0x69, 0x6e, 0x74, 0x20, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, + 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x61, 0x73, + 0x73, 0x75, 0x6d, 0x65, 0x28, 0x5f, 0x5f, 0x69, 0x73, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x28, + 0x61, 0x72, 0x72, 0x61, 0x79, 0x2e, 0x73, 0x6c, 0x6f, 0x74, 0x73, 0x29, 0x29, 0x3b, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x20, 0x3d, + 0x20, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x63, 0x6f, 0x6e, + 0x73, 0x74, 0x20, 0x54, 0x20, 0x2a, 0x3e, 0x28, 0x61, 0x72, 0x72, 0x61, 0x79, 0x2e, 0x73, 0x6c, + 0x6f, 0x74, 0x73, 0x5b, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5d, 0x2e, 0x62, 0x75, 0x66, 0x66, 0x65, + 0x72, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x61, 0x73, 0x73, 0x75, 0x6d, + 0x65, 0x28, 0x5f, 0x5f, 0x69, 0x73, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x28, 0x62, 0x75, 0x66, + 0x66, 0x65, 0x72, 0x29, 0x29, 0x3b, 0x0a, 0x23, 0x69, 0x66, 0x64, 0x65, 0x66, 0x20, 0x4c, 0x55, + 0x49, 0x53, 0x41, 0x5f, 0x44, 0x45, 0x42, 0x55, 0x47, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, + 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x5f, 0x69, 0x6e, 0x5f, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x73, + 0x28, 0x69, 0x2c, 0x20, 0x6c, 0x63, 0x5f, 0x62, 0x69, 0x6e, 0x64, 0x6c, 0x65, 0x73, 0x73, 0x5f, + 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x3c, 0x54, 0x3e, 0x28, 0x61, + 0x72, 0x72, 0x61, 0x79, 0x2c, 0x20, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x29, 0x29, 0x3b, 0x0a, 0x23, + 0x65, 0x6e, 0x64, 0x69, 0x66, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, + 0x20, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x74, 0x65, 0x6d, 0x70, + 0x6c, 0x61, 0x74, 0x65, 0x3c, 0x74, 0x79, 0x70, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x54, 0x3e, + 0x0a, 0x5b, 0x5b, 0x6e, 0x6f, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x5d, 0x5d, 0x20, 0x5f, + 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x54, 0x20, 0x6c, 0x63, 0x5f, 0x62, + 0x69, 0x6e, 0x64, 0x6c, 0x65, 0x73, 0x73, 0x5f, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x72, + 0x65, 0x61, 0x64, 0x28, 0x4c, 0x43, 0x42, 0x69, 0x6e, 0x64, 0x6c, 0x65, 0x73, 0x73, 0x41, 0x72, + 0x72, 0x61, 0x79, 0x20, 0x61, 0x72, 0x72, 0x61, 0x79, 0x2c, 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x69, + 0x6e, 0x74, 0x20, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x2c, 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x6c, 0x6f, + 0x6e, 0x67, 0x20, 0x69, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x61, 0x73, 0x73, 0x75, 0x6d, 0x65, 0x28, 0x5f, 0x5f, 0x69, 0x73, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x28, 0x61, 0x72, 0x72, 0x61, 0x79, 0x2e, 0x73, 0x6c, 0x6f, 0x74, 0x73, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x75, 0x74, @@ -39861,228 +39657,199 @@ extern "C" const char luisa_cuda_builtin_cuda_device_resource[119200] = { 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x3c, 0x54, 0x3e, 0x28, 0x61, 0x72, 0x72, 0x61, 0x79, 0x2c, 0x20, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x29, 0x29, 0x3b, 0x0a, 0x23, 0x65, 0x6e, 0x64, 0x69, 0x66, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x62, 0x75, 0x66, 0x66, 0x65, - 0x72, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x3c, 0x74, - 0x79, 0x70, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x54, 0x3e, 0x0a, 0x5b, 0x5b, 0x6e, 0x6f, 0x64, - 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x5d, 0x5d, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, - 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x54, 0x20, 0x6c, 0x63, 0x5f, - 0x62, 0x69, 0x6e, 0x64, 0x6c, 0x65, 0x73, 0x73, 0x5f, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x5f, - 0x72, 0x65, 0x61, 0x64, 0x28, 0x4c, 0x43, 0x42, 0x69, 0x6e, 0x64, 0x6c, 0x65, 0x73, 0x73, 0x41, + 0x72, 0x5b, 0x69, 0x5d, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, + 0x65, 0x3c, 0x74, 0x79, 0x70, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x54, 0x3e, 0x0a, 0x5b, 0x5b, + 0x6e, 0x6f, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x5d, 0x5d, 0x20, 0x5f, 0x5f, 0x64, 0x65, + 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x76, 0x6f, 0x69, 0x64, 0x20, 0x6c, 0x63, 0x5f, 0x62, + 0x69, 0x6e, 0x64, 0x6c, 0x65, 0x73, 0x73, 0x5f, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x77, + 0x72, 0x69, 0x74, 0x65, 0x28, 0x4c, 0x43, 0x42, 0x69, 0x6e, 0x64, 0x6c, 0x65, 0x73, 0x73, 0x41, 0x72, 0x72, 0x61, 0x79, 0x20, 0x61, 0x72, 0x72, 0x61, 0x79, 0x2c, 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x20, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x2c, 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x6c, - 0x6f, 0x6e, 0x67, 0x20, 0x69, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, - 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x61, 0x73, 0x73, 0x75, 0x6d, 0x65, 0x28, - 0x5f, 0x5f, 0x69, 0x73, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x28, 0x61, 0x72, 0x72, 0x61, 0x79, - 0x2e, 0x73, 0x6c, 0x6f, 0x74, 0x73, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x75, - 0x74, 0x6f, 0x20, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x20, 0x3d, 0x20, 0x73, 0x74, 0x61, 0x74, - 0x69, 0x63, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x54, 0x20, - 0x2a, 0x3e, 0x28, 0x61, 0x72, 0x72, 0x61, 0x79, 0x2e, 0x73, 0x6c, 0x6f, 0x74, 0x73, 0x5b, 0x69, - 0x6e, 0x64, 0x65, 0x78, 0x5d, 0x2e, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x29, 0x3b, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x61, 0x73, 0x73, 0x75, 0x6d, 0x65, 0x28, 0x5f, 0x5f, 0x69, - 0x73, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x28, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x29, 0x29, - 0x3b, 0x0a, 0x23, 0x69, 0x66, 0x64, 0x65, 0x66, 0x20, 0x4c, 0x55, 0x49, 0x53, 0x41, 0x5f, 0x44, - 0x45, 0x42, 0x55, 0x47, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x63, 0x68, 0x65, 0x63, - 0x6b, 0x5f, 0x69, 0x6e, 0x5f, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x73, 0x28, 0x69, 0x2c, 0x20, 0x6c, - 0x63, 0x5f, 0x62, 0x69, 0x6e, 0x64, 0x6c, 0x65, 0x73, 0x73, 0x5f, 0x62, 0x75, 0x66, 0x66, 0x65, - 0x72, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x3c, 0x54, 0x3e, 0x28, 0x61, 0x72, 0x72, 0x61, 0x79, 0x2c, - 0x20, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x29, 0x29, 0x3b, 0x0a, 0x23, 0x65, 0x6e, 0x64, 0x69, 0x66, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x62, 0x75, 0x66, 0x66, - 0x65, 0x72, 0x5b, 0x69, 0x5d, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, - 0x74, 0x65, 0x3c, 0x74, 0x79, 0x70, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x54, 0x3e, 0x0a, 0x5b, - 0x5b, 0x6e, 0x6f, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x5d, 0x5d, 0x20, 0x69, 0x6e, 0x6c, - 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x76, - 0x6f, 0x69, 0x64, 0x20, 0x6c, 0x63, 0x5f, 0x62, 0x69, 0x6e, 0x64, 0x6c, 0x65, 0x73, 0x73, 0x5f, - 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x28, 0x4c, 0x43, 0x42, - 0x69, 0x6e, 0x64, 0x6c, 0x65, 0x73, 0x73, 0x41, 0x72, 0x72, 0x61, 0x79, 0x20, 0x61, 0x72, 0x72, - 0x61, 0x79, 0x2c, 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x20, 0x69, 0x6e, 0x64, 0x65, - 0x78, 0x2c, 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x6c, 0x6f, 0x6e, 0x67, 0x20, 0x69, 0x2c, 0x20, 0x54, - 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, - 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x61, 0x73, 0x73, 0x75, 0x6d, 0x65, - 0x28, 0x5f, 0x5f, 0x69, 0x73, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x28, 0x61, 0x72, 0x72, 0x61, - 0x79, 0x2e, 0x73, 0x6c, 0x6f, 0x74, 0x73, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, - 0x75, 0x74, 0x6f, 0x20, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x20, 0x3d, 0x20, 0x73, 0x74, 0x61, - 0x74, 0x69, 0x63, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x54, 0x20, 0x2a, 0x3e, 0x28, 0x61, 0x72, + 0x6f, 0x6e, 0x67, 0x20, 0x69, 0x2c, 0x20, 0x54, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x29, 0x20, + 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, + 0x63, 0x5f, 0x61, 0x73, 0x73, 0x75, 0x6d, 0x65, 0x28, 0x5f, 0x5f, 0x69, 0x73, 0x47, 0x6c, 0x6f, + 0x62, 0x61, 0x6c, 0x28, 0x61, 0x72, 0x72, 0x61, 0x79, 0x2e, 0x73, 0x6c, 0x6f, 0x74, 0x73, 0x29, + 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x62, 0x75, 0x66, 0x66, + 0x65, 0x72, 0x20, 0x3d, 0x20, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x5f, 0x63, 0x61, 0x73, 0x74, + 0x3c, 0x54, 0x20, 0x2a, 0x3e, 0x28, 0x61, 0x72, 0x72, 0x61, 0x79, 0x2e, 0x73, 0x6c, 0x6f, 0x74, + 0x73, 0x5b, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5d, 0x2e, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x29, + 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x61, 0x73, 0x73, 0x75, 0x6d, 0x65, 0x28, + 0x5f, 0x5f, 0x69, 0x73, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x28, 0x62, 0x75, 0x66, 0x66, 0x65, + 0x72, 0x29, 0x29, 0x3b, 0x0a, 0x23, 0x69, 0x66, 0x64, 0x65, 0x66, 0x20, 0x4c, 0x55, 0x49, 0x53, + 0x41, 0x5f, 0x44, 0x45, 0x42, 0x55, 0x47, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x63, + 0x68, 0x65, 0x63, 0x6b, 0x5f, 0x69, 0x6e, 0x5f, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x73, 0x28, 0x69, + 0x2c, 0x20, 0x6c, 0x63, 0x5f, 0x62, 0x69, 0x6e, 0x64, 0x6c, 0x65, 0x73, 0x73, 0x5f, 0x62, 0x75, + 0x66, 0x66, 0x65, 0x72, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x3c, 0x54, 0x3e, 0x28, 0x61, 0x72, 0x72, + 0x61, 0x79, 0x2c, 0x20, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x29, 0x29, 0x3b, 0x0a, 0x23, 0x65, 0x6e, + 0x64, 0x69, 0x66, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x5b, 0x69, + 0x5d, 0x20, 0x3d, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x5b, 0x5b, + 0x6e, 0x6f, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x5d, 0x5d, 0x20, 0x5f, 0x5f, 0x64, 0x65, + 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x6c, 0x63, 0x5f, 0x62, + 0x69, 0x6e, 0x64, 0x6c, 0x65, 0x73, 0x73, 0x5f, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x74, + 0x79, 0x70, 0x65, 0x28, 0x4c, 0x43, 0x42, 0x69, 0x6e, 0x64, 0x6c, 0x65, 0x73, 0x73, 0x41, 0x72, + 0x72, 0x61, 0x79, 0x20, 0x61, 0x72, 0x72, 0x61, 0x79, 0x2c, 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x69, + 0x6e, 0x74, 0x20, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, + 0x70, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, + 0x30, 0x75, 0x6c, 0x6c, 0x3b, 0x2f, 0x2f, 0x20, 0x54, 0x4f, 0x44, 0x4f, 0x0a, 0x7d, 0x0a, 0x0a, + 0x5b, 0x5b, 0x6e, 0x6f, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x5d, 0x5d, 0x20, 0x5f, 0x5f, + 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x6c, 0x63, + 0x5f, 0x62, 0x69, 0x6e, 0x64, 0x6c, 0x65, 0x73, 0x73, 0x5f, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, + 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x28, 0x4c, 0x43, 0x42, 0x69, 0x6e, 0x64, 0x6c, + 0x65, 0x73, 0x73, 0x41, 0x72, 0x72, 0x61, 0x79, 0x20, 0x61, 0x72, 0x72, 0x61, 0x79, 0x2c, 0x20, + 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x20, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x29, 0x20, 0x6e, + 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, + 0x5f, 0x61, 0x73, 0x73, 0x75, 0x6d, 0x65, 0x28, 0x5f, 0x5f, 0x69, 0x73, 0x47, 0x6c, 0x6f, 0x62, + 0x61, 0x6c, 0x28, 0x61, 0x72, 0x72, 0x61, 0x79, 0x2e, 0x73, 0x6c, 0x6f, 0x74, 0x73, 0x29, 0x29, + 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x62, 0x75, 0x66, 0x66, 0x65, + 0x72, 0x20, 0x3d, 0x20, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, + 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x63, 0x68, 0x61, 0x72, 0x20, 0x2a, 0x3e, 0x28, 0x61, 0x72, 0x72, 0x61, 0x79, 0x2e, 0x73, 0x6c, 0x6f, 0x74, 0x73, 0x5b, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5d, 0x2e, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x61, 0x73, 0x73, 0x75, 0x6d, 0x65, 0x28, 0x5f, 0x5f, 0x69, 0x73, 0x47, 0x6c, 0x6f, 0x62, - 0x61, 0x6c, 0x28, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x29, 0x29, 0x3b, 0x0a, 0x23, 0x69, 0x66, - 0x64, 0x65, 0x66, 0x20, 0x4c, 0x55, 0x49, 0x53, 0x41, 0x5f, 0x44, 0x45, 0x42, 0x55, 0x47, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x5f, 0x69, 0x6e, 0x5f, - 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x73, 0x28, 0x69, 0x2c, 0x20, 0x6c, 0x63, 0x5f, 0x62, 0x69, 0x6e, - 0x64, 0x6c, 0x65, 0x73, 0x73, 0x5f, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x73, 0x69, 0x7a, - 0x65, 0x3c, 0x54, 0x3e, 0x28, 0x61, 0x72, 0x72, 0x61, 0x79, 0x2c, 0x20, 0x69, 0x6e, 0x64, 0x65, - 0x78, 0x29, 0x29, 0x3b, 0x0a, 0x23, 0x65, 0x6e, 0x64, 0x69, 0x66, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x5b, 0x69, 0x5d, 0x20, 0x3d, 0x20, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x5b, 0x5b, 0x6e, 0x6f, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, - 0x64, 0x5d, 0x5d, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x64, 0x65, 0x76, - 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x6c, 0x63, 0x5f, 0x62, 0x69, - 0x6e, 0x64, 0x6c, 0x65, 0x73, 0x73, 0x5f, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x74, 0x79, - 0x70, 0x65, 0x28, 0x4c, 0x43, 0x42, 0x69, 0x6e, 0x64, 0x6c, 0x65, 0x73, 0x73, 0x41, 0x72, 0x72, - 0x61, 0x79, 0x20, 0x61, 0x72, 0x72, 0x61, 0x79, 0x2c, 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, - 0x74, 0x20, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, - 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x30, - 0x75, 0x6c, 0x6c, 0x3b, 0x2f, 0x2f, 0x20, 0x54, 0x4f, 0x44, 0x4f, 0x0a, 0x7d, 0x0a, 0x0a, 0x5b, - 0x5b, 0x6e, 0x6f, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x5d, 0x5d, 0x20, 0x69, 0x6e, 0x6c, - 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x61, - 0x75, 0x74, 0x6f, 0x20, 0x6c, 0x63, 0x5f, 0x62, 0x69, 0x6e, 0x64, 0x6c, 0x65, 0x73, 0x73, 0x5f, - 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x28, 0x4c, - 0x43, 0x42, 0x69, 0x6e, 0x64, 0x6c, 0x65, 0x73, 0x73, 0x41, 0x72, 0x72, 0x61, 0x79, 0x20, 0x61, - 0x72, 0x72, 0x61, 0x79, 0x2c, 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x20, 0x69, 0x6e, - 0x64, 0x65, 0x78, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x61, 0x73, 0x73, 0x75, 0x6d, 0x65, 0x28, 0x5f, 0x5f, - 0x69, 0x73, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x28, 0x61, 0x72, 0x72, 0x61, 0x79, 0x2e, 0x73, - 0x6c, 0x6f, 0x74, 0x73, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x75, 0x74, 0x6f, - 0x20, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x20, 0x3d, 0x20, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, - 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x63, 0x68, 0x61, 0x72, - 0x20, 0x2a, 0x3e, 0x28, 0x61, 0x72, 0x72, 0x61, 0x79, 0x2e, 0x73, 0x6c, 0x6f, 0x74, 0x73, 0x5b, - 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5d, 0x2e, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x29, 0x3b, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x61, 0x73, 0x73, 0x75, 0x6d, 0x65, 0x28, 0x5f, 0x5f, - 0x69, 0x73, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x28, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x29, - 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x72, 0x65, - 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x6c, - 0x63, 0x5f, 0x75, 0x6c, 0x6f, 0x6e, 0x67, 0x3e, 0x28, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x29, - 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x3c, 0x74, 0x79, - 0x70, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x54, 0x3e, 0x0a, 0x5b, 0x5b, 0x6e, 0x6f, 0x64, 0x69, - 0x73, 0x63, 0x61, 0x72, 0x64, 0x5d, 0x5d, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, - 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x54, 0x20, 0x6c, 0x63, 0x5f, 0x62, - 0x69, 0x6e, 0x64, 0x6c, 0x65, 0x73, 0x73, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x5f, 0x62, 0x75, 0x66, - 0x66, 0x65, 0x72, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x28, 0x4c, 0x43, 0x42, 0x69, 0x6e, 0x64, 0x6c, + 0x61, 0x6c, 0x28, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, + 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x6c, 0x63, 0x5f, 0x75, 0x6c, 0x6f, 0x6e, + 0x67, 0x3e, 0x28, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x29, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x74, + 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x3c, 0x74, 0x79, 0x70, 0x65, 0x6e, 0x61, 0x6d, 0x65, + 0x20, 0x54, 0x3e, 0x0a, 0x5b, 0x5b, 0x6e, 0x6f, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x5d, + 0x5d, 0x20, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x54, 0x20, 0x6c, + 0x63, 0x5f, 0x62, 0x69, 0x6e, 0x64, 0x6c, 0x65, 0x73, 0x73, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x5f, + 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x28, 0x4c, 0x43, 0x42, 0x69, + 0x6e, 0x64, 0x6c, 0x65, 0x73, 0x73, 0x41, 0x72, 0x72, 0x61, 0x79, 0x20, 0x61, 0x72, 0x72, 0x61, + 0x79, 0x2c, 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x20, 0x69, 0x6e, 0x64, 0x65, 0x78, + 0x2c, 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x6c, 0x6f, 0x6e, 0x67, 0x20, 0x6f, 0x66, 0x66, 0x73, 0x65, + 0x74, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x61, 0x73, 0x73, 0x75, 0x6d, 0x65, 0x28, 0x5f, 0x5f, 0x69, 0x73, + 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x28, 0x61, 0x72, 0x72, 0x61, 0x79, 0x2e, 0x73, 0x6c, 0x6f, + 0x74, 0x73, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x62, + 0x75, 0x66, 0x66, 0x65, 0x72, 0x20, 0x3d, 0x20, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x5f, 0x63, + 0x61, 0x73, 0x74, 0x3c, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x63, 0x68, 0x61, 0x72, 0x20, 0x2a, + 0x3e, 0x28, 0x61, 0x72, 0x72, 0x61, 0x79, 0x2e, 0x73, 0x6c, 0x6f, 0x74, 0x73, 0x5b, 0x69, 0x6e, + 0x64, 0x65, 0x78, 0x5d, 0x2e, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x29, 0x3b, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x61, 0x73, 0x73, 0x75, 0x6d, 0x65, 0x28, 0x5f, 0x5f, 0x69, 0x73, + 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x28, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x29, 0x29, 0x3b, + 0x0a, 0x23, 0x69, 0x66, 0x64, 0x65, 0x66, 0x20, 0x4c, 0x55, 0x49, 0x53, 0x41, 0x5f, 0x44, 0x45, + 0x42, 0x55, 0x47, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, + 0x5f, 0x69, 0x6e, 0x5f, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x73, 0x28, 0x6f, 0x66, 0x66, 0x73, 0x65, + 0x74, 0x20, 0x2b, 0x20, 0x73, 0x69, 0x7a, 0x65, 0x6f, 0x66, 0x28, 0x54, 0x29, 0x2c, 0x20, 0x6c, + 0x63, 0x5f, 0x62, 0x69, 0x6e, 0x64, 0x6c, 0x65, 0x73, 0x73, 0x5f, 0x62, 0x75, 0x66, 0x66, 0x65, + 0x72, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x3c, 0x63, 0x68, 0x61, 0x72, 0x3e, 0x28, 0x61, 0x72, 0x72, + 0x61, 0x79, 0x2c, 0x20, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x29, 0x20, 0x2b, 0x20, 0x31, 0x75, 0x29, + 0x3b, 0x0a, 0x23, 0x65, 0x6e, 0x64, 0x69, 0x66, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, + 0x75, 0x72, 0x6e, 0x20, 0x2a, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, + 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x54, 0x20, 0x2a, 0x3e, + 0x28, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x20, 0x2b, 0x20, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, + 0x29, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x3c, 0x74, + 0x79, 0x70, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x54, 0x3e, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, + 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x76, 0x6f, 0x69, 0x64, 0x20, 0x6c, 0x63, 0x5f, 0x62, 0x69, + 0x6e, 0x64, 0x6c, 0x65, 0x73, 0x73, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x5f, 0x62, 0x75, 0x66, 0x66, + 0x65, 0x72, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x28, 0x4c, 0x43, 0x42, 0x69, 0x6e, 0x64, 0x6c, 0x65, 0x73, 0x73, 0x41, 0x72, 0x72, 0x61, 0x79, 0x20, 0x61, 0x72, 0x72, 0x61, 0x79, 0x2c, 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x20, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x2c, 0x20, 0x6c, - 0x63, 0x5f, 0x75, 0x6c, 0x6f, 0x6e, 0x67, 0x20, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x29, 0x20, - 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, - 0x63, 0x5f, 0x61, 0x73, 0x73, 0x75, 0x6d, 0x65, 0x28, 0x5f, 0x5f, 0x69, 0x73, 0x47, 0x6c, 0x6f, - 0x62, 0x61, 0x6c, 0x28, 0x61, 0x72, 0x72, 0x61, 0x79, 0x2e, 0x73, 0x6c, 0x6f, 0x74, 0x73, 0x29, - 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x62, 0x75, 0x66, 0x66, - 0x65, 0x72, 0x20, 0x3d, 0x20, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x5f, 0x63, 0x61, 0x73, 0x74, - 0x3c, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x63, 0x68, 0x61, 0x72, 0x20, 0x2a, 0x3e, 0x28, 0x61, - 0x72, 0x72, 0x61, 0x79, 0x2e, 0x73, 0x6c, 0x6f, 0x74, 0x73, 0x5b, 0x69, 0x6e, 0x64, 0x65, 0x78, - 0x5d, 0x2e, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, - 0x63, 0x5f, 0x61, 0x73, 0x73, 0x75, 0x6d, 0x65, 0x28, 0x5f, 0x5f, 0x69, 0x73, 0x47, 0x6c, 0x6f, - 0x62, 0x61, 0x6c, 0x28, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x29, 0x29, 0x3b, 0x0a, 0x23, 0x69, - 0x66, 0x64, 0x65, 0x66, 0x20, 0x4c, 0x55, 0x49, 0x53, 0x41, 0x5f, 0x44, 0x45, 0x42, 0x55, 0x47, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x5f, 0x69, 0x6e, - 0x5f, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x73, 0x28, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x20, 0x2b, - 0x20, 0x73, 0x69, 0x7a, 0x65, 0x6f, 0x66, 0x28, 0x54, 0x29, 0x2c, 0x20, 0x6c, 0x63, 0x5f, 0x62, - 0x69, 0x6e, 0x64, 0x6c, 0x65, 0x73, 0x73, 0x5f, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x73, - 0x69, 0x7a, 0x65, 0x3c, 0x63, 0x68, 0x61, 0x72, 0x3e, 0x28, 0x61, 0x72, 0x72, 0x61, 0x79, 0x2c, - 0x20, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x29, 0x20, 0x2b, 0x20, 0x31, 0x75, 0x29, 0x3b, 0x0a, 0x23, - 0x65, 0x6e, 0x64, 0x69, 0x66, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, - 0x20, 0x2a, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, - 0x73, 0x74, 0x3c, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x54, 0x20, 0x2a, 0x3e, 0x28, 0x62, 0x75, - 0x66, 0x66, 0x65, 0x72, 0x20, 0x2b, 0x20, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x29, 0x3b, 0x0a, - 0x7d, 0x0a, 0x0a, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x3c, 0x74, 0x79, 0x70, 0x65, - 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x54, 0x3e, 0x0a, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, - 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x76, 0x6f, 0x69, 0x64, 0x20, 0x6c, - 0x63, 0x5f, 0x62, 0x69, 0x6e, 0x64, 0x6c, 0x65, 0x73, 0x73, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x5f, - 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x28, 0x4c, 0x43, 0x42, - 0x69, 0x6e, 0x64, 0x6c, 0x65, 0x73, 0x73, 0x41, 0x72, 0x72, 0x61, 0x79, 0x20, 0x61, 0x72, 0x72, - 0x61, 0x79, 0x2c, 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x20, 0x69, 0x6e, 0x64, 0x65, - 0x78, 0x2c, 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x6c, 0x6f, 0x6e, 0x67, 0x20, 0x6f, 0x66, 0x66, 0x73, - 0x65, 0x74, 0x2c, 0x20, 0x54, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x29, 0x20, 0x6e, 0x6f, 0x65, + 0x63, 0x5f, 0x75, 0x6c, 0x6f, 0x6e, 0x67, 0x20, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x2c, 0x20, + 0x54, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, + 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x61, 0x73, 0x73, 0x75, 0x6d, + 0x65, 0x28, 0x5f, 0x5f, 0x69, 0x73, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x28, 0x61, 0x72, 0x72, + 0x61, 0x79, 0x2e, 0x73, 0x6c, 0x6f, 0x74, 0x73, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x61, 0x75, 0x74, 0x6f, 0x20, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x20, 0x3d, 0x20, 0x73, 0x74, + 0x61, 0x74, 0x69, 0x63, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, + 0x63, 0x68, 0x61, 0x72, 0x20, 0x2a, 0x3e, 0x28, 0x61, 0x72, 0x72, 0x61, 0x79, 0x2e, 0x73, 0x6c, + 0x6f, 0x74, 0x73, 0x5b, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5d, 0x2e, 0x62, 0x75, 0x66, 0x66, 0x65, + 0x72, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x61, 0x73, 0x73, 0x75, 0x6d, + 0x65, 0x28, 0x5f, 0x5f, 0x69, 0x73, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x28, 0x62, 0x75, 0x66, + 0x66, 0x65, 0x72, 0x29, 0x29, 0x3b, 0x0a, 0x23, 0x69, 0x66, 0x64, 0x65, 0x66, 0x20, 0x4c, 0x55, + 0x49, 0x53, 0x41, 0x5f, 0x44, 0x45, 0x42, 0x55, 0x47, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, + 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x5f, 0x69, 0x6e, 0x5f, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x73, + 0x28, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x20, 0x2b, 0x20, 0x73, 0x69, 0x7a, 0x65, 0x6f, 0x66, + 0x28, 0x54, 0x29, 0x2c, 0x20, 0x6c, 0x63, 0x5f, 0x62, 0x69, 0x6e, 0x64, 0x6c, 0x65, 0x73, 0x73, + 0x5f, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x3c, 0x63, 0x68, 0x61, + 0x72, 0x3e, 0x28, 0x61, 0x72, 0x72, 0x61, 0x79, 0x2c, 0x20, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x29, + 0x20, 0x2b, 0x20, 0x31, 0x75, 0x29, 0x3b, 0x0a, 0x23, 0x65, 0x6e, 0x64, 0x69, 0x66, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x2a, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, + 0x63, 0x61, 0x73, 0x74, 0x3c, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x54, 0x20, 0x2a, 0x3e, 0x28, + 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x20, 0x2b, 0x20, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x29, + 0x20, 0x3d, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x5b, 0x5b, 0x6e, + 0x6f, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x5d, 0x5d, 0x20, 0x5f, 0x5f, 0x64, 0x65, 0x76, + 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x6c, 0x63, 0x5f, 0x62, 0x69, + 0x6e, 0x64, 0x6c, 0x65, 0x73, 0x73, 0x5f, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x73, + 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x32, 0x64, 0x28, 0x4c, 0x43, 0x42, 0x69, 0x6e, 0x64, 0x6c, 0x65, + 0x73, 0x73, 0x41, 0x72, 0x72, 0x61, 0x79, 0x20, 0x61, 0x72, 0x72, 0x61, 0x79, 0x2c, 0x20, 0x6c, + 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x20, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x2c, 0x20, 0x6c, 0x63, + 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x32, 0x20, 0x70, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, + 0x65, 0x70, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x61, 0x73, 0x73, + 0x75, 0x6d, 0x65, 0x28, 0x5f, 0x5f, 0x69, 0x73, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x28, 0x61, + 0x72, 0x72, 0x61, 0x79, 0x2e, 0x73, 0x6c, 0x6f, 0x74, 0x73, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x74, 0x20, 0x3d, 0x20, 0x61, 0x72, 0x72, 0x61, 0x79, + 0x2e, 0x73, 0x6c, 0x6f, 0x74, 0x73, 0x5b, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5d, 0x2e, 0x74, 0x65, + 0x78, 0x32, 0x64, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x76, 0x20, + 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x6d, 0x61, 0x6b, 0x65, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x34, + 0x28, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x74, 0x65, 0x78, + 0x2e, 0x32, 0x64, 0x2e, 0x76, 0x34, 0x2e, 0x66, 0x33, 0x32, 0x2e, 0x66, 0x33, 0x32, 0x20, 0x7b, + 0x25, 0x30, 0x2c, 0x20, 0x25, 0x31, 0x2c, 0x20, 0x25, 0x32, 0x2c, 0x20, 0x25, 0x33, 0x7d, 0x2c, + 0x20, 0x5b, 0x25, 0x34, 0x2c, 0x20, 0x7b, 0x25, 0x35, 0x2c, 0x20, 0x25, 0x36, 0x7d, 0x5d, 0x3b, + 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x66, 0x22, + 0x28, 0x76, 0x2e, 0x78, 0x29, 0x2c, 0x20, 0x22, 0x3d, 0x66, 0x22, 0x28, 0x76, 0x2e, 0x79, 0x29, + 0x2c, 0x20, 0x22, 0x3d, 0x66, 0x22, 0x28, 0x76, 0x2e, 0x7a, 0x29, 0x2c, 0x20, 0x22, 0x3d, 0x66, + 0x22, 0x28, 0x76, 0x2e, 0x77, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, + 0x20, 0x22, 0x6c, 0x22, 0x28, 0x74, 0x29, 0x2c, 0x20, 0x22, 0x66, 0x22, 0x28, 0x70, 0x2e, 0x78, + 0x29, 0x2c, 0x20, 0x22, 0x66, 0x22, 0x28, 0x70, 0x2e, 0x79, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x76, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x5b, + 0x5b, 0x6e, 0x6f, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x5d, 0x5d, 0x20, 0x5f, 0x5f, 0x64, + 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x6c, 0x63, 0x5f, + 0x62, 0x69, 0x6e, 0x64, 0x6c, 0x65, 0x73, 0x73, 0x5f, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, + 0x5f, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x33, 0x64, 0x28, 0x4c, 0x43, 0x42, 0x69, 0x6e, 0x64, + 0x6c, 0x65, 0x73, 0x73, 0x41, 0x72, 0x72, 0x61, 0x79, 0x20, 0x61, 0x72, 0x72, 0x61, 0x79, 0x2c, + 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x20, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x2c, 0x20, + 0x6c, 0x63, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x33, 0x20, 0x70, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x61, 0x73, 0x73, 0x75, 0x6d, 0x65, 0x28, 0x5f, 0x5f, 0x69, 0x73, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x28, 0x61, 0x72, 0x72, 0x61, 0x79, 0x2e, 0x73, 0x6c, 0x6f, 0x74, 0x73, 0x29, 0x29, 0x3b, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x20, - 0x3d, 0x20, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x63, 0x6f, - 0x6e, 0x73, 0x74, 0x20, 0x63, 0x68, 0x61, 0x72, 0x20, 0x2a, 0x3e, 0x28, 0x61, 0x72, 0x72, 0x61, - 0x79, 0x2e, 0x73, 0x6c, 0x6f, 0x74, 0x73, 0x5b, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5d, 0x2e, 0x62, - 0x75, 0x66, 0x66, 0x65, 0x72, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x61, - 0x73, 0x73, 0x75, 0x6d, 0x65, 0x28, 0x5f, 0x5f, 0x69, 0x73, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, - 0x28, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x29, 0x29, 0x3b, 0x0a, 0x23, 0x69, 0x66, 0x64, 0x65, - 0x66, 0x20, 0x4c, 0x55, 0x49, 0x53, 0x41, 0x5f, 0x44, 0x45, 0x42, 0x55, 0x47, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x5f, 0x69, 0x6e, 0x5f, 0x62, 0x6f, - 0x75, 0x6e, 0x64, 0x73, 0x28, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x20, 0x2b, 0x20, 0x73, 0x69, - 0x7a, 0x65, 0x6f, 0x66, 0x28, 0x54, 0x29, 0x2c, 0x20, 0x6c, 0x63, 0x5f, 0x62, 0x69, 0x6e, 0x64, - 0x6c, 0x65, 0x73, 0x73, 0x5f, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x73, 0x69, 0x7a, 0x65, - 0x3c, 0x63, 0x68, 0x61, 0x72, 0x3e, 0x28, 0x61, 0x72, 0x72, 0x61, 0x79, 0x2c, 0x20, 0x69, 0x6e, - 0x64, 0x65, 0x78, 0x29, 0x20, 0x2b, 0x20, 0x31, 0x75, 0x29, 0x3b, 0x0a, 0x23, 0x65, 0x6e, 0x64, - 0x69, 0x66, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x2a, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, - 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x54, - 0x20, 0x2a, 0x3e, 0x28, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x20, 0x2b, 0x20, 0x6f, 0x66, 0x66, - 0x73, 0x65, 0x74, 0x29, 0x20, 0x3d, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3b, 0x0a, 0x7d, 0x0a, - 0x0a, 0x5b, 0x5b, 0x6e, 0x6f, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x5d, 0x5d, 0x20, 0x69, - 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, - 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x6c, 0x63, 0x5f, 0x62, 0x69, 0x6e, 0x64, 0x6c, 0x65, 0x73, - 0x73, 0x5f, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, - 0x32, 0x64, 0x28, 0x4c, 0x43, 0x42, 0x69, 0x6e, 0x64, 0x6c, 0x65, 0x73, 0x73, 0x41, 0x72, 0x72, - 0x61, 0x79, 0x20, 0x61, 0x72, 0x72, 0x61, 0x79, 0x2c, 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, - 0x74, 0x20, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x2c, 0x20, 0x6c, 0x63, 0x5f, 0x66, 0x6c, 0x6f, 0x61, - 0x74, 0x32, 0x20, 0x70, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x61, 0x73, 0x73, 0x75, 0x6d, 0x65, 0x28, 0x5f, - 0x5f, 0x69, 0x73, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x28, 0x61, 0x72, 0x72, 0x61, 0x79, 0x2e, - 0x73, 0x6c, 0x6f, 0x74, 0x73, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x75, 0x74, - 0x6f, 0x20, 0x74, 0x20, 0x3d, 0x20, 0x61, 0x72, 0x72, 0x61, 0x79, 0x2e, 0x73, 0x6c, 0x6f, 0x74, - 0x73, 0x5b, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5d, 0x2e, 0x74, 0x65, 0x78, 0x32, 0x64, 0x3b, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x76, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, - 0x6d, 0x61, 0x6b, 0x65, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x34, 0x28, 0x29, 0x3b, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x74, 0x65, 0x78, 0x2e, 0x32, 0x64, 0x2e, 0x76, - 0x34, 0x2e, 0x66, 0x33, 0x32, 0x2e, 0x66, 0x33, 0x32, 0x20, 0x7b, 0x25, 0x30, 0x2c, 0x20, 0x25, - 0x31, 0x2c, 0x20, 0x25, 0x32, 0x2c, 0x20, 0x25, 0x33, 0x7d, 0x2c, 0x20, 0x5b, 0x25, 0x34, 0x2c, - 0x20, 0x7b, 0x25, 0x35, 0x2c, 0x20, 0x25, 0x36, 0x7d, 0x5d, 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x66, 0x22, 0x28, 0x76, 0x2e, 0x78, 0x29, - 0x2c, 0x20, 0x22, 0x3d, 0x66, 0x22, 0x28, 0x76, 0x2e, 0x79, 0x29, 0x2c, 0x20, 0x22, 0x3d, 0x66, - 0x22, 0x28, 0x76, 0x2e, 0x7a, 0x29, 0x2c, 0x20, 0x22, 0x3d, 0x66, 0x22, 0x28, 0x76, 0x2e, 0x77, - 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x6c, 0x22, 0x28, - 0x74, 0x29, 0x2c, 0x20, 0x22, 0x66, 0x22, 0x28, 0x70, 0x2e, 0x78, 0x29, 0x2c, 0x20, 0x22, 0x66, - 0x22, 0x28, 0x70, 0x2e, 0x79, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, - 0x75, 0x72, 0x6e, 0x20, 0x76, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x5b, 0x5b, 0x6e, 0x6f, 0x64, 0x69, - 0x73, 0x63, 0x61, 0x72, 0x64, 0x5d, 0x5d, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, - 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x6c, - 0x63, 0x5f, 0x62, 0x69, 0x6e, 0x64, 0x6c, 0x65, 0x73, 0x73, 0x5f, 0x74, 0x65, 0x78, 0x74, 0x75, - 0x72, 0x65, 0x5f, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x33, 0x64, 0x28, 0x4c, 0x43, 0x42, 0x69, - 0x6e, 0x64, 0x6c, 0x65, 0x73, 0x73, 0x41, 0x72, 0x72, 0x61, 0x79, 0x20, 0x61, 0x72, 0x72, 0x61, - 0x79, 0x2c, 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x20, 0x69, 0x6e, 0x64, 0x65, 0x78, - 0x2c, 0x20, 0x6c, 0x63, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x33, 0x20, 0x70, 0x29, 0x20, 0x6e, - 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, - 0x5f, 0x61, 0x73, 0x73, 0x75, 0x6d, 0x65, 0x28, 0x5f, 0x5f, 0x69, 0x73, 0x47, 0x6c, 0x6f, 0x62, - 0x61, 0x6c, 0x28, 0x61, 0x72, 0x72, 0x61, 0x79, 0x2e, 0x73, 0x6c, 0x6f, 0x74, 0x73, 0x29, 0x29, - 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x74, 0x20, 0x3d, 0x20, 0x61, - 0x72, 0x72, 0x61, 0x79, 0x2e, 0x73, 0x6c, 0x6f, 0x74, 0x73, 0x5b, 0x69, 0x6e, 0x64, 0x65, 0x78, - 0x5d, 0x2e, 0x74, 0x65, 0x78, 0x33, 0x64, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x75, 0x74, - 0x6f, 0x20, 0x76, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x6d, 0x61, 0x6b, 0x65, 0x5f, 0x66, 0x6c, - 0x6f, 0x61, 0x74, 0x34, 0x28, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x28, - 0x22, 0x74, 0x65, 0x78, 0x2e, 0x33, 0x64, 0x2e, 0x76, 0x34, 0x2e, 0x66, 0x33, 0x32, 0x2e, 0x66, - 0x33, 0x32, 0x20, 0x7b, 0x25, 0x30, 0x2c, 0x20, 0x25, 0x31, 0x2c, 0x20, 0x25, 0x32, 0x2c, 0x20, - 0x25, 0x33, 0x7d, 0x2c, 0x20, 0x5b, 0x25, 0x34, 0x2c, 0x20, 0x7b, 0x25, 0x35, 0x2c, 0x20, 0x25, - 0x36, 0x2c, 0x20, 0x25, 0x37, 0x2c, 0x20, 0x25, 0x38, 0x7d, 0x5d, 0x3b, 0x22, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x66, 0x22, 0x28, 0x76, 0x2e, 0x78, - 0x29, 0x2c, 0x20, 0x22, 0x3d, 0x66, 0x22, 0x28, 0x76, 0x2e, 0x79, 0x29, 0x2c, 0x20, 0x22, 0x3d, - 0x66, 0x22, 0x28, 0x76, 0x2e, 0x7a, 0x29, 0x2c, 0x20, 0x22, 0x3d, 0x66, 0x22, 0x28, 0x76, 0x2e, - 0x77, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x6c, 0x22, - 0x28, 0x74, 0x29, 0x2c, 0x20, 0x22, 0x66, 0x22, 0x28, 0x70, 0x2e, 0x78, 0x29, 0x2c, 0x20, 0x22, - 0x66, 0x22, 0x28, 0x70, 0x2e, 0x79, 0x29, 0x2c, 0x20, 0x22, 0x66, 0x22, 0x28, 0x70, 0x2e, 0x7a, - 0x29, 0x2c, 0x20, 0x22, 0x66, 0x22, 0x28, 0x30, 0x2e, 0x66, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x76, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x5b, - 0x5b, 0x6e, 0x6f, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x5d, 0x5d, 0x20, 0x69, 0x6e, 0x6c, - 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x61, - 0x75, 0x74, 0x6f, 0x20, 0x6c, 0x63, 0x5f, 0x62, 0x69, 0x6e, 0x64, 0x6c, 0x65, 0x73, 0x73, 0x5f, - 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x32, 0x64, - 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x28, 0x4c, 0x43, 0x42, 0x69, 0x6e, 0x64, 0x6c, 0x65, 0x73, - 0x73, 0x41, 0x72, 0x72, 0x61, 0x79, 0x20, 0x61, 0x72, 0x72, 0x61, 0x79, 0x2c, 0x20, 0x6c, 0x63, - 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x20, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x2c, 0x20, 0x6c, 0x63, 0x5f, - 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x32, 0x20, 0x70, 0x2c, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, - 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, - 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x61, 0x73, 0x73, 0x75, 0x6d, 0x65, 0x28, - 0x5f, 0x5f, 0x69, 0x73, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x28, 0x61, 0x72, 0x72, 0x61, 0x79, - 0x2e, 0x73, 0x6c, 0x6f, 0x74, 0x73, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x75, - 0x74, 0x6f, 0x20, 0x74, 0x20, 0x3d, 0x20, 0x61, 0x72, 0x72, 0x61, 0x79, 0x2e, 0x73, 0x6c, 0x6f, - 0x74, 0x73, 0x5b, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5d, 0x2e, 0x74, 0x65, 0x78, 0x32, 0x64, 0x3b, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x76, 0x20, 0x3d, 0x20, 0x6c, 0x63, - 0x5f, 0x6d, 0x61, 0x6b, 0x65, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x34, 0x28, 0x29, 0x3b, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x74, 0x65, 0x78, 0x2e, 0x6c, 0x65, 0x76, - 0x65, 0x6c, 0x2e, 0x32, 0x64, 0x2e, 0x76, 0x34, 0x2e, 0x66, 0x33, 0x32, 0x2e, 0x66, 0x33, 0x32, + 0x20, 0x20, 0x20, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x74, 0x20, 0x3d, 0x20, 0x61, 0x72, 0x72, + 0x61, 0x79, 0x2e, 0x73, 0x6c, 0x6f, 0x74, 0x73, 0x5b, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5d, 0x2e, + 0x74, 0x65, 0x78, 0x33, 0x64, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, + 0x76, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x6d, 0x61, 0x6b, 0x65, 0x5f, 0x66, 0x6c, 0x6f, 0x61, + 0x74, 0x34, 0x28, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x74, + 0x65, 0x78, 0x2e, 0x33, 0x64, 0x2e, 0x76, 0x34, 0x2e, 0x66, 0x33, 0x32, 0x2e, 0x66, 0x33, 0x32, 0x20, 0x7b, 0x25, 0x30, 0x2c, 0x20, 0x25, 0x31, 0x2c, 0x20, 0x25, 0x32, 0x2c, 0x20, 0x25, 0x33, - 0x7d, 0x2c, 0x20, 0x5b, 0x25, 0x34, 0x2c, 0x20, 0x7b, 0x25, 0x35, 0x2c, 0x20, 0x25, 0x36, 0x7d, - 0x5d, 0x2c, 0x20, 0x25, 0x37, 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x3a, 0x20, 0x22, 0x3d, 0x66, 0x22, 0x28, 0x76, 0x2e, 0x78, 0x29, 0x2c, 0x20, 0x22, 0x3d, 0x66, - 0x22, 0x28, 0x76, 0x2e, 0x79, 0x29, 0x2c, 0x20, 0x22, 0x3d, 0x66, 0x22, 0x28, 0x76, 0x2e, 0x7a, - 0x29, 0x2c, 0x20, 0x22, 0x3d, 0x66, 0x22, 0x28, 0x76, 0x2e, 0x77, 0x29, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x6c, 0x22, 0x28, 0x74, 0x29, 0x2c, 0x20, 0x22, - 0x66, 0x22, 0x28, 0x70, 0x2e, 0x78, 0x29, 0x2c, 0x20, 0x22, 0x66, 0x22, 0x28, 0x70, 0x2e, 0x79, - 0x29, 0x2c, 0x20, 0x22, 0x66, 0x22, 0x28, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x29, 0x29, 0x3b, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x76, 0x3b, 0x0a, 0x7d, 0x0a, - 0x0a, 0x5b, 0x5b, 0x6e, 0x6f, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x5d, 0x5d, 0x20, 0x69, - 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, + 0x7d, 0x2c, 0x20, 0x5b, 0x25, 0x34, 0x2c, 0x20, 0x7b, 0x25, 0x35, 0x2c, 0x20, 0x25, 0x36, 0x2c, + 0x20, 0x25, 0x37, 0x2c, 0x20, 0x25, 0x38, 0x7d, 0x5d, 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x66, 0x22, 0x28, 0x76, 0x2e, 0x78, 0x29, 0x2c, + 0x20, 0x22, 0x3d, 0x66, 0x22, 0x28, 0x76, 0x2e, 0x79, 0x29, 0x2c, 0x20, 0x22, 0x3d, 0x66, 0x22, + 0x28, 0x76, 0x2e, 0x7a, 0x29, 0x2c, 0x20, 0x22, 0x3d, 0x66, 0x22, 0x28, 0x76, 0x2e, 0x77, 0x29, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x6c, 0x22, 0x28, 0x74, + 0x29, 0x2c, 0x20, 0x22, 0x66, 0x22, 0x28, 0x70, 0x2e, 0x78, 0x29, 0x2c, 0x20, 0x22, 0x66, 0x22, + 0x28, 0x70, 0x2e, 0x79, 0x29, 0x2c, 0x20, 0x22, 0x66, 0x22, 0x28, 0x70, 0x2e, 0x7a, 0x29, 0x2c, + 0x20, 0x22, 0x66, 0x22, 0x28, 0x30, 0x2e, 0x66, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x76, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x5b, 0x5b, 0x6e, + 0x6f, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x5d, 0x5d, 0x20, 0x5f, 0x5f, 0x64, 0x65, 0x76, + 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x6c, 0x63, 0x5f, 0x62, 0x69, + 0x6e, 0x64, 0x6c, 0x65, 0x73, 0x73, 0x5f, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x73, + 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x32, 0x64, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x28, 0x4c, 0x43, + 0x42, 0x69, 0x6e, 0x64, 0x6c, 0x65, 0x73, 0x73, 0x41, 0x72, 0x72, 0x61, 0x79, 0x20, 0x61, 0x72, + 0x72, 0x61, 0x79, 0x2c, 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x20, 0x69, 0x6e, 0x64, + 0x65, 0x78, 0x2c, 0x20, 0x6c, 0x63, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x32, 0x20, 0x70, 0x2c, + 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x29, 0x20, 0x6e, 0x6f, + 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, + 0x61, 0x73, 0x73, 0x75, 0x6d, 0x65, 0x28, 0x5f, 0x5f, 0x69, 0x73, 0x47, 0x6c, 0x6f, 0x62, 0x61, + 0x6c, 0x28, 0x61, 0x72, 0x72, 0x61, 0x79, 0x2e, 0x73, 0x6c, 0x6f, 0x74, 0x73, 0x29, 0x29, 0x3b, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x74, 0x20, 0x3d, 0x20, 0x61, 0x72, + 0x72, 0x61, 0x79, 0x2e, 0x73, 0x6c, 0x6f, 0x74, 0x73, 0x5b, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5d, + 0x2e, 0x74, 0x65, 0x78, 0x32, 0x64, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x75, 0x74, 0x6f, + 0x20, 0x76, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x6d, 0x61, 0x6b, 0x65, 0x5f, 0x66, 0x6c, 0x6f, + 0x61, 0x74, 0x34, 0x28, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, + 0x74, 0x65, 0x78, 0x2e, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x2e, 0x32, 0x64, 0x2e, 0x76, 0x34, 0x2e, + 0x66, 0x33, 0x32, 0x2e, 0x66, 0x33, 0x32, 0x20, 0x7b, 0x25, 0x30, 0x2c, 0x20, 0x25, 0x31, 0x2c, + 0x20, 0x25, 0x32, 0x2c, 0x20, 0x25, 0x33, 0x7d, 0x2c, 0x20, 0x5b, 0x25, 0x34, 0x2c, 0x20, 0x7b, + 0x25, 0x35, 0x2c, 0x20, 0x25, 0x36, 0x7d, 0x5d, 0x2c, 0x20, 0x25, 0x37, 0x3b, 0x22, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x66, 0x22, 0x28, 0x76, 0x2e, + 0x78, 0x29, 0x2c, 0x20, 0x22, 0x3d, 0x66, 0x22, 0x28, 0x76, 0x2e, 0x79, 0x29, 0x2c, 0x20, 0x22, + 0x3d, 0x66, 0x22, 0x28, 0x76, 0x2e, 0x7a, 0x29, 0x2c, 0x20, 0x22, 0x3d, 0x66, 0x22, 0x28, 0x76, + 0x2e, 0x77, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x6c, + 0x22, 0x28, 0x74, 0x29, 0x2c, 0x20, 0x22, 0x66, 0x22, 0x28, 0x70, 0x2e, 0x78, 0x29, 0x2c, 0x20, + 0x22, 0x66, 0x22, 0x28, 0x70, 0x2e, 0x79, 0x29, 0x2c, 0x20, 0x22, 0x66, 0x22, 0x28, 0x6c, 0x65, + 0x76, 0x65, 0x6c, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, + 0x6e, 0x20, 0x76, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x5b, 0x5b, 0x6e, 0x6f, 0x64, 0x69, 0x73, 0x63, + 0x61, 0x72, 0x64, 0x5d, 0x5d, 0x20, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x6c, 0x63, 0x5f, 0x62, 0x69, 0x6e, 0x64, 0x6c, 0x65, 0x73, 0x73, 0x5f, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x33, 0x64, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x28, 0x4c, 0x43, 0x42, 0x69, 0x6e, 0x64, 0x6c, @@ -40111,134 +39878,149 @@ extern "C" const char luisa_cuda_builtin_cuda_device_resource[119200] = { 0x20, 0x22, 0x66, 0x22, 0x28, 0x30, 0x2e, 0x66, 0x29, 0x2c, 0x20, 0x22, 0x66, 0x22, 0x28, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x76, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x5b, 0x5b, 0x6e, 0x6f, 0x64, 0x69, 0x73, - 0x63, 0x61, 0x72, 0x64, 0x5d, 0x5d, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, - 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x6c, 0x63, - 0x5f, 0x62, 0x69, 0x6e, 0x64, 0x6c, 0x65, 0x73, 0x73, 0x5f, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, - 0x65, 0x5f, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x32, 0x64, 0x5f, 0x67, 0x72, 0x61, 0x64, 0x28, - 0x4c, 0x43, 0x42, 0x69, 0x6e, 0x64, 0x6c, 0x65, 0x73, 0x73, 0x41, 0x72, 0x72, 0x61, 0x79, 0x20, - 0x61, 0x72, 0x72, 0x61, 0x79, 0x2c, 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x20, 0x69, - 0x6e, 0x64, 0x65, 0x78, 0x2c, 0x20, 0x6c, 0x63, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x32, 0x20, - 0x70, 0x2c, 0x20, 0x6c, 0x63, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x32, 0x20, 0x64, 0x78, 0x2c, - 0x20, 0x6c, 0x63, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x32, 0x20, 0x64, 0x79, 0x29, 0x20, 0x6e, - 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, - 0x5f, 0x61, 0x73, 0x73, 0x75, 0x6d, 0x65, 0x28, 0x5f, 0x5f, 0x69, 0x73, 0x47, 0x6c, 0x6f, 0x62, - 0x61, 0x6c, 0x28, 0x61, 0x72, 0x72, 0x61, 0x79, 0x2e, 0x73, 0x6c, 0x6f, 0x74, 0x73, 0x29, 0x29, - 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x74, 0x20, 0x3d, 0x20, 0x61, - 0x72, 0x72, 0x61, 0x79, 0x2e, 0x73, 0x6c, 0x6f, 0x74, 0x73, 0x5b, 0x69, 0x6e, 0x64, 0x65, 0x78, - 0x5d, 0x2e, 0x74, 0x65, 0x78, 0x32, 0x64, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x75, 0x74, - 0x6f, 0x20, 0x76, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x6d, 0x61, 0x6b, 0x65, 0x5f, 0x66, 0x6c, - 0x6f, 0x61, 0x74, 0x34, 0x28, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x28, - 0x22, 0x74, 0x65, 0x78, 0x2e, 0x67, 0x72, 0x61, 0x64, 0x2e, 0x32, 0x64, 0x2e, 0x76, 0x34, 0x2e, - 0x66, 0x33, 0x32, 0x2e, 0x66, 0x33, 0x32, 0x20, 0x7b, 0x25, 0x30, 0x2c, 0x20, 0x25, 0x31, 0x2c, - 0x20, 0x25, 0x32, 0x2c, 0x20, 0x25, 0x33, 0x7d, 0x2c, 0x20, 0x5b, 0x25, 0x34, 0x2c, 0x20, 0x7b, - 0x25, 0x35, 0x2c, 0x20, 0x25, 0x36, 0x7d, 0x5d, 0x2c, 0x20, 0x7b, 0x25, 0x37, 0x2c, 0x20, 0x25, - 0x38, 0x7d, 0x2c, 0x20, 0x7b, 0x25, 0x39, 0x2c, 0x20, 0x25, 0x31, 0x30, 0x7d, 0x3b, 0x22, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x66, 0x22, 0x28, 0x76, - 0x2e, 0x78, 0x29, 0x2c, 0x20, 0x22, 0x3d, 0x66, 0x22, 0x28, 0x76, 0x2e, 0x79, 0x29, 0x2c, 0x20, - 0x22, 0x3d, 0x66, 0x22, 0x28, 0x76, 0x2e, 0x7a, 0x29, 0x2c, 0x20, 0x22, 0x3d, 0x66, 0x22, 0x28, - 0x76, 0x2e, 0x77, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, - 0x6c, 0x22, 0x28, 0x74, 0x29, 0x2c, 0x20, 0x22, 0x66, 0x22, 0x28, 0x70, 0x2e, 0x78, 0x29, 0x2c, - 0x20, 0x22, 0x66, 0x22, 0x28, 0x70, 0x2e, 0x79, 0x29, 0x2c, 0x20, 0x22, 0x66, 0x22, 0x28, 0x64, - 0x78, 0x2e, 0x78, 0x29, 0x2c, 0x20, 0x22, 0x66, 0x22, 0x28, 0x64, 0x78, 0x2e, 0x79, 0x29, 0x2c, - 0x20, 0x22, 0x66, 0x22, 0x28, 0x64, 0x79, 0x2e, 0x78, 0x29, 0x2c, 0x20, 0x22, 0x66, 0x22, 0x28, - 0x64, 0x79, 0x2e, 0x79, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, - 0x72, 0x6e, 0x20, 0x76, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x5b, 0x5b, 0x6e, 0x6f, 0x64, 0x69, 0x73, - 0x63, 0x61, 0x72, 0x64, 0x5d, 0x5d, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, - 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x6c, 0x63, - 0x5f, 0x62, 0x69, 0x6e, 0x64, 0x6c, 0x65, 0x73, 0x73, 0x5f, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, - 0x65, 0x5f, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x33, 0x64, 0x5f, 0x67, 0x72, 0x61, 0x64, 0x28, - 0x4c, 0x43, 0x42, 0x69, 0x6e, 0x64, 0x6c, 0x65, 0x73, 0x73, 0x41, 0x72, 0x72, 0x61, 0x79, 0x20, - 0x61, 0x72, 0x72, 0x61, 0x79, 0x2c, 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x20, 0x69, - 0x6e, 0x64, 0x65, 0x78, 0x2c, 0x20, 0x6c, 0x63, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x33, 0x20, - 0x70, 0x2c, 0x20, 0x6c, 0x63, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x33, 0x20, 0x64, 0x78, 0x2c, - 0x20, 0x6c, 0x63, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x33, 0x20, 0x64, 0x79, 0x29, 0x20, 0x6e, - 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, - 0x5f, 0x61, 0x73, 0x73, 0x75, 0x6d, 0x65, 0x28, 0x5f, 0x5f, 0x69, 0x73, 0x47, 0x6c, 0x6f, 0x62, - 0x61, 0x6c, 0x28, 0x61, 0x72, 0x72, 0x61, 0x79, 0x2e, 0x73, 0x6c, 0x6f, 0x74, 0x73, 0x29, 0x29, - 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x74, 0x20, 0x3d, 0x20, 0x61, - 0x72, 0x72, 0x61, 0x79, 0x2e, 0x73, 0x6c, 0x6f, 0x74, 0x73, 0x5b, 0x69, 0x6e, 0x64, 0x65, 0x78, - 0x5d, 0x2e, 0x74, 0x65, 0x78, 0x33, 0x64, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x75, 0x74, - 0x6f, 0x20, 0x76, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x6d, 0x61, 0x6b, 0x65, 0x5f, 0x66, 0x6c, - 0x6f, 0x61, 0x74, 0x34, 0x28, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x28, - 0x22, 0x74, 0x65, 0x78, 0x2e, 0x67, 0x72, 0x61, 0x64, 0x2e, 0x33, 0x64, 0x2e, 0x76, 0x34, 0x2e, - 0x66, 0x33, 0x32, 0x2e, 0x66, 0x33, 0x32, 0x20, 0x7b, 0x25, 0x30, 0x2c, 0x20, 0x25, 0x31, 0x2c, - 0x20, 0x25, 0x32, 0x2c, 0x20, 0x25, 0x33, 0x7d, 0x2c, 0x20, 0x5b, 0x25, 0x34, 0x2c, 0x20, 0x7b, - 0x25, 0x35, 0x2c, 0x20, 0x25, 0x36, 0x2c, 0x20, 0x25, 0x37, 0x2c, 0x20, 0x25, 0x38, 0x7d, 0x5d, - 0x2c, 0x20, 0x7b, 0x25, 0x39, 0x2c, 0x20, 0x25, 0x31, 0x30, 0x2c, 0x20, 0x25, 0x31, 0x31, 0x2c, - 0x20, 0x25, 0x31, 0x32, 0x7d, 0x2c, 0x20, 0x7b, 0x25, 0x31, 0x33, 0x2c, 0x20, 0x25, 0x31, 0x34, - 0x2c, 0x20, 0x25, 0x31, 0x35, 0x2c, 0x20, 0x31, 0x36, 0x7d, 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x66, 0x22, 0x28, 0x76, 0x2e, 0x78, 0x29, - 0x2c, 0x20, 0x22, 0x3d, 0x66, 0x22, 0x28, 0x76, 0x2e, 0x79, 0x29, 0x2c, 0x20, 0x22, 0x3d, 0x66, - 0x22, 0x28, 0x76, 0x2e, 0x7a, 0x29, 0x2c, 0x20, 0x22, 0x3d, 0x66, 0x22, 0x28, 0x76, 0x2e, 0x77, - 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x6c, 0x22, 0x28, - 0x74, 0x29, 0x2c, 0x20, 0x22, 0x66, 0x22, 0x28, 0x70, 0x2e, 0x78, 0x29, 0x2c, 0x20, 0x22, 0x66, - 0x22, 0x28, 0x70, 0x2e, 0x79, 0x29, 0x2c, 0x20, 0x22, 0x66, 0x22, 0x28, 0x70, 0x2e, 0x7a, 0x29, - 0x2c, 0x20, 0x22, 0x66, 0x22, 0x28, 0x30, 0x2e, 0x66, 0x29, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x66, 0x22, 0x28, 0x64, 0x78, 0x2e, 0x78, 0x29, 0x2c, - 0x20, 0x22, 0x66, 0x22, 0x28, 0x64, 0x78, 0x2e, 0x79, 0x29, 0x2c, 0x20, 0x22, 0x66, 0x22, 0x28, - 0x64, 0x78, 0x2e, 0x7a, 0x29, 0x2c, 0x20, 0x22, 0x66, 0x22, 0x28, 0x30, 0x2e, 0x66, 0x29, 0x2c, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x66, 0x22, 0x28, 0x64, - 0x79, 0x2e, 0x78, 0x29, 0x2c, 0x20, 0x22, 0x66, 0x22, 0x28, 0x64, 0x79, 0x2e, 0x79, 0x29, 0x2c, - 0x20, 0x22, 0x66, 0x22, 0x28, 0x64, 0x79, 0x2e, 0x7a, 0x29, 0x2c, 0x20, 0x22, 0x66, 0x22, 0x28, - 0x30, 0x2e, 0x66, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, - 0x6e, 0x20, 0x76, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x5b, 0x5b, 0x6e, 0x6f, 0x64, 0x69, 0x73, 0x63, - 0x61, 0x72, 0x64, 0x5d, 0x5d, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x64, - 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x6c, 0x63, 0x5f, - 0x62, 0x69, 0x6e, 0x64, 0x6c, 0x65, 0x73, 0x73, 0x5f, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, - 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x32, 0x64, 0x28, 0x4c, 0x43, 0x42, 0x69, 0x6e, 0x64, 0x6c, 0x65, - 0x73, 0x73, 0x41, 0x72, 0x72, 0x61, 0x79, 0x20, 0x61, 0x72, 0x72, 0x61, 0x79, 0x2c, 0x20, 0x6c, - 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x20, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x29, 0x20, 0x6e, 0x6f, - 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, - 0x61, 0x73, 0x73, 0x75, 0x6d, 0x65, 0x28, 0x5f, 0x5f, 0x69, 0x73, 0x47, 0x6c, 0x6f, 0x62, 0x61, - 0x6c, 0x28, 0x61, 0x72, 0x72, 0x61, 0x79, 0x2e, 0x73, 0x6c, 0x6f, 0x74, 0x73, 0x29, 0x29, 0x3b, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x74, 0x20, 0x3d, 0x20, 0x61, 0x72, - 0x72, 0x61, 0x79, 0x2e, 0x73, 0x6c, 0x6f, 0x74, 0x73, 0x5b, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5d, - 0x2e, 0x74, 0x65, 0x78, 0x32, 0x64, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x75, 0x74, 0x6f, - 0x20, 0x73, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x6d, 0x61, 0x6b, 0x65, 0x5f, 0x75, 0x69, 0x6e, - 0x74, 0x32, 0x28, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x74, - 0x78, 0x71, 0x2e, 0x77, 0x69, 0x64, 0x74, 0x68, 0x2e, 0x62, 0x33, 0x32, 0x20, 0x25, 0x30, 0x2c, - 0x20, 0x5b, 0x25, 0x31, 0x5d, 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x3a, 0x20, 0x22, 0x3d, 0x72, 0x22, 0x28, 0x73, 0x2e, 0x78, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x6c, 0x22, 0x28, 0x74, 0x29, 0x29, 0x3b, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x74, 0x78, 0x71, 0x2e, 0x68, 0x65, 0x69, 0x67, - 0x68, 0x74, 0x2e, 0x62, 0x33, 0x32, 0x20, 0x25, 0x30, 0x2c, 0x20, 0x5b, 0x25, 0x31, 0x5d, 0x3b, - 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x72, 0x22, - 0x28, 0x73, 0x2e, 0x79, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, - 0x22, 0x6c, 0x22, 0x28, 0x74, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, - 0x75, 0x72, 0x6e, 0x20, 0x73, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x5b, 0x5b, 0x6e, 0x6f, 0x64, 0x69, - 0x73, 0x63, 0x61, 0x72, 0x64, 0x5d, 0x5d, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, - 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x6c, - 0x63, 0x5f, 0x62, 0x69, 0x6e, 0x64, 0x6c, 0x65, 0x73, 0x73, 0x5f, 0x74, 0x65, 0x78, 0x74, 0x75, - 0x72, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x33, 0x64, 0x28, 0x4c, 0x43, 0x42, 0x69, 0x6e, 0x64, - 0x6c, 0x65, 0x73, 0x73, 0x41, 0x72, 0x72, 0x61, 0x79, 0x20, 0x61, 0x72, 0x72, 0x61, 0x79, 0x2c, - 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x20, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x29, 0x20, - 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, - 0x63, 0x5f, 0x61, 0x73, 0x73, 0x75, 0x6d, 0x65, 0x28, 0x5f, 0x5f, 0x69, 0x73, 0x47, 0x6c, 0x6f, - 0x62, 0x61, 0x6c, 0x28, 0x61, 0x72, 0x72, 0x61, 0x79, 0x2e, 0x73, 0x6c, 0x6f, 0x74, 0x73, 0x29, - 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x74, 0x20, 0x3d, 0x20, - 0x61, 0x72, 0x72, 0x61, 0x79, 0x2e, 0x73, 0x6c, 0x6f, 0x74, 0x73, 0x5b, 0x69, 0x6e, 0x64, 0x65, - 0x78, 0x5d, 0x2e, 0x74, 0x65, 0x78, 0x33, 0x64, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x75, - 0x74, 0x6f, 0x20, 0x73, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x6d, 0x61, 0x6b, 0x65, 0x5f, 0x75, - 0x69, 0x6e, 0x74, 0x33, 0x28, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x28, - 0x22, 0x74, 0x78, 0x71, 0x2e, 0x77, 0x69, 0x64, 0x74, 0x68, 0x2e, 0x62, 0x33, 0x32, 0x20, 0x25, - 0x30, 0x2c, 0x20, 0x5b, 0x25, 0x31, 0x5d, 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x72, 0x22, 0x28, 0x73, 0x2e, 0x78, 0x29, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x6c, 0x22, 0x28, 0x74, 0x29, 0x29, 0x3b, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x74, 0x78, 0x71, 0x2e, 0x68, 0x65, - 0x69, 0x67, 0x68, 0x74, 0x2e, 0x62, 0x33, 0x32, 0x20, 0x25, 0x30, 0x2c, 0x20, 0x5b, 0x25, 0x31, - 0x5d, 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, - 0x72, 0x22, 0x28, 0x73, 0x2e, 0x79, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x3a, 0x20, 0x22, 0x6c, 0x22, 0x28, 0x74, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, - 0x73, 0x6d, 0x28, 0x22, 0x74, 0x78, 0x71, 0x2e, 0x64, 0x65, 0x70, 0x74, 0x68, 0x2e, 0x62, 0x33, + 0x63, 0x61, 0x72, 0x64, 0x5d, 0x5d, 0x20, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, + 0x5f, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x6c, 0x63, 0x5f, 0x62, 0x69, 0x6e, 0x64, 0x6c, 0x65, + 0x73, 0x73, 0x5f, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x73, 0x61, 0x6d, 0x70, 0x6c, + 0x65, 0x32, 0x64, 0x5f, 0x67, 0x72, 0x61, 0x64, 0x28, 0x4c, 0x43, 0x42, 0x69, 0x6e, 0x64, 0x6c, + 0x65, 0x73, 0x73, 0x41, 0x72, 0x72, 0x61, 0x79, 0x20, 0x61, 0x72, 0x72, 0x61, 0x79, 0x2c, 0x20, + 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x20, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x2c, 0x20, 0x6c, + 0x63, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x32, 0x20, 0x70, 0x2c, 0x20, 0x6c, 0x63, 0x5f, 0x66, + 0x6c, 0x6f, 0x61, 0x74, 0x32, 0x20, 0x64, 0x78, 0x2c, 0x20, 0x6c, 0x63, 0x5f, 0x66, 0x6c, 0x6f, + 0x61, 0x74, 0x32, 0x20, 0x64, 0x79, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, + 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x61, 0x73, 0x73, 0x75, 0x6d, 0x65, + 0x28, 0x5f, 0x5f, 0x69, 0x73, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x28, 0x61, 0x72, 0x72, 0x61, + 0x79, 0x2e, 0x73, 0x6c, 0x6f, 0x74, 0x73, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, + 0x75, 0x74, 0x6f, 0x20, 0x74, 0x20, 0x3d, 0x20, 0x61, 0x72, 0x72, 0x61, 0x79, 0x2e, 0x73, 0x6c, + 0x6f, 0x74, 0x73, 0x5b, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5d, 0x2e, 0x74, 0x65, 0x78, 0x32, 0x64, + 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x76, 0x20, 0x3d, 0x20, 0x6c, + 0x63, 0x5f, 0x6d, 0x61, 0x6b, 0x65, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x34, 0x28, 0x29, 0x3b, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x74, 0x65, 0x78, 0x2e, 0x67, 0x72, + 0x61, 0x64, 0x2e, 0x32, 0x64, 0x2e, 0x76, 0x34, 0x2e, 0x66, 0x33, 0x32, 0x2e, 0x66, 0x33, 0x32, + 0x20, 0x7b, 0x25, 0x30, 0x2c, 0x20, 0x25, 0x31, 0x2c, 0x20, 0x25, 0x32, 0x2c, 0x20, 0x25, 0x33, + 0x7d, 0x2c, 0x20, 0x5b, 0x25, 0x34, 0x2c, 0x20, 0x7b, 0x25, 0x35, 0x2c, 0x20, 0x25, 0x36, 0x7d, + 0x5d, 0x2c, 0x20, 0x7b, 0x25, 0x37, 0x2c, 0x20, 0x25, 0x38, 0x7d, 0x2c, 0x20, 0x7b, 0x25, 0x39, + 0x2c, 0x20, 0x25, 0x31, 0x30, 0x7d, 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x66, 0x22, 0x28, 0x76, 0x2e, 0x78, 0x29, 0x2c, 0x20, 0x22, 0x3d, + 0x66, 0x22, 0x28, 0x76, 0x2e, 0x79, 0x29, 0x2c, 0x20, 0x22, 0x3d, 0x66, 0x22, 0x28, 0x76, 0x2e, + 0x7a, 0x29, 0x2c, 0x20, 0x22, 0x3d, 0x66, 0x22, 0x28, 0x76, 0x2e, 0x77, 0x29, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x6c, 0x22, 0x28, 0x74, 0x29, 0x2c, 0x20, + 0x22, 0x66, 0x22, 0x28, 0x70, 0x2e, 0x78, 0x29, 0x2c, 0x20, 0x22, 0x66, 0x22, 0x28, 0x70, 0x2e, + 0x79, 0x29, 0x2c, 0x20, 0x22, 0x66, 0x22, 0x28, 0x64, 0x78, 0x2e, 0x78, 0x29, 0x2c, 0x20, 0x22, + 0x66, 0x22, 0x28, 0x64, 0x78, 0x2e, 0x79, 0x29, 0x2c, 0x20, 0x22, 0x66, 0x22, 0x28, 0x64, 0x79, + 0x2e, 0x78, 0x29, 0x2c, 0x20, 0x22, 0x66, 0x22, 0x28, 0x64, 0x79, 0x2e, 0x79, 0x29, 0x29, 0x3b, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x76, 0x3b, 0x0a, 0x7d, + 0x0a, 0x0a, 0x5b, 0x5b, 0x6e, 0x6f, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x5d, 0x5d, 0x20, + 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, + 0x6c, 0x63, 0x5f, 0x62, 0x69, 0x6e, 0x64, 0x6c, 0x65, 0x73, 0x73, 0x5f, 0x74, 0x65, 0x78, 0x74, + 0x75, 0x72, 0x65, 0x5f, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x33, 0x64, 0x5f, 0x67, 0x72, 0x61, + 0x64, 0x28, 0x4c, 0x43, 0x42, 0x69, 0x6e, 0x64, 0x6c, 0x65, 0x73, 0x73, 0x41, 0x72, 0x72, 0x61, + 0x79, 0x20, 0x61, 0x72, 0x72, 0x61, 0x79, 0x2c, 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, + 0x20, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x2c, 0x20, 0x6c, 0x63, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, + 0x33, 0x20, 0x70, 0x2c, 0x20, 0x6c, 0x63, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x33, 0x20, 0x64, + 0x78, 0x2c, 0x20, 0x6c, 0x63, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x33, 0x20, 0x64, 0x79, 0x29, + 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x6c, 0x63, 0x5f, 0x61, 0x73, 0x73, 0x75, 0x6d, 0x65, 0x28, 0x5f, 0x5f, 0x69, 0x73, 0x47, 0x6c, + 0x6f, 0x62, 0x61, 0x6c, 0x28, 0x61, 0x72, 0x72, 0x61, 0x79, 0x2e, 0x73, 0x6c, 0x6f, 0x74, 0x73, + 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x74, 0x20, 0x3d, + 0x20, 0x61, 0x72, 0x72, 0x61, 0x79, 0x2e, 0x73, 0x6c, 0x6f, 0x74, 0x73, 0x5b, 0x69, 0x6e, 0x64, + 0x65, 0x78, 0x5d, 0x2e, 0x74, 0x65, 0x78, 0x33, 0x64, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, + 0x75, 0x74, 0x6f, 0x20, 0x76, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x6d, 0x61, 0x6b, 0x65, 0x5f, + 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x34, 0x28, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, + 0x6d, 0x28, 0x22, 0x74, 0x65, 0x78, 0x2e, 0x67, 0x72, 0x61, 0x64, 0x2e, 0x33, 0x64, 0x2e, 0x76, + 0x34, 0x2e, 0x66, 0x33, 0x32, 0x2e, 0x66, 0x33, 0x32, 0x20, 0x7b, 0x25, 0x30, 0x2c, 0x20, 0x25, + 0x31, 0x2c, 0x20, 0x25, 0x32, 0x2c, 0x20, 0x25, 0x33, 0x7d, 0x2c, 0x20, 0x5b, 0x25, 0x34, 0x2c, + 0x20, 0x7b, 0x25, 0x35, 0x2c, 0x20, 0x25, 0x36, 0x2c, 0x20, 0x25, 0x37, 0x2c, 0x20, 0x25, 0x38, + 0x7d, 0x5d, 0x2c, 0x20, 0x7b, 0x25, 0x39, 0x2c, 0x20, 0x25, 0x31, 0x30, 0x2c, 0x20, 0x25, 0x31, + 0x31, 0x2c, 0x20, 0x25, 0x31, 0x32, 0x7d, 0x2c, 0x20, 0x7b, 0x25, 0x31, 0x33, 0x2c, 0x20, 0x25, + 0x31, 0x34, 0x2c, 0x20, 0x25, 0x31, 0x35, 0x2c, 0x20, 0x31, 0x36, 0x7d, 0x3b, 0x22, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x66, 0x22, 0x28, 0x76, 0x2e, + 0x78, 0x29, 0x2c, 0x20, 0x22, 0x3d, 0x66, 0x22, 0x28, 0x76, 0x2e, 0x79, 0x29, 0x2c, 0x20, 0x22, + 0x3d, 0x66, 0x22, 0x28, 0x76, 0x2e, 0x7a, 0x29, 0x2c, 0x20, 0x22, 0x3d, 0x66, 0x22, 0x28, 0x76, + 0x2e, 0x77, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x6c, + 0x22, 0x28, 0x74, 0x29, 0x2c, 0x20, 0x22, 0x66, 0x22, 0x28, 0x70, 0x2e, 0x78, 0x29, 0x2c, 0x20, + 0x22, 0x66, 0x22, 0x28, 0x70, 0x2e, 0x79, 0x29, 0x2c, 0x20, 0x22, 0x66, 0x22, 0x28, 0x70, 0x2e, + 0x7a, 0x29, 0x2c, 0x20, 0x22, 0x66, 0x22, 0x28, 0x30, 0x2e, 0x66, 0x29, 0x2c, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x66, 0x22, 0x28, 0x64, 0x78, 0x2e, 0x78, + 0x29, 0x2c, 0x20, 0x22, 0x66, 0x22, 0x28, 0x64, 0x78, 0x2e, 0x79, 0x29, 0x2c, 0x20, 0x22, 0x66, + 0x22, 0x28, 0x64, 0x78, 0x2e, 0x7a, 0x29, 0x2c, 0x20, 0x22, 0x66, 0x22, 0x28, 0x30, 0x2e, 0x66, + 0x29, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x66, 0x22, + 0x28, 0x64, 0x79, 0x2e, 0x78, 0x29, 0x2c, 0x20, 0x22, 0x66, 0x22, 0x28, 0x64, 0x79, 0x2e, 0x79, + 0x29, 0x2c, 0x20, 0x22, 0x66, 0x22, 0x28, 0x64, 0x79, 0x2e, 0x7a, 0x29, 0x2c, 0x20, 0x22, 0x66, + 0x22, 0x28, 0x30, 0x2e, 0x66, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, + 0x75, 0x72, 0x6e, 0x20, 0x76, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x5b, 0x5b, 0x6e, 0x6f, 0x64, 0x69, + 0x73, 0x63, 0x61, 0x72, 0x64, 0x5d, 0x5d, 0x20, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, + 0x5f, 0x5f, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x6c, 0x63, 0x5f, 0x62, 0x69, 0x6e, 0x64, 0x6c, + 0x65, 0x73, 0x73, 0x5f, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, + 0x32, 0x64, 0x28, 0x4c, 0x43, 0x42, 0x69, 0x6e, 0x64, 0x6c, 0x65, 0x73, 0x73, 0x41, 0x72, 0x72, + 0x61, 0x79, 0x20, 0x61, 0x72, 0x72, 0x61, 0x79, 0x2c, 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, + 0x74, 0x20, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, + 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x61, 0x73, 0x73, 0x75, 0x6d, + 0x65, 0x28, 0x5f, 0x5f, 0x69, 0x73, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x28, 0x61, 0x72, 0x72, + 0x61, 0x79, 0x2e, 0x73, 0x6c, 0x6f, 0x74, 0x73, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x61, 0x75, 0x74, 0x6f, 0x20, 0x74, 0x20, 0x3d, 0x20, 0x61, 0x72, 0x72, 0x61, 0x79, 0x2e, 0x73, + 0x6c, 0x6f, 0x74, 0x73, 0x5b, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5d, 0x2e, 0x74, 0x65, 0x78, 0x32, + 0x64, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x73, 0x20, 0x3d, 0x20, + 0x6c, 0x63, 0x5f, 0x6d, 0x61, 0x6b, 0x65, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x32, 0x28, 0x29, 0x3b, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x74, 0x78, 0x71, 0x2e, 0x77, 0x69, + 0x64, 0x74, 0x68, 0x2e, 0x62, 0x33, 0x32, 0x20, 0x25, 0x30, 0x2c, 0x20, 0x5b, 0x25, 0x31, 0x5d, + 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x72, + 0x22, 0x28, 0x73, 0x2e, 0x78, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, + 0x20, 0x22, 0x6c, 0x22, 0x28, 0x74, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, + 0x6d, 0x28, 0x22, 0x74, 0x78, 0x71, 0x2e, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x2e, 0x62, 0x33, 0x32, 0x20, 0x25, 0x30, 0x2c, 0x20, 0x5b, 0x25, 0x31, 0x5d, 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x72, 0x22, 0x28, 0x73, 0x2e, 0x7a, 0x29, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x72, 0x22, 0x28, 0x73, 0x2e, 0x79, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x6c, 0x22, 0x28, 0x74, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x73, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x5b, 0x5b, 0x6e, 0x6f, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, - 0x5d, 0x5d, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, + 0x5d, 0x5d, 0x20, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x61, 0x75, + 0x74, 0x6f, 0x20, 0x6c, 0x63, 0x5f, 0x62, 0x69, 0x6e, 0x64, 0x6c, 0x65, 0x73, 0x73, 0x5f, 0x74, + 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x33, 0x64, 0x28, 0x4c, 0x43, + 0x42, 0x69, 0x6e, 0x64, 0x6c, 0x65, 0x73, 0x73, 0x41, 0x72, 0x72, 0x61, 0x79, 0x20, 0x61, 0x72, + 0x72, 0x61, 0x79, 0x2c, 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x20, 0x69, 0x6e, 0x64, + 0x65, 0x78, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x61, 0x73, 0x73, 0x75, 0x6d, 0x65, 0x28, 0x5f, 0x5f, 0x69, + 0x73, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x28, 0x61, 0x72, 0x72, 0x61, 0x79, 0x2e, 0x73, 0x6c, + 0x6f, 0x74, 0x73, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, + 0x74, 0x20, 0x3d, 0x20, 0x61, 0x72, 0x72, 0x61, 0x79, 0x2e, 0x73, 0x6c, 0x6f, 0x74, 0x73, 0x5b, + 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5d, 0x2e, 0x74, 0x65, 0x78, 0x33, 0x64, 0x3b, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x73, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x6d, 0x61, + 0x6b, 0x65, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x28, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x61, 0x73, 0x6d, 0x28, 0x22, 0x74, 0x78, 0x71, 0x2e, 0x77, 0x69, 0x64, 0x74, 0x68, 0x2e, 0x62, + 0x33, 0x32, 0x20, 0x25, 0x30, 0x2c, 0x20, 0x5b, 0x25, 0x31, 0x5d, 0x3b, 0x22, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x72, 0x22, 0x28, 0x73, 0x2e, 0x78, + 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x6c, 0x22, 0x28, + 0x74, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x74, 0x78, + 0x71, 0x2e, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x2e, 0x62, 0x33, 0x32, 0x20, 0x25, 0x30, 0x2c, + 0x20, 0x5b, 0x25, 0x31, 0x5d, 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x3a, 0x20, 0x22, 0x3d, 0x72, 0x22, 0x28, 0x73, 0x2e, 0x79, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x6c, 0x22, 0x28, 0x74, 0x29, 0x29, 0x3b, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x74, 0x78, 0x71, 0x2e, 0x64, 0x65, 0x70, 0x74, + 0x68, 0x2e, 0x62, 0x33, 0x32, 0x20, 0x25, 0x30, 0x2c, 0x20, 0x5b, 0x25, 0x31, 0x5d, 0x3b, 0x22, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x72, 0x22, 0x28, + 0x73, 0x2e, 0x7a, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, + 0x6c, 0x22, 0x28, 0x74, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, + 0x72, 0x6e, 0x20, 0x73, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x5b, 0x5b, 0x6e, 0x6f, 0x64, 0x69, 0x73, + 0x63, 0x61, 0x72, 0x64, 0x5d, 0x5d, 0x20, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, + 0x5f, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x6c, 0x63, 0x5f, 0x62, 0x69, 0x6e, 0x64, 0x6c, 0x65, + 0x73, 0x73, 0x5f, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x32, + 0x64, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x28, 0x4c, 0x43, 0x42, 0x69, 0x6e, 0x64, 0x6c, 0x65, + 0x73, 0x73, 0x41, 0x72, 0x72, 0x61, 0x79, 0x20, 0x61, 0x72, 0x72, 0x61, 0x79, 0x2c, 0x20, 0x6c, + 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x20, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x2c, 0x20, 0x6c, 0x63, + 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x20, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x29, 0x20, 0x6e, 0x6f, 0x65, + 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x61, + 0x73, 0x73, 0x75, 0x6d, 0x65, 0x28, 0x5f, 0x5f, 0x69, 0x73, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, + 0x28, 0x61, 0x72, 0x72, 0x61, 0x79, 0x2e, 0x73, 0x6c, 0x6f, 0x74, 0x73, 0x29, 0x29, 0x3b, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x73, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, + 0x62, 0x69, 0x6e, 0x64, 0x6c, 0x65, 0x73, 0x73, 0x5f, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, + 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x32, 0x64, 0x28, 0x61, 0x72, 0x72, 0x61, 0x79, 0x2c, 0x20, 0x69, + 0x6e, 0x64, 0x65, 0x78, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, + 0x6e, 0x20, 0x6c, 0x63, 0x5f, 0x6d, 0x61, 0x78, 0x28, 0x73, 0x20, 0x3e, 0x3e, 0x20, 0x6c, 0x65, + 0x76, 0x65, 0x6c, 0x2c, 0x20, 0x6c, 0x63, 0x5f, 0x6d, 0x61, 0x6b, 0x65, 0x5f, 0x75, 0x69, 0x6e, + 0x74, 0x32, 0x28, 0x31, 0x75, 0x29, 0x29, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x5b, 0x5b, 0x6e, 0x6f, + 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x5d, 0x5d, 0x20, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x6c, 0x63, 0x5f, 0x62, 0x69, 0x6e, 0x64, 0x6c, 0x65, 0x73, 0x73, 0x5f, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x73, 0x69, - 0x7a, 0x65, 0x32, 0x64, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x28, 0x4c, 0x43, 0x42, 0x69, 0x6e, + 0x7a, 0x65, 0x33, 0x64, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x28, 0x4c, 0x43, 0x42, 0x69, 0x6e, 0x64, 0x6c, 0x65, 0x73, 0x73, 0x41, 0x72, 0x72, 0x61, 0x79, 0x20, 0x61, 0x72, 0x72, 0x61, 0x79, 0x2c, 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x20, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x2c, 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x20, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x29, 0x20, @@ -40247,550 +40029,528 @@ extern "C" const char luisa_cuda_builtin_cuda_device_resource[119200] = { 0x62, 0x61, 0x6c, 0x28, 0x61, 0x72, 0x72, 0x61, 0x79, 0x2e, 0x73, 0x6c, 0x6f, 0x74, 0x73, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x73, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x62, 0x69, 0x6e, 0x64, 0x6c, 0x65, 0x73, 0x73, 0x5f, 0x74, 0x65, 0x78, 0x74, - 0x75, 0x72, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x32, 0x64, 0x28, 0x61, 0x72, 0x72, 0x61, 0x79, + 0x75, 0x72, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x33, 0x64, 0x28, 0x61, 0x72, 0x72, 0x61, 0x79, 0x2c, 0x20, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x6c, 0x63, 0x5f, 0x6d, 0x61, 0x78, 0x28, 0x73, 0x20, 0x3e, 0x3e, 0x20, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x2c, 0x20, 0x6c, 0x63, 0x5f, 0x6d, 0x61, 0x6b, 0x65, 0x5f, - 0x75, 0x69, 0x6e, 0x74, 0x32, 0x28, 0x31, 0x75, 0x29, 0x29, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x5b, - 0x5b, 0x6e, 0x6f, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x5d, 0x5d, 0x20, 0x69, 0x6e, 0x6c, - 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x61, - 0x75, 0x74, 0x6f, 0x20, 0x6c, 0x63, 0x5f, 0x62, 0x69, 0x6e, 0x64, 0x6c, 0x65, 0x73, 0x73, 0x5f, - 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x33, 0x64, 0x5f, 0x6c, - 0x65, 0x76, 0x65, 0x6c, 0x28, 0x4c, 0x43, 0x42, 0x69, 0x6e, 0x64, 0x6c, 0x65, 0x73, 0x73, 0x41, - 0x72, 0x72, 0x61, 0x79, 0x20, 0x61, 0x72, 0x72, 0x61, 0x79, 0x2c, 0x20, 0x6c, 0x63, 0x5f, 0x75, - 0x69, 0x6e, 0x74, 0x20, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x2c, 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x69, - 0x6e, 0x74, 0x20, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, + 0x75, 0x69, 0x6e, 0x74, 0x33, 0x28, 0x31, 0x75, 0x29, 0x29, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x5b, + 0x5b, 0x6e, 0x6f, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x5d, 0x5d, 0x20, 0x5f, 0x5f, 0x64, + 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x6c, 0x63, 0x5f, + 0x62, 0x69, 0x6e, 0x64, 0x6c, 0x65, 0x73, 0x73, 0x5f, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, + 0x5f, 0x72, 0x65, 0x61, 0x64, 0x32, 0x64, 0x28, 0x4c, 0x43, 0x42, 0x69, 0x6e, 0x64, 0x6c, 0x65, + 0x73, 0x73, 0x41, 0x72, 0x72, 0x61, 0x79, 0x20, 0x61, 0x72, 0x72, 0x61, 0x79, 0x2c, 0x20, 0x6c, + 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x20, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x2c, 0x20, 0x6c, 0x63, + 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x32, 0x20, 0x70, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x61, 0x73, 0x73, 0x75, 0x6d, 0x65, 0x28, 0x5f, 0x5f, 0x69, 0x73, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x28, 0x61, 0x72, 0x72, 0x61, 0x79, 0x2e, 0x73, 0x6c, 0x6f, 0x74, 0x73, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x73, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x62, 0x69, 0x6e, - 0x64, 0x6c, 0x65, 0x73, 0x73, 0x5f, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x73, 0x69, - 0x7a, 0x65, 0x33, 0x64, 0x28, 0x61, 0x72, 0x72, 0x61, 0x79, 0x2c, 0x20, 0x69, 0x6e, 0x64, 0x65, - 0x78, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x6c, - 0x63, 0x5f, 0x6d, 0x61, 0x78, 0x28, 0x73, 0x20, 0x3e, 0x3e, 0x20, 0x6c, 0x65, 0x76, 0x65, 0x6c, - 0x2c, 0x20, 0x6c, 0x63, 0x5f, 0x6d, 0x61, 0x6b, 0x65, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x28, - 0x31, 0x75, 0x29, 0x29, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x5b, 0x5b, 0x6e, 0x6f, 0x64, 0x69, 0x73, - 0x63, 0x61, 0x72, 0x64, 0x5d, 0x5d, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, - 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x6c, 0x63, - 0x5f, 0x62, 0x69, 0x6e, 0x64, 0x6c, 0x65, 0x73, 0x73, 0x5f, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, - 0x65, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x32, 0x64, 0x28, 0x4c, 0x43, 0x42, 0x69, 0x6e, 0x64, 0x6c, - 0x65, 0x73, 0x73, 0x41, 0x72, 0x72, 0x61, 0x79, 0x20, 0x61, 0x72, 0x72, 0x61, 0x79, 0x2c, 0x20, - 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x20, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x2c, 0x20, 0x6c, - 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x32, 0x20, 0x70, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, - 0x65, 0x70, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x61, 0x73, 0x73, - 0x75, 0x6d, 0x65, 0x28, 0x5f, 0x5f, 0x69, 0x73, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x28, 0x61, - 0x72, 0x72, 0x61, 0x79, 0x2e, 0x73, 0x6c, 0x6f, 0x74, 0x73, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x74, 0x20, 0x3d, 0x20, 0x61, 0x72, 0x72, 0x61, 0x79, - 0x2e, 0x73, 0x6c, 0x6f, 0x74, 0x73, 0x5b, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5d, 0x2e, 0x74, 0x65, - 0x78, 0x32, 0x64, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x76, 0x20, - 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x6d, 0x61, 0x6b, 0x65, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x34, - 0x28, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x74, 0x65, 0x78, - 0x2e, 0x32, 0x64, 0x2e, 0x76, 0x34, 0x2e, 0x66, 0x33, 0x32, 0x2e, 0x73, 0x33, 0x32, 0x20, 0x7b, - 0x25, 0x30, 0x2c, 0x20, 0x25, 0x31, 0x2c, 0x20, 0x25, 0x32, 0x2c, 0x20, 0x25, 0x33, 0x7d, 0x2c, - 0x20, 0x5b, 0x25, 0x34, 0x2c, 0x20, 0x7b, 0x25, 0x35, 0x2c, 0x20, 0x25, 0x36, 0x7d, 0x5d, 0x3b, - 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x66, 0x22, - 0x28, 0x76, 0x2e, 0x78, 0x29, 0x2c, 0x20, 0x22, 0x3d, 0x66, 0x22, 0x28, 0x76, 0x2e, 0x79, 0x29, - 0x2c, 0x20, 0x22, 0x3d, 0x66, 0x22, 0x28, 0x76, 0x2e, 0x7a, 0x29, 0x2c, 0x20, 0x22, 0x3d, 0x66, - 0x22, 0x28, 0x76, 0x2e, 0x77, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, - 0x20, 0x22, 0x6c, 0x22, 0x28, 0x74, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x70, 0x2e, 0x78, - 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x70, 0x2e, 0x79, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x76, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x5b, - 0x5b, 0x6e, 0x6f, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x5d, 0x5d, 0x20, 0x69, 0x6e, 0x6c, - 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x61, - 0x75, 0x74, 0x6f, 0x20, 0x6c, 0x63, 0x5f, 0x62, 0x69, 0x6e, 0x64, 0x6c, 0x65, 0x73, 0x73, 0x5f, - 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x33, 0x64, 0x28, 0x4c, - 0x43, 0x42, 0x69, 0x6e, 0x64, 0x6c, 0x65, 0x73, 0x73, 0x41, 0x72, 0x72, 0x61, 0x79, 0x20, 0x61, - 0x72, 0x72, 0x61, 0x79, 0x2c, 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x20, 0x69, 0x6e, - 0x64, 0x65, 0x78, 0x2c, 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x20, 0x70, 0x29, - 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x6c, 0x63, 0x5f, 0x61, 0x73, 0x73, 0x75, 0x6d, 0x65, 0x28, 0x5f, 0x5f, 0x69, 0x73, 0x47, 0x6c, - 0x6f, 0x62, 0x61, 0x6c, 0x28, 0x61, 0x72, 0x72, 0x61, 0x79, 0x2e, 0x73, 0x6c, 0x6f, 0x74, 0x73, - 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x74, 0x20, 0x3d, - 0x20, 0x61, 0x72, 0x72, 0x61, 0x79, 0x2e, 0x73, 0x6c, 0x6f, 0x74, 0x73, 0x5b, 0x69, 0x6e, 0x64, - 0x65, 0x78, 0x5d, 0x2e, 0x74, 0x65, 0x78, 0x33, 0x64, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, - 0x75, 0x74, 0x6f, 0x20, 0x76, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x6d, 0x61, 0x6b, 0x65, 0x5f, - 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x34, 0x28, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, - 0x6d, 0x28, 0x22, 0x74, 0x65, 0x78, 0x2e, 0x33, 0x64, 0x2e, 0x76, 0x34, 0x2e, 0x66, 0x33, 0x32, - 0x2e, 0x73, 0x33, 0x32, 0x20, 0x7b, 0x25, 0x30, 0x2c, 0x20, 0x25, 0x31, 0x2c, 0x20, 0x25, 0x32, - 0x2c, 0x20, 0x25, 0x33, 0x7d, 0x2c, 0x20, 0x5b, 0x25, 0x34, 0x2c, 0x20, 0x7b, 0x25, 0x35, 0x2c, - 0x20, 0x25, 0x36, 0x2c, 0x20, 0x25, 0x37, 0x2c, 0x20, 0x25, 0x38, 0x7d, 0x5d, 0x3b, 0x22, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x66, 0x22, 0x28, 0x76, - 0x2e, 0x78, 0x29, 0x2c, 0x20, 0x22, 0x3d, 0x66, 0x22, 0x28, 0x76, 0x2e, 0x79, 0x29, 0x2c, 0x20, - 0x22, 0x3d, 0x66, 0x22, 0x28, 0x76, 0x2e, 0x7a, 0x29, 0x2c, 0x20, 0x22, 0x3d, 0x66, 0x22, 0x28, - 0x76, 0x2e, 0x77, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, - 0x6c, 0x22, 0x28, 0x74, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x70, 0x2e, 0x78, 0x29, 0x2c, - 0x20, 0x22, 0x72, 0x22, 0x28, 0x70, 0x2e, 0x79, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x70, - 0x2e, 0x7a, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x30, 0x75, 0x29, 0x29, 0x3b, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x76, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, - 0x5b, 0x5b, 0x6e, 0x6f, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x5d, 0x5d, 0x20, 0x69, 0x6e, - 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, - 0x61, 0x75, 0x74, 0x6f, 0x20, 0x6c, 0x63, 0x5f, 0x62, 0x69, 0x6e, 0x64, 0x6c, 0x65, 0x73, 0x73, - 0x5f, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x32, 0x64, 0x5f, - 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x28, 0x4c, 0x43, 0x42, 0x69, 0x6e, 0x64, 0x6c, 0x65, 0x73, 0x73, - 0x41, 0x72, 0x72, 0x61, 0x79, 0x20, 0x61, 0x72, 0x72, 0x61, 0x79, 0x2c, 0x20, 0x6c, 0x63, 0x5f, - 0x75, 0x69, 0x6e, 0x74, 0x20, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x2c, 0x20, 0x6c, 0x63, 0x5f, 0x75, - 0x69, 0x6e, 0x74, 0x32, 0x20, 0x70, 0x2c, 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x20, - 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, - 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x61, 0x73, 0x73, 0x75, 0x6d, 0x65, 0x28, - 0x5f, 0x5f, 0x69, 0x73, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x28, 0x61, 0x72, 0x72, 0x61, 0x79, - 0x2e, 0x73, 0x6c, 0x6f, 0x74, 0x73, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x75, - 0x74, 0x6f, 0x20, 0x74, 0x20, 0x3d, 0x20, 0x61, 0x72, 0x72, 0x61, 0x79, 0x2e, 0x73, 0x6c, 0x6f, - 0x74, 0x73, 0x5b, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5d, 0x2e, 0x74, 0x65, 0x78, 0x32, 0x64, 0x3b, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x76, 0x20, 0x3d, 0x20, 0x6c, 0x63, - 0x5f, 0x6d, 0x61, 0x6b, 0x65, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x34, 0x28, 0x29, 0x3b, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x74, 0x65, 0x78, 0x2e, 0x6c, 0x65, 0x76, - 0x65, 0x6c, 0x2e, 0x32, 0x64, 0x2e, 0x76, 0x34, 0x2e, 0x66, 0x33, 0x32, 0x2e, 0x73, 0x33, 0x32, - 0x20, 0x7b, 0x25, 0x30, 0x2c, 0x20, 0x25, 0x31, 0x2c, 0x20, 0x25, 0x32, 0x2c, 0x20, 0x25, 0x33, - 0x7d, 0x2c, 0x20, 0x5b, 0x25, 0x34, 0x2c, 0x20, 0x7b, 0x25, 0x35, 0x2c, 0x20, 0x25, 0x36, 0x7d, - 0x5d, 0x2c, 0x20, 0x25, 0x37, 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x74, 0x20, 0x3d, 0x20, 0x61, 0x72, 0x72, 0x61, 0x79, 0x2e, + 0x73, 0x6c, 0x6f, 0x74, 0x73, 0x5b, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5d, 0x2e, 0x74, 0x65, 0x78, + 0x32, 0x64, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x76, 0x20, 0x3d, + 0x20, 0x6c, 0x63, 0x5f, 0x6d, 0x61, 0x6b, 0x65, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x34, 0x28, + 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x74, 0x65, 0x78, 0x2e, + 0x32, 0x64, 0x2e, 0x76, 0x34, 0x2e, 0x66, 0x33, 0x32, 0x2e, 0x73, 0x33, 0x32, 0x20, 0x7b, 0x25, + 0x30, 0x2c, 0x20, 0x25, 0x31, 0x2c, 0x20, 0x25, 0x32, 0x2c, 0x20, 0x25, 0x33, 0x7d, 0x2c, 0x20, + 0x5b, 0x25, 0x34, 0x2c, 0x20, 0x7b, 0x25, 0x35, 0x2c, 0x20, 0x25, 0x36, 0x7d, 0x5d, 0x3b, 0x22, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x66, 0x22, 0x28, + 0x76, 0x2e, 0x78, 0x29, 0x2c, 0x20, 0x22, 0x3d, 0x66, 0x22, 0x28, 0x76, 0x2e, 0x79, 0x29, 0x2c, + 0x20, 0x22, 0x3d, 0x66, 0x22, 0x28, 0x76, 0x2e, 0x7a, 0x29, 0x2c, 0x20, 0x22, 0x3d, 0x66, 0x22, + 0x28, 0x76, 0x2e, 0x77, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, + 0x22, 0x6c, 0x22, 0x28, 0x74, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x70, 0x2e, 0x78, 0x29, + 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x70, 0x2e, 0x79, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x76, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x5b, 0x5b, + 0x6e, 0x6f, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x5d, 0x5d, 0x20, 0x5f, 0x5f, 0x64, 0x65, + 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x6c, 0x63, 0x5f, 0x62, + 0x69, 0x6e, 0x64, 0x6c, 0x65, 0x73, 0x73, 0x5f, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5f, + 0x72, 0x65, 0x61, 0x64, 0x33, 0x64, 0x28, 0x4c, 0x43, 0x42, 0x69, 0x6e, 0x64, 0x6c, 0x65, 0x73, + 0x73, 0x41, 0x72, 0x72, 0x61, 0x79, 0x20, 0x61, 0x72, 0x72, 0x61, 0x79, 0x2c, 0x20, 0x6c, 0x63, + 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x20, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x2c, 0x20, 0x6c, 0x63, 0x5f, + 0x75, 0x69, 0x6e, 0x74, 0x33, 0x20, 0x70, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, + 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x61, 0x73, 0x73, 0x75, 0x6d, + 0x65, 0x28, 0x5f, 0x5f, 0x69, 0x73, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x28, 0x61, 0x72, 0x72, + 0x61, 0x79, 0x2e, 0x73, 0x6c, 0x6f, 0x74, 0x73, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x61, 0x75, 0x74, 0x6f, 0x20, 0x74, 0x20, 0x3d, 0x20, 0x61, 0x72, 0x72, 0x61, 0x79, 0x2e, 0x73, + 0x6c, 0x6f, 0x74, 0x73, 0x5b, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5d, 0x2e, 0x74, 0x65, 0x78, 0x33, + 0x64, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x76, 0x20, 0x3d, 0x20, + 0x6c, 0x63, 0x5f, 0x6d, 0x61, 0x6b, 0x65, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x34, 0x28, 0x29, + 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x74, 0x65, 0x78, 0x2e, 0x33, + 0x64, 0x2e, 0x76, 0x34, 0x2e, 0x66, 0x33, 0x32, 0x2e, 0x73, 0x33, 0x32, 0x20, 0x7b, 0x25, 0x30, + 0x2c, 0x20, 0x25, 0x31, 0x2c, 0x20, 0x25, 0x32, 0x2c, 0x20, 0x25, 0x33, 0x7d, 0x2c, 0x20, 0x5b, + 0x25, 0x34, 0x2c, 0x20, 0x7b, 0x25, 0x35, 0x2c, 0x20, 0x25, 0x36, 0x2c, 0x20, 0x25, 0x37, 0x2c, + 0x20, 0x25, 0x38, 0x7d, 0x5d, 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x66, 0x22, 0x28, 0x76, 0x2e, 0x78, 0x29, 0x2c, 0x20, 0x22, 0x3d, 0x66, 0x22, 0x28, 0x76, 0x2e, 0x79, 0x29, 0x2c, 0x20, 0x22, 0x3d, 0x66, 0x22, 0x28, 0x76, 0x2e, 0x7a, 0x29, 0x2c, 0x20, 0x22, 0x3d, 0x66, 0x22, 0x28, 0x76, 0x2e, 0x77, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x6c, 0x22, 0x28, 0x74, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x70, 0x2e, 0x78, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x70, 0x2e, 0x79, - 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x29, 0x29, 0x3b, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x76, 0x3b, 0x0a, 0x7d, 0x0a, - 0x0a, 0x5b, 0x5b, 0x6e, 0x6f, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x5d, 0x5d, 0x20, 0x69, - 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, + 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x70, 0x2e, 0x7a, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, + 0x28, 0x30, 0x75, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, + 0x6e, 0x20, 0x76, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x5b, 0x5b, 0x6e, 0x6f, 0x64, 0x69, 0x73, 0x63, + 0x61, 0x72, 0x64, 0x5d, 0x5d, 0x20, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x6c, 0x63, 0x5f, 0x62, 0x69, 0x6e, 0x64, 0x6c, 0x65, 0x73, - 0x73, 0x5f, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x33, 0x64, + 0x73, 0x5f, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x32, 0x64, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x28, 0x4c, 0x43, 0x42, 0x69, 0x6e, 0x64, 0x6c, 0x65, 0x73, 0x73, 0x41, 0x72, 0x72, 0x61, 0x79, 0x20, 0x61, 0x72, 0x72, 0x61, 0x79, 0x2c, 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x20, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x2c, 0x20, 0x6c, 0x63, 0x5f, - 0x75, 0x69, 0x6e, 0x74, 0x33, 0x20, 0x70, 0x2c, 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, + 0x75, 0x69, 0x6e, 0x74, 0x32, 0x20, 0x70, 0x2c, 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x20, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x61, 0x73, 0x73, 0x75, 0x6d, 0x65, 0x28, 0x5f, 0x5f, 0x69, 0x73, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x28, 0x61, 0x72, 0x72, 0x61, 0x79, 0x2e, 0x73, 0x6c, 0x6f, 0x74, 0x73, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x74, 0x20, 0x3d, 0x20, 0x61, 0x72, 0x72, 0x61, 0x79, 0x2e, 0x73, 0x6c, - 0x6f, 0x74, 0x73, 0x5b, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5d, 0x2e, 0x74, 0x65, 0x78, 0x33, 0x64, + 0x6f, 0x74, 0x73, 0x5b, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5d, 0x2e, 0x74, 0x65, 0x78, 0x32, 0x64, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x76, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x6d, 0x61, 0x6b, 0x65, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x34, 0x28, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x74, 0x65, 0x78, 0x2e, 0x6c, 0x65, - 0x76, 0x65, 0x6c, 0x2e, 0x33, 0x64, 0x2e, 0x76, 0x34, 0x2e, 0x66, 0x33, 0x32, 0x2e, 0x73, 0x33, + 0x76, 0x65, 0x6c, 0x2e, 0x32, 0x64, 0x2e, 0x76, 0x34, 0x2e, 0x66, 0x33, 0x32, 0x2e, 0x73, 0x33, 0x32, 0x20, 0x7b, 0x25, 0x30, 0x2c, 0x20, 0x25, 0x31, 0x2c, 0x20, 0x25, 0x32, 0x2c, 0x20, 0x25, 0x33, 0x7d, 0x2c, 0x20, 0x5b, 0x25, 0x34, 0x2c, 0x20, 0x7b, 0x25, 0x35, 0x2c, 0x20, 0x25, 0x36, - 0x2c, 0x20, 0x25, 0x37, 0x2c, 0x20, 0x25, 0x38, 0x7d, 0x5d, 0x2c, 0x20, 0x25, 0x39, 0x3b, 0x22, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x66, 0x22, 0x28, - 0x76, 0x2e, 0x78, 0x29, 0x2c, 0x20, 0x22, 0x3d, 0x66, 0x22, 0x28, 0x76, 0x2e, 0x79, 0x29, 0x2c, - 0x20, 0x22, 0x3d, 0x66, 0x22, 0x28, 0x76, 0x2e, 0x7a, 0x29, 0x2c, 0x20, 0x22, 0x3d, 0x66, 0x22, - 0x28, 0x76, 0x2e, 0x77, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, - 0x22, 0x6c, 0x22, 0x28, 0x74, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x70, 0x2e, 0x78, 0x29, - 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x70, 0x2e, 0x79, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, - 0x70, 0x2e, 0x7a, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x30, 0x75, 0x29, 0x2c, 0x20, 0x22, - 0x72, 0x22, 0x28, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x76, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x73, 0x74, 0x72, + 0x7d, 0x5d, 0x2c, 0x20, 0x25, 0x37, 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x66, 0x22, 0x28, 0x76, 0x2e, 0x78, 0x29, 0x2c, 0x20, 0x22, 0x3d, + 0x66, 0x22, 0x28, 0x76, 0x2e, 0x79, 0x29, 0x2c, 0x20, 0x22, 0x3d, 0x66, 0x22, 0x28, 0x76, 0x2e, + 0x7a, 0x29, 0x2c, 0x20, 0x22, 0x3d, 0x66, 0x22, 0x28, 0x76, 0x2e, 0x77, 0x29, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x6c, 0x22, 0x28, 0x74, 0x29, 0x2c, 0x20, + 0x22, 0x72, 0x22, 0x28, 0x70, 0x2e, 0x78, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x70, 0x2e, + 0x79, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x29, 0x29, 0x3b, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x76, 0x3b, 0x0a, 0x7d, + 0x0a, 0x0a, 0x5b, 0x5b, 0x6e, 0x6f, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x5d, 0x5d, 0x20, + 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, + 0x6c, 0x63, 0x5f, 0x62, 0x69, 0x6e, 0x64, 0x6c, 0x65, 0x73, 0x73, 0x5f, 0x74, 0x65, 0x78, 0x74, + 0x75, 0x72, 0x65, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x33, 0x64, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, + 0x28, 0x4c, 0x43, 0x42, 0x69, 0x6e, 0x64, 0x6c, 0x65, 0x73, 0x73, 0x41, 0x72, 0x72, 0x61, 0x79, + 0x20, 0x61, 0x72, 0x72, 0x61, 0x79, 0x2c, 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x20, + 0x69, 0x6e, 0x64, 0x65, 0x78, 0x2c, 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x20, + 0x70, 0x2c, 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x20, 0x6c, 0x65, 0x76, 0x65, 0x6c, + 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x6c, 0x63, 0x5f, 0x61, 0x73, 0x73, 0x75, 0x6d, 0x65, 0x28, 0x5f, 0x5f, 0x69, 0x73, 0x47, + 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x28, 0x61, 0x72, 0x72, 0x61, 0x79, 0x2e, 0x73, 0x6c, 0x6f, 0x74, + 0x73, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x74, 0x20, + 0x3d, 0x20, 0x61, 0x72, 0x72, 0x61, 0x79, 0x2e, 0x73, 0x6c, 0x6f, 0x74, 0x73, 0x5b, 0x69, 0x6e, + 0x64, 0x65, 0x78, 0x5d, 0x2e, 0x74, 0x65, 0x78, 0x33, 0x64, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x61, 0x75, 0x74, 0x6f, 0x20, 0x76, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x6d, 0x61, 0x6b, 0x65, + 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x34, 0x28, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, + 0x73, 0x6d, 0x28, 0x22, 0x74, 0x65, 0x78, 0x2e, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x2e, 0x33, 0x64, + 0x2e, 0x76, 0x34, 0x2e, 0x66, 0x33, 0x32, 0x2e, 0x73, 0x33, 0x32, 0x20, 0x7b, 0x25, 0x30, 0x2c, + 0x20, 0x25, 0x31, 0x2c, 0x20, 0x25, 0x32, 0x2c, 0x20, 0x25, 0x33, 0x7d, 0x2c, 0x20, 0x5b, 0x25, + 0x34, 0x2c, 0x20, 0x7b, 0x25, 0x35, 0x2c, 0x20, 0x25, 0x36, 0x2c, 0x20, 0x25, 0x37, 0x2c, 0x20, + 0x25, 0x38, 0x7d, 0x5d, 0x2c, 0x20, 0x25, 0x39, 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x66, 0x22, 0x28, 0x76, 0x2e, 0x78, 0x29, 0x2c, 0x20, + 0x22, 0x3d, 0x66, 0x22, 0x28, 0x76, 0x2e, 0x79, 0x29, 0x2c, 0x20, 0x22, 0x3d, 0x66, 0x22, 0x28, + 0x76, 0x2e, 0x7a, 0x29, 0x2c, 0x20, 0x22, 0x3d, 0x66, 0x22, 0x28, 0x76, 0x2e, 0x77, 0x29, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x6c, 0x22, 0x28, 0x74, 0x29, + 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x70, 0x2e, 0x78, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, + 0x70, 0x2e, 0x79, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x70, 0x2e, 0x7a, 0x29, 0x2c, 0x20, + 0x22, 0x72, 0x22, 0x28, 0x30, 0x75, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x6c, 0x65, 0x76, + 0x65, 0x6c, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, + 0x20, 0x76, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x20, 0x61, 0x6c, + 0x69, 0x67, 0x6e, 0x61, 0x73, 0x28, 0x31, 0x36, 0x29, 0x20, 0x4c, 0x43, 0x52, 0x61, 0x79, 0x20, + 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x61, 0x72, 0x72, 0x61, 0x79, 0x3c, 0x66, + 0x6c, 0x6f, 0x61, 0x74, 0x2c, 0x20, 0x33, 0x3e, 0x20, 0x6d, 0x30, 0x3b, 0x2f, 0x2f, 0x20, 0x6f, + 0x72, 0x69, 0x67, 0x69, 0x6e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, + 0x6d, 0x31, 0x3b, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x2f, 0x2f, 0x20, 0x74, 0x5f, 0x6d, 0x69, 0x6e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, + 0x61, 0x72, 0x72, 0x61, 0x79, 0x3c, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x2c, 0x20, 0x33, 0x3e, 0x20, + 0x6d, 0x32, 0x3b, 0x2f, 0x2f, 0x20, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x6d, 0x33, 0x3b, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x74, 0x5f, 0x6d, + 0x61, 0x78, 0x0a, 0x7d, 0x3b, 0x0a, 0x0a, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x20, 0x61, 0x6c, + 0x69, 0x67, 0x6e, 0x61, 0x73, 0x28, 0x38, 0x29, 0x20, 0x4c, 0x43, 0x54, 0x72, 0x69, 0x61, 0x6e, + 0x67, 0x6c, 0x65, 0x48, 0x69, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, + 0x75, 0x69, 0x6e, 0x74, 0x20, 0x6d, 0x30, 0x3b, 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x69, 0x6e, 0x73, + 0x74, 0x61, 0x6e, 0x63, 0x65, 0x20, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x20, 0x6d, 0x31, 0x3b, 0x20, 0x20, 0x2f, 0x2f, 0x20, + 0x70, 0x72, 0x69, 0x6d, 0x69, 0x74, 0x69, 0x76, 0x65, 0x20, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x32, 0x20, 0x6d, 0x32, + 0x3b, 0x2f, 0x2f, 0x20, 0x62, 0x61, 0x72, 0x79, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x63, 0x20, + 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x61, 0x74, 0x65, 0x73, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x6c, 0x63, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x6d, 0x33, 0x3b, 0x20, 0x2f, 0x2f, 0x20, + 0x74, 0x5f, 0x68, 0x69, 0x74, 0x0a, 0x7d, 0x3b, 0x0a, 0x0a, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, + 0x20, 0x4c, 0x43, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x64, 0x75, 0x72, 0x61, 0x6c, 0x48, 0x69, 0x74, + 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x20, 0x6d, + 0x30, 0x3b, 0x2f, 0x2f, 0x20, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x20, 0x69, 0x6e, + 0x64, 0x65, 0x78, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x20, + 0x6d, 0x31, 0x3b, 0x2f, 0x2f, 0x20, 0x70, 0x72, 0x69, 0x6d, 0x69, 0x74, 0x69, 0x76, 0x65, 0x20, + 0x69, 0x6e, 0x64, 0x65, 0x78, 0x0a, 0x7d, 0x3b, 0x0a, 0x0a, 0x65, 0x6e, 0x75, 0x6d, 0x20, 0x73, + 0x74, 0x72, 0x75, 0x63, 0x74, 0x20, 0x4c, 0x43, 0x48, 0x69, 0x74, 0x54, 0x79, 0x70, 0x65, 0x20, + 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x4d, 0x49, 0x53, 0x53, 0x20, 0x3d, 0x20, 0x30, 0x2c, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x42, 0x55, 0x49, 0x4c, 0x54, 0x49, 0x4e, 0x20, 0x3d, 0x20, 0x31, 0x2c, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x50, 0x52, 0x4f, 0x43, 0x45, 0x44, 0x55, 0x52, 0x41, 0x4c, 0x20, + 0x3d, 0x20, 0x32, 0x2c, 0x0a, 0x7d, 0x3b, 0x0a, 0x0a, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x20, + 0x4c, 0x43, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x64, 0x48, 0x69, 0x74, 0x20, 0x7b, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x20, 0x6d, 0x30, 0x3b, + 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x20, 0x69, 0x6e, + 0x64, 0x65, 0x78, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x20, + 0x6d, 0x31, 0x3b, 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x70, 0x72, 0x69, 0x6d, 0x69, 0x74, 0x69, 0x76, + 0x65, 0x20, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x66, + 0x6c, 0x6f, 0x61, 0x74, 0x32, 0x20, 0x6d, 0x32, 0x3b, 0x2f, 0x2f, 0x20, 0x62, 0x61, 0x72, 0x69, + 0x63, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x63, 0x20, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x61, + 0x74, 0x65, 0x73, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x20, + 0x6d, 0x33, 0x3b, 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x68, 0x69, 0x74, 0x20, 0x74, 0x79, 0x70, 0x65, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x6d, 0x34, + 0x3b, 0x20, 0x2f, 0x2f, 0x20, 0x74, 0x5f, 0x68, 0x69, 0x74, 0x0a, 0x7d, 0x3b, 0x0a, 0x0a, 0x73, + 0x74, 0x61, 0x74, 0x69, 0x63, 0x5f, 0x61, 0x73, 0x73, 0x65, 0x72, 0x74, 0x28, 0x73, 0x69, 0x7a, + 0x65, 0x6f, 0x66, 0x28, 0x4c, 0x43, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x64, 0x48, + 0x69, 0x74, 0x29, 0x20, 0x3d, 0x3d, 0x20, 0x32, 0x34, 0x75, 0x2c, 0x20, 0x22, 0x4c, 0x43, 0x43, + 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x64, 0x48, 0x69, 0x74, 0x20, 0x73, 0x69, 0x7a, 0x65, + 0x20, 0x6d, 0x69, 0x73, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x22, 0x29, 0x3b, 0x0a, 0x73, 0x74, 0x61, + 0x74, 0x69, 0x63, 0x5f, 0x61, 0x73, 0x73, 0x65, 0x72, 0x74, 0x28, 0x61, 0x6c, 0x69, 0x67, 0x6e, + 0x6f, 0x66, 0x28, 0x4c, 0x43, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x64, 0x48, 0x69, + 0x74, 0x29, 0x20, 0x3d, 0x3d, 0x20, 0x38, 0x75, 0x2c, 0x20, 0x22, 0x4c, 0x43, 0x43, 0x6f, 0x6d, + 0x6d, 0x69, 0x74, 0x74, 0x65, 0x64, 0x48, 0x69, 0x74, 0x20, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x20, + 0x6d, 0x69, 0x73, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x22, 0x29, 0x3b, 0x0a, 0x0a, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x20, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x61, 0x73, 0x28, 0x31, 0x36, 0x29, 0x20, - 0x4c, 0x43, 0x52, 0x61, 0x79, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x61, - 0x72, 0x72, 0x61, 0x79, 0x3c, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x2c, 0x20, 0x33, 0x3e, 0x20, 0x6d, - 0x30, 0x3b, 0x2f, 0x2f, 0x20, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x6d, 0x31, 0x3b, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x74, 0x5f, 0x6d, 0x69, 0x6e, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x61, 0x72, 0x72, 0x61, 0x79, 0x3c, 0x66, 0x6c, 0x6f, 0x61, - 0x74, 0x2c, 0x20, 0x33, 0x3e, 0x20, 0x6d, 0x32, 0x3b, 0x2f, 0x2f, 0x20, 0x64, 0x69, 0x72, 0x65, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, - 0x6d, 0x33, 0x3b, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x2f, 0x2f, 0x20, 0x74, 0x5f, 0x6d, 0x61, 0x78, 0x0a, 0x7d, 0x3b, 0x0a, 0x0a, 0x73, 0x74, 0x72, - 0x75, 0x63, 0x74, 0x20, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x61, 0x73, 0x28, 0x38, 0x29, 0x20, 0x4c, - 0x43, 0x54, 0x72, 0x69, 0x61, 0x6e, 0x67, 0x6c, 0x65, 0x48, 0x69, 0x74, 0x20, 0x7b, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x20, 0x6d, 0x30, 0x3b, 0x20, 0x20, - 0x2f, 0x2f, 0x20, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x20, 0x69, 0x6e, 0x64, 0x65, - 0x78, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x20, 0x6d, 0x31, - 0x3b, 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x70, 0x72, 0x69, 0x6d, 0x69, 0x74, 0x69, 0x76, 0x65, 0x20, - 0x69, 0x6e, 0x64, 0x65, 0x78, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x66, 0x6c, 0x6f, - 0x61, 0x74, 0x32, 0x20, 0x6d, 0x32, 0x3b, 0x2f, 0x2f, 0x20, 0x62, 0x61, 0x72, 0x79, 0x63, 0x65, - 0x6e, 0x74, 0x72, 0x69, 0x63, 0x20, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x61, 0x74, 0x65, - 0x73, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x6d, - 0x33, 0x3b, 0x20, 0x2f, 0x2f, 0x20, 0x74, 0x5f, 0x68, 0x69, 0x74, 0x0a, 0x7d, 0x3b, 0x0a, 0x0a, - 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x20, 0x4c, 0x43, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x64, 0x75, - 0x72, 0x61, 0x6c, 0x48, 0x69, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, - 0x75, 0x69, 0x6e, 0x74, 0x20, 0x6d, 0x30, 0x3b, 0x2f, 0x2f, 0x20, 0x69, 0x6e, 0x73, 0x74, 0x61, - 0x6e, 0x63, 0x65, 0x20, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, - 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x20, 0x6d, 0x31, 0x3b, 0x2f, 0x2f, 0x20, 0x70, 0x72, 0x69, 0x6d, - 0x69, 0x74, 0x69, 0x76, 0x65, 0x20, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x0a, 0x7d, 0x3b, 0x0a, 0x0a, - 0x65, 0x6e, 0x75, 0x6d, 0x20, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x20, 0x4c, 0x43, 0x48, 0x69, - 0x74, 0x54, 0x79, 0x70, 0x65, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x4d, 0x49, 0x53, 0x53, - 0x20, 0x3d, 0x20, 0x30, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x42, 0x55, 0x49, 0x4c, 0x54, 0x49, - 0x4e, 0x20, 0x3d, 0x20, 0x31, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x50, 0x52, 0x4f, 0x43, 0x45, - 0x44, 0x55, 0x52, 0x41, 0x4c, 0x20, 0x3d, 0x20, 0x32, 0x2c, 0x0a, 0x7d, 0x3b, 0x0a, 0x0a, 0x73, - 0x74, 0x72, 0x75, 0x63, 0x74, 0x20, 0x4c, 0x43, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, - 0x64, 0x48, 0x69, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x69, - 0x6e, 0x74, 0x20, 0x6d, 0x30, 0x3b, 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x69, 0x6e, 0x73, 0x74, 0x61, - 0x6e, 0x63, 0x65, 0x20, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, - 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x20, 0x6d, 0x31, 0x3b, 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x70, 0x72, - 0x69, 0x6d, 0x69, 0x74, 0x69, 0x76, 0x65, 0x20, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x32, 0x20, 0x6d, 0x32, 0x3b, 0x2f, - 0x2f, 0x20, 0x62, 0x61, 0x72, 0x69, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x63, 0x20, 0x63, 0x6f, - 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x61, 0x74, 0x65, 0x73, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, - 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x20, 0x6d, 0x33, 0x3b, 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x68, 0x69, - 0x74, 0x20, 0x74, 0x79, 0x70, 0x65, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x66, 0x6c, - 0x6f, 0x61, 0x74, 0x20, 0x6d, 0x34, 0x3b, 0x20, 0x2f, 0x2f, 0x20, 0x74, 0x5f, 0x68, 0x69, 0x74, - 0x0a, 0x7d, 0x3b, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x5f, 0x61, 0x73, 0x73, 0x65, - 0x72, 0x74, 0x28, 0x73, 0x69, 0x7a, 0x65, 0x6f, 0x66, 0x28, 0x4c, 0x43, 0x43, 0x6f, 0x6d, 0x6d, - 0x69, 0x74, 0x74, 0x65, 0x64, 0x48, 0x69, 0x74, 0x29, 0x20, 0x3d, 0x3d, 0x20, 0x32, 0x34, 0x75, - 0x2c, 0x20, 0x22, 0x4c, 0x43, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x64, 0x48, 0x69, - 0x74, 0x20, 0x73, 0x69, 0x7a, 0x65, 0x20, 0x6d, 0x69, 0x73, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x22, - 0x29, 0x3b, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x5f, 0x61, 0x73, 0x73, 0x65, 0x72, 0x74, - 0x28, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x6f, 0x66, 0x28, 0x4c, 0x43, 0x43, 0x6f, 0x6d, 0x6d, 0x69, - 0x74, 0x74, 0x65, 0x64, 0x48, 0x69, 0x74, 0x29, 0x20, 0x3d, 0x3d, 0x20, 0x38, 0x75, 0x2c, 0x20, - 0x22, 0x4c, 0x43, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x64, 0x48, 0x69, 0x74, 0x20, - 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x20, 0x6d, 0x69, 0x73, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x22, 0x29, - 0x3b, 0x0a, 0x0a, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x20, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x61, - 0x73, 0x28, 0x31, 0x36, 0x29, 0x20, 0x4c, 0x43, 0x4d, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x52, - 0x54, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x61, 0x72, 0x72, 0x61, 0x79, - 0x3c, 0x6c, 0x63, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x2c, 0x20, 0x33, 0x3e, 0x20, 0x6d, 0x30, - 0x3b, 0x20, 0x2f, 0x2f, 0x20, 0x70, 0x69, 0x76, 0x6f, 0x74, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, - 0x63, 0x5f, 0x61, 0x72, 0x72, 0x61, 0x79, 0x3c, 0x6c, 0x63, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, - 0x2c, 0x20, 0x34, 0x3e, 0x20, 0x6d, 0x31, 0x3b, 0x20, 0x2f, 0x2f, 0x20, 0x71, 0x75, 0x61, 0x74, - 0x65, 0x72, 0x6e, 0x69, 0x6f, 0x6e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x61, 0x72, - 0x72, 0x61, 0x79, 0x3c, 0x6c, 0x63, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x2c, 0x20, 0x33, 0x3e, - 0x20, 0x6d, 0x32, 0x3b, 0x20, 0x2f, 0x2f, 0x20, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x0a, 0x20, 0x20, + 0x4c, 0x43, 0x4d, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x52, 0x54, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x61, 0x72, 0x72, 0x61, 0x79, 0x3c, 0x6c, 0x63, 0x5f, 0x66, 0x6c, - 0x6f, 0x61, 0x74, 0x2c, 0x20, 0x33, 0x3e, 0x20, 0x6d, 0x33, 0x3b, 0x20, 0x2f, 0x2f, 0x20, 0x73, - 0x68, 0x65, 0x61, 0x72, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x61, 0x72, 0x72, 0x61, - 0x79, 0x3c, 0x6c, 0x63, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x2c, 0x20, 0x33, 0x3e, 0x20, 0x6d, - 0x34, 0x3b, 0x20, 0x2f, 0x2f, 0x20, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x0a, 0x7d, 0x3b, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x5f, 0x61, 0x73, 0x73, - 0x65, 0x72, 0x74, 0x28, 0x73, 0x69, 0x7a, 0x65, 0x6f, 0x66, 0x28, 0x4c, 0x43, 0x4d, 0x6f, 0x74, - 0x69, 0x6f, 0x6e, 0x53, 0x52, 0x54, 0x29, 0x20, 0x3d, 0x3d, 0x20, 0x36, 0x34, 0x75, 0x2c, 0x20, - 0x22, 0x4c, 0x43, 0x4d, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x52, 0x54, 0x20, 0x73, 0x69, 0x7a, - 0x65, 0x20, 0x6d, 0x69, 0x73, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x22, 0x29, 0x3b, 0x0a, 0x73, 0x74, - 0x61, 0x74, 0x69, 0x63, 0x5f, 0x61, 0x73, 0x73, 0x65, 0x72, 0x74, 0x28, 0x61, 0x6c, 0x69, 0x67, - 0x6e, 0x6f, 0x66, 0x28, 0x4c, 0x43, 0x4d, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x52, 0x54, 0x29, - 0x20, 0x3d, 0x3d, 0x20, 0x31, 0x36, 0x75, 0x2c, 0x20, 0x22, 0x4c, 0x43, 0x4d, 0x6f, 0x74, 0x69, - 0x6f, 0x6e, 0x53, 0x52, 0x54, 0x20, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x20, 0x6d, 0x69, 0x73, 0x6d, - 0x61, 0x74, 0x63, 0x68, 0x22, 0x29, 0x3b, 0x0a, 0x0a, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x20, - 0x4c, 0x43, 0x4d, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x20, - 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, - 0x68, 0x6f, 0x72, 0x74, 0x20, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x66, - 0x6c, 0x61, 0x67, 0x73, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, - 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x65, 0x6e, 0x64, 0x3b, 0x0a, - 0x7d, 0x3b, 0x0a, 0x0a, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x20, 0x61, 0x6c, 0x69, 0x67, 0x6e, - 0x61, 0x73, 0x28, 0x31, 0x36, 0x29, 0x20, 0x4c, 0x43, 0x4d, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x54, - 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x20, 0x7b, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x6c, 0x6f, - 0x6e, 0x67, 0x20, 0x6c, 0x6f, 0x6e, 0x67, 0x20, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x3b, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x4c, 0x43, 0x4d, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x20, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x70, 0x61, 0x64, - 0x5b, 0x33, 0x5d, 0x3b, 0x0a, 0x7d, 0x3b, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x5f, - 0x61, 0x73, 0x73, 0x65, 0x72, 0x74, 0x28, 0x73, 0x69, 0x7a, 0x65, 0x6f, 0x66, 0x28, 0x4c, 0x43, - 0x4d, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x42, - 0x75, 0x66, 0x66, 0x65, 0x72, 0x29, 0x20, 0x3d, 0x3d, 0x20, 0x33, 0x32, 0x75, 0x2c, 0x20, 0x22, - 0x4c, 0x43, 0x4d, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, - 0x6d, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x20, 0x73, 0x69, 0x7a, 0x65, 0x20, 0x6d, 0x69, 0x73, - 0x6d, 0x61, 0x74, 0x63, 0x68, 0x22, 0x29, 0x3b, 0x0a, 0x0a, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, - 0x20, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x61, 0x73, 0x28, 0x31, 0x36, 0x29, 0x20, 0x4c, 0x43, 0x53, - 0x52, 0x54, 0x44, 0x61, 0x74, 0x61, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x66, 0x6c, 0x6f, - 0x61, 0x74, 0x20, 0x73, 0x78, 0x2c, 0x20, 0x61, 0x2c, 0x20, 0x62, 0x2c, 0x20, 0x70, 0x76, 0x78, - 0x2c, 0x20, 0x73, 0x79, 0x2c, 0x20, 0x63, 0x2c, 0x20, 0x70, 0x76, 0x79, 0x2c, 0x20, 0x73, 0x7a, - 0x2c, 0x20, 0x70, 0x76, 0x7a, 0x2c, 0x20, 0x71, 0x78, 0x2c, 0x20, 0x71, 0x79, 0x2c, 0x20, 0x71, - 0x7a, 0x2c, 0x20, 0x71, 0x77, 0x2c, 0x20, 0x74, 0x78, 0x2c, 0x20, 0x74, 0x79, 0x2c, 0x20, 0x74, - 0x7a, 0x3b, 0x0a, 0x7d, 0x3b, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x5f, 0x61, 0x73, - 0x73, 0x65, 0x72, 0x74, 0x28, 0x73, 0x69, 0x7a, 0x65, 0x6f, 0x66, 0x28, 0x4c, 0x43, 0x53, 0x52, - 0x54, 0x44, 0x61, 0x74, 0x61, 0x29, 0x20, 0x3d, 0x3d, 0x20, 0x36, 0x34, 0x75, 0x2c, 0x20, 0x22, - 0x4c, 0x43, 0x53, 0x52, 0x54, 0x44, 0x61, 0x74, 0x61, 0x20, 0x73, 0x69, 0x7a, 0x65, 0x20, 0x6d, - 0x69, 0x73, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x22, 0x29, 0x3b, 0x0a, 0x0a, 0x73, 0x74, 0x72, 0x75, - 0x63, 0x74, 0x20, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x61, 0x73, 0x28, 0x31, 0x36, 0x29, 0x20, 0x4c, - 0x43, 0x4d, 0x61, 0x74, 0x72, 0x69, 0x78, 0x44, 0x61, 0x74, 0x61, 0x20, 0x7b, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x6d, 0x5b, 0x31, 0x32, 0x5d, 0x3b, 0x0a, 0x7d, + 0x6f, 0x61, 0x74, 0x2c, 0x20, 0x33, 0x3e, 0x20, 0x6d, 0x30, 0x3b, 0x20, 0x2f, 0x2f, 0x20, 0x70, + 0x69, 0x76, 0x6f, 0x74, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x61, 0x72, 0x72, 0x61, + 0x79, 0x3c, 0x6c, 0x63, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x2c, 0x20, 0x34, 0x3e, 0x20, 0x6d, + 0x31, 0x3b, 0x20, 0x2f, 0x2f, 0x20, 0x71, 0x75, 0x61, 0x74, 0x65, 0x72, 0x6e, 0x69, 0x6f, 0x6e, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x61, 0x72, 0x72, 0x61, 0x79, 0x3c, 0x6c, 0x63, + 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x2c, 0x20, 0x33, 0x3e, 0x20, 0x6d, 0x32, 0x3b, 0x20, 0x2f, + 0x2f, 0x20, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x61, + 0x72, 0x72, 0x61, 0x79, 0x3c, 0x6c, 0x63, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x2c, 0x20, 0x33, + 0x3e, 0x20, 0x6d, 0x33, 0x3b, 0x20, 0x2f, 0x2f, 0x20, 0x73, 0x68, 0x65, 0x61, 0x72, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x61, 0x72, 0x72, 0x61, 0x79, 0x3c, 0x6c, 0x63, 0x5f, 0x66, + 0x6c, 0x6f, 0x61, 0x74, 0x2c, 0x20, 0x33, 0x3e, 0x20, 0x6d, 0x34, 0x3b, 0x20, 0x2f, 0x2f, 0x20, + 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x0a, 0x7d, 0x3b, 0x0a, 0x0a, + 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x5f, 0x61, 0x73, 0x73, 0x65, 0x72, 0x74, 0x28, 0x73, 0x69, + 0x7a, 0x65, 0x6f, 0x66, 0x28, 0x4c, 0x43, 0x4d, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x52, 0x54, + 0x29, 0x20, 0x3d, 0x3d, 0x20, 0x36, 0x34, 0x75, 0x2c, 0x20, 0x22, 0x4c, 0x43, 0x4d, 0x6f, 0x74, + 0x69, 0x6f, 0x6e, 0x53, 0x52, 0x54, 0x20, 0x73, 0x69, 0x7a, 0x65, 0x20, 0x6d, 0x69, 0x73, 0x6d, + 0x61, 0x74, 0x63, 0x68, 0x22, 0x29, 0x3b, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x5f, 0x61, + 0x73, 0x73, 0x65, 0x72, 0x74, 0x28, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x6f, 0x66, 0x28, 0x4c, 0x43, + 0x4d, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x52, 0x54, 0x29, 0x20, 0x3d, 0x3d, 0x20, 0x31, 0x36, + 0x75, 0x2c, 0x20, 0x22, 0x4c, 0x43, 0x4d, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x52, 0x54, 0x20, + 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x20, 0x6d, 0x69, 0x73, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x22, 0x29, + 0x3b, 0x0a, 0x0a, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x20, 0x4c, 0x43, 0x4d, 0x6f, 0x74, 0x69, + 0x6f, 0x6e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, + 0x65, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x3b, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x73, + 0x74, 0x61, 0x72, 0x74, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, + 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x65, 0x6e, 0x64, 0x3b, 0x0a, 0x7d, 0x3b, 0x0a, 0x0a, 0x73, 0x74, + 0x72, 0x75, 0x63, 0x74, 0x20, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x61, 0x73, 0x28, 0x31, 0x36, 0x29, + 0x20, 0x4c, 0x43, 0x4d, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, + 0x72, 0x6d, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x75, + 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x6c, 0x6f, 0x6e, 0x67, 0x20, 0x6c, 0x6f, 0x6e, + 0x67, 0x20, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x4c, 0x43, 0x4d, + 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x20, 0x6f, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, + 0x65, 0x64, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x70, 0x61, 0x64, 0x5b, 0x33, 0x5d, 0x3b, 0x0a, 0x7d, 0x3b, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x5f, 0x61, 0x73, 0x73, 0x65, 0x72, 0x74, - 0x28, 0x73, 0x69, 0x7a, 0x65, 0x6f, 0x66, 0x28, 0x4c, 0x43, 0x4d, 0x61, 0x74, 0x72, 0x69, 0x78, - 0x44, 0x61, 0x74, 0x61, 0x29, 0x20, 0x3d, 0x3d, 0x20, 0x34, 0x38, 0x75, 0x2c, 0x20, 0x22, 0x4c, - 0x43, 0x4d, 0x61, 0x74, 0x72, 0x69, 0x78, 0x44, 0x61, 0x74, 0x61, 0x20, 0x73, 0x69, 0x7a, 0x65, - 0x20, 0x6d, 0x69, 0x73, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x22, 0x29, 0x3b, 0x0a, 0x0a, 0x65, 0x6e, - 0x75, 0x6d, 0x20, 0x4c, 0x43, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x46, 0x6c, 0x61, - 0x67, 0x73, 0x20, 0x3a, 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x20, 0x7b, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x4c, 0x43, 0x5f, 0x49, 0x4e, 0x53, 0x54, 0x41, 0x4e, 0x43, 0x45, 0x5f, 0x46, - 0x4c, 0x41, 0x47, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x20, 0x3d, 0x20, 0x30, 0x75, 0x2c, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x4c, 0x43, 0x5f, 0x49, 0x4e, 0x53, 0x54, 0x41, 0x4e, 0x43, 0x45, 0x5f, 0x46, - 0x4c, 0x41, 0x47, 0x5f, 0x44, 0x49, 0x53, 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x54, 0x52, 0x49, 0x41, - 0x4e, 0x47, 0x4c, 0x45, 0x5f, 0x46, 0x41, 0x43, 0x45, 0x5f, 0x43, 0x55, 0x4c, 0x4c, 0x49, 0x4e, - 0x47, 0x20, 0x3d, 0x20, 0x31, 0x75, 0x20, 0x3c, 0x3c, 0x20, 0x30, 0x75, 0x2c, 0x0a, 0x20, 0x20, + 0x28, 0x73, 0x69, 0x7a, 0x65, 0x6f, 0x66, 0x28, 0x4c, 0x43, 0x4d, 0x6f, 0x74, 0x69, 0x6f, 0x6e, + 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x29, + 0x20, 0x3d, 0x3d, 0x20, 0x33, 0x32, 0x75, 0x2c, 0x20, 0x22, 0x4c, 0x43, 0x4d, 0x6f, 0x74, 0x69, + 0x6f, 0x6e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x42, 0x75, 0x66, 0x66, 0x65, + 0x72, 0x20, 0x73, 0x69, 0x7a, 0x65, 0x20, 0x6d, 0x69, 0x73, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x22, + 0x29, 0x3b, 0x0a, 0x0a, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x20, 0x61, 0x6c, 0x69, 0x67, 0x6e, + 0x61, 0x73, 0x28, 0x31, 0x36, 0x29, 0x20, 0x4c, 0x43, 0x53, 0x52, 0x54, 0x44, 0x61, 0x74, 0x61, + 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x73, 0x78, 0x2c, + 0x20, 0x61, 0x2c, 0x20, 0x62, 0x2c, 0x20, 0x70, 0x76, 0x78, 0x2c, 0x20, 0x73, 0x79, 0x2c, 0x20, + 0x63, 0x2c, 0x20, 0x70, 0x76, 0x79, 0x2c, 0x20, 0x73, 0x7a, 0x2c, 0x20, 0x70, 0x76, 0x7a, 0x2c, + 0x20, 0x71, 0x78, 0x2c, 0x20, 0x71, 0x79, 0x2c, 0x20, 0x71, 0x7a, 0x2c, 0x20, 0x71, 0x77, 0x2c, + 0x20, 0x74, 0x78, 0x2c, 0x20, 0x74, 0x79, 0x2c, 0x20, 0x74, 0x7a, 0x3b, 0x0a, 0x7d, 0x3b, 0x0a, + 0x0a, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x5f, 0x61, 0x73, 0x73, 0x65, 0x72, 0x74, 0x28, 0x73, + 0x69, 0x7a, 0x65, 0x6f, 0x66, 0x28, 0x4c, 0x43, 0x53, 0x52, 0x54, 0x44, 0x61, 0x74, 0x61, 0x29, + 0x20, 0x3d, 0x3d, 0x20, 0x36, 0x34, 0x75, 0x2c, 0x20, 0x22, 0x4c, 0x43, 0x53, 0x52, 0x54, 0x44, + 0x61, 0x74, 0x61, 0x20, 0x73, 0x69, 0x7a, 0x65, 0x20, 0x6d, 0x69, 0x73, 0x6d, 0x61, 0x74, 0x63, + 0x68, 0x22, 0x29, 0x3b, 0x0a, 0x0a, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x20, 0x61, 0x6c, 0x69, + 0x67, 0x6e, 0x61, 0x73, 0x28, 0x31, 0x36, 0x29, 0x20, 0x4c, 0x43, 0x4d, 0x61, 0x74, 0x72, 0x69, + 0x78, 0x44, 0x61, 0x74, 0x61, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, + 0x74, 0x20, 0x6d, 0x5b, 0x31, 0x32, 0x5d, 0x3b, 0x0a, 0x7d, 0x3b, 0x0a, 0x0a, 0x73, 0x74, 0x61, + 0x74, 0x69, 0x63, 0x5f, 0x61, 0x73, 0x73, 0x65, 0x72, 0x74, 0x28, 0x73, 0x69, 0x7a, 0x65, 0x6f, + 0x66, 0x28, 0x4c, 0x43, 0x4d, 0x61, 0x74, 0x72, 0x69, 0x78, 0x44, 0x61, 0x74, 0x61, 0x29, 0x20, + 0x3d, 0x3d, 0x20, 0x34, 0x38, 0x75, 0x2c, 0x20, 0x22, 0x4c, 0x43, 0x4d, 0x61, 0x74, 0x72, 0x69, + 0x78, 0x44, 0x61, 0x74, 0x61, 0x20, 0x73, 0x69, 0x7a, 0x65, 0x20, 0x6d, 0x69, 0x73, 0x6d, 0x61, + 0x74, 0x63, 0x68, 0x22, 0x29, 0x3b, 0x0a, 0x0a, 0x65, 0x6e, 0x75, 0x6d, 0x20, 0x4c, 0x43, 0x49, + 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x20, 0x3a, 0x20, 0x6c, + 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x4c, 0x43, 0x5f, + 0x49, 0x4e, 0x53, 0x54, 0x41, 0x4e, 0x43, 0x45, 0x5f, 0x46, 0x4c, 0x41, 0x47, 0x5f, 0x4e, 0x4f, + 0x4e, 0x45, 0x20, 0x3d, 0x20, 0x30, 0x75, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x4c, 0x43, 0x5f, + 0x49, 0x4e, 0x53, 0x54, 0x41, 0x4e, 0x43, 0x45, 0x5f, 0x46, 0x4c, 0x41, 0x47, 0x5f, 0x44, 0x49, + 0x53, 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x54, 0x52, 0x49, 0x41, 0x4e, 0x47, 0x4c, 0x45, 0x5f, 0x46, + 0x41, 0x43, 0x45, 0x5f, 0x43, 0x55, 0x4c, 0x4c, 0x49, 0x4e, 0x47, 0x20, 0x3d, 0x20, 0x31, 0x75, + 0x20, 0x3c, 0x3c, 0x20, 0x30, 0x75, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x4c, 0x43, 0x5f, 0x49, + 0x4e, 0x53, 0x54, 0x41, 0x4e, 0x43, 0x45, 0x5f, 0x46, 0x4c, 0x41, 0x47, 0x5f, 0x46, 0x4c, 0x49, + 0x50, 0x5f, 0x54, 0x52, 0x49, 0x41, 0x4e, 0x47, 0x4c, 0x45, 0x5f, 0x46, 0x41, 0x43, 0x49, 0x4e, + 0x47, 0x20, 0x3d, 0x20, 0x31, 0x75, 0x20, 0x3c, 0x3c, 0x20, 0x31, 0x75, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x4c, 0x43, 0x5f, 0x49, 0x4e, 0x53, 0x54, 0x41, 0x4e, 0x43, 0x45, 0x5f, 0x46, 0x4c, - 0x41, 0x47, 0x5f, 0x46, 0x4c, 0x49, 0x50, 0x5f, 0x54, 0x52, 0x49, 0x41, 0x4e, 0x47, 0x4c, 0x45, - 0x5f, 0x46, 0x41, 0x43, 0x49, 0x4e, 0x47, 0x20, 0x3d, 0x20, 0x31, 0x75, 0x20, 0x3c, 0x3c, 0x20, - 0x31, 0x75, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x4c, 0x43, 0x5f, 0x49, 0x4e, 0x53, 0x54, 0x41, - 0x4e, 0x43, 0x45, 0x5f, 0x46, 0x4c, 0x41, 0x47, 0x5f, 0x44, 0x49, 0x53, 0x41, 0x42, 0x4c, 0x45, - 0x5f, 0x41, 0x4e, 0x59, 0x48, 0x49, 0x54, 0x20, 0x3d, 0x20, 0x31, 0x75, 0x20, 0x3c, 0x3c, 0x20, - 0x32, 0x75, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x4c, 0x43, 0x5f, 0x49, 0x4e, 0x53, 0x54, 0x41, - 0x4e, 0x43, 0x45, 0x5f, 0x46, 0x4c, 0x41, 0x47, 0x5f, 0x45, 0x4e, 0x46, 0x4f, 0x52, 0x43, 0x45, - 0x5f, 0x41, 0x4e, 0x59, 0x48, 0x49, 0x54, 0x20, 0x3d, 0x20, 0x31, 0x75, 0x20, 0x3c, 0x3c, 0x20, - 0x33, 0x75, 0x2c, 0x0a, 0x7d, 0x3b, 0x0a, 0x0a, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x20, 0x61, - 0x6c, 0x69, 0x67, 0x6e, 0x61, 0x73, 0x28, 0x31, 0x36, 0x29, 0x20, 0x4c, 0x43, 0x41, 0x63, 0x63, - 0x65, 0x6c, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x6c, 0x63, 0x5f, 0x61, 0x72, 0x72, 0x61, 0x79, 0x3c, 0x6c, 0x63, 0x5f, 0x66, 0x6c, 0x6f, - 0x61, 0x74, 0x34, 0x2c, 0x20, 0x33, 0x3e, 0x20, 0x6d, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, - 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x20, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x3b, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x20, 0x73, 0x62, 0x74, 0x5f, - 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x75, - 0x69, 0x6e, 0x74, 0x20, 0x6d, 0x61, 0x73, 0x6b, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, - 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x20, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x3b, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x6c, 0x6f, 0x6e, 0x67, 0x20, 0x6c, - 0x6f, 0x6e, 0x67, 0x20, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x20, 0x70, 0x61, 0x64, 0x5b, 0x32, 0x5d, 0x3b, 0x0a, - 0x7d, 0x3b, 0x0a, 0x0a, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x20, 0x61, 0x6c, 0x69, 0x67, 0x6e, - 0x61, 0x73, 0x28, 0x31, 0x36, 0x75, 0x29, 0x20, 0x4c, 0x43, 0x41, 0x63, 0x63, 0x65, 0x6c, 0x20, - 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x6c, - 0x6f, 0x6e, 0x67, 0x20, 0x6c, 0x6f, 0x6e, 0x67, 0x20, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x3b, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x4c, 0x43, 0x41, 0x63, 0x63, 0x65, 0x6c, 0x49, 0x6e, 0x73, 0x74, - 0x61, 0x6e, 0x63, 0x65, 0x20, 0x2a, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x3b, - 0x0a, 0x7d, 0x3b, 0x0a, 0x0a, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x3c, 0x74, 0x79, - 0x70, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x54, 0x3e, 0x0a, 0x5b, 0x5b, 0x6e, 0x6f, 0x64, 0x69, - 0x73, 0x63, 0x61, 0x72, 0x64, 0x5d, 0x5d, 0x20, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, - 0x5f, 0x5f, 0x20, 0x54, 0x20, 0x2a, 0x6c, 0x63, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, - 0x65, 0x5f, 0x6d, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x28, 0x4c, 0x43, - 0x41, 0x63, 0x63, 0x65, 0x6c, 0x20, 0x61, 0x63, 0x63, 0x65, 0x6c, 0x2c, 0x20, 0x6c, 0x63, 0x5f, - 0x75, 0x69, 0x6e, 0x74, 0x20, 0x69, 0x6e, 0x73, 0x74, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x2c, - 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x20, 0x6b, 0x65, 0x79, 0x5f, 0x69, 0x6e, 0x64, - 0x65, 0x78, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x61, 0x73, 0x73, 0x75, 0x6d, 0x65, 0x28, 0x5f, 0x5f, 0x69, - 0x73, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x28, 0x61, 0x63, 0x63, 0x65, 0x6c, 0x2e, 0x69, 0x6e, - 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, - 0x75, 0x74, 0x6f, 0x20, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x20, 0x3d, 0x20, 0x61, 0x63, 0x63, - 0x65, 0x6c, 0x2e, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x5b, 0x69, 0x6e, 0x73, - 0x74, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5d, 0x2e, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x3b, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, - 0x20, 0x3d, 0x20, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, - 0x61, 0x73, 0x74, 0x3c, 0x4c, 0x43, 0x4d, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x72, 0x61, 0x6e, - 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x20, 0x2a, 0x3e, 0x28, 0x68, - 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x20, 0x26, 0x20, 0x7e, 0x30, 0x78, 0x30, 0x66, 0x75, 0x6c, 0x6c, - 0x29, 0x3b, 0x0a, 0x23, 0x69, 0x66, 0x64, 0x65, 0x66, 0x20, 0x4c, 0x55, 0x49, 0x53, 0x41, 0x5f, - 0x44, 0x45, 0x42, 0x55, 0x47, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x63, 0x68, 0x65, - 0x63, 0x6b, 0x5f, 0x69, 0x6e, 0x5f, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x73, 0x28, 0x6b, 0x65, 0x79, - 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x2c, 0x20, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x2d, 0x3e, - 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x29, 0x3b, 0x0a, - 0x23, 0x65, 0x6e, 0x64, 0x69, 0x66, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, - 0x6e, 0x20, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, - 0x73, 0x74, 0x3c, 0x54, 0x20, 0x2a, 0x3e, 0x28, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x20, 0x2b, - 0x20, 0x31, 0x29, 0x20, 0x2b, 0x20, 0x6b, 0x65, 0x79, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x3b, - 0x0a, 0x7d, 0x0a, 0x0a, 0x5b, 0x5b, 0x6e, 0x6f, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x5d, - 0x5d, 0x20, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x6c, 0x63, 0x5f, - 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x34, 0x78, 0x34, 0x20, 0x6c, 0x63, 0x5f, 0x69, 0x6e, 0x73, 0x74, - 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x6d, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x74, 0x72, - 0x69, 0x78, 0x28, 0x4c, 0x43, 0x41, 0x63, 0x63, 0x65, 0x6c, 0x20, 0x61, 0x63, 0x63, 0x65, 0x6c, - 0x2c, 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x20, 0x69, 0x6e, 0x73, 0x74, 0x5f, 0x69, - 0x6e, 0x64, 0x65, 0x78, 0x2c, 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x20, 0x6b, 0x65, - 0x79, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, - 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x6d, 0x20, 0x3d, - 0x20, 0x2a, 0x6c, 0x63, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x6d, 0x6f, - 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x3c, 0x4c, 0x43, 0x4d, 0x61, 0x74, 0x72, - 0x69, 0x78, 0x44, 0x61, 0x74, 0x61, 0x3e, 0x28, 0x61, 0x63, 0x63, 0x65, 0x6c, 0x2c, 0x20, 0x69, - 0x6e, 0x73, 0x74, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x2c, 0x20, 0x6b, 0x65, 0x79, 0x5f, 0x69, - 0x6e, 0x64, 0x65, 0x78, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, - 0x6e, 0x20, 0x6c, 0x63, 0x5f, 0x6d, 0x61, 0x6b, 0x65, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x34, - 0x78, 0x34, 0x28, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6d, 0x2e, 0x6d, 0x5b, - 0x30, 0x5d, 0x2c, 0x20, 0x6d, 0x2e, 0x6d, 0x5b, 0x34, 0x5d, 0x2c, 0x20, 0x6d, 0x2e, 0x6d, 0x5b, - 0x38, 0x5d, 0x2c, 0x20, 0x30, 0x2e, 0x30, 0x66, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x6d, 0x2e, 0x6d, 0x5b, 0x31, 0x5d, 0x2c, 0x20, 0x6d, 0x2e, 0x6d, 0x5b, 0x35, 0x5d, - 0x2c, 0x20, 0x6d, 0x2e, 0x6d, 0x5b, 0x39, 0x5d, 0x2c, 0x20, 0x30, 0x2e, 0x30, 0x66, 0x2c, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6d, 0x2e, 0x6d, 0x5b, 0x32, 0x5d, 0x2c, 0x20, - 0x6d, 0x2e, 0x6d, 0x5b, 0x36, 0x5d, 0x2c, 0x20, 0x6d, 0x2e, 0x6d, 0x5b, 0x31, 0x30, 0x5d, 0x2c, - 0x20, 0x30, 0x2e, 0x30, 0x66, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6d, - 0x2e, 0x6d, 0x5b, 0x33, 0x5d, 0x2c, 0x20, 0x6d, 0x2e, 0x6d, 0x5b, 0x37, 0x5d, 0x2c, 0x20, 0x6d, - 0x2e, 0x6d, 0x5b, 0x31, 0x31, 0x5d, 0x2c, 0x20, 0x31, 0x2e, 0x30, 0x66, 0x29, 0x3b, 0x0a, 0x7d, - 0x0a, 0x0a, 0x5b, 0x5b, 0x6e, 0x6f, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x5d, 0x5d, 0x20, - 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x4c, 0x43, 0x4d, 0x6f, 0x74, - 0x69, 0x6f, 0x6e, 0x53, 0x52, 0x54, 0x20, 0x6c, 0x63, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, - 0x63, 0x65, 0x5f, 0x6d, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x72, 0x74, 0x28, 0x4c, 0x43, - 0x41, 0x63, 0x63, 0x65, 0x6c, 0x20, 0x61, 0x63, 0x63, 0x65, 0x6c, 0x2c, 0x20, 0x6c, 0x63, 0x5f, - 0x75, 0x69, 0x6e, 0x74, 0x20, 0x69, 0x6e, 0x73, 0x74, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x2c, - 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x20, 0x6b, 0x65, 0x79, 0x5f, 0x69, 0x6e, 0x64, - 0x65, 0x78, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x73, 0x72, 0x74, 0x20, 0x3d, 0x20, 0x2a, 0x6c, - 0x63, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x6d, 0x6f, 0x74, 0x69, 0x6f, - 0x6e, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x3c, 0x4c, 0x43, 0x53, 0x52, 0x54, 0x44, 0x61, 0x74, 0x61, + 0x41, 0x47, 0x5f, 0x44, 0x49, 0x53, 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x41, 0x4e, 0x59, 0x48, 0x49, + 0x54, 0x20, 0x3d, 0x20, 0x31, 0x75, 0x20, 0x3c, 0x3c, 0x20, 0x32, 0x75, 0x2c, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x4c, 0x43, 0x5f, 0x49, 0x4e, 0x53, 0x54, 0x41, 0x4e, 0x43, 0x45, 0x5f, 0x46, 0x4c, + 0x41, 0x47, 0x5f, 0x45, 0x4e, 0x46, 0x4f, 0x52, 0x43, 0x45, 0x5f, 0x41, 0x4e, 0x59, 0x48, 0x49, + 0x54, 0x20, 0x3d, 0x20, 0x31, 0x75, 0x20, 0x3c, 0x3c, 0x20, 0x33, 0x75, 0x2c, 0x0a, 0x7d, 0x3b, + 0x0a, 0x0a, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x20, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x61, 0x73, + 0x28, 0x31, 0x36, 0x29, 0x20, 0x4c, 0x43, 0x41, 0x63, 0x63, 0x65, 0x6c, 0x49, 0x6e, 0x73, 0x74, + 0x61, 0x6e, 0x63, 0x65, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x61, 0x72, + 0x72, 0x61, 0x79, 0x3c, 0x6c, 0x63, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x34, 0x2c, 0x20, 0x33, + 0x3e, 0x20, 0x6d, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, + 0x20, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, + 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x20, 0x73, 0x62, 0x74, 0x5f, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, + 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x20, 0x6d, 0x61, + 0x73, 0x6b, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x20, + 0x66, 0x6c, 0x61, 0x67, 0x73, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, + 0x6e, 0x65, 0x64, 0x20, 0x6c, 0x6f, 0x6e, 0x67, 0x20, 0x6c, 0x6f, 0x6e, 0x67, 0x20, 0x68, 0x61, + 0x6e, 0x64, 0x6c, 0x65, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, + 0x74, 0x20, 0x70, 0x61, 0x64, 0x5b, 0x32, 0x5d, 0x3b, 0x0a, 0x7d, 0x3b, 0x0a, 0x0a, 0x73, 0x74, + 0x72, 0x75, 0x63, 0x74, 0x20, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x61, 0x73, 0x28, 0x31, 0x36, 0x75, + 0x29, 0x20, 0x4c, 0x43, 0x41, 0x63, 0x63, 0x65, 0x6c, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x6c, 0x6f, 0x6e, 0x67, 0x20, 0x6c, 0x6f, + 0x6e, 0x67, 0x20, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x4c, + 0x43, 0x41, 0x63, 0x63, 0x65, 0x6c, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x20, 0x2a, + 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x3b, 0x0a, 0x7d, 0x3b, 0x0a, 0x0a, 0x74, + 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x3c, 0x74, 0x79, 0x70, 0x65, 0x6e, 0x61, 0x6d, 0x65, + 0x20, 0x54, 0x3e, 0x0a, 0x5b, 0x5b, 0x6e, 0x6f, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x5d, + 0x5d, 0x20, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x54, 0x20, 0x2a, + 0x6c, 0x63, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x6d, 0x6f, 0x74, 0x69, + 0x6f, 0x6e, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x28, 0x4c, 0x43, 0x41, 0x63, 0x63, 0x65, 0x6c, 0x20, + 0x61, 0x63, 0x63, 0x65, 0x6c, 0x2c, 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x20, 0x69, + 0x6e, 0x73, 0x74, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x2c, 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x69, + 0x6e, 0x74, 0x20, 0x6b, 0x65, 0x79, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x29, 0x20, 0x6e, 0x6f, + 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, + 0x61, 0x73, 0x73, 0x75, 0x6d, 0x65, 0x28, 0x5f, 0x5f, 0x69, 0x73, 0x47, 0x6c, 0x6f, 0x62, 0x61, + 0x6c, 0x28, 0x61, 0x63, 0x63, 0x65, 0x6c, 0x2e, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, + 0x73, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x68, 0x61, + 0x6e, 0x64, 0x6c, 0x65, 0x20, 0x3d, 0x20, 0x61, 0x63, 0x63, 0x65, 0x6c, 0x2e, 0x69, 0x6e, 0x73, + 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x5b, 0x69, 0x6e, 0x73, 0x74, 0x5f, 0x69, 0x6e, 0x64, 0x65, + 0x78, 0x5d, 0x2e, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, + 0x75, 0x74, 0x6f, 0x20, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x20, 0x3d, 0x20, 0x72, 0x65, 0x69, + 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x4c, 0x43, + 0x4d, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x42, + 0x75, 0x66, 0x66, 0x65, 0x72, 0x20, 0x2a, 0x3e, 0x28, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x20, + 0x26, 0x20, 0x7e, 0x30, 0x78, 0x30, 0x66, 0x75, 0x6c, 0x6c, 0x29, 0x3b, 0x0a, 0x23, 0x69, 0x66, + 0x64, 0x65, 0x66, 0x20, 0x4c, 0x55, 0x49, 0x53, 0x41, 0x5f, 0x44, 0x45, 0x42, 0x55, 0x47, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x5f, 0x69, 0x6e, 0x5f, + 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x73, 0x28, 0x6b, 0x65, 0x79, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, + 0x2c, 0x20, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x2d, 0x3e, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x2e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x29, 0x3b, 0x0a, 0x23, 0x65, 0x6e, 0x64, 0x69, 0x66, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x72, 0x65, 0x69, 0x6e, + 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x54, 0x20, 0x2a, + 0x3e, 0x28, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x20, 0x2b, 0x20, 0x31, 0x29, 0x20, 0x2b, 0x20, + 0x6b, 0x65, 0x79, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x5b, 0x5b, + 0x6e, 0x6f, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x5d, 0x5d, 0x20, 0x5f, 0x5f, 0x64, 0x65, + 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x6c, 0x63, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x34, + 0x78, 0x34, 0x20, 0x6c, 0x63, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x6d, + 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x74, 0x72, 0x69, 0x78, 0x28, 0x4c, 0x43, 0x41, + 0x63, 0x63, 0x65, 0x6c, 0x20, 0x61, 0x63, 0x63, 0x65, 0x6c, 0x2c, 0x20, 0x6c, 0x63, 0x5f, 0x75, + 0x69, 0x6e, 0x74, 0x20, 0x69, 0x6e, 0x73, 0x74, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x2c, 0x20, + 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x20, 0x6b, 0x65, 0x79, 0x5f, 0x69, 0x6e, 0x64, 0x65, + 0x78, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x6d, 0x20, 0x3d, 0x20, 0x2a, 0x6c, 0x63, 0x5f, 0x69, + 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x6d, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, + 0x61, 0x74, 0x61, 0x3c, 0x4c, 0x43, 0x4d, 0x61, 0x74, 0x72, 0x69, 0x78, 0x44, 0x61, 0x74, 0x61, 0x3e, 0x28, 0x61, 0x63, 0x63, 0x65, 0x6c, 0x2c, 0x20, 0x69, 0x6e, 0x73, 0x74, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x2c, 0x20, 0x6b, 0x65, 0x79, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x29, 0x3b, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x4c, 0x43, 0x4d, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x52, 0x54, - 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x73, - 0x75, 0x6c, 0x74, 0x2e, 0x6d, 0x30, 0x5b, 0x30, 0x5d, 0x20, 0x3d, 0x20, 0x73, 0x72, 0x74, 0x2e, - 0x70, 0x76, 0x78, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, - 0x6d, 0x30, 0x5b, 0x31, 0x5d, 0x20, 0x3d, 0x20, 0x73, 0x72, 0x74, 0x2e, 0x70, 0x76, 0x79, 0x3b, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x6d, 0x30, 0x5b, 0x32, - 0x5d, 0x20, 0x3d, 0x20, 0x73, 0x72, 0x74, 0x2e, 0x70, 0x76, 0x7a, 0x3b, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x6d, 0x31, 0x5b, 0x30, 0x5d, 0x20, 0x3d, 0x20, - 0x73, 0x72, 0x74, 0x2e, 0x71, 0x78, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x73, 0x75, - 0x6c, 0x74, 0x2e, 0x6d, 0x31, 0x5b, 0x31, 0x5d, 0x20, 0x3d, 0x20, 0x73, 0x72, 0x74, 0x2e, 0x71, - 0x79, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x6d, 0x31, - 0x5b, 0x32, 0x5d, 0x20, 0x3d, 0x20, 0x73, 0x72, 0x74, 0x2e, 0x71, 0x7a, 0x3b, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x6d, 0x31, 0x5b, 0x33, 0x5d, 0x20, 0x3d, - 0x20, 0x73, 0x72, 0x74, 0x2e, 0x71, 0x77, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x73, - 0x75, 0x6c, 0x74, 0x2e, 0x6d, 0x32, 0x5b, 0x30, 0x5d, 0x20, 0x3d, 0x20, 0x73, 0x72, 0x74, 0x2e, - 0x73, 0x78, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x6d, - 0x32, 0x5b, 0x31, 0x5d, 0x20, 0x3d, 0x20, 0x73, 0x72, 0x74, 0x2e, 0x73, 0x79, 0x3b, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x6d, 0x32, 0x5b, 0x32, 0x5d, 0x20, - 0x3d, 0x20, 0x73, 0x72, 0x74, 0x2e, 0x73, 0x7a, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, - 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x6d, 0x33, 0x5b, 0x30, 0x5d, 0x20, 0x3d, 0x20, 0x73, 0x72, 0x74, - 0x2e, 0x74, 0x78, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, - 0x6d, 0x33, 0x5b, 0x31, 0x5d, 0x20, 0x3d, 0x20, 0x73, 0x72, 0x74, 0x2e, 0x74, 0x79, 0x3b, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x6d, 0x33, 0x5b, 0x32, 0x5d, - 0x20, 0x3d, 0x20, 0x73, 0x72, 0x74, 0x2e, 0x74, 0x7a, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, - 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x3b, 0x0a, 0x7d, 0x0a, - 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x76, 0x6f, 0x69, 0x64, - 0x20, 0x6c, 0x63, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, - 0x5f, 0x6d, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x74, 0x72, 0x69, 0x78, 0x28, 0x4c, - 0x43, 0x41, 0x63, 0x63, 0x65, 0x6c, 0x20, 0x61, 0x63, 0x63, 0x65, 0x6c, 0x2c, 0x20, 0x6c, 0x63, - 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x20, 0x69, 0x6e, 0x73, 0x74, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, - 0x2c, 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x20, 0x6b, 0x65, 0x79, 0x5f, 0x69, 0x6e, - 0x64, 0x65, 0x78, 0x2c, 0x20, 0x6c, 0x63, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x34, 0x78, 0x34, - 0x20, 0x6d, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x4c, 0x43, 0x4d, 0x61, 0x74, 0x72, 0x69, 0x78, 0x44, 0x61, 0x74, 0x61, 0x20, - 0x64, 0x61, 0x74, 0x61, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x6d, - 0x5b, 0x30, 0x5d, 0x20, 0x3d, 0x20, 0x6d, 0x5b, 0x30, 0x5d, 0x5b, 0x30, 0x5d, 0x3b, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x6d, 0x5b, 0x31, 0x5d, 0x20, 0x3d, 0x20, 0x6d, - 0x5b, 0x31, 0x5d, 0x5b, 0x30, 0x5d, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x64, 0x61, 0x74, 0x61, - 0x2e, 0x6d, 0x5b, 0x32, 0x5d, 0x20, 0x3d, 0x20, 0x6d, 0x5b, 0x32, 0x5d, 0x5b, 0x30, 0x5d, 0x3b, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x6d, 0x5b, 0x33, 0x5d, 0x20, 0x3d, - 0x20, 0x6d, 0x5b, 0x33, 0x5d, 0x5b, 0x30, 0x5d, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x64, 0x61, - 0x74, 0x61, 0x2e, 0x6d, 0x5b, 0x34, 0x5d, 0x20, 0x3d, 0x20, 0x6d, 0x5b, 0x30, 0x5d, 0x5b, 0x31, - 0x5d, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x6d, 0x5b, 0x35, 0x5d, - 0x20, 0x3d, 0x20, 0x6d, 0x5b, 0x31, 0x5d, 0x5b, 0x31, 0x5d, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x64, 0x61, 0x74, 0x61, 0x2e, 0x6d, 0x5b, 0x36, 0x5d, 0x20, 0x3d, 0x20, 0x6d, 0x5b, 0x32, 0x5d, - 0x5b, 0x31, 0x5d, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x6d, 0x5b, - 0x37, 0x5d, 0x20, 0x3d, 0x20, 0x6d, 0x5b, 0x33, 0x5d, 0x5b, 0x31, 0x5d, 0x3b, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x6d, 0x5b, 0x38, 0x5d, 0x20, 0x3d, 0x20, 0x6d, 0x5b, - 0x30, 0x5d, 0x5b, 0x32, 0x5d, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x64, 0x61, 0x74, 0x61, 0x2e, - 0x6d, 0x5b, 0x39, 0x5d, 0x20, 0x3d, 0x20, 0x6d, 0x5b, 0x31, 0x5d, 0x5b, 0x32, 0x5d, 0x3b, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x6d, 0x5b, 0x31, 0x30, 0x5d, 0x20, 0x3d, - 0x20, 0x6d, 0x5b, 0x32, 0x5d, 0x5b, 0x32, 0x5d, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x64, 0x61, - 0x74, 0x61, 0x2e, 0x6d, 0x5b, 0x31, 0x31, 0x5d, 0x20, 0x3d, 0x20, 0x6d, 0x5b, 0x33, 0x5d, 0x5b, - 0x32, 0x5d, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x2a, 0x6c, 0x63, 0x5f, 0x69, 0x6e, 0x73, 0x74, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x6c, 0x63, 0x5f, 0x6d, + 0x61, 0x6b, 0x65, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x34, 0x78, 0x34, 0x28, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6d, 0x2e, 0x6d, 0x5b, 0x30, 0x5d, 0x2c, 0x20, 0x6d, 0x2e, + 0x6d, 0x5b, 0x34, 0x5d, 0x2c, 0x20, 0x6d, 0x2e, 0x6d, 0x5b, 0x38, 0x5d, 0x2c, 0x20, 0x30, 0x2e, + 0x30, 0x66, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6d, 0x2e, 0x6d, 0x5b, + 0x31, 0x5d, 0x2c, 0x20, 0x6d, 0x2e, 0x6d, 0x5b, 0x35, 0x5d, 0x2c, 0x20, 0x6d, 0x2e, 0x6d, 0x5b, + 0x39, 0x5d, 0x2c, 0x20, 0x30, 0x2e, 0x30, 0x66, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x6d, 0x2e, 0x6d, 0x5b, 0x32, 0x5d, 0x2c, 0x20, 0x6d, 0x2e, 0x6d, 0x5b, 0x36, 0x5d, + 0x2c, 0x20, 0x6d, 0x2e, 0x6d, 0x5b, 0x31, 0x30, 0x5d, 0x2c, 0x20, 0x30, 0x2e, 0x30, 0x66, 0x2c, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6d, 0x2e, 0x6d, 0x5b, 0x33, 0x5d, 0x2c, + 0x20, 0x6d, 0x2e, 0x6d, 0x5b, 0x37, 0x5d, 0x2c, 0x20, 0x6d, 0x2e, 0x6d, 0x5b, 0x31, 0x31, 0x5d, + 0x2c, 0x20, 0x31, 0x2e, 0x30, 0x66, 0x29, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x5b, 0x5b, 0x6e, 0x6f, + 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x5d, 0x5d, 0x20, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, + 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x4c, 0x43, 0x4d, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x52, 0x54, + 0x20, 0x6c, 0x63, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x6d, 0x6f, 0x74, + 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x72, 0x74, 0x28, 0x4c, 0x43, 0x41, 0x63, 0x63, 0x65, 0x6c, 0x20, + 0x61, 0x63, 0x63, 0x65, 0x6c, 0x2c, 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x20, 0x69, + 0x6e, 0x73, 0x74, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x2c, 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x69, + 0x6e, 0x74, 0x20, 0x6b, 0x65, 0x79, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x29, 0x20, 0x6e, 0x6f, + 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x75, 0x74, + 0x6f, 0x20, 0x73, 0x72, 0x74, 0x20, 0x3d, 0x20, 0x2a, 0x6c, 0x63, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x6d, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x61, 0x74, 0x61, - 0x3c, 0x4c, 0x43, 0x4d, 0x61, 0x74, 0x72, 0x69, 0x78, 0x44, 0x61, 0x74, 0x61, 0x3e, 0x28, 0x61, - 0x63, 0x63, 0x65, 0x6c, 0x2c, 0x20, 0x69, 0x6e, 0x73, 0x74, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, - 0x2c, 0x20, 0x6b, 0x65, 0x79, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x29, 0x20, 0x3d, 0x20, 0x64, - 0x61, 0x74, 0x61, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, - 0x5f, 0x5f, 0x20, 0x76, 0x6f, 0x69, 0x64, 0x20, 0x6c, 0x63, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x69, - 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x6d, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, - 0x72, 0x74, 0x28, 0x4c, 0x43, 0x41, 0x63, 0x63, 0x65, 0x6c, 0x20, 0x61, 0x63, 0x63, 0x65, 0x6c, - 0x2c, 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x20, 0x69, 0x6e, 0x73, 0x74, 0x5f, 0x69, - 0x6e, 0x64, 0x65, 0x78, 0x2c, 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x20, 0x6b, 0x65, - 0x79, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x2c, 0x20, 0x4c, 0x43, 0x4d, 0x6f, 0x74, 0x69, 0x6f, - 0x6e, 0x53, 0x52, 0x54, 0x20, 0x73, 0x72, 0x74, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, - 0x70, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x4c, 0x43, 0x53, 0x52, 0x54, 0x44, 0x61, - 0x74, 0x61, 0x20, 0x64, 0x61, 0x74, 0x61, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x64, 0x61, 0x74, - 0x61, 0x2e, 0x73, 0x78, 0x20, 0x3d, 0x20, 0x73, 0x72, 0x74, 0x2e, 0x6d, 0x32, 0x5b, 0x30, 0x5d, - 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x73, 0x79, 0x20, 0x3d, 0x20, - 0x73, 0x72, 0x74, 0x2e, 0x6d, 0x32, 0x5b, 0x31, 0x5d, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x64, - 0x61, 0x74, 0x61, 0x2e, 0x73, 0x7a, 0x20, 0x3d, 0x20, 0x73, 0x72, 0x74, 0x2e, 0x6d, 0x32, 0x5b, - 0x32, 0x5d, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x76, 0x78, - 0x20, 0x3d, 0x20, 0x73, 0x72, 0x74, 0x2e, 0x6d, 0x30, 0x5b, 0x30, 0x5d, 0x3b, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x76, 0x79, 0x20, 0x3d, 0x20, 0x73, 0x72, 0x74, - 0x2e, 0x6d, 0x30, 0x5b, 0x31, 0x5d, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x64, 0x61, 0x74, 0x61, - 0x2e, 0x70, 0x76, 0x7a, 0x20, 0x3d, 0x20, 0x73, 0x72, 0x74, 0x2e, 0x6d, 0x30, 0x5b, 0x32, 0x5d, - 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x71, 0x78, 0x20, 0x3d, 0x20, - 0x73, 0x72, 0x74, 0x2e, 0x6d, 0x31, 0x5b, 0x30, 0x5d, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x64, - 0x61, 0x74, 0x61, 0x2e, 0x71, 0x79, 0x20, 0x3d, 0x20, 0x73, 0x72, 0x74, 0x2e, 0x6d, 0x31, 0x5b, - 0x31, 0x5d, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x71, 0x7a, 0x20, - 0x3d, 0x20, 0x73, 0x72, 0x74, 0x2e, 0x6d, 0x31, 0x5b, 0x32, 0x5d, 0x3b, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x71, 0x77, 0x20, 0x3d, 0x20, 0x73, 0x72, 0x74, 0x2e, 0x6d, - 0x31, 0x5b, 0x33, 0x5d, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x74, - 0x78, 0x20, 0x3d, 0x20, 0x73, 0x72, 0x74, 0x2e, 0x6d, 0x33, 0x5b, 0x30, 0x5d, 0x3b, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x74, 0x79, 0x20, 0x3d, 0x20, 0x73, 0x72, 0x74, - 0x2e, 0x6d, 0x33, 0x5b, 0x31, 0x5d, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x64, 0x61, 0x74, 0x61, - 0x2e, 0x74, 0x7a, 0x20, 0x3d, 0x20, 0x73, 0x72, 0x74, 0x2e, 0x6d, 0x33, 0x5b, 0x32, 0x5d, 0x3b, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x2a, 0x6c, 0x63, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, - 0x65, 0x5f, 0x6d, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x3c, 0x4c, 0x43, - 0x53, 0x52, 0x54, 0x44, 0x61, 0x74, 0x61, 0x3e, 0x28, 0x61, 0x63, 0x63, 0x65, 0x6c, 0x2c, 0x20, + 0x3c, 0x4c, 0x43, 0x53, 0x52, 0x54, 0x44, 0x61, 0x74, 0x61, 0x3e, 0x28, 0x61, 0x63, 0x63, 0x65, + 0x6c, 0x2c, 0x20, 0x69, 0x6e, 0x73, 0x74, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x2c, 0x20, 0x6b, + 0x65, 0x79, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x4c, + 0x43, 0x4d, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x52, 0x54, 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, + 0x74, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x6d, 0x30, + 0x5b, 0x30, 0x5d, 0x20, 0x3d, 0x20, 0x73, 0x72, 0x74, 0x2e, 0x70, 0x76, 0x78, 0x3b, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x6d, 0x30, 0x5b, 0x31, 0x5d, 0x20, + 0x3d, 0x20, 0x73, 0x72, 0x74, 0x2e, 0x70, 0x76, 0x79, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, + 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x6d, 0x30, 0x5b, 0x32, 0x5d, 0x20, 0x3d, 0x20, 0x73, 0x72, + 0x74, 0x2e, 0x70, 0x76, 0x7a, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, + 0x74, 0x2e, 0x6d, 0x31, 0x5b, 0x30, 0x5d, 0x20, 0x3d, 0x20, 0x73, 0x72, 0x74, 0x2e, 0x71, 0x78, + 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x6d, 0x31, 0x5b, + 0x31, 0x5d, 0x20, 0x3d, 0x20, 0x73, 0x72, 0x74, 0x2e, 0x71, 0x79, 0x3b, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x6d, 0x31, 0x5b, 0x32, 0x5d, 0x20, 0x3d, 0x20, + 0x73, 0x72, 0x74, 0x2e, 0x71, 0x7a, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x73, 0x75, + 0x6c, 0x74, 0x2e, 0x6d, 0x31, 0x5b, 0x33, 0x5d, 0x20, 0x3d, 0x20, 0x73, 0x72, 0x74, 0x2e, 0x71, + 0x77, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x6d, 0x32, + 0x5b, 0x30, 0x5d, 0x20, 0x3d, 0x20, 0x73, 0x72, 0x74, 0x2e, 0x73, 0x78, 0x3b, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x6d, 0x32, 0x5b, 0x31, 0x5d, 0x20, 0x3d, + 0x20, 0x73, 0x72, 0x74, 0x2e, 0x73, 0x79, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x73, + 0x75, 0x6c, 0x74, 0x2e, 0x6d, 0x32, 0x5b, 0x32, 0x5d, 0x20, 0x3d, 0x20, 0x73, 0x72, 0x74, 0x2e, + 0x73, 0x7a, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x6d, + 0x33, 0x5b, 0x30, 0x5d, 0x20, 0x3d, 0x20, 0x73, 0x72, 0x74, 0x2e, 0x74, 0x78, 0x3b, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x6d, 0x33, 0x5b, 0x31, 0x5d, 0x20, + 0x3d, 0x20, 0x73, 0x72, 0x74, 0x2e, 0x74, 0x79, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, + 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x6d, 0x33, 0x5b, 0x32, 0x5d, 0x20, 0x3d, 0x20, 0x73, 0x72, 0x74, + 0x2e, 0x74, 0x7a, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, + 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, + 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x76, 0x6f, 0x69, 0x64, 0x20, 0x6c, 0x63, 0x5f, 0x73, 0x65, + 0x74, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x6d, 0x6f, 0x74, 0x69, 0x6f, + 0x6e, 0x5f, 0x6d, 0x61, 0x74, 0x72, 0x69, 0x78, 0x28, 0x4c, 0x43, 0x41, 0x63, 0x63, 0x65, 0x6c, + 0x20, 0x61, 0x63, 0x63, 0x65, 0x6c, 0x2c, 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x20, + 0x69, 0x6e, 0x73, 0x74, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x2c, 0x20, 0x6c, 0x63, 0x5f, 0x75, + 0x69, 0x6e, 0x74, 0x20, 0x6b, 0x65, 0x79, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x2c, 0x20, 0x6c, + 0x63, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x34, 0x78, 0x34, 0x20, 0x6d, 0x29, 0x20, 0x6e, 0x6f, + 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x4c, 0x43, 0x4d, + 0x61, 0x74, 0x72, 0x69, 0x78, 0x44, 0x61, 0x74, 0x61, 0x20, 0x64, 0x61, 0x74, 0x61, 0x3b, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x6d, 0x5b, 0x30, 0x5d, 0x20, 0x3d, 0x20, + 0x6d, 0x5b, 0x30, 0x5d, 0x5b, 0x30, 0x5d, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x64, 0x61, 0x74, + 0x61, 0x2e, 0x6d, 0x5b, 0x31, 0x5d, 0x20, 0x3d, 0x20, 0x6d, 0x5b, 0x31, 0x5d, 0x5b, 0x30, 0x5d, + 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x6d, 0x5b, 0x32, 0x5d, 0x20, + 0x3d, 0x20, 0x6d, 0x5b, 0x32, 0x5d, 0x5b, 0x30, 0x5d, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x64, + 0x61, 0x74, 0x61, 0x2e, 0x6d, 0x5b, 0x33, 0x5d, 0x20, 0x3d, 0x20, 0x6d, 0x5b, 0x33, 0x5d, 0x5b, + 0x30, 0x5d, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x6d, 0x5b, 0x34, + 0x5d, 0x20, 0x3d, 0x20, 0x6d, 0x5b, 0x30, 0x5d, 0x5b, 0x31, 0x5d, 0x3b, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x6d, 0x5b, 0x35, 0x5d, 0x20, 0x3d, 0x20, 0x6d, 0x5b, 0x31, + 0x5d, 0x5b, 0x31, 0x5d, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x6d, + 0x5b, 0x36, 0x5d, 0x20, 0x3d, 0x20, 0x6d, 0x5b, 0x32, 0x5d, 0x5b, 0x31, 0x5d, 0x3b, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x6d, 0x5b, 0x37, 0x5d, 0x20, 0x3d, 0x20, 0x6d, + 0x5b, 0x33, 0x5d, 0x5b, 0x31, 0x5d, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x64, 0x61, 0x74, 0x61, + 0x2e, 0x6d, 0x5b, 0x38, 0x5d, 0x20, 0x3d, 0x20, 0x6d, 0x5b, 0x30, 0x5d, 0x5b, 0x32, 0x5d, 0x3b, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x6d, 0x5b, 0x39, 0x5d, 0x20, 0x3d, + 0x20, 0x6d, 0x5b, 0x31, 0x5d, 0x5b, 0x32, 0x5d, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x64, 0x61, + 0x74, 0x61, 0x2e, 0x6d, 0x5b, 0x31, 0x30, 0x5d, 0x20, 0x3d, 0x20, 0x6d, 0x5b, 0x32, 0x5d, 0x5b, + 0x32, 0x5d, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x6d, 0x5b, 0x31, + 0x31, 0x5d, 0x20, 0x3d, 0x20, 0x6d, 0x5b, 0x33, 0x5d, 0x5b, 0x32, 0x5d, 0x3b, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x2a, 0x6c, 0x63, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x6d, + 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x3c, 0x4c, 0x43, 0x4d, 0x61, 0x74, + 0x72, 0x69, 0x78, 0x44, 0x61, 0x74, 0x61, 0x3e, 0x28, 0x61, 0x63, 0x63, 0x65, 0x6c, 0x2c, 0x20, 0x69, 0x6e, 0x73, 0x74, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x2c, 0x20, 0x6b, 0x65, 0x79, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x29, 0x20, 0x3d, 0x20, 0x64, 0x61, 0x74, 0x61, 0x3b, 0x0a, 0x7d, - 0x0a, 0x0a, 0x5b, 0x5b, 0x6e, 0x6f, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x5d, 0x5d, 0x20, - 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, - 0x65, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x6c, 0x63, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x6c, 0x5f, - 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, - 0x72, 0x6d, 0x28, 0x4c, 0x43, 0x41, 0x63, 0x63, 0x65, 0x6c, 0x20, 0x61, 0x63, 0x63, 0x65, 0x6c, - 0x2c, 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x20, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, - 0x63, 0x65, 0x5f, 0x69, 0x64, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, - 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x61, 0x73, 0x73, 0x75, 0x6d, 0x65, 0x28, - 0x5f, 0x5f, 0x69, 0x73, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x28, 0x61, 0x63, 0x63, 0x65, 0x6c, - 0x2e, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x6d, 0x20, 0x3d, 0x20, 0x61, 0x63, 0x63, 0x65, 0x6c, - 0x2e, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x5b, 0x69, 0x6e, 0x73, 0x74, 0x61, - 0x6e, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x5d, 0x2e, 0x6d, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, - 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x6c, 0x63, 0x5f, 0x6d, 0x61, 0x6b, 0x65, 0x5f, 0x66, 0x6c, - 0x6f, 0x61, 0x74, 0x34, 0x78, 0x34, 0x28, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x6d, 0x5b, 0x30, 0x5d, 0x2e, 0x78, 0x2c, 0x20, 0x6d, 0x5b, 0x31, 0x5d, 0x2e, 0x78, 0x2c, 0x20, - 0x6d, 0x5b, 0x32, 0x5d, 0x2e, 0x78, 0x2c, 0x20, 0x30, 0x2e, 0x30, 0x66, 0x2c, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6d, 0x5b, 0x30, 0x5d, 0x2e, 0x79, 0x2c, 0x20, 0x6d, 0x5b, - 0x31, 0x5d, 0x2e, 0x79, 0x2c, 0x20, 0x6d, 0x5b, 0x32, 0x5d, 0x2e, 0x79, 0x2c, 0x20, 0x30, 0x2e, - 0x30, 0x66, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6d, 0x5b, 0x30, 0x5d, - 0x2e, 0x7a, 0x2c, 0x20, 0x6d, 0x5b, 0x31, 0x5d, 0x2e, 0x7a, 0x2c, 0x20, 0x6d, 0x5b, 0x32, 0x5d, - 0x2e, 0x7a, 0x2c, 0x20, 0x30, 0x2e, 0x30, 0x66, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x6d, 0x5b, 0x30, 0x5d, 0x2e, 0x77, 0x2c, 0x20, 0x6d, 0x5b, 0x31, 0x5d, 0x2e, 0x77, - 0x2c, 0x20, 0x6d, 0x5b, 0x32, 0x5d, 0x2e, 0x77, 0x2c, 0x20, 0x31, 0x2e, 0x30, 0x66, 0x29, 0x3b, - 0x0a, 0x7d, 0x0a, 0x0a, 0x5b, 0x5b, 0x6e, 0x6f, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x5d, - 0x5d, 0x20, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, - 0x69, 0x6e, 0x65, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x6c, 0x63, 0x5f, 0x61, 0x63, 0x63, 0x65, - 0x6c, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, - 0x69, 0x64, 0x28, 0x4c, 0x43, 0x41, 0x63, 0x63, 0x65, 0x6c, 0x20, 0x61, 0x63, 0x63, 0x65, 0x6c, - 0x2c, 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x20, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, - 0x63, 0x65, 0x5f, 0x69, 0x64, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, + 0x0a, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x76, 0x6f, 0x69, + 0x64, 0x20, 0x6c, 0x63, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, + 0x65, 0x5f, 0x6d, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x72, 0x74, 0x28, 0x4c, 0x43, 0x41, + 0x63, 0x63, 0x65, 0x6c, 0x20, 0x61, 0x63, 0x63, 0x65, 0x6c, 0x2c, 0x20, 0x6c, 0x63, 0x5f, 0x75, + 0x69, 0x6e, 0x74, 0x20, 0x69, 0x6e, 0x73, 0x74, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x2c, 0x20, + 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x20, 0x6b, 0x65, 0x79, 0x5f, 0x69, 0x6e, 0x64, 0x65, + 0x78, 0x2c, 0x20, 0x4c, 0x43, 0x4d, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x52, 0x54, 0x20, 0x73, + 0x72, 0x74, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x4c, 0x43, 0x53, 0x52, 0x54, 0x44, 0x61, 0x74, 0x61, 0x20, 0x64, 0x61, 0x74, + 0x61, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x73, 0x78, 0x20, 0x3d, + 0x20, 0x73, 0x72, 0x74, 0x2e, 0x6d, 0x32, 0x5b, 0x30, 0x5d, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x64, 0x61, 0x74, 0x61, 0x2e, 0x73, 0x79, 0x20, 0x3d, 0x20, 0x73, 0x72, 0x74, 0x2e, 0x6d, 0x32, + 0x5b, 0x31, 0x5d, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x73, 0x7a, + 0x20, 0x3d, 0x20, 0x73, 0x72, 0x74, 0x2e, 0x6d, 0x32, 0x5b, 0x32, 0x5d, 0x3b, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x76, 0x78, 0x20, 0x3d, 0x20, 0x73, 0x72, 0x74, + 0x2e, 0x6d, 0x30, 0x5b, 0x30, 0x5d, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x64, 0x61, 0x74, 0x61, + 0x2e, 0x70, 0x76, 0x79, 0x20, 0x3d, 0x20, 0x73, 0x72, 0x74, 0x2e, 0x6d, 0x30, 0x5b, 0x31, 0x5d, + 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x76, 0x7a, 0x20, 0x3d, + 0x20, 0x73, 0x72, 0x74, 0x2e, 0x6d, 0x30, 0x5b, 0x32, 0x5d, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x64, 0x61, 0x74, 0x61, 0x2e, 0x71, 0x78, 0x20, 0x3d, 0x20, 0x73, 0x72, 0x74, 0x2e, 0x6d, 0x31, + 0x5b, 0x30, 0x5d, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x71, 0x79, + 0x20, 0x3d, 0x20, 0x73, 0x72, 0x74, 0x2e, 0x6d, 0x31, 0x5b, 0x31, 0x5d, 0x3b, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x71, 0x7a, 0x20, 0x3d, 0x20, 0x73, 0x72, 0x74, 0x2e, + 0x6d, 0x31, 0x5b, 0x32, 0x5d, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x64, 0x61, 0x74, 0x61, 0x2e, + 0x71, 0x77, 0x20, 0x3d, 0x20, 0x73, 0x72, 0x74, 0x2e, 0x6d, 0x31, 0x5b, 0x33, 0x5d, 0x3b, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x74, 0x78, 0x20, 0x3d, 0x20, 0x73, 0x72, + 0x74, 0x2e, 0x6d, 0x33, 0x5b, 0x30, 0x5d, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x64, 0x61, 0x74, + 0x61, 0x2e, 0x74, 0x79, 0x20, 0x3d, 0x20, 0x73, 0x72, 0x74, 0x2e, 0x6d, 0x33, 0x5b, 0x31, 0x5d, + 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x74, 0x7a, 0x20, 0x3d, 0x20, + 0x73, 0x72, 0x74, 0x2e, 0x6d, 0x33, 0x5b, 0x32, 0x5d, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x2a, + 0x6c, 0x63, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x6d, 0x6f, 0x74, 0x69, + 0x6f, 0x6e, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x3c, 0x4c, 0x43, 0x53, 0x52, 0x54, 0x44, 0x61, 0x74, + 0x61, 0x3e, 0x28, 0x61, 0x63, 0x63, 0x65, 0x6c, 0x2c, 0x20, 0x69, 0x6e, 0x73, 0x74, 0x5f, 0x69, + 0x6e, 0x64, 0x65, 0x78, 0x2c, 0x20, 0x6b, 0x65, 0x79, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x29, + 0x20, 0x3d, 0x20, 0x64, 0x61, 0x74, 0x61, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x5b, 0x5b, 0x6e, 0x6f, + 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x5d, 0x5d, 0x20, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, + 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x6c, 0x63, 0x5f, 0x61, 0x63, 0x63, + 0x65, 0x6c, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x74, 0x72, 0x61, 0x6e, + 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x28, 0x4c, 0x43, 0x41, 0x63, 0x63, 0x65, 0x6c, 0x20, 0x61, 0x63, + 0x63, 0x65, 0x6c, 0x2c, 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x20, 0x69, 0x6e, 0x73, + 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, + 0x70, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x61, 0x73, 0x73, 0x75, + 0x6d, 0x65, 0x28, 0x5f, 0x5f, 0x69, 0x73, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x28, 0x61, 0x63, + 0x63, 0x65, 0x6c, 0x2e, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x29, 0x29, 0x3b, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x6d, 0x20, 0x3d, 0x20, 0x61, 0x63, + 0x63, 0x65, 0x6c, 0x2e, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x5b, 0x69, 0x6e, + 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x5d, 0x2e, 0x6d, 0x3b, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x6c, 0x63, 0x5f, 0x6d, 0x61, 0x6b, 0x65, + 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x34, 0x78, 0x34, 0x28, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x6d, 0x5b, 0x30, 0x5d, 0x2e, 0x78, 0x2c, 0x20, 0x6d, 0x5b, 0x31, 0x5d, 0x2e, + 0x78, 0x2c, 0x20, 0x6d, 0x5b, 0x32, 0x5d, 0x2e, 0x78, 0x2c, 0x20, 0x30, 0x2e, 0x30, 0x66, 0x2c, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6d, 0x5b, 0x30, 0x5d, 0x2e, 0x79, 0x2c, + 0x20, 0x6d, 0x5b, 0x31, 0x5d, 0x2e, 0x79, 0x2c, 0x20, 0x6d, 0x5b, 0x32, 0x5d, 0x2e, 0x79, 0x2c, + 0x20, 0x30, 0x2e, 0x30, 0x66, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6d, + 0x5b, 0x30, 0x5d, 0x2e, 0x7a, 0x2c, 0x20, 0x6d, 0x5b, 0x31, 0x5d, 0x2e, 0x7a, 0x2c, 0x20, 0x6d, + 0x5b, 0x32, 0x5d, 0x2e, 0x7a, 0x2c, 0x20, 0x30, 0x2e, 0x30, 0x66, 0x2c, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x6d, 0x5b, 0x30, 0x5d, 0x2e, 0x77, 0x2c, 0x20, 0x6d, 0x5b, 0x31, + 0x5d, 0x2e, 0x77, 0x2c, 0x20, 0x6d, 0x5b, 0x32, 0x5d, 0x2e, 0x77, 0x2c, 0x20, 0x31, 0x2e, 0x30, + 0x66, 0x29, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x5b, 0x5b, 0x6e, 0x6f, 0x64, 0x69, 0x73, 0x63, 0x61, + 0x72, 0x64, 0x5d, 0x5d, 0x20, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, + 0x61, 0x75, 0x74, 0x6f, 0x20, 0x6c, 0x63, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x6c, 0x5f, 0x69, 0x6e, + 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x28, 0x4c, + 0x43, 0x41, 0x63, 0x63, 0x65, 0x6c, 0x20, 0x61, 0x63, 0x63, 0x65, 0x6c, 0x2c, 0x20, 0x6c, 0x63, + 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x20, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x69, + 0x64, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x61, 0x73, 0x73, 0x75, 0x6d, 0x65, 0x28, 0x5f, 0x5f, 0x69, 0x73, + 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x28, 0x61, 0x63, 0x63, 0x65, 0x6c, 0x2e, 0x69, 0x6e, 0x73, + 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, + 0x74, 0x75, 0x72, 0x6e, 0x20, 0x61, 0x63, 0x63, 0x65, 0x6c, 0x2e, 0x69, 0x6e, 0x73, 0x74, 0x61, + 0x6e, 0x63, 0x65, 0x73, 0x5b, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x69, 0x64, + 0x5d, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x5b, 0x5b, + 0x6e, 0x6f, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x5d, 0x5d, 0x20, 0x5f, 0x5f, 0x64, 0x65, + 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x6c, 0x63, 0x5f, 0x61, + 0x63, 0x63, 0x65, 0x6c, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x76, 0x69, + 0x73, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x28, 0x4c, 0x43, 0x41, 0x63, 0x63, 0x65, 0x6c, + 0x20, 0x61, 0x63, 0x63, 0x65, 0x6c, 0x2c, 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x20, + 0x69, 0x6e, 0x64, 0x65, 0x78, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x61, 0x73, 0x73, 0x75, 0x6d, 0x65, 0x28, 0x5f, 0x5f, 0x69, 0x73, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x28, 0x61, 0x63, 0x63, 0x65, 0x6c, 0x2e, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x61, 0x63, 0x63, 0x65, 0x6c, 0x2e, 0x69, - 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x5b, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, - 0x65, 0x5f, 0x69, 0x64, 0x5d, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x3b, 0x0a, 0x7d, - 0x0a, 0x0a, 0x5b, 0x5b, 0x6e, 0x6f, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x5d, 0x5d, 0x20, - 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, - 0x65, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x6c, 0x63, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x6c, 0x5f, - 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x76, 0x69, 0x73, 0x69, 0x62, 0x69, 0x6c, - 0x69, 0x74, 0x79, 0x28, 0x4c, 0x43, 0x41, 0x63, 0x63, 0x65, 0x6c, 0x20, 0x61, 0x63, 0x63, 0x65, - 0x6c, 0x2c, 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x20, 0x69, 0x6e, 0x64, 0x65, 0x78, - 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x6c, 0x63, 0x5f, 0x61, 0x73, 0x73, 0x75, 0x6d, 0x65, 0x28, 0x5f, 0x5f, 0x69, 0x73, 0x47, - 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x28, 0x61, 0x63, 0x63, 0x65, 0x6c, 0x2e, 0x69, 0x6e, 0x73, 0x74, - 0x61, 0x6e, 0x63, 0x65, 0x73, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, - 0x75, 0x72, 0x6e, 0x20, 0x61, 0x63, 0x63, 0x65, 0x6c, 0x2e, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, - 0x63, 0x65, 0x73, 0x5b, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5d, 0x2e, 0x6d, 0x61, 0x73, 0x6b, 0x3b, - 0x0a, 0x7d, 0x0a, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, - 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x76, 0x6f, 0x69, 0x64, 0x20, 0x6c, 0x63, 0x5f, 0x61, 0x63, - 0x63, 0x65, 0x6c, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, - 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x28, 0x4c, 0x43, 0x41, 0x63, 0x63, - 0x65, 0x6c, 0x20, 0x61, 0x63, 0x63, 0x65, 0x6c, 0x2c, 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, - 0x74, 0x20, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x2c, 0x20, 0x6c, 0x63, 0x5f, 0x66, 0x6c, 0x6f, 0x61, - 0x74, 0x34, 0x78, 0x34, 0x20, 0x6d, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, - 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x61, 0x73, 0x73, 0x75, 0x6d, 0x65, - 0x28, 0x5f, 0x5f, 0x69, 0x73, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x28, 0x61, 0x63, 0x63, 0x65, - 0x6c, 0x2e, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x29, 0x29, 0x3b, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x61, 0x72, 0x72, 0x61, 0x79, 0x3c, 0x6c, 0x63, 0x5f, 0x66, - 0x6c, 0x6f, 0x61, 0x74, 0x34, 0x2c, 0x20, 0x33, 0x3e, 0x20, 0x70, 0x3b, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x70, 0x5b, 0x30, 0x5d, 0x2e, 0x78, 0x20, 0x3d, 0x20, 0x6d, 0x5b, 0x30, 0x5d, 0x5b, 0x30, - 0x5d, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x70, 0x5b, 0x30, 0x5d, 0x2e, 0x79, 0x20, 0x3d, 0x20, - 0x6d, 0x5b, 0x31, 0x5d, 0x5b, 0x30, 0x5d, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x70, 0x5b, 0x30, - 0x5d, 0x2e, 0x7a, 0x20, 0x3d, 0x20, 0x6d, 0x5b, 0x32, 0x5d, 0x5b, 0x30, 0x5d, 0x3b, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x70, 0x5b, 0x30, 0x5d, 0x2e, 0x77, 0x20, 0x3d, 0x20, 0x6d, 0x5b, 0x33, 0x5d, - 0x5b, 0x30, 0x5d, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x70, 0x5b, 0x31, 0x5d, 0x2e, 0x78, 0x20, - 0x3d, 0x20, 0x6d, 0x5b, 0x30, 0x5d, 0x5b, 0x31, 0x5d, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x70, - 0x5b, 0x31, 0x5d, 0x2e, 0x79, 0x20, 0x3d, 0x20, 0x6d, 0x5b, 0x31, 0x5d, 0x5b, 0x31, 0x5d, 0x3b, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x70, 0x5b, 0x31, 0x5d, 0x2e, 0x7a, 0x20, 0x3d, 0x20, 0x6d, 0x5b, - 0x32, 0x5d, 0x5b, 0x31, 0x5d, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x70, 0x5b, 0x31, 0x5d, 0x2e, - 0x77, 0x20, 0x3d, 0x20, 0x6d, 0x5b, 0x33, 0x5d, 0x5b, 0x31, 0x5d, 0x3b, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x70, 0x5b, 0x32, 0x5d, 0x2e, 0x78, 0x20, 0x3d, 0x20, 0x6d, 0x5b, 0x30, 0x5d, 0x5b, 0x32, - 0x5d, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x70, 0x5b, 0x32, 0x5d, 0x2e, 0x79, 0x20, 0x3d, 0x20, - 0x6d, 0x5b, 0x31, 0x5d, 0x5b, 0x32, 0x5d, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x70, 0x5b, 0x32, - 0x5d, 0x2e, 0x7a, 0x20, 0x3d, 0x20, 0x6d, 0x5b, 0x32, 0x5d, 0x5b, 0x32, 0x5d, 0x3b, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x70, 0x5b, 0x32, 0x5d, 0x2e, 0x77, 0x20, 0x3d, 0x20, 0x6d, 0x5b, 0x33, 0x5d, - 0x5b, 0x32, 0x5d, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x63, 0x63, 0x65, 0x6c, 0x2e, 0x69, - 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x5b, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5d, 0x2e, - 0x6d, 0x20, 0x3d, 0x20, 0x70, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, - 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x76, 0x6f, 0x69, 0x64, - 0x20, 0x6c, 0x63, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x6c, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x69, 0x6e, - 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x76, 0x69, 0x73, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, - 0x79, 0x28, 0x4c, 0x43, 0x41, 0x63, 0x63, 0x65, 0x6c, 0x20, 0x61, 0x63, 0x63, 0x65, 0x6c, 0x2c, - 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x20, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x2c, 0x20, - 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x20, 0x6d, 0x61, 0x73, 0x6b, 0x29, 0x20, 0x6e, 0x6f, - 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, - 0x61, 0x73, 0x73, 0x75, 0x6d, 0x65, 0x28, 0x5f, 0x5f, 0x69, 0x73, 0x47, 0x6c, 0x6f, 0x62, 0x61, - 0x6c, 0x28, 0x61, 0x63, 0x63, 0x65, 0x6c, 0x2e, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, - 0x73, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x63, 0x63, 0x65, 0x6c, 0x2e, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x5b, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5d, 0x2e, - 0x6d, 0x61, 0x73, 0x6b, 0x20, 0x3d, 0x20, 0x6d, 0x61, 0x73, 0x6b, 0x20, 0x26, 0x20, 0x30, 0x78, - 0x66, 0x66, 0x75, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, - 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x76, 0x6f, 0x69, 0x64, 0x20, 0x6c, + 0x6d, 0x61, 0x73, 0x6b, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, + 0x65, 0x5f, 0x5f, 0x20, 0x76, 0x6f, 0x69, 0x64, 0x20, 0x6c, 0x63, 0x5f, 0x61, 0x63, 0x63, 0x65, + 0x6c, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x74, + 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x28, 0x4c, 0x43, 0x41, 0x63, 0x63, 0x65, 0x6c, + 0x20, 0x61, 0x63, 0x63, 0x65, 0x6c, 0x2c, 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x20, + 0x69, 0x6e, 0x64, 0x65, 0x78, 0x2c, 0x20, 0x6c, 0x63, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x34, + 0x78, 0x34, 0x20, 0x6d, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x61, 0x73, 0x73, 0x75, 0x6d, 0x65, 0x28, 0x5f, + 0x5f, 0x69, 0x73, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x28, 0x61, 0x63, 0x63, 0x65, 0x6c, 0x2e, + 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x6c, 0x63, 0x5f, 0x61, 0x72, 0x72, 0x61, 0x79, 0x3c, 0x6c, 0x63, 0x5f, 0x66, 0x6c, 0x6f, + 0x61, 0x74, 0x34, 0x2c, 0x20, 0x33, 0x3e, 0x20, 0x70, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x70, + 0x5b, 0x30, 0x5d, 0x2e, 0x78, 0x20, 0x3d, 0x20, 0x6d, 0x5b, 0x30, 0x5d, 0x5b, 0x30, 0x5d, 0x3b, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x70, 0x5b, 0x30, 0x5d, 0x2e, 0x79, 0x20, 0x3d, 0x20, 0x6d, 0x5b, + 0x31, 0x5d, 0x5b, 0x30, 0x5d, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x70, 0x5b, 0x30, 0x5d, 0x2e, + 0x7a, 0x20, 0x3d, 0x20, 0x6d, 0x5b, 0x32, 0x5d, 0x5b, 0x30, 0x5d, 0x3b, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x70, 0x5b, 0x30, 0x5d, 0x2e, 0x77, 0x20, 0x3d, 0x20, 0x6d, 0x5b, 0x33, 0x5d, 0x5b, 0x30, + 0x5d, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x70, 0x5b, 0x31, 0x5d, 0x2e, 0x78, 0x20, 0x3d, 0x20, + 0x6d, 0x5b, 0x30, 0x5d, 0x5b, 0x31, 0x5d, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x70, 0x5b, 0x31, + 0x5d, 0x2e, 0x79, 0x20, 0x3d, 0x20, 0x6d, 0x5b, 0x31, 0x5d, 0x5b, 0x31, 0x5d, 0x3b, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x70, 0x5b, 0x31, 0x5d, 0x2e, 0x7a, 0x20, 0x3d, 0x20, 0x6d, 0x5b, 0x32, 0x5d, + 0x5b, 0x31, 0x5d, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x70, 0x5b, 0x31, 0x5d, 0x2e, 0x77, 0x20, + 0x3d, 0x20, 0x6d, 0x5b, 0x33, 0x5d, 0x5b, 0x31, 0x5d, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x70, + 0x5b, 0x32, 0x5d, 0x2e, 0x78, 0x20, 0x3d, 0x20, 0x6d, 0x5b, 0x30, 0x5d, 0x5b, 0x32, 0x5d, 0x3b, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x70, 0x5b, 0x32, 0x5d, 0x2e, 0x79, 0x20, 0x3d, 0x20, 0x6d, 0x5b, + 0x31, 0x5d, 0x5b, 0x32, 0x5d, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x70, 0x5b, 0x32, 0x5d, 0x2e, + 0x7a, 0x20, 0x3d, 0x20, 0x6d, 0x5b, 0x32, 0x5d, 0x5b, 0x32, 0x5d, 0x3b, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x70, 0x5b, 0x32, 0x5d, 0x2e, 0x77, 0x20, 0x3d, 0x20, 0x6d, 0x5b, 0x33, 0x5d, 0x5b, 0x32, + 0x5d, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x63, 0x63, 0x65, 0x6c, 0x2e, 0x69, 0x6e, 0x73, + 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x5b, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5d, 0x2e, 0x6d, 0x20, + 0x3d, 0x20, 0x70, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, + 0x5f, 0x5f, 0x20, 0x76, 0x6f, 0x69, 0x64, 0x20, 0x6c, 0x63, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x6c, + 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x76, 0x69, + 0x73, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x28, 0x4c, 0x43, 0x41, 0x63, 0x63, 0x65, 0x6c, + 0x20, 0x61, 0x63, 0x63, 0x65, 0x6c, 0x2c, 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x20, + 0x69, 0x6e, 0x64, 0x65, 0x78, 0x2c, 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x20, 0x6d, + 0x61, 0x73, 0x6b, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x61, 0x73, 0x73, 0x75, 0x6d, 0x65, 0x28, 0x5f, 0x5f, + 0x69, 0x73, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x28, 0x61, 0x63, 0x63, 0x65, 0x6c, 0x2e, 0x69, + 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x61, 0x63, 0x63, 0x65, 0x6c, 0x2e, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x5b, + 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5d, 0x2e, 0x6d, 0x61, 0x73, 0x6b, 0x20, 0x3d, 0x20, 0x6d, 0x61, + 0x73, 0x6b, 0x20, 0x26, 0x20, 0x30, 0x78, 0x66, 0x66, 0x75, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x5f, + 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x76, 0x6f, 0x69, 0x64, 0x20, 0x6c, 0x63, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x6c, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x6f, 0x70, 0x61, 0x63, 0x69, 0x74, 0x79, 0x28, 0x4c, 0x43, 0x41, 0x63, 0x63, 0x65, 0x6c, 0x20, 0x61, 0x63, 0x63, 0x65, 0x6c, 0x2c, 0x20, 0x6c, 0x63, 0x5f, 0x75, @@ -40831,283 +40591,276 @@ extern "C" const char luisa_cuda_builtin_cuda_device_resource[119200] = { 0x20, 0x20, 0x20, 0x20, 0x61, 0x63, 0x63, 0x65, 0x6c, 0x2e, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x5b, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5d, 0x2e, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x20, 0x3d, 0x20, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, - 0x7d, 0x0a, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, - 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x76, 0x6f, 0x69, 0x64, 0x20, 0x6c, 0x63, 0x5f, 0x61, 0x63, 0x63, - 0x65, 0x6c, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, - 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x28, 0x4c, 0x43, 0x41, 0x63, 0x63, 0x65, 0x6c, 0x20, - 0x61, 0x63, 0x63, 0x65, 0x6c, 0x2c, 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x20, 0x69, - 0x6e, 0x64, 0x65, 0x78, 0x2c, 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x20, 0x75, 0x73, - 0x65, 0x72, 0x5f, 0x69, 0x64, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, - 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x61, 0x73, 0x73, 0x75, 0x6d, 0x65, 0x28, - 0x5f, 0x5f, 0x69, 0x73, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x28, 0x61, 0x63, 0x63, 0x65, 0x6c, - 0x2e, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x61, 0x63, 0x63, 0x65, 0x6c, 0x2e, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, - 0x73, 0x5b, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5d, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, - 0x20, 0x3d, 0x20, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x5f, - 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, - 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x61, 0x74, 0x6f, 0x6d, 0x69, 0x63, 0x43, 0x41, 0x53, - 0x28, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x2a, 0x61, 0x2c, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, - 0x20, 0x63, 0x6d, 0x70, 0x2c, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x76, 0x29, 0x20, 0x6e, - 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, - 0x74, 0x75, 0x72, 0x6e, 0x20, 0x5f, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x5f, 0x61, 0x73, 0x5f, 0x66, - 0x6c, 0x6f, 0x61, 0x74, 0x28, 0x61, 0x74, 0x6f, 0x6d, 0x69, 0x63, 0x43, 0x41, 0x53, 0x28, 0x72, - 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, - 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x61, 0x29, 0x2c, 0x0a, 0x20, + 0x7d, 0x0a, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x76, 0x6f, + 0x69, 0x64, 0x20, 0x6c, 0x63, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x6c, 0x5f, 0x73, 0x65, 0x74, 0x5f, + 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, + 0x28, 0x4c, 0x43, 0x41, 0x63, 0x63, 0x65, 0x6c, 0x20, 0x61, 0x63, 0x63, 0x65, 0x6c, 0x2c, 0x20, + 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x20, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x2c, 0x20, 0x6c, + 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x20, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x29, 0x20, + 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, + 0x63, 0x5f, 0x61, 0x73, 0x73, 0x75, 0x6d, 0x65, 0x28, 0x5f, 0x5f, 0x69, 0x73, 0x47, 0x6c, 0x6f, + 0x62, 0x61, 0x6c, 0x28, 0x61, 0x63, 0x63, 0x65, 0x6c, 0x2e, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, + 0x63, 0x65, 0x73, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x63, 0x63, 0x65, 0x6c, + 0x2e, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x5b, 0x69, 0x6e, 0x64, 0x65, 0x78, + 0x5d, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x20, 0x3d, 0x20, 0x75, 0x73, 0x65, 0x72, + 0x5f, 0x69, 0x64, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, + 0x5f, 0x5f, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x61, 0x74, 0x6f, 0x6d, 0x69, 0x63, 0x43, + 0x41, 0x53, 0x28, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x2a, 0x61, 0x2c, 0x20, 0x66, 0x6c, 0x6f, + 0x61, 0x74, 0x20, 0x63, 0x6d, 0x70, 0x2c, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x76, 0x29, + 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x5f, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x5f, 0x61, 0x73, + 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x28, 0x61, 0x74, 0x6f, 0x6d, 0x69, 0x63, 0x43, 0x41, 0x53, + 0x28, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, + 0x74, 0x3c, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x61, 0x29, 0x2c, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x5f, 0x61, 0x73, + 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x28, 0x63, 0x6d, 0x70, 0x29, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x5f, 0x61, 0x73, 0x5f, 0x75, - 0x69, 0x6e, 0x74, 0x28, 0x63, 0x6d, 0x70, 0x29, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5f, - 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x5f, 0x61, 0x73, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x28, 0x76, - 0x29, 0x29, 0x29, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, - 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, - 0x61, 0x74, 0x6f, 0x6d, 0x69, 0x63, 0x53, 0x75, 0x62, 0x28, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, - 0x2a, 0x61, 0x2c, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x76, 0x29, 0x20, 0x6e, 0x6f, 0x65, - 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, - 0x72, 0x6e, 0x20, 0x61, 0x74, 0x6f, 0x6d, 0x69, 0x63, 0x41, 0x64, 0x64, 0x28, 0x61, 0x2c, 0x20, - 0x2d, 0x76, 0x29, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, - 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, - 0x61, 0x74, 0x6f, 0x6d, 0x69, 0x63, 0x4d, 0x69, 0x6e, 0x28, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, - 0x2a, 0x61, 0x2c, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x76, 0x29, 0x20, 0x6e, 0x6f, 0x65, - 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x66, 0x6f, 0x72, 0x20, - 0x28, 0x3b, 0x3b, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, - 0x66, 0x20, 0x28, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x6f, 0x6c, 0x64, 0x20, 0x3d, 0x20, 0x2a, 0x61, - 0x3b, 0x2f, 0x2f, 0x20, 0x72, 0x65, 0x61, 0x64, 0x20, 0x6f, 0x6c, 0x64, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6f, 0x6c, 0x64, 0x20, 0x3c, 0x3d, 0x20, - 0x76, 0x20, 0x2f, 0x2a, 0x20, 0x6e, 0x6f, 0x20, 0x6e, 0x65, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, - 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x20, 0x2a, 0x2f, 0x20, 0x7c, 0x7c, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x61, 0x74, 0x6f, 0x6d, 0x69, 0x63, 0x43, - 0x41, 0x53, 0x28, 0x61, 0x2c, 0x20, 0x6f, 0x6c, 0x64, 0x2c, 0x20, 0x76, 0x29, 0x20, 0x3d, 0x3d, - 0x20, 0x6f, 0x6c, 0x64, 0x29, 0x20, 0x7b, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x6f, - 0x6c, 0x64, 0x3b, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x7d, 0x0a, 0x0a, 0x5f, - 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, - 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x61, 0x74, 0x6f, 0x6d, 0x69, 0x63, 0x4d, 0x61, 0x78, - 0x28, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x2a, 0x61, 0x2c, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, - 0x20, 0x76, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x28, 0x3b, 0x3b, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x28, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x6f, - 0x6c, 0x64, 0x20, 0x3d, 0x20, 0x2a, 0x61, 0x3b, 0x2f, 0x2f, 0x20, 0x72, 0x65, 0x61, 0x64, 0x20, - 0x6f, 0x6c, 0x64, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x6f, 0x6c, 0x64, 0x20, 0x3e, 0x3d, 0x20, 0x76, 0x20, 0x2f, 0x2a, 0x20, 0x6e, 0x6f, 0x20, 0x6e, - 0x65, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x20, 0x2a, 0x2f, - 0x20, 0x7c, 0x7c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x61, 0x74, 0x6f, 0x6d, 0x69, 0x63, 0x43, 0x41, 0x53, 0x28, 0x61, 0x2c, 0x20, 0x6f, 0x6c, 0x64, - 0x2c, 0x20, 0x76, 0x29, 0x20, 0x3d, 0x3d, 0x20, 0x6f, 0x6c, 0x64, 0x29, 0x20, 0x7b, 0x20, 0x72, - 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x6f, 0x6c, 0x64, 0x3b, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x7d, 0x0a, 0x7d, 0x0a, 0x0a, 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, 0x6c, 0x63, - 0x5f, 0x61, 0x74, 0x6f, 0x6d, 0x69, 0x63, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, - 0x28, 0x61, 0x74, 0x6f, 0x6d, 0x69, 0x63, 0x5f, 0x72, 0x65, 0x66, 0x2c, 0x20, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x29, 0x20, 0x61, 0x74, 0x6f, 0x6d, 0x69, 0x63, 0x45, 0x78, 0x63, 0x68, 0x28, 0x26, - 0x28, 0x61, 0x74, 0x6f, 0x6d, 0x69, 0x63, 0x5f, 0x72, 0x65, 0x66, 0x29, 0x2c, 0x20, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x29, 0x0a, 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, 0x6c, 0x63, 0x5f, - 0x61, 0x74, 0x6f, 0x6d, 0x69, 0x63, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x72, 0x65, 0x5f, 0x65, - 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x28, 0x61, 0x74, 0x6f, 0x6d, 0x69, 0x63, 0x5f, 0x72, - 0x65, 0x66, 0x2c, 0x20, 0x63, 0x6d, 0x70, 0x2c, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x29, 0x20, - 0x61, 0x74, 0x6f, 0x6d, 0x69, 0x63, 0x43, 0x41, 0x53, 0x28, 0x26, 0x28, 0x61, 0x74, 0x6f, 0x6d, - 0x69, 0x63, 0x5f, 0x72, 0x65, 0x66, 0x29, 0x2c, 0x20, 0x63, 0x6d, 0x70, 0x2c, 0x20, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x29, 0x0a, 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, 0x6c, 0x63, 0x5f, - 0x61, 0x74, 0x6f, 0x6d, 0x69, 0x63, 0x5f, 0x66, 0x65, 0x74, 0x63, 0x68, 0x5f, 0x61, 0x64, 0x64, - 0x28, 0x61, 0x74, 0x6f, 0x6d, 0x69, 0x63, 0x5f, 0x72, 0x65, 0x66, 0x2c, 0x20, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x29, 0x20, 0x61, 0x74, 0x6f, 0x6d, 0x69, 0x63, 0x41, 0x64, 0x64, 0x28, 0x26, 0x28, - 0x61, 0x74, 0x6f, 0x6d, 0x69, 0x63, 0x5f, 0x72, 0x65, 0x66, 0x29, 0x2c, 0x20, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x29, 0x0a, 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, 0x6c, 0x63, 0x5f, 0x61, - 0x74, 0x6f, 0x6d, 0x69, 0x63, 0x5f, 0x66, 0x65, 0x74, 0x63, 0x68, 0x5f, 0x73, 0x75, 0x62, 0x28, - 0x61, 0x74, 0x6f, 0x6d, 0x69, 0x63, 0x5f, 0x72, 0x65, 0x66, 0x2c, 0x20, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x29, 0x20, 0x61, 0x74, 0x6f, 0x6d, 0x69, 0x63, 0x53, 0x75, 0x62, 0x28, 0x26, 0x28, 0x61, - 0x74, 0x6f, 0x6d, 0x69, 0x63, 0x5f, 0x72, 0x65, 0x66, 0x29, 0x2c, 0x20, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x29, 0x0a, 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, 0x6c, 0x63, 0x5f, 0x61, 0x74, - 0x6f, 0x6d, 0x69, 0x63, 0x5f, 0x66, 0x65, 0x74, 0x63, 0x68, 0x5f, 0x6d, 0x69, 0x6e, 0x28, 0x61, - 0x74, 0x6f, 0x6d, 0x69, 0x63, 0x5f, 0x72, 0x65, 0x66, 0x2c, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x29, 0x20, 0x61, 0x74, 0x6f, 0x6d, 0x69, 0x63, 0x4d, 0x69, 0x6e, 0x28, 0x26, 0x28, 0x61, 0x74, + 0x20, 0x5f, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x5f, 0x61, 0x73, 0x5f, 0x75, 0x69, 0x6e, 0x74, + 0x28, 0x76, 0x29, 0x29, 0x29, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, + 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x61, 0x74, 0x6f, 0x6d, 0x69, + 0x63, 0x53, 0x75, 0x62, 0x28, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x2a, 0x61, 0x2c, 0x20, 0x66, + 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x76, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, + 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x61, 0x74, + 0x6f, 0x6d, 0x69, 0x63, 0x41, 0x64, 0x64, 0x28, 0x61, 0x2c, 0x20, 0x2d, 0x76, 0x29, 0x3b, 0x0a, + 0x7d, 0x0a, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x66, 0x6c, + 0x6f, 0x61, 0x74, 0x20, 0x61, 0x74, 0x6f, 0x6d, 0x69, 0x63, 0x4d, 0x69, 0x6e, 0x28, 0x66, 0x6c, + 0x6f, 0x61, 0x74, 0x20, 0x2a, 0x61, 0x2c, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x76, 0x29, + 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x66, 0x6f, 0x72, 0x20, 0x28, 0x3b, 0x3b, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x28, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x6f, 0x6c, 0x64, 0x20, + 0x3d, 0x20, 0x2a, 0x61, 0x3b, 0x2f, 0x2f, 0x20, 0x72, 0x65, 0x61, 0x64, 0x20, 0x6f, 0x6c, 0x64, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6f, 0x6c, 0x64, + 0x20, 0x3c, 0x3d, 0x20, 0x76, 0x20, 0x2f, 0x2a, 0x20, 0x6e, 0x6f, 0x20, 0x6e, 0x65, 0x65, 0x64, + 0x20, 0x74, 0x6f, 0x20, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x20, 0x2a, 0x2f, 0x20, 0x7c, 0x7c, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x61, 0x74, 0x6f, + 0x6d, 0x69, 0x63, 0x43, 0x41, 0x53, 0x28, 0x61, 0x2c, 0x20, 0x6f, 0x6c, 0x64, 0x2c, 0x20, 0x76, + 0x29, 0x20, 0x3d, 0x3d, 0x20, 0x6f, 0x6c, 0x64, 0x29, 0x20, 0x7b, 0x20, 0x72, 0x65, 0x74, 0x75, + 0x72, 0x6e, 0x20, 0x6f, 0x6c, 0x64, 0x3b, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, + 0x7d, 0x0a, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x66, 0x6c, + 0x6f, 0x61, 0x74, 0x20, 0x61, 0x74, 0x6f, 0x6d, 0x69, 0x63, 0x4d, 0x61, 0x78, 0x28, 0x66, 0x6c, + 0x6f, 0x61, 0x74, 0x20, 0x2a, 0x61, 0x2c, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x76, 0x29, + 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x66, 0x6f, 0x72, 0x20, 0x28, 0x3b, 0x3b, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x28, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x6f, 0x6c, 0x64, 0x20, + 0x3d, 0x20, 0x2a, 0x61, 0x3b, 0x2f, 0x2f, 0x20, 0x72, 0x65, 0x61, 0x64, 0x20, 0x6f, 0x6c, 0x64, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6f, 0x6c, 0x64, + 0x20, 0x3e, 0x3d, 0x20, 0x76, 0x20, 0x2f, 0x2a, 0x20, 0x6e, 0x6f, 0x20, 0x6e, 0x65, 0x65, 0x64, + 0x20, 0x74, 0x6f, 0x20, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x20, 0x2a, 0x2f, 0x20, 0x7c, 0x7c, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x61, 0x74, 0x6f, + 0x6d, 0x69, 0x63, 0x43, 0x41, 0x53, 0x28, 0x61, 0x2c, 0x20, 0x6f, 0x6c, 0x64, 0x2c, 0x20, 0x76, + 0x29, 0x20, 0x3d, 0x3d, 0x20, 0x6f, 0x6c, 0x64, 0x29, 0x20, 0x7b, 0x20, 0x72, 0x65, 0x74, 0x75, + 0x72, 0x6e, 0x20, 0x6f, 0x6c, 0x64, 0x3b, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, + 0x7d, 0x0a, 0x0a, 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, 0x6c, 0x63, 0x5f, 0x61, 0x74, + 0x6f, 0x6d, 0x69, 0x63, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x28, 0x61, 0x74, + 0x6f, 0x6d, 0x69, 0x63, 0x5f, 0x72, 0x65, 0x66, 0x2c, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x29, + 0x20, 0x61, 0x74, 0x6f, 0x6d, 0x69, 0x63, 0x45, 0x78, 0x63, 0x68, 0x28, 0x26, 0x28, 0x61, 0x74, 0x6f, 0x6d, 0x69, 0x63, 0x5f, 0x72, 0x65, 0x66, 0x29, 0x2c, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x29, 0x0a, 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, 0x6c, 0x63, 0x5f, 0x61, 0x74, 0x6f, - 0x6d, 0x69, 0x63, 0x5f, 0x66, 0x65, 0x74, 0x63, 0x68, 0x5f, 0x6d, 0x61, 0x78, 0x28, 0x61, 0x74, + 0x6d, 0x69, 0x63, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x72, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, + 0x61, 0x6e, 0x67, 0x65, 0x28, 0x61, 0x74, 0x6f, 0x6d, 0x69, 0x63, 0x5f, 0x72, 0x65, 0x66, 0x2c, + 0x20, 0x63, 0x6d, 0x70, 0x2c, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x29, 0x20, 0x61, 0x74, 0x6f, + 0x6d, 0x69, 0x63, 0x43, 0x41, 0x53, 0x28, 0x26, 0x28, 0x61, 0x74, 0x6f, 0x6d, 0x69, 0x63, 0x5f, + 0x72, 0x65, 0x66, 0x29, 0x2c, 0x20, 0x63, 0x6d, 0x70, 0x2c, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x29, 0x0a, 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, 0x6c, 0x63, 0x5f, 0x61, 0x74, 0x6f, + 0x6d, 0x69, 0x63, 0x5f, 0x66, 0x65, 0x74, 0x63, 0x68, 0x5f, 0x61, 0x64, 0x64, 0x28, 0x61, 0x74, 0x6f, 0x6d, 0x69, 0x63, 0x5f, 0x72, 0x65, 0x66, 0x2c, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x29, - 0x20, 0x61, 0x74, 0x6f, 0x6d, 0x69, 0x63, 0x4d, 0x61, 0x78, 0x28, 0x26, 0x28, 0x61, 0x74, 0x6f, + 0x20, 0x61, 0x74, 0x6f, 0x6d, 0x69, 0x63, 0x41, 0x64, 0x64, 0x28, 0x26, 0x28, 0x61, 0x74, 0x6f, 0x6d, 0x69, 0x63, 0x5f, 0x72, 0x65, 0x66, 0x29, 0x2c, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x29, 0x0a, 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, 0x6c, 0x63, 0x5f, 0x61, 0x74, 0x6f, 0x6d, - 0x69, 0x63, 0x5f, 0x66, 0x65, 0x74, 0x63, 0x68, 0x5f, 0x61, 0x6e, 0x64, 0x28, 0x61, 0x74, 0x6f, + 0x69, 0x63, 0x5f, 0x66, 0x65, 0x74, 0x63, 0x68, 0x5f, 0x73, 0x75, 0x62, 0x28, 0x61, 0x74, 0x6f, 0x6d, 0x69, 0x63, 0x5f, 0x72, 0x65, 0x66, 0x2c, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x29, 0x20, - 0x61, 0x74, 0x6f, 0x6d, 0x69, 0x63, 0x41, 0x6e, 0x64, 0x28, 0x26, 0x28, 0x61, 0x74, 0x6f, 0x6d, + 0x61, 0x74, 0x6f, 0x6d, 0x69, 0x63, 0x53, 0x75, 0x62, 0x28, 0x26, 0x28, 0x61, 0x74, 0x6f, 0x6d, 0x69, 0x63, 0x5f, 0x72, 0x65, 0x66, 0x29, 0x2c, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x29, 0x0a, 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, 0x6c, 0x63, 0x5f, 0x61, 0x74, 0x6f, 0x6d, 0x69, - 0x63, 0x5f, 0x66, 0x65, 0x74, 0x63, 0x68, 0x5f, 0x6f, 0x72, 0x28, 0x61, 0x74, 0x6f, 0x6d, 0x69, + 0x63, 0x5f, 0x66, 0x65, 0x74, 0x63, 0x68, 0x5f, 0x6d, 0x69, 0x6e, 0x28, 0x61, 0x74, 0x6f, 0x6d, + 0x69, 0x63, 0x5f, 0x72, 0x65, 0x66, 0x2c, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x29, 0x20, 0x61, + 0x74, 0x6f, 0x6d, 0x69, 0x63, 0x4d, 0x69, 0x6e, 0x28, 0x26, 0x28, 0x61, 0x74, 0x6f, 0x6d, 0x69, + 0x63, 0x5f, 0x72, 0x65, 0x66, 0x29, 0x2c, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x29, 0x0a, 0x23, + 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, 0x6c, 0x63, 0x5f, 0x61, 0x74, 0x6f, 0x6d, 0x69, 0x63, + 0x5f, 0x66, 0x65, 0x74, 0x63, 0x68, 0x5f, 0x6d, 0x61, 0x78, 0x28, 0x61, 0x74, 0x6f, 0x6d, 0x69, 0x63, 0x5f, 0x72, 0x65, 0x66, 0x2c, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x29, 0x20, 0x61, 0x74, - 0x6f, 0x6d, 0x69, 0x63, 0x4f, 0x72, 0x28, 0x26, 0x28, 0x61, 0x74, 0x6f, 0x6d, 0x69, 0x63, 0x5f, + 0x6f, 0x6d, 0x69, 0x63, 0x4d, 0x61, 0x78, 0x28, 0x26, 0x28, 0x61, 0x74, 0x6f, 0x6d, 0x69, 0x63, + 0x5f, 0x72, 0x65, 0x66, 0x29, 0x2c, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x29, 0x0a, 0x23, 0x64, + 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, 0x6c, 0x63, 0x5f, 0x61, 0x74, 0x6f, 0x6d, 0x69, 0x63, 0x5f, + 0x66, 0x65, 0x74, 0x63, 0x68, 0x5f, 0x61, 0x6e, 0x64, 0x28, 0x61, 0x74, 0x6f, 0x6d, 0x69, 0x63, + 0x5f, 0x72, 0x65, 0x66, 0x2c, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x29, 0x20, 0x61, 0x74, 0x6f, + 0x6d, 0x69, 0x63, 0x41, 0x6e, 0x64, 0x28, 0x26, 0x28, 0x61, 0x74, 0x6f, 0x6d, 0x69, 0x63, 0x5f, 0x72, 0x65, 0x66, 0x29, 0x2c, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x29, 0x0a, 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, 0x6c, 0x63, 0x5f, 0x61, 0x74, 0x6f, 0x6d, 0x69, 0x63, 0x5f, 0x66, - 0x65, 0x74, 0x63, 0x68, 0x5f, 0x78, 0x6f, 0x72, 0x28, 0x61, 0x74, 0x6f, 0x6d, 0x69, 0x63, 0x5f, - 0x72, 0x65, 0x66, 0x2c, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x29, 0x20, 0x61, 0x74, 0x6f, 0x6d, - 0x69, 0x63, 0x58, 0x6f, 0x72, 0x28, 0x26, 0x28, 0x61, 0x74, 0x6f, 0x6d, 0x69, 0x63, 0x5f, 0x72, - 0x65, 0x66, 0x29, 0x2c, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x29, 0x0a, 0x0a, 0x2f, 0x2f, 0x20, - 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x20, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x20, 0x73, 0x69, 0x7a, - 0x65, 0x0a, 0x5b, 0x5b, 0x6e, 0x6f, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x5d, 0x5d, 0x20, - 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, - 0x65, 0x78, 0x70, 0x72, 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x20, 0x6c, 0x63, - 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x28, 0x29, 0x20, 0x6e, 0x6f, - 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, - 0x75, 0x72, 0x6e, 0x20, 0x4c, 0x43, 0x5f, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, 0x53, 0x49, 0x5a, - 0x45, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x23, 0x69, 0x66, 0x64, 0x65, 0x66, 0x20, 0x4c, 0x55, 0x49, - 0x53, 0x41, 0x5f, 0x45, 0x4e, 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x4f, 0x50, 0x54, 0x49, 0x58, 0x0a, - 0x0a, 0x65, 0x6e, 0x75, 0x6d, 0x20, 0x4c, 0x43, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x54, - 0x79, 0x70, 0x65, 0x49, 0x44, 0x20, 0x3a, 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x20, - 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x4c, 0x43, 0x5f, 0x50, 0x41, 0x59, 0x4c, 0x4f, 0x41, 0x44, - 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x44, 0x45, 0x46, 0x41, 0x55, 0x4c, 0x54, 0x20, 0x3d, 0x20, - 0x30, 0x75, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x4c, 0x43, 0x5f, 0x50, 0x41, 0x59, 0x4c, 0x4f, - 0x41, 0x44, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x49, 0x44, 0x5f, 0x30, 0x20, 0x3d, 0x20, 0x31, - 0x75, 0x20, 0x3c, 0x3c, 0x20, 0x30, 0x75, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x4c, 0x43, 0x5f, - 0x50, 0x41, 0x59, 0x4c, 0x4f, 0x41, 0x44, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x49, 0x44, 0x5f, - 0x31, 0x20, 0x3d, 0x20, 0x31, 0x75, 0x20, 0x3c, 0x3c, 0x20, 0x31, 0x75, 0x2c, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x4c, 0x43, 0x5f, 0x50, 0x41, 0x59, 0x4c, 0x4f, 0x41, 0x44, 0x5f, 0x54, 0x59, 0x50, - 0x45, 0x5f, 0x49, 0x44, 0x5f, 0x32, 0x20, 0x3d, 0x20, 0x31, 0x75, 0x20, 0x3c, 0x3c, 0x20, 0x32, - 0x75, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x4c, 0x43, 0x5f, 0x50, 0x41, 0x59, 0x4c, 0x4f, 0x41, - 0x44, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x49, 0x44, 0x5f, 0x33, 0x20, 0x3d, 0x20, 0x31, 0x75, - 0x20, 0x3c, 0x3c, 0x20, 0x33, 0x75, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x4c, 0x43, 0x5f, 0x50, - 0x41, 0x59, 0x4c, 0x4f, 0x41, 0x44, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x49, 0x44, 0x5f, 0x34, - 0x20, 0x3d, 0x20, 0x31, 0x75, 0x20, 0x3c, 0x3c, 0x20, 0x34, 0x75, 0x2c, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x4c, 0x43, 0x5f, 0x50, 0x41, 0x59, 0x4c, 0x4f, 0x41, 0x44, 0x5f, 0x54, 0x59, 0x50, 0x45, - 0x5f, 0x49, 0x44, 0x5f, 0x35, 0x20, 0x3d, 0x20, 0x31, 0x75, 0x20, 0x3c, 0x3c, 0x20, 0x35, 0x75, - 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x4c, 0x43, 0x5f, 0x50, 0x41, 0x59, 0x4c, 0x4f, 0x41, 0x44, - 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x49, 0x44, 0x5f, 0x36, 0x20, 0x3d, 0x20, 0x31, 0x75, 0x20, - 0x3c, 0x3c, 0x20, 0x36, 0x75, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x4c, 0x43, 0x5f, 0x50, 0x41, - 0x59, 0x4c, 0x4f, 0x41, 0x44, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x49, 0x44, 0x5f, 0x37, 0x20, - 0x3d, 0x20, 0x31, 0x75, 0x20, 0x3c, 0x3c, 0x20, 0x37, 0x75, 0x2c, 0x0a, 0x7d, 0x3b, 0x0a, 0x0a, - 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, 0x4c, 0x43, 0x5f, 0x50, 0x41, 0x59, 0x4c, 0x4f, - 0x41, 0x44, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x54, 0x52, 0x41, 0x43, - 0x45, 0x20, 0x28, 0x4c, 0x43, 0x5f, 0x50, 0x41, 0x59, 0x4c, 0x4f, 0x41, 0x44, 0x5f, 0x54, 0x59, - 0x50, 0x45, 0x5f, 0x49, 0x44, 0x5f, 0x30, 0x29, 0x0a, 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, - 0x20, 0x4c, 0x43, 0x5f, 0x50, 0x41, 0x59, 0x4c, 0x4f, 0x41, 0x44, 0x5f, 0x54, 0x59, 0x50, 0x45, - 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x51, 0x55, 0x45, 0x52, 0x59, 0x20, 0x28, 0x4c, 0x43, 0x5f, 0x50, - 0x41, 0x59, 0x4c, 0x4f, 0x41, 0x44, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x49, 0x44, 0x5f, 0x31, - 0x29, 0x0a, 0x0a, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x76, 0x6f, 0x69, 0x64, 0x20, 0x6c, - 0x63, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x74, 0x79, - 0x70, 0x65, 0x73, 0x28, 0x4c, 0x43, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x54, 0x79, 0x70, - 0x65, 0x49, 0x44, 0x20, 0x74, 0x79, 0x70, 0x65, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, - 0x70, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x20, 0x76, 0x6f, 0x6c, - 0x61, 0x74, 0x69, 0x6c, 0x65, 0x28, 0x22, 0x63, 0x61, 0x6c, 0x6c, 0x20, 0x5f, 0x6f, 0x70, 0x74, - 0x69, 0x78, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x74, - 0x79, 0x70, 0x65, 0x73, 0x2c, 0x20, 0x28, 0x25, 0x30, 0x29, 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x3a, 0x20, 0x22, 0x72, 0x22, 0x28, 0x74, 0x79, 0x70, 0x65, 0x29, 0x29, 0x3b, 0x0a, 0x7d, - 0x0a, 0x0a, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x3c, 0x6c, 0x63, 0x5f, 0x75, 0x69, - 0x6e, 0x74, 0x20, 0x69, 0x3e, 0x0a, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x76, 0x6f, 0x69, - 0x64, 0x20, 0x6c, 0x63, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, - 0x28, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x20, 0x78, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, - 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x20, 0x76, - 0x6f, 0x6c, 0x61, 0x74, 0x69, 0x6c, 0x65, 0x28, 0x22, 0x63, 0x61, 0x6c, 0x6c, 0x20, 0x5f, 0x6f, - 0x70, 0x74, 0x69, 0x78, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, - 0x2c, 0x20, 0x28, 0x25, 0x30, 0x2c, 0x20, 0x25, 0x31, 0x29, 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x0a, + 0x65, 0x74, 0x63, 0x68, 0x5f, 0x6f, 0x72, 0x28, 0x61, 0x74, 0x6f, 0x6d, 0x69, 0x63, 0x5f, 0x72, + 0x65, 0x66, 0x2c, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x29, 0x20, 0x61, 0x74, 0x6f, 0x6d, 0x69, + 0x63, 0x4f, 0x72, 0x28, 0x26, 0x28, 0x61, 0x74, 0x6f, 0x6d, 0x69, 0x63, 0x5f, 0x72, 0x65, 0x66, + 0x29, 0x2c, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x29, 0x0a, 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, + 0x65, 0x20, 0x6c, 0x63, 0x5f, 0x61, 0x74, 0x6f, 0x6d, 0x69, 0x63, 0x5f, 0x66, 0x65, 0x74, 0x63, + 0x68, 0x5f, 0x78, 0x6f, 0x72, 0x28, 0x61, 0x74, 0x6f, 0x6d, 0x69, 0x63, 0x5f, 0x72, 0x65, 0x66, + 0x2c, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x29, 0x20, 0x61, 0x74, 0x6f, 0x6d, 0x69, 0x63, 0x58, + 0x6f, 0x72, 0x28, 0x26, 0x28, 0x61, 0x74, 0x6f, 0x6d, 0x69, 0x63, 0x5f, 0x72, 0x65, 0x66, 0x29, + 0x2c, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x29, 0x0a, 0x0a, 0x2f, 0x2f, 0x20, 0x73, 0x74, 0x61, + 0x74, 0x69, 0x63, 0x20, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x20, 0x73, 0x69, 0x7a, 0x65, 0x0a, 0x5b, + 0x5b, 0x6e, 0x6f, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x5d, 0x5d, 0x20, 0x5f, 0x5f, 0x64, + 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x78, 0x70, + 0x72, 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x20, 0x6c, 0x63, 0x5f, 0x62, 0x6c, + 0x6f, 0x63, 0x6b, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x28, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, + 0x65, 0x70, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, + 0x20, 0x4c, 0x43, 0x5f, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, 0x53, 0x49, 0x5a, 0x45, 0x3b, 0x0a, + 0x7d, 0x0a, 0x0a, 0x23, 0x69, 0x66, 0x64, 0x65, 0x66, 0x20, 0x4c, 0x55, 0x49, 0x53, 0x41, 0x5f, + 0x45, 0x4e, 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x4f, 0x50, 0x54, 0x49, 0x58, 0x0a, 0x0a, 0x65, 0x6e, + 0x75, 0x6d, 0x20, 0x4c, 0x43, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x54, 0x79, 0x70, 0x65, + 0x49, 0x44, 0x20, 0x3a, 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x20, 0x7b, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x4c, 0x43, 0x5f, 0x50, 0x41, 0x59, 0x4c, 0x4f, 0x41, 0x44, 0x5f, 0x54, 0x59, + 0x50, 0x45, 0x5f, 0x44, 0x45, 0x46, 0x41, 0x55, 0x4c, 0x54, 0x20, 0x3d, 0x20, 0x30, 0x75, 0x2c, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x4c, 0x43, 0x5f, 0x50, 0x41, 0x59, 0x4c, 0x4f, 0x41, 0x44, 0x5f, + 0x54, 0x59, 0x50, 0x45, 0x5f, 0x49, 0x44, 0x5f, 0x30, 0x20, 0x3d, 0x20, 0x31, 0x75, 0x20, 0x3c, + 0x3c, 0x20, 0x30, 0x75, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x4c, 0x43, 0x5f, 0x50, 0x41, 0x59, + 0x4c, 0x4f, 0x41, 0x44, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x49, 0x44, 0x5f, 0x31, 0x20, 0x3d, + 0x20, 0x31, 0x75, 0x20, 0x3c, 0x3c, 0x20, 0x31, 0x75, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x4c, + 0x43, 0x5f, 0x50, 0x41, 0x59, 0x4c, 0x4f, 0x41, 0x44, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x49, + 0x44, 0x5f, 0x32, 0x20, 0x3d, 0x20, 0x31, 0x75, 0x20, 0x3c, 0x3c, 0x20, 0x32, 0x75, 0x2c, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x4c, 0x43, 0x5f, 0x50, 0x41, 0x59, 0x4c, 0x4f, 0x41, 0x44, 0x5f, 0x54, + 0x59, 0x50, 0x45, 0x5f, 0x49, 0x44, 0x5f, 0x33, 0x20, 0x3d, 0x20, 0x31, 0x75, 0x20, 0x3c, 0x3c, + 0x20, 0x33, 0x75, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x4c, 0x43, 0x5f, 0x50, 0x41, 0x59, 0x4c, + 0x4f, 0x41, 0x44, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x49, 0x44, 0x5f, 0x34, 0x20, 0x3d, 0x20, + 0x31, 0x75, 0x20, 0x3c, 0x3c, 0x20, 0x34, 0x75, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x4c, 0x43, + 0x5f, 0x50, 0x41, 0x59, 0x4c, 0x4f, 0x41, 0x44, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x49, 0x44, + 0x5f, 0x35, 0x20, 0x3d, 0x20, 0x31, 0x75, 0x20, 0x3c, 0x3c, 0x20, 0x35, 0x75, 0x2c, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x4c, 0x43, 0x5f, 0x50, 0x41, 0x59, 0x4c, 0x4f, 0x41, 0x44, 0x5f, 0x54, 0x59, + 0x50, 0x45, 0x5f, 0x49, 0x44, 0x5f, 0x36, 0x20, 0x3d, 0x20, 0x31, 0x75, 0x20, 0x3c, 0x3c, 0x20, + 0x36, 0x75, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x4c, 0x43, 0x5f, 0x50, 0x41, 0x59, 0x4c, 0x4f, + 0x41, 0x44, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x49, 0x44, 0x5f, 0x37, 0x20, 0x3d, 0x20, 0x31, + 0x75, 0x20, 0x3c, 0x3c, 0x20, 0x37, 0x75, 0x2c, 0x0a, 0x7d, 0x3b, 0x0a, 0x0a, 0x23, 0x64, 0x65, + 0x66, 0x69, 0x6e, 0x65, 0x20, 0x4c, 0x43, 0x5f, 0x50, 0x41, 0x59, 0x4c, 0x4f, 0x41, 0x44, 0x5f, + 0x54, 0x59, 0x50, 0x45, 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x54, 0x52, 0x41, 0x43, 0x45, 0x20, 0x28, + 0x4c, 0x43, 0x5f, 0x50, 0x41, 0x59, 0x4c, 0x4f, 0x41, 0x44, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, + 0x49, 0x44, 0x5f, 0x30, 0x29, 0x0a, 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, 0x4c, 0x43, + 0x5f, 0x50, 0x41, 0x59, 0x4c, 0x4f, 0x41, 0x44, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x52, 0x41, + 0x59, 0x5f, 0x51, 0x55, 0x45, 0x52, 0x59, 0x20, 0x28, 0x4c, 0x43, 0x5f, 0x50, 0x41, 0x59, 0x4c, + 0x4f, 0x41, 0x44, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x49, 0x44, 0x5f, 0x31, 0x29, 0x0a, 0x0a, + 0x76, 0x6f, 0x69, 0x64, 0x20, 0x6c, 0x63, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x70, 0x61, 0x79, 0x6c, + 0x6f, 0x61, 0x64, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x28, 0x4c, 0x43, 0x50, 0x61, 0x79, 0x6c, + 0x6f, 0x61, 0x64, 0x54, 0x79, 0x70, 0x65, 0x49, 0x44, 0x20, 0x74, 0x79, 0x70, 0x65, 0x29, 0x20, + 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, + 0x73, 0x6d, 0x20, 0x76, 0x6f, 0x6c, 0x61, 0x74, 0x69, 0x6c, 0x65, 0x28, 0x22, 0x63, 0x61, 0x6c, + 0x6c, 0x20, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x78, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x70, 0x61, 0x79, + 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2c, 0x20, 0x28, 0x25, 0x30, 0x29, + 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x3a, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x72, 0x22, 0x28, 0x74, 0x79, 0x70, + 0x65, 0x29, 0x29, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, + 0x3c, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x20, 0x69, 0x3e, 0x0a, 0x76, 0x6f, 0x69, 0x64, + 0x20, 0x6c, 0x63, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x28, + 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x20, 0x78, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, + 0x65, 0x70, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x20, 0x76, 0x6f, + 0x6c, 0x61, 0x74, 0x69, 0x6c, 0x65, 0x28, 0x22, 0x63, 0x61, 0x6c, 0x6c, 0x20, 0x5f, 0x6f, 0x70, + 0x74, 0x69, 0x78, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x2c, + 0x20, 0x28, 0x25, 0x30, 0x2c, 0x20, 0x25, 0x31, 0x29, 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x3a, 0x20, 0x22, 0x72, 0x22, 0x28, 0x69, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x78, - 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x3a, 0x29, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, - 0x74, 0x65, 0x3c, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x20, 0x69, 0x3e, 0x0a, 0x5b, 0x5b, - 0x6e, 0x6f, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x5d, 0x5d, 0x20, 0x61, 0x75, 0x74, 0x6f, - 0x20, 0x6c, 0x63, 0x5f, 0x67, 0x65, 0x74, 0x5f, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x28, - 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x72, 0x20, 0x3d, 0x20, 0x30, 0x75, 0x3b, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x61, 0x73, 0x6d, 0x20, 0x76, 0x6f, 0x6c, 0x61, 0x74, 0x69, 0x6c, 0x65, 0x28, 0x22, - 0x63, 0x61, 0x6c, 0x6c, 0x20, 0x28, 0x25, 0x30, 0x29, 0x2c, 0x20, 0x5f, 0x6f, 0x70, 0x74, 0x69, - 0x78, 0x5f, 0x67, 0x65, 0x74, 0x5f, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x2c, 0x20, 0x28, - 0x25, 0x31, 0x29, 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x72, 0x22, 0x28, 0x72, 0x29, + 0x3a, 0x20, 0x22, 0x72, 0x22, 0x28, 0x69, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x78, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x3a, 0x20, 0x22, 0x72, 0x22, 0x28, 0x69, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x29, 0x3b, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x72, 0x3b, 0x0a, 0x7d, 0x0a, - 0x0a, 0x5b, 0x5b, 0x6e, 0x6f, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x5d, 0x5d, 0x20, 0x69, - 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x6c, 0x63, 0x5f, 0x67, 0x65, - 0x74, 0x5f, 0x70, 0x72, 0x69, 0x6d, 0x69, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x69, 0x6e, 0x64, 0x65, - 0x78, 0x28, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x20, 0x75, 0x30, 0x3b, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x63, 0x61, 0x6c, 0x6c, 0x20, 0x28, 0x25, 0x30, - 0x29, 0x2c, 0x20, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x78, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x70, - 0x72, 0x69, 0x6d, 0x69, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x69, 0x64, 0x78, 0x2c, 0x20, 0x28, 0x29, - 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x72, - 0x22, 0x28, 0x75, 0x30, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x29, - 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x75, 0x30, 0x3b, + 0x20, 0x20, 0x3a, 0x29, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, + 0x65, 0x3c, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x20, 0x69, 0x3e, 0x0a, 0x5b, 0x5b, 0x6e, + 0x6f, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x5d, 0x5d, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, + 0x6c, 0x63, 0x5f, 0x67, 0x65, 0x74, 0x5f, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x28, 0x29, + 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x61, 0x75, 0x74, 0x6f, 0x20, 0x72, 0x20, 0x3d, 0x20, 0x30, 0x75, 0x3b, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x61, 0x73, 0x6d, 0x20, 0x76, 0x6f, 0x6c, 0x61, 0x74, 0x69, 0x6c, 0x65, 0x28, 0x22, 0x63, + 0x61, 0x6c, 0x6c, 0x20, 0x28, 0x25, 0x30, 0x29, 0x2c, 0x20, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x78, + 0x5f, 0x67, 0x65, 0x74, 0x5f, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x2c, 0x20, 0x28, 0x25, + 0x31, 0x29, 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x72, 0x22, 0x28, 0x72, 0x29, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x3a, 0x20, 0x22, 0x72, 0x22, 0x28, 0x69, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x29, 0x3b, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x72, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, + 0x5b, 0x5b, 0x6e, 0x6f, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x5d, 0x5d, 0x20, 0x61, 0x75, + 0x74, 0x6f, 0x20, 0x6c, 0x63, 0x5f, 0x67, 0x65, 0x74, 0x5f, 0x70, 0x72, 0x69, 0x6d, 0x69, 0x74, + 0x69, 0x76, 0x65, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x28, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, + 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x69, + 0x6e, 0x74, 0x20, 0x75, 0x30, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, + 0x63, 0x61, 0x6c, 0x6c, 0x20, 0x28, 0x25, 0x30, 0x29, 0x2c, 0x20, 0x5f, 0x6f, 0x70, 0x74, 0x69, + 0x78, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x70, 0x72, 0x69, 0x6d, 0x69, 0x74, 0x69, 0x76, 0x65, + 0x5f, 0x69, 0x64, 0x78, 0x2c, 0x20, 0x28, 0x29, 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x72, 0x22, 0x28, 0x75, 0x30, 0x29, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, + 0x74, 0x75, 0x72, 0x6e, 0x20, 0x75, 0x30, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x5b, 0x5b, 0x6e, 0x6f, + 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x5d, 0x5d, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x6c, + 0x63, 0x5f, 0x67, 0x65, 0x74, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x69, + 0x6e, 0x64, 0x65, 0x78, 0x28, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, + 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x20, 0x75, 0x30, + 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x63, 0x61, 0x6c, 0x6c, 0x20, + 0x28, 0x25, 0x30, 0x29, 0x2c, 0x20, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x78, 0x5f, 0x72, 0x65, 0x61, + 0x64, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x78, 0x2c, 0x20, + 0x28, 0x29, 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, + 0x3d, 0x72, 0x22, 0x28, 0x75, 0x30, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x3a, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x75, + 0x30, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x5b, 0x5b, 0x6e, 0x6f, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, + 0x64, 0x5d, 0x5d, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x6c, 0x63, 0x5f, 0x67, 0x65, 0x74, 0x5f, + 0x62, 0x61, 0x72, 0x79, 0x5f, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x73, 0x28, 0x29, 0x20, 0x6e, 0x6f, + 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x66, 0x6c, 0x6f, + 0x61, 0x74, 0x20, 0x66, 0x30, 0x2c, 0x20, 0x66, 0x31, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, + 0x73, 0x6d, 0x28, 0x22, 0x63, 0x61, 0x6c, 0x6c, 0x20, 0x28, 0x25, 0x30, 0x2c, 0x20, 0x25, 0x31, + 0x29, 0x2c, 0x20, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x78, 0x5f, 0x67, 0x65, 0x74, 0x5f, 0x74, 0x72, + 0x69, 0x61, 0x6e, 0x67, 0x6c, 0x65, 0x5f, 0x62, 0x61, 0x72, 0x79, 0x63, 0x65, 0x6e, 0x74, 0x72, + 0x69, 0x63, 0x73, 0x2c, 0x20, 0x28, 0x29, 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x66, 0x22, 0x28, 0x66, 0x30, 0x29, 0x2c, 0x20, 0x22, 0x3d, + 0x66, 0x22, 0x28, 0x66, 0x31, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, + 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x6c, 0x63, + 0x5f, 0x6d, 0x61, 0x6b, 0x65, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x32, 0x28, 0x66, 0x30, 0x2c, + 0x20, 0x66, 0x31, 0x29, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x5b, 0x5b, 0x6e, 0x6f, 0x64, 0x69, 0x73, + 0x63, 0x61, 0x72, 0x64, 0x5d, 0x5d, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x6c, 0x63, 0x5f, 0x67, + 0x65, 0x74, 0x5f, 0x63, 0x75, 0x72, 0x76, 0x65, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, + 0x65, 0x72, 0x28, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x66, 0x30, 0x3b, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x63, 0x61, 0x6c, 0x6c, 0x20, 0x28, 0x25, 0x30, 0x29, + 0x2c, 0x20, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x78, 0x5f, 0x67, 0x65, 0x74, 0x5f, 0x63, 0x75, 0x72, + 0x76, 0x65, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x2c, 0x20, 0x28, 0x29, + 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x66, + 0x22, 0x28, 0x66, 0x30, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x29, + 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x66, 0x30, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x5b, 0x5b, 0x6e, 0x6f, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x5d, - 0x5d, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x6c, 0x63, - 0x5f, 0x67, 0x65, 0x74, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x69, 0x6e, - 0x64, 0x65, 0x78, 0x28, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x20, 0x75, 0x30, 0x3b, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x63, 0x61, 0x6c, 0x6c, 0x20, 0x28, - 0x25, 0x30, 0x29, 0x2c, 0x20, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x78, 0x5f, 0x72, 0x65, 0x61, 0x64, - 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x78, 0x2c, 0x20, 0x28, + 0x5d, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x6c, 0x63, 0x5f, 0x67, 0x65, 0x74, 0x5f, 0x68, 0x69, + 0x74, 0x5f, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x28, 0x29, 0x20, 0x6e, 0x6f, 0x65, + 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, + 0x74, 0x20, 0x66, 0x30, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x63, + 0x61, 0x6c, 0x6c, 0x20, 0x28, 0x25, 0x30, 0x29, 0x2c, 0x20, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x78, + 0x5f, 0x67, 0x65, 0x74, 0x5f, 0x72, 0x61, 0x79, 0x5f, 0x74, 0x6d, 0x61, 0x78, 0x2c, 0x20, 0x28, 0x29, 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, - 0x72, 0x22, 0x28, 0x75, 0x30, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, - 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x75, 0x30, + 0x66, 0x22, 0x28, 0x66, 0x30, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, + 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x66, 0x30, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x5b, 0x5b, 0x6e, 0x6f, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, - 0x5d, 0x5d, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x6c, - 0x63, 0x5f, 0x67, 0x65, 0x74, 0x5f, 0x62, 0x61, 0x72, 0x79, 0x5f, 0x63, 0x6f, 0x6f, 0x72, 0x64, - 0x73, 0x28, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x66, 0x30, 0x2c, 0x20, 0x66, 0x31, 0x3b, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x63, 0x61, 0x6c, 0x6c, 0x20, 0x28, - 0x25, 0x30, 0x2c, 0x20, 0x25, 0x31, 0x29, 0x2c, 0x20, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x78, 0x5f, - 0x67, 0x65, 0x74, 0x5f, 0x74, 0x72, 0x69, 0x61, 0x6e, 0x67, 0x6c, 0x65, 0x5f, 0x62, 0x61, 0x72, - 0x79, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x63, 0x73, 0x2c, 0x20, 0x28, 0x29, 0x3b, 0x22, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x66, 0x22, 0x28, 0x66, - 0x30, 0x29, 0x2c, 0x20, 0x22, 0x3d, 0x66, 0x22, 0x28, 0x66, 0x31, 0x29, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, - 0x75, 0x72, 0x6e, 0x20, 0x6c, 0x63, 0x5f, 0x6d, 0x61, 0x6b, 0x65, 0x5f, 0x66, 0x6c, 0x6f, 0x61, - 0x74, 0x32, 0x28, 0x66, 0x30, 0x2c, 0x20, 0x66, 0x31, 0x29, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x5b, - 0x5b, 0x6e, 0x6f, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x5d, 0x5d, 0x20, 0x69, 0x6e, 0x6c, - 0x69, 0x6e, 0x65, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x6c, 0x63, 0x5f, 0x67, 0x65, 0x74, 0x5f, - 0x63, 0x75, 0x72, 0x76, 0x65, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x28, - 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x66, 0x30, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, - 0x73, 0x6d, 0x28, 0x22, 0x63, 0x61, 0x6c, 0x6c, 0x20, 0x28, 0x25, 0x30, 0x29, 0x2c, 0x20, 0x5f, - 0x6f, 0x70, 0x74, 0x69, 0x78, 0x5f, 0x67, 0x65, 0x74, 0x5f, 0x63, 0x75, 0x72, 0x76, 0x65, 0x5f, - 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x2c, 0x20, 0x28, 0x29, 0x3b, 0x22, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x66, 0x22, 0x28, 0x66, - 0x30, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x29, 0x3b, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x66, 0x30, 0x3b, 0x0a, 0x7d, 0x0a, - 0x0a, 0x5b, 0x5b, 0x6e, 0x6f, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x5d, 0x5d, 0x20, 0x69, - 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x6c, 0x63, 0x5f, 0x67, 0x65, - 0x74, 0x5f, 0x68, 0x69, 0x74, 0x5f, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x28, 0x29, - 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x66, 0x30, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, - 0x6d, 0x28, 0x22, 0x63, 0x61, 0x6c, 0x6c, 0x20, 0x28, 0x25, 0x30, 0x29, 0x2c, 0x20, 0x5f, 0x6f, - 0x70, 0x74, 0x69, 0x78, 0x5f, 0x67, 0x65, 0x74, 0x5f, 0x72, 0x61, 0x79, 0x5f, 0x74, 0x6d, 0x61, - 0x78, 0x2c, 0x20, 0x28, 0x29, 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x3a, 0x20, 0x22, 0x3d, 0x66, 0x22, 0x28, 0x66, 0x30, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x3a, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, - 0x6e, 0x20, 0x66, 0x30, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x5b, 0x5b, 0x6e, 0x6f, 0x64, 0x69, 0x73, - 0x63, 0x61, 0x72, 0x64, 0x5d, 0x5d, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x61, 0x75, - 0x74, 0x6f, 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x6e, 0x64, 0x65, 0x66, 0x28, 0x29, 0x20, 0x6e, 0x6f, - 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x75, 0x74, - 0x6f, 0x20, 0x75, 0x30, 0x20, 0x3d, 0x20, 0x30, 0x75, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, - 0x73, 0x6d, 0x28, 0x22, 0x63, 0x61, 0x6c, 0x6c, 0x20, 0x28, 0x25, 0x30, 0x29, 0x2c, 0x20, 0x5f, - 0x6f, 0x70, 0x74, 0x69, 0x78, 0x5f, 0x75, 0x6e, 0x64, 0x65, 0x66, 0x5f, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x2c, 0x20, 0x28, 0x29, 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x3a, 0x20, 0x22, 0x3d, 0x72, 0x22, 0x28, 0x75, 0x30, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x3a, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, - 0x6e, 0x20, 0x75, 0x30, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, - 0x76, 0x6f, 0x69, 0x64, 0x20, 0x6c, 0x63, 0x5f, 0x73, 0x68, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x65, - 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x6f, 0x72, 0x64, 0x65, 0x72, - 0x28, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x20, 0x68, 0x69, 0x6e, 0x74, 0x2c, 0x20, 0x6c, - 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x20, 0x68, 0x69, 0x6e, 0x74, 0x5f, 0x62, 0x69, 0x74, 0x73, - 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x61, 0x73, 0x6d, 0x20, 0x76, 0x6f, 0x6c, 0x61, 0x74, 0x69, 0x6c, 0x65, 0x28, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x63, 0x61, 0x6c, 0x6c, 0x20, 0x28, 0x29, 0x2c, - 0x20, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x78, 0x5f, 0x68, 0x69, 0x74, 0x6f, 0x62, 0x6a, 0x65, 0x63, - 0x74, 0x5f, 0x72, 0x65, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x2c, 0x20, 0x28, 0x25, 0x30, 0x2c, 0x25, - 0x31, 0x29, 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x72, 0x22, 0x28, 0x68, 0x69, 0x6e, - 0x74, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x68, 0x69, 0x6e, 0x74, 0x5f, 0x62, 0x69, 0x74, - 0x73, 0x29, 0x29, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, - 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x76, 0x6f, 0x69, 0x64, 0x20, 0x6c, - 0x63, 0x5f, 0x68, 0x69, 0x74, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x72, 0x65, 0x73, - 0x65, 0x74, 0x28, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x20, 0x76, 0x6f, 0x6c, 0x61, 0x74, 0x69, 0x6c, 0x65, - 0x28, 0x22, 0x63, 0x61, 0x6c, 0x6c, 0x20, 0x28, 0x29, 0x2c, 0x20, 0x5f, 0x6f, 0x70, 0x74, 0x69, - 0x78, 0x5f, 0x68, 0x69, 0x74, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x6d, 0x61, 0x6b, 0x65, - 0x5f, 0x6e, 0x6f, 0x70, 0x2c, 0x20, 0x28, 0x29, 0x3b, 0x22, 0x29, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, - 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, - 0x65, 0x20, 0x6c, 0x63, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x32, 0x20, 0x6c, 0x63, 0x5f, 0x68, + 0x5d, 0x5d, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x6e, 0x64, 0x65, 0x66, + 0x28, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x75, 0x30, 0x20, 0x3d, 0x20, 0x30, 0x75, 0x3b, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x63, 0x61, 0x6c, 0x6c, 0x20, 0x28, 0x25, + 0x30, 0x29, 0x2c, 0x20, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x78, 0x5f, 0x75, 0x6e, 0x64, 0x65, 0x66, + 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2c, 0x20, 0x28, 0x29, 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x72, 0x22, 0x28, 0x75, 0x30, 0x29, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x75, 0x30, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x76, 0x6f, + 0x69, 0x64, 0x20, 0x6c, 0x63, 0x5f, 0x73, 0x68, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x65, 0x78, 0x65, + 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x28, 0x6c, + 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x20, 0x68, 0x69, 0x6e, 0x74, 0x2c, 0x20, 0x6c, 0x63, 0x5f, + 0x75, 0x69, 0x6e, 0x74, 0x20, 0x68, 0x69, 0x6e, 0x74, 0x5f, 0x62, 0x69, 0x74, 0x73, 0x29, 0x20, + 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, + 0x73, 0x6d, 0x20, 0x76, 0x6f, 0x6c, 0x61, 0x74, 0x69, 0x6c, 0x65, 0x28, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x63, 0x61, 0x6c, 0x6c, 0x20, 0x28, 0x29, 0x2c, 0x20, 0x5f, + 0x6f, 0x70, 0x74, 0x69, 0x78, 0x5f, 0x68, 0x69, 0x74, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, + 0x72, 0x65, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x2c, 0x20, 0x28, 0x25, 0x30, 0x2c, 0x25, 0x31, 0x29, + 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x72, 0x22, 0x28, 0x68, 0x69, 0x6e, 0x74, 0x29, + 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x68, 0x69, 0x6e, 0x74, 0x5f, 0x62, 0x69, 0x74, 0x73, 0x29, + 0x29, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, + 0x20, 0x76, 0x6f, 0x69, 0x64, 0x20, 0x6c, 0x63, 0x5f, 0x68, 0x69, 0x74, 0x5f, 0x6f, 0x62, 0x6a, + 0x65, 0x63, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x65, 0x74, 0x28, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, + 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x20, 0x76, + 0x6f, 0x6c, 0x61, 0x74, 0x69, 0x6c, 0x65, 0x28, 0x22, 0x63, 0x61, 0x6c, 0x6c, 0x20, 0x28, 0x29, + 0x2c, 0x20, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x78, 0x5f, 0x68, 0x69, 0x74, 0x6f, 0x62, 0x6a, 0x65, + 0x63, 0x74, 0x5f, 0x6d, 0x61, 0x6b, 0x65, 0x5f, 0x6e, 0x6f, 0x70, 0x2c, 0x20, 0x28, 0x29, 0x3b, + 0x22, 0x29, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, + 0x5f, 0x20, 0x6c, 0x63, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x32, 0x20, 0x6c, 0x63, 0x5f, 0x68, 0x69, 0x74, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x74, 0x72, 0x69, 0x61, 0x6e, 0x67, 0x6c, 0x65, 0x5f, 0x62, 0x61, 0x72, 0x79, 0x28, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, @@ -41132,364 +40885,419 @@ extern "C" const char luisa_cuda_builtin_cuda_device_resource[119200] = { 0x73, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x28, 0x75, 0x5f, 0x62, 0x69, 0x74, 0x73, 0x29, 0x2c, 0x20, 0x5f, 0x5f, 0x69, 0x6e, 0x74, 0x5f, 0x61, 0x73, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x28, 0x76, 0x5f, 0x62, 0x69, 0x74, 0x73, 0x29, 0x29, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x5f, 0x5f, 0x64, - 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x6c, - 0x63, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x6c, 0x63, 0x5f, 0x68, 0x69, 0x74, 0x5f, 0x6f, - 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x63, 0x75, 0x72, 0x76, 0x65, 0x5f, 0x70, 0x61, 0x72, 0x61, - 0x6d, 0x65, 0x74, 0x65, 0x72, 0x28, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, - 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x20, 0x75, - 0x5f, 0x62, 0x69, 0x74, 0x73, 0x2c, 0x20, 0x76, 0x5f, 0x62, 0x69, 0x74, 0x73, 0x3b, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x20, 0x76, 0x6f, 0x6c, 0x61, 0x74, 0x69, 0x6c, 0x65, 0x28, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x63, 0x61, 0x6c, 0x6c, 0x20, 0x28, - 0x25, 0x30, 0x29, 0x2c, 0x20, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x78, 0x5f, 0x68, 0x69, 0x74, 0x6f, - 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x67, 0x65, 0x74, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, - 0x75, 0x74, 0x65, 0x2c, 0x20, 0x28, 0x25, 0x31, 0x29, 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x72, 0x22, 0x28, 0x75, 0x5f, 0x62, 0x69, 0x74, - 0x73, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x72, 0x22, - 0x28, 0x30, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, - 0x20, 0x5f, 0x5f, 0x69, 0x6e, 0x74, 0x5f, 0x61, 0x73, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x28, - 0x75, 0x5f, 0x62, 0x69, 0x74, 0x73, 0x29, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x5f, 0x5f, 0x64, 0x65, - 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x62, 0x6f, - 0x6f, 0x6c, 0x20, 0x6c, 0x63, 0x5f, 0x68, 0x69, 0x74, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, - 0x5f, 0x69, 0x73, 0x5f, 0x68, 0x69, 0x74, 0x28, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, + 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x6c, 0x63, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, + 0x20, 0x6c, 0x63, 0x5f, 0x68, 0x69, 0x74, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x63, + 0x75, 0x72, 0x76, 0x65, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x28, 0x29, + 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x20, 0x75, 0x5f, 0x62, 0x69, 0x74, 0x73, 0x2c, 0x20, + 0x76, 0x5f, 0x62, 0x69, 0x74, 0x73, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x20, + 0x76, 0x6f, 0x6c, 0x61, 0x74, 0x69, 0x6c, 0x65, 0x28, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x22, 0x63, 0x61, 0x6c, 0x6c, 0x20, 0x28, 0x25, 0x30, 0x29, 0x2c, 0x20, 0x5f, 0x6f, + 0x70, 0x74, 0x69, 0x78, 0x5f, 0x68, 0x69, 0x74, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x67, + 0x65, 0x74, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x2c, 0x20, 0x28, 0x25, + 0x31, 0x29, 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, + 0x3d, 0x72, 0x22, 0x28, 0x75, 0x5f, 0x62, 0x69, 0x74, 0x73, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x72, 0x22, 0x28, 0x30, 0x29, 0x29, 0x3b, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x5f, 0x5f, 0x69, 0x6e, 0x74, 0x5f, + 0x61, 0x73, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x28, 0x75, 0x5f, 0x62, 0x69, 0x74, 0x73, 0x29, + 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, + 0x62, 0x6f, 0x6f, 0x6c, 0x20, 0x6c, 0x63, 0x5f, 0x68, 0x69, 0x74, 0x5f, 0x6f, 0x62, 0x6a, 0x65, + 0x63, 0x74, 0x5f, 0x69, 0x73, 0x5f, 0x68, 0x69, 0x74, 0x28, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, + 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x69, + 0x6e, 0x74, 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, + 0x73, 0x6d, 0x20, 0x76, 0x6f, 0x6c, 0x61, 0x74, 0x69, 0x6c, 0x65, 0x28, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x63, 0x61, 0x6c, 0x6c, 0x20, 0x28, 0x25, 0x30, 0x29, 0x2c, + 0x20, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x78, 0x5f, 0x68, 0x69, 0x74, 0x6f, 0x62, 0x6a, 0x65, 0x63, + 0x74, 0x5f, 0x69, 0x73, 0x5f, 0x68, 0x69, 0x74, 0x2c, 0x20, 0x28, 0x29, 0x3b, 0x22, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x72, 0x22, 0x28, 0x72, 0x65, + 0x73, 0x75, 0x6c, 0x74, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x29, + 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x72, 0x65, 0x73, + 0x75, 0x6c, 0x74, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, + 0x5f, 0x5f, 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x20, 0x6c, 0x63, 0x5f, 0x68, 0x69, + 0x74, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, + 0x65, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x28, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x20, 0x76, 0x6f, 0x6c, 0x61, 0x74, 0x69, 0x6c, 0x65, 0x28, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x63, 0x61, 0x6c, 0x6c, 0x20, 0x28, 0x25, 0x30, 0x29, 0x2c, 0x20, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x78, 0x5f, 0x68, 0x69, 0x74, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, - 0x69, 0x73, 0x5f, 0x68, 0x69, 0x74, 0x2c, 0x20, 0x28, 0x29, 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x72, 0x22, 0x28, 0x72, 0x65, 0x73, 0x75, - 0x6c, 0x74, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x29, 0x3b, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, - 0x74, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, - 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x20, - 0x6c, 0x63, 0x5f, 0x68, 0x69, 0x74, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x6e, - 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x28, 0x29, 0x20, 0x6e, - 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, - 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x3b, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x61, 0x73, 0x6d, 0x20, 0x76, 0x6f, 0x6c, 0x61, 0x74, 0x69, 0x6c, 0x65, 0x28, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x63, 0x61, 0x6c, 0x6c, 0x20, 0x28, 0x25, - 0x30, 0x29, 0x2c, 0x20, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x78, 0x5f, 0x68, 0x69, 0x74, 0x6f, 0x62, - 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x67, 0x65, 0x74, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, - 0x65, 0x5f, 0x69, 0x64, 0x78, 0x2c, 0x20, 0x28, 0x29, 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x67, 0x65, 0x74, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x78, + 0x2c, 0x20, 0x28, 0x29, 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, + 0x20, 0x22, 0x3d, 0x72, 0x22, 0x28, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x29, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, + 0x74, 0x75, 0x72, 0x6e, 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, + 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x69, + 0x6e, 0x74, 0x20, 0x6c, 0x63, 0x5f, 0x68, 0x69, 0x74, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, + 0x5f, 0x70, 0x72, 0x69, 0x6d, 0x69, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, + 0x28, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, + 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x20, 0x76, 0x6f, 0x6c, 0x61, 0x74, 0x69, + 0x6c, 0x65, 0x28, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x63, 0x61, 0x6c, + 0x6c, 0x20, 0x28, 0x25, 0x30, 0x29, 0x2c, 0x20, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x78, 0x5f, 0x68, + 0x69, 0x74, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x67, 0x65, 0x74, 0x5f, 0x70, 0x72, 0x69, + 0x6d, 0x69, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x69, 0x64, 0x78, 0x2c, 0x20, 0x28, 0x29, 0x3b, 0x22, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x72, 0x22, 0x28, + 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x3a, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x72, + 0x65, 0x73, 0x75, 0x6c, 0x74, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, + 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x6c, 0x63, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x6c, 0x63, + 0x5f, 0x68, 0x69, 0x74, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x72, 0x61, 0x79, 0x5f, + 0x74, 0x5f, 0x6d, 0x61, 0x78, 0x28, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, + 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x72, 0x65, 0x73, + 0x75, 0x6c, 0x74, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x20, 0x76, 0x6f, 0x6c, + 0x61, 0x74, 0x69, 0x6c, 0x65, 0x28, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, + 0x63, 0x61, 0x6c, 0x6c, 0x20, 0x28, 0x25, 0x30, 0x29, 0x2c, 0x20, 0x5f, 0x6f, 0x70, 0x74, 0x69, + 0x78, 0x5f, 0x68, 0x69, 0x74, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x67, 0x65, 0x74, 0x5f, + 0x72, 0x61, 0x79, 0x5f, 0x74, 0x6d, 0x61, 0x78, 0x2c, 0x20, 0x28, 0x29, 0x3b, 0x22, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x66, 0x22, 0x28, 0x72, 0x65, + 0x73, 0x75, 0x6c, 0x74, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x29, + 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x72, 0x65, 0x73, + 0x75, 0x6c, 0x74, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, + 0x5f, 0x5f, 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x20, 0x6c, 0x63, 0x5f, 0x68, 0x69, + 0x74, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x68, 0x69, 0x74, 0x5f, 0x6b, 0x69, 0x6e, + 0x64, 0x28, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, + 0x74, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x20, 0x76, 0x6f, 0x6c, 0x61, 0x74, + 0x69, 0x6c, 0x65, 0x28, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x63, 0x61, + 0x6c, 0x6c, 0x20, 0x28, 0x25, 0x30, 0x29, 0x2c, 0x20, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x78, 0x5f, + 0x68, 0x69, 0x74, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x67, 0x65, 0x74, 0x5f, 0x68, 0x69, + 0x74, 0x6b, 0x69, 0x6e, 0x64, 0x2c, 0x20, 0x28, 0x29, 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x72, 0x22, 0x28, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, - 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, - 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x20, 0x6c, - 0x63, 0x5f, 0x68, 0x69, 0x74, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x70, 0x72, 0x69, - 0x6d, 0x69, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x28, 0x29, 0x20, 0x6e, - 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, - 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x3b, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x61, 0x73, 0x6d, 0x20, 0x76, 0x6f, 0x6c, 0x61, 0x74, 0x69, 0x6c, 0x65, 0x28, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x63, 0x61, 0x6c, 0x6c, 0x20, 0x28, 0x25, - 0x30, 0x29, 0x2c, 0x20, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x78, 0x5f, 0x68, 0x69, 0x74, 0x6f, 0x62, - 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x67, 0x65, 0x74, 0x5f, 0x70, 0x72, 0x69, 0x6d, 0x69, 0x74, 0x69, - 0x76, 0x65, 0x5f, 0x69, 0x64, 0x78, 0x2c, 0x20, 0x28, 0x29, 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x72, 0x22, 0x28, 0x72, 0x65, 0x73, 0x75, - 0x6c, 0x74, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x29, 0x3b, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, - 0x74, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, - 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x6c, 0x63, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, - 0x20, 0x6c, 0x63, 0x5f, 0x68, 0x69, 0x74, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x72, - 0x61, 0x79, 0x5f, 0x74, 0x5f, 0x6d, 0x61, 0x78, 0x28, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, - 0x65, 0x70, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, - 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x20, - 0x76, 0x6f, 0x6c, 0x61, 0x74, 0x69, 0x6c, 0x65, 0x28, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x22, 0x63, 0x61, 0x6c, 0x6c, 0x20, 0x28, 0x25, 0x30, 0x29, 0x2c, 0x20, 0x5f, 0x6f, - 0x70, 0x74, 0x69, 0x78, 0x5f, 0x68, 0x69, 0x74, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x67, - 0x65, 0x74, 0x5f, 0x72, 0x61, 0x79, 0x5f, 0x74, 0x6d, 0x61, 0x78, 0x2c, 0x20, 0x28, 0x29, 0x3b, - 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x66, 0x22, - 0x28, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x3a, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, - 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, - 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x6c, 0x63, 0x5f, - 0x75, 0x69, 0x6e, 0x74, 0x20, 0x6c, 0x63, 0x5f, 0x68, 0x69, 0x74, 0x5f, 0x6f, 0x62, 0x6a, 0x65, - 0x63, 0x74, 0x5f, 0x68, 0x69, 0x74, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x28, 0x29, 0x20, 0x6e, 0x6f, - 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, - 0x75, 0x69, 0x6e, 0x74, 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x3b, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x61, 0x73, 0x6d, 0x20, 0x76, 0x6f, 0x6c, 0x61, 0x74, 0x69, 0x6c, 0x65, 0x28, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x63, 0x61, 0x6c, 0x6c, 0x20, 0x28, 0x25, 0x30, - 0x29, 0x2c, 0x20, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x78, 0x5f, 0x68, 0x69, 0x74, 0x6f, 0x62, 0x6a, - 0x65, 0x63, 0x74, 0x5f, 0x67, 0x65, 0x74, 0x5f, 0x68, 0x69, 0x74, 0x6b, 0x69, 0x6e, 0x64, 0x2c, - 0x20, 0x28, 0x29, 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, - 0x22, 0x3d, 0x72, 0x22, 0x28, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x29, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, - 0x75, 0x72, 0x6e, 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x65, - 0x6e, 0x75, 0x6d, 0x20, 0x4c, 0x43, 0x52, 0x61, 0x79, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x20, 0x3a, - 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x4c, - 0x43, 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x46, 0x4c, 0x41, 0x47, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x20, - 0x3d, 0x20, 0x30, 0x75, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x4c, 0x43, 0x5f, 0x52, 0x41, 0x59, - 0x5f, 0x46, 0x4c, 0x41, 0x47, 0x5f, 0x44, 0x49, 0x53, 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x41, 0x4e, - 0x59, 0x48, 0x49, 0x54, 0x20, 0x3d, 0x20, 0x31, 0x75, 0x20, 0x3c, 0x3c, 0x20, 0x30, 0x75, 0x2c, + 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x65, 0x6e, 0x75, 0x6d, 0x20, 0x4c, 0x43, 0x52, 0x61, 0x79, 0x46, + 0x6c, 0x61, 0x67, 0x73, 0x20, 0x3a, 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x4c, 0x43, 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x46, 0x4c, 0x41, 0x47, - 0x5f, 0x45, 0x4e, 0x46, 0x4f, 0x52, 0x43, 0x45, 0x5f, 0x41, 0x4e, 0x59, 0x48, 0x49, 0x54, 0x20, - 0x3d, 0x20, 0x31, 0x75, 0x20, 0x3c, 0x3c, 0x20, 0x31, 0x75, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x4c, 0x43, 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x46, 0x4c, 0x41, 0x47, 0x5f, 0x54, 0x45, 0x52, 0x4d, - 0x49, 0x4e, 0x41, 0x54, 0x45, 0x5f, 0x4f, 0x4e, 0x5f, 0x46, 0x49, 0x52, 0x53, 0x54, 0x5f, 0x48, - 0x49, 0x54, 0x20, 0x3d, 0x20, 0x31, 0x75, 0x20, 0x3c, 0x3c, 0x20, 0x32, 0x75, 0x2c, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x4c, 0x43, 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x46, 0x4c, 0x41, 0x47, 0x5f, 0x44, - 0x49, 0x53, 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x43, 0x4c, 0x4f, 0x53, 0x45, 0x53, 0x54, 0x48, 0x49, - 0x54, 0x20, 0x3d, 0x20, 0x31, 0x75, 0x20, 0x3c, 0x3c, 0x20, 0x33, 0x75, 0x2c, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x4c, 0x43, 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x46, 0x4c, 0x41, 0x47, 0x5f, 0x43, 0x55, - 0x4c, 0x4c, 0x5f, 0x42, 0x41, 0x43, 0x4b, 0x5f, 0x46, 0x41, 0x43, 0x49, 0x4e, 0x47, 0x5f, 0x54, - 0x52, 0x49, 0x41, 0x4e, 0x47, 0x4c, 0x45, 0x53, 0x20, 0x3d, 0x20, 0x31, 0x75, 0x20, 0x3c, 0x3c, - 0x20, 0x34, 0x75, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x4c, 0x43, 0x5f, 0x52, 0x41, 0x59, 0x5f, - 0x46, 0x4c, 0x41, 0x47, 0x5f, 0x43, 0x55, 0x4c, 0x4c, 0x5f, 0x46, 0x52, 0x4f, 0x4e, 0x54, 0x5f, - 0x46, 0x41, 0x43, 0x49, 0x4e, 0x47, 0x5f, 0x54, 0x52, 0x49, 0x41, 0x4e, 0x47, 0x4c, 0x45, 0x53, - 0x20, 0x3d, 0x20, 0x31, 0x75, 0x20, 0x3c, 0x3c, 0x20, 0x35, 0x75, 0x2c, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x4c, 0x43, 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x46, 0x4c, 0x41, 0x47, 0x5f, 0x43, 0x55, 0x4c, - 0x4c, 0x5f, 0x44, 0x49, 0x53, 0x41, 0x42, 0x4c, 0x45, 0x44, 0x5f, 0x41, 0x4e, 0x59, 0x48, 0x49, - 0x54, 0x20, 0x3d, 0x20, 0x31, 0x75, 0x20, 0x3c, 0x3c, 0x20, 0x36, 0x75, 0x2c, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x4c, 0x43, 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x46, 0x4c, 0x41, 0x47, 0x5f, 0x43, 0x55, - 0x4c, 0x4c, 0x5f, 0x45, 0x4e, 0x46, 0x4f, 0x52, 0x43, 0x45, 0x44, 0x5f, 0x41, 0x4e, 0x59, 0x48, - 0x49, 0x54, 0x20, 0x3d, 0x20, 0x31, 0x75, 0x20, 0x3c, 0x3c, 0x20, 0x37, 0x75, 0x2c, 0x0a, 0x7d, - 0x3b, 0x0a, 0x0a, 0x2f, 0x2f, 0x20, 0x72, 0x61, 0x79, 0x20, 0x71, 0x75, 0x65, 0x72, 0x79, 0x0a, - 0x65, 0x6e, 0x75, 0x6d, 0x20, 0x4c, 0x43, 0x48, 0x69, 0x74, 0x4b, 0x69, 0x6e, 0x64, 0x20, 0x3a, - 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x4c, - 0x43, 0x5f, 0x48, 0x49, 0x54, 0x5f, 0x4b, 0x49, 0x4e, 0x44, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x20, - 0x3d, 0x20, 0x30, 0x78, 0x30, 0x30, 0x75, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x4c, 0x43, 0x5f, - 0x48, 0x49, 0x54, 0x5f, 0x4b, 0x49, 0x4e, 0x44, 0x5f, 0x50, 0x52, 0x4f, 0x43, 0x45, 0x44, 0x55, - 0x52, 0x41, 0x4c, 0x20, 0x3d, 0x20, 0x30, 0x78, 0x30, 0x31, 0x75, 0x2c, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x4c, 0x43, 0x5f, 0x48, 0x49, 0x54, 0x5f, 0x4b, 0x49, 0x4e, 0x44, 0x5f, 0x50, 0x52, 0x4f, - 0x43, 0x45, 0x44, 0x55, 0x52, 0x41, 0x4c, 0x5f, 0x54, 0x45, 0x52, 0x4d, 0x49, 0x4e, 0x41, 0x54, - 0x45, 0x44, 0x20, 0x3d, 0x20, 0x30, 0x78, 0x30, 0x32, 0x75, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x4c, 0x43, 0x5f, 0x48, 0x49, 0x54, 0x5f, 0x4b, 0x49, 0x4e, 0x44, 0x5f, 0x54, 0x52, 0x49, 0x41, - 0x4e, 0x47, 0x4c, 0x45, 0x5f, 0x46, 0x52, 0x4f, 0x4e, 0x54, 0x5f, 0x46, 0x41, 0x43, 0x45, 0x20, - 0x3d, 0x20, 0x30, 0x78, 0x66, 0x65, 0x75, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x4c, 0x43, 0x5f, - 0x48, 0x49, 0x54, 0x5f, 0x4b, 0x49, 0x4e, 0x44, 0x5f, 0x54, 0x52, 0x49, 0x41, 0x4e, 0x47, 0x4c, - 0x45, 0x5f, 0x42, 0x41, 0x43, 0x4b, 0x5f, 0x46, 0x41, 0x43, 0x45, 0x20, 0x3d, 0x20, 0x30, 0x78, - 0x66, 0x66, 0x75, 0x2c, 0x0a, 0x7d, 0x3b, 0x0a, 0x0a, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, - 0x65, 0x3c, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x20, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, - 0x64, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x2c, 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x20, - 0x73, 0x62, 0x74, 0x5f, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x2c, 0x20, 0x6c, 0x63, 0x5f, 0x75, - 0x69, 0x6e, 0x74, 0x20, 0x72, 0x65, 0x67, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x20, 0x3d, 0x20, - 0x30, 0x75, 0x3e, 0x0a, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x76, 0x6f, 0x69, 0x64, 0x20, - 0x6c, 0x63, 0x5f, 0x72, 0x61, 0x79, 0x5f, 0x74, 0x72, 0x61, 0x76, 0x65, 0x72, 0x73, 0x65, 0x28, - 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x20, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x2c, 0x20, 0x4c, - 0x43, 0x41, 0x63, 0x63, 0x65, 0x6c, 0x20, 0x61, 0x63, 0x63, 0x65, 0x6c, 0x2c, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x4c, 0x43, 0x52, 0x61, 0x79, 0x20, - 0x72, 0x61, 0x79, 0x2c, 0x20, 0x6c, 0x63, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x74, 0x69, - 0x6d, 0x65, 0x2c, 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x20, 0x6d, 0x61, 0x73, 0x6b, - 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, - 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x20, 0x72, 0x30, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x6e, - 0x64, 0x65, 0x66, 0x28, 0x29, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x20, 0x72, 0x31, 0x20, 0x3d, 0x20, - 0x6c, 0x63, 0x5f, 0x75, 0x6e, 0x64, 0x65, 0x66, 0x28, 0x29, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, - 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x73, 0x74, 0x61, 0x74, 0x69, - 0x63, 0x5f, 0x61, 0x73, 0x73, 0x65, 0x72, 0x74, 0x28, 0x72, 0x65, 0x67, 0x5f, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x20, 0x3c, 0x3d, 0x20, 0x32, 0x75, 0x2c, 0x20, 0x22, 0x52, 0x65, 0x67, 0x69, 0x73, - 0x74, 0x65, 0x72, 0x20, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, - 0x65, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x32, 0x2e, 0x22, 0x29, - 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x6f, 0x78, 0x20, 0x3d, 0x20, - 0x72, 0x61, 0x79, 0x2e, 0x6d, 0x30, 0x5b, 0x30, 0x5d, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, - 0x75, 0x74, 0x6f, 0x20, 0x6f, 0x79, 0x20, 0x3d, 0x20, 0x72, 0x61, 0x79, 0x2e, 0x6d, 0x30, 0x5b, - 0x31, 0x5d, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x6f, 0x7a, 0x20, - 0x3d, 0x20, 0x72, 0x61, 0x79, 0x2e, 0x6d, 0x30, 0x5b, 0x32, 0x5d, 0x3b, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x64, 0x78, 0x20, 0x3d, 0x20, 0x72, 0x61, 0x79, 0x2e, 0x6d, - 0x32, 0x5b, 0x30, 0x5d, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x64, - 0x79, 0x20, 0x3d, 0x20, 0x72, 0x61, 0x79, 0x2e, 0x6d, 0x32, 0x5b, 0x31, 0x5d, 0x3b, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x64, 0x7a, 0x20, 0x3d, 0x20, 0x72, 0x61, 0x79, - 0x2e, 0x6d, 0x32, 0x5b, 0x32, 0x5d, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x75, 0x74, 0x6f, - 0x20, 0x74, 0x5f, 0x6d, 0x69, 0x6e, 0x20, 0x3d, 0x20, 0x72, 0x61, 0x79, 0x2e, 0x6d, 0x31, 0x3b, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x74, 0x5f, 0x6d, 0x61, 0x78, 0x20, - 0x3d, 0x20, 0x72, 0x61, 0x79, 0x2e, 0x6d, 0x33, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5b, 0x5b, - 0x6d, 0x61, 0x79, 0x62, 0x65, 0x5f, 0x75, 0x6e, 0x75, 0x73, 0x65, 0x64, 0x5d, 0x5d, 0x20, 0x6c, - 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x70, - 0x30, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x70, 0x31, 0x2c, 0x20, 0x70, - 0x32, 0x2c, 0x20, 0x70, 0x33, 0x2c, 0x20, 0x70, 0x34, 0x2c, 0x20, 0x70, 0x35, 0x2c, 0x20, 0x70, - 0x36, 0x2c, 0x20, 0x70, 0x37, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x70, - 0x38, 0x2c, 0x20, 0x70, 0x39, 0x2c, 0x20, 0x70, 0x31, 0x30, 0x2c, 0x20, 0x70, 0x31, 0x31, 0x2c, - 0x20, 0x70, 0x31, 0x32, 0x2c, 0x20, 0x70, 0x31, 0x33, 0x2c, 0x20, 0x70, 0x31, 0x34, 0x2c, 0x20, - 0x70, 0x31, 0x35, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x70, 0x31, 0x36, - 0x2c, 0x20, 0x70, 0x31, 0x37, 0x2c, 0x20, 0x70, 0x31, 0x38, 0x2c, 0x20, 0x70, 0x31, 0x39, 0x2c, - 0x20, 0x70, 0x32, 0x30, 0x2c, 0x20, 0x70, 0x32, 0x31, 0x2c, 0x20, 0x70, 0x32, 0x32, 0x2c, 0x20, - 0x70, 0x32, 0x33, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x70, 0x32, 0x34, - 0x2c, 0x20, 0x70, 0x32, 0x35, 0x2c, 0x20, 0x70, 0x32, 0x36, 0x2c, 0x20, 0x70, 0x32, 0x37, 0x2c, - 0x20, 0x70, 0x32, 0x38, 0x2c, 0x20, 0x70, 0x32, 0x39, 0x2c, 0x20, 0x70, 0x33, 0x30, 0x2c, 0x20, - 0x70, 0x33, 0x31, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x75, 0x20, - 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x6e, 0x64, 0x65, 0x66, 0x28, 0x29, 0x3b, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x74, 0x72, 0x61, 0x76, 0x65, 0x72, 0x73, 0x65, 0x20, 0x77, 0x69, - 0x74, 0x68, 0x6f, 0x75, 0x74, 0x20, 0x63, 0x61, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x68, - 0x65, 0x20, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x73, 0x74, 0x20, 0x6f, 0x72, 0x20, 0x61, 0x6e, 0x79, - 0x20, 0x68, 0x69, 0x74, 0x20, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x73, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x61, 0x73, 0x6d, 0x20, 0x76, 0x6f, 0x6c, 0x61, 0x74, 0x69, 0x6c, 0x65, 0x28, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x63, 0x61, 0x6c, 0x6c, 0x22, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x28, 0x25, 0x30, 0x2c, 0x25, 0x31, 0x2c, 0x25, - 0x32, 0x2c, 0x25, 0x33, 0x2c, 0x25, 0x34, 0x2c, 0x25, 0x35, 0x2c, 0x25, 0x36, 0x2c, 0x25, 0x37, - 0x2c, 0x25, 0x38, 0x2c, 0x25, 0x39, 0x2c, 0x25, 0x31, 0x30, 0x2c, 0x25, 0x31, 0x31, 0x2c, 0x25, - 0x31, 0x32, 0x2c, 0x25, 0x31, 0x33, 0x2c, 0x25, 0x31, 0x34, 0x2c, 0x25, 0x31, 0x35, 0x2c, 0x22, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x25, 0x31, 0x36, 0x2c, 0x25, 0x31, - 0x37, 0x2c, 0x25, 0x31, 0x38, 0x2c, 0x25, 0x31, 0x39, 0x2c, 0x25, 0x32, 0x30, 0x2c, 0x25, 0x32, - 0x31, 0x2c, 0x25, 0x32, 0x32, 0x2c, 0x25, 0x32, 0x33, 0x2c, 0x25, 0x32, 0x34, 0x2c, 0x25, 0x32, - 0x35, 0x2c, 0x25, 0x32, 0x36, 0x2c, 0x25, 0x32, 0x37, 0x2c, 0x25, 0x32, 0x38, 0x2c, 0x25, 0x32, - 0x39, 0x2c, 0x25, 0x33, 0x30, 0x2c, 0x25, 0x33, 0x31, 0x29, 0x2c, 0x22, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x78, 0x5f, 0x68, 0x69, 0x74, - 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x74, 0x72, 0x61, 0x76, 0x65, 0x72, 0x73, 0x65, 0x2c, - 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x28, 0x25, 0x33, 0x32, 0x2c, - 0x25, 0x33, 0x33, 0x2c, 0x25, 0x33, 0x34, 0x2c, 0x25, 0x33, 0x35, 0x2c, 0x25, 0x33, 0x36, 0x2c, - 0x25, 0x33, 0x37, 0x2c, 0x25, 0x33, 0x38, 0x2c, 0x25, 0x33, 0x39, 0x2c, 0x25, 0x34, 0x30, 0x2c, - 0x25, 0x34, 0x31, 0x2c, 0x25, 0x34, 0x32, 0x2c, 0x25, 0x34, 0x33, 0x2c, 0x25, 0x34, 0x34, 0x2c, - 0x25, 0x34, 0x35, 0x2c, 0x25, 0x34, 0x36, 0x2c, 0x25, 0x34, 0x37, 0x2c, 0x22, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x25, 0x34, 0x38, 0x2c, 0x25, 0x34, 0x39, 0x2c, 0x25, - 0x35, 0x30, 0x2c, 0x25, 0x35, 0x31, 0x2c, 0x25, 0x35, 0x32, 0x2c, 0x25, 0x35, 0x33, 0x2c, 0x25, - 0x35, 0x34, 0x2c, 0x25, 0x35, 0x35, 0x2c, 0x25, 0x35, 0x36, 0x2c, 0x25, 0x35, 0x37, 0x2c, 0x25, - 0x35, 0x38, 0x2c, 0x25, 0x35, 0x39, 0x2c, 0x25, 0x36, 0x30, 0x2c, 0x25, 0x36, 0x31, 0x2c, 0x25, - 0x36, 0x32, 0x2c, 0x25, 0x36, 0x33, 0x2c, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x22, 0x25, 0x36, 0x34, 0x2c, 0x25, 0x36, 0x35, 0x2c, 0x25, 0x36, 0x36, 0x2c, 0x25, 0x36, - 0x37, 0x2c, 0x25, 0x36, 0x38, 0x2c, 0x25, 0x36, 0x39, 0x2c, 0x25, 0x37, 0x30, 0x2c, 0x25, 0x37, - 0x31, 0x2c, 0x25, 0x37, 0x32, 0x2c, 0x25, 0x37, 0x33, 0x2c, 0x25, 0x37, 0x34, 0x2c, 0x25, 0x37, - 0x35, 0x2c, 0x25, 0x37, 0x36, 0x2c, 0x25, 0x37, 0x37, 0x2c, 0x25, 0x37, 0x38, 0x2c, 0x25, 0x37, - 0x39, 0x2c, 0x25, 0x38, 0x30, 0x29, 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x72, 0x22, 0x28, 0x70, 0x30, 0x29, 0x2c, 0x20, 0x22, 0x3d, 0x72, - 0x22, 0x28, 0x70, 0x31, 0x29, 0x2c, 0x20, 0x22, 0x3d, 0x72, 0x22, 0x28, 0x70, 0x32, 0x29, 0x2c, - 0x20, 0x22, 0x3d, 0x72, 0x22, 0x28, 0x70, 0x33, 0x29, 0x2c, 0x20, 0x22, 0x3d, 0x72, 0x22, 0x28, - 0x70, 0x34, 0x29, 0x2c, 0x20, 0x22, 0x3d, 0x72, 0x22, 0x28, 0x70, 0x35, 0x29, 0x2c, 0x20, 0x22, - 0x3d, 0x72, 0x22, 0x28, 0x70, 0x36, 0x29, 0x2c, 0x20, 0x22, 0x3d, 0x72, 0x22, 0x28, 0x70, 0x37, - 0x29, 0x2c, 0x20, 0x22, 0x3d, 0x72, 0x22, 0x28, 0x70, 0x38, 0x29, 0x2c, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x3d, 0x72, 0x22, 0x28, 0x70, 0x39, 0x29, 0x2c, - 0x20, 0x22, 0x3d, 0x72, 0x22, 0x28, 0x70, 0x31, 0x30, 0x29, 0x2c, 0x20, 0x22, 0x3d, 0x72, 0x22, - 0x28, 0x70, 0x31, 0x31, 0x29, 0x2c, 0x20, 0x22, 0x3d, 0x72, 0x22, 0x28, 0x70, 0x31, 0x32, 0x29, - 0x2c, 0x20, 0x22, 0x3d, 0x72, 0x22, 0x28, 0x70, 0x31, 0x33, 0x29, 0x2c, 0x20, 0x22, 0x3d, 0x72, - 0x22, 0x28, 0x70, 0x31, 0x34, 0x29, 0x2c, 0x20, 0x22, 0x3d, 0x72, 0x22, 0x28, 0x70, 0x31, 0x35, - 0x29, 0x2c, 0x20, 0x22, 0x3d, 0x72, 0x22, 0x28, 0x70, 0x31, 0x36, 0x29, 0x2c, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x3d, 0x72, 0x22, 0x28, 0x70, 0x31, 0x37, - 0x29, 0x2c, 0x20, 0x22, 0x3d, 0x72, 0x22, 0x28, 0x70, 0x31, 0x38, 0x29, 0x2c, 0x20, 0x22, 0x3d, - 0x72, 0x22, 0x28, 0x70, 0x31, 0x39, 0x29, 0x2c, 0x20, 0x22, 0x3d, 0x72, 0x22, 0x28, 0x70, 0x32, - 0x30, 0x29, 0x2c, 0x20, 0x22, 0x3d, 0x72, 0x22, 0x28, 0x70, 0x32, 0x31, 0x29, 0x2c, 0x20, 0x22, - 0x3d, 0x72, 0x22, 0x28, 0x70, 0x32, 0x32, 0x29, 0x2c, 0x20, 0x22, 0x3d, 0x72, 0x22, 0x28, 0x70, - 0x32, 0x33, 0x29, 0x2c, 0x20, 0x22, 0x3d, 0x72, 0x22, 0x28, 0x70, 0x32, 0x34, 0x29, 0x2c, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x3d, 0x72, 0x22, 0x28, 0x70, - 0x32, 0x35, 0x29, 0x2c, 0x20, 0x22, 0x3d, 0x72, 0x22, 0x28, 0x70, 0x32, 0x36, 0x29, 0x2c, 0x20, - 0x22, 0x3d, 0x72, 0x22, 0x28, 0x70, 0x32, 0x37, 0x29, 0x2c, 0x20, 0x22, 0x3d, 0x72, 0x22, 0x28, - 0x70, 0x32, 0x38, 0x29, 0x2c, 0x20, 0x22, 0x3d, 0x72, 0x22, 0x28, 0x70, 0x32, 0x39, 0x29, 0x2c, - 0x20, 0x22, 0x3d, 0x72, 0x22, 0x28, 0x70, 0x33, 0x30, 0x29, 0x2c, 0x20, 0x22, 0x3d, 0x72, 0x22, - 0x28, 0x70, 0x33, 0x31, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, - 0x22, 0x72, 0x22, 0x28, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x74, 0x79, 0x70, 0x65, - 0x29, 0x2c, 0x20, 0x22, 0x6c, 0x22, 0x28, 0x61, 0x63, 0x63, 0x65, 0x6c, 0x2e, 0x68, 0x61, 0x6e, - 0x64, 0x6c, 0x65, 0x29, 0x2c, 0x20, 0x22, 0x66, 0x22, 0x28, 0x6f, 0x78, 0x29, 0x2c, 0x20, 0x22, - 0x66, 0x22, 0x28, 0x6f, 0x79, 0x29, 0x2c, 0x20, 0x22, 0x66, 0x22, 0x28, 0x6f, 0x7a, 0x29, 0x2c, - 0x20, 0x22, 0x66, 0x22, 0x28, 0x64, 0x78, 0x29, 0x2c, 0x20, 0x22, 0x66, 0x22, 0x28, 0x64, 0x79, - 0x29, 0x2c, 0x20, 0x22, 0x66, 0x22, 0x28, 0x64, 0x7a, 0x29, 0x2c, 0x20, 0x22, 0x66, 0x22, 0x28, - 0x74, 0x5f, 0x6d, 0x69, 0x6e, 0x29, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x22, 0x66, 0x22, 0x28, 0x74, 0x5f, 0x6d, 0x61, 0x78, 0x29, 0x2c, 0x20, 0x22, 0x66, - 0x22, 0x28, 0x74, 0x69, 0x6d, 0x65, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x6d, 0x61, 0x73, - 0x6b, 0x20, 0x26, 0x20, 0x30, 0x78, 0x66, 0x66, 0x75, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, - 0x66, 0x6c, 0x61, 0x67, 0x73, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x73, 0x62, 0x74, 0x5f, - 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x30, 0x75, 0x29, + 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x20, 0x3d, 0x20, 0x30, 0x75, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x4c, 0x43, 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x46, 0x4c, 0x41, 0x47, 0x5f, 0x44, 0x49, 0x53, 0x41, + 0x42, 0x4c, 0x45, 0x5f, 0x41, 0x4e, 0x59, 0x48, 0x49, 0x54, 0x20, 0x3d, 0x20, 0x31, 0x75, 0x20, + 0x3c, 0x3c, 0x20, 0x30, 0x75, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x4c, 0x43, 0x5f, 0x52, 0x41, + 0x59, 0x5f, 0x46, 0x4c, 0x41, 0x47, 0x5f, 0x45, 0x4e, 0x46, 0x4f, 0x52, 0x43, 0x45, 0x5f, 0x41, + 0x4e, 0x59, 0x48, 0x49, 0x54, 0x20, 0x3d, 0x20, 0x31, 0x75, 0x20, 0x3c, 0x3c, 0x20, 0x31, 0x75, + 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x4c, 0x43, 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x46, 0x4c, 0x41, + 0x47, 0x5f, 0x54, 0x45, 0x52, 0x4d, 0x49, 0x4e, 0x41, 0x54, 0x45, 0x5f, 0x4f, 0x4e, 0x5f, 0x46, + 0x49, 0x52, 0x53, 0x54, 0x5f, 0x48, 0x49, 0x54, 0x20, 0x3d, 0x20, 0x31, 0x75, 0x20, 0x3c, 0x3c, + 0x20, 0x32, 0x75, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x4c, 0x43, 0x5f, 0x52, 0x41, 0x59, 0x5f, + 0x46, 0x4c, 0x41, 0x47, 0x5f, 0x44, 0x49, 0x53, 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x43, 0x4c, 0x4f, + 0x53, 0x45, 0x53, 0x54, 0x48, 0x49, 0x54, 0x20, 0x3d, 0x20, 0x31, 0x75, 0x20, 0x3c, 0x3c, 0x20, + 0x33, 0x75, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x4c, 0x43, 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x46, + 0x4c, 0x41, 0x47, 0x5f, 0x43, 0x55, 0x4c, 0x4c, 0x5f, 0x42, 0x41, 0x43, 0x4b, 0x5f, 0x46, 0x41, + 0x43, 0x49, 0x4e, 0x47, 0x5f, 0x54, 0x52, 0x49, 0x41, 0x4e, 0x47, 0x4c, 0x45, 0x53, 0x20, 0x3d, + 0x20, 0x31, 0x75, 0x20, 0x3c, 0x3c, 0x20, 0x34, 0x75, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x4c, + 0x43, 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x46, 0x4c, 0x41, 0x47, 0x5f, 0x43, 0x55, 0x4c, 0x4c, 0x5f, + 0x46, 0x52, 0x4f, 0x4e, 0x54, 0x5f, 0x46, 0x41, 0x43, 0x49, 0x4e, 0x47, 0x5f, 0x54, 0x52, 0x49, + 0x41, 0x4e, 0x47, 0x4c, 0x45, 0x53, 0x20, 0x3d, 0x20, 0x31, 0x75, 0x20, 0x3c, 0x3c, 0x20, 0x35, + 0x75, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x4c, 0x43, 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x46, 0x4c, + 0x41, 0x47, 0x5f, 0x43, 0x55, 0x4c, 0x4c, 0x5f, 0x44, 0x49, 0x53, 0x41, 0x42, 0x4c, 0x45, 0x44, + 0x5f, 0x41, 0x4e, 0x59, 0x48, 0x49, 0x54, 0x20, 0x3d, 0x20, 0x31, 0x75, 0x20, 0x3c, 0x3c, 0x20, + 0x36, 0x75, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x4c, 0x43, 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x46, + 0x4c, 0x41, 0x47, 0x5f, 0x43, 0x55, 0x4c, 0x4c, 0x5f, 0x45, 0x4e, 0x46, 0x4f, 0x52, 0x43, 0x45, + 0x44, 0x5f, 0x41, 0x4e, 0x59, 0x48, 0x49, 0x54, 0x20, 0x3d, 0x20, 0x31, 0x75, 0x20, 0x3c, 0x3c, + 0x20, 0x37, 0x75, 0x2c, 0x0a, 0x7d, 0x3b, 0x0a, 0x0a, 0x2f, 0x2f, 0x20, 0x72, 0x61, 0x79, 0x20, + 0x71, 0x75, 0x65, 0x72, 0x79, 0x0a, 0x65, 0x6e, 0x75, 0x6d, 0x20, 0x4c, 0x43, 0x48, 0x69, 0x74, + 0x4b, 0x69, 0x6e, 0x64, 0x20, 0x3a, 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x20, 0x7b, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x4c, 0x43, 0x5f, 0x48, 0x49, 0x54, 0x5f, 0x4b, 0x49, 0x4e, 0x44, + 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x20, 0x3d, 0x20, 0x30, 0x78, 0x30, 0x30, 0x75, 0x2c, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x4c, 0x43, 0x5f, 0x48, 0x49, 0x54, 0x5f, 0x4b, 0x49, 0x4e, 0x44, 0x5f, 0x50, + 0x52, 0x4f, 0x43, 0x45, 0x44, 0x55, 0x52, 0x41, 0x4c, 0x20, 0x3d, 0x20, 0x30, 0x78, 0x30, 0x31, + 0x75, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x4c, 0x43, 0x5f, 0x48, 0x49, 0x54, 0x5f, 0x4b, 0x49, + 0x4e, 0x44, 0x5f, 0x50, 0x52, 0x4f, 0x43, 0x45, 0x44, 0x55, 0x52, 0x41, 0x4c, 0x5f, 0x54, 0x45, + 0x52, 0x4d, 0x49, 0x4e, 0x41, 0x54, 0x45, 0x44, 0x20, 0x3d, 0x20, 0x30, 0x78, 0x30, 0x32, 0x75, + 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x4c, 0x43, 0x5f, 0x48, 0x49, 0x54, 0x5f, 0x4b, 0x49, 0x4e, + 0x44, 0x5f, 0x54, 0x52, 0x49, 0x41, 0x4e, 0x47, 0x4c, 0x45, 0x5f, 0x46, 0x52, 0x4f, 0x4e, 0x54, + 0x5f, 0x46, 0x41, 0x43, 0x45, 0x20, 0x3d, 0x20, 0x30, 0x78, 0x66, 0x65, 0x75, 0x2c, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x4c, 0x43, 0x5f, 0x48, 0x49, 0x54, 0x5f, 0x4b, 0x49, 0x4e, 0x44, 0x5f, 0x54, + 0x52, 0x49, 0x41, 0x4e, 0x47, 0x4c, 0x45, 0x5f, 0x42, 0x41, 0x43, 0x4b, 0x5f, 0x46, 0x41, 0x43, + 0x45, 0x20, 0x3d, 0x20, 0x30, 0x78, 0x66, 0x66, 0x75, 0x2c, 0x0a, 0x7d, 0x3b, 0x0a, 0x0a, 0x74, + 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x3c, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x20, + 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x2c, 0x20, 0x6c, 0x63, + 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x20, 0x73, 0x62, 0x74, 0x5f, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, + 0x2c, 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x20, 0x72, 0x65, 0x67, 0x5f, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x20, 0x3d, 0x20, 0x30, 0x75, 0x3e, 0x0a, 0x76, 0x6f, 0x69, 0x64, 0x20, 0x6c, + 0x63, 0x5f, 0x72, 0x61, 0x79, 0x5f, 0x74, 0x72, 0x61, 0x76, 0x65, 0x72, 0x73, 0x65, 0x28, 0x6c, + 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x20, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x2c, 0x20, 0x4c, 0x43, + 0x41, 0x63, 0x63, 0x65, 0x6c, 0x20, 0x61, 0x63, 0x63, 0x65, 0x6c, 0x2c, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x4c, 0x43, 0x52, 0x61, 0x79, 0x20, 0x72, + 0x61, 0x79, 0x2c, 0x20, 0x6c, 0x63, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x74, 0x69, 0x6d, + 0x65, 0x2c, 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x20, 0x6d, 0x61, 0x73, 0x6b, 0x2c, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, + 0x75, 0x69, 0x6e, 0x74, 0x20, 0x72, 0x30, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x6e, 0x64, + 0x65, 0x66, 0x28, 0x29, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x20, 0x72, 0x31, 0x20, 0x3d, 0x20, 0x6c, + 0x63, 0x5f, 0x75, 0x6e, 0x64, 0x65, 0x66, 0x28, 0x29, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, + 0x65, 0x70, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, + 0x5f, 0x61, 0x73, 0x73, 0x65, 0x72, 0x74, 0x28, 0x72, 0x65, 0x67, 0x5f, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x20, 0x3c, 0x3d, 0x20, 0x32, 0x75, 0x2c, 0x20, 0x22, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, + 0x65, 0x72, 0x20, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, + 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x32, 0x2e, 0x22, 0x29, 0x3b, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x6f, 0x78, 0x20, 0x3d, 0x20, 0x72, + 0x61, 0x79, 0x2e, 0x6d, 0x30, 0x5b, 0x30, 0x5d, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x75, + 0x74, 0x6f, 0x20, 0x6f, 0x79, 0x20, 0x3d, 0x20, 0x72, 0x61, 0x79, 0x2e, 0x6d, 0x30, 0x5b, 0x31, + 0x5d, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x6f, 0x7a, 0x20, 0x3d, + 0x20, 0x72, 0x61, 0x79, 0x2e, 0x6d, 0x30, 0x5b, 0x32, 0x5d, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x61, 0x75, 0x74, 0x6f, 0x20, 0x64, 0x78, 0x20, 0x3d, 0x20, 0x72, 0x61, 0x79, 0x2e, 0x6d, 0x32, + 0x5b, 0x30, 0x5d, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x64, 0x79, + 0x20, 0x3d, 0x20, 0x72, 0x61, 0x79, 0x2e, 0x6d, 0x32, 0x5b, 0x31, 0x5d, 0x3b, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x64, 0x7a, 0x20, 0x3d, 0x20, 0x72, 0x61, 0x79, 0x2e, + 0x6d, 0x32, 0x5b, 0x32, 0x5d, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, + 0x74, 0x5f, 0x6d, 0x69, 0x6e, 0x20, 0x3d, 0x20, 0x72, 0x61, 0x79, 0x2e, 0x6d, 0x31, 0x3b, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x74, 0x5f, 0x6d, 0x61, 0x78, 0x20, 0x3d, + 0x20, 0x72, 0x61, 0x79, 0x2e, 0x6d, 0x33, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5b, 0x5b, 0x6d, + 0x61, 0x79, 0x62, 0x65, 0x5f, 0x75, 0x6e, 0x75, 0x73, 0x65, 0x64, 0x5d, 0x5d, 0x20, 0x6c, 0x63, + 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x70, 0x30, + 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x70, 0x31, 0x2c, 0x20, 0x70, 0x32, + 0x2c, 0x20, 0x70, 0x33, 0x2c, 0x20, 0x70, 0x34, 0x2c, 0x20, 0x70, 0x35, 0x2c, 0x20, 0x70, 0x36, + 0x2c, 0x20, 0x70, 0x37, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x70, 0x38, + 0x2c, 0x20, 0x70, 0x39, 0x2c, 0x20, 0x70, 0x31, 0x30, 0x2c, 0x20, 0x70, 0x31, 0x31, 0x2c, 0x20, + 0x70, 0x31, 0x32, 0x2c, 0x20, 0x70, 0x31, 0x33, 0x2c, 0x20, 0x70, 0x31, 0x34, 0x2c, 0x20, 0x70, + 0x31, 0x35, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x70, 0x31, 0x36, 0x2c, + 0x20, 0x70, 0x31, 0x37, 0x2c, 0x20, 0x70, 0x31, 0x38, 0x2c, 0x20, 0x70, 0x31, 0x39, 0x2c, 0x20, + 0x70, 0x32, 0x30, 0x2c, 0x20, 0x70, 0x32, 0x31, 0x2c, 0x20, 0x70, 0x32, 0x32, 0x2c, 0x20, 0x70, + 0x32, 0x33, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x70, 0x32, 0x34, 0x2c, + 0x20, 0x70, 0x32, 0x35, 0x2c, 0x20, 0x70, 0x32, 0x36, 0x2c, 0x20, 0x70, 0x32, 0x37, 0x2c, 0x20, + 0x70, 0x32, 0x38, 0x2c, 0x20, 0x70, 0x32, 0x39, 0x2c, 0x20, 0x70, 0x33, 0x30, 0x2c, 0x20, 0x70, + 0x33, 0x31, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x75, 0x20, 0x3d, + 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x6e, 0x64, 0x65, 0x66, 0x28, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x2f, 0x2f, 0x20, 0x74, 0x72, 0x61, 0x76, 0x65, 0x72, 0x73, 0x65, 0x20, 0x77, 0x69, 0x74, + 0x68, 0x6f, 0x75, 0x74, 0x20, 0x63, 0x61, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x68, 0x65, + 0x20, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x73, 0x74, 0x20, 0x6f, 0x72, 0x20, 0x61, 0x6e, 0x79, 0x20, + 0x68, 0x69, 0x74, 0x20, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x73, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x61, 0x73, 0x6d, 0x20, 0x76, 0x6f, 0x6c, 0x61, 0x74, 0x69, 0x6c, 0x65, 0x28, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x63, 0x61, 0x6c, 0x6c, 0x22, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x28, 0x25, 0x30, 0x2c, 0x25, 0x31, 0x2c, 0x25, 0x32, + 0x2c, 0x25, 0x33, 0x2c, 0x25, 0x34, 0x2c, 0x25, 0x35, 0x2c, 0x25, 0x36, 0x2c, 0x25, 0x37, 0x2c, + 0x25, 0x38, 0x2c, 0x25, 0x39, 0x2c, 0x25, 0x31, 0x30, 0x2c, 0x25, 0x31, 0x31, 0x2c, 0x25, 0x31, + 0x32, 0x2c, 0x25, 0x31, 0x33, 0x2c, 0x25, 0x31, 0x34, 0x2c, 0x25, 0x31, 0x35, 0x2c, 0x22, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x25, 0x31, 0x36, 0x2c, 0x25, 0x31, 0x37, + 0x2c, 0x25, 0x31, 0x38, 0x2c, 0x25, 0x31, 0x39, 0x2c, 0x25, 0x32, 0x30, 0x2c, 0x25, 0x32, 0x31, + 0x2c, 0x25, 0x32, 0x32, 0x2c, 0x25, 0x32, 0x33, 0x2c, 0x25, 0x32, 0x34, 0x2c, 0x25, 0x32, 0x35, + 0x2c, 0x25, 0x32, 0x36, 0x2c, 0x25, 0x32, 0x37, 0x2c, 0x25, 0x32, 0x38, 0x2c, 0x25, 0x32, 0x39, + 0x2c, 0x25, 0x33, 0x30, 0x2c, 0x25, 0x33, 0x31, 0x29, 0x2c, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x22, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x78, 0x5f, 0x68, 0x69, 0x74, 0x6f, + 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x74, 0x72, 0x61, 0x76, 0x65, 0x72, 0x73, 0x65, 0x2c, 0x22, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x28, 0x25, 0x33, 0x32, 0x2c, 0x25, + 0x33, 0x33, 0x2c, 0x25, 0x33, 0x34, 0x2c, 0x25, 0x33, 0x35, 0x2c, 0x25, 0x33, 0x36, 0x2c, 0x25, + 0x33, 0x37, 0x2c, 0x25, 0x33, 0x38, 0x2c, 0x25, 0x33, 0x39, 0x2c, 0x25, 0x34, 0x30, 0x2c, 0x25, + 0x34, 0x31, 0x2c, 0x25, 0x34, 0x32, 0x2c, 0x25, 0x34, 0x33, 0x2c, 0x25, 0x34, 0x34, 0x2c, 0x25, + 0x34, 0x35, 0x2c, 0x25, 0x34, 0x36, 0x2c, 0x25, 0x34, 0x37, 0x2c, 0x22, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x25, 0x34, 0x38, 0x2c, 0x25, 0x34, 0x39, 0x2c, 0x25, 0x35, + 0x30, 0x2c, 0x25, 0x35, 0x31, 0x2c, 0x25, 0x35, 0x32, 0x2c, 0x25, 0x35, 0x33, 0x2c, 0x25, 0x35, + 0x34, 0x2c, 0x25, 0x35, 0x35, 0x2c, 0x25, 0x35, 0x36, 0x2c, 0x25, 0x35, 0x37, 0x2c, 0x25, 0x35, + 0x38, 0x2c, 0x25, 0x35, 0x39, 0x2c, 0x25, 0x36, 0x30, 0x2c, 0x25, 0x36, 0x31, 0x2c, 0x25, 0x36, + 0x32, 0x2c, 0x25, 0x36, 0x33, 0x2c, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x22, 0x25, 0x36, 0x34, 0x2c, 0x25, 0x36, 0x35, 0x2c, 0x25, 0x36, 0x36, 0x2c, 0x25, 0x36, 0x37, + 0x2c, 0x25, 0x36, 0x38, 0x2c, 0x25, 0x36, 0x39, 0x2c, 0x25, 0x37, 0x30, 0x2c, 0x25, 0x37, 0x31, + 0x2c, 0x25, 0x37, 0x32, 0x2c, 0x25, 0x37, 0x33, 0x2c, 0x25, 0x37, 0x34, 0x2c, 0x25, 0x37, 0x35, + 0x2c, 0x25, 0x37, 0x36, 0x2c, 0x25, 0x37, 0x37, 0x2c, 0x25, 0x37, 0x38, 0x2c, 0x25, 0x37, 0x39, + 0x2c, 0x25, 0x38, 0x30, 0x29, 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x3a, 0x20, 0x22, 0x3d, 0x72, 0x22, 0x28, 0x70, 0x30, 0x29, 0x2c, 0x20, 0x22, 0x3d, 0x72, 0x22, + 0x28, 0x70, 0x31, 0x29, 0x2c, 0x20, 0x22, 0x3d, 0x72, 0x22, 0x28, 0x70, 0x32, 0x29, 0x2c, 0x20, + 0x22, 0x3d, 0x72, 0x22, 0x28, 0x70, 0x33, 0x29, 0x2c, 0x20, 0x22, 0x3d, 0x72, 0x22, 0x28, 0x70, + 0x34, 0x29, 0x2c, 0x20, 0x22, 0x3d, 0x72, 0x22, 0x28, 0x70, 0x35, 0x29, 0x2c, 0x20, 0x22, 0x3d, + 0x72, 0x22, 0x28, 0x70, 0x36, 0x29, 0x2c, 0x20, 0x22, 0x3d, 0x72, 0x22, 0x28, 0x70, 0x37, 0x29, + 0x2c, 0x20, 0x22, 0x3d, 0x72, 0x22, 0x28, 0x70, 0x38, 0x29, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x3d, 0x72, 0x22, 0x28, 0x70, 0x39, 0x29, 0x2c, 0x20, + 0x22, 0x3d, 0x72, 0x22, 0x28, 0x70, 0x31, 0x30, 0x29, 0x2c, 0x20, 0x22, 0x3d, 0x72, 0x22, 0x28, + 0x70, 0x31, 0x31, 0x29, 0x2c, 0x20, 0x22, 0x3d, 0x72, 0x22, 0x28, 0x70, 0x31, 0x32, 0x29, 0x2c, + 0x20, 0x22, 0x3d, 0x72, 0x22, 0x28, 0x70, 0x31, 0x33, 0x29, 0x2c, 0x20, 0x22, 0x3d, 0x72, 0x22, + 0x28, 0x70, 0x31, 0x34, 0x29, 0x2c, 0x20, 0x22, 0x3d, 0x72, 0x22, 0x28, 0x70, 0x31, 0x35, 0x29, + 0x2c, 0x20, 0x22, 0x3d, 0x72, 0x22, 0x28, 0x70, 0x31, 0x36, 0x29, 0x2c, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x3d, 0x72, 0x22, 0x28, 0x70, 0x31, 0x37, 0x29, + 0x2c, 0x20, 0x22, 0x3d, 0x72, 0x22, 0x28, 0x70, 0x31, 0x38, 0x29, 0x2c, 0x20, 0x22, 0x3d, 0x72, + 0x22, 0x28, 0x70, 0x31, 0x39, 0x29, 0x2c, 0x20, 0x22, 0x3d, 0x72, 0x22, 0x28, 0x70, 0x32, 0x30, + 0x29, 0x2c, 0x20, 0x22, 0x3d, 0x72, 0x22, 0x28, 0x70, 0x32, 0x31, 0x29, 0x2c, 0x20, 0x22, 0x3d, + 0x72, 0x22, 0x28, 0x70, 0x32, 0x32, 0x29, 0x2c, 0x20, 0x22, 0x3d, 0x72, 0x22, 0x28, 0x70, 0x32, + 0x33, 0x29, 0x2c, 0x20, 0x22, 0x3d, 0x72, 0x22, 0x28, 0x70, 0x32, 0x34, 0x29, 0x2c, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x3d, 0x72, 0x22, 0x28, 0x70, 0x32, + 0x35, 0x29, 0x2c, 0x20, 0x22, 0x3d, 0x72, 0x22, 0x28, 0x70, 0x32, 0x36, 0x29, 0x2c, 0x20, 0x22, + 0x3d, 0x72, 0x22, 0x28, 0x70, 0x32, 0x37, 0x29, 0x2c, 0x20, 0x22, 0x3d, 0x72, 0x22, 0x28, 0x70, + 0x32, 0x38, 0x29, 0x2c, 0x20, 0x22, 0x3d, 0x72, 0x22, 0x28, 0x70, 0x32, 0x39, 0x29, 0x2c, 0x20, + 0x22, 0x3d, 0x72, 0x22, 0x28, 0x70, 0x33, 0x30, 0x29, 0x2c, 0x20, 0x22, 0x3d, 0x72, 0x22, 0x28, + 0x70, 0x33, 0x31, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, + 0x72, 0x22, 0x28, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x29, + 0x2c, 0x20, 0x22, 0x6c, 0x22, 0x28, 0x61, 0x63, 0x63, 0x65, 0x6c, 0x2e, 0x68, 0x61, 0x6e, 0x64, + 0x6c, 0x65, 0x29, 0x2c, 0x20, 0x22, 0x66, 0x22, 0x28, 0x6f, 0x78, 0x29, 0x2c, 0x20, 0x22, 0x66, + 0x22, 0x28, 0x6f, 0x79, 0x29, 0x2c, 0x20, 0x22, 0x66, 0x22, 0x28, 0x6f, 0x7a, 0x29, 0x2c, 0x20, + 0x22, 0x66, 0x22, 0x28, 0x64, 0x78, 0x29, 0x2c, 0x20, 0x22, 0x66, 0x22, 0x28, 0x64, 0x79, 0x29, + 0x2c, 0x20, 0x22, 0x66, 0x22, 0x28, 0x64, 0x7a, 0x29, 0x2c, 0x20, 0x22, 0x66, 0x22, 0x28, 0x74, + 0x5f, 0x6d, 0x69, 0x6e, 0x29, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x22, 0x66, 0x22, 0x28, 0x74, 0x5f, 0x6d, 0x61, 0x78, 0x29, 0x2c, 0x20, 0x22, 0x66, 0x22, + 0x28, 0x74, 0x69, 0x6d, 0x65, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x6d, 0x61, 0x73, 0x6b, + 0x20, 0x26, 0x20, 0x30, 0x78, 0x66, 0x66, 0x75, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x66, + 0x6c, 0x61, 0x67, 0x73, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x73, 0x62, 0x74, 0x5f, 0x6f, + 0x66, 0x66, 0x73, 0x65, 0x74, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x30, 0x75, 0x29, 0x2c, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x72, 0x22, 0x28, 0x30, + 0x75, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x72, 0x65, 0x67, 0x5f, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x72, 0x30, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, + 0x28, 0x72, 0x31, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x75, 0x29, 0x2c, 0x20, 0x22, 0x72, + 0x22, 0x28, 0x75, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x75, 0x29, 0x2c, 0x20, 0x22, 0x72, + 0x22, 0x28, 0x75, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x75, 0x29, 0x2c, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x72, 0x22, 0x28, 0x75, 0x29, 0x2c, 0x20, + 0x22, 0x72, 0x22, 0x28, 0x75, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x75, 0x29, 0x2c, 0x20, + 0x22, 0x72, 0x22, 0x28, 0x75, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x75, 0x29, 0x2c, 0x20, + 0x22, 0x72, 0x22, 0x28, 0x75, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x75, 0x29, 0x2c, 0x20, + 0x22, 0x72, 0x22, 0x28, 0x75, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x75, 0x29, 0x2c, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x72, 0x22, 0x28, 0x75, 0x29, + 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x75, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x75, 0x29, + 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x75, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x75, 0x29, + 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x75, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x75, 0x29, + 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x75, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x75, 0x29, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x72, 0x22, 0x28, - 0x30, 0x75, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x72, 0x65, 0x67, 0x5f, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x72, 0x30, 0x29, 0x2c, 0x20, 0x22, 0x72, - 0x22, 0x28, 0x72, 0x31, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x75, 0x29, 0x2c, 0x20, 0x22, - 0x72, 0x22, 0x28, 0x75, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x75, 0x29, 0x2c, 0x20, 0x22, - 0x72, 0x22, 0x28, 0x75, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x75, 0x29, 0x2c, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x72, 0x22, 0x28, 0x75, 0x29, 0x2c, - 0x20, 0x22, 0x72, 0x22, 0x28, 0x75, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x75, 0x29, 0x2c, - 0x20, 0x22, 0x72, 0x22, 0x28, 0x75, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x75, 0x29, 0x2c, - 0x20, 0x22, 0x72, 0x22, 0x28, 0x75, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x75, 0x29, 0x2c, - 0x20, 0x22, 0x72, 0x22, 0x28, 0x75, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x75, 0x29, 0x2c, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x72, 0x22, 0x28, 0x75, - 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x75, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x75, - 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x75, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x75, - 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x75, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x75, - 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x75, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x75, - 0x29, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x72, 0x22, - 0x28, 0x75, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x75, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, - 0x28, 0x75, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x75, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, - 0x28, 0x75, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x75, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, - 0x28, 0x75, 0x29, 0x29, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, - 0x65, 0x3c, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x20, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x3e, - 0x0a, 0x5b, 0x5b, 0x6e, 0x6f, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x5d, 0x5d, 0x20, 0x69, - 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x6c, 0x63, 0x5f, 0x61, 0x63, - 0x63, 0x65, 0x6c, 0x5f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x5f, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x73, - 0x74, 0x5f, 0x69, 0x6d, 0x70, 0x6c, 0x28, 0x4c, 0x43, 0x41, 0x63, 0x63, 0x65, 0x6c, 0x20, 0x61, - 0x63, 0x63, 0x65, 0x6c, 0x2c, 0x20, 0x4c, 0x43, 0x52, 0x61, 0x79, 0x20, 0x72, 0x61, 0x79, 0x2c, - 0x20, 0x6c, 0x63, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x74, 0x69, 0x6d, 0x65, 0x2c, 0x20, - 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x20, 0x6d, 0x61, 0x73, 0x6b, 0x29, 0x20, 0x6e, 0x6f, - 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, - 0x74, 0x72, 0x61, 0x76, 0x65, 0x72, 0x73, 0x65, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, - 0x72, 0x61, 0x79, 0x5f, 0x74, 0x72, 0x61, 0x76, 0x65, 0x72, 0x73, 0x65, 0x3c, 0x4c, 0x43, 0x5f, - 0x50, 0x41, 0x59, 0x4c, 0x4f, 0x41, 0x44, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x52, 0x41, 0x59, - 0x5f, 0x54, 0x52, 0x41, 0x43, 0x45, 0x2c, 0x20, 0x30, 0x75, 0x3e, 0x28, 0x66, 0x6c, 0x61, 0x67, - 0x73, 0x2c, 0x20, 0x61, 0x63, 0x63, 0x65, 0x6c, 0x2c, 0x20, 0x72, 0x61, 0x79, 0x2c, 0x20, 0x74, - 0x69, 0x6d, 0x65, 0x2c, 0x20, 0x6d, 0x61, 0x73, 0x6b, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x2f, 0x2f, 0x20, 0x64, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x68, 0x69, - 0x74, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x68, 0x69, 0x74, 0x20, 0x3d, - 0x20, 0x5b, 0x5d, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x61, 0x75, - 0x74, 0x6f, 0x20, 0x69, 0x6e, 0x73, 0x74, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x68, 0x69, 0x74, - 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, - 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x28, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x70, 0x72, 0x69, 0x6d, 0x20, 0x3d, 0x20, 0x6c, 0x63, - 0x5f, 0x68, 0x69, 0x74, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x70, 0x72, 0x69, 0x6d, - 0x69, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x28, 0x29, 0x3b, 0x0a, 0x23, - 0x69, 0x66, 0x64, 0x65, 0x66, 0x20, 0x4c, 0x55, 0x49, 0x53, 0x41, 0x5f, 0x45, 0x4e, 0x41, 0x42, - 0x4c, 0x45, 0x5f, 0x4f, 0x50, 0x54, 0x49, 0x58, 0x5f, 0x43, 0x55, 0x52, 0x56, 0x45, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x68, 0x69, 0x74, 0x5f, - 0x6b, 0x69, 0x6e, 0x64, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x68, 0x69, 0x74, 0x5f, 0x6f, 0x62, - 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x68, 0x69, 0x74, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x28, 0x29, 0x3b, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x62, 0x61, - 0x72, 0x79, 0x20, 0x3d, 0x20, 0x68, 0x69, 0x74, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x20, 0x3d, 0x3d, - 0x20, 0x4c, 0x43, 0x5f, 0x48, 0x49, 0x54, 0x5f, 0x4b, 0x49, 0x4e, 0x44, 0x5f, 0x54, 0x52, 0x49, - 0x41, 0x4e, 0x47, 0x4c, 0x45, 0x5f, 0x46, 0x52, 0x4f, 0x4e, 0x54, 0x5f, 0x46, 0x41, 0x43, 0x45, - 0x20, 0x7c, 0x7c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x68, 0x69, 0x74, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x20, 0x3d, 0x3d, 0x20, 0x4c, 0x43, 0x5f, 0x48, - 0x49, 0x54, 0x5f, 0x4b, 0x49, 0x4e, 0x44, 0x5f, 0x54, 0x52, 0x49, 0x41, 0x4e, 0x47, 0x4c, 0x45, - 0x5f, 0x42, 0x41, 0x43, 0x4b, 0x5f, 0x46, 0x41, 0x43, 0x45, 0x20, 0x3f, 0x0a, 0x20, 0x20, 0x20, + 0x75, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x75, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, + 0x75, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x75, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, + 0x75, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x75, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, + 0x75, 0x29, 0x29, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, + 0x3c, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x20, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x3e, 0x0a, + 0x5b, 0x5b, 0x6e, 0x6f, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x5d, 0x5d, 0x20, 0x61, 0x75, + 0x74, 0x6f, 0x20, 0x6c, 0x63, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x6c, 0x5f, 0x74, 0x72, 0x61, 0x63, + 0x65, 0x5f, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x6d, 0x70, 0x6c, 0x28, 0x4c, + 0x43, 0x41, 0x63, 0x63, 0x65, 0x6c, 0x20, 0x61, 0x63, 0x63, 0x65, 0x6c, 0x2c, 0x20, 0x4c, 0x43, + 0x52, 0x61, 0x79, 0x20, 0x72, 0x61, 0x79, 0x2c, 0x20, 0x6c, 0x63, 0x5f, 0x66, 0x6c, 0x6f, 0x61, + 0x74, 0x20, 0x74, 0x69, 0x6d, 0x65, 0x2c, 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x20, + 0x6d, 0x61, 0x73, 0x6b, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x74, 0x72, 0x61, 0x76, 0x65, 0x72, 0x73, 0x65, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x72, 0x61, 0x79, 0x5f, 0x74, 0x72, 0x61, 0x76, + 0x65, 0x72, 0x73, 0x65, 0x3c, 0x4c, 0x43, 0x5f, 0x50, 0x41, 0x59, 0x4c, 0x4f, 0x41, 0x44, 0x5f, + 0x54, 0x59, 0x50, 0x45, 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x54, 0x52, 0x41, 0x43, 0x45, 0x2c, 0x20, + 0x30, 0x75, 0x3e, 0x28, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x2c, 0x20, 0x61, 0x63, 0x63, 0x65, 0x6c, + 0x2c, 0x20, 0x72, 0x61, 0x79, 0x2c, 0x20, 0x74, 0x69, 0x6d, 0x65, 0x2c, 0x20, 0x6d, 0x61, 0x73, + 0x6b, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x64, 0x65, 0x63, 0x6f, 0x64, + 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x68, 0x69, 0x74, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x75, + 0x74, 0x6f, 0x20, 0x68, 0x69, 0x74, 0x20, 0x3d, 0x20, 0x5b, 0x5d, 0x20, 0x7b, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x69, 0x6e, 0x73, 0x74, 0x20, + 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x68, 0x69, 0x74, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, + 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x28, 0x29, + 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x70, + 0x72, 0x69, 0x6d, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x68, 0x69, 0x74, 0x5f, 0x6f, 0x62, 0x6a, + 0x65, 0x63, 0x74, 0x5f, 0x70, 0x72, 0x69, 0x6d, 0x69, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x69, 0x6e, + 0x64, 0x65, 0x78, 0x28, 0x29, 0x3b, 0x0a, 0x23, 0x69, 0x66, 0x64, 0x65, 0x66, 0x20, 0x4c, 0x55, + 0x49, 0x53, 0x41, 0x5f, 0x45, 0x4e, 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x4f, 0x50, 0x54, 0x49, 0x58, + 0x5f, 0x43, 0x55, 0x52, 0x56, 0x45, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x61, + 0x75, 0x74, 0x6f, 0x20, 0x68, 0x69, 0x74, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x20, 0x3d, 0x20, 0x6c, + 0x63, 0x5f, 0x68, 0x69, 0x74, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x68, 0x69, 0x74, + 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x28, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x62, 0x61, 0x72, 0x79, 0x20, 0x3d, 0x20, 0x68, 0x69, 0x74, + 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x20, 0x3d, 0x3d, 0x20, 0x4c, 0x43, 0x5f, 0x48, 0x49, 0x54, 0x5f, + 0x4b, 0x49, 0x4e, 0x44, 0x5f, 0x54, 0x52, 0x49, 0x41, 0x4e, 0x47, 0x4c, 0x45, 0x5f, 0x46, 0x52, + 0x4f, 0x4e, 0x54, 0x5f, 0x46, 0x41, 0x43, 0x45, 0x20, 0x7c, 0x7c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x68, 0x69, 0x74, 0x5f, 0x6f, 0x62, 0x6a, 0x65, - 0x63, 0x74, 0x5f, 0x74, 0x72, 0x69, 0x61, 0x6e, 0x67, 0x6c, 0x65, 0x5f, 0x62, 0x61, 0x72, 0x79, - 0x28, 0x29, 0x20, 0x3a, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x68, 0x69, 0x74, 0x5f, 0x6b, 0x69, 0x6e, 0x64, + 0x20, 0x3d, 0x3d, 0x20, 0x4c, 0x43, 0x5f, 0x48, 0x49, 0x54, 0x5f, 0x4b, 0x49, 0x4e, 0x44, 0x5f, + 0x54, 0x52, 0x49, 0x41, 0x4e, 0x47, 0x4c, 0x45, 0x5f, 0x42, 0x41, 0x43, 0x4b, 0x5f, 0x46, 0x41, + 0x43, 0x45, 0x20, 0x3f, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, - 0x6d, 0x61, 0x6b, 0x65, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x32, 0x28, 0x6c, 0x63, 0x5f, 0x68, - 0x69, 0x74, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x63, 0x75, 0x72, 0x76, 0x65, 0x5f, - 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x28, 0x29, 0x2c, 0x20, 0x2d, 0x31, 0x2e, - 0x66, 0x29, 0x3b, 0x0a, 0x23, 0x65, 0x6c, 0x73, 0x65, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x62, 0x61, 0x72, 0x79, 0x20, 0x3d, 0x20, 0x6c, 0x63, - 0x5f, 0x68, 0x69, 0x74, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x74, 0x72, 0x69, 0x61, - 0x6e, 0x67, 0x6c, 0x65, 0x5f, 0x62, 0x61, 0x72, 0x79, 0x28, 0x29, 0x3b, 0x0a, 0x23, 0x65, 0x6e, - 0x64, 0x69, 0x66, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x61, 0x75, 0x74, 0x6f, - 0x20, 0x74, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x68, 0x69, 0x74, 0x5f, 0x6f, 0x62, 0x6a, 0x65, - 0x63, 0x74, 0x5f, 0x72, 0x61, 0x79, 0x5f, 0x74, 0x5f, 0x6d, 0x61, 0x78, 0x28, 0x29, 0x3b, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x4c, - 0x43, 0x54, 0x72, 0x69, 0x61, 0x6e, 0x67, 0x6c, 0x65, 0x48, 0x69, 0x74, 0x7b, 0x69, 0x6e, 0x73, - 0x74, 0x2c, 0x20, 0x70, 0x72, 0x69, 0x6d, 0x2c, 0x20, 0x62, 0x61, 0x72, 0x79, 0x2c, 0x20, 0x74, - 0x7d, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x28, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x68, 0x69, 0x74, 0x2e, 0x6d, 0x30, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x68, 0x69, 0x74, 0x5f, - 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x73, 0x5f, 0x68, 0x69, 0x74, 0x28, 0x29, 0x20, - 0x3f, 0x20, 0x68, 0x69, 0x74, 0x2e, 0x6d, 0x30, 0x20, 0x3a, 0x20, 0x7e, 0x30, 0x75, 0x3b, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x68, 0x69, 0x74, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, - 0x74, 0x5f, 0x72, 0x65, 0x73, 0x65, 0x74, 0x28, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, - 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x68, 0x69, 0x74, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x74, 0x65, - 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x3c, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x20, 0x66, - 0x6c, 0x61, 0x67, 0x73, 0x3e, 0x0a, 0x5b, 0x5b, 0x6e, 0x6f, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, - 0x64, 0x5d, 0x5d, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, - 0x6c, 0x63, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x6c, 0x5f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x5f, 0x61, - 0x6e, 0x79, 0x5f, 0x69, 0x6d, 0x70, 0x6c, 0x28, 0x4c, 0x43, 0x41, 0x63, 0x63, 0x65, 0x6c, 0x20, + 0x68, 0x69, 0x74, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x74, 0x72, 0x69, 0x61, 0x6e, + 0x67, 0x6c, 0x65, 0x5f, 0x62, 0x61, 0x72, 0x79, 0x28, 0x29, 0x20, 0x3a, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x6d, 0x61, 0x6b, 0x65, 0x5f, 0x66, 0x6c, 0x6f, + 0x61, 0x74, 0x32, 0x28, 0x6c, 0x63, 0x5f, 0x68, 0x69, 0x74, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, + 0x74, 0x5f, 0x63, 0x75, 0x72, 0x76, 0x65, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, + 0x72, 0x28, 0x29, 0x2c, 0x20, 0x2d, 0x31, 0x2e, 0x66, 0x29, 0x3b, 0x0a, 0x23, 0x65, 0x6c, 0x73, + 0x65, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x62, + 0x61, 0x72, 0x79, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x68, 0x69, 0x74, 0x5f, 0x6f, 0x62, 0x6a, + 0x65, 0x63, 0x74, 0x5f, 0x74, 0x72, 0x69, 0x61, 0x6e, 0x67, 0x6c, 0x65, 0x5f, 0x62, 0x61, 0x72, + 0x79, 0x28, 0x29, 0x3b, 0x0a, 0x23, 0x65, 0x6e, 0x64, 0x69, 0x66, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x74, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, + 0x68, 0x69, 0x74, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x72, 0x61, 0x79, 0x5f, 0x74, + 0x5f, 0x6d, 0x61, 0x78, 0x28, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x4c, 0x43, 0x54, 0x72, 0x69, 0x61, 0x6e, 0x67, 0x6c, + 0x65, 0x48, 0x69, 0x74, 0x7b, 0x69, 0x6e, 0x73, 0x74, 0x2c, 0x20, 0x70, 0x72, 0x69, 0x6d, 0x2c, + 0x20, 0x62, 0x61, 0x72, 0x79, 0x2c, 0x20, 0x74, 0x7d, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, + 0x28, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x68, 0x69, 0x74, 0x2e, 0x6d, 0x30, 0x20, 0x3d, + 0x20, 0x6c, 0x63, 0x5f, 0x68, 0x69, 0x74, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, + 0x73, 0x5f, 0x68, 0x69, 0x74, 0x28, 0x29, 0x20, 0x3f, 0x20, 0x68, 0x69, 0x74, 0x2e, 0x6d, 0x30, + 0x20, 0x3a, 0x20, 0x7e, 0x30, 0x75, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x68, + 0x69, 0x74, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x65, 0x74, 0x28, + 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x68, 0x69, + 0x74, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x3c, 0x6c, + 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x20, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x3e, 0x0a, 0x5b, 0x5b, + 0x6e, 0x6f, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x5d, 0x5d, 0x20, 0x61, 0x75, 0x74, 0x6f, + 0x20, 0x6c, 0x63, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x6c, 0x5f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x5f, + 0x61, 0x6e, 0x79, 0x5f, 0x69, 0x6d, 0x70, 0x6c, 0x28, 0x4c, 0x43, 0x41, 0x63, 0x63, 0x65, 0x6c, + 0x20, 0x61, 0x63, 0x63, 0x65, 0x6c, 0x2c, 0x20, 0x4c, 0x43, 0x52, 0x61, 0x79, 0x20, 0x72, 0x61, + 0x79, 0x2c, 0x20, 0x6c, 0x63, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x74, 0x69, 0x6d, 0x65, + 0x2c, 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x20, 0x6d, 0x61, 0x73, 0x6b, 0x29, 0x20, + 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x2f, + 0x2f, 0x20, 0x74, 0x72, 0x61, 0x76, 0x65, 0x72, 0x73, 0x65, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, + 0x63, 0x5f, 0x72, 0x61, 0x79, 0x5f, 0x74, 0x72, 0x61, 0x76, 0x65, 0x72, 0x73, 0x65, 0x3c, 0x4c, + 0x43, 0x5f, 0x50, 0x41, 0x59, 0x4c, 0x4f, 0x41, 0x44, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x52, + 0x41, 0x59, 0x5f, 0x54, 0x52, 0x41, 0x43, 0x45, 0x2c, 0x20, 0x30, 0x75, 0x3e, 0x28, 0x66, 0x6c, + 0x61, 0x67, 0x73, 0x2c, 0x20, 0x61, 0x63, 0x63, 0x65, 0x6c, 0x2c, 0x20, 0x72, 0x61, 0x79, 0x2c, + 0x20, 0x74, 0x69, 0x6d, 0x65, 0x2c, 0x20, 0x6d, 0x61, 0x73, 0x6b, 0x29, 0x3b, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x64, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x20, 0x69, 0x66, 0x20, 0x68, + 0x69, 0x74, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x69, 0x73, 0x5f, 0x68, + 0x69, 0x74, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x68, 0x69, 0x74, 0x5f, 0x6f, 0x62, 0x6a, 0x65, + 0x63, 0x74, 0x5f, 0x69, 0x73, 0x5f, 0x68, 0x69, 0x74, 0x28, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x6c, 0x63, 0x5f, 0x68, 0x69, 0x74, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x72, + 0x65, 0x73, 0x65, 0x74, 0x28, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, + 0x72, 0x6e, 0x20, 0x69, 0x73, 0x5f, 0x68, 0x69, 0x74, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x5b, 0x5b, + 0x6e, 0x6f, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x5d, 0x5d, 0x20, 0x61, 0x75, 0x74, 0x6f, + 0x20, 0x6c, 0x63, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x6c, 0x5f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x5f, + 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x73, 0x74, 0x28, 0x4c, 0x43, 0x41, 0x63, 0x63, 0x65, 0x6c, 0x20, 0x61, 0x63, 0x63, 0x65, 0x6c, 0x2c, 0x20, 0x4c, 0x43, 0x52, 0x61, 0x79, 0x20, 0x72, 0x61, 0x79, - 0x2c, 0x20, 0x6c, 0x63, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x74, 0x69, 0x6d, 0x65, 0x2c, - 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x20, 0x6d, 0x61, 0x73, 0x6b, 0x29, 0x20, 0x6e, - 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x2f, 0x2f, - 0x20, 0x74, 0x72, 0x61, 0x76, 0x65, 0x72, 0x73, 0x65, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, - 0x5f, 0x72, 0x61, 0x79, 0x5f, 0x74, 0x72, 0x61, 0x76, 0x65, 0x72, 0x73, 0x65, 0x3c, 0x4c, 0x43, - 0x5f, 0x50, 0x41, 0x59, 0x4c, 0x4f, 0x41, 0x44, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x52, 0x41, - 0x59, 0x5f, 0x54, 0x52, 0x41, 0x43, 0x45, 0x2c, 0x20, 0x30, 0x75, 0x3e, 0x28, 0x66, 0x6c, 0x61, - 0x67, 0x73, 0x2c, 0x20, 0x61, 0x63, 0x63, 0x65, 0x6c, 0x2c, 0x20, 0x72, 0x61, 0x79, 0x2c, 0x20, - 0x74, 0x69, 0x6d, 0x65, 0x2c, 0x20, 0x6d, 0x61, 0x73, 0x6b, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x2f, 0x2f, 0x20, 0x64, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x20, 0x69, 0x66, 0x20, 0x68, 0x69, - 0x74, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x69, 0x73, 0x5f, 0x68, 0x69, - 0x74, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x68, 0x69, 0x74, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, - 0x74, 0x5f, 0x69, 0x73, 0x5f, 0x68, 0x69, 0x74, 0x28, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x6c, 0x63, 0x5f, 0x68, 0x69, 0x74, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x72, 0x65, - 0x73, 0x65, 0x74, 0x28, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, - 0x6e, 0x20, 0x69, 0x73, 0x5f, 0x68, 0x69, 0x74, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x5b, 0x5b, 0x6e, - 0x6f, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x5d, 0x5d, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, - 0x65, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x6c, 0x63, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x6c, 0x5f, - 0x74, 0x72, 0x61, 0x63, 0x65, 0x5f, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x73, 0x74, 0x28, 0x4c, 0x43, + 0x2c, 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x20, 0x6d, 0x61, 0x73, 0x6b, 0x29, 0x20, + 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x63, + 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x78, 0x70, 0x72, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x66, 0x6c, + 0x61, 0x67, 0x73, 0x20, 0x3d, 0x20, 0x4c, 0x43, 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x46, 0x4c, 0x41, + 0x47, 0x5f, 0x44, 0x49, 0x53, 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x41, 0x4e, 0x59, 0x48, 0x49, 0x54, + 0x20, 0x7c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x4c, 0x43, + 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x46, 0x4c, 0x41, 0x47, 0x5f, 0x44, 0x49, 0x53, 0x41, 0x42, 0x4c, + 0x45, 0x5f, 0x43, 0x4c, 0x4f, 0x53, 0x45, 0x53, 0x54, 0x48, 0x49, 0x54, 0x3b, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x6c, 0x63, 0x5f, 0x61, 0x63, 0x63, 0x65, + 0x6c, 0x5f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x5f, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x73, 0x74, 0x5f, + 0x69, 0x6d, 0x70, 0x6c, 0x3c, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x3e, 0x28, 0x61, 0x63, 0x63, 0x65, + 0x6c, 0x2c, 0x20, 0x72, 0x61, 0x79, 0x2c, 0x20, 0x30, 0x2e, 0x66, 0x2c, 0x20, 0x6d, 0x61, 0x73, + 0x6b, 0x29, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x5b, 0x5b, 0x6e, 0x6f, 0x64, 0x69, 0x73, 0x63, 0x61, + 0x72, 0x64, 0x5d, 0x5d, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x6c, 0x63, 0x5f, 0x61, 0x63, 0x63, + 0x65, 0x6c, 0x5f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x5f, 0x61, 0x6e, 0x79, 0x28, 0x4c, 0x43, 0x41, + 0x63, 0x63, 0x65, 0x6c, 0x20, 0x61, 0x63, 0x63, 0x65, 0x6c, 0x2c, 0x20, 0x4c, 0x43, 0x52, 0x61, + 0x79, 0x20, 0x72, 0x61, 0x79, 0x2c, 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x20, 0x6d, + 0x61, 0x73, 0x6b, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x78, 0x70, 0x72, 0x20, 0x61, 0x75, + 0x74, 0x6f, 0x20, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x20, 0x3d, 0x20, 0x4c, 0x43, 0x5f, 0x52, 0x41, + 0x59, 0x5f, 0x46, 0x4c, 0x41, 0x47, 0x5f, 0x44, 0x49, 0x53, 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x41, + 0x4e, 0x59, 0x48, 0x49, 0x54, 0x20, 0x7c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x4c, 0x43, 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x46, 0x4c, 0x41, 0x47, 0x5f, 0x54, + 0x45, 0x52, 0x4d, 0x49, 0x4e, 0x41, 0x54, 0x45, 0x5f, 0x4f, 0x4e, 0x5f, 0x46, 0x49, 0x52, 0x53, + 0x54, 0x5f, 0x48, 0x49, 0x54, 0x20, 0x7c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x4c, 0x43, 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x46, 0x4c, 0x41, 0x47, 0x5f, 0x44, + 0x49, 0x53, 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x43, 0x4c, 0x4f, 0x53, 0x45, 0x53, 0x54, 0x48, 0x49, + 0x54, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x6c, 0x63, + 0x5f, 0x61, 0x63, 0x63, 0x65, 0x6c, 0x5f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x5f, 0x61, 0x6e, 0x79, + 0x5f, 0x69, 0x6d, 0x70, 0x6c, 0x3c, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x3e, 0x28, 0x61, 0x63, 0x63, + 0x65, 0x6c, 0x2c, 0x20, 0x72, 0x61, 0x79, 0x2c, 0x20, 0x30, 0x2e, 0x66, 0x2c, 0x20, 0x6d, 0x61, + 0x73, 0x6b, 0x29, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x5b, 0x5b, 0x6e, 0x6f, 0x64, 0x69, 0x73, 0x63, + 0x61, 0x72, 0x64, 0x5d, 0x5d, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x6c, 0x63, 0x5f, 0x61, 0x63, + 0x63, 0x65, 0x6c, 0x5f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x5f, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x73, + 0x74, 0x5f, 0x6d, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x62, 0x6c, 0x75, 0x72, 0x28, 0x4c, 0x43, 0x41, 0x63, 0x63, 0x65, 0x6c, 0x20, 0x61, 0x63, 0x63, 0x65, 0x6c, 0x2c, 0x20, 0x4c, 0x43, 0x52, - 0x61, 0x79, 0x20, 0x72, 0x61, 0x79, 0x2c, 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x20, + 0x61, 0x79, 0x20, 0x72, 0x61, 0x79, 0x2c, 0x20, 0x6c, 0x63, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, + 0x20, 0x74, 0x69, 0x6d, 0x65, 0x2c, 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x20, 0x6d, + 0x61, 0x73, 0x6b, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x78, 0x70, 0x72, 0x20, 0x61, 0x75, + 0x74, 0x6f, 0x20, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x20, 0x3d, 0x20, 0x4c, 0x43, 0x5f, 0x52, 0x41, + 0x59, 0x5f, 0x46, 0x4c, 0x41, 0x47, 0x5f, 0x44, 0x49, 0x53, 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x41, + 0x4e, 0x59, 0x48, 0x49, 0x54, 0x20, 0x7c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x4c, 0x43, 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x46, 0x4c, 0x41, 0x47, 0x5f, 0x44, + 0x49, 0x53, 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x43, 0x4c, 0x4f, 0x53, 0x45, 0x53, 0x54, 0x48, 0x49, + 0x54, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x6c, 0x63, + 0x5f, 0x61, 0x63, 0x63, 0x65, 0x6c, 0x5f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x5f, 0x63, 0x6c, 0x6f, + 0x73, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x6d, 0x70, 0x6c, 0x3c, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x3e, + 0x28, 0x61, 0x63, 0x63, 0x65, 0x6c, 0x2c, 0x20, 0x72, 0x61, 0x79, 0x2c, 0x20, 0x74, 0x69, 0x6d, + 0x65, 0x2c, 0x20, 0x6d, 0x61, 0x73, 0x6b, 0x29, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x5b, 0x5b, 0x6e, + 0x6f, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x5d, 0x5d, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, + 0x6c, 0x63, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x6c, 0x5f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x5f, 0x61, + 0x6e, 0x79, 0x5f, 0x6d, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x62, 0x6c, 0x75, 0x72, 0x28, 0x4c, + 0x43, 0x41, 0x63, 0x63, 0x65, 0x6c, 0x20, 0x61, 0x63, 0x63, 0x65, 0x6c, 0x2c, 0x20, 0x4c, 0x43, + 0x52, 0x61, 0x79, 0x20, 0x72, 0x61, 0x79, 0x2c, 0x20, 0x6c, 0x63, 0x5f, 0x66, 0x6c, 0x6f, 0x61, + 0x74, 0x20, 0x74, 0x69, 0x6d, 0x65, 0x2c, 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x20, 0x6d, 0x61, 0x73, 0x6b, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x78, 0x70, 0x72, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x20, 0x3d, 0x20, 0x4c, 0x43, 0x5f, 0x52, @@ -41497,513 +41305,444 @@ extern "C" const char luisa_cuda_builtin_cuda_device_resource[119200] = { 0x41, 0x4e, 0x59, 0x48, 0x49, 0x54, 0x20, 0x7c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x4c, 0x43, 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x46, 0x4c, 0x41, 0x47, 0x5f, + 0x54, 0x45, 0x52, 0x4d, 0x49, 0x4e, 0x41, 0x54, 0x45, 0x5f, 0x4f, 0x4e, 0x5f, 0x46, 0x49, 0x52, + 0x53, 0x54, 0x5f, 0x48, 0x49, 0x54, 0x20, 0x7c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x4c, 0x43, 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x46, 0x4c, 0x41, 0x47, 0x5f, 0x44, 0x49, 0x53, 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x43, 0x4c, 0x4f, 0x53, 0x45, 0x53, 0x54, 0x48, 0x49, 0x54, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x6c, - 0x63, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x6c, 0x5f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x5f, 0x63, 0x6c, - 0x6f, 0x73, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x6d, 0x70, 0x6c, 0x3c, 0x66, 0x6c, 0x61, 0x67, 0x73, - 0x3e, 0x28, 0x61, 0x63, 0x63, 0x65, 0x6c, 0x2c, 0x20, 0x72, 0x61, 0x79, 0x2c, 0x20, 0x30, 0x2e, - 0x66, 0x2c, 0x20, 0x6d, 0x61, 0x73, 0x6b, 0x29, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x5b, 0x5b, 0x6e, - 0x6f, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x5d, 0x5d, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, - 0x65, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x6c, 0x63, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x6c, 0x5f, - 0x74, 0x72, 0x61, 0x63, 0x65, 0x5f, 0x61, 0x6e, 0x79, 0x28, 0x4c, 0x43, 0x41, 0x63, 0x63, 0x65, - 0x6c, 0x20, 0x61, 0x63, 0x63, 0x65, 0x6c, 0x2c, 0x20, 0x4c, 0x43, 0x52, 0x61, 0x79, 0x20, 0x72, - 0x61, 0x79, 0x2c, 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x20, 0x6d, 0x61, 0x73, 0x6b, - 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x78, 0x70, 0x72, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, - 0x66, 0x6c, 0x61, 0x67, 0x73, 0x20, 0x3d, 0x20, 0x4c, 0x43, 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x46, - 0x4c, 0x41, 0x47, 0x5f, 0x44, 0x49, 0x53, 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x41, 0x4e, 0x59, 0x48, - 0x49, 0x54, 0x20, 0x7c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x4c, 0x43, 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x46, 0x4c, 0x41, 0x47, 0x5f, 0x54, 0x45, 0x52, 0x4d, - 0x49, 0x4e, 0x41, 0x54, 0x45, 0x5f, 0x4f, 0x4e, 0x5f, 0x46, 0x49, 0x52, 0x53, 0x54, 0x5f, 0x48, - 0x49, 0x54, 0x20, 0x7c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x4c, 0x43, 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x46, 0x4c, 0x41, 0x47, 0x5f, 0x44, 0x49, 0x53, 0x41, - 0x42, 0x4c, 0x45, 0x5f, 0x43, 0x4c, 0x4f, 0x53, 0x45, 0x53, 0x54, 0x48, 0x49, 0x54, 0x3b, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x6c, 0x63, 0x5f, 0x61, 0x63, - 0x63, 0x65, 0x6c, 0x5f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x5f, 0x61, 0x6e, 0x79, 0x5f, 0x69, 0x6d, - 0x70, 0x6c, 0x3c, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x3e, 0x28, 0x61, 0x63, 0x63, 0x65, 0x6c, 0x2c, - 0x20, 0x72, 0x61, 0x79, 0x2c, 0x20, 0x30, 0x2e, 0x66, 0x2c, 0x20, 0x6d, 0x61, 0x73, 0x6b, 0x29, - 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x5b, 0x5b, 0x6e, 0x6f, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, - 0x5d, 0x5d, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x6c, - 0x63, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x6c, 0x5f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x5f, 0x63, 0x6c, - 0x6f, 0x73, 0x65, 0x73, 0x74, 0x5f, 0x6d, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x62, 0x6c, 0x75, - 0x72, 0x28, 0x4c, 0x43, 0x41, 0x63, 0x63, 0x65, 0x6c, 0x20, 0x61, 0x63, 0x63, 0x65, 0x6c, 0x2c, - 0x20, 0x4c, 0x43, 0x52, 0x61, 0x79, 0x20, 0x72, 0x61, 0x79, 0x2c, 0x20, 0x6c, 0x63, 0x5f, 0x66, - 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x74, 0x69, 0x6d, 0x65, 0x2c, 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x69, - 0x6e, 0x74, 0x20, 0x6d, 0x61, 0x73, 0x6b, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, - 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x78, 0x70, - 0x72, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x20, 0x3d, 0x20, 0x4c, - 0x43, 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x46, 0x4c, 0x41, 0x47, 0x5f, 0x44, 0x49, 0x53, 0x41, 0x42, - 0x4c, 0x45, 0x5f, 0x41, 0x4e, 0x59, 0x48, 0x49, 0x54, 0x20, 0x7c, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x4c, 0x43, 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x46, 0x4c, - 0x41, 0x47, 0x5f, 0x44, 0x49, 0x53, 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x43, 0x4c, 0x4f, 0x53, 0x45, - 0x53, 0x54, 0x48, 0x49, 0x54, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, - 0x6e, 0x20, 0x6c, 0x63, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x6c, 0x5f, 0x74, 0x72, 0x61, 0x63, 0x65, - 0x5f, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x6d, 0x70, 0x6c, 0x3c, 0x66, 0x6c, - 0x61, 0x67, 0x73, 0x3e, 0x28, 0x61, 0x63, 0x63, 0x65, 0x6c, 0x2c, 0x20, 0x72, 0x61, 0x79, 0x2c, - 0x20, 0x74, 0x69, 0x6d, 0x65, 0x2c, 0x20, 0x6d, 0x61, 0x73, 0x6b, 0x29, 0x3b, 0x0a, 0x7d, 0x0a, - 0x0a, 0x5b, 0x5b, 0x6e, 0x6f, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x5d, 0x5d, 0x20, 0x69, - 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x6c, 0x63, 0x5f, 0x61, 0x63, - 0x63, 0x65, 0x6c, 0x5f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x5f, 0x61, 0x6e, 0x79, 0x5f, 0x6d, 0x6f, - 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x62, 0x6c, 0x75, 0x72, 0x28, 0x4c, 0x43, 0x41, 0x63, 0x63, 0x65, - 0x6c, 0x20, 0x61, 0x63, 0x63, 0x65, 0x6c, 0x2c, 0x20, 0x4c, 0x43, 0x52, 0x61, 0x79, 0x20, 0x72, - 0x61, 0x79, 0x2c, 0x20, 0x6c, 0x63, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x74, 0x69, 0x6d, - 0x65, 0x2c, 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x20, 0x6d, 0x61, 0x73, 0x6b, 0x29, - 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x78, 0x70, 0x72, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x66, - 0x6c, 0x61, 0x67, 0x73, 0x20, 0x3d, 0x20, 0x4c, 0x43, 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x46, 0x4c, - 0x41, 0x47, 0x5f, 0x44, 0x49, 0x53, 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x41, 0x4e, 0x59, 0x48, 0x49, - 0x54, 0x20, 0x7c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x4c, - 0x43, 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x46, 0x4c, 0x41, 0x47, 0x5f, 0x54, 0x45, 0x52, 0x4d, 0x49, - 0x4e, 0x41, 0x54, 0x45, 0x5f, 0x4f, 0x4e, 0x5f, 0x46, 0x49, 0x52, 0x53, 0x54, 0x5f, 0x48, 0x49, - 0x54, 0x20, 0x7c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x4c, - 0x43, 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x46, 0x4c, 0x41, 0x47, 0x5f, 0x44, 0x49, 0x53, 0x41, 0x42, - 0x4c, 0x45, 0x5f, 0x43, 0x4c, 0x4f, 0x53, 0x45, 0x53, 0x54, 0x48, 0x49, 0x54, 0x3b, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x6c, 0x63, 0x5f, 0x61, 0x63, 0x63, - 0x65, 0x6c, 0x5f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x5f, 0x61, 0x6e, 0x79, 0x5f, 0x69, 0x6d, 0x70, - 0x6c, 0x3c, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x3e, 0x28, 0x61, 0x63, 0x63, 0x65, 0x6c, 0x2c, 0x20, - 0x72, 0x61, 0x79, 0x2c, 0x20, 0x74, 0x69, 0x6d, 0x65, 0x2c, 0x20, 0x6d, 0x61, 0x73, 0x6b, 0x29, - 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x5b, 0x5b, 0x6e, 0x6f, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, - 0x5d, 0x5d, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x6c, - 0x63, 0x5f, 0x64, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x69, 0x64, 0x28, 0x29, 0x20, - 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, - 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x20, 0x75, 0x30, 0x2c, 0x20, 0x75, 0x31, 0x2c, 0x20, 0x75, - 0x32, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x63, 0x61, 0x6c, 0x6c, - 0x20, 0x28, 0x25, 0x30, 0x29, 0x2c, 0x20, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x78, 0x5f, 0x67, 0x65, - 0x74, 0x5f, 0x6c, 0x61, 0x75, 0x6e, 0x63, 0x68, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5f, 0x78, - 0x2c, 0x20, 0x28, 0x29, 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, - 0x20, 0x22, 0x3d, 0x72, 0x22, 0x28, 0x75, 0x30, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x3a, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x63, - 0x61, 0x6c, 0x6c, 0x20, 0x28, 0x25, 0x30, 0x29, 0x2c, 0x20, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x78, - 0x5f, 0x67, 0x65, 0x74, 0x5f, 0x6c, 0x61, 0x75, 0x6e, 0x63, 0x68, 0x5f, 0x69, 0x6e, 0x64, 0x65, - 0x78, 0x5f, 0x79, 0x2c, 0x20, 0x28, 0x29, 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x72, 0x22, 0x28, 0x75, 0x31, 0x29, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, - 0x28, 0x22, 0x63, 0x61, 0x6c, 0x6c, 0x20, 0x28, 0x25, 0x30, 0x29, 0x2c, 0x20, 0x5f, 0x6f, 0x70, - 0x74, 0x69, 0x78, 0x5f, 0x67, 0x65, 0x74, 0x5f, 0x6c, 0x61, 0x75, 0x6e, 0x63, 0x68, 0x5f, 0x69, - 0x6e, 0x64, 0x65, 0x78, 0x5f, 0x7a, 0x2c, 0x20, 0x28, 0x29, 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x72, 0x22, 0x28, 0x75, 0x32, 0x29, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x6c, 0x63, 0x5f, 0x6d, 0x61, 0x6b, 0x65, 0x5f, 0x75, - 0x69, 0x6e, 0x74, 0x33, 0x28, 0x75, 0x30, 0x2c, 0x20, 0x75, 0x31, 0x2c, 0x20, 0x75, 0x32, 0x29, - 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x5b, 0x5b, 0x6e, 0x6f, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, - 0x5d, 0x5d, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x6c, - 0x63, 0x5f, 0x64, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x28, - 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x20, 0x75, 0x30, 0x2c, 0x20, 0x75, 0x31, 0x2c, - 0x20, 0x75, 0x32, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x63, 0x61, - 0x6c, 0x6c, 0x20, 0x28, 0x25, 0x30, 0x29, 0x2c, 0x20, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x78, 0x5f, - 0x67, 0x65, 0x74, 0x5f, 0x6c, 0x61, 0x75, 0x6e, 0x63, 0x68, 0x5f, 0x64, 0x69, 0x6d, 0x65, 0x6e, - 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x78, 0x2c, 0x20, 0x28, 0x29, 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x72, 0x22, 0x28, 0x75, 0x30, 0x29, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x63, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x6c, 0x5f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x5f, 0x61, 0x6e, + 0x79, 0x5f, 0x69, 0x6d, 0x70, 0x6c, 0x3c, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x3e, 0x28, 0x61, 0x63, + 0x63, 0x65, 0x6c, 0x2c, 0x20, 0x72, 0x61, 0x79, 0x2c, 0x20, 0x74, 0x69, 0x6d, 0x65, 0x2c, 0x20, + 0x6d, 0x61, 0x73, 0x6b, 0x29, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x5b, 0x5b, 0x6e, 0x6f, 0x64, 0x69, + 0x73, 0x63, 0x61, 0x72, 0x64, 0x5d, 0x5d, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x6c, 0x63, 0x5f, + 0x64, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x69, 0x64, 0x28, 0x29, 0x20, 0x6e, 0x6f, + 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, + 0x75, 0x69, 0x6e, 0x74, 0x20, 0x75, 0x30, 0x2c, 0x20, 0x75, 0x31, 0x2c, 0x20, 0x75, 0x32, 0x3b, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x63, 0x61, 0x6c, 0x6c, 0x20, 0x28, + 0x25, 0x30, 0x29, 0x2c, 0x20, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x78, 0x5f, 0x67, 0x65, 0x74, 0x5f, + 0x6c, 0x61, 0x75, 0x6e, 0x63, 0x68, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5f, 0x78, 0x2c, 0x20, + 0x28, 0x29, 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, + 0x3d, 0x72, 0x22, 0x28, 0x75, 0x30, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x3a, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x63, 0x61, 0x6c, + 0x6c, 0x20, 0x28, 0x25, 0x30, 0x29, 0x2c, 0x20, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x78, 0x5f, 0x67, + 0x65, 0x74, 0x5f, 0x6c, 0x61, 0x75, 0x6e, 0x63, 0x68, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5f, + 0x79, 0x2c, 0x20, 0x28, 0x29, 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x3a, 0x20, 0x22, 0x3d, 0x72, 0x22, 0x28, 0x75, 0x31, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x3a, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, + 0x63, 0x61, 0x6c, 0x6c, 0x20, 0x28, 0x25, 0x30, 0x29, 0x2c, 0x20, 0x5f, 0x6f, 0x70, 0x74, 0x69, + 0x78, 0x5f, 0x67, 0x65, 0x74, 0x5f, 0x6c, 0x61, 0x75, 0x6e, 0x63, 0x68, 0x5f, 0x69, 0x6e, 0x64, + 0x65, 0x78, 0x5f, 0x7a, 0x2c, 0x20, 0x28, 0x29, 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x72, 0x22, 0x28, 0x75, 0x32, 0x29, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, + 0x74, 0x75, 0x72, 0x6e, 0x20, 0x6c, 0x63, 0x5f, 0x6d, 0x61, 0x6b, 0x65, 0x5f, 0x75, 0x69, 0x6e, + 0x74, 0x33, 0x28, 0x75, 0x30, 0x2c, 0x20, 0x75, 0x31, 0x2c, 0x20, 0x75, 0x32, 0x29, 0x3b, 0x0a, + 0x7d, 0x0a, 0x0a, 0x5b, 0x5b, 0x6e, 0x6f, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x5d, 0x5d, + 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x6c, 0x63, 0x5f, 0x64, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, + 0x68, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x28, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, + 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x20, + 0x75, 0x30, 0x2c, 0x20, 0x75, 0x31, 0x2c, 0x20, 0x75, 0x32, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x63, 0x61, 0x6c, 0x6c, 0x20, 0x28, 0x25, 0x30, 0x29, 0x2c, 0x20, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x78, 0x5f, 0x67, 0x65, 0x74, 0x5f, 0x6c, 0x61, 0x75, 0x6e, 0x63, - 0x68, 0x5f, 0x64, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x79, 0x2c, 0x20, 0x28, + 0x68, 0x5f, 0x64, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x78, 0x2c, 0x20, 0x28, 0x29, 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, - 0x72, 0x22, 0x28, 0x75, 0x31, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, + 0x72, 0x22, 0x28, 0x75, 0x30, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x63, 0x61, 0x6c, 0x6c, 0x20, 0x28, 0x25, 0x30, 0x29, 0x2c, 0x20, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x78, 0x5f, 0x67, 0x65, 0x74, 0x5f, 0x6c, 0x61, 0x75, 0x6e, 0x63, 0x68, 0x5f, 0x64, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, - 0x6f, 0x6e, 0x5f, 0x7a, 0x2c, 0x20, 0x28, 0x29, 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x72, 0x22, 0x28, 0x75, 0x32, 0x29, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, - 0x74, 0x75, 0x72, 0x6e, 0x20, 0x6c, 0x63, 0x5f, 0x6d, 0x61, 0x6b, 0x65, 0x5f, 0x75, 0x69, 0x6e, - 0x74, 0x33, 0x28, 0x75, 0x30, 0x2c, 0x20, 0x75, 0x31, 0x2c, 0x20, 0x75, 0x32, 0x29, 0x3b, 0x0a, - 0x7d, 0x0a, 0x0a, 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, 0x6c, 0x63, 0x5f, 0x6b, 0x65, - 0x72, 0x6e, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x28, 0x29, 0x20, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, - 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x3e, 0x28, 0x70, - 0x61, 0x72, 0x61, 0x6d, 0x73, 0x2e, 0x6c, 0x73, 0x5f, 0x6b, 0x69, 0x64, 0x2e, 0x77, 0x29, 0x0a, - 0x0a, 0x5b, 0x5b, 0x6e, 0x6f, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x5d, 0x5d, 0x20, 0x69, - 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x6c, 0x63, 0x5f, 0x74, 0x68, + 0x6f, 0x6e, 0x5f, 0x79, 0x2c, 0x20, 0x28, 0x29, 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x72, 0x22, 0x28, 0x75, 0x31, 0x29, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, + 0x6d, 0x28, 0x22, 0x63, 0x61, 0x6c, 0x6c, 0x20, 0x28, 0x25, 0x30, 0x29, 0x2c, 0x20, 0x5f, 0x6f, + 0x70, 0x74, 0x69, 0x78, 0x5f, 0x67, 0x65, 0x74, 0x5f, 0x6c, 0x61, 0x75, 0x6e, 0x63, 0x68, 0x5f, + 0x64, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x7a, 0x2c, 0x20, 0x28, 0x29, 0x3b, + 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x72, 0x22, + 0x28, 0x75, 0x32, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x29, 0x3b, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x6c, 0x63, 0x5f, 0x6d, + 0x61, 0x6b, 0x65, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x28, 0x75, 0x30, 0x2c, 0x20, 0x75, 0x31, + 0x2c, 0x20, 0x75, 0x32, 0x29, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, + 0x65, 0x20, 0x6c, 0x63, 0x5f, 0x6b, 0x65, 0x72, 0x6e, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x28, 0x29, + 0x20, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x6c, 0x63, 0x5f, + 0x75, 0x69, 0x6e, 0x74, 0x3e, 0x28, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x2e, 0x6c, 0x73, 0x5f, + 0x6b, 0x69, 0x64, 0x2e, 0x77, 0x29, 0x0a, 0x0a, 0x5b, 0x5b, 0x6e, 0x6f, 0x64, 0x69, 0x73, 0x63, + 0x61, 0x72, 0x64, 0x5d, 0x5d, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x6c, 0x63, 0x5f, 0x74, 0x68, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x69, 0x64, 0x28, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x6c, 0x63, 0x5f, 0x64, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x69, 0x64, 0x28, 0x29, 0x20, 0x25, 0x20, 0x6c, 0x63, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x28, 0x29, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x5b, 0x5b, 0x6e, 0x6f, 0x64, 0x69, 0x73, 0x63, 0x61, - 0x72, 0x64, 0x5d, 0x5d, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x61, 0x75, 0x74, 0x6f, - 0x20, 0x6c, 0x63, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x69, 0x64, 0x28, 0x29, 0x20, 0x6e, - 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, - 0x74, 0x75, 0x72, 0x6e, 0x20, 0x6c, 0x63, 0x5f, 0x64, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, - 0x5f, 0x69, 0x64, 0x28, 0x29, 0x20, 0x2f, 0x20, 0x6c, 0x63, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, - 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x28, 0x29, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x5b, 0x5b, 0x6e, 0x6f, - 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x5d, 0x5d, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, - 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x6c, 0x63, 0x5f, 0x67, 0x65, 0x74, 0x5f, 0x68, 0x69, 0x74, - 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x28, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, - 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x75, 0x30, 0x20, 0x3d, - 0x20, 0x30, 0x75, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x63, 0x61, - 0x6c, 0x6c, 0x20, 0x28, 0x25, 0x30, 0x29, 0x2c, 0x20, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x78, 0x5f, - 0x67, 0x65, 0x74, 0x5f, 0x68, 0x69, 0x74, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x2c, 0x20, 0x28, 0x29, - 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x72, - 0x22, 0x28, 0x75, 0x30, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x29, - 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x75, 0x30, 0x3b, - 0x0a, 0x7d, 0x0a, 0x0a, 0x65, 0x6e, 0x75, 0x6d, 0x20, 0x4c, 0x43, 0x48, 0x69, 0x74, 0x54, 0x79, - 0x70, 0x65, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x20, 0x3a, 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x69, - 0x6e, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x4c, 0x43, 0x5f, 0x48, 0x49, 0x54, 0x5f, - 0x54, 0x59, 0x50, 0x45, 0x5f, 0x50, 0x52, 0x45, 0x46, 0x49, 0x58, 0x5f, 0x54, 0x52, 0x49, 0x41, - 0x4e, 0x47, 0x4c, 0x45, 0x20, 0x3d, 0x20, 0x30, 0x78, 0x30, 0x75, 0x20, 0x3c, 0x3c, 0x20, 0x32, - 0x38, 0x75, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x4c, 0x43, 0x5f, 0x48, 0x49, 0x54, 0x5f, 0x54, - 0x59, 0x50, 0x45, 0x5f, 0x50, 0x52, 0x45, 0x46, 0x49, 0x58, 0x5f, 0x50, 0x52, 0x4f, 0x43, 0x45, - 0x44, 0x55, 0x52, 0x41, 0x4c, 0x20, 0x3d, 0x20, 0x30, 0x78, 0x31, 0x75, 0x20, 0x3c, 0x3c, 0x20, - 0x32, 0x38, 0x75, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x4c, 0x43, 0x5f, 0x48, 0x49, 0x54, 0x5f, - 0x54, 0x59, 0x50, 0x45, 0x5f, 0x50, 0x52, 0x45, 0x46, 0x49, 0x58, 0x5f, 0x4d, 0x41, 0x53, 0x4b, - 0x20, 0x3d, 0x20, 0x30, 0x78, 0x66, 0x75, 0x20, 0x3c, 0x3c, 0x20, 0x32, 0x38, 0x75, 0x2c, 0x0a, - 0x7d, 0x3b, 0x0a, 0x0a, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x20, 0x4c, 0x43, 0x52, 0x61, 0x79, - 0x51, 0x75, 0x65, 0x72, 0x79, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x4c, 0x43, 0x41, 0x63, - 0x63, 0x65, 0x6c, 0x20, 0x61, 0x63, 0x63, 0x65, 0x6c, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x4c, - 0x43, 0x52, 0x61, 0x79, 0x20, 0x72, 0x61, 0x79, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, - 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x74, 0x69, 0x6d, 0x65, 0x3b, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x20, 0x6d, 0x61, 0x73, 0x6b, 0x3b, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x20, 0x66, 0x6c, 0x61, 0x67, 0x73, - 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x4c, 0x43, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, - 0x64, 0x48, 0x69, 0x74, 0x20, 0x68, 0x69, 0x74, 0x3b, 0x0a, 0x7d, 0x3b, 0x0a, 0x0a, 0x75, 0x73, - 0x69, 0x6e, 0x67, 0x20, 0x4c, 0x43, 0x52, 0x61, 0x79, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x6c, - 0x6c, 0x20, 0x3d, 0x20, 0x4c, 0x43, 0x52, 0x61, 0x79, 0x51, 0x75, 0x65, 0x72, 0x79, 0x3b, 0x0a, + 0x72, 0x64, 0x5d, 0x5d, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x6c, 0x63, 0x5f, 0x62, 0x6c, 0x6f, + 0x63, 0x6b, 0x5f, 0x69, 0x64, 0x28, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, + 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x6c, 0x63, + 0x5f, 0x64, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x69, 0x64, 0x28, 0x29, 0x20, 0x2f, + 0x20, 0x6c, 0x63, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x28, 0x29, + 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x5b, 0x5b, 0x6e, 0x6f, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, + 0x5d, 0x5d, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x6c, 0x63, 0x5f, 0x67, 0x65, 0x74, 0x5f, 0x68, + 0x69, 0x74, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x28, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, + 0x70, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x75, 0x30, + 0x20, 0x3d, 0x20, 0x30, 0x75, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, + 0x63, 0x61, 0x6c, 0x6c, 0x20, 0x28, 0x25, 0x30, 0x29, 0x2c, 0x20, 0x5f, 0x6f, 0x70, 0x74, 0x69, + 0x78, 0x5f, 0x67, 0x65, 0x74, 0x5f, 0x68, 0x69, 0x74, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x2c, 0x20, + 0x28, 0x29, 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, + 0x3d, 0x72, 0x22, 0x28, 0x75, 0x30, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x3a, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x75, + 0x30, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x65, 0x6e, 0x75, 0x6d, 0x20, 0x4c, 0x43, 0x48, 0x69, 0x74, + 0x54, 0x79, 0x70, 0x65, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x20, 0x3a, 0x20, 0x6c, 0x63, 0x5f, + 0x75, 0x69, 0x6e, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x4c, 0x43, 0x5f, 0x48, 0x49, + 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x50, 0x52, 0x45, 0x46, 0x49, 0x58, 0x5f, 0x54, 0x52, + 0x49, 0x41, 0x4e, 0x47, 0x4c, 0x45, 0x20, 0x3d, 0x20, 0x30, 0x78, 0x30, 0x75, 0x20, 0x3c, 0x3c, + 0x20, 0x32, 0x38, 0x75, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x4c, 0x43, 0x5f, 0x48, 0x49, 0x54, + 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x50, 0x52, 0x45, 0x46, 0x49, 0x58, 0x5f, 0x50, 0x52, 0x4f, + 0x43, 0x45, 0x44, 0x55, 0x52, 0x41, 0x4c, 0x20, 0x3d, 0x20, 0x30, 0x78, 0x31, 0x75, 0x20, 0x3c, + 0x3c, 0x20, 0x32, 0x38, 0x75, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x4c, 0x43, 0x5f, 0x48, 0x49, + 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x50, 0x52, 0x45, 0x46, 0x49, 0x58, 0x5f, 0x4d, 0x41, + 0x53, 0x4b, 0x20, 0x3d, 0x20, 0x30, 0x78, 0x66, 0x75, 0x20, 0x3c, 0x3c, 0x20, 0x32, 0x38, 0x75, + 0x2c, 0x0a, 0x7d, 0x3b, 0x0a, 0x0a, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x20, 0x4c, 0x43, 0x52, + 0x61, 0x79, 0x51, 0x75, 0x65, 0x72, 0x79, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x4c, 0x43, + 0x41, 0x63, 0x63, 0x65, 0x6c, 0x20, 0x61, 0x63, 0x63, 0x65, 0x6c, 0x3b, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x4c, 0x43, 0x52, 0x61, 0x79, 0x20, 0x72, 0x61, 0x79, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x6c, 0x63, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x74, 0x69, 0x6d, 0x65, 0x3b, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x20, 0x6d, 0x61, 0x73, 0x6b, 0x3b, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x20, 0x66, 0x6c, 0x61, + 0x67, 0x73, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x4c, 0x43, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, + 0x74, 0x65, 0x64, 0x48, 0x69, 0x74, 0x20, 0x68, 0x69, 0x74, 0x3b, 0x0a, 0x7d, 0x3b, 0x0a, 0x0a, 0x75, 0x73, 0x69, 0x6e, 0x67, 0x20, 0x4c, 0x43, 0x52, 0x61, 0x79, 0x51, 0x75, 0x65, 0x72, 0x79, - 0x41, 0x6e, 0x79, 0x20, 0x3d, 0x20, 0x4c, 0x43, 0x52, 0x61, 0x79, 0x51, 0x75, 0x65, 0x72, 0x79, - 0x3b, 0x0a, 0x0a, 0x5b, 0x5b, 0x6e, 0x6f, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x5d, 0x5d, - 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x6c, 0x63, 0x5f, - 0x72, 0x61, 0x79, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x64, 0x65, 0x63, 0x6f, 0x64, 0x65, - 0x5f, 0x68, 0x69, 0x74, 0x28, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, - 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x68, 0x69, 0x74, 0x20, 0x3d, - 0x20, 0x5b, 0x5d, 0x20, 0x7b, 0x2f, 0x2f, 0x20, 0x66, 0x6f, 0x75, 0x6e, 0x64, 0x20, 0x63, 0x6c, - 0x6f, 0x73, 0x65, 0x73, 0x74, 0x20, 0x68, 0x69, 0x74, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x69, 0x6e, 0x73, 0x74, 0x20, 0x3d, 0x20, 0x6c, 0x63, - 0x5f, 0x68, 0x69, 0x74, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x6e, 0x73, 0x74, - 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x28, 0x29, 0x3b, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x70, 0x72, 0x69, 0x6d, 0x20, - 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x68, 0x69, 0x74, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, - 0x70, 0x72, 0x69, 0x6d, 0x69, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x28, - 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, - 0x68, 0x69, 0x74, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x68, 0x69, - 0x74, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x68, 0x69, 0x74, 0x5f, 0x6b, 0x69, 0x6e, - 0x64, 0x28, 0x29, 0x3b, 0x0a, 0x23, 0x69, 0x66, 0x64, 0x65, 0x66, 0x20, 0x4c, 0x55, 0x49, 0x53, - 0x41, 0x5f, 0x45, 0x4e, 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x4f, 0x50, 0x54, 0x49, 0x58, 0x5f, 0x43, - 0x55, 0x52, 0x56, 0x45, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x61, 0x75, 0x74, - 0x6f, 0x20, 0x62, 0x61, 0x72, 0x79, 0x20, 0x3d, 0x20, 0x68, 0x69, 0x74, 0x5f, 0x6b, 0x69, 0x6e, - 0x64, 0x20, 0x3d, 0x3d, 0x20, 0x4c, 0x43, 0x5f, 0x48, 0x49, 0x54, 0x5f, 0x4b, 0x49, 0x4e, 0x44, - 0x5f, 0x54, 0x52, 0x49, 0x41, 0x4e, 0x47, 0x4c, 0x45, 0x5f, 0x46, 0x52, 0x4f, 0x4e, 0x54, 0x5f, - 0x46, 0x41, 0x43, 0x45, 0x20, 0x7c, 0x7c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x68, 0x69, 0x74, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x20, 0x3d, 0x3d, 0x20, + 0x41, 0x6c, 0x6c, 0x20, 0x3d, 0x20, 0x4c, 0x43, 0x52, 0x61, 0x79, 0x51, 0x75, 0x65, 0x72, 0x79, + 0x3b, 0x0a, 0x75, 0x73, 0x69, 0x6e, 0x67, 0x20, 0x4c, 0x43, 0x52, 0x61, 0x79, 0x51, 0x75, 0x65, + 0x72, 0x79, 0x41, 0x6e, 0x79, 0x20, 0x3d, 0x20, 0x4c, 0x43, 0x52, 0x61, 0x79, 0x51, 0x75, 0x65, + 0x72, 0x79, 0x3b, 0x0a, 0x0a, 0x5b, 0x5b, 0x6e, 0x6f, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, + 0x5d, 0x5d, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x6c, 0x63, 0x5f, 0x72, 0x61, 0x79, 0x5f, 0x71, + 0x75, 0x65, 0x72, 0x79, 0x5f, 0x64, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x5f, 0x68, 0x69, 0x74, 0x28, + 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x68, 0x69, 0x74, 0x20, 0x3d, 0x20, 0x5b, 0x5d, 0x20, 0x7b, + 0x2f, 0x2f, 0x20, 0x66, 0x6f, 0x75, 0x6e, 0x64, 0x20, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x73, 0x74, + 0x20, 0x68, 0x69, 0x74, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x61, 0x75, 0x74, + 0x6f, 0x20, 0x69, 0x6e, 0x73, 0x74, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x68, 0x69, 0x74, 0x5f, + 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, + 0x69, 0x6e, 0x64, 0x65, 0x78, 0x28, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x70, 0x72, 0x69, 0x6d, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, + 0x68, 0x69, 0x74, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x70, 0x72, 0x69, 0x6d, 0x69, + 0x74, 0x69, 0x76, 0x65, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x28, 0x29, 0x3b, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x68, 0x69, 0x74, 0x5f, 0x6b, + 0x69, 0x6e, 0x64, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x68, 0x69, 0x74, 0x5f, 0x6f, 0x62, 0x6a, + 0x65, 0x63, 0x74, 0x5f, 0x68, 0x69, 0x74, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x28, 0x29, 0x3b, 0x0a, + 0x23, 0x69, 0x66, 0x64, 0x65, 0x66, 0x20, 0x4c, 0x55, 0x49, 0x53, 0x41, 0x5f, 0x45, 0x4e, 0x41, + 0x42, 0x4c, 0x45, 0x5f, 0x4f, 0x50, 0x54, 0x49, 0x58, 0x5f, 0x43, 0x55, 0x52, 0x56, 0x45, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x62, 0x61, 0x72, + 0x79, 0x20, 0x3d, 0x20, 0x68, 0x69, 0x74, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x20, 0x3d, 0x3d, 0x20, 0x4c, 0x43, 0x5f, 0x48, 0x49, 0x54, 0x5f, 0x4b, 0x49, 0x4e, 0x44, 0x5f, 0x54, 0x52, 0x49, 0x41, - 0x4e, 0x47, 0x4c, 0x45, 0x5f, 0x42, 0x41, 0x43, 0x4b, 0x5f, 0x46, 0x41, 0x43, 0x45, 0x20, 0x3f, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x68, 0x69, 0x74, 0x5f, - 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x74, 0x72, 0x69, 0x61, 0x6e, 0x67, 0x6c, 0x65, 0x5f, - 0x62, 0x61, 0x72, 0x79, 0x28, 0x29, 0x20, 0x3a, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x4e, 0x47, 0x4c, 0x45, 0x5f, 0x46, 0x52, 0x4f, 0x4e, 0x54, 0x5f, 0x46, 0x41, 0x43, 0x45, 0x20, + 0x7c, 0x7c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x68, + 0x69, 0x74, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x20, 0x3d, 0x3d, 0x20, 0x4c, 0x43, 0x5f, 0x48, 0x49, + 0x54, 0x5f, 0x4b, 0x49, 0x4e, 0x44, 0x5f, 0x54, 0x52, 0x49, 0x41, 0x4e, 0x47, 0x4c, 0x45, 0x5f, + 0x42, 0x41, 0x43, 0x4b, 0x5f, 0x46, 0x41, 0x43, 0x45, 0x20, 0x3f, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x6c, 0x63, 0x5f, 0x6d, 0x61, 0x6b, 0x65, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x32, 0x28, - 0x6c, 0x63, 0x5f, 0x68, 0x69, 0x74, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x63, 0x75, - 0x72, 0x76, 0x65, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x28, 0x29, 0x2c, - 0x20, 0x2d, 0x31, 0x2e, 0x66, 0x29, 0x3b, 0x0a, 0x23, 0x65, 0x6c, 0x73, 0x65, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x62, 0x61, 0x72, 0x79, 0x20, - 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x68, 0x69, 0x74, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, - 0x74, 0x72, 0x69, 0x61, 0x6e, 0x67, 0x6c, 0x65, 0x5f, 0x62, 0x61, 0x72, 0x79, 0x28, 0x29, 0x3b, - 0x0a, 0x23, 0x65, 0x6e, 0x64, 0x69, 0x66, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x61, 0x75, 0x74, 0x6f, 0x20, 0x6b, 0x69, 0x6e, 0x64, 0x20, 0x3d, 0x20, 0x68, 0x69, 0x74, 0x5f, - 0x6b, 0x69, 0x6e, 0x64, 0x20, 0x3e, 0x20, 0x31, 0x32, 0x37, 0x75, 0x20, 0x3f, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x5f, 0x63, 0x61, 0x73, - 0x74, 0x3c, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x3e, 0x28, 0x4c, 0x43, 0x48, 0x69, 0x74, - 0x54, 0x79, 0x70, 0x65, 0x3a, 0x3a, 0x42, 0x55, 0x49, 0x4c, 0x54, 0x49, 0x4e, 0x29, 0x20, 0x3a, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x5f, - 0x63, 0x61, 0x73, 0x74, 0x3c, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x3e, 0x28, 0x4c, 0x43, - 0x48, 0x69, 0x74, 0x54, 0x79, 0x70, 0x65, 0x3a, 0x3a, 0x50, 0x52, 0x4f, 0x43, 0x45, 0x44, 0x55, - 0x52, 0x41, 0x4c, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x61, 0x75, - 0x74, 0x6f, 0x20, 0x64, 0x69, 0x73, 0x74, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x68, 0x69, 0x74, - 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x72, 0x61, 0x79, 0x5f, 0x74, 0x5f, 0x6d, 0x61, - 0x78, 0x28, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, - 0x75, 0x72, 0x6e, 0x20, 0x4c, 0x43, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x64, 0x48, - 0x69, 0x74, 0x7b, 0x69, 0x6e, 0x73, 0x74, 0x2c, 0x20, 0x70, 0x72, 0x69, 0x6d, 0x2c, 0x20, 0x62, - 0x61, 0x72, 0x79, 0x2c, 0x20, 0x6b, 0x69, 0x6e, 0x64, 0x2c, 0x20, 0x64, 0x69, 0x73, 0x74, 0x7d, - 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x28, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, - 0x75, 0x74, 0x6f, 0x20, 0x69, 0x73, 0x5f, 0x68, 0x69, 0x74, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, - 0x68, 0x69, 0x74, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x73, 0x5f, 0x68, 0x69, - 0x74, 0x28, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x68, 0x69, 0x74, 0x5f, - 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x65, 0x74, 0x28, 0x29, 0x3b, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x68, 0x69, 0x74, 0x2e, 0x6d, 0x30, 0x20, 0x3d, 0x20, 0x69, 0x73, 0x5f, - 0x68, 0x69, 0x74, 0x20, 0x3f, 0x20, 0x68, 0x69, 0x74, 0x2e, 0x6d, 0x30, 0x20, 0x3a, 0x20, 0x7e, - 0x30, 0x75, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x68, 0x69, 0x74, 0x2e, 0x6d, 0x33, 0x20, 0x3d, - 0x20, 0x69, 0x73, 0x5f, 0x68, 0x69, 0x74, 0x20, 0x3f, 0x20, 0x68, 0x69, 0x74, 0x2e, 0x6d, 0x33, - 0x20, 0x3a, 0x20, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x6c, - 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x3e, 0x28, 0x4c, 0x43, 0x48, 0x69, 0x74, 0x54, 0x79, 0x70, - 0x65, 0x3a, 0x3a, 0x4d, 0x49, 0x53, 0x53, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, - 0x74, 0x75, 0x72, 0x6e, 0x20, 0x68, 0x69, 0x74, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x69, 0x6e, 0x6c, - 0x69, 0x6e, 0x65, 0x20, 0x76, 0x6f, 0x69, 0x64, 0x20, 0x6c, 0x63, 0x5f, 0x72, 0x61, 0x79, 0x5f, - 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x28, 0x4c, 0x43, 0x52, 0x61, - 0x79, 0x51, 0x75, 0x65, 0x72, 0x79, 0x20, 0x26, 0x71, 0x2c, 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x69, - 0x6e, 0x74, 0x20, 0x69, 0x6d, 0x70, 0x6c, 0x5f, 0x74, 0x61, 0x67, 0x2c, 0x20, 0x76, 0x6f, 0x69, - 0x64, 0x20, 0x2a, 0x63, 0x74, 0x78, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, - 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x70, 0x5f, 0x63, 0x74, - 0x78, 0x20, 0x3d, 0x20, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, - 0x63, 0x61, 0x73, 0x74, 0x3c, 0x6c, 0x63, 0x5f, 0x75, 0x6c, 0x6f, 0x6e, 0x67, 0x3e, 0x28, 0x63, - 0x74, 0x78, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x72, 0x30, - 0x20, 0x3d, 0x20, 0x28, 0x69, 0x6d, 0x70, 0x6c, 0x5f, 0x74, 0x61, 0x67, 0x20, 0x3c, 0x3c, 0x20, - 0x32, 0x34, 0x75, 0x29, 0x20, 0x7c, 0x20, 0x28, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x5f, 0x63, - 0x61, 0x73, 0x74, 0x3c, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x3e, 0x28, 0x70, 0x5f, 0x63, - 0x74, 0x78, 0x20, 0x3e, 0x3e, 0x20, 0x33, 0x32, 0x75, 0x29, 0x20, 0x26, 0x20, 0x30, 0x78, 0x66, - 0x66, 0x66, 0x66, 0x66, 0x66, 0x75, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x75, 0x74, - 0x6f, 0x20, 0x72, 0x31, 0x20, 0x3d, 0x20, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x5f, 0x63, 0x61, - 0x73, 0x74, 0x3c, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x3e, 0x28, 0x70, 0x5f, 0x63, 0x74, - 0x78, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x74, 0x72, 0x61, 0x76, 0x65, - 0x72, 0x73, 0x65, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x72, 0x61, 0x79, 0x5f, 0x74, - 0x72, 0x61, 0x76, 0x65, 0x72, 0x73, 0x65, 0x3c, 0x4c, 0x43, 0x5f, 0x50, 0x41, 0x59, 0x4c, 0x4f, - 0x41, 0x44, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x51, 0x55, 0x45, 0x52, - 0x59, 0x2c, 0x20, 0x35, 0x75, 0x2c, 0x20, 0x32, 0x75, 0x3e, 0x28, 0x71, 0x2e, 0x66, 0x6c, 0x61, - 0x67, 0x73, 0x2c, 0x20, 0x71, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x6c, 0x2c, 0x20, 0x71, 0x2e, 0x72, - 0x61, 0x79, 0x2c, 0x20, 0x71, 0x2e, 0x74, 0x69, 0x6d, 0x65, 0x2c, 0x20, 0x71, 0x2e, 0x6d, 0x61, - 0x73, 0x6b, 0x2c, 0x20, 0x72, 0x30, 0x2c, 0x20, 0x72, 0x31, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x71, 0x2e, 0x68, 0x69, 0x74, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x72, 0x61, 0x79, 0x5f, - 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x64, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x5f, 0x68, 0x69, 0x74, - 0x28, 0x29, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x5b, 0x5b, 0x6e, 0x6f, 0x64, 0x69, 0x73, 0x63, 0x61, - 0x72, 0x64, 0x5d, 0x5d, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x61, 0x75, 0x74, 0x6f, - 0x20, 0x6c, 0x63, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x6c, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, - 0x61, 0x6c, 0x6c, 0x28, 0x4c, 0x43, 0x41, 0x63, 0x63, 0x65, 0x6c, 0x20, 0x61, 0x63, 0x63, 0x65, - 0x6c, 0x2c, 0x20, 0x4c, 0x43, 0x52, 0x61, 0x79, 0x20, 0x72, 0x61, 0x79, 0x2c, 0x20, 0x6c, 0x63, - 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x20, 0x6d, 0x61, 0x73, 0x6b, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, - 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, - 0x65, 0x78, 0x70, 0x72, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x20, - 0x3d, 0x20, 0x4c, 0x43, 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x46, 0x4c, 0x41, 0x47, 0x5f, 0x44, 0x49, - 0x53, 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x43, 0x4c, 0x4f, 0x53, 0x45, 0x53, 0x54, 0x48, 0x49, 0x54, - 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x4c, 0x43, 0x52, - 0x61, 0x79, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x6c, 0x6c, 0x7b, 0x61, 0x63, 0x63, 0x65, 0x6c, - 0x2c, 0x20, 0x72, 0x61, 0x79, 0x2c, 0x20, 0x30, 0x2e, 0x66, 0x2c, 0x20, 0x6d, 0x61, 0x73, 0x6b, - 0x2c, 0x20, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x2c, 0x20, 0x4c, 0x43, 0x43, 0x6f, 0x6d, 0x6d, 0x69, - 0x74, 0x74, 0x65, 0x64, 0x48, 0x69, 0x74, 0x7b, 0x7d, 0x7d, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x5b, - 0x5b, 0x6e, 0x6f, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x5d, 0x5d, 0x20, 0x69, 0x6e, 0x6c, - 0x69, 0x6e, 0x65, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x6c, 0x63, 0x5f, 0x61, 0x63, 0x63, 0x65, - 0x6c, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x61, 0x6e, 0x79, 0x28, 0x4c, 0x43, 0x41, 0x63, + 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x68, 0x69, 0x74, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, + 0x74, 0x5f, 0x74, 0x72, 0x69, 0x61, 0x6e, 0x67, 0x6c, 0x65, 0x5f, 0x62, 0x61, 0x72, 0x79, 0x28, + 0x29, 0x20, 0x3a, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x6d, + 0x61, 0x6b, 0x65, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x32, 0x28, 0x6c, 0x63, 0x5f, 0x68, 0x69, + 0x74, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x63, 0x75, 0x72, 0x76, 0x65, 0x5f, 0x70, + 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x28, 0x29, 0x2c, 0x20, 0x2d, 0x31, 0x2e, 0x66, + 0x29, 0x3b, 0x0a, 0x23, 0x65, 0x6c, 0x73, 0x65, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x62, 0x61, 0x72, 0x79, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, + 0x68, 0x69, 0x74, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x74, 0x72, 0x69, 0x61, 0x6e, + 0x67, 0x6c, 0x65, 0x5f, 0x62, 0x61, 0x72, 0x79, 0x28, 0x29, 0x3b, 0x0a, 0x23, 0x65, 0x6e, 0x64, + 0x69, 0x66, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, + 0x6b, 0x69, 0x6e, 0x64, 0x20, 0x3d, 0x20, 0x68, 0x69, 0x74, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x20, + 0x3e, 0x20, 0x31, 0x32, 0x37, 0x75, 0x20, 0x3f, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x6c, 0x63, 0x5f, + 0x75, 0x69, 0x6e, 0x74, 0x3e, 0x28, 0x4c, 0x43, 0x48, 0x69, 0x74, 0x54, 0x79, 0x70, 0x65, 0x3a, + 0x3a, 0x42, 0x55, 0x49, 0x4c, 0x54, 0x49, 0x4e, 0x29, 0x20, 0x3a, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, + 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x3e, 0x28, 0x4c, 0x43, 0x48, 0x69, 0x74, 0x54, 0x79, + 0x70, 0x65, 0x3a, 0x3a, 0x50, 0x52, 0x4f, 0x43, 0x45, 0x44, 0x55, 0x52, 0x41, 0x4c, 0x29, 0x3b, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x64, 0x69, + 0x73, 0x74, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x68, 0x69, 0x74, 0x5f, 0x6f, 0x62, 0x6a, 0x65, + 0x63, 0x74, 0x5f, 0x72, 0x61, 0x79, 0x5f, 0x74, 0x5f, 0x6d, 0x61, 0x78, 0x28, 0x29, 0x3b, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x4c, + 0x43, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x64, 0x48, 0x69, 0x74, 0x7b, 0x69, 0x6e, + 0x73, 0x74, 0x2c, 0x20, 0x70, 0x72, 0x69, 0x6d, 0x2c, 0x20, 0x62, 0x61, 0x72, 0x79, 0x2c, 0x20, + 0x6b, 0x69, 0x6e, 0x64, 0x2c, 0x20, 0x64, 0x69, 0x73, 0x74, 0x7d, 0x3b, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x7d, 0x28, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x69, + 0x73, 0x5f, 0x68, 0x69, 0x74, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x68, 0x69, 0x74, 0x5f, 0x6f, + 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x73, 0x5f, 0x68, 0x69, 0x74, 0x28, 0x29, 0x3b, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x68, 0x69, 0x74, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, + 0x74, 0x5f, 0x72, 0x65, 0x73, 0x65, 0x74, 0x28, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x68, + 0x69, 0x74, 0x2e, 0x6d, 0x30, 0x20, 0x3d, 0x20, 0x69, 0x73, 0x5f, 0x68, 0x69, 0x74, 0x20, 0x3f, + 0x20, 0x68, 0x69, 0x74, 0x2e, 0x6d, 0x30, 0x20, 0x3a, 0x20, 0x7e, 0x30, 0x75, 0x3b, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x68, 0x69, 0x74, 0x2e, 0x6d, 0x33, 0x20, 0x3d, 0x20, 0x69, 0x73, 0x5f, 0x68, + 0x69, 0x74, 0x20, 0x3f, 0x20, 0x68, 0x69, 0x74, 0x2e, 0x6d, 0x33, 0x20, 0x3a, 0x20, 0x73, 0x74, + 0x61, 0x74, 0x69, 0x63, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, + 0x74, 0x3e, 0x28, 0x4c, 0x43, 0x48, 0x69, 0x74, 0x54, 0x79, 0x70, 0x65, 0x3a, 0x3a, 0x4d, 0x49, + 0x53, 0x53, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, + 0x68, 0x69, 0x74, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x76, 0x6f, 0x69, 0x64, 0x20, 0x6c, 0x63, 0x5f, + 0x72, 0x61, 0x79, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x28, + 0x4c, 0x43, 0x52, 0x61, 0x79, 0x51, 0x75, 0x65, 0x72, 0x79, 0x20, 0x26, 0x71, 0x2c, 0x20, 0x6c, + 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x20, 0x69, 0x6d, 0x70, 0x6c, 0x5f, 0x74, 0x61, 0x67, 0x2c, + 0x20, 0x76, 0x6f, 0x69, 0x64, 0x20, 0x2a, 0x63, 0x74, 0x78, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, + 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, + 0x70, 0x5f, 0x63, 0x74, 0x78, 0x20, 0x3d, 0x20, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, + 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x6c, 0x63, 0x5f, 0x75, 0x6c, 0x6f, 0x6e, + 0x67, 0x3e, 0x28, 0x63, 0x74, 0x78, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x75, 0x74, + 0x6f, 0x20, 0x72, 0x30, 0x20, 0x3d, 0x20, 0x28, 0x69, 0x6d, 0x70, 0x6c, 0x5f, 0x74, 0x61, 0x67, + 0x20, 0x3c, 0x3c, 0x20, 0x32, 0x34, 0x75, 0x29, 0x20, 0x7c, 0x20, 0x28, 0x73, 0x74, 0x61, 0x74, + 0x69, 0x63, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x3e, + 0x28, 0x70, 0x5f, 0x63, 0x74, 0x78, 0x20, 0x3e, 0x3e, 0x20, 0x33, 0x32, 0x75, 0x29, 0x20, 0x26, + 0x20, 0x30, 0x78, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x75, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x72, 0x31, 0x20, 0x3d, 0x20, 0x73, 0x74, 0x61, 0x74, 0x69, + 0x63, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x3e, 0x28, + 0x70, 0x5f, 0x63, 0x74, 0x78, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x74, + 0x72, 0x61, 0x76, 0x65, 0x72, 0x73, 0x65, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x72, + 0x61, 0x79, 0x5f, 0x74, 0x72, 0x61, 0x76, 0x65, 0x72, 0x73, 0x65, 0x3c, 0x4c, 0x43, 0x5f, 0x50, + 0x41, 0x59, 0x4c, 0x4f, 0x41, 0x44, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x52, 0x41, 0x59, 0x5f, + 0x51, 0x55, 0x45, 0x52, 0x59, 0x2c, 0x20, 0x35, 0x75, 0x2c, 0x20, 0x32, 0x75, 0x3e, 0x28, 0x71, + 0x2e, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x2c, 0x20, 0x71, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x6c, 0x2c, + 0x20, 0x71, 0x2e, 0x72, 0x61, 0x79, 0x2c, 0x20, 0x71, 0x2e, 0x74, 0x69, 0x6d, 0x65, 0x2c, 0x20, + 0x71, 0x2e, 0x6d, 0x61, 0x73, 0x6b, 0x2c, 0x20, 0x72, 0x30, 0x2c, 0x20, 0x72, 0x31, 0x29, 0x3b, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x71, 0x2e, 0x68, 0x69, 0x74, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, + 0x72, 0x61, 0x79, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x64, 0x65, 0x63, 0x6f, 0x64, 0x65, + 0x5f, 0x68, 0x69, 0x74, 0x28, 0x29, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x5b, 0x5b, 0x6e, 0x6f, 0x64, + 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x5d, 0x5d, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x6c, 0x63, + 0x5f, 0x61, 0x63, 0x63, 0x65, 0x6c, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x61, 0x6c, 0x6c, + 0x28, 0x4c, 0x43, 0x41, 0x63, 0x63, 0x65, 0x6c, 0x20, 0x61, 0x63, 0x63, 0x65, 0x6c, 0x2c, 0x20, + 0x4c, 0x43, 0x52, 0x61, 0x79, 0x20, 0x72, 0x61, 0x79, 0x2c, 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x69, + 0x6e, 0x74, 0x20, 0x6d, 0x61, 0x73, 0x6b, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, + 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x78, 0x70, + 0x72, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x20, 0x3d, 0x20, 0x4c, + 0x43, 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x46, 0x4c, 0x41, 0x47, 0x5f, 0x44, 0x49, 0x53, 0x41, 0x42, + 0x4c, 0x45, 0x5f, 0x43, 0x4c, 0x4f, 0x53, 0x45, 0x53, 0x54, 0x48, 0x49, 0x54, 0x3b, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x4c, 0x43, 0x52, 0x61, 0x79, 0x51, + 0x75, 0x65, 0x72, 0x79, 0x41, 0x6c, 0x6c, 0x7b, 0x61, 0x63, 0x63, 0x65, 0x6c, 0x2c, 0x20, 0x72, + 0x61, 0x79, 0x2c, 0x20, 0x30, 0x2e, 0x66, 0x2c, 0x20, 0x6d, 0x61, 0x73, 0x6b, 0x2c, 0x20, 0x66, + 0x6c, 0x61, 0x67, 0x73, 0x2c, 0x20, 0x4c, 0x43, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, + 0x64, 0x48, 0x69, 0x74, 0x7b, 0x7d, 0x7d, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x5b, 0x5b, 0x6e, 0x6f, + 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x5d, 0x5d, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x6c, + 0x63, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x6c, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x61, 0x6e, + 0x79, 0x28, 0x4c, 0x43, 0x41, 0x63, 0x63, 0x65, 0x6c, 0x20, 0x61, 0x63, 0x63, 0x65, 0x6c, 0x2c, + 0x20, 0x4c, 0x43, 0x52, 0x61, 0x79, 0x20, 0x72, 0x61, 0x79, 0x2c, 0x20, 0x6c, 0x63, 0x5f, 0x75, + 0x69, 0x6e, 0x74, 0x20, 0x6d, 0x61, 0x73, 0x6b, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, + 0x70, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x78, + 0x70, 0x72, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x20, 0x3d, 0x20, + 0x4c, 0x43, 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x46, 0x4c, 0x41, 0x47, 0x5f, 0x54, 0x45, 0x52, 0x4d, + 0x49, 0x4e, 0x41, 0x54, 0x45, 0x5f, 0x4f, 0x4e, 0x5f, 0x46, 0x49, 0x52, 0x53, 0x54, 0x5f, 0x48, + 0x49, 0x54, 0x20, 0x7c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x4c, 0x43, 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x46, 0x4c, 0x41, 0x47, 0x5f, 0x44, 0x49, 0x53, 0x41, + 0x42, 0x4c, 0x45, 0x5f, 0x43, 0x4c, 0x4f, 0x53, 0x45, 0x53, 0x54, 0x48, 0x49, 0x54, 0x3b, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x4c, 0x43, 0x52, 0x61, 0x79, + 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x6e, 0x79, 0x7b, 0x61, 0x63, 0x63, 0x65, 0x6c, 0x2c, 0x20, + 0x72, 0x61, 0x79, 0x2c, 0x20, 0x30, 0x2e, 0x66, 0x2c, 0x20, 0x6d, 0x61, 0x73, 0x6b, 0x2c, 0x20, + 0x66, 0x6c, 0x61, 0x67, 0x73, 0x2c, 0x20, 0x4c, 0x43, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, + 0x65, 0x64, 0x48, 0x69, 0x74, 0x7b, 0x7d, 0x7d, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x5b, 0x5b, 0x6e, + 0x6f, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x5d, 0x5d, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, + 0x6c, 0x63, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x6c, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x61, + 0x6c, 0x6c, 0x5f, 0x6d, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x62, 0x6c, 0x75, 0x72, 0x28, 0x4c, + 0x43, 0x41, 0x63, 0x63, 0x65, 0x6c, 0x20, 0x61, 0x63, 0x63, 0x65, 0x6c, 0x2c, 0x20, 0x4c, 0x43, + 0x52, 0x61, 0x79, 0x20, 0x72, 0x61, 0x79, 0x2c, 0x20, 0x6c, 0x63, 0x5f, 0x66, 0x6c, 0x6f, 0x61, + 0x74, 0x20, 0x74, 0x69, 0x6d, 0x65, 0x2c, 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x20, + 0x6d, 0x61, 0x73, 0x6b, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x78, 0x70, 0x72, 0x20, 0x61, + 0x75, 0x74, 0x6f, 0x20, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x20, 0x3d, 0x20, 0x4c, 0x43, 0x5f, 0x52, + 0x41, 0x59, 0x5f, 0x46, 0x4c, 0x41, 0x47, 0x5f, 0x44, 0x49, 0x53, 0x41, 0x42, 0x4c, 0x45, 0x5f, + 0x43, 0x4c, 0x4f, 0x53, 0x45, 0x53, 0x54, 0x48, 0x49, 0x54, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x4c, 0x43, 0x52, 0x61, 0x79, 0x51, 0x75, 0x65, 0x72, + 0x79, 0x41, 0x6c, 0x6c, 0x7b, 0x61, 0x63, 0x63, 0x65, 0x6c, 0x2c, 0x20, 0x72, 0x61, 0x79, 0x2c, + 0x20, 0x74, 0x69, 0x6d, 0x65, 0x2c, 0x20, 0x6d, 0x61, 0x73, 0x6b, 0x2c, 0x20, 0x66, 0x6c, 0x61, + 0x67, 0x73, 0x2c, 0x20, 0x4c, 0x43, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x64, 0x48, + 0x69, 0x74, 0x7b, 0x7d, 0x7d, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x5b, 0x5b, 0x6e, 0x6f, 0x64, 0x69, + 0x73, 0x63, 0x61, 0x72, 0x64, 0x5d, 0x5d, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x6c, 0x63, 0x5f, + 0x61, 0x63, 0x63, 0x65, 0x6c, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x61, 0x6e, 0x79, 0x5f, + 0x6d, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x62, 0x6c, 0x75, 0x72, 0x28, 0x4c, 0x43, 0x41, 0x63, 0x63, 0x65, 0x6c, 0x20, 0x61, 0x63, 0x63, 0x65, 0x6c, 0x2c, 0x20, 0x4c, 0x43, 0x52, 0x61, 0x79, - 0x20, 0x72, 0x61, 0x79, 0x2c, 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x20, 0x6d, 0x61, - 0x73, 0x6b, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x78, 0x70, 0x72, 0x20, 0x61, 0x75, 0x74, - 0x6f, 0x20, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x20, 0x3d, 0x20, 0x4c, 0x43, 0x5f, 0x52, 0x41, 0x59, - 0x5f, 0x46, 0x4c, 0x41, 0x47, 0x5f, 0x54, 0x45, 0x52, 0x4d, 0x49, 0x4e, 0x41, 0x54, 0x45, 0x5f, - 0x4f, 0x4e, 0x5f, 0x46, 0x49, 0x52, 0x53, 0x54, 0x5f, 0x48, 0x49, 0x54, 0x20, 0x7c, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x4c, 0x43, 0x5f, 0x52, 0x41, 0x59, - 0x5f, 0x46, 0x4c, 0x41, 0x47, 0x5f, 0x44, 0x49, 0x53, 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x43, 0x4c, - 0x4f, 0x53, 0x45, 0x53, 0x54, 0x48, 0x49, 0x54, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, - 0x74, 0x75, 0x72, 0x6e, 0x20, 0x4c, 0x43, 0x52, 0x61, 0x79, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, - 0x6e, 0x79, 0x7b, 0x61, 0x63, 0x63, 0x65, 0x6c, 0x2c, 0x20, 0x72, 0x61, 0x79, 0x2c, 0x20, 0x30, - 0x2e, 0x66, 0x2c, 0x20, 0x6d, 0x61, 0x73, 0x6b, 0x2c, 0x20, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x2c, + 0x20, 0x72, 0x61, 0x79, 0x2c, 0x20, 0x6c, 0x63, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x74, + 0x69, 0x6d, 0x65, 0x2c, 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x20, 0x6d, 0x61, 0x73, + 0x6b, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x78, 0x70, 0x72, 0x20, 0x61, 0x75, 0x74, 0x6f, + 0x20, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x20, 0x3d, 0x20, 0x4c, 0x43, 0x5f, 0x52, 0x41, 0x59, 0x5f, + 0x46, 0x4c, 0x41, 0x47, 0x5f, 0x54, 0x45, 0x52, 0x4d, 0x49, 0x4e, 0x41, 0x54, 0x45, 0x5f, 0x4f, + 0x4e, 0x5f, 0x46, 0x49, 0x52, 0x53, 0x54, 0x5f, 0x48, 0x49, 0x54, 0x20, 0x7c, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x4c, 0x43, 0x5f, 0x52, 0x41, 0x59, 0x5f, + 0x46, 0x4c, 0x41, 0x47, 0x5f, 0x44, 0x49, 0x53, 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x43, 0x4c, 0x4f, + 0x53, 0x45, 0x53, 0x54, 0x48, 0x49, 0x54, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, + 0x75, 0x72, 0x6e, 0x20, 0x4c, 0x43, 0x52, 0x61, 0x79, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x6e, + 0x79, 0x7b, 0x61, 0x63, 0x63, 0x65, 0x6c, 0x2c, 0x20, 0x72, 0x61, 0x79, 0x2c, 0x20, 0x74, 0x69, + 0x6d, 0x65, 0x2c, 0x20, 0x6d, 0x61, 0x73, 0x6b, 0x2c, 0x20, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x2c, 0x20, 0x4c, 0x43, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x64, 0x48, 0x69, 0x74, 0x7b, 0x7d, 0x7d, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x5b, 0x5b, 0x6e, 0x6f, 0x64, 0x69, 0x73, 0x63, 0x61, - 0x72, 0x64, 0x5d, 0x5d, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x61, 0x75, 0x74, 0x6f, - 0x20, 0x6c, 0x63, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x6c, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, - 0x61, 0x6c, 0x6c, 0x5f, 0x6d, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x62, 0x6c, 0x75, 0x72, 0x28, - 0x4c, 0x43, 0x41, 0x63, 0x63, 0x65, 0x6c, 0x20, 0x61, 0x63, 0x63, 0x65, 0x6c, 0x2c, 0x20, 0x4c, - 0x43, 0x52, 0x61, 0x79, 0x20, 0x72, 0x61, 0x79, 0x2c, 0x20, 0x6c, 0x63, 0x5f, 0x66, 0x6c, 0x6f, - 0x61, 0x74, 0x20, 0x74, 0x69, 0x6d, 0x65, 0x2c, 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, - 0x20, 0x6d, 0x61, 0x73, 0x6b, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, - 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x78, 0x70, 0x72, 0x20, - 0x61, 0x75, 0x74, 0x6f, 0x20, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x20, 0x3d, 0x20, 0x4c, 0x43, 0x5f, - 0x52, 0x41, 0x59, 0x5f, 0x46, 0x4c, 0x41, 0x47, 0x5f, 0x44, 0x49, 0x53, 0x41, 0x42, 0x4c, 0x45, - 0x5f, 0x43, 0x4c, 0x4f, 0x53, 0x45, 0x53, 0x54, 0x48, 0x49, 0x54, 0x3b, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x4c, 0x43, 0x52, 0x61, 0x79, 0x51, 0x75, 0x65, - 0x72, 0x79, 0x41, 0x6c, 0x6c, 0x7b, 0x61, 0x63, 0x63, 0x65, 0x6c, 0x2c, 0x20, 0x72, 0x61, 0x79, - 0x2c, 0x20, 0x74, 0x69, 0x6d, 0x65, 0x2c, 0x20, 0x6d, 0x61, 0x73, 0x6b, 0x2c, 0x20, 0x66, 0x6c, - 0x61, 0x67, 0x73, 0x2c, 0x20, 0x4c, 0x43, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x64, - 0x48, 0x69, 0x74, 0x7b, 0x7d, 0x7d, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x5b, 0x5b, 0x6e, 0x6f, 0x64, - 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x5d, 0x5d, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, - 0x61, 0x75, 0x74, 0x6f, 0x20, 0x6c, 0x63, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x6c, 0x5f, 0x71, 0x75, - 0x65, 0x72, 0x79, 0x5f, 0x61, 0x6e, 0x79, 0x5f, 0x6d, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x62, - 0x6c, 0x75, 0x72, 0x28, 0x4c, 0x43, 0x41, 0x63, 0x63, 0x65, 0x6c, 0x20, 0x61, 0x63, 0x63, 0x65, - 0x6c, 0x2c, 0x20, 0x4c, 0x43, 0x52, 0x61, 0x79, 0x20, 0x72, 0x61, 0x79, 0x2c, 0x20, 0x6c, 0x63, - 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x74, 0x69, 0x6d, 0x65, 0x2c, 0x20, 0x6c, 0x63, 0x5f, - 0x75, 0x69, 0x6e, 0x74, 0x20, 0x6d, 0x61, 0x73, 0x6b, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, - 0x65, 0x70, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x65, - 0x78, 0x70, 0x72, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x20, 0x3d, - 0x20, 0x4c, 0x43, 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x46, 0x4c, 0x41, 0x47, 0x5f, 0x54, 0x45, 0x52, - 0x4d, 0x49, 0x4e, 0x41, 0x54, 0x45, 0x5f, 0x4f, 0x4e, 0x5f, 0x46, 0x49, 0x52, 0x53, 0x54, 0x5f, - 0x48, 0x49, 0x54, 0x20, 0x7c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x4c, 0x43, 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x46, 0x4c, 0x41, 0x47, 0x5f, 0x44, 0x49, 0x53, - 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x43, 0x4c, 0x4f, 0x53, 0x45, 0x53, 0x54, 0x48, 0x49, 0x54, 0x3b, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x4c, 0x43, 0x52, 0x61, - 0x79, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x6e, 0x79, 0x7b, 0x61, 0x63, 0x63, 0x65, 0x6c, 0x2c, - 0x20, 0x72, 0x61, 0x79, 0x2c, 0x20, 0x74, 0x69, 0x6d, 0x65, 0x2c, 0x20, 0x6d, 0x61, 0x73, 0x6b, - 0x2c, 0x20, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x2c, 0x20, 0x4c, 0x43, 0x43, 0x6f, 0x6d, 0x6d, 0x69, - 0x74, 0x74, 0x65, 0x64, 0x48, 0x69, 0x74, 0x7b, 0x7d, 0x7d, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x5b, - 0x5b, 0x6e, 0x6f, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x5d, 0x5d, 0x20, 0x69, 0x6e, 0x6c, - 0x69, 0x6e, 0x65, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x6c, 0x63, 0x5f, 0x72, 0x61, 0x79, 0x5f, - 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x64, 0x5f, - 0x68, 0x69, 0x74, 0x28, 0x4c, 0x43, 0x52, 0x61, 0x79, 0x51, 0x75, 0x65, 0x72, 0x79, 0x20, 0x71, - 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x71, 0x2e, 0x68, 0x69, 0x74, 0x3b, 0x0a, 0x7d, - 0x0a, 0x0a, 0x5b, 0x5b, 0x6e, 0x6f, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x5d, 0x5d, 0x20, - 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x6c, 0x63, 0x5f, 0x72, - 0x61, 0x79, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x74, 0x72, 0x69, 0x61, 0x6e, 0x67, 0x6c, - 0x65, 0x5f, 0x63, 0x61, 0x6e, 0x64, 0x69, 0x64, 0x61, 0x74, 0x65, 0x28, 0x29, 0x20, 0x6e, 0x6f, - 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x75, 0x74, - 0x6f, 0x20, 0x69, 0x6e, 0x73, 0x74, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x67, 0x65, 0x74, 0x5f, - 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x28, 0x29, - 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x70, 0x72, 0x69, 0x6d, 0x20, - 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x67, 0x65, 0x74, 0x5f, 0x70, 0x72, 0x69, 0x6d, 0x69, 0x74, 0x69, - 0x76, 0x65, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x28, 0x29, 0x3b, 0x0a, 0x23, 0x69, 0x66, 0x64, - 0x65, 0x66, 0x20, 0x4c, 0x55, 0x49, 0x53, 0x41, 0x5f, 0x45, 0x4e, 0x41, 0x42, 0x4c, 0x45, 0x5f, - 0x4f, 0x50, 0x54, 0x49, 0x58, 0x5f, 0x43, 0x55, 0x52, 0x56, 0x45, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x61, 0x75, 0x74, 0x6f, 0x20, 0x6b, 0x69, 0x6e, 0x64, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x67, - 0x65, 0x74, 0x5f, 0x68, 0x69, 0x74, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x28, 0x29, 0x3b, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x62, 0x61, 0x72, 0x79, 0x20, 0x3d, 0x20, 0x6b, - 0x69, 0x6e, 0x64, 0x20, 0x3d, 0x3d, 0x20, 0x4c, 0x43, 0x5f, 0x48, 0x49, 0x54, 0x5f, 0x4b, 0x49, - 0x4e, 0x44, 0x5f, 0x54, 0x52, 0x49, 0x41, 0x4e, 0x47, 0x4c, 0x45, 0x5f, 0x46, 0x52, 0x4f, 0x4e, - 0x54, 0x5f, 0x46, 0x41, 0x43, 0x45, 0x20, 0x7c, 0x7c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x6b, 0x69, 0x6e, 0x64, 0x20, 0x3d, 0x3d, 0x20, 0x4c, 0x43, 0x5f, 0x48, 0x49, 0x54, - 0x5f, 0x4b, 0x49, 0x4e, 0x44, 0x5f, 0x54, 0x52, 0x49, 0x41, 0x4e, 0x47, 0x4c, 0x45, 0x5f, 0x42, - 0x41, 0x43, 0x4b, 0x5f, 0x46, 0x41, 0x43, 0x45, 0x20, 0x3f, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, - 0x63, 0x5f, 0x67, 0x65, 0x74, 0x5f, 0x62, 0x61, 0x72, 0x79, 0x5f, 0x63, 0x6f, 0x6f, 0x72, 0x64, - 0x73, 0x28, 0x29, 0x20, 0x3a, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x6d, 0x61, 0x6b, - 0x65, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x32, 0x28, 0x6c, 0x63, 0x5f, 0x67, 0x65, 0x74, 0x5f, - 0x63, 0x75, 0x72, 0x76, 0x65, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x28, - 0x29, 0x2c, 0x20, 0x2d, 0x31, 0x2e, 0x66, 0x29, 0x3b, 0x0a, 0x23, 0x65, 0x6c, 0x73, 0x65, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x62, 0x61, 0x72, 0x79, 0x20, 0x3d, 0x20, - 0x6c, 0x63, 0x5f, 0x67, 0x65, 0x74, 0x5f, 0x62, 0x61, 0x72, 0x79, 0x5f, 0x63, 0x6f, 0x6f, 0x72, - 0x64, 0x73, 0x28, 0x29, 0x3b, 0x0a, 0x23, 0x65, 0x6e, 0x64, 0x69, 0x66, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x74, 0x5f, 0x68, 0x69, 0x74, 0x20, 0x3d, 0x20, 0x6c, 0x63, - 0x5f, 0x67, 0x65, 0x74, 0x5f, 0x68, 0x69, 0x74, 0x5f, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, - 0x65, 0x28, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, - 0x4c, 0x43, 0x54, 0x72, 0x69, 0x61, 0x6e, 0x67, 0x6c, 0x65, 0x48, 0x69, 0x74, 0x7b, 0x69, 0x6e, - 0x73, 0x74, 0x2c, 0x20, 0x70, 0x72, 0x69, 0x6d, 0x2c, 0x20, 0x62, 0x61, 0x72, 0x79, 0x2c, 0x20, - 0x74, 0x5f, 0x68, 0x69, 0x74, 0x7d, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x5b, 0x5b, 0x6e, 0x6f, 0x64, - 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x5d, 0x5d, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, - 0x61, 0x75, 0x74, 0x6f, 0x20, 0x6c, 0x63, 0x5f, 0x72, 0x61, 0x79, 0x5f, 0x71, 0x75, 0x65, 0x72, - 0x79, 0x5f, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x64, 0x75, 0x72, 0x61, 0x6c, 0x5f, 0x63, 0x61, 0x6e, - 0x64, 0x69, 0x64, 0x61, 0x74, 0x65, 0x28, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, - 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x69, 0x6e, 0x73, - 0x74, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x67, 0x65, 0x74, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, - 0x6e, 0x63, 0x65, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x28, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x70, 0x72, 0x69, 0x6d, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, - 0x67, 0x65, 0x74, 0x5f, 0x70, 0x72, 0x69, 0x6d, 0x69, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x69, 0x6e, - 0x64, 0x65, 0x78, 0x28, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, - 0x6e, 0x20, 0x4c, 0x43, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x64, 0x75, 0x72, 0x61, 0x6c, 0x48, 0x69, - 0x74, 0x7b, 0x69, 0x6e, 0x73, 0x74, 0x2c, 0x20, 0x70, 0x72, 0x69, 0x6d, 0x7d, 0x3b, 0x0a, 0x7d, - 0x0a, 0x0a, 0x5b, 0x5b, 0x6e, 0x6f, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x5d, 0x5d, 0x20, - 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x6c, 0x63, 0x5f, 0x72, - 0x61, 0x79, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x5f, 0x72, - 0x61, 0x79, 0x28, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x6f, 0x78, 0x2c, 0x20, 0x6f, 0x79, - 0x2c, 0x20, 0x6f, 0x7a, 0x2c, 0x20, 0x74, 0x5f, 0x6d, 0x69, 0x6e, 0x2c, 0x20, 0x64, 0x78, 0x2c, - 0x20, 0x64, 0x79, 0x2c, 0x20, 0x64, 0x7a, 0x2c, 0x20, 0x74, 0x5f, 0x6d, 0x61, 0x78, 0x3b, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x63, 0x61, 0x6c, 0x6c, 0x20, 0x28, 0x25, 0x30, 0x29, - 0x2c, 0x20, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x78, 0x5f, 0x67, 0x65, 0x74, 0x5f, 0x77, 0x6f, 0x72, - 0x6c, 0x64, 0x5f, 0x72, 0x61, 0x79, 0x5f, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x5f, 0x78, 0x2c, - 0x20, 0x28, 0x29, 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, - 0x22, 0x3d, 0x66, 0x22, 0x28, 0x6f, 0x78, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x3a, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x63, 0x61, - 0x6c, 0x6c, 0x20, 0x28, 0x25, 0x30, 0x29, 0x2c, 0x20, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x78, 0x5f, - 0x67, 0x65, 0x74, 0x5f, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x5f, 0x72, 0x61, 0x79, 0x5f, 0x6f, 0x72, - 0x69, 0x67, 0x69, 0x6e, 0x5f, 0x79, 0x2c, 0x20, 0x28, 0x29, 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x66, 0x22, 0x28, 0x6f, 0x79, 0x29, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x61, 0x73, 0x6d, 0x28, 0x22, 0x63, 0x61, 0x6c, 0x6c, 0x20, 0x28, 0x25, 0x30, 0x29, 0x2c, 0x20, - 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x78, 0x5f, 0x67, 0x65, 0x74, 0x5f, 0x77, 0x6f, 0x72, 0x6c, 0x64, - 0x5f, 0x72, 0x61, 0x79, 0x5f, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x5f, 0x7a, 0x2c, 0x20, 0x28, - 0x29, 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, - 0x66, 0x22, 0x28, 0x6f, 0x7a, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, - 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x74, 0x5f, 0x6d, 0x69, 0x6e, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x63, 0x61, 0x6c, 0x6c, 0x20, 0x28, 0x25, - 0x30, 0x29, 0x2c, 0x20, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x78, 0x5f, 0x67, 0x65, 0x74, 0x5f, 0x72, - 0x61, 0x79, 0x5f, 0x74, 0x6d, 0x69, 0x6e, 0x2c, 0x20, 0x28, 0x29, 0x3b, 0x22, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x66, 0x22, 0x28, 0x74, 0x5f, 0x6d, - 0x69, 0x6e, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x29, 0x3b, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x72, 0x64, 0x5d, 0x5d, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x6c, 0x63, 0x5f, 0x72, 0x61, 0x79, + 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x64, + 0x5f, 0x68, 0x69, 0x74, 0x28, 0x4c, 0x43, 0x52, 0x61, 0x79, 0x51, 0x75, 0x65, 0x72, 0x79, 0x20, + 0x71, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x71, 0x2e, 0x68, 0x69, 0x74, 0x3b, 0x0a, + 0x7d, 0x0a, 0x0a, 0x5b, 0x5b, 0x6e, 0x6f, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x5d, 0x5d, + 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x6c, 0x63, 0x5f, 0x72, 0x61, 0x79, 0x5f, 0x71, 0x75, 0x65, + 0x72, 0x79, 0x5f, 0x74, 0x72, 0x69, 0x61, 0x6e, 0x67, 0x6c, 0x65, 0x5f, 0x63, 0x61, 0x6e, 0x64, + 0x69, 0x64, 0x61, 0x74, 0x65, 0x28, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, + 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x69, 0x6e, 0x73, 0x74, + 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x67, 0x65, 0x74, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, + 0x63, 0x65, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x28, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x61, 0x75, 0x74, 0x6f, 0x20, 0x70, 0x72, 0x69, 0x6d, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x67, + 0x65, 0x74, 0x5f, 0x70, 0x72, 0x69, 0x6d, 0x69, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x69, 0x6e, 0x64, + 0x65, 0x78, 0x28, 0x29, 0x3b, 0x0a, 0x23, 0x69, 0x66, 0x64, 0x65, 0x66, 0x20, 0x4c, 0x55, 0x49, + 0x53, 0x41, 0x5f, 0x45, 0x4e, 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x4f, 0x50, 0x54, 0x49, 0x58, 0x5f, + 0x43, 0x55, 0x52, 0x56, 0x45, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x6b, + 0x69, 0x6e, 0x64, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x67, 0x65, 0x74, 0x5f, 0x68, 0x69, 0x74, + 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x28, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x75, 0x74, + 0x6f, 0x20, 0x62, 0x61, 0x72, 0x79, 0x20, 0x3d, 0x20, 0x6b, 0x69, 0x6e, 0x64, 0x20, 0x3d, 0x3d, + 0x20, 0x4c, 0x43, 0x5f, 0x48, 0x49, 0x54, 0x5f, 0x4b, 0x49, 0x4e, 0x44, 0x5f, 0x54, 0x52, 0x49, + 0x41, 0x4e, 0x47, 0x4c, 0x45, 0x5f, 0x46, 0x52, 0x4f, 0x4e, 0x54, 0x5f, 0x46, 0x41, 0x43, 0x45, + 0x20, 0x7c, 0x7c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6b, 0x69, 0x6e, 0x64, + 0x20, 0x3d, 0x3d, 0x20, 0x4c, 0x43, 0x5f, 0x48, 0x49, 0x54, 0x5f, 0x4b, 0x49, 0x4e, 0x44, 0x5f, + 0x54, 0x52, 0x49, 0x41, 0x4e, 0x47, 0x4c, 0x45, 0x5f, 0x42, 0x41, 0x43, 0x4b, 0x5f, 0x46, 0x41, + 0x43, 0x45, 0x20, 0x3f, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x67, 0x65, 0x74, 0x5f, + 0x62, 0x61, 0x72, 0x79, 0x5f, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x73, 0x28, 0x29, 0x20, 0x3a, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x6d, 0x61, 0x6b, 0x65, 0x5f, 0x66, 0x6c, 0x6f, 0x61, + 0x74, 0x32, 0x28, 0x6c, 0x63, 0x5f, 0x67, 0x65, 0x74, 0x5f, 0x63, 0x75, 0x72, 0x76, 0x65, 0x5f, + 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x28, 0x29, 0x2c, 0x20, 0x2d, 0x31, 0x2e, + 0x66, 0x29, 0x3b, 0x0a, 0x23, 0x65, 0x6c, 0x73, 0x65, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x75, + 0x74, 0x6f, 0x20, 0x62, 0x61, 0x72, 0x79, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x67, 0x65, 0x74, + 0x5f, 0x62, 0x61, 0x72, 0x79, 0x5f, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x73, 0x28, 0x29, 0x3b, 0x0a, + 0x23, 0x65, 0x6e, 0x64, 0x69, 0x66, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, + 0x74, 0x5f, 0x68, 0x69, 0x74, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x67, 0x65, 0x74, 0x5f, 0x68, + 0x69, 0x74, 0x5f, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x28, 0x29, 0x3b, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x4c, 0x43, 0x54, 0x72, 0x69, 0x61, + 0x6e, 0x67, 0x6c, 0x65, 0x48, 0x69, 0x74, 0x7b, 0x69, 0x6e, 0x73, 0x74, 0x2c, 0x20, 0x70, 0x72, + 0x69, 0x6d, 0x2c, 0x20, 0x62, 0x61, 0x72, 0x79, 0x2c, 0x20, 0x74, 0x5f, 0x68, 0x69, 0x74, 0x7d, + 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x5b, 0x5b, 0x6e, 0x6f, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, + 0x5d, 0x5d, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x6c, 0x63, 0x5f, 0x72, 0x61, 0x79, 0x5f, 0x71, + 0x75, 0x65, 0x72, 0x79, 0x5f, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x64, 0x75, 0x72, 0x61, 0x6c, 0x5f, + 0x63, 0x61, 0x6e, 0x64, 0x69, 0x64, 0x61, 0x74, 0x65, 0x28, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, + 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, + 0x69, 0x6e, 0x73, 0x74, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x67, 0x65, 0x74, 0x5f, 0x69, 0x6e, + 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x28, 0x29, 0x3b, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x70, 0x72, 0x69, 0x6d, 0x20, 0x3d, 0x20, + 0x6c, 0x63, 0x5f, 0x67, 0x65, 0x74, 0x5f, 0x70, 0x72, 0x69, 0x6d, 0x69, 0x74, 0x69, 0x76, 0x65, + 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x28, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, + 0x74, 0x75, 0x72, 0x6e, 0x20, 0x4c, 0x43, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x64, 0x75, 0x72, 0x61, + 0x6c, 0x48, 0x69, 0x74, 0x7b, 0x69, 0x6e, 0x73, 0x74, 0x2c, 0x20, 0x70, 0x72, 0x69, 0x6d, 0x7d, + 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x5b, 0x5b, 0x6e, 0x6f, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, + 0x5d, 0x5d, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x6c, 0x63, 0x5f, 0x72, 0x61, 0x79, 0x5f, 0x71, + 0x75, 0x65, 0x72, 0x79, 0x5f, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x5f, 0x72, 0x61, 0x79, 0x28, 0x29, + 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x6f, 0x78, 0x2c, 0x20, 0x6f, 0x79, 0x2c, 0x20, 0x6f, 0x7a, + 0x2c, 0x20, 0x74, 0x5f, 0x6d, 0x69, 0x6e, 0x2c, 0x20, 0x64, 0x78, 0x2c, 0x20, 0x64, 0x79, 0x2c, + 0x20, 0x64, 0x7a, 0x2c, 0x20, 0x74, 0x5f, 0x6d, 0x61, 0x78, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x2f, 0x2f, 0x20, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, + 0x6d, 0x28, 0x22, 0x63, 0x61, 0x6c, 0x6c, 0x20, 0x28, 0x25, 0x30, 0x29, 0x2c, 0x20, 0x5f, 0x6f, + 0x70, 0x74, 0x69, 0x78, 0x5f, 0x67, 0x65, 0x74, 0x5f, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x5f, 0x72, + 0x61, 0x79, 0x5f, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x5f, 0x78, 0x2c, 0x20, 0x28, 0x29, 0x3b, + 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x66, 0x22, + 0x28, 0x6f, 0x78, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x63, 0x61, 0x6c, 0x6c, 0x20, 0x28, 0x25, 0x30, 0x29, 0x2c, 0x20, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x78, 0x5f, 0x67, 0x65, 0x74, 0x5f, - 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x5f, 0x72, 0x61, 0x79, 0x5f, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x5f, 0x78, 0x2c, 0x20, 0x28, 0x29, 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x66, 0x22, 0x28, 0x64, 0x78, 0x29, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, - 0x73, 0x6d, 0x28, 0x22, 0x63, 0x61, 0x6c, 0x6c, 0x20, 0x28, 0x25, 0x30, 0x29, 0x2c, 0x20, 0x5f, - 0x6f, 0x70, 0x74, 0x69, 0x78, 0x5f, 0x67, 0x65, 0x74, 0x5f, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x5f, - 0x72, 0x61, 0x79, 0x5f, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x79, 0x2c, - 0x20, 0x28, 0x29, 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, - 0x22, 0x3d, 0x66, 0x22, 0x28, 0x64, 0x79, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x3a, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x63, 0x61, - 0x6c, 0x6c, 0x20, 0x28, 0x25, 0x30, 0x29, 0x2c, 0x20, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x78, 0x5f, - 0x67, 0x65, 0x74, 0x5f, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x5f, 0x72, 0x61, 0x79, 0x5f, 0x64, 0x69, - 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x7a, 0x2c, 0x20, 0x28, 0x29, 0x3b, 0x22, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x66, 0x22, 0x28, 0x64, + 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x5f, 0x72, 0x61, 0x79, 0x5f, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, + 0x5f, 0x79, 0x2c, 0x20, 0x28, 0x29, 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x66, 0x22, 0x28, 0x6f, 0x79, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x3a, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x28, + 0x22, 0x63, 0x61, 0x6c, 0x6c, 0x20, 0x28, 0x25, 0x30, 0x29, 0x2c, 0x20, 0x5f, 0x6f, 0x70, 0x74, + 0x69, 0x78, 0x5f, 0x67, 0x65, 0x74, 0x5f, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x5f, 0x72, 0x61, 0x79, + 0x5f, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x5f, 0x7a, 0x2c, 0x20, 0x28, 0x29, 0x3b, 0x22, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x66, 0x22, 0x28, 0x6f, 0x7a, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x29, 0x3b, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x74, 0x5f, 0x6d, 0x61, 0x78, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x74, 0x5f, 0x6d, 0x69, 0x6e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x63, 0x61, 0x6c, 0x6c, 0x20, 0x28, 0x25, 0x30, 0x29, 0x2c, 0x20, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x78, 0x5f, 0x67, 0x65, 0x74, 0x5f, 0x72, 0x61, 0x79, 0x5f, 0x74, - 0x6d, 0x61, 0x78, 0x2c, 0x20, 0x28, 0x29, 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x66, 0x22, 0x28, 0x74, 0x5f, 0x6d, 0x61, 0x78, 0x29, 0x0a, + 0x6d, 0x69, 0x6e, 0x2c, 0x20, 0x28, 0x29, 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x66, 0x22, 0x28, 0x74, 0x5f, 0x6d, 0x69, 0x6e, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x4c, 0x43, 0x52, 0x61, 0x79, 0x20, 0x72, 0x61, 0x79, 0x7b, 0x7d, 0x3b, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x72, 0x61, 0x79, 0x2e, 0x6d, 0x30, 0x5b, 0x30, 0x5d, 0x20, 0x3d, 0x20, 0x6f, 0x78, 0x3b, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x61, 0x79, 0x2e, 0x6d, 0x30, 0x5b, 0x31, 0x5d, 0x20, 0x3d, - 0x20, 0x6f, 0x79, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x61, 0x79, 0x2e, 0x6d, 0x30, 0x5b, - 0x32, 0x5d, 0x20, 0x3d, 0x20, 0x6f, 0x7a, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x61, 0x79, - 0x2e, 0x6d, 0x31, 0x20, 0x3d, 0x20, 0x74, 0x5f, 0x6d, 0x69, 0x6e, 0x3b, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x72, 0x61, 0x79, 0x2e, 0x6d, 0x32, 0x5b, 0x30, 0x5d, 0x20, 0x3d, 0x20, 0x64, 0x78, 0x3b, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x61, 0x79, 0x2e, 0x6d, 0x32, 0x5b, 0x31, 0x5d, 0x20, 0x3d, - 0x20, 0x64, 0x79, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x61, 0x79, 0x2e, 0x6d, 0x32, 0x5b, - 0x32, 0x5d, 0x20, 0x3d, 0x20, 0x64, 0x7a, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x61, 0x79, - 0x2e, 0x6d, 0x33, 0x20, 0x3d, 0x20, 0x74, 0x5f, 0x6d, 0x61, 0x78, 0x3b, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x72, 0x61, 0x79, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, - 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x76, 0x6f, 0x69, 0x64, 0x20, 0x6c, 0x63, 0x5f, 0x72, - 0x61, 0x79, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x5f, - 0x69, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x6c, 0x63, 0x5f, - 0x75, 0x69, 0x6e, 0x74, 0x20, 0x6b, 0x69, 0x6e, 0x64, 0x2c, 0x20, 0x6c, 0x63, 0x5f, 0x66, 0x6c, - 0x6f, 0x61, 0x74, 0x20, 0x74, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, - 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x72, 0x65, 0x74, 0x20, 0x3d, - 0x20, 0x30, 0x75, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x20, 0x76, 0x6f, 0x6c, - 0x61, 0x74, 0x69, 0x6c, 0x65, 0x28, 0x22, 0x63, 0x61, 0x6c, 0x6c, 0x20, 0x28, 0x25, 0x30, 0x29, - 0x2c, 0x20, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x78, 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x5f, - 0x69, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x30, 0x22, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x22, 0x2c, 0x20, 0x28, 0x25, 0x31, 0x2c, 0x20, 0x25, 0x32, 0x29, 0x3b, 0x22, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x3a, 0x20, 0x22, 0x3d, 0x72, 0x22, 0x28, 0x72, 0x65, 0x74, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, - 0x66, 0x22, 0x28, 0x74, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, 0x6b, 0x69, 0x6e, 0x64, 0x29, + 0x2f, 0x2f, 0x20, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x63, 0x61, 0x6c, 0x6c, 0x20, 0x28, 0x25, 0x30, 0x29, 0x2c, + 0x20, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x78, 0x5f, 0x67, 0x65, 0x74, 0x5f, 0x77, 0x6f, 0x72, 0x6c, + 0x64, 0x5f, 0x72, 0x61, 0x79, 0x5f, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, + 0x78, 0x2c, 0x20, 0x28, 0x29, 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x3a, 0x20, 0x22, 0x3d, 0x66, 0x22, 0x28, 0x64, 0x78, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x3a, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, + 0x63, 0x61, 0x6c, 0x6c, 0x20, 0x28, 0x25, 0x30, 0x29, 0x2c, 0x20, 0x5f, 0x6f, 0x70, 0x74, 0x69, + 0x78, 0x5f, 0x67, 0x65, 0x74, 0x5f, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x5f, 0x72, 0x61, 0x79, 0x5f, + 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x79, 0x2c, 0x20, 0x28, 0x29, 0x3b, + 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x66, 0x22, + 0x28, 0x64, 0x79, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x29, 0x3b, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x63, 0x61, 0x6c, 0x6c, 0x20, 0x28, + 0x25, 0x30, 0x29, 0x2c, 0x20, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x78, 0x5f, 0x67, 0x65, 0x74, 0x5f, + 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x5f, 0x72, 0x61, 0x79, 0x5f, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x5f, 0x7a, 0x2c, 0x20, 0x28, 0x29, 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x66, 0x22, 0x28, 0x64, 0x7a, 0x29, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x2f, + 0x2f, 0x20, 0x74, 0x5f, 0x6d, 0x61, 0x78, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x28, + 0x22, 0x63, 0x61, 0x6c, 0x6c, 0x20, 0x28, 0x25, 0x30, 0x29, 0x2c, 0x20, 0x5f, 0x6f, 0x70, 0x74, + 0x69, 0x78, 0x5f, 0x67, 0x65, 0x74, 0x5f, 0x72, 0x61, 0x79, 0x5f, 0x74, 0x6d, 0x61, 0x78, 0x2c, + 0x20, 0x28, 0x29, 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, + 0x22, 0x3d, 0x66, 0x22, 0x28, 0x74, 0x5f, 0x6d, 0x61, 0x78, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x3a, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x4c, 0x43, 0x52, 0x61, + 0x79, 0x20, 0x72, 0x61, 0x79, 0x7b, 0x7d, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x61, 0x79, + 0x2e, 0x6d, 0x30, 0x5b, 0x30, 0x5d, 0x20, 0x3d, 0x20, 0x6f, 0x78, 0x3b, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x72, 0x61, 0x79, 0x2e, 0x6d, 0x30, 0x5b, 0x31, 0x5d, 0x20, 0x3d, 0x20, 0x6f, 0x79, 0x3b, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x61, 0x79, 0x2e, 0x6d, 0x30, 0x5b, 0x32, 0x5d, 0x20, 0x3d, + 0x20, 0x6f, 0x7a, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x61, 0x79, 0x2e, 0x6d, 0x31, 0x20, + 0x3d, 0x20, 0x74, 0x5f, 0x6d, 0x69, 0x6e, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x61, 0x79, + 0x2e, 0x6d, 0x32, 0x5b, 0x30, 0x5d, 0x20, 0x3d, 0x20, 0x64, 0x78, 0x3b, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x72, 0x61, 0x79, 0x2e, 0x6d, 0x32, 0x5b, 0x31, 0x5d, 0x20, 0x3d, 0x20, 0x64, 0x79, 0x3b, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x61, 0x79, 0x2e, 0x6d, 0x32, 0x5b, 0x32, 0x5d, 0x20, 0x3d, + 0x20, 0x64, 0x7a, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x61, 0x79, 0x2e, 0x6d, 0x33, 0x20, + 0x3d, 0x20, 0x74, 0x5f, 0x6d, 0x61, 0x78, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, + 0x75, 0x72, 0x6e, 0x20, 0x72, 0x61, 0x79, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x76, 0x6f, 0x69, 0x64, + 0x20, 0x6c, 0x63, 0x5f, 0x72, 0x61, 0x79, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x72, 0x65, + 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x28, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x20, 0x6b, 0x69, 0x6e, 0x64, 0x2c, 0x20, + 0x6c, 0x63, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x74, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, + 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, + 0x72, 0x65, 0x74, 0x20, 0x3d, 0x20, 0x30, 0x75, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, + 0x6d, 0x20, 0x76, 0x6f, 0x6c, 0x61, 0x74, 0x69, 0x6c, 0x65, 0x28, 0x22, 0x63, 0x61, 0x6c, 0x6c, + 0x20, 0x28, 0x25, 0x30, 0x29, 0x2c, 0x20, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x78, 0x5f, 0x72, 0x65, + 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x5f, 0x30, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x2c, 0x20, 0x28, 0x25, 0x31, 0x2c, 0x20, 0x25, 0x32, + 0x29, 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x72, 0x22, 0x28, 0x72, 0x65, 0x74, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x3a, 0x29, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, - 0x76, 0x6f, 0x69, 0x64, 0x20, 0x6c, 0x63, 0x5f, 0x72, 0x61, 0x79, 0x5f, 0x71, 0x75, 0x65, 0x72, - 0x79, 0x5f, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x65, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, - 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x20, 0x76, 0x6f, 0x6c, 0x61, 0x74, - 0x69, 0x6c, 0x65, 0x28, 0x22, 0x63, 0x61, 0x6c, 0x6c, 0x20, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x78, - 0x5f, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x65, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x2c, 0x20, 0x28, 0x29, 0x3b, 0x22, 0x29, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, - 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x76, 0x6f, 0x69, 0x64, 0x20, 0x6c, 0x63, 0x5f, 0x72, - 0x61, 0x79, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, - 0x74, 0x65, 0x28, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x20, 0x76, 0x6f, 0x6c, 0x61, 0x74, 0x69, 0x6c, 0x65, - 0x28, 0x22, 0x63, 0x61, 0x6c, 0x6c, 0x20, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x78, 0x5f, 0x74, 0x65, - 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x61, 0x79, 0x2c, 0x20, 0x28, 0x29, 0x3b, - 0x22, 0x29, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x23, 0x69, 0x66, 0x20, 0x4c, 0x55, 0x49, 0x53, 0x41, - 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f, 0x49, 0x4d, 0x50, 0x4c, 0x5f, - 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x20, 0x3e, 0x20, 0x33, 0x32, 0x0a, 0x23, 0x65, 0x72, 0x72, 0x6f, - 0x72, 0x20, 0x22, 0x4c, 0x55, 0x49, 0x53, 0x41, 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x51, 0x55, 0x45, - 0x52, 0x59, 0x5f, 0x49, 0x4d, 0x50, 0x4c, 0x5f, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x20, 0x6d, 0x75, - 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, - 0x6f, 0x72, 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x33, 0x32, 0x22, 0x0a, - 0x23, 0x65, 0x6e, 0x64, 0x69, 0x66, 0x0a, 0x0a, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x20, 0x4c, - 0x43, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, - 0x75, 0x6c, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x66, 0x6c, 0x6f, - 0x61, 0x74, 0x20, 0x74, 0x5f, 0x68, 0x69, 0x74, 0x7b, 0x7d, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x6c, 0x63, 0x5f, 0x62, 0x6f, 0x6f, 0x6c, 0x20, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, - 0x64, 0x7b, 0x7d, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x62, 0x6f, 0x6f, 0x6c, - 0x20, 0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x65, 0x64, 0x7b, 0x7d, 0x3b, 0x0a, 0x7d, - 0x3b, 0x0a, 0x0a, 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, 0x4c, 0x55, 0x49, 0x53, 0x41, - 0x5f, 0x44, 0x45, 0x43, 0x4c, 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f, - 0x50, 0x52, 0x4f, 0x43, 0x45, 0x44, 0x55, 0x52, 0x41, 0x4c, 0x5f, 0x49, 0x4d, 0x50, 0x4c, 0x28, - 0x69, 0x6e, 0x64, 0x65, 0x78, 0x29, 0x20, 0x5c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5b, 0x5b, 0x6e, - 0x6f, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x5d, 0x5d, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, - 0x65, 0x20, 0x4c, 0x43, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x20, 0x20, 0x3a, 0x20, 0x22, 0x66, 0x22, 0x28, 0x74, 0x29, 0x2c, 0x20, 0x22, 0x72, 0x22, 0x28, + 0x6b, 0x69, 0x6e, 0x64, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x29, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x76, 0x6f, + 0x69, 0x64, 0x20, 0x6c, 0x63, 0x5f, 0x72, 0x61, 0x79, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, + 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x65, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x28, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x20, 0x76, 0x6f, 0x6c, 0x61, 0x74, 0x69, 0x6c, + 0x65, 0x28, 0x22, 0x63, 0x61, 0x6c, 0x6c, 0x20, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x78, 0x5f, 0x69, + 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x65, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x2c, 0x20, 0x28, 0x29, 0x3b, 0x22, 0x29, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x76, 0x6f, + 0x69, 0x64, 0x20, 0x6c, 0x63, 0x5f, 0x72, 0x61, 0x79, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, + 0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x65, 0x28, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, + 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x20, 0x76, + 0x6f, 0x6c, 0x61, 0x74, 0x69, 0x6c, 0x65, 0x28, 0x22, 0x63, 0x61, 0x6c, 0x6c, 0x20, 0x5f, 0x6f, + 0x70, 0x74, 0x69, 0x78, 0x5f, 0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x65, 0x5f, 0x72, + 0x61, 0x79, 0x2c, 0x20, 0x28, 0x29, 0x3b, 0x22, 0x29, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x23, 0x69, + 0x66, 0x20, 0x4c, 0x55, 0x49, 0x53, 0x41, 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x51, 0x55, 0x45, 0x52, + 0x59, 0x5f, 0x49, 0x4d, 0x50, 0x4c, 0x5f, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x20, 0x3e, 0x20, 0x33, + 0x32, 0x0a, 0x23, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x20, 0x22, 0x4c, 0x55, 0x49, 0x53, 0x41, 0x5f, + 0x52, 0x41, 0x59, 0x5f, 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f, 0x49, 0x4d, 0x50, 0x4c, 0x5f, 0x43, + 0x4f, 0x55, 0x4e, 0x54, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x6c, 0x65, 0x73, + 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x6f, 0x72, 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, + 0x74, 0x6f, 0x20, 0x33, 0x32, 0x22, 0x0a, 0x23, 0x65, 0x6e, 0x64, 0x69, 0x66, 0x0a, 0x0a, 0x73, + 0x74, 0x72, 0x75, 0x63, 0x74, 0x20, 0x4c, 0x43, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x65, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x6c, 0x63, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x74, 0x5f, 0x68, 0x69, 0x74, 0x7b, + 0x7d, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x62, 0x6f, 0x6f, 0x6c, 0x20, 0x63, + 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x64, 0x7b, 0x7d, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x6c, 0x63, 0x5f, 0x62, 0x6f, 0x6f, 0x6c, 0x20, 0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x74, + 0x65, 0x64, 0x7b, 0x7d, 0x3b, 0x0a, 0x7d, 0x3b, 0x0a, 0x0a, 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, + 0x65, 0x20, 0x4c, 0x55, 0x49, 0x53, 0x41, 0x5f, 0x44, 0x45, 0x43, 0x4c, 0x5f, 0x52, 0x41, 0x59, + 0x5f, 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f, 0x50, 0x52, 0x4f, 0x43, 0x45, 0x44, 0x55, 0x52, 0x41, + 0x4c, 0x5f, 0x49, 0x4d, 0x50, 0x4c, 0x28, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x29, 0x20, 0x5c, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x5b, 0x5b, 0x6e, 0x6f, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x5d, + 0x5d, 0x20, 0x4c, 0x43, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x20, 0x6c, 0x63, 0x5f, 0x72, 0x61, 0x79, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x64, 0x75, 0x72, 0x61, 0x6c, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x23, 0x23, 0x69, 0x6e, @@ -42013,1101 +41752,1094 @@ extern "C" const char luisa_cuda_builtin_cuda_device_resource[119200] = { 0x41, 0x59, 0x5f, 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f, 0x54, 0x52, 0x49, 0x41, 0x4e, 0x47, 0x4c, 0x45, 0x5f, 0x49, 0x4d, 0x50, 0x4c, 0x28, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x29, 0x20, 0x5c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5b, 0x5b, 0x6e, 0x6f, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x5d, - 0x5d, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x4c, 0x43, 0x49, 0x6e, 0x74, 0x65, 0x72, - 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x20, 0x6c, 0x63, + 0x5d, 0x20, 0x4c, 0x43, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x20, 0x6c, 0x63, 0x5f, 0x72, 0x61, 0x79, 0x5f, 0x71, 0x75, + 0x65, 0x72, 0x79, 0x5f, 0x74, 0x72, 0x69, 0x61, 0x6e, 0x67, 0x6c, 0x65, 0x5f, 0x69, 0x6e, 0x74, + 0x65, 0x72, 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x23, 0x23, 0x69, 0x6e, 0x64, 0x65, + 0x78, 0x28, 0x76, 0x6f, 0x69, 0x64, 0x20, 0x2a, 0x63, 0x74, 0x78, 0x5f, 0x69, 0x6e, 0x29, 0x20, + 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x0a, 0x0a, 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, + 0x65, 0x20, 0x4c, 0x43, 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f, 0x50, + 0x52, 0x4f, 0x43, 0x45, 0x44, 0x55, 0x52, 0x41, 0x4c, 0x5f, 0x43, 0x41, 0x4e, 0x44, 0x49, 0x44, + 0x41, 0x54, 0x45, 0x5f, 0x48, 0x49, 0x54, 0x28, 0x71, 0x29, 0x20, 0x6c, 0x63, 0x5f, 0x72, 0x61, + 0x79, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x64, 0x75, 0x72, + 0x61, 0x6c, 0x5f, 0x63, 0x61, 0x6e, 0x64, 0x69, 0x64, 0x61, 0x74, 0x65, 0x28, 0x29, 0x0a, 0x23, + 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, 0x4c, 0x43, 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x51, 0x55, + 0x45, 0x52, 0x59, 0x5f, 0x54, 0x52, 0x49, 0x41, 0x4e, 0x47, 0x4c, 0x45, 0x5f, 0x43, 0x41, 0x4e, + 0x44, 0x49, 0x44, 0x41, 0x54, 0x45, 0x5f, 0x48, 0x49, 0x54, 0x28, 0x71, 0x29, 0x20, 0x6c, 0x63, 0x5f, 0x72, 0x61, 0x79, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x74, 0x72, 0x69, 0x61, 0x6e, - 0x67, 0x6c, 0x65, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x5f, 0x23, 0x23, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x28, 0x76, 0x6f, 0x69, 0x64, 0x20, 0x2a, 0x63, - 0x74, 0x78, 0x5f, 0x69, 0x6e, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x0a, - 0x0a, 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, 0x4c, 0x43, 0x5f, 0x52, 0x41, 0x59, 0x5f, - 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f, 0x50, 0x52, 0x4f, 0x43, 0x45, 0x44, 0x55, 0x52, 0x41, 0x4c, - 0x5f, 0x43, 0x41, 0x4e, 0x44, 0x49, 0x44, 0x41, 0x54, 0x45, 0x5f, 0x48, 0x49, 0x54, 0x28, 0x71, - 0x29, 0x20, 0x6c, 0x63, 0x5f, 0x72, 0x61, 0x79, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x70, - 0x72, 0x6f, 0x63, 0x65, 0x64, 0x75, 0x72, 0x61, 0x6c, 0x5f, 0x63, 0x61, 0x6e, 0x64, 0x69, 0x64, - 0x61, 0x74, 0x65, 0x28, 0x29, 0x0a, 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, 0x4c, 0x43, - 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f, 0x54, 0x52, 0x49, 0x41, 0x4e, - 0x47, 0x4c, 0x45, 0x5f, 0x43, 0x41, 0x4e, 0x44, 0x49, 0x44, 0x41, 0x54, 0x45, 0x5f, 0x48, 0x49, - 0x54, 0x28, 0x71, 0x29, 0x20, 0x6c, 0x63, 0x5f, 0x72, 0x61, 0x79, 0x5f, 0x71, 0x75, 0x65, 0x72, - 0x79, 0x5f, 0x74, 0x72, 0x69, 0x61, 0x6e, 0x67, 0x6c, 0x65, 0x5f, 0x63, 0x61, 0x6e, 0x64, 0x69, - 0x64, 0x61, 0x74, 0x65, 0x28, 0x29, 0x0a, 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, 0x4c, - 0x43, 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f, 0x57, 0x4f, 0x52, 0x4c, - 0x44, 0x5f, 0x52, 0x41, 0x59, 0x28, 0x71, 0x29, 0x20, 0x6c, 0x63, 0x5f, 0x72, 0x61, 0x79, 0x5f, - 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x5f, 0x72, 0x61, 0x79, 0x28, - 0x29, 0x0a, 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, 0x4c, 0x43, 0x5f, 0x52, 0x41, 0x59, - 0x5f, 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f, 0x43, 0x4f, 0x4d, 0x4d, 0x49, 0x54, 0x5f, 0x54, 0x52, - 0x49, 0x41, 0x4e, 0x47, 0x4c, 0x45, 0x28, 0x71, 0x29, 0x20, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, - 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x76, 0x6f, 0x69, 0x64, 0x3e, 0x28, 0x72, 0x65, 0x73, 0x75, - 0x6c, 0x74, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x64, 0x20, 0x3d, 0x20, 0x74, - 0x72, 0x75, 0x65, 0x29, 0x0a, 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, 0x4c, 0x43, 0x5f, - 0x52, 0x41, 0x59, 0x5f, 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f, 0x43, 0x4f, 0x4d, 0x4d, 0x49, 0x54, - 0x5f, 0x50, 0x52, 0x4f, 0x43, 0x45, 0x44, 0x55, 0x52, 0x41, 0x4c, 0x28, 0x71, 0x2c, 0x20, 0x74, - 0x29, 0x20, 0x5c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x64, 0x6f, 0x20, 0x7b, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x5c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, - 0x74, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x64, 0x20, 0x3d, 0x20, 0x74, 0x72, - 0x75, 0x65, 0x3b, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x5c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, - 0x2e, 0x74, 0x5f, 0x68, 0x69, 0x74, 0x20, 0x3d, 0x20, 0x74, 0x3b, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x20, 0x77, 0x68, 0x69, 0x6c, 0x65, 0x20, 0x28, 0x66, 0x61, - 0x6c, 0x73, 0x65, 0x29, 0x0a, 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, 0x4c, 0x43, 0x5f, - 0x52, 0x41, 0x59, 0x5f, 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f, 0x54, 0x45, 0x52, 0x4d, 0x49, 0x4e, - 0x41, 0x54, 0x45, 0x28, 0x71, 0x29, 0x20, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x5f, 0x63, 0x61, - 0x73, 0x74, 0x3c, 0x76, 0x6f, 0x69, 0x64, 0x3e, 0x28, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, - 0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x65, 0x64, 0x20, 0x3d, 0x20, 0x74, 0x72, 0x75, - 0x65, 0x29, 0x0a, 0x0a, 0x2f, 0x2f, 0x20, 0x64, 0x65, 0x63, 0x6c, 0x61, 0x72, 0x65, 0x20, 0x60, - 0x6c, 0x63, 0x5f, 0x72, 0x61, 0x79, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x69, 0x6e, 0x74, - 0x65, 0x72, 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x60, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x61, - 0x74, 0x20, 0x6d, 0x6f, 0x73, 0x74, 0x20, 0x33, 0x32, 0x20, 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x6d, - 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x0a, 0x4c, 0x55, 0x49, 0x53, 0x41, 0x5f, - 0x44, 0x45, 0x43, 0x4c, 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f, 0x50, - 0x52, 0x4f, 0x43, 0x45, 0x44, 0x55, 0x52, 0x41, 0x4c, 0x5f, 0x49, 0x4d, 0x50, 0x4c, 0x28, 0x30, - 0x29, 0x3b, 0x0a, 0x4c, 0x55, 0x49, 0x53, 0x41, 0x5f, 0x44, 0x45, 0x43, 0x4c, 0x5f, 0x52, 0x41, + 0x67, 0x6c, 0x65, 0x5f, 0x63, 0x61, 0x6e, 0x64, 0x69, 0x64, 0x61, 0x74, 0x65, 0x28, 0x29, 0x0a, + 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, 0x4c, 0x43, 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x51, + 0x55, 0x45, 0x52, 0x59, 0x5f, 0x57, 0x4f, 0x52, 0x4c, 0x44, 0x5f, 0x52, 0x41, 0x59, 0x28, 0x71, + 0x29, 0x20, 0x6c, 0x63, 0x5f, 0x72, 0x61, 0x79, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x77, + 0x6f, 0x72, 0x6c, 0x64, 0x5f, 0x72, 0x61, 0x79, 0x28, 0x29, 0x0a, 0x23, 0x64, 0x65, 0x66, 0x69, + 0x6e, 0x65, 0x20, 0x4c, 0x43, 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f, + 0x43, 0x4f, 0x4d, 0x4d, 0x49, 0x54, 0x5f, 0x54, 0x52, 0x49, 0x41, 0x4e, 0x47, 0x4c, 0x45, 0x28, + 0x71, 0x29, 0x20, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x76, + 0x6f, 0x69, 0x64, 0x3e, 0x28, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, + 0x69, 0x74, 0x74, 0x65, 0x64, 0x20, 0x3d, 0x20, 0x74, 0x72, 0x75, 0x65, 0x29, 0x0a, 0x23, 0x64, + 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, 0x4c, 0x43, 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x51, 0x55, 0x45, + 0x52, 0x59, 0x5f, 0x43, 0x4f, 0x4d, 0x4d, 0x49, 0x54, 0x5f, 0x50, 0x52, 0x4f, 0x43, 0x45, 0x44, + 0x55, 0x52, 0x41, 0x4c, 0x28, 0x71, 0x2c, 0x20, 0x74, 0x29, 0x20, 0x5c, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x64, 0x6f, 0x20, 0x7b, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x69, + 0x74, 0x74, 0x65, 0x64, 0x20, 0x3d, 0x20, 0x74, 0x72, 0x75, 0x65, 0x3b, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x74, 0x5f, 0x68, 0x69, 0x74, 0x20, + 0x3d, 0x20, 0x74, 0x3b, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x20, + 0x77, 0x68, 0x69, 0x6c, 0x65, 0x20, 0x28, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x29, 0x0a, 0x23, 0x64, + 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, 0x4c, 0x43, 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x51, 0x55, 0x45, + 0x52, 0x59, 0x5f, 0x54, 0x45, 0x52, 0x4d, 0x49, 0x4e, 0x41, 0x54, 0x45, 0x28, 0x71, 0x29, 0x20, + 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x76, 0x6f, 0x69, 0x64, + 0x3e, 0x28, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, + 0x74, 0x65, 0x64, 0x20, 0x3d, 0x20, 0x74, 0x72, 0x75, 0x65, 0x29, 0x0a, 0x0a, 0x2f, 0x2f, 0x20, + 0x64, 0x65, 0x63, 0x6c, 0x61, 0x72, 0x65, 0x20, 0x60, 0x6c, 0x63, 0x5f, 0x72, 0x61, 0x79, 0x5f, + 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x65, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x60, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x61, 0x74, 0x20, 0x6d, 0x6f, 0x73, 0x74, 0x20, + 0x33, 0x32, 0x20, 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x0a, 0x4c, 0x55, 0x49, 0x53, 0x41, 0x5f, 0x44, 0x45, 0x43, 0x4c, 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f, 0x50, 0x52, 0x4f, 0x43, 0x45, 0x44, 0x55, 0x52, - 0x41, 0x4c, 0x5f, 0x49, 0x4d, 0x50, 0x4c, 0x28, 0x31, 0x29, 0x3b, 0x0a, 0x4c, 0x55, 0x49, 0x53, + 0x41, 0x4c, 0x5f, 0x49, 0x4d, 0x50, 0x4c, 0x28, 0x30, 0x29, 0x3b, 0x0a, 0x4c, 0x55, 0x49, 0x53, 0x41, 0x5f, 0x44, 0x45, 0x43, 0x4c, 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f, 0x50, 0x52, 0x4f, 0x43, 0x45, 0x44, 0x55, 0x52, 0x41, 0x4c, 0x5f, 0x49, 0x4d, 0x50, 0x4c, - 0x28, 0x32, 0x29, 0x3b, 0x0a, 0x4c, 0x55, 0x49, 0x53, 0x41, 0x5f, 0x44, 0x45, 0x43, 0x4c, 0x5f, + 0x28, 0x31, 0x29, 0x3b, 0x0a, 0x4c, 0x55, 0x49, 0x53, 0x41, 0x5f, 0x44, 0x45, 0x43, 0x4c, 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f, 0x50, 0x52, 0x4f, 0x43, 0x45, 0x44, - 0x55, 0x52, 0x41, 0x4c, 0x5f, 0x49, 0x4d, 0x50, 0x4c, 0x28, 0x33, 0x29, 0x3b, 0x0a, 0x4c, 0x55, + 0x55, 0x52, 0x41, 0x4c, 0x5f, 0x49, 0x4d, 0x50, 0x4c, 0x28, 0x32, 0x29, 0x3b, 0x0a, 0x4c, 0x55, 0x49, 0x53, 0x41, 0x5f, 0x44, 0x45, 0x43, 0x4c, 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f, 0x50, 0x52, 0x4f, 0x43, 0x45, 0x44, 0x55, 0x52, 0x41, 0x4c, 0x5f, 0x49, 0x4d, - 0x50, 0x4c, 0x28, 0x34, 0x29, 0x3b, 0x0a, 0x4c, 0x55, 0x49, 0x53, 0x41, 0x5f, 0x44, 0x45, 0x43, + 0x50, 0x4c, 0x28, 0x33, 0x29, 0x3b, 0x0a, 0x4c, 0x55, 0x49, 0x53, 0x41, 0x5f, 0x44, 0x45, 0x43, 0x4c, 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f, 0x50, 0x52, 0x4f, 0x43, - 0x45, 0x44, 0x55, 0x52, 0x41, 0x4c, 0x5f, 0x49, 0x4d, 0x50, 0x4c, 0x28, 0x35, 0x29, 0x3b, 0x0a, + 0x45, 0x44, 0x55, 0x52, 0x41, 0x4c, 0x5f, 0x49, 0x4d, 0x50, 0x4c, 0x28, 0x34, 0x29, 0x3b, 0x0a, 0x4c, 0x55, 0x49, 0x53, 0x41, 0x5f, 0x44, 0x45, 0x43, 0x4c, 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f, 0x50, 0x52, 0x4f, 0x43, 0x45, 0x44, 0x55, 0x52, 0x41, 0x4c, 0x5f, - 0x49, 0x4d, 0x50, 0x4c, 0x28, 0x36, 0x29, 0x3b, 0x0a, 0x4c, 0x55, 0x49, 0x53, 0x41, 0x5f, 0x44, + 0x49, 0x4d, 0x50, 0x4c, 0x28, 0x35, 0x29, 0x3b, 0x0a, 0x4c, 0x55, 0x49, 0x53, 0x41, 0x5f, 0x44, 0x45, 0x43, 0x4c, 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f, 0x50, 0x52, - 0x4f, 0x43, 0x45, 0x44, 0x55, 0x52, 0x41, 0x4c, 0x5f, 0x49, 0x4d, 0x50, 0x4c, 0x28, 0x37, 0x29, + 0x4f, 0x43, 0x45, 0x44, 0x55, 0x52, 0x41, 0x4c, 0x5f, 0x49, 0x4d, 0x50, 0x4c, 0x28, 0x36, 0x29, 0x3b, 0x0a, 0x4c, 0x55, 0x49, 0x53, 0x41, 0x5f, 0x44, 0x45, 0x43, 0x4c, 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f, 0x50, 0x52, 0x4f, 0x43, 0x45, 0x44, 0x55, 0x52, 0x41, - 0x4c, 0x5f, 0x49, 0x4d, 0x50, 0x4c, 0x28, 0x38, 0x29, 0x3b, 0x0a, 0x4c, 0x55, 0x49, 0x53, 0x41, + 0x4c, 0x5f, 0x49, 0x4d, 0x50, 0x4c, 0x28, 0x37, 0x29, 0x3b, 0x0a, 0x4c, 0x55, 0x49, 0x53, 0x41, 0x5f, 0x44, 0x45, 0x43, 0x4c, 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f, 0x50, 0x52, 0x4f, 0x43, 0x45, 0x44, 0x55, 0x52, 0x41, 0x4c, 0x5f, 0x49, 0x4d, 0x50, 0x4c, 0x28, - 0x39, 0x29, 0x3b, 0x0a, 0x4c, 0x55, 0x49, 0x53, 0x41, 0x5f, 0x44, 0x45, 0x43, 0x4c, 0x5f, 0x52, - 0x41, 0x59, 0x5f, 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f, 0x50, 0x52, 0x4f, 0x43, 0x45, 0x44, 0x55, - 0x52, 0x41, 0x4c, 0x5f, 0x49, 0x4d, 0x50, 0x4c, 0x28, 0x31, 0x30, 0x29, 0x3b, 0x0a, 0x4c, 0x55, - 0x49, 0x53, 0x41, 0x5f, 0x44, 0x45, 0x43, 0x4c, 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x51, 0x55, 0x45, - 0x52, 0x59, 0x5f, 0x50, 0x52, 0x4f, 0x43, 0x45, 0x44, 0x55, 0x52, 0x41, 0x4c, 0x5f, 0x49, 0x4d, - 0x50, 0x4c, 0x28, 0x31, 0x31, 0x29, 0x3b, 0x0a, 0x4c, 0x55, 0x49, 0x53, 0x41, 0x5f, 0x44, 0x45, - 0x43, 0x4c, 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f, 0x50, 0x52, 0x4f, - 0x43, 0x45, 0x44, 0x55, 0x52, 0x41, 0x4c, 0x5f, 0x49, 0x4d, 0x50, 0x4c, 0x28, 0x31, 0x32, 0x29, - 0x3b, 0x0a, 0x4c, 0x55, 0x49, 0x53, 0x41, 0x5f, 0x44, 0x45, 0x43, 0x4c, 0x5f, 0x52, 0x41, 0x59, - 0x5f, 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f, 0x50, 0x52, 0x4f, 0x43, 0x45, 0x44, 0x55, 0x52, 0x41, - 0x4c, 0x5f, 0x49, 0x4d, 0x50, 0x4c, 0x28, 0x31, 0x33, 0x29, 0x3b, 0x0a, 0x4c, 0x55, 0x49, 0x53, - 0x41, 0x5f, 0x44, 0x45, 0x43, 0x4c, 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x51, 0x55, 0x45, 0x52, 0x59, - 0x5f, 0x50, 0x52, 0x4f, 0x43, 0x45, 0x44, 0x55, 0x52, 0x41, 0x4c, 0x5f, 0x49, 0x4d, 0x50, 0x4c, - 0x28, 0x31, 0x34, 0x29, 0x3b, 0x0a, 0x4c, 0x55, 0x49, 0x53, 0x41, 0x5f, 0x44, 0x45, 0x43, 0x4c, - 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f, 0x50, 0x52, 0x4f, 0x43, 0x45, - 0x44, 0x55, 0x52, 0x41, 0x4c, 0x5f, 0x49, 0x4d, 0x50, 0x4c, 0x28, 0x31, 0x35, 0x29, 0x3b, 0x0a, - 0x4c, 0x55, 0x49, 0x53, 0x41, 0x5f, 0x44, 0x45, 0x43, 0x4c, 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x51, - 0x55, 0x45, 0x52, 0x59, 0x5f, 0x50, 0x52, 0x4f, 0x43, 0x45, 0x44, 0x55, 0x52, 0x41, 0x4c, 0x5f, - 0x49, 0x4d, 0x50, 0x4c, 0x28, 0x31, 0x36, 0x29, 0x3b, 0x0a, 0x4c, 0x55, 0x49, 0x53, 0x41, 0x5f, - 0x44, 0x45, 0x43, 0x4c, 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f, 0x50, - 0x52, 0x4f, 0x43, 0x45, 0x44, 0x55, 0x52, 0x41, 0x4c, 0x5f, 0x49, 0x4d, 0x50, 0x4c, 0x28, 0x31, - 0x37, 0x29, 0x3b, 0x0a, 0x4c, 0x55, 0x49, 0x53, 0x41, 0x5f, 0x44, 0x45, 0x43, 0x4c, 0x5f, 0x52, - 0x41, 0x59, 0x5f, 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f, 0x50, 0x52, 0x4f, 0x43, 0x45, 0x44, 0x55, - 0x52, 0x41, 0x4c, 0x5f, 0x49, 0x4d, 0x50, 0x4c, 0x28, 0x31, 0x38, 0x29, 0x3b, 0x0a, 0x4c, 0x55, - 0x49, 0x53, 0x41, 0x5f, 0x44, 0x45, 0x43, 0x4c, 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x51, 0x55, 0x45, - 0x52, 0x59, 0x5f, 0x50, 0x52, 0x4f, 0x43, 0x45, 0x44, 0x55, 0x52, 0x41, 0x4c, 0x5f, 0x49, 0x4d, - 0x50, 0x4c, 0x28, 0x31, 0x39, 0x29, 0x3b, 0x0a, 0x4c, 0x55, 0x49, 0x53, 0x41, 0x5f, 0x44, 0x45, - 0x43, 0x4c, 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f, 0x50, 0x52, 0x4f, - 0x43, 0x45, 0x44, 0x55, 0x52, 0x41, 0x4c, 0x5f, 0x49, 0x4d, 0x50, 0x4c, 0x28, 0x32, 0x30, 0x29, - 0x3b, 0x0a, 0x4c, 0x55, 0x49, 0x53, 0x41, 0x5f, 0x44, 0x45, 0x43, 0x4c, 0x5f, 0x52, 0x41, 0x59, - 0x5f, 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f, 0x50, 0x52, 0x4f, 0x43, 0x45, 0x44, 0x55, 0x52, 0x41, - 0x4c, 0x5f, 0x49, 0x4d, 0x50, 0x4c, 0x28, 0x32, 0x31, 0x29, 0x3b, 0x0a, 0x4c, 0x55, 0x49, 0x53, - 0x41, 0x5f, 0x44, 0x45, 0x43, 0x4c, 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x51, 0x55, 0x45, 0x52, 0x59, - 0x5f, 0x50, 0x52, 0x4f, 0x43, 0x45, 0x44, 0x55, 0x52, 0x41, 0x4c, 0x5f, 0x49, 0x4d, 0x50, 0x4c, - 0x28, 0x32, 0x32, 0x29, 0x3b, 0x0a, 0x4c, 0x55, 0x49, 0x53, 0x41, 0x5f, 0x44, 0x45, 0x43, 0x4c, - 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f, 0x50, 0x52, 0x4f, 0x43, 0x45, - 0x44, 0x55, 0x52, 0x41, 0x4c, 0x5f, 0x49, 0x4d, 0x50, 0x4c, 0x28, 0x32, 0x33, 0x29, 0x3b, 0x0a, - 0x4c, 0x55, 0x49, 0x53, 0x41, 0x5f, 0x44, 0x45, 0x43, 0x4c, 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x51, - 0x55, 0x45, 0x52, 0x59, 0x5f, 0x50, 0x52, 0x4f, 0x43, 0x45, 0x44, 0x55, 0x52, 0x41, 0x4c, 0x5f, - 0x49, 0x4d, 0x50, 0x4c, 0x28, 0x32, 0x34, 0x29, 0x3b, 0x0a, 0x4c, 0x55, 0x49, 0x53, 0x41, 0x5f, - 0x44, 0x45, 0x43, 0x4c, 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f, 0x50, - 0x52, 0x4f, 0x43, 0x45, 0x44, 0x55, 0x52, 0x41, 0x4c, 0x5f, 0x49, 0x4d, 0x50, 0x4c, 0x28, 0x32, - 0x35, 0x29, 0x3b, 0x0a, 0x4c, 0x55, 0x49, 0x53, 0x41, 0x5f, 0x44, 0x45, 0x43, 0x4c, 0x5f, 0x52, + 0x38, 0x29, 0x3b, 0x0a, 0x4c, 0x55, 0x49, 0x53, 0x41, 0x5f, 0x44, 0x45, 0x43, 0x4c, 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f, 0x50, 0x52, 0x4f, 0x43, 0x45, 0x44, 0x55, - 0x52, 0x41, 0x4c, 0x5f, 0x49, 0x4d, 0x50, 0x4c, 0x28, 0x32, 0x36, 0x29, 0x3b, 0x0a, 0x4c, 0x55, - 0x49, 0x53, 0x41, 0x5f, 0x44, 0x45, 0x43, 0x4c, 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x51, 0x55, 0x45, - 0x52, 0x59, 0x5f, 0x50, 0x52, 0x4f, 0x43, 0x45, 0x44, 0x55, 0x52, 0x41, 0x4c, 0x5f, 0x49, 0x4d, - 0x50, 0x4c, 0x28, 0x32, 0x37, 0x29, 0x3b, 0x0a, 0x4c, 0x55, 0x49, 0x53, 0x41, 0x5f, 0x44, 0x45, - 0x43, 0x4c, 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f, 0x50, 0x52, 0x4f, - 0x43, 0x45, 0x44, 0x55, 0x52, 0x41, 0x4c, 0x5f, 0x49, 0x4d, 0x50, 0x4c, 0x28, 0x32, 0x38, 0x29, - 0x3b, 0x0a, 0x4c, 0x55, 0x49, 0x53, 0x41, 0x5f, 0x44, 0x45, 0x43, 0x4c, 0x5f, 0x52, 0x41, 0x59, - 0x5f, 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f, 0x50, 0x52, 0x4f, 0x43, 0x45, 0x44, 0x55, 0x52, 0x41, - 0x4c, 0x5f, 0x49, 0x4d, 0x50, 0x4c, 0x28, 0x32, 0x39, 0x29, 0x3b, 0x0a, 0x4c, 0x55, 0x49, 0x53, - 0x41, 0x5f, 0x44, 0x45, 0x43, 0x4c, 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x51, 0x55, 0x45, 0x52, 0x59, - 0x5f, 0x50, 0x52, 0x4f, 0x43, 0x45, 0x44, 0x55, 0x52, 0x41, 0x4c, 0x5f, 0x49, 0x4d, 0x50, 0x4c, - 0x28, 0x33, 0x30, 0x29, 0x3b, 0x0a, 0x4c, 0x55, 0x49, 0x53, 0x41, 0x5f, 0x44, 0x45, 0x43, 0x4c, - 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f, 0x50, 0x52, 0x4f, 0x43, 0x45, - 0x44, 0x55, 0x52, 0x41, 0x4c, 0x5f, 0x49, 0x4d, 0x50, 0x4c, 0x28, 0x33, 0x31, 0x29, 0x3b, 0x0a, + 0x52, 0x41, 0x4c, 0x5f, 0x49, 0x4d, 0x50, 0x4c, 0x28, 0x39, 0x29, 0x3b, 0x0a, 0x4c, 0x55, 0x49, + 0x53, 0x41, 0x5f, 0x44, 0x45, 0x43, 0x4c, 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x51, 0x55, 0x45, 0x52, + 0x59, 0x5f, 0x50, 0x52, 0x4f, 0x43, 0x45, 0x44, 0x55, 0x52, 0x41, 0x4c, 0x5f, 0x49, 0x4d, 0x50, + 0x4c, 0x28, 0x31, 0x30, 0x29, 0x3b, 0x0a, 0x4c, 0x55, 0x49, 0x53, 0x41, 0x5f, 0x44, 0x45, 0x43, + 0x4c, 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f, 0x50, 0x52, 0x4f, 0x43, + 0x45, 0x44, 0x55, 0x52, 0x41, 0x4c, 0x5f, 0x49, 0x4d, 0x50, 0x4c, 0x28, 0x31, 0x31, 0x29, 0x3b, + 0x0a, 0x4c, 0x55, 0x49, 0x53, 0x41, 0x5f, 0x44, 0x45, 0x43, 0x4c, 0x5f, 0x52, 0x41, 0x59, 0x5f, + 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f, 0x50, 0x52, 0x4f, 0x43, 0x45, 0x44, 0x55, 0x52, 0x41, 0x4c, + 0x5f, 0x49, 0x4d, 0x50, 0x4c, 0x28, 0x31, 0x32, 0x29, 0x3b, 0x0a, 0x4c, 0x55, 0x49, 0x53, 0x41, + 0x5f, 0x44, 0x45, 0x43, 0x4c, 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f, + 0x50, 0x52, 0x4f, 0x43, 0x45, 0x44, 0x55, 0x52, 0x41, 0x4c, 0x5f, 0x49, 0x4d, 0x50, 0x4c, 0x28, + 0x31, 0x33, 0x29, 0x3b, 0x0a, 0x4c, 0x55, 0x49, 0x53, 0x41, 0x5f, 0x44, 0x45, 0x43, 0x4c, 0x5f, + 0x52, 0x41, 0x59, 0x5f, 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f, 0x50, 0x52, 0x4f, 0x43, 0x45, 0x44, + 0x55, 0x52, 0x41, 0x4c, 0x5f, 0x49, 0x4d, 0x50, 0x4c, 0x28, 0x31, 0x34, 0x29, 0x3b, 0x0a, 0x4c, + 0x55, 0x49, 0x53, 0x41, 0x5f, 0x44, 0x45, 0x43, 0x4c, 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x51, 0x55, + 0x45, 0x52, 0x59, 0x5f, 0x50, 0x52, 0x4f, 0x43, 0x45, 0x44, 0x55, 0x52, 0x41, 0x4c, 0x5f, 0x49, + 0x4d, 0x50, 0x4c, 0x28, 0x31, 0x35, 0x29, 0x3b, 0x0a, 0x4c, 0x55, 0x49, 0x53, 0x41, 0x5f, 0x44, + 0x45, 0x43, 0x4c, 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f, 0x50, 0x52, + 0x4f, 0x43, 0x45, 0x44, 0x55, 0x52, 0x41, 0x4c, 0x5f, 0x49, 0x4d, 0x50, 0x4c, 0x28, 0x31, 0x36, + 0x29, 0x3b, 0x0a, 0x4c, 0x55, 0x49, 0x53, 0x41, 0x5f, 0x44, 0x45, 0x43, 0x4c, 0x5f, 0x52, 0x41, + 0x59, 0x5f, 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f, 0x50, 0x52, 0x4f, 0x43, 0x45, 0x44, 0x55, 0x52, + 0x41, 0x4c, 0x5f, 0x49, 0x4d, 0x50, 0x4c, 0x28, 0x31, 0x37, 0x29, 0x3b, 0x0a, 0x4c, 0x55, 0x49, + 0x53, 0x41, 0x5f, 0x44, 0x45, 0x43, 0x4c, 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x51, 0x55, 0x45, 0x52, + 0x59, 0x5f, 0x50, 0x52, 0x4f, 0x43, 0x45, 0x44, 0x55, 0x52, 0x41, 0x4c, 0x5f, 0x49, 0x4d, 0x50, + 0x4c, 0x28, 0x31, 0x38, 0x29, 0x3b, 0x0a, 0x4c, 0x55, 0x49, 0x53, 0x41, 0x5f, 0x44, 0x45, 0x43, + 0x4c, 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f, 0x50, 0x52, 0x4f, 0x43, + 0x45, 0x44, 0x55, 0x52, 0x41, 0x4c, 0x5f, 0x49, 0x4d, 0x50, 0x4c, 0x28, 0x31, 0x39, 0x29, 0x3b, + 0x0a, 0x4c, 0x55, 0x49, 0x53, 0x41, 0x5f, 0x44, 0x45, 0x43, 0x4c, 0x5f, 0x52, 0x41, 0x59, 0x5f, + 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f, 0x50, 0x52, 0x4f, 0x43, 0x45, 0x44, 0x55, 0x52, 0x41, 0x4c, + 0x5f, 0x49, 0x4d, 0x50, 0x4c, 0x28, 0x32, 0x30, 0x29, 0x3b, 0x0a, 0x4c, 0x55, 0x49, 0x53, 0x41, + 0x5f, 0x44, 0x45, 0x43, 0x4c, 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f, + 0x50, 0x52, 0x4f, 0x43, 0x45, 0x44, 0x55, 0x52, 0x41, 0x4c, 0x5f, 0x49, 0x4d, 0x50, 0x4c, 0x28, + 0x32, 0x31, 0x29, 0x3b, 0x0a, 0x4c, 0x55, 0x49, 0x53, 0x41, 0x5f, 0x44, 0x45, 0x43, 0x4c, 0x5f, + 0x52, 0x41, 0x59, 0x5f, 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f, 0x50, 0x52, 0x4f, 0x43, 0x45, 0x44, + 0x55, 0x52, 0x41, 0x4c, 0x5f, 0x49, 0x4d, 0x50, 0x4c, 0x28, 0x32, 0x32, 0x29, 0x3b, 0x0a, 0x4c, + 0x55, 0x49, 0x53, 0x41, 0x5f, 0x44, 0x45, 0x43, 0x4c, 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x51, 0x55, + 0x45, 0x52, 0x59, 0x5f, 0x50, 0x52, 0x4f, 0x43, 0x45, 0x44, 0x55, 0x52, 0x41, 0x4c, 0x5f, 0x49, + 0x4d, 0x50, 0x4c, 0x28, 0x32, 0x33, 0x29, 0x3b, 0x0a, 0x4c, 0x55, 0x49, 0x53, 0x41, 0x5f, 0x44, + 0x45, 0x43, 0x4c, 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f, 0x50, 0x52, + 0x4f, 0x43, 0x45, 0x44, 0x55, 0x52, 0x41, 0x4c, 0x5f, 0x49, 0x4d, 0x50, 0x4c, 0x28, 0x32, 0x34, + 0x29, 0x3b, 0x0a, 0x4c, 0x55, 0x49, 0x53, 0x41, 0x5f, 0x44, 0x45, 0x43, 0x4c, 0x5f, 0x52, 0x41, + 0x59, 0x5f, 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f, 0x50, 0x52, 0x4f, 0x43, 0x45, 0x44, 0x55, 0x52, + 0x41, 0x4c, 0x5f, 0x49, 0x4d, 0x50, 0x4c, 0x28, 0x32, 0x35, 0x29, 0x3b, 0x0a, 0x4c, 0x55, 0x49, + 0x53, 0x41, 0x5f, 0x44, 0x45, 0x43, 0x4c, 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x51, 0x55, 0x45, 0x52, + 0x59, 0x5f, 0x50, 0x52, 0x4f, 0x43, 0x45, 0x44, 0x55, 0x52, 0x41, 0x4c, 0x5f, 0x49, 0x4d, 0x50, + 0x4c, 0x28, 0x32, 0x36, 0x29, 0x3b, 0x0a, 0x4c, 0x55, 0x49, 0x53, 0x41, 0x5f, 0x44, 0x45, 0x43, + 0x4c, 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f, 0x50, 0x52, 0x4f, 0x43, + 0x45, 0x44, 0x55, 0x52, 0x41, 0x4c, 0x5f, 0x49, 0x4d, 0x50, 0x4c, 0x28, 0x32, 0x37, 0x29, 0x3b, + 0x0a, 0x4c, 0x55, 0x49, 0x53, 0x41, 0x5f, 0x44, 0x45, 0x43, 0x4c, 0x5f, 0x52, 0x41, 0x59, 0x5f, + 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f, 0x50, 0x52, 0x4f, 0x43, 0x45, 0x44, 0x55, 0x52, 0x41, 0x4c, + 0x5f, 0x49, 0x4d, 0x50, 0x4c, 0x28, 0x32, 0x38, 0x29, 0x3b, 0x0a, 0x4c, 0x55, 0x49, 0x53, 0x41, + 0x5f, 0x44, 0x45, 0x43, 0x4c, 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f, + 0x50, 0x52, 0x4f, 0x43, 0x45, 0x44, 0x55, 0x52, 0x41, 0x4c, 0x5f, 0x49, 0x4d, 0x50, 0x4c, 0x28, + 0x32, 0x39, 0x29, 0x3b, 0x0a, 0x4c, 0x55, 0x49, 0x53, 0x41, 0x5f, 0x44, 0x45, 0x43, 0x4c, 0x5f, + 0x52, 0x41, 0x59, 0x5f, 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f, 0x50, 0x52, 0x4f, 0x43, 0x45, 0x44, + 0x55, 0x52, 0x41, 0x4c, 0x5f, 0x49, 0x4d, 0x50, 0x4c, 0x28, 0x33, 0x30, 0x29, 0x3b, 0x0a, 0x4c, + 0x55, 0x49, 0x53, 0x41, 0x5f, 0x44, 0x45, 0x43, 0x4c, 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x51, 0x55, + 0x45, 0x52, 0x59, 0x5f, 0x50, 0x52, 0x4f, 0x43, 0x45, 0x44, 0x55, 0x52, 0x41, 0x4c, 0x5f, 0x49, + 0x4d, 0x50, 0x4c, 0x28, 0x33, 0x31, 0x29, 0x3b, 0x0a, 0x0a, 0x4c, 0x55, 0x49, 0x53, 0x41, 0x5f, + 0x44, 0x45, 0x43, 0x4c, 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f, 0x54, + 0x52, 0x49, 0x41, 0x4e, 0x47, 0x4c, 0x45, 0x5f, 0x49, 0x4d, 0x50, 0x4c, 0x28, 0x30, 0x29, 0x3b, 0x0a, 0x4c, 0x55, 0x49, 0x53, 0x41, 0x5f, 0x44, 0x45, 0x43, 0x4c, 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f, 0x54, 0x52, 0x49, 0x41, 0x4e, 0x47, 0x4c, 0x45, 0x5f, 0x49, - 0x4d, 0x50, 0x4c, 0x28, 0x30, 0x29, 0x3b, 0x0a, 0x4c, 0x55, 0x49, 0x53, 0x41, 0x5f, 0x44, 0x45, + 0x4d, 0x50, 0x4c, 0x28, 0x31, 0x29, 0x3b, 0x0a, 0x4c, 0x55, 0x49, 0x53, 0x41, 0x5f, 0x44, 0x45, 0x43, 0x4c, 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f, 0x54, 0x52, 0x49, - 0x41, 0x4e, 0x47, 0x4c, 0x45, 0x5f, 0x49, 0x4d, 0x50, 0x4c, 0x28, 0x31, 0x29, 0x3b, 0x0a, 0x4c, + 0x41, 0x4e, 0x47, 0x4c, 0x45, 0x5f, 0x49, 0x4d, 0x50, 0x4c, 0x28, 0x32, 0x29, 0x3b, 0x0a, 0x4c, 0x55, 0x49, 0x53, 0x41, 0x5f, 0x44, 0x45, 0x43, 0x4c, 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f, 0x54, 0x52, 0x49, 0x41, 0x4e, 0x47, 0x4c, 0x45, 0x5f, 0x49, 0x4d, 0x50, - 0x4c, 0x28, 0x32, 0x29, 0x3b, 0x0a, 0x4c, 0x55, 0x49, 0x53, 0x41, 0x5f, 0x44, 0x45, 0x43, 0x4c, + 0x4c, 0x28, 0x33, 0x29, 0x3b, 0x0a, 0x4c, 0x55, 0x49, 0x53, 0x41, 0x5f, 0x44, 0x45, 0x43, 0x4c, 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f, 0x54, 0x52, 0x49, 0x41, 0x4e, - 0x47, 0x4c, 0x45, 0x5f, 0x49, 0x4d, 0x50, 0x4c, 0x28, 0x33, 0x29, 0x3b, 0x0a, 0x4c, 0x55, 0x49, + 0x47, 0x4c, 0x45, 0x5f, 0x49, 0x4d, 0x50, 0x4c, 0x28, 0x34, 0x29, 0x3b, 0x0a, 0x4c, 0x55, 0x49, 0x53, 0x41, 0x5f, 0x44, 0x45, 0x43, 0x4c, 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f, 0x54, 0x52, 0x49, 0x41, 0x4e, 0x47, 0x4c, 0x45, 0x5f, 0x49, 0x4d, 0x50, 0x4c, 0x28, - 0x34, 0x29, 0x3b, 0x0a, 0x4c, 0x55, 0x49, 0x53, 0x41, 0x5f, 0x44, 0x45, 0x43, 0x4c, 0x5f, 0x52, + 0x35, 0x29, 0x3b, 0x0a, 0x4c, 0x55, 0x49, 0x53, 0x41, 0x5f, 0x44, 0x45, 0x43, 0x4c, 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f, 0x54, 0x52, 0x49, 0x41, 0x4e, 0x47, 0x4c, - 0x45, 0x5f, 0x49, 0x4d, 0x50, 0x4c, 0x28, 0x35, 0x29, 0x3b, 0x0a, 0x4c, 0x55, 0x49, 0x53, 0x41, + 0x45, 0x5f, 0x49, 0x4d, 0x50, 0x4c, 0x28, 0x36, 0x29, 0x3b, 0x0a, 0x4c, 0x55, 0x49, 0x53, 0x41, 0x5f, 0x44, 0x45, 0x43, 0x4c, 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f, - 0x54, 0x52, 0x49, 0x41, 0x4e, 0x47, 0x4c, 0x45, 0x5f, 0x49, 0x4d, 0x50, 0x4c, 0x28, 0x36, 0x29, + 0x54, 0x52, 0x49, 0x41, 0x4e, 0x47, 0x4c, 0x45, 0x5f, 0x49, 0x4d, 0x50, 0x4c, 0x28, 0x37, 0x29, 0x3b, 0x0a, 0x4c, 0x55, 0x49, 0x53, 0x41, 0x5f, 0x44, 0x45, 0x43, 0x4c, 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f, 0x54, 0x52, 0x49, 0x41, 0x4e, 0x47, 0x4c, 0x45, 0x5f, - 0x49, 0x4d, 0x50, 0x4c, 0x28, 0x37, 0x29, 0x3b, 0x0a, 0x4c, 0x55, 0x49, 0x53, 0x41, 0x5f, 0x44, + 0x49, 0x4d, 0x50, 0x4c, 0x28, 0x38, 0x29, 0x3b, 0x0a, 0x4c, 0x55, 0x49, 0x53, 0x41, 0x5f, 0x44, 0x45, 0x43, 0x4c, 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f, 0x54, 0x52, - 0x49, 0x41, 0x4e, 0x47, 0x4c, 0x45, 0x5f, 0x49, 0x4d, 0x50, 0x4c, 0x28, 0x38, 0x29, 0x3b, 0x0a, + 0x49, 0x41, 0x4e, 0x47, 0x4c, 0x45, 0x5f, 0x49, 0x4d, 0x50, 0x4c, 0x28, 0x39, 0x29, 0x3b, 0x0a, 0x4c, 0x55, 0x49, 0x53, 0x41, 0x5f, 0x44, 0x45, 0x43, 0x4c, 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f, 0x54, 0x52, 0x49, 0x41, 0x4e, 0x47, 0x4c, 0x45, 0x5f, 0x49, 0x4d, - 0x50, 0x4c, 0x28, 0x39, 0x29, 0x3b, 0x0a, 0x4c, 0x55, 0x49, 0x53, 0x41, 0x5f, 0x44, 0x45, 0x43, - 0x4c, 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f, 0x54, 0x52, 0x49, 0x41, - 0x4e, 0x47, 0x4c, 0x45, 0x5f, 0x49, 0x4d, 0x50, 0x4c, 0x28, 0x31, 0x30, 0x29, 0x3b, 0x0a, 0x4c, - 0x55, 0x49, 0x53, 0x41, 0x5f, 0x44, 0x45, 0x43, 0x4c, 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x51, 0x55, - 0x45, 0x52, 0x59, 0x5f, 0x54, 0x52, 0x49, 0x41, 0x4e, 0x47, 0x4c, 0x45, 0x5f, 0x49, 0x4d, 0x50, - 0x4c, 0x28, 0x31, 0x31, 0x29, 0x3b, 0x0a, 0x4c, 0x55, 0x49, 0x53, 0x41, 0x5f, 0x44, 0x45, 0x43, - 0x4c, 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f, 0x54, 0x52, 0x49, 0x41, - 0x4e, 0x47, 0x4c, 0x45, 0x5f, 0x49, 0x4d, 0x50, 0x4c, 0x28, 0x31, 0x32, 0x29, 0x3b, 0x0a, 0x4c, - 0x55, 0x49, 0x53, 0x41, 0x5f, 0x44, 0x45, 0x43, 0x4c, 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x51, 0x55, - 0x45, 0x52, 0x59, 0x5f, 0x54, 0x52, 0x49, 0x41, 0x4e, 0x47, 0x4c, 0x45, 0x5f, 0x49, 0x4d, 0x50, - 0x4c, 0x28, 0x31, 0x33, 0x29, 0x3b, 0x0a, 0x4c, 0x55, 0x49, 0x53, 0x41, 0x5f, 0x44, 0x45, 0x43, - 0x4c, 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f, 0x54, 0x52, 0x49, 0x41, - 0x4e, 0x47, 0x4c, 0x45, 0x5f, 0x49, 0x4d, 0x50, 0x4c, 0x28, 0x31, 0x34, 0x29, 0x3b, 0x0a, 0x4c, - 0x55, 0x49, 0x53, 0x41, 0x5f, 0x44, 0x45, 0x43, 0x4c, 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x51, 0x55, - 0x45, 0x52, 0x59, 0x5f, 0x54, 0x52, 0x49, 0x41, 0x4e, 0x47, 0x4c, 0x45, 0x5f, 0x49, 0x4d, 0x50, - 0x4c, 0x28, 0x31, 0x35, 0x29, 0x3b, 0x0a, 0x4c, 0x55, 0x49, 0x53, 0x41, 0x5f, 0x44, 0x45, 0x43, - 0x4c, 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f, 0x54, 0x52, 0x49, 0x41, - 0x4e, 0x47, 0x4c, 0x45, 0x5f, 0x49, 0x4d, 0x50, 0x4c, 0x28, 0x31, 0x36, 0x29, 0x3b, 0x0a, 0x4c, - 0x55, 0x49, 0x53, 0x41, 0x5f, 0x44, 0x45, 0x43, 0x4c, 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x51, 0x55, - 0x45, 0x52, 0x59, 0x5f, 0x54, 0x52, 0x49, 0x41, 0x4e, 0x47, 0x4c, 0x45, 0x5f, 0x49, 0x4d, 0x50, - 0x4c, 0x28, 0x31, 0x37, 0x29, 0x3b, 0x0a, 0x4c, 0x55, 0x49, 0x53, 0x41, 0x5f, 0x44, 0x45, 0x43, - 0x4c, 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f, 0x54, 0x52, 0x49, 0x41, - 0x4e, 0x47, 0x4c, 0x45, 0x5f, 0x49, 0x4d, 0x50, 0x4c, 0x28, 0x31, 0x38, 0x29, 0x3b, 0x0a, 0x4c, - 0x55, 0x49, 0x53, 0x41, 0x5f, 0x44, 0x45, 0x43, 0x4c, 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x51, 0x55, - 0x45, 0x52, 0x59, 0x5f, 0x54, 0x52, 0x49, 0x41, 0x4e, 0x47, 0x4c, 0x45, 0x5f, 0x49, 0x4d, 0x50, - 0x4c, 0x28, 0x31, 0x39, 0x29, 0x3b, 0x0a, 0x4c, 0x55, 0x49, 0x53, 0x41, 0x5f, 0x44, 0x45, 0x43, - 0x4c, 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f, 0x54, 0x52, 0x49, 0x41, - 0x4e, 0x47, 0x4c, 0x45, 0x5f, 0x49, 0x4d, 0x50, 0x4c, 0x28, 0x32, 0x30, 0x29, 0x3b, 0x0a, 0x4c, - 0x55, 0x49, 0x53, 0x41, 0x5f, 0x44, 0x45, 0x43, 0x4c, 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x51, 0x55, - 0x45, 0x52, 0x59, 0x5f, 0x54, 0x52, 0x49, 0x41, 0x4e, 0x47, 0x4c, 0x45, 0x5f, 0x49, 0x4d, 0x50, - 0x4c, 0x28, 0x32, 0x31, 0x29, 0x3b, 0x0a, 0x4c, 0x55, 0x49, 0x53, 0x41, 0x5f, 0x44, 0x45, 0x43, - 0x4c, 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f, 0x54, 0x52, 0x49, 0x41, - 0x4e, 0x47, 0x4c, 0x45, 0x5f, 0x49, 0x4d, 0x50, 0x4c, 0x28, 0x32, 0x32, 0x29, 0x3b, 0x0a, 0x4c, - 0x55, 0x49, 0x53, 0x41, 0x5f, 0x44, 0x45, 0x43, 0x4c, 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x51, 0x55, - 0x45, 0x52, 0x59, 0x5f, 0x54, 0x52, 0x49, 0x41, 0x4e, 0x47, 0x4c, 0x45, 0x5f, 0x49, 0x4d, 0x50, - 0x4c, 0x28, 0x32, 0x33, 0x29, 0x3b, 0x0a, 0x4c, 0x55, 0x49, 0x53, 0x41, 0x5f, 0x44, 0x45, 0x43, - 0x4c, 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f, 0x54, 0x52, 0x49, 0x41, - 0x4e, 0x47, 0x4c, 0x45, 0x5f, 0x49, 0x4d, 0x50, 0x4c, 0x28, 0x32, 0x34, 0x29, 0x3b, 0x0a, 0x4c, - 0x55, 0x49, 0x53, 0x41, 0x5f, 0x44, 0x45, 0x43, 0x4c, 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x51, 0x55, - 0x45, 0x52, 0x59, 0x5f, 0x54, 0x52, 0x49, 0x41, 0x4e, 0x47, 0x4c, 0x45, 0x5f, 0x49, 0x4d, 0x50, - 0x4c, 0x28, 0x32, 0x35, 0x29, 0x3b, 0x0a, 0x4c, 0x55, 0x49, 0x53, 0x41, 0x5f, 0x44, 0x45, 0x43, - 0x4c, 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f, 0x54, 0x52, 0x49, 0x41, - 0x4e, 0x47, 0x4c, 0x45, 0x5f, 0x49, 0x4d, 0x50, 0x4c, 0x28, 0x32, 0x36, 0x29, 0x3b, 0x0a, 0x4c, - 0x55, 0x49, 0x53, 0x41, 0x5f, 0x44, 0x45, 0x43, 0x4c, 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x51, 0x55, - 0x45, 0x52, 0x59, 0x5f, 0x54, 0x52, 0x49, 0x41, 0x4e, 0x47, 0x4c, 0x45, 0x5f, 0x49, 0x4d, 0x50, - 0x4c, 0x28, 0x32, 0x37, 0x29, 0x3b, 0x0a, 0x4c, 0x55, 0x49, 0x53, 0x41, 0x5f, 0x44, 0x45, 0x43, - 0x4c, 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f, 0x54, 0x52, 0x49, 0x41, - 0x4e, 0x47, 0x4c, 0x45, 0x5f, 0x49, 0x4d, 0x50, 0x4c, 0x28, 0x32, 0x38, 0x29, 0x3b, 0x0a, 0x4c, - 0x55, 0x49, 0x53, 0x41, 0x5f, 0x44, 0x45, 0x43, 0x4c, 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x51, 0x55, - 0x45, 0x52, 0x59, 0x5f, 0x54, 0x52, 0x49, 0x41, 0x4e, 0x47, 0x4c, 0x45, 0x5f, 0x49, 0x4d, 0x50, - 0x4c, 0x28, 0x32, 0x39, 0x29, 0x3b, 0x0a, 0x4c, 0x55, 0x49, 0x53, 0x41, 0x5f, 0x44, 0x45, 0x43, - 0x4c, 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f, 0x54, 0x52, 0x49, 0x41, - 0x4e, 0x47, 0x4c, 0x45, 0x5f, 0x49, 0x4d, 0x50, 0x4c, 0x28, 0x33, 0x30, 0x29, 0x3b, 0x0a, 0x4c, - 0x55, 0x49, 0x53, 0x41, 0x5f, 0x44, 0x45, 0x43, 0x4c, 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x51, 0x55, - 0x45, 0x52, 0x59, 0x5f, 0x54, 0x52, 0x49, 0x41, 0x4e, 0x47, 0x4c, 0x45, 0x5f, 0x49, 0x4d, 0x50, - 0x4c, 0x28, 0x33, 0x31, 0x29, 0x3b, 0x0a, 0x0a, 0x23, 0x69, 0x66, 0x64, 0x65, 0x66, 0x20, 0x4c, - 0x55, 0x49, 0x53, 0x41, 0x5f, 0x45, 0x4e, 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x4f, 0x50, 0x54, 0x49, - 0x58, 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x51, 0x55, 0x45, 0x52, 0x59, 0x0a, 0x0a, 0x65, 0x78, 0x74, - 0x65, 0x72, 0x6e, 0x20, 0x22, 0x43, 0x22, 0x20, 0x5f, 0x5f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, - 0x5f, 0x5f, 0x20, 0x76, 0x6f, 0x69, 0x64, 0x20, 0x5f, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x73, - 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x5f, 0x72, 0x61, 0x79, 0x5f, 0x71, 0x75, 0x65, 0x72, - 0x79, 0x28, 0x29, 0x20, 0x7b, 0x0a, 0x23, 0x69, 0x66, 0x20, 0x4c, 0x55, 0x49, 0x53, 0x41, 0x5f, - 0x52, 0x41, 0x59, 0x5f, 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f, 0x49, 0x4d, 0x50, 0x4c, 0x5f, 0x43, - 0x4f, 0x55, 0x4e, 0x54, 0x20, 0x3e, 0x20, 0x30, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, - 0x73, 0x65, 0x74, 0x5f, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x74, 0x79, 0x70, 0x65, - 0x73, 0x28, 0x4c, 0x43, 0x5f, 0x50, 0x41, 0x59, 0x4c, 0x4f, 0x41, 0x44, 0x5f, 0x54, 0x59, 0x50, - 0x45, 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x51, 0x55, 0x45, 0x52, 0x59, 0x29, 0x3b, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x69, 0x64, 0x5f, - 0x61, 0x6e, 0x64, 0x5f, 0x70, 0x5f, 0x63, 0x74, 0x78, 0x5f, 0x68, 0x69, 0x20, 0x3d, 0x20, 0x6c, - 0x63, 0x5f, 0x67, 0x65, 0x74, 0x5f, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x3c, 0x30, 0x75, - 0x3e, 0x28, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x71, 0x75, - 0x65, 0x72, 0x79, 0x5f, 0x69, 0x64, 0x20, 0x3d, 0x20, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x5f, - 0x63, 0x61, 0x73, 0x74, 0x3c, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x3e, 0x28, 0x71, 0x75, - 0x65, 0x72, 0x79, 0x5f, 0x69, 0x64, 0x5f, 0x61, 0x6e, 0x64, 0x5f, 0x70, 0x5f, 0x63, 0x74, 0x78, - 0x5f, 0x68, 0x69, 0x20, 0x3e, 0x3e, 0x20, 0x32, 0x34, 0x75, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x70, 0x5f, 0x63, 0x74, 0x78, 0x5f, 0x68, 0x69, 0x20, 0x3d, - 0x20, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x6c, 0x63, 0x5f, - 0x75, 0x69, 0x6e, 0x74, 0x3e, 0x28, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x69, 0x64, 0x5f, 0x61, - 0x6e, 0x64, 0x5f, 0x70, 0x5f, 0x63, 0x74, 0x78, 0x5f, 0x68, 0x69, 0x20, 0x26, 0x20, 0x30, 0x78, - 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x75, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x75, - 0x74, 0x6f, 0x20, 0x70, 0x5f, 0x63, 0x74, 0x78, 0x5f, 0x6c, 0x6f, 0x20, 0x3d, 0x20, 0x6c, 0x63, - 0x5f, 0x67, 0x65, 0x74, 0x5f, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x3c, 0x31, 0x75, 0x3e, - 0x28, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x63, 0x74, 0x78, - 0x20, 0x3d, 0x20, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, - 0x61, 0x73, 0x74, 0x3c, 0x76, 0x6f, 0x69, 0x64, 0x20, 0x2a, 0x3e, 0x28, 0x28, 0x73, 0x74, 0x61, - 0x74, 0x69, 0x63, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x6c, 0x63, 0x5f, 0x75, 0x6c, 0x6f, 0x6e, - 0x67, 0x3e, 0x28, 0x70, 0x5f, 0x63, 0x74, 0x78, 0x5f, 0x68, 0x69, 0x29, 0x20, 0x3c, 0x3c, 0x20, - 0x33, 0x32, 0x75, 0x29, 0x20, 0x7c, 0x20, 0x70, 0x5f, 0x63, 0x74, 0x78, 0x5f, 0x6c, 0x6f, 0x29, - 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x4c, 0x43, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x65, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x20, 0x72, 0x7b, 0x7d, 0x3b, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x73, 0x77, 0x69, 0x74, 0x63, 0x68, 0x20, 0x28, 0x71, 0x75, 0x65, 0x72, - 0x79, 0x5f, 0x69, 0x64, 0x29, 0x20, 0x7b, 0x0a, 0x23, 0x69, 0x66, 0x20, 0x4c, 0x55, 0x49, 0x53, - 0x41, 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f, 0x49, 0x4d, 0x50, 0x4c, - 0x5f, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x20, 0x3e, 0x20, 0x30, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x63, 0x61, 0x73, 0x65, 0x20, 0x30, 0x75, 0x3a, 0x20, 0x72, 0x20, 0x3d, 0x20, - 0x6c, 0x63, 0x5f, 0x72, 0x61, 0x79, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x70, 0x72, 0x6f, - 0x63, 0x65, 0x64, 0x75, 0x72, 0x61, 0x6c, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x65, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x30, 0x28, 0x63, 0x74, 0x78, 0x29, 0x3b, 0x20, 0x62, 0x72, 0x65, - 0x61, 0x6b, 0x3b, 0x0a, 0x23, 0x65, 0x6e, 0x64, 0x69, 0x66, 0x0a, 0x23, 0x69, 0x66, 0x20, 0x4c, - 0x55, 0x49, 0x53, 0x41, 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f, 0x49, - 0x4d, 0x50, 0x4c, 0x5f, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x20, 0x3e, 0x20, 0x31, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x61, 0x73, 0x65, 0x20, 0x31, 0x75, 0x3a, 0x20, 0x72, - 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x72, 0x61, 0x79, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, - 0x70, 0x72, 0x6f, 0x63, 0x65, 0x64, 0x75, 0x72, 0x61, 0x6c, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, - 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x31, 0x28, 0x63, 0x74, 0x78, 0x29, 0x3b, 0x20, - 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, 0x23, 0x65, 0x6e, 0x64, 0x69, 0x66, 0x0a, 0x23, 0x69, - 0x66, 0x20, 0x4c, 0x55, 0x49, 0x53, 0x41, 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x51, 0x55, 0x45, 0x52, - 0x59, 0x5f, 0x49, 0x4d, 0x50, 0x4c, 0x5f, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x20, 0x3e, 0x20, 0x32, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x61, 0x73, 0x65, 0x20, 0x32, 0x75, - 0x3a, 0x20, 0x72, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x72, 0x61, 0x79, 0x5f, 0x71, 0x75, 0x65, - 0x72, 0x79, 0x5f, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x64, 0x75, 0x72, 0x61, 0x6c, 0x5f, 0x69, 0x6e, - 0x74, 0x65, 0x72, 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x32, 0x28, 0x63, 0x74, 0x78, - 0x29, 0x3b, 0x20, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, 0x23, 0x65, 0x6e, 0x64, 0x69, 0x66, + 0x50, 0x4c, 0x28, 0x31, 0x30, 0x29, 0x3b, 0x0a, 0x4c, 0x55, 0x49, 0x53, 0x41, 0x5f, 0x44, 0x45, + 0x43, 0x4c, 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f, 0x54, 0x52, 0x49, + 0x41, 0x4e, 0x47, 0x4c, 0x45, 0x5f, 0x49, 0x4d, 0x50, 0x4c, 0x28, 0x31, 0x31, 0x29, 0x3b, 0x0a, + 0x4c, 0x55, 0x49, 0x53, 0x41, 0x5f, 0x44, 0x45, 0x43, 0x4c, 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x51, + 0x55, 0x45, 0x52, 0x59, 0x5f, 0x54, 0x52, 0x49, 0x41, 0x4e, 0x47, 0x4c, 0x45, 0x5f, 0x49, 0x4d, + 0x50, 0x4c, 0x28, 0x31, 0x32, 0x29, 0x3b, 0x0a, 0x4c, 0x55, 0x49, 0x53, 0x41, 0x5f, 0x44, 0x45, + 0x43, 0x4c, 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f, 0x54, 0x52, 0x49, + 0x41, 0x4e, 0x47, 0x4c, 0x45, 0x5f, 0x49, 0x4d, 0x50, 0x4c, 0x28, 0x31, 0x33, 0x29, 0x3b, 0x0a, + 0x4c, 0x55, 0x49, 0x53, 0x41, 0x5f, 0x44, 0x45, 0x43, 0x4c, 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x51, + 0x55, 0x45, 0x52, 0x59, 0x5f, 0x54, 0x52, 0x49, 0x41, 0x4e, 0x47, 0x4c, 0x45, 0x5f, 0x49, 0x4d, + 0x50, 0x4c, 0x28, 0x31, 0x34, 0x29, 0x3b, 0x0a, 0x4c, 0x55, 0x49, 0x53, 0x41, 0x5f, 0x44, 0x45, + 0x43, 0x4c, 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f, 0x54, 0x52, 0x49, + 0x41, 0x4e, 0x47, 0x4c, 0x45, 0x5f, 0x49, 0x4d, 0x50, 0x4c, 0x28, 0x31, 0x35, 0x29, 0x3b, 0x0a, + 0x4c, 0x55, 0x49, 0x53, 0x41, 0x5f, 0x44, 0x45, 0x43, 0x4c, 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x51, + 0x55, 0x45, 0x52, 0x59, 0x5f, 0x54, 0x52, 0x49, 0x41, 0x4e, 0x47, 0x4c, 0x45, 0x5f, 0x49, 0x4d, + 0x50, 0x4c, 0x28, 0x31, 0x36, 0x29, 0x3b, 0x0a, 0x4c, 0x55, 0x49, 0x53, 0x41, 0x5f, 0x44, 0x45, + 0x43, 0x4c, 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f, 0x54, 0x52, 0x49, + 0x41, 0x4e, 0x47, 0x4c, 0x45, 0x5f, 0x49, 0x4d, 0x50, 0x4c, 0x28, 0x31, 0x37, 0x29, 0x3b, 0x0a, + 0x4c, 0x55, 0x49, 0x53, 0x41, 0x5f, 0x44, 0x45, 0x43, 0x4c, 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x51, + 0x55, 0x45, 0x52, 0x59, 0x5f, 0x54, 0x52, 0x49, 0x41, 0x4e, 0x47, 0x4c, 0x45, 0x5f, 0x49, 0x4d, + 0x50, 0x4c, 0x28, 0x31, 0x38, 0x29, 0x3b, 0x0a, 0x4c, 0x55, 0x49, 0x53, 0x41, 0x5f, 0x44, 0x45, + 0x43, 0x4c, 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f, 0x54, 0x52, 0x49, + 0x41, 0x4e, 0x47, 0x4c, 0x45, 0x5f, 0x49, 0x4d, 0x50, 0x4c, 0x28, 0x31, 0x39, 0x29, 0x3b, 0x0a, + 0x4c, 0x55, 0x49, 0x53, 0x41, 0x5f, 0x44, 0x45, 0x43, 0x4c, 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x51, + 0x55, 0x45, 0x52, 0x59, 0x5f, 0x54, 0x52, 0x49, 0x41, 0x4e, 0x47, 0x4c, 0x45, 0x5f, 0x49, 0x4d, + 0x50, 0x4c, 0x28, 0x32, 0x30, 0x29, 0x3b, 0x0a, 0x4c, 0x55, 0x49, 0x53, 0x41, 0x5f, 0x44, 0x45, + 0x43, 0x4c, 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f, 0x54, 0x52, 0x49, + 0x41, 0x4e, 0x47, 0x4c, 0x45, 0x5f, 0x49, 0x4d, 0x50, 0x4c, 0x28, 0x32, 0x31, 0x29, 0x3b, 0x0a, + 0x4c, 0x55, 0x49, 0x53, 0x41, 0x5f, 0x44, 0x45, 0x43, 0x4c, 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x51, + 0x55, 0x45, 0x52, 0x59, 0x5f, 0x54, 0x52, 0x49, 0x41, 0x4e, 0x47, 0x4c, 0x45, 0x5f, 0x49, 0x4d, + 0x50, 0x4c, 0x28, 0x32, 0x32, 0x29, 0x3b, 0x0a, 0x4c, 0x55, 0x49, 0x53, 0x41, 0x5f, 0x44, 0x45, + 0x43, 0x4c, 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f, 0x54, 0x52, 0x49, + 0x41, 0x4e, 0x47, 0x4c, 0x45, 0x5f, 0x49, 0x4d, 0x50, 0x4c, 0x28, 0x32, 0x33, 0x29, 0x3b, 0x0a, + 0x4c, 0x55, 0x49, 0x53, 0x41, 0x5f, 0x44, 0x45, 0x43, 0x4c, 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x51, + 0x55, 0x45, 0x52, 0x59, 0x5f, 0x54, 0x52, 0x49, 0x41, 0x4e, 0x47, 0x4c, 0x45, 0x5f, 0x49, 0x4d, + 0x50, 0x4c, 0x28, 0x32, 0x34, 0x29, 0x3b, 0x0a, 0x4c, 0x55, 0x49, 0x53, 0x41, 0x5f, 0x44, 0x45, + 0x43, 0x4c, 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f, 0x54, 0x52, 0x49, + 0x41, 0x4e, 0x47, 0x4c, 0x45, 0x5f, 0x49, 0x4d, 0x50, 0x4c, 0x28, 0x32, 0x35, 0x29, 0x3b, 0x0a, + 0x4c, 0x55, 0x49, 0x53, 0x41, 0x5f, 0x44, 0x45, 0x43, 0x4c, 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x51, + 0x55, 0x45, 0x52, 0x59, 0x5f, 0x54, 0x52, 0x49, 0x41, 0x4e, 0x47, 0x4c, 0x45, 0x5f, 0x49, 0x4d, + 0x50, 0x4c, 0x28, 0x32, 0x36, 0x29, 0x3b, 0x0a, 0x4c, 0x55, 0x49, 0x53, 0x41, 0x5f, 0x44, 0x45, + 0x43, 0x4c, 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f, 0x54, 0x52, 0x49, + 0x41, 0x4e, 0x47, 0x4c, 0x45, 0x5f, 0x49, 0x4d, 0x50, 0x4c, 0x28, 0x32, 0x37, 0x29, 0x3b, 0x0a, + 0x4c, 0x55, 0x49, 0x53, 0x41, 0x5f, 0x44, 0x45, 0x43, 0x4c, 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x51, + 0x55, 0x45, 0x52, 0x59, 0x5f, 0x54, 0x52, 0x49, 0x41, 0x4e, 0x47, 0x4c, 0x45, 0x5f, 0x49, 0x4d, + 0x50, 0x4c, 0x28, 0x32, 0x38, 0x29, 0x3b, 0x0a, 0x4c, 0x55, 0x49, 0x53, 0x41, 0x5f, 0x44, 0x45, + 0x43, 0x4c, 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f, 0x54, 0x52, 0x49, + 0x41, 0x4e, 0x47, 0x4c, 0x45, 0x5f, 0x49, 0x4d, 0x50, 0x4c, 0x28, 0x32, 0x39, 0x29, 0x3b, 0x0a, + 0x4c, 0x55, 0x49, 0x53, 0x41, 0x5f, 0x44, 0x45, 0x43, 0x4c, 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x51, + 0x55, 0x45, 0x52, 0x59, 0x5f, 0x54, 0x52, 0x49, 0x41, 0x4e, 0x47, 0x4c, 0x45, 0x5f, 0x49, 0x4d, + 0x50, 0x4c, 0x28, 0x33, 0x30, 0x29, 0x3b, 0x0a, 0x4c, 0x55, 0x49, 0x53, 0x41, 0x5f, 0x44, 0x45, + 0x43, 0x4c, 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f, 0x54, 0x52, 0x49, + 0x41, 0x4e, 0x47, 0x4c, 0x45, 0x5f, 0x49, 0x4d, 0x50, 0x4c, 0x28, 0x33, 0x31, 0x29, 0x3b, 0x0a, + 0x0a, 0x23, 0x69, 0x66, 0x64, 0x65, 0x66, 0x20, 0x4c, 0x55, 0x49, 0x53, 0x41, 0x5f, 0x45, 0x4e, + 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x4f, 0x50, 0x54, 0x49, 0x58, 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x51, + 0x55, 0x45, 0x52, 0x59, 0x0a, 0x0a, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x20, 0x22, 0x43, 0x22, + 0x20, 0x5f, 0x5f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x5f, 0x5f, 0x20, 0x76, 0x6f, 0x69, 0x64, + 0x20, 0x5f, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, + 0x5f, 0x72, 0x61, 0x79, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x28, 0x29, 0x20, 0x7b, 0x0a, 0x23, + 0x69, 0x66, 0x20, 0x4c, 0x55, 0x49, 0x53, 0x41, 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x51, 0x55, 0x45, + 0x52, 0x59, 0x5f, 0x49, 0x4d, 0x50, 0x4c, 0x5f, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x20, 0x3e, 0x20, + 0x30, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x70, 0x61, 0x79, + 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x28, 0x4c, 0x43, 0x5f, 0x50, 0x41, + 0x59, 0x4c, 0x4f, 0x41, 0x44, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x51, + 0x55, 0x45, 0x52, 0x59, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, + 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x69, 0x64, 0x5f, 0x61, 0x6e, 0x64, 0x5f, 0x70, 0x5f, 0x63, + 0x74, 0x78, 0x5f, 0x68, 0x69, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x67, 0x65, 0x74, 0x5f, 0x70, + 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x3c, 0x30, 0x75, 0x3e, 0x28, 0x29, 0x3b, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x69, 0x64, 0x20, + 0x3d, 0x20, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x6c, 0x63, + 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x3e, 0x28, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x69, 0x64, 0x5f, + 0x61, 0x6e, 0x64, 0x5f, 0x70, 0x5f, 0x63, 0x74, 0x78, 0x5f, 0x68, 0x69, 0x20, 0x3e, 0x3e, 0x20, + 0x32, 0x34, 0x75, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x70, + 0x5f, 0x63, 0x74, 0x78, 0x5f, 0x68, 0x69, 0x20, 0x3d, 0x20, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, + 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x3e, 0x28, 0x71, + 0x75, 0x65, 0x72, 0x79, 0x5f, 0x69, 0x64, 0x5f, 0x61, 0x6e, 0x64, 0x5f, 0x70, 0x5f, 0x63, 0x74, + 0x78, 0x5f, 0x68, 0x69, 0x20, 0x26, 0x20, 0x30, 0x78, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x75, + 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x70, 0x5f, 0x63, 0x74, + 0x78, 0x5f, 0x6c, 0x6f, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x67, 0x65, 0x74, 0x5f, 0x70, 0x61, + 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x3c, 0x31, 0x75, 0x3e, 0x28, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x63, 0x74, 0x78, 0x20, 0x3d, 0x20, 0x72, 0x65, 0x69, 0x6e, + 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x76, 0x6f, 0x69, + 0x64, 0x20, 0x2a, 0x3e, 0x28, 0x28, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x5f, 0x63, 0x61, 0x73, + 0x74, 0x3c, 0x6c, 0x63, 0x5f, 0x75, 0x6c, 0x6f, 0x6e, 0x67, 0x3e, 0x28, 0x70, 0x5f, 0x63, 0x74, + 0x78, 0x5f, 0x68, 0x69, 0x29, 0x20, 0x3c, 0x3c, 0x20, 0x33, 0x32, 0x75, 0x29, 0x20, 0x7c, 0x20, + 0x70, 0x5f, 0x63, 0x74, 0x78, 0x5f, 0x6c, 0x6f, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x4c, + 0x43, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, + 0x75, 0x6c, 0x74, 0x20, 0x72, 0x7b, 0x7d, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x73, 0x77, 0x69, + 0x74, 0x63, 0x68, 0x20, 0x28, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x69, 0x64, 0x29, 0x20, 0x7b, 0x0a, 0x23, 0x69, 0x66, 0x20, 0x4c, 0x55, 0x49, 0x53, 0x41, 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f, 0x49, 0x4d, 0x50, 0x4c, 0x5f, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x20, - 0x3e, 0x20, 0x33, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x61, 0x73, 0x65, - 0x20, 0x33, 0x75, 0x3a, 0x20, 0x72, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x72, 0x61, 0x79, 0x5f, + 0x3e, 0x20, 0x30, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x61, 0x73, 0x65, + 0x20, 0x30, 0x75, 0x3a, 0x20, 0x72, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x72, 0x61, 0x79, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x64, 0x75, 0x72, 0x61, 0x6c, - 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x33, 0x28, + 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x30, 0x28, 0x63, 0x74, 0x78, 0x29, 0x3b, 0x20, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, 0x23, 0x65, 0x6e, 0x64, 0x69, 0x66, 0x0a, 0x23, 0x69, 0x66, 0x20, 0x4c, 0x55, 0x49, 0x53, 0x41, 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f, 0x49, 0x4d, 0x50, 0x4c, 0x5f, 0x43, 0x4f, 0x55, - 0x4e, 0x54, 0x20, 0x3e, 0x20, 0x34, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, - 0x61, 0x73, 0x65, 0x20, 0x34, 0x75, 0x3a, 0x20, 0x72, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x72, + 0x4e, 0x54, 0x20, 0x3e, 0x20, 0x31, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, + 0x61, 0x73, 0x65, 0x20, 0x31, 0x75, 0x3a, 0x20, 0x72, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x72, 0x61, 0x79, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x64, 0x75, 0x72, 0x61, 0x6c, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x5f, 0x34, 0x28, 0x63, 0x74, 0x78, 0x29, 0x3b, 0x20, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, + 0x5f, 0x31, 0x28, 0x63, 0x74, 0x78, 0x29, 0x3b, 0x20, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, 0x23, 0x65, 0x6e, 0x64, 0x69, 0x66, 0x0a, 0x23, 0x69, 0x66, 0x20, 0x4c, 0x55, 0x49, 0x53, 0x41, 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f, 0x49, 0x4d, 0x50, 0x4c, 0x5f, - 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x20, 0x3e, 0x20, 0x35, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x63, 0x61, 0x73, 0x65, 0x20, 0x35, 0x75, 0x3a, 0x20, 0x72, 0x20, 0x3d, 0x20, 0x6c, + 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x20, 0x3e, 0x20, 0x32, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x63, 0x61, 0x73, 0x65, 0x20, 0x32, 0x75, 0x3a, 0x20, 0x72, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x72, 0x61, 0x79, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x64, 0x75, 0x72, 0x61, 0x6c, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x65, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x5f, 0x35, 0x28, 0x63, 0x74, 0x78, 0x29, 0x3b, 0x20, 0x62, 0x72, 0x65, 0x61, + 0x69, 0x6f, 0x6e, 0x5f, 0x32, 0x28, 0x63, 0x74, 0x78, 0x29, 0x3b, 0x20, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, 0x23, 0x65, 0x6e, 0x64, 0x69, 0x66, 0x0a, 0x23, 0x69, 0x66, 0x20, 0x4c, 0x55, 0x49, 0x53, 0x41, 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f, 0x49, 0x4d, - 0x50, 0x4c, 0x5f, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x20, 0x3e, 0x20, 0x36, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x61, 0x73, 0x65, 0x20, 0x36, 0x75, 0x3a, 0x20, 0x72, 0x20, + 0x50, 0x4c, 0x5f, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x20, 0x3e, 0x20, 0x33, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x61, 0x73, 0x65, 0x20, 0x33, 0x75, 0x3a, 0x20, 0x72, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x72, 0x61, 0x79, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x64, 0x75, 0x72, 0x61, 0x6c, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x73, - 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x36, 0x28, 0x63, 0x74, 0x78, 0x29, 0x3b, 0x20, 0x62, + 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x33, 0x28, 0x63, 0x74, 0x78, 0x29, 0x3b, 0x20, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, 0x23, 0x65, 0x6e, 0x64, 0x69, 0x66, 0x0a, 0x23, 0x69, 0x66, 0x20, 0x4c, 0x55, 0x49, 0x53, 0x41, 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x51, 0x55, 0x45, 0x52, 0x59, - 0x5f, 0x49, 0x4d, 0x50, 0x4c, 0x5f, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x20, 0x3e, 0x20, 0x37, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x61, 0x73, 0x65, 0x20, 0x37, 0x75, 0x3a, + 0x5f, 0x49, 0x4d, 0x50, 0x4c, 0x5f, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x20, 0x3e, 0x20, 0x34, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x61, 0x73, 0x65, 0x20, 0x34, 0x75, 0x3a, 0x20, 0x72, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x72, 0x61, 0x79, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x64, 0x75, 0x72, 0x61, 0x6c, 0x5f, 0x69, 0x6e, 0x74, - 0x65, 0x72, 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x37, 0x28, 0x63, 0x74, 0x78, 0x29, + 0x65, 0x72, 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x34, 0x28, 0x63, 0x74, 0x78, 0x29, 0x3b, 0x20, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, 0x23, 0x65, 0x6e, 0x64, 0x69, 0x66, 0x0a, 0x23, 0x69, 0x66, 0x20, 0x4c, 0x55, 0x49, 0x53, 0x41, 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f, 0x49, 0x4d, 0x50, 0x4c, 0x5f, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x20, 0x3e, - 0x20, 0x38, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x61, 0x73, 0x65, 0x20, - 0x38, 0x75, 0x3a, 0x20, 0x72, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x72, 0x61, 0x79, 0x5f, 0x71, + 0x20, 0x35, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x61, 0x73, 0x65, 0x20, + 0x35, 0x75, 0x3a, 0x20, 0x72, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x72, 0x61, 0x79, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x64, 0x75, 0x72, 0x61, 0x6c, 0x5f, - 0x69, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x38, 0x28, 0x63, + 0x69, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x35, 0x28, 0x63, 0x74, 0x78, 0x29, 0x3b, 0x20, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, 0x23, 0x65, 0x6e, 0x64, 0x69, 0x66, 0x0a, 0x23, 0x69, 0x66, 0x20, 0x4c, 0x55, 0x49, 0x53, 0x41, 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f, 0x49, 0x4d, 0x50, 0x4c, 0x5f, 0x43, 0x4f, 0x55, 0x4e, - 0x54, 0x20, 0x3e, 0x20, 0x39, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x61, - 0x73, 0x65, 0x20, 0x39, 0x75, 0x3a, 0x20, 0x72, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x72, 0x61, + 0x54, 0x20, 0x3e, 0x20, 0x36, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x61, + 0x73, 0x65, 0x20, 0x36, 0x75, 0x3a, 0x20, 0x72, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x72, 0x61, 0x79, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x64, 0x75, 0x72, 0x61, 0x6c, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, - 0x39, 0x28, 0x63, 0x74, 0x78, 0x29, 0x3b, 0x20, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, 0x23, + 0x36, 0x28, 0x63, 0x74, 0x78, 0x29, 0x3b, 0x20, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, 0x23, 0x65, 0x6e, 0x64, 0x69, 0x66, 0x0a, 0x23, 0x69, 0x66, 0x20, 0x4c, 0x55, 0x49, 0x53, 0x41, 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f, 0x49, 0x4d, 0x50, 0x4c, 0x5f, 0x43, - 0x4f, 0x55, 0x4e, 0x54, 0x20, 0x3e, 0x20, 0x31, 0x30, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x63, 0x61, 0x73, 0x65, 0x20, 0x31, 0x30, 0x75, 0x3a, 0x20, 0x72, 0x20, 0x3d, 0x20, - 0x6c, 0x63, 0x5f, 0x72, 0x61, 0x79, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x70, 0x72, 0x6f, - 0x63, 0x65, 0x64, 0x75, 0x72, 0x61, 0x6c, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x65, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x31, 0x30, 0x28, 0x63, 0x74, 0x78, 0x29, 0x3b, 0x20, 0x62, 0x72, - 0x65, 0x61, 0x6b, 0x3b, 0x0a, 0x23, 0x65, 0x6e, 0x64, 0x69, 0x66, 0x0a, 0x23, 0x69, 0x66, 0x20, - 0x4c, 0x55, 0x49, 0x53, 0x41, 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f, - 0x49, 0x4d, 0x50, 0x4c, 0x5f, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x20, 0x3e, 0x20, 0x31, 0x31, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x61, 0x73, 0x65, 0x20, 0x31, 0x31, 0x75, - 0x3a, 0x20, 0x72, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x72, 0x61, 0x79, 0x5f, 0x71, 0x75, 0x65, - 0x72, 0x79, 0x5f, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x64, 0x75, 0x72, 0x61, 0x6c, 0x5f, 0x69, 0x6e, - 0x74, 0x65, 0x72, 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x31, 0x31, 0x28, 0x63, 0x74, - 0x78, 0x29, 0x3b, 0x20, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, 0x23, 0x65, 0x6e, 0x64, 0x69, - 0x66, 0x0a, 0x23, 0x69, 0x66, 0x20, 0x4c, 0x55, 0x49, 0x53, 0x41, 0x5f, 0x52, 0x41, 0x59, 0x5f, - 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f, 0x49, 0x4d, 0x50, 0x4c, 0x5f, 0x43, 0x4f, 0x55, 0x4e, 0x54, - 0x20, 0x3e, 0x20, 0x31, 0x32, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x61, - 0x73, 0x65, 0x20, 0x31, 0x32, 0x75, 0x3a, 0x20, 0x72, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x72, - 0x61, 0x79, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x64, 0x75, - 0x72, 0x61, 0x6c, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x5f, 0x31, 0x32, 0x28, 0x63, 0x74, 0x78, 0x29, 0x3b, 0x20, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, - 0x0a, 0x23, 0x65, 0x6e, 0x64, 0x69, 0x66, 0x0a, 0x23, 0x69, 0x66, 0x20, 0x4c, 0x55, 0x49, 0x53, - 0x41, 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f, 0x49, 0x4d, 0x50, 0x4c, - 0x5f, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x20, 0x3e, 0x20, 0x31, 0x33, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x63, 0x61, 0x73, 0x65, 0x20, 0x31, 0x33, 0x75, 0x3a, 0x20, 0x72, 0x20, - 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x72, 0x61, 0x79, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x70, - 0x72, 0x6f, 0x63, 0x65, 0x64, 0x75, 0x72, 0x61, 0x6c, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x73, - 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x31, 0x33, 0x28, 0x63, 0x74, 0x78, 0x29, 0x3b, 0x20, - 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, 0x23, 0x65, 0x6e, 0x64, 0x69, 0x66, 0x0a, 0x23, 0x69, - 0x66, 0x20, 0x4c, 0x55, 0x49, 0x53, 0x41, 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x51, 0x55, 0x45, 0x52, - 0x59, 0x5f, 0x49, 0x4d, 0x50, 0x4c, 0x5f, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x20, 0x3e, 0x20, 0x31, - 0x34, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x61, 0x73, 0x65, 0x20, 0x31, - 0x34, 0x75, 0x3a, 0x20, 0x72, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x72, 0x61, 0x79, 0x5f, 0x71, - 0x75, 0x65, 0x72, 0x79, 0x5f, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x64, 0x75, 0x72, 0x61, 0x6c, 0x5f, - 0x69, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x31, 0x34, 0x28, - 0x63, 0x74, 0x78, 0x29, 0x3b, 0x20, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, 0x23, 0x65, 0x6e, - 0x64, 0x69, 0x66, 0x0a, 0x23, 0x69, 0x66, 0x20, 0x4c, 0x55, 0x49, 0x53, 0x41, 0x5f, 0x52, 0x41, - 0x59, 0x5f, 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f, 0x49, 0x4d, 0x50, 0x4c, 0x5f, 0x43, 0x4f, 0x55, - 0x4e, 0x54, 0x20, 0x3e, 0x20, 0x31, 0x35, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x63, 0x61, 0x73, 0x65, 0x20, 0x31, 0x35, 0x75, 0x3a, 0x20, 0x72, 0x20, 0x3d, 0x20, 0x6c, 0x63, + 0x4f, 0x55, 0x4e, 0x54, 0x20, 0x3e, 0x20, 0x37, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x63, 0x61, 0x73, 0x65, 0x20, 0x37, 0x75, 0x3a, 0x20, 0x72, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x72, 0x61, 0x79, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x64, 0x75, 0x72, 0x61, 0x6c, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x65, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x5f, 0x31, 0x35, 0x28, 0x63, 0x74, 0x78, 0x29, 0x3b, 0x20, 0x62, 0x72, 0x65, 0x61, - 0x6b, 0x3b, 0x0a, 0x23, 0x65, 0x6e, 0x64, 0x69, 0x66, 0x0a, 0x23, 0x69, 0x66, 0x20, 0x4c, 0x55, - 0x49, 0x53, 0x41, 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f, 0x49, 0x4d, - 0x50, 0x4c, 0x5f, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x20, 0x3e, 0x20, 0x31, 0x36, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x61, 0x73, 0x65, 0x20, 0x31, 0x36, 0x75, 0x3a, 0x20, - 0x72, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x72, 0x61, 0x79, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, - 0x5f, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x64, 0x75, 0x72, 0x61, 0x6c, 0x5f, 0x69, 0x6e, 0x74, 0x65, - 0x72, 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x31, 0x36, 0x28, 0x63, 0x74, 0x78, 0x29, - 0x3b, 0x20, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, 0x23, 0x65, 0x6e, 0x64, 0x69, 0x66, 0x0a, - 0x23, 0x69, 0x66, 0x20, 0x4c, 0x55, 0x49, 0x53, 0x41, 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x51, 0x55, - 0x45, 0x52, 0x59, 0x5f, 0x49, 0x4d, 0x50, 0x4c, 0x5f, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x20, 0x3e, - 0x20, 0x31, 0x37, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x61, 0x73, 0x65, - 0x20, 0x31, 0x37, 0x75, 0x3a, 0x20, 0x72, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x72, 0x61, 0x79, - 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x64, 0x75, 0x72, 0x61, - 0x6c, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x31, - 0x37, 0x28, 0x63, 0x74, 0x78, 0x29, 0x3b, 0x20, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, 0x23, - 0x65, 0x6e, 0x64, 0x69, 0x66, 0x0a, 0x23, 0x69, 0x66, 0x20, 0x4c, 0x55, 0x49, 0x53, 0x41, 0x5f, - 0x52, 0x41, 0x59, 0x5f, 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f, 0x49, 0x4d, 0x50, 0x4c, 0x5f, 0x43, - 0x4f, 0x55, 0x4e, 0x54, 0x20, 0x3e, 0x20, 0x31, 0x38, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x63, 0x61, 0x73, 0x65, 0x20, 0x31, 0x38, 0x75, 0x3a, 0x20, 0x72, 0x20, 0x3d, 0x20, - 0x6c, 0x63, 0x5f, 0x72, 0x61, 0x79, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x70, 0x72, 0x6f, - 0x63, 0x65, 0x64, 0x75, 0x72, 0x61, 0x6c, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x65, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x31, 0x38, 0x28, 0x63, 0x74, 0x78, 0x29, 0x3b, 0x20, 0x62, 0x72, + 0x6f, 0x6e, 0x5f, 0x37, 0x28, 0x63, 0x74, 0x78, 0x29, 0x3b, 0x20, 0x62, 0x72, 0x65, 0x61, 0x6b, + 0x3b, 0x0a, 0x23, 0x65, 0x6e, 0x64, 0x69, 0x66, 0x0a, 0x23, 0x69, 0x66, 0x20, 0x4c, 0x55, 0x49, + 0x53, 0x41, 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f, 0x49, 0x4d, 0x50, + 0x4c, 0x5f, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x20, 0x3e, 0x20, 0x38, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x63, 0x61, 0x73, 0x65, 0x20, 0x38, 0x75, 0x3a, 0x20, 0x72, 0x20, 0x3d, + 0x20, 0x6c, 0x63, 0x5f, 0x72, 0x61, 0x79, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x70, 0x72, + 0x6f, 0x63, 0x65, 0x64, 0x75, 0x72, 0x61, 0x6c, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x65, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x38, 0x28, 0x63, 0x74, 0x78, 0x29, 0x3b, 0x20, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, 0x23, 0x65, 0x6e, 0x64, 0x69, 0x66, 0x0a, 0x23, 0x69, 0x66, 0x20, 0x4c, 0x55, 0x49, 0x53, 0x41, 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f, - 0x49, 0x4d, 0x50, 0x4c, 0x5f, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x20, 0x3e, 0x20, 0x31, 0x39, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x61, 0x73, 0x65, 0x20, 0x31, 0x39, 0x75, - 0x3a, 0x20, 0x72, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x72, 0x61, 0x79, 0x5f, 0x71, 0x75, 0x65, - 0x72, 0x79, 0x5f, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x64, 0x75, 0x72, 0x61, 0x6c, 0x5f, 0x69, 0x6e, - 0x74, 0x65, 0x72, 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x31, 0x39, 0x28, 0x63, 0x74, + 0x49, 0x4d, 0x50, 0x4c, 0x5f, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x20, 0x3e, 0x20, 0x39, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x61, 0x73, 0x65, 0x20, 0x39, 0x75, 0x3a, 0x20, + 0x72, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x72, 0x61, 0x79, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, + 0x5f, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x64, 0x75, 0x72, 0x61, 0x6c, 0x5f, 0x69, 0x6e, 0x74, 0x65, + 0x72, 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x39, 0x28, 0x63, 0x74, 0x78, 0x29, 0x3b, + 0x20, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, 0x23, 0x65, 0x6e, 0x64, 0x69, 0x66, 0x0a, 0x23, + 0x69, 0x66, 0x20, 0x4c, 0x55, 0x49, 0x53, 0x41, 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x51, 0x55, 0x45, + 0x52, 0x59, 0x5f, 0x49, 0x4d, 0x50, 0x4c, 0x5f, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x20, 0x3e, 0x20, + 0x31, 0x30, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x61, 0x73, 0x65, 0x20, + 0x31, 0x30, 0x75, 0x3a, 0x20, 0x72, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x72, 0x61, 0x79, 0x5f, + 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x64, 0x75, 0x72, 0x61, 0x6c, + 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x31, 0x30, + 0x28, 0x63, 0x74, 0x78, 0x29, 0x3b, 0x20, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, 0x23, 0x65, + 0x6e, 0x64, 0x69, 0x66, 0x0a, 0x23, 0x69, 0x66, 0x20, 0x4c, 0x55, 0x49, 0x53, 0x41, 0x5f, 0x52, + 0x41, 0x59, 0x5f, 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f, 0x49, 0x4d, 0x50, 0x4c, 0x5f, 0x43, 0x4f, + 0x55, 0x4e, 0x54, 0x20, 0x3e, 0x20, 0x31, 0x31, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x63, 0x61, 0x73, 0x65, 0x20, 0x31, 0x31, 0x75, 0x3a, 0x20, 0x72, 0x20, 0x3d, 0x20, 0x6c, + 0x63, 0x5f, 0x72, 0x61, 0x79, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x70, 0x72, 0x6f, 0x63, + 0x65, 0x64, 0x75, 0x72, 0x61, 0x6c, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x65, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x5f, 0x31, 0x31, 0x28, 0x63, 0x74, 0x78, 0x29, 0x3b, 0x20, 0x62, 0x72, 0x65, + 0x61, 0x6b, 0x3b, 0x0a, 0x23, 0x65, 0x6e, 0x64, 0x69, 0x66, 0x0a, 0x23, 0x69, 0x66, 0x20, 0x4c, + 0x55, 0x49, 0x53, 0x41, 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f, 0x49, + 0x4d, 0x50, 0x4c, 0x5f, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x20, 0x3e, 0x20, 0x31, 0x32, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x61, 0x73, 0x65, 0x20, 0x31, 0x32, 0x75, 0x3a, + 0x20, 0x72, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x72, 0x61, 0x79, 0x5f, 0x71, 0x75, 0x65, 0x72, + 0x79, 0x5f, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x64, 0x75, 0x72, 0x61, 0x6c, 0x5f, 0x69, 0x6e, 0x74, + 0x65, 0x72, 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x31, 0x32, 0x28, 0x63, 0x74, 0x78, + 0x29, 0x3b, 0x20, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, 0x23, 0x65, 0x6e, 0x64, 0x69, 0x66, + 0x0a, 0x23, 0x69, 0x66, 0x20, 0x4c, 0x55, 0x49, 0x53, 0x41, 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x51, + 0x55, 0x45, 0x52, 0x59, 0x5f, 0x49, 0x4d, 0x50, 0x4c, 0x5f, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x20, + 0x3e, 0x20, 0x31, 0x33, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x61, 0x73, + 0x65, 0x20, 0x31, 0x33, 0x75, 0x3a, 0x20, 0x72, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x72, 0x61, + 0x79, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x64, 0x75, 0x72, + 0x61, 0x6c, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, + 0x31, 0x33, 0x28, 0x63, 0x74, 0x78, 0x29, 0x3b, 0x20, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, + 0x23, 0x65, 0x6e, 0x64, 0x69, 0x66, 0x0a, 0x23, 0x69, 0x66, 0x20, 0x4c, 0x55, 0x49, 0x53, 0x41, + 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f, 0x49, 0x4d, 0x50, 0x4c, 0x5f, + 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x20, 0x3e, 0x20, 0x31, 0x34, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x63, 0x61, 0x73, 0x65, 0x20, 0x31, 0x34, 0x75, 0x3a, 0x20, 0x72, 0x20, 0x3d, + 0x20, 0x6c, 0x63, 0x5f, 0x72, 0x61, 0x79, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x70, 0x72, + 0x6f, 0x63, 0x65, 0x64, 0x75, 0x72, 0x61, 0x6c, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x65, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x31, 0x34, 0x28, 0x63, 0x74, 0x78, 0x29, 0x3b, 0x20, 0x62, + 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, 0x23, 0x65, 0x6e, 0x64, 0x69, 0x66, 0x0a, 0x23, 0x69, 0x66, + 0x20, 0x4c, 0x55, 0x49, 0x53, 0x41, 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x51, 0x55, 0x45, 0x52, 0x59, + 0x5f, 0x49, 0x4d, 0x50, 0x4c, 0x5f, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x20, 0x3e, 0x20, 0x31, 0x35, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x61, 0x73, 0x65, 0x20, 0x31, 0x35, + 0x75, 0x3a, 0x20, 0x72, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x72, 0x61, 0x79, 0x5f, 0x71, 0x75, + 0x65, 0x72, 0x79, 0x5f, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x64, 0x75, 0x72, 0x61, 0x6c, 0x5f, 0x69, + 0x6e, 0x74, 0x65, 0x72, 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x31, 0x35, 0x28, 0x63, + 0x74, 0x78, 0x29, 0x3b, 0x20, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, 0x23, 0x65, 0x6e, 0x64, + 0x69, 0x66, 0x0a, 0x23, 0x69, 0x66, 0x20, 0x4c, 0x55, 0x49, 0x53, 0x41, 0x5f, 0x52, 0x41, 0x59, + 0x5f, 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f, 0x49, 0x4d, 0x50, 0x4c, 0x5f, 0x43, 0x4f, 0x55, 0x4e, + 0x54, 0x20, 0x3e, 0x20, 0x31, 0x36, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, + 0x61, 0x73, 0x65, 0x20, 0x31, 0x36, 0x75, 0x3a, 0x20, 0x72, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, + 0x72, 0x61, 0x79, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x64, + 0x75, 0x72, 0x61, 0x6c, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x5f, 0x31, 0x36, 0x28, 0x63, 0x74, 0x78, 0x29, 0x3b, 0x20, 0x62, 0x72, 0x65, 0x61, 0x6b, + 0x3b, 0x0a, 0x23, 0x65, 0x6e, 0x64, 0x69, 0x66, 0x0a, 0x23, 0x69, 0x66, 0x20, 0x4c, 0x55, 0x49, + 0x53, 0x41, 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f, 0x49, 0x4d, 0x50, + 0x4c, 0x5f, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x20, 0x3e, 0x20, 0x31, 0x37, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x61, 0x73, 0x65, 0x20, 0x31, 0x37, 0x75, 0x3a, 0x20, 0x72, + 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x72, 0x61, 0x79, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, + 0x70, 0x72, 0x6f, 0x63, 0x65, 0x64, 0x75, 0x72, 0x61, 0x6c, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, + 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x31, 0x37, 0x28, 0x63, 0x74, 0x78, 0x29, 0x3b, + 0x20, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, 0x23, 0x65, 0x6e, 0x64, 0x69, 0x66, 0x0a, 0x23, + 0x69, 0x66, 0x20, 0x4c, 0x55, 0x49, 0x53, 0x41, 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x51, 0x55, 0x45, + 0x52, 0x59, 0x5f, 0x49, 0x4d, 0x50, 0x4c, 0x5f, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x20, 0x3e, 0x20, + 0x31, 0x38, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x61, 0x73, 0x65, 0x20, + 0x31, 0x38, 0x75, 0x3a, 0x20, 0x72, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x72, 0x61, 0x79, 0x5f, + 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x64, 0x75, 0x72, 0x61, 0x6c, + 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x31, 0x38, + 0x28, 0x63, 0x74, 0x78, 0x29, 0x3b, 0x20, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, 0x23, 0x65, + 0x6e, 0x64, 0x69, 0x66, 0x0a, 0x23, 0x69, 0x66, 0x20, 0x4c, 0x55, 0x49, 0x53, 0x41, 0x5f, 0x52, + 0x41, 0x59, 0x5f, 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f, 0x49, 0x4d, 0x50, 0x4c, 0x5f, 0x43, 0x4f, + 0x55, 0x4e, 0x54, 0x20, 0x3e, 0x20, 0x31, 0x39, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x63, 0x61, 0x73, 0x65, 0x20, 0x31, 0x39, 0x75, 0x3a, 0x20, 0x72, 0x20, 0x3d, 0x20, 0x6c, + 0x63, 0x5f, 0x72, 0x61, 0x79, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x70, 0x72, 0x6f, 0x63, + 0x65, 0x64, 0x75, 0x72, 0x61, 0x6c, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x65, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x5f, 0x31, 0x39, 0x28, 0x63, 0x74, 0x78, 0x29, 0x3b, 0x20, 0x62, 0x72, 0x65, + 0x61, 0x6b, 0x3b, 0x0a, 0x23, 0x65, 0x6e, 0x64, 0x69, 0x66, 0x0a, 0x23, 0x69, 0x66, 0x20, 0x4c, + 0x55, 0x49, 0x53, 0x41, 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f, 0x49, + 0x4d, 0x50, 0x4c, 0x5f, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x20, 0x3e, 0x20, 0x32, 0x30, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x61, 0x73, 0x65, 0x20, 0x32, 0x30, 0x75, 0x3a, + 0x20, 0x72, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x72, 0x61, 0x79, 0x5f, 0x71, 0x75, 0x65, 0x72, + 0x79, 0x5f, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x64, 0x75, 0x72, 0x61, 0x6c, 0x5f, 0x69, 0x6e, 0x74, + 0x65, 0x72, 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x32, 0x30, 0x28, 0x63, 0x74, 0x78, + 0x29, 0x3b, 0x20, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, 0x23, 0x65, 0x6e, 0x64, 0x69, 0x66, + 0x0a, 0x23, 0x69, 0x66, 0x20, 0x4c, 0x55, 0x49, 0x53, 0x41, 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x51, + 0x55, 0x45, 0x52, 0x59, 0x5f, 0x49, 0x4d, 0x50, 0x4c, 0x5f, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x20, + 0x3e, 0x20, 0x32, 0x31, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x61, 0x73, + 0x65, 0x20, 0x32, 0x31, 0x75, 0x3a, 0x20, 0x72, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x72, 0x61, + 0x79, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x64, 0x75, 0x72, + 0x61, 0x6c, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, + 0x32, 0x31, 0x28, 0x63, 0x74, 0x78, 0x29, 0x3b, 0x20, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, + 0x23, 0x65, 0x6e, 0x64, 0x69, 0x66, 0x0a, 0x23, 0x69, 0x66, 0x20, 0x4c, 0x55, 0x49, 0x53, 0x41, + 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f, 0x49, 0x4d, 0x50, 0x4c, 0x5f, + 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x20, 0x3e, 0x20, 0x32, 0x32, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x63, 0x61, 0x73, 0x65, 0x20, 0x32, 0x32, 0x75, 0x3a, 0x20, 0x72, 0x20, 0x3d, + 0x20, 0x6c, 0x63, 0x5f, 0x72, 0x61, 0x79, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x70, 0x72, + 0x6f, 0x63, 0x65, 0x64, 0x75, 0x72, 0x61, 0x6c, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x65, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x32, 0x32, 0x28, 0x63, 0x74, 0x78, 0x29, 0x3b, 0x20, 0x62, + 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, 0x23, 0x65, 0x6e, 0x64, 0x69, 0x66, 0x0a, 0x23, 0x69, 0x66, + 0x20, 0x4c, 0x55, 0x49, 0x53, 0x41, 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x51, 0x55, 0x45, 0x52, 0x59, + 0x5f, 0x49, 0x4d, 0x50, 0x4c, 0x5f, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x20, 0x3e, 0x20, 0x32, 0x33, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x61, 0x73, 0x65, 0x20, 0x32, 0x33, + 0x75, 0x3a, 0x20, 0x72, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x72, 0x61, 0x79, 0x5f, 0x71, 0x75, + 0x65, 0x72, 0x79, 0x5f, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x64, 0x75, 0x72, 0x61, 0x6c, 0x5f, 0x69, + 0x6e, 0x74, 0x65, 0x72, 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x32, 0x33, 0x28, 0x63, + 0x74, 0x78, 0x29, 0x3b, 0x20, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, 0x23, 0x65, 0x6e, 0x64, + 0x69, 0x66, 0x0a, 0x23, 0x69, 0x66, 0x20, 0x4c, 0x55, 0x49, 0x53, 0x41, 0x5f, 0x52, 0x41, 0x59, + 0x5f, 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f, 0x49, 0x4d, 0x50, 0x4c, 0x5f, 0x43, 0x4f, 0x55, 0x4e, + 0x54, 0x20, 0x3e, 0x20, 0x32, 0x34, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, + 0x61, 0x73, 0x65, 0x20, 0x32, 0x34, 0x75, 0x3a, 0x20, 0x72, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, + 0x72, 0x61, 0x79, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x64, + 0x75, 0x72, 0x61, 0x6c, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x5f, 0x32, 0x34, 0x28, 0x63, 0x74, 0x78, 0x29, 0x3b, 0x20, 0x62, 0x72, 0x65, 0x61, 0x6b, + 0x3b, 0x0a, 0x23, 0x65, 0x6e, 0x64, 0x69, 0x66, 0x0a, 0x23, 0x69, 0x66, 0x20, 0x4c, 0x55, 0x49, + 0x53, 0x41, 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f, 0x49, 0x4d, 0x50, + 0x4c, 0x5f, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x20, 0x3e, 0x20, 0x32, 0x35, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x61, 0x73, 0x65, 0x20, 0x32, 0x35, 0x75, 0x3a, 0x20, 0x72, + 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x72, 0x61, 0x79, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, + 0x70, 0x72, 0x6f, 0x63, 0x65, 0x64, 0x75, 0x72, 0x61, 0x6c, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, + 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x32, 0x35, 0x28, 0x63, 0x74, 0x78, 0x29, 0x3b, + 0x20, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, 0x23, 0x65, 0x6e, 0x64, 0x69, 0x66, 0x0a, 0x23, + 0x69, 0x66, 0x20, 0x4c, 0x55, 0x49, 0x53, 0x41, 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x51, 0x55, 0x45, + 0x52, 0x59, 0x5f, 0x49, 0x4d, 0x50, 0x4c, 0x5f, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x20, 0x3e, 0x20, + 0x32, 0x36, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x61, 0x73, 0x65, 0x20, + 0x32, 0x36, 0x75, 0x3a, 0x20, 0x72, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x72, 0x61, 0x79, 0x5f, + 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x64, 0x75, 0x72, 0x61, 0x6c, + 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x32, 0x36, + 0x28, 0x63, 0x74, 0x78, 0x29, 0x3b, 0x20, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, 0x23, 0x65, + 0x6e, 0x64, 0x69, 0x66, 0x0a, 0x23, 0x69, 0x66, 0x20, 0x4c, 0x55, 0x49, 0x53, 0x41, 0x5f, 0x52, + 0x41, 0x59, 0x5f, 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f, 0x49, 0x4d, 0x50, 0x4c, 0x5f, 0x43, 0x4f, + 0x55, 0x4e, 0x54, 0x20, 0x3e, 0x20, 0x32, 0x37, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x63, 0x61, 0x73, 0x65, 0x20, 0x32, 0x37, 0x75, 0x3a, 0x20, 0x72, 0x20, 0x3d, 0x20, 0x6c, + 0x63, 0x5f, 0x72, 0x61, 0x79, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x70, 0x72, 0x6f, 0x63, + 0x65, 0x64, 0x75, 0x72, 0x61, 0x6c, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x65, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x5f, 0x32, 0x37, 0x28, 0x63, 0x74, 0x78, 0x29, 0x3b, 0x20, 0x62, 0x72, 0x65, + 0x61, 0x6b, 0x3b, 0x0a, 0x23, 0x65, 0x6e, 0x64, 0x69, 0x66, 0x0a, 0x23, 0x69, 0x66, 0x20, 0x4c, + 0x55, 0x49, 0x53, 0x41, 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f, 0x49, + 0x4d, 0x50, 0x4c, 0x5f, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x20, 0x3e, 0x20, 0x32, 0x38, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x61, 0x73, 0x65, 0x20, 0x32, 0x38, 0x75, 0x3a, + 0x20, 0x72, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x72, 0x61, 0x79, 0x5f, 0x71, 0x75, 0x65, 0x72, + 0x79, 0x5f, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x64, 0x75, 0x72, 0x61, 0x6c, 0x5f, 0x69, 0x6e, 0x74, + 0x65, 0x72, 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x32, 0x38, 0x28, 0x63, 0x74, 0x78, + 0x29, 0x3b, 0x20, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, 0x23, 0x65, 0x6e, 0x64, 0x69, 0x66, + 0x0a, 0x23, 0x69, 0x66, 0x20, 0x4c, 0x55, 0x49, 0x53, 0x41, 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x51, + 0x55, 0x45, 0x52, 0x59, 0x5f, 0x49, 0x4d, 0x50, 0x4c, 0x5f, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x20, + 0x3e, 0x20, 0x32, 0x39, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x61, 0x73, + 0x65, 0x20, 0x32, 0x39, 0x75, 0x3a, 0x20, 0x72, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x72, 0x61, + 0x79, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x64, 0x75, 0x72, + 0x61, 0x6c, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, + 0x32, 0x39, 0x28, 0x63, 0x74, 0x78, 0x29, 0x3b, 0x20, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, + 0x23, 0x65, 0x6e, 0x64, 0x69, 0x66, 0x0a, 0x23, 0x69, 0x66, 0x20, 0x4c, 0x55, 0x49, 0x53, 0x41, + 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f, 0x49, 0x4d, 0x50, 0x4c, 0x5f, + 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x20, 0x3e, 0x20, 0x33, 0x30, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x63, 0x61, 0x73, 0x65, 0x20, 0x33, 0x30, 0x75, 0x3a, 0x20, 0x72, 0x20, 0x3d, + 0x20, 0x6c, 0x63, 0x5f, 0x72, 0x61, 0x79, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x70, 0x72, + 0x6f, 0x63, 0x65, 0x64, 0x75, 0x72, 0x61, 0x6c, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x65, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x33, 0x30, 0x28, 0x63, 0x74, 0x78, 0x29, 0x3b, 0x20, 0x62, + 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, 0x23, 0x65, 0x6e, 0x64, 0x69, 0x66, 0x0a, 0x23, 0x69, 0x66, + 0x20, 0x4c, 0x55, 0x49, 0x53, 0x41, 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x51, 0x55, 0x45, 0x52, 0x59, + 0x5f, 0x49, 0x4d, 0x50, 0x4c, 0x5f, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x20, 0x3e, 0x20, 0x33, 0x31, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x61, 0x73, 0x65, 0x20, 0x33, 0x31, + 0x75, 0x3a, 0x20, 0x72, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x72, 0x61, 0x79, 0x5f, 0x71, 0x75, + 0x65, 0x72, 0x79, 0x5f, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x64, 0x75, 0x72, 0x61, 0x6c, 0x5f, 0x69, + 0x6e, 0x74, 0x65, 0x72, 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x33, 0x31, 0x28, 0x63, + 0x74, 0x78, 0x29, 0x3b, 0x20, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, 0x23, 0x65, 0x6e, 0x64, + 0x69, 0x66, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x64, 0x65, 0x66, 0x61, 0x75, + 0x6c, 0x74, 0x3a, 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x6e, 0x72, 0x65, 0x61, 0x63, 0x68, 0x61, 0x62, + 0x6c, 0x65, 0x28, 0x5f, 0x5f, 0x46, 0x49, 0x4c, 0x45, 0x5f, 0x5f, 0x2c, 0x20, 0x5f, 0x5f, 0x4c, + 0x49, 0x4e, 0x45, 0x5f, 0x5f, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x69, 0x66, 0x20, 0x28, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, + 0x64, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, + 0x72, 0x61, 0x79, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, + 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x2e, 0x74, 0x65, 0x72, + 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x65, 0x64, 0x20, 0x3f, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x4c, 0x43, 0x5f, 0x48, 0x49, 0x54, + 0x5f, 0x4b, 0x49, 0x4e, 0x44, 0x5f, 0x50, 0x52, 0x4f, 0x43, 0x45, 0x44, 0x55, 0x52, 0x41, 0x4c, + 0x5f, 0x54, 0x45, 0x52, 0x4d, 0x49, 0x4e, 0x41, 0x54, 0x45, 0x44, 0x20, 0x3a, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x4c, 0x43, + 0x5f, 0x48, 0x49, 0x54, 0x5f, 0x4b, 0x49, 0x4e, 0x44, 0x5f, 0x50, 0x52, 0x4f, 0x43, 0x45, 0x44, + 0x55, 0x52, 0x41, 0x4c, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x72, 0x2e, 0x74, 0x5f, 0x68, 0x69, 0x74, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x7d, 0x0a, 0x23, 0x65, 0x6e, 0x64, 0x69, 0x66, 0x0a, 0x7d, 0x0a, 0x0a, 0x65, 0x78, 0x74, 0x65, + 0x72, 0x6e, 0x20, 0x22, 0x43, 0x22, 0x20, 0x5f, 0x5f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x5f, + 0x5f, 0x20, 0x76, 0x6f, 0x69, 0x64, 0x20, 0x5f, 0x5f, 0x61, 0x6e, 0x79, 0x68, 0x69, 0x74, 0x5f, + 0x5f, 0x72, 0x61, 0x79, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x28, 0x29, 0x20, 0x7b, 0x0a, 0x23, + 0x69, 0x66, 0x20, 0x4c, 0x55, 0x49, 0x53, 0x41, 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x51, 0x55, 0x45, + 0x52, 0x59, 0x5f, 0x49, 0x4d, 0x50, 0x4c, 0x5f, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x20, 0x3e, 0x20, + 0x30, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x70, 0x61, 0x79, + 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x28, 0x4c, 0x43, 0x5f, 0x50, 0x41, + 0x59, 0x4c, 0x4f, 0x41, 0x44, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x51, + 0x55, 0x45, 0x52, 0x59, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, + 0x68, 0x69, 0x74, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x67, 0x65, + 0x74, 0x5f, 0x68, 0x69, 0x74, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x28, 0x29, 0x3b, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x5f, 0x74, 0x65, + 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x65, 0x20, 0x3d, 0x20, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x3b, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x28, 0x68, 0x69, 0x74, 0x5f, 0x6b, 0x69, 0x6e, + 0x64, 0x20, 0x3e, 0x20, 0x31, 0x32, 0x37, 0x75, 0x29, 0x20, 0x7b, 0x2f, 0x2f, 0x20, 0x74, 0x72, + 0x69, 0x61, 0x6e, 0x67, 0x6c, 0x65, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x61, + 0x75, 0x74, 0x6f, 0x20, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x69, 0x64, 0x5f, 0x61, 0x6e, 0x64, + 0x5f, 0x70, 0x5f, 0x63, 0x74, 0x78, 0x5f, 0x68, 0x69, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x67, + 0x65, 0x74, 0x5f, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x3c, 0x30, 0x75, 0x3e, 0x28, 0x29, + 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x71, + 0x75, 0x65, 0x72, 0x79, 0x5f, 0x69, 0x64, 0x20, 0x3d, 0x20, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, + 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x3e, 0x28, 0x71, + 0x75, 0x65, 0x72, 0x79, 0x5f, 0x69, 0x64, 0x5f, 0x61, 0x6e, 0x64, 0x5f, 0x70, 0x5f, 0x63, 0x74, + 0x78, 0x5f, 0x68, 0x69, 0x20, 0x3e, 0x3e, 0x20, 0x32, 0x34, 0x75, 0x29, 0x3b, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x70, 0x5f, 0x63, 0x74, 0x78, + 0x5f, 0x68, 0x69, 0x20, 0x3d, 0x20, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x5f, 0x63, 0x61, 0x73, + 0x74, 0x3c, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x3e, 0x28, 0x71, 0x75, 0x65, 0x72, 0x79, + 0x5f, 0x69, 0x64, 0x5f, 0x61, 0x6e, 0x64, 0x5f, 0x70, 0x5f, 0x63, 0x74, 0x78, 0x5f, 0x68, 0x69, + 0x20, 0x26, 0x20, 0x30, 0x78, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x75, 0x29, 0x3b, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x70, 0x5f, 0x63, 0x74, + 0x78, 0x5f, 0x6c, 0x6f, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x67, 0x65, 0x74, 0x5f, 0x70, 0x61, + 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x3c, 0x31, 0x75, 0x3e, 0x28, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x63, 0x74, 0x78, 0x20, 0x3d, 0x20, + 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, + 0x3c, 0x76, 0x6f, 0x69, 0x64, 0x20, 0x2a, 0x3e, 0x28, 0x28, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, + 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x6c, 0x63, 0x5f, 0x75, 0x6c, 0x6f, 0x6e, 0x67, 0x3e, 0x28, + 0x70, 0x5f, 0x63, 0x74, 0x78, 0x5f, 0x68, 0x69, 0x29, 0x20, 0x3c, 0x3c, 0x20, 0x33, 0x32, 0x75, + 0x29, 0x20, 0x7c, 0x20, 0x70, 0x5f, 0x63, 0x74, 0x78, 0x5f, 0x6c, 0x6f, 0x29, 0x3b, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x4c, 0x43, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x65, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x20, 0x72, 0x7b, 0x7d, 0x3b, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x73, 0x77, 0x69, 0x74, 0x63, 0x68, 0x20, + 0x28, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x69, 0x64, 0x29, 0x20, 0x7b, 0x0a, 0x23, 0x69, 0x66, + 0x20, 0x4c, 0x55, 0x49, 0x53, 0x41, 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x51, 0x55, 0x45, 0x52, 0x59, + 0x5f, 0x49, 0x4d, 0x50, 0x4c, 0x5f, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x20, 0x3e, 0x20, 0x30, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x61, 0x73, 0x65, + 0x20, 0x30, 0x75, 0x3a, 0x20, 0x72, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x72, 0x61, 0x79, 0x5f, + 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x74, 0x72, 0x69, 0x61, 0x6e, 0x67, 0x6c, 0x65, 0x5f, 0x69, + 0x6e, 0x74, 0x65, 0x72, 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x30, 0x28, 0x63, 0x74, 0x78, 0x29, 0x3b, 0x20, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, 0x23, 0x65, 0x6e, 0x64, 0x69, 0x66, 0x0a, 0x23, 0x69, 0x66, 0x20, 0x4c, 0x55, 0x49, 0x53, 0x41, 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f, 0x49, 0x4d, 0x50, 0x4c, 0x5f, 0x43, 0x4f, 0x55, 0x4e, 0x54, - 0x20, 0x3e, 0x20, 0x32, 0x30, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x61, - 0x73, 0x65, 0x20, 0x32, 0x30, 0x75, 0x3a, 0x20, 0x72, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x72, - 0x61, 0x79, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x64, 0x75, - 0x72, 0x61, 0x6c, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x5f, 0x32, 0x30, 0x28, 0x63, 0x74, 0x78, 0x29, 0x3b, 0x20, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, - 0x0a, 0x23, 0x65, 0x6e, 0x64, 0x69, 0x66, 0x0a, 0x23, 0x69, 0x66, 0x20, 0x4c, 0x55, 0x49, 0x53, - 0x41, 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f, 0x49, 0x4d, 0x50, 0x4c, - 0x5f, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x20, 0x3e, 0x20, 0x32, 0x31, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x63, 0x61, 0x73, 0x65, 0x20, 0x32, 0x31, 0x75, 0x3a, 0x20, 0x72, 0x20, - 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x72, 0x61, 0x79, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x70, - 0x72, 0x6f, 0x63, 0x65, 0x64, 0x75, 0x72, 0x61, 0x6c, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x73, - 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x32, 0x31, 0x28, 0x63, 0x74, 0x78, 0x29, 0x3b, 0x20, - 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, 0x23, 0x65, 0x6e, 0x64, 0x69, 0x66, 0x0a, 0x23, 0x69, - 0x66, 0x20, 0x4c, 0x55, 0x49, 0x53, 0x41, 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x51, 0x55, 0x45, 0x52, - 0x59, 0x5f, 0x49, 0x4d, 0x50, 0x4c, 0x5f, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x20, 0x3e, 0x20, 0x32, - 0x32, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x61, 0x73, 0x65, 0x20, 0x32, - 0x32, 0x75, 0x3a, 0x20, 0x72, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x72, 0x61, 0x79, 0x5f, 0x71, - 0x75, 0x65, 0x72, 0x79, 0x5f, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x64, 0x75, 0x72, 0x61, 0x6c, 0x5f, - 0x69, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x32, 0x32, 0x28, - 0x63, 0x74, 0x78, 0x29, 0x3b, 0x20, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, 0x23, 0x65, 0x6e, - 0x64, 0x69, 0x66, 0x0a, 0x23, 0x69, 0x66, 0x20, 0x4c, 0x55, 0x49, 0x53, 0x41, 0x5f, 0x52, 0x41, - 0x59, 0x5f, 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f, 0x49, 0x4d, 0x50, 0x4c, 0x5f, 0x43, 0x4f, 0x55, - 0x4e, 0x54, 0x20, 0x3e, 0x20, 0x32, 0x33, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x63, 0x61, 0x73, 0x65, 0x20, 0x32, 0x33, 0x75, 0x3a, 0x20, 0x72, 0x20, 0x3d, 0x20, 0x6c, 0x63, - 0x5f, 0x72, 0x61, 0x79, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x70, 0x72, 0x6f, 0x63, 0x65, - 0x64, 0x75, 0x72, 0x61, 0x6c, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x65, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x5f, 0x32, 0x33, 0x28, 0x63, 0x74, 0x78, 0x29, 0x3b, 0x20, 0x62, 0x72, 0x65, 0x61, - 0x6b, 0x3b, 0x0a, 0x23, 0x65, 0x6e, 0x64, 0x69, 0x66, 0x0a, 0x23, 0x69, 0x66, 0x20, 0x4c, 0x55, - 0x49, 0x53, 0x41, 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f, 0x49, 0x4d, - 0x50, 0x4c, 0x5f, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x20, 0x3e, 0x20, 0x32, 0x34, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x61, 0x73, 0x65, 0x20, 0x32, 0x34, 0x75, 0x3a, 0x20, - 0x72, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x72, 0x61, 0x79, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, - 0x5f, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x64, 0x75, 0x72, 0x61, 0x6c, 0x5f, 0x69, 0x6e, 0x74, 0x65, - 0x72, 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x32, 0x34, 0x28, 0x63, 0x74, 0x78, 0x29, + 0x20, 0x3e, 0x20, 0x31, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x63, 0x61, 0x73, 0x65, 0x20, 0x31, 0x75, 0x3a, 0x20, 0x72, 0x20, 0x3d, 0x20, 0x6c, 0x63, + 0x5f, 0x72, 0x61, 0x79, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x74, 0x72, 0x69, 0x61, 0x6e, + 0x67, 0x6c, 0x65, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x5f, 0x31, 0x28, 0x63, 0x74, 0x78, 0x29, 0x3b, 0x20, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, + 0x23, 0x65, 0x6e, 0x64, 0x69, 0x66, 0x0a, 0x23, 0x69, 0x66, 0x20, 0x4c, 0x55, 0x49, 0x53, 0x41, + 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f, 0x49, 0x4d, 0x50, 0x4c, 0x5f, + 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x20, 0x3e, 0x20, 0x32, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x61, 0x73, 0x65, 0x20, 0x32, 0x75, 0x3a, 0x20, 0x72, + 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x72, 0x61, 0x79, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, + 0x74, 0x72, 0x69, 0x61, 0x6e, 0x67, 0x6c, 0x65, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x65, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x32, 0x28, 0x63, 0x74, 0x78, 0x29, 0x3b, 0x20, 0x62, 0x72, + 0x65, 0x61, 0x6b, 0x3b, 0x0a, 0x23, 0x65, 0x6e, 0x64, 0x69, 0x66, 0x0a, 0x23, 0x69, 0x66, 0x20, + 0x4c, 0x55, 0x49, 0x53, 0x41, 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f, + 0x49, 0x4d, 0x50, 0x4c, 0x5f, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x20, 0x3e, 0x20, 0x33, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x61, 0x73, 0x65, 0x20, + 0x33, 0x75, 0x3a, 0x20, 0x72, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x72, 0x61, 0x79, 0x5f, 0x71, + 0x75, 0x65, 0x72, 0x79, 0x5f, 0x74, 0x72, 0x69, 0x61, 0x6e, 0x67, 0x6c, 0x65, 0x5f, 0x69, 0x6e, + 0x74, 0x65, 0x72, 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x33, 0x28, 0x63, 0x74, 0x78, + 0x29, 0x3b, 0x20, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, 0x23, 0x65, 0x6e, 0x64, 0x69, 0x66, + 0x0a, 0x23, 0x69, 0x66, 0x20, 0x4c, 0x55, 0x49, 0x53, 0x41, 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x51, + 0x55, 0x45, 0x52, 0x59, 0x5f, 0x49, 0x4d, 0x50, 0x4c, 0x5f, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x20, + 0x3e, 0x20, 0x34, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x63, 0x61, 0x73, 0x65, 0x20, 0x34, 0x75, 0x3a, 0x20, 0x72, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, + 0x72, 0x61, 0x79, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x74, 0x72, 0x69, 0x61, 0x6e, 0x67, + 0x6c, 0x65, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, + 0x34, 0x28, 0x63, 0x74, 0x78, 0x29, 0x3b, 0x20, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, 0x23, + 0x65, 0x6e, 0x64, 0x69, 0x66, 0x0a, 0x23, 0x69, 0x66, 0x20, 0x4c, 0x55, 0x49, 0x53, 0x41, 0x5f, + 0x52, 0x41, 0x59, 0x5f, 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f, 0x49, 0x4d, 0x50, 0x4c, 0x5f, 0x43, + 0x4f, 0x55, 0x4e, 0x54, 0x20, 0x3e, 0x20, 0x35, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x61, 0x73, 0x65, 0x20, 0x35, 0x75, 0x3a, 0x20, 0x72, 0x20, + 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x72, 0x61, 0x79, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x74, + 0x72, 0x69, 0x61, 0x6e, 0x67, 0x6c, 0x65, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x65, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x35, 0x28, 0x63, 0x74, 0x78, 0x29, 0x3b, 0x20, 0x62, 0x72, 0x65, + 0x61, 0x6b, 0x3b, 0x0a, 0x23, 0x65, 0x6e, 0x64, 0x69, 0x66, 0x0a, 0x23, 0x69, 0x66, 0x20, 0x4c, + 0x55, 0x49, 0x53, 0x41, 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f, 0x49, + 0x4d, 0x50, 0x4c, 0x5f, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x20, 0x3e, 0x20, 0x36, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x61, 0x73, 0x65, 0x20, 0x36, + 0x75, 0x3a, 0x20, 0x72, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x72, 0x61, 0x79, 0x5f, 0x71, 0x75, + 0x65, 0x72, 0x79, 0x5f, 0x74, 0x72, 0x69, 0x61, 0x6e, 0x67, 0x6c, 0x65, 0x5f, 0x69, 0x6e, 0x74, + 0x65, 0x72, 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x36, 0x28, 0x63, 0x74, 0x78, 0x29, 0x3b, 0x20, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, 0x23, 0x65, 0x6e, 0x64, 0x69, 0x66, 0x0a, 0x23, 0x69, 0x66, 0x20, 0x4c, 0x55, 0x49, 0x53, 0x41, 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f, 0x49, 0x4d, 0x50, 0x4c, 0x5f, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x20, 0x3e, - 0x20, 0x32, 0x35, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x61, 0x73, 0x65, - 0x20, 0x32, 0x35, 0x75, 0x3a, 0x20, 0x72, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x72, 0x61, 0x79, - 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x64, 0x75, 0x72, 0x61, - 0x6c, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x32, - 0x35, 0x28, 0x63, 0x74, 0x78, 0x29, 0x3b, 0x20, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, 0x23, - 0x65, 0x6e, 0x64, 0x69, 0x66, 0x0a, 0x23, 0x69, 0x66, 0x20, 0x4c, 0x55, 0x49, 0x53, 0x41, 0x5f, - 0x52, 0x41, 0x59, 0x5f, 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f, 0x49, 0x4d, 0x50, 0x4c, 0x5f, 0x43, - 0x4f, 0x55, 0x4e, 0x54, 0x20, 0x3e, 0x20, 0x32, 0x36, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x63, 0x61, 0x73, 0x65, 0x20, 0x32, 0x36, 0x75, 0x3a, 0x20, 0x72, 0x20, 0x3d, 0x20, - 0x6c, 0x63, 0x5f, 0x72, 0x61, 0x79, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x70, 0x72, 0x6f, - 0x63, 0x65, 0x64, 0x75, 0x72, 0x61, 0x6c, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x65, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x32, 0x36, 0x28, 0x63, 0x74, 0x78, 0x29, 0x3b, 0x20, 0x62, 0x72, - 0x65, 0x61, 0x6b, 0x3b, 0x0a, 0x23, 0x65, 0x6e, 0x64, 0x69, 0x66, 0x0a, 0x23, 0x69, 0x66, 0x20, - 0x4c, 0x55, 0x49, 0x53, 0x41, 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f, - 0x49, 0x4d, 0x50, 0x4c, 0x5f, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x20, 0x3e, 0x20, 0x32, 0x37, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x61, 0x73, 0x65, 0x20, 0x32, 0x37, 0x75, + 0x20, 0x37, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, + 0x61, 0x73, 0x65, 0x20, 0x37, 0x75, 0x3a, 0x20, 0x72, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x72, + 0x61, 0x79, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x74, 0x72, 0x69, 0x61, 0x6e, 0x67, 0x6c, + 0x65, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x37, + 0x28, 0x63, 0x74, 0x78, 0x29, 0x3b, 0x20, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, 0x23, 0x65, + 0x6e, 0x64, 0x69, 0x66, 0x0a, 0x23, 0x69, 0x66, 0x20, 0x4c, 0x55, 0x49, 0x53, 0x41, 0x5f, 0x52, + 0x41, 0x59, 0x5f, 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f, 0x49, 0x4d, 0x50, 0x4c, 0x5f, 0x43, 0x4f, + 0x55, 0x4e, 0x54, 0x20, 0x3e, 0x20, 0x38, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x63, 0x61, 0x73, 0x65, 0x20, 0x38, 0x75, 0x3a, 0x20, 0x72, 0x20, 0x3d, + 0x20, 0x6c, 0x63, 0x5f, 0x72, 0x61, 0x79, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x74, 0x72, + 0x69, 0x61, 0x6e, 0x67, 0x6c, 0x65, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x65, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x5f, 0x38, 0x28, 0x63, 0x74, 0x78, 0x29, 0x3b, 0x20, 0x62, 0x72, 0x65, 0x61, + 0x6b, 0x3b, 0x0a, 0x23, 0x65, 0x6e, 0x64, 0x69, 0x66, 0x0a, 0x23, 0x69, 0x66, 0x20, 0x4c, 0x55, + 0x49, 0x53, 0x41, 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f, 0x49, 0x4d, + 0x50, 0x4c, 0x5f, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x20, 0x3e, 0x20, 0x39, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x61, 0x73, 0x65, 0x20, 0x39, 0x75, 0x3a, 0x20, 0x72, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x72, 0x61, 0x79, 0x5f, 0x71, 0x75, 0x65, - 0x72, 0x79, 0x5f, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x64, 0x75, 0x72, 0x61, 0x6c, 0x5f, 0x69, 0x6e, - 0x74, 0x65, 0x72, 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x32, 0x37, 0x28, 0x63, 0x74, - 0x78, 0x29, 0x3b, 0x20, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, 0x23, 0x65, 0x6e, 0x64, 0x69, - 0x66, 0x0a, 0x23, 0x69, 0x66, 0x20, 0x4c, 0x55, 0x49, 0x53, 0x41, 0x5f, 0x52, 0x41, 0x59, 0x5f, - 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f, 0x49, 0x4d, 0x50, 0x4c, 0x5f, 0x43, 0x4f, 0x55, 0x4e, 0x54, - 0x20, 0x3e, 0x20, 0x32, 0x38, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x61, - 0x73, 0x65, 0x20, 0x32, 0x38, 0x75, 0x3a, 0x20, 0x72, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x72, - 0x61, 0x79, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x64, 0x75, - 0x72, 0x61, 0x6c, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x5f, 0x32, 0x38, 0x28, 0x63, 0x74, 0x78, 0x29, 0x3b, 0x20, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, - 0x0a, 0x23, 0x65, 0x6e, 0x64, 0x69, 0x66, 0x0a, 0x23, 0x69, 0x66, 0x20, 0x4c, 0x55, 0x49, 0x53, - 0x41, 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f, 0x49, 0x4d, 0x50, 0x4c, - 0x5f, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x20, 0x3e, 0x20, 0x32, 0x39, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x63, 0x61, 0x73, 0x65, 0x20, 0x32, 0x39, 0x75, 0x3a, 0x20, 0x72, 0x20, - 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x72, 0x61, 0x79, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x70, - 0x72, 0x6f, 0x63, 0x65, 0x64, 0x75, 0x72, 0x61, 0x6c, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x73, - 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x32, 0x39, 0x28, 0x63, 0x74, 0x78, 0x29, 0x3b, 0x20, - 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, 0x23, 0x65, 0x6e, 0x64, 0x69, 0x66, 0x0a, 0x23, 0x69, - 0x66, 0x20, 0x4c, 0x55, 0x49, 0x53, 0x41, 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x51, 0x55, 0x45, 0x52, - 0x59, 0x5f, 0x49, 0x4d, 0x50, 0x4c, 0x5f, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x20, 0x3e, 0x20, 0x33, - 0x30, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x61, 0x73, 0x65, 0x20, 0x33, - 0x30, 0x75, 0x3a, 0x20, 0x72, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x72, 0x61, 0x79, 0x5f, 0x71, - 0x75, 0x65, 0x72, 0x79, 0x5f, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x64, 0x75, 0x72, 0x61, 0x6c, 0x5f, - 0x69, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x33, 0x30, 0x28, - 0x63, 0x74, 0x78, 0x29, 0x3b, 0x20, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, 0x23, 0x65, 0x6e, - 0x64, 0x69, 0x66, 0x0a, 0x23, 0x69, 0x66, 0x20, 0x4c, 0x55, 0x49, 0x53, 0x41, 0x5f, 0x52, 0x41, - 0x59, 0x5f, 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f, 0x49, 0x4d, 0x50, 0x4c, 0x5f, 0x43, 0x4f, 0x55, - 0x4e, 0x54, 0x20, 0x3e, 0x20, 0x33, 0x31, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x63, 0x61, 0x73, 0x65, 0x20, 0x33, 0x31, 0x75, 0x3a, 0x20, 0x72, 0x20, 0x3d, 0x20, 0x6c, 0x63, - 0x5f, 0x72, 0x61, 0x79, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x70, 0x72, 0x6f, 0x63, 0x65, - 0x64, 0x75, 0x72, 0x61, 0x6c, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x65, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x5f, 0x33, 0x31, 0x28, 0x63, 0x74, 0x78, 0x29, 0x3b, 0x20, 0x62, 0x72, 0x65, 0x61, - 0x6b, 0x3b, 0x0a, 0x23, 0x65, 0x6e, 0x64, 0x69, 0x66, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x3a, 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x6e, - 0x72, 0x65, 0x61, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x28, 0x5f, 0x5f, 0x46, 0x49, 0x4c, 0x45, - 0x5f, 0x5f, 0x2c, 0x20, 0x5f, 0x5f, 0x4c, 0x49, 0x4e, 0x45, 0x5f, 0x5f, 0x29, 0x3b, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x28, 0x72, 0x2e, 0x63, - 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x64, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x72, 0x61, 0x79, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, - 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x65, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x72, 0x2e, 0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x65, 0x64, 0x20, 0x3f, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x4c, 0x43, 0x5f, 0x48, 0x49, 0x54, 0x5f, 0x4b, 0x49, 0x4e, 0x44, 0x5f, 0x50, 0x52, 0x4f, - 0x43, 0x45, 0x44, 0x55, 0x52, 0x41, 0x4c, 0x5f, 0x54, 0x45, 0x52, 0x4d, 0x49, 0x4e, 0x41, 0x54, - 0x45, 0x44, 0x20, 0x3a, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x4c, 0x43, 0x5f, 0x48, 0x49, 0x54, 0x5f, 0x4b, 0x49, 0x4e, 0x44, - 0x5f, 0x50, 0x52, 0x4f, 0x43, 0x45, 0x44, 0x55, 0x52, 0x41, 0x4c, 0x2c, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x2e, 0x74, 0x5f, 0x68, 0x69, 0x74, - 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x23, 0x65, 0x6e, 0x64, 0x69, 0x66, 0x0a, - 0x7d, 0x0a, 0x0a, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x20, 0x22, 0x43, 0x22, 0x20, 0x5f, 0x5f, - 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x5f, 0x5f, 0x20, 0x76, 0x6f, 0x69, 0x64, 0x20, 0x5f, 0x5f, - 0x61, 0x6e, 0x79, 0x68, 0x69, 0x74, 0x5f, 0x5f, 0x72, 0x61, 0x79, 0x5f, 0x71, 0x75, 0x65, 0x72, - 0x79, 0x28, 0x29, 0x20, 0x7b, 0x0a, 0x23, 0x69, 0x66, 0x20, 0x4c, 0x55, 0x49, 0x53, 0x41, 0x5f, - 0x52, 0x41, 0x59, 0x5f, 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f, 0x49, 0x4d, 0x50, 0x4c, 0x5f, 0x43, - 0x4f, 0x55, 0x4e, 0x54, 0x20, 0x3e, 0x20, 0x30, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, - 0x73, 0x65, 0x74, 0x5f, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x74, 0x79, 0x70, 0x65, - 0x73, 0x28, 0x4c, 0x43, 0x5f, 0x50, 0x41, 0x59, 0x4c, 0x4f, 0x41, 0x44, 0x5f, 0x54, 0x59, 0x50, - 0x45, 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x51, 0x55, 0x45, 0x52, 0x59, 0x29, 0x3b, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x68, 0x69, 0x74, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x20, - 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x67, 0x65, 0x74, 0x5f, 0x68, 0x69, 0x74, 0x5f, 0x6b, 0x69, 0x6e, - 0x64, 0x28, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x73, 0x68, - 0x6f, 0x75, 0x6c, 0x64, 0x5f, 0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x65, 0x20, 0x3d, - 0x20, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x28, - 0x68, 0x69, 0x74, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x20, 0x3e, 0x20, 0x31, 0x32, 0x37, 0x75, 0x29, - 0x20, 0x7b, 0x2f, 0x2f, 0x20, 0x74, 0x72, 0x69, 0x61, 0x6e, 0x67, 0x6c, 0x65, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x71, 0x75, 0x65, 0x72, 0x79, - 0x5f, 0x69, 0x64, 0x5f, 0x61, 0x6e, 0x64, 0x5f, 0x70, 0x5f, 0x63, 0x74, 0x78, 0x5f, 0x68, 0x69, - 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x67, 0x65, 0x74, 0x5f, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, - 0x64, 0x3c, 0x30, 0x75, 0x3e, 0x28, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x69, 0x64, 0x20, 0x3d, - 0x20, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x6c, 0x63, 0x5f, - 0x75, 0x69, 0x6e, 0x74, 0x3e, 0x28, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x69, 0x64, 0x5f, 0x61, - 0x6e, 0x64, 0x5f, 0x70, 0x5f, 0x63, 0x74, 0x78, 0x5f, 0x68, 0x69, 0x20, 0x3e, 0x3e, 0x20, 0x32, - 0x34, 0x75, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x61, 0x75, 0x74, - 0x6f, 0x20, 0x70, 0x5f, 0x63, 0x74, 0x78, 0x5f, 0x68, 0x69, 0x20, 0x3d, 0x20, 0x73, 0x74, 0x61, - 0x74, 0x69, 0x63, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, - 0x3e, 0x28, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x69, 0x64, 0x5f, 0x61, 0x6e, 0x64, 0x5f, 0x70, - 0x5f, 0x63, 0x74, 0x78, 0x5f, 0x68, 0x69, 0x20, 0x26, 0x20, 0x30, 0x78, 0x66, 0x66, 0x66, 0x66, - 0x66, 0x66, 0x75, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x61, 0x75, - 0x74, 0x6f, 0x20, 0x70, 0x5f, 0x63, 0x74, 0x78, 0x5f, 0x6c, 0x6f, 0x20, 0x3d, 0x20, 0x6c, 0x63, - 0x5f, 0x67, 0x65, 0x74, 0x5f, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x3c, 0x31, 0x75, 0x3e, - 0x28, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x61, 0x75, 0x74, 0x6f, - 0x20, 0x63, 0x74, 0x78, 0x20, 0x3d, 0x20, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, - 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x76, 0x6f, 0x69, 0x64, 0x20, 0x2a, 0x3e, 0x28, - 0x28, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x6c, 0x63, 0x5f, - 0x75, 0x6c, 0x6f, 0x6e, 0x67, 0x3e, 0x28, 0x70, 0x5f, 0x63, 0x74, 0x78, 0x5f, 0x68, 0x69, 0x29, - 0x20, 0x3c, 0x3c, 0x20, 0x33, 0x32, 0x75, 0x29, 0x20, 0x7c, 0x20, 0x70, 0x5f, 0x63, 0x74, 0x78, - 0x5f, 0x6c, 0x6f, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x4c, 0x43, - 0x49, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, - 0x6c, 0x74, 0x20, 0x72, 0x7b, 0x7d, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x73, 0x77, 0x69, 0x74, 0x63, 0x68, 0x20, 0x28, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x69, 0x64, - 0x29, 0x20, 0x7b, 0x0a, 0x23, 0x69, 0x66, 0x20, 0x4c, 0x55, 0x49, 0x53, 0x41, 0x5f, 0x52, 0x41, - 0x59, 0x5f, 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f, 0x49, 0x4d, 0x50, 0x4c, 0x5f, 0x43, 0x4f, 0x55, - 0x4e, 0x54, 0x20, 0x3e, 0x20, 0x30, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x63, 0x61, 0x73, 0x65, 0x20, 0x30, 0x75, 0x3a, 0x20, 0x72, 0x20, 0x3d, 0x20, - 0x6c, 0x63, 0x5f, 0x72, 0x61, 0x79, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x74, 0x72, 0x69, - 0x61, 0x6e, 0x67, 0x6c, 0x65, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x65, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x5f, 0x30, 0x28, 0x63, 0x74, 0x78, 0x29, 0x3b, 0x20, 0x62, 0x72, 0x65, 0x61, 0x6b, - 0x3b, 0x0a, 0x23, 0x65, 0x6e, 0x64, 0x69, 0x66, 0x0a, 0x23, 0x69, 0x66, 0x20, 0x4c, 0x55, 0x49, - 0x53, 0x41, 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f, 0x49, 0x4d, 0x50, - 0x4c, 0x5f, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x20, 0x3e, 0x20, 0x31, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x61, 0x73, 0x65, 0x20, 0x31, 0x75, 0x3a, + 0x72, 0x79, 0x5f, 0x74, 0x72, 0x69, 0x61, 0x6e, 0x67, 0x6c, 0x65, 0x5f, 0x69, 0x6e, 0x74, 0x65, + 0x72, 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x39, 0x28, 0x63, 0x74, 0x78, 0x29, 0x3b, + 0x20, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, 0x23, 0x65, 0x6e, 0x64, 0x69, 0x66, 0x0a, 0x23, + 0x69, 0x66, 0x20, 0x4c, 0x55, 0x49, 0x53, 0x41, 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x51, 0x55, 0x45, + 0x52, 0x59, 0x5f, 0x49, 0x4d, 0x50, 0x4c, 0x5f, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x20, 0x3e, 0x20, + 0x31, 0x30, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, + 0x61, 0x73, 0x65, 0x20, 0x31, 0x30, 0x75, 0x3a, 0x20, 0x72, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, + 0x72, 0x61, 0x79, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x74, 0x72, 0x69, 0x61, 0x6e, 0x67, + 0x6c, 0x65, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, + 0x31, 0x30, 0x28, 0x63, 0x74, 0x78, 0x29, 0x3b, 0x20, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, + 0x23, 0x65, 0x6e, 0x64, 0x69, 0x66, 0x0a, 0x23, 0x69, 0x66, 0x20, 0x4c, 0x55, 0x49, 0x53, 0x41, + 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f, 0x49, 0x4d, 0x50, 0x4c, 0x5f, + 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x20, 0x3e, 0x20, 0x31, 0x31, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x61, 0x73, 0x65, 0x20, 0x31, 0x31, 0x75, 0x3a, + 0x20, 0x72, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x72, 0x61, 0x79, 0x5f, 0x71, 0x75, 0x65, 0x72, + 0x79, 0x5f, 0x74, 0x72, 0x69, 0x61, 0x6e, 0x67, 0x6c, 0x65, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, + 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x31, 0x31, 0x28, 0x63, 0x74, 0x78, 0x29, 0x3b, + 0x20, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, 0x23, 0x65, 0x6e, 0x64, 0x69, 0x66, 0x0a, 0x23, + 0x69, 0x66, 0x20, 0x4c, 0x55, 0x49, 0x53, 0x41, 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x51, 0x55, 0x45, + 0x52, 0x59, 0x5f, 0x49, 0x4d, 0x50, 0x4c, 0x5f, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x20, 0x3e, 0x20, + 0x31, 0x32, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, + 0x61, 0x73, 0x65, 0x20, 0x31, 0x32, 0x75, 0x3a, 0x20, 0x72, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, + 0x72, 0x61, 0x79, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x74, 0x72, 0x69, 0x61, 0x6e, 0x67, + 0x6c, 0x65, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, + 0x31, 0x32, 0x28, 0x63, 0x74, 0x78, 0x29, 0x3b, 0x20, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, + 0x23, 0x65, 0x6e, 0x64, 0x69, 0x66, 0x0a, 0x23, 0x69, 0x66, 0x20, 0x4c, 0x55, 0x49, 0x53, 0x41, + 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f, 0x49, 0x4d, 0x50, 0x4c, 0x5f, + 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x20, 0x3e, 0x20, 0x31, 0x33, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x61, 0x73, 0x65, 0x20, 0x31, 0x33, 0x75, 0x3a, + 0x20, 0x72, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x72, 0x61, 0x79, 0x5f, 0x71, 0x75, 0x65, 0x72, + 0x79, 0x5f, 0x74, 0x72, 0x69, 0x61, 0x6e, 0x67, 0x6c, 0x65, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, + 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x31, 0x33, 0x28, 0x63, 0x74, 0x78, 0x29, 0x3b, + 0x20, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, 0x23, 0x65, 0x6e, 0x64, 0x69, 0x66, 0x0a, 0x23, + 0x69, 0x66, 0x20, 0x4c, 0x55, 0x49, 0x53, 0x41, 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x51, 0x55, 0x45, + 0x52, 0x59, 0x5f, 0x49, 0x4d, 0x50, 0x4c, 0x5f, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x20, 0x3e, 0x20, + 0x31, 0x34, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, + 0x61, 0x73, 0x65, 0x20, 0x31, 0x34, 0x75, 0x3a, 0x20, 0x72, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, + 0x72, 0x61, 0x79, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x74, 0x72, 0x69, 0x61, 0x6e, 0x67, + 0x6c, 0x65, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, + 0x31, 0x34, 0x28, 0x63, 0x74, 0x78, 0x29, 0x3b, 0x20, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, + 0x23, 0x65, 0x6e, 0x64, 0x69, 0x66, 0x0a, 0x23, 0x69, 0x66, 0x20, 0x4c, 0x55, 0x49, 0x53, 0x41, + 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f, 0x49, 0x4d, 0x50, 0x4c, 0x5f, + 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x20, 0x3e, 0x20, 0x31, 0x35, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x61, 0x73, 0x65, 0x20, 0x31, 0x35, 0x75, 0x3a, + 0x20, 0x72, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x72, 0x61, 0x79, 0x5f, 0x71, 0x75, 0x65, 0x72, + 0x79, 0x5f, 0x74, 0x72, 0x69, 0x61, 0x6e, 0x67, 0x6c, 0x65, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, + 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x31, 0x35, 0x28, 0x63, 0x74, 0x78, 0x29, 0x3b, + 0x20, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, 0x23, 0x65, 0x6e, 0x64, 0x69, 0x66, 0x0a, 0x23, + 0x69, 0x66, 0x20, 0x4c, 0x55, 0x49, 0x53, 0x41, 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x51, 0x55, 0x45, + 0x52, 0x59, 0x5f, 0x49, 0x4d, 0x50, 0x4c, 0x5f, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x20, 0x3e, 0x20, + 0x31, 0x36, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, + 0x61, 0x73, 0x65, 0x20, 0x31, 0x36, 0x75, 0x3a, 0x20, 0x72, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, + 0x72, 0x61, 0x79, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x74, 0x72, 0x69, 0x61, 0x6e, 0x67, + 0x6c, 0x65, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, + 0x31, 0x36, 0x28, 0x63, 0x74, 0x78, 0x29, 0x3b, 0x20, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, + 0x23, 0x65, 0x6e, 0x64, 0x69, 0x66, 0x0a, 0x23, 0x69, 0x66, 0x20, 0x4c, 0x55, 0x49, 0x53, 0x41, + 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f, 0x49, 0x4d, 0x50, 0x4c, 0x5f, + 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x20, 0x3e, 0x20, 0x31, 0x37, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x61, 0x73, 0x65, 0x20, 0x31, 0x37, 0x75, 0x3a, + 0x20, 0x72, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x72, 0x61, 0x79, 0x5f, 0x71, 0x75, 0x65, 0x72, + 0x79, 0x5f, 0x74, 0x72, 0x69, 0x61, 0x6e, 0x67, 0x6c, 0x65, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, + 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x31, 0x37, 0x28, 0x63, 0x74, 0x78, 0x29, 0x3b, + 0x20, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, 0x23, 0x65, 0x6e, 0x64, 0x69, 0x66, 0x0a, 0x23, + 0x69, 0x66, 0x20, 0x4c, 0x55, 0x49, 0x53, 0x41, 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x51, 0x55, 0x45, + 0x52, 0x59, 0x5f, 0x49, 0x4d, 0x50, 0x4c, 0x5f, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x20, 0x3e, 0x20, + 0x31, 0x38, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, + 0x61, 0x73, 0x65, 0x20, 0x31, 0x38, 0x75, 0x3a, 0x20, 0x72, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, + 0x72, 0x61, 0x79, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x74, 0x72, 0x69, 0x61, 0x6e, 0x67, + 0x6c, 0x65, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, + 0x31, 0x38, 0x28, 0x63, 0x74, 0x78, 0x29, 0x3b, 0x20, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, + 0x23, 0x65, 0x6e, 0x64, 0x69, 0x66, 0x0a, 0x23, 0x69, 0x66, 0x20, 0x4c, 0x55, 0x49, 0x53, 0x41, + 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f, 0x49, 0x4d, 0x50, 0x4c, 0x5f, + 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x20, 0x3e, 0x20, 0x31, 0x39, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x61, 0x73, 0x65, 0x20, 0x31, 0x39, 0x75, 0x3a, + 0x20, 0x72, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x72, 0x61, 0x79, 0x5f, 0x71, 0x75, 0x65, 0x72, + 0x79, 0x5f, 0x74, 0x72, 0x69, 0x61, 0x6e, 0x67, 0x6c, 0x65, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, + 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x31, 0x39, 0x28, 0x63, 0x74, 0x78, 0x29, 0x3b, + 0x20, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, 0x23, 0x65, 0x6e, 0x64, 0x69, 0x66, 0x0a, 0x23, + 0x69, 0x66, 0x20, 0x4c, 0x55, 0x49, 0x53, 0x41, 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x51, 0x55, 0x45, + 0x52, 0x59, 0x5f, 0x49, 0x4d, 0x50, 0x4c, 0x5f, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x20, 0x3e, 0x20, + 0x32, 0x30, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, + 0x61, 0x73, 0x65, 0x20, 0x32, 0x30, 0x75, 0x3a, 0x20, 0x72, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, + 0x72, 0x61, 0x79, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x74, 0x72, 0x69, 0x61, 0x6e, 0x67, + 0x6c, 0x65, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, + 0x32, 0x30, 0x28, 0x63, 0x74, 0x78, 0x29, 0x3b, 0x20, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, + 0x23, 0x65, 0x6e, 0x64, 0x69, 0x66, 0x0a, 0x23, 0x69, 0x66, 0x20, 0x4c, 0x55, 0x49, 0x53, 0x41, + 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f, 0x49, 0x4d, 0x50, 0x4c, 0x5f, + 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x20, 0x3e, 0x20, 0x32, 0x31, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x61, 0x73, 0x65, 0x20, 0x32, 0x31, 0x75, 0x3a, + 0x20, 0x72, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x72, 0x61, 0x79, 0x5f, 0x71, 0x75, 0x65, 0x72, + 0x79, 0x5f, 0x74, 0x72, 0x69, 0x61, 0x6e, 0x67, 0x6c, 0x65, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, + 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x32, 0x31, 0x28, 0x63, 0x74, 0x78, 0x29, 0x3b, + 0x20, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, 0x23, 0x65, 0x6e, 0x64, 0x69, 0x66, 0x0a, 0x23, + 0x69, 0x66, 0x20, 0x4c, 0x55, 0x49, 0x53, 0x41, 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x51, 0x55, 0x45, + 0x52, 0x59, 0x5f, 0x49, 0x4d, 0x50, 0x4c, 0x5f, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x20, 0x3e, 0x20, + 0x32, 0x32, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, + 0x61, 0x73, 0x65, 0x20, 0x32, 0x32, 0x75, 0x3a, 0x20, 0x72, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, + 0x72, 0x61, 0x79, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x74, 0x72, 0x69, 0x61, 0x6e, 0x67, + 0x6c, 0x65, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, + 0x32, 0x32, 0x28, 0x63, 0x74, 0x78, 0x29, 0x3b, 0x20, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, + 0x23, 0x65, 0x6e, 0x64, 0x69, 0x66, 0x0a, 0x23, 0x69, 0x66, 0x20, 0x4c, 0x55, 0x49, 0x53, 0x41, + 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f, 0x49, 0x4d, 0x50, 0x4c, 0x5f, + 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x20, 0x3e, 0x20, 0x32, 0x33, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x61, 0x73, 0x65, 0x20, 0x32, 0x33, 0x75, 0x3a, 0x20, 0x72, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x72, 0x61, 0x79, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x74, 0x72, 0x69, 0x61, 0x6e, 0x67, 0x6c, 0x65, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, - 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x31, 0x28, 0x63, 0x74, 0x78, 0x29, 0x3b, 0x20, - 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, 0x23, 0x65, 0x6e, 0x64, 0x69, 0x66, 0x0a, 0x23, 0x69, - 0x66, 0x20, 0x4c, 0x55, 0x49, 0x53, 0x41, 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x51, 0x55, 0x45, 0x52, - 0x59, 0x5f, 0x49, 0x4d, 0x50, 0x4c, 0x5f, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x20, 0x3e, 0x20, 0x32, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x61, 0x73, - 0x65, 0x20, 0x32, 0x75, 0x3a, 0x20, 0x72, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x72, 0x61, 0x79, - 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x74, 0x72, 0x69, 0x61, 0x6e, 0x67, 0x6c, 0x65, 0x5f, - 0x69, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x32, 0x28, 0x63, - 0x74, 0x78, 0x29, 0x3b, 0x20, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, 0x23, 0x65, 0x6e, 0x64, - 0x69, 0x66, 0x0a, 0x23, 0x69, 0x66, 0x20, 0x4c, 0x55, 0x49, 0x53, 0x41, 0x5f, 0x52, 0x41, 0x59, - 0x5f, 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f, 0x49, 0x4d, 0x50, 0x4c, 0x5f, 0x43, 0x4f, 0x55, 0x4e, - 0x54, 0x20, 0x3e, 0x20, 0x33, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x63, 0x61, 0x73, 0x65, 0x20, 0x33, 0x75, 0x3a, 0x20, 0x72, 0x20, 0x3d, 0x20, 0x6c, - 0x63, 0x5f, 0x72, 0x61, 0x79, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x74, 0x72, 0x69, 0x61, - 0x6e, 0x67, 0x6c, 0x65, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x5f, 0x33, 0x28, 0x63, 0x74, 0x78, 0x29, 0x3b, 0x20, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, - 0x0a, 0x23, 0x65, 0x6e, 0x64, 0x69, 0x66, 0x0a, 0x23, 0x69, 0x66, 0x20, 0x4c, 0x55, 0x49, 0x53, - 0x41, 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f, 0x49, 0x4d, 0x50, 0x4c, - 0x5f, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x20, 0x3e, 0x20, 0x34, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x61, 0x73, 0x65, 0x20, 0x34, 0x75, 0x3a, 0x20, - 0x72, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x72, 0x61, 0x79, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, - 0x5f, 0x74, 0x72, 0x69, 0x61, 0x6e, 0x67, 0x6c, 0x65, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x73, - 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x34, 0x28, 0x63, 0x74, 0x78, 0x29, 0x3b, 0x20, 0x62, - 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, 0x23, 0x65, 0x6e, 0x64, 0x69, 0x66, 0x0a, 0x23, 0x69, 0x66, - 0x20, 0x4c, 0x55, 0x49, 0x53, 0x41, 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x51, 0x55, 0x45, 0x52, 0x59, - 0x5f, 0x49, 0x4d, 0x50, 0x4c, 0x5f, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x20, 0x3e, 0x20, 0x35, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x61, 0x73, 0x65, - 0x20, 0x35, 0x75, 0x3a, 0x20, 0x72, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x72, 0x61, 0x79, 0x5f, - 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x74, 0x72, 0x69, 0x61, 0x6e, 0x67, 0x6c, 0x65, 0x5f, 0x69, - 0x6e, 0x74, 0x65, 0x72, 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x35, 0x28, 0x63, 0x74, - 0x78, 0x29, 0x3b, 0x20, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, 0x23, 0x65, 0x6e, 0x64, 0x69, - 0x66, 0x0a, 0x23, 0x69, 0x66, 0x20, 0x4c, 0x55, 0x49, 0x53, 0x41, 0x5f, 0x52, 0x41, 0x59, 0x5f, - 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f, 0x49, 0x4d, 0x50, 0x4c, 0x5f, 0x43, 0x4f, 0x55, 0x4e, 0x54, - 0x20, 0x3e, 0x20, 0x36, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x63, 0x61, 0x73, 0x65, 0x20, 0x36, 0x75, 0x3a, 0x20, 0x72, 0x20, 0x3d, 0x20, 0x6c, 0x63, - 0x5f, 0x72, 0x61, 0x79, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x74, 0x72, 0x69, 0x61, 0x6e, - 0x67, 0x6c, 0x65, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x5f, 0x36, 0x28, 0x63, 0x74, 0x78, 0x29, 0x3b, 0x20, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, + 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x32, 0x33, 0x28, 0x63, 0x74, 0x78, 0x29, 0x3b, + 0x20, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, 0x23, 0x65, 0x6e, 0x64, 0x69, 0x66, 0x0a, 0x23, + 0x69, 0x66, 0x20, 0x4c, 0x55, 0x49, 0x53, 0x41, 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x51, 0x55, 0x45, + 0x52, 0x59, 0x5f, 0x49, 0x4d, 0x50, 0x4c, 0x5f, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x20, 0x3e, 0x20, + 0x32, 0x34, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, + 0x61, 0x73, 0x65, 0x20, 0x32, 0x34, 0x75, 0x3a, 0x20, 0x72, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, + 0x72, 0x61, 0x79, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x74, 0x72, 0x69, 0x61, 0x6e, 0x67, + 0x6c, 0x65, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, + 0x32, 0x34, 0x28, 0x63, 0x74, 0x78, 0x29, 0x3b, 0x20, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, 0x23, 0x65, 0x6e, 0x64, 0x69, 0x66, 0x0a, 0x23, 0x69, 0x66, 0x20, 0x4c, 0x55, 0x49, 0x53, 0x41, 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f, 0x49, 0x4d, 0x50, 0x4c, 0x5f, - 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x20, 0x3e, 0x20, 0x37, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x61, 0x73, 0x65, 0x20, 0x37, 0x75, 0x3a, 0x20, 0x72, - 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x72, 0x61, 0x79, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, - 0x74, 0x72, 0x69, 0x61, 0x6e, 0x67, 0x6c, 0x65, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x65, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x37, 0x28, 0x63, 0x74, 0x78, 0x29, 0x3b, 0x20, 0x62, 0x72, - 0x65, 0x61, 0x6b, 0x3b, 0x0a, 0x23, 0x65, 0x6e, 0x64, 0x69, 0x66, 0x0a, 0x23, 0x69, 0x66, 0x20, - 0x4c, 0x55, 0x49, 0x53, 0x41, 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f, - 0x49, 0x4d, 0x50, 0x4c, 0x5f, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x20, 0x3e, 0x20, 0x38, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x61, 0x73, 0x65, 0x20, - 0x38, 0x75, 0x3a, 0x20, 0x72, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x72, 0x61, 0x79, 0x5f, 0x71, - 0x75, 0x65, 0x72, 0x79, 0x5f, 0x74, 0x72, 0x69, 0x61, 0x6e, 0x67, 0x6c, 0x65, 0x5f, 0x69, 0x6e, - 0x74, 0x65, 0x72, 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x38, 0x28, 0x63, 0x74, 0x78, - 0x29, 0x3b, 0x20, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, 0x23, 0x65, 0x6e, 0x64, 0x69, 0x66, - 0x0a, 0x23, 0x69, 0x66, 0x20, 0x4c, 0x55, 0x49, 0x53, 0x41, 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x51, - 0x55, 0x45, 0x52, 0x59, 0x5f, 0x49, 0x4d, 0x50, 0x4c, 0x5f, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x20, - 0x3e, 0x20, 0x39, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x63, 0x61, 0x73, 0x65, 0x20, 0x39, 0x75, 0x3a, 0x20, 0x72, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, + 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x20, 0x3e, 0x20, 0x32, 0x35, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x61, 0x73, 0x65, 0x20, 0x32, 0x35, 0x75, 0x3a, + 0x20, 0x72, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x72, 0x61, 0x79, 0x5f, 0x71, 0x75, 0x65, 0x72, + 0x79, 0x5f, 0x74, 0x72, 0x69, 0x61, 0x6e, 0x67, 0x6c, 0x65, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, + 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x32, 0x35, 0x28, 0x63, 0x74, 0x78, 0x29, 0x3b, + 0x20, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, 0x23, 0x65, 0x6e, 0x64, 0x69, 0x66, 0x0a, 0x23, + 0x69, 0x66, 0x20, 0x4c, 0x55, 0x49, 0x53, 0x41, 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x51, 0x55, 0x45, + 0x52, 0x59, 0x5f, 0x49, 0x4d, 0x50, 0x4c, 0x5f, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x20, 0x3e, 0x20, + 0x32, 0x36, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, + 0x61, 0x73, 0x65, 0x20, 0x32, 0x36, 0x75, 0x3a, 0x20, 0x72, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x72, 0x61, 0x79, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x74, 0x72, 0x69, 0x61, 0x6e, 0x67, 0x6c, 0x65, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, - 0x39, 0x28, 0x63, 0x74, 0x78, 0x29, 0x3b, 0x20, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, 0x23, - 0x65, 0x6e, 0x64, 0x69, 0x66, 0x0a, 0x23, 0x69, 0x66, 0x20, 0x4c, 0x55, 0x49, 0x53, 0x41, 0x5f, - 0x52, 0x41, 0x59, 0x5f, 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f, 0x49, 0x4d, 0x50, 0x4c, 0x5f, 0x43, - 0x4f, 0x55, 0x4e, 0x54, 0x20, 0x3e, 0x20, 0x31, 0x30, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x61, 0x73, 0x65, 0x20, 0x31, 0x30, 0x75, 0x3a, 0x20, - 0x72, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x72, 0x61, 0x79, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, - 0x5f, 0x74, 0x72, 0x69, 0x61, 0x6e, 0x67, 0x6c, 0x65, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x73, - 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x31, 0x30, 0x28, 0x63, 0x74, 0x78, 0x29, 0x3b, 0x20, - 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, 0x23, 0x65, 0x6e, 0x64, 0x69, 0x66, 0x0a, 0x23, 0x69, - 0x66, 0x20, 0x4c, 0x55, 0x49, 0x53, 0x41, 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x51, 0x55, 0x45, 0x52, - 0x59, 0x5f, 0x49, 0x4d, 0x50, 0x4c, 0x5f, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x20, 0x3e, 0x20, 0x31, - 0x31, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x61, - 0x73, 0x65, 0x20, 0x31, 0x31, 0x75, 0x3a, 0x20, 0x72, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x72, - 0x61, 0x79, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x74, 0x72, 0x69, 0x61, 0x6e, 0x67, 0x6c, - 0x65, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x31, - 0x31, 0x28, 0x63, 0x74, 0x78, 0x29, 0x3b, 0x20, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, 0x23, - 0x65, 0x6e, 0x64, 0x69, 0x66, 0x0a, 0x23, 0x69, 0x66, 0x20, 0x4c, 0x55, 0x49, 0x53, 0x41, 0x5f, - 0x52, 0x41, 0x59, 0x5f, 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f, 0x49, 0x4d, 0x50, 0x4c, 0x5f, 0x43, - 0x4f, 0x55, 0x4e, 0x54, 0x20, 0x3e, 0x20, 0x31, 0x32, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x61, 0x73, 0x65, 0x20, 0x31, 0x32, 0x75, 0x3a, 0x20, - 0x72, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x72, 0x61, 0x79, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, - 0x5f, 0x74, 0x72, 0x69, 0x61, 0x6e, 0x67, 0x6c, 0x65, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x73, - 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x31, 0x32, 0x28, 0x63, 0x74, 0x78, 0x29, 0x3b, 0x20, - 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, 0x23, 0x65, 0x6e, 0x64, 0x69, 0x66, 0x0a, 0x23, 0x69, - 0x66, 0x20, 0x4c, 0x55, 0x49, 0x53, 0x41, 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x51, 0x55, 0x45, 0x52, - 0x59, 0x5f, 0x49, 0x4d, 0x50, 0x4c, 0x5f, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x20, 0x3e, 0x20, 0x31, - 0x33, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x61, - 0x73, 0x65, 0x20, 0x31, 0x33, 0x75, 0x3a, 0x20, 0x72, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x72, - 0x61, 0x79, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x74, 0x72, 0x69, 0x61, 0x6e, 0x67, 0x6c, - 0x65, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x31, - 0x33, 0x28, 0x63, 0x74, 0x78, 0x29, 0x3b, 0x20, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, 0x23, - 0x65, 0x6e, 0x64, 0x69, 0x66, 0x0a, 0x23, 0x69, 0x66, 0x20, 0x4c, 0x55, 0x49, 0x53, 0x41, 0x5f, - 0x52, 0x41, 0x59, 0x5f, 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f, 0x49, 0x4d, 0x50, 0x4c, 0x5f, 0x43, - 0x4f, 0x55, 0x4e, 0x54, 0x20, 0x3e, 0x20, 0x31, 0x34, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x61, 0x73, 0x65, 0x20, 0x31, 0x34, 0x75, 0x3a, 0x20, - 0x72, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x72, 0x61, 0x79, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, - 0x5f, 0x74, 0x72, 0x69, 0x61, 0x6e, 0x67, 0x6c, 0x65, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x73, - 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x31, 0x34, 0x28, 0x63, 0x74, 0x78, 0x29, 0x3b, 0x20, - 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, 0x23, 0x65, 0x6e, 0x64, 0x69, 0x66, 0x0a, 0x23, 0x69, - 0x66, 0x20, 0x4c, 0x55, 0x49, 0x53, 0x41, 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x51, 0x55, 0x45, 0x52, - 0x59, 0x5f, 0x49, 0x4d, 0x50, 0x4c, 0x5f, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x20, 0x3e, 0x20, 0x31, - 0x35, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x61, - 0x73, 0x65, 0x20, 0x31, 0x35, 0x75, 0x3a, 0x20, 0x72, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x72, - 0x61, 0x79, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x74, 0x72, 0x69, 0x61, 0x6e, 0x67, 0x6c, - 0x65, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x31, - 0x35, 0x28, 0x63, 0x74, 0x78, 0x29, 0x3b, 0x20, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, 0x23, - 0x65, 0x6e, 0x64, 0x69, 0x66, 0x0a, 0x23, 0x69, 0x66, 0x20, 0x4c, 0x55, 0x49, 0x53, 0x41, 0x5f, - 0x52, 0x41, 0x59, 0x5f, 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f, 0x49, 0x4d, 0x50, 0x4c, 0x5f, 0x43, - 0x4f, 0x55, 0x4e, 0x54, 0x20, 0x3e, 0x20, 0x31, 0x36, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x61, 0x73, 0x65, 0x20, 0x31, 0x36, 0x75, 0x3a, 0x20, - 0x72, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x72, 0x61, 0x79, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, - 0x5f, 0x74, 0x72, 0x69, 0x61, 0x6e, 0x67, 0x6c, 0x65, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x73, - 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x31, 0x36, 0x28, 0x63, 0x74, 0x78, 0x29, 0x3b, 0x20, - 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, 0x23, 0x65, 0x6e, 0x64, 0x69, 0x66, 0x0a, 0x23, 0x69, - 0x66, 0x20, 0x4c, 0x55, 0x49, 0x53, 0x41, 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x51, 0x55, 0x45, 0x52, - 0x59, 0x5f, 0x49, 0x4d, 0x50, 0x4c, 0x5f, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x20, 0x3e, 0x20, 0x31, - 0x37, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x61, - 0x73, 0x65, 0x20, 0x31, 0x37, 0x75, 0x3a, 0x20, 0x72, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x72, - 0x61, 0x79, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x74, 0x72, 0x69, 0x61, 0x6e, 0x67, 0x6c, - 0x65, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x31, - 0x37, 0x28, 0x63, 0x74, 0x78, 0x29, 0x3b, 0x20, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, 0x23, - 0x65, 0x6e, 0x64, 0x69, 0x66, 0x0a, 0x23, 0x69, 0x66, 0x20, 0x4c, 0x55, 0x49, 0x53, 0x41, 0x5f, - 0x52, 0x41, 0x59, 0x5f, 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f, 0x49, 0x4d, 0x50, 0x4c, 0x5f, 0x43, - 0x4f, 0x55, 0x4e, 0x54, 0x20, 0x3e, 0x20, 0x31, 0x38, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x61, 0x73, 0x65, 0x20, 0x31, 0x38, 0x75, 0x3a, 0x20, - 0x72, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x72, 0x61, 0x79, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, - 0x5f, 0x74, 0x72, 0x69, 0x61, 0x6e, 0x67, 0x6c, 0x65, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x73, - 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x31, 0x38, 0x28, 0x63, 0x74, 0x78, 0x29, 0x3b, 0x20, - 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, 0x23, 0x65, 0x6e, 0x64, 0x69, 0x66, 0x0a, 0x23, 0x69, - 0x66, 0x20, 0x4c, 0x55, 0x49, 0x53, 0x41, 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x51, 0x55, 0x45, 0x52, - 0x59, 0x5f, 0x49, 0x4d, 0x50, 0x4c, 0x5f, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x20, 0x3e, 0x20, 0x31, - 0x39, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x61, - 0x73, 0x65, 0x20, 0x31, 0x39, 0x75, 0x3a, 0x20, 0x72, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x72, - 0x61, 0x79, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x74, 0x72, 0x69, 0x61, 0x6e, 0x67, 0x6c, - 0x65, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x31, - 0x39, 0x28, 0x63, 0x74, 0x78, 0x29, 0x3b, 0x20, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, 0x23, - 0x65, 0x6e, 0x64, 0x69, 0x66, 0x0a, 0x23, 0x69, 0x66, 0x20, 0x4c, 0x55, 0x49, 0x53, 0x41, 0x5f, - 0x52, 0x41, 0x59, 0x5f, 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f, 0x49, 0x4d, 0x50, 0x4c, 0x5f, 0x43, - 0x4f, 0x55, 0x4e, 0x54, 0x20, 0x3e, 0x20, 0x32, 0x30, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x61, 0x73, 0x65, 0x20, 0x32, 0x30, 0x75, 0x3a, 0x20, - 0x72, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x72, 0x61, 0x79, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, - 0x5f, 0x74, 0x72, 0x69, 0x61, 0x6e, 0x67, 0x6c, 0x65, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x73, - 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x32, 0x30, 0x28, 0x63, 0x74, 0x78, 0x29, 0x3b, 0x20, - 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, 0x23, 0x65, 0x6e, 0x64, 0x69, 0x66, 0x0a, 0x23, 0x69, - 0x66, 0x20, 0x4c, 0x55, 0x49, 0x53, 0x41, 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x51, 0x55, 0x45, 0x52, - 0x59, 0x5f, 0x49, 0x4d, 0x50, 0x4c, 0x5f, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x20, 0x3e, 0x20, 0x32, - 0x31, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x61, - 0x73, 0x65, 0x20, 0x32, 0x31, 0x75, 0x3a, 0x20, 0x72, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x72, - 0x61, 0x79, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x74, 0x72, 0x69, 0x61, 0x6e, 0x67, 0x6c, - 0x65, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x32, - 0x31, 0x28, 0x63, 0x74, 0x78, 0x29, 0x3b, 0x20, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, 0x23, - 0x65, 0x6e, 0x64, 0x69, 0x66, 0x0a, 0x23, 0x69, 0x66, 0x20, 0x4c, 0x55, 0x49, 0x53, 0x41, 0x5f, - 0x52, 0x41, 0x59, 0x5f, 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f, 0x49, 0x4d, 0x50, 0x4c, 0x5f, 0x43, - 0x4f, 0x55, 0x4e, 0x54, 0x20, 0x3e, 0x20, 0x32, 0x32, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x61, 0x73, 0x65, 0x20, 0x32, 0x32, 0x75, 0x3a, 0x20, - 0x72, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x72, 0x61, 0x79, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, - 0x5f, 0x74, 0x72, 0x69, 0x61, 0x6e, 0x67, 0x6c, 0x65, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x73, - 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x32, 0x32, 0x28, 0x63, 0x74, 0x78, 0x29, 0x3b, 0x20, - 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, 0x23, 0x65, 0x6e, 0x64, 0x69, 0x66, 0x0a, 0x23, 0x69, - 0x66, 0x20, 0x4c, 0x55, 0x49, 0x53, 0x41, 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x51, 0x55, 0x45, 0x52, - 0x59, 0x5f, 0x49, 0x4d, 0x50, 0x4c, 0x5f, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x20, 0x3e, 0x20, 0x32, - 0x33, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x61, - 0x73, 0x65, 0x20, 0x32, 0x33, 0x75, 0x3a, 0x20, 0x72, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x72, - 0x61, 0x79, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x74, 0x72, 0x69, 0x61, 0x6e, 0x67, 0x6c, - 0x65, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x32, - 0x33, 0x28, 0x63, 0x74, 0x78, 0x29, 0x3b, 0x20, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, 0x23, - 0x65, 0x6e, 0x64, 0x69, 0x66, 0x0a, 0x23, 0x69, 0x66, 0x20, 0x4c, 0x55, 0x49, 0x53, 0x41, 0x5f, - 0x52, 0x41, 0x59, 0x5f, 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f, 0x49, 0x4d, 0x50, 0x4c, 0x5f, 0x43, - 0x4f, 0x55, 0x4e, 0x54, 0x20, 0x3e, 0x20, 0x32, 0x34, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x61, 0x73, 0x65, 0x20, 0x32, 0x34, 0x75, 0x3a, 0x20, - 0x72, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x72, 0x61, 0x79, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, - 0x5f, 0x74, 0x72, 0x69, 0x61, 0x6e, 0x67, 0x6c, 0x65, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x73, - 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x32, 0x34, 0x28, 0x63, 0x74, 0x78, 0x29, 0x3b, 0x20, - 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, 0x23, 0x65, 0x6e, 0x64, 0x69, 0x66, 0x0a, 0x23, 0x69, - 0x66, 0x20, 0x4c, 0x55, 0x49, 0x53, 0x41, 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x51, 0x55, 0x45, 0x52, - 0x59, 0x5f, 0x49, 0x4d, 0x50, 0x4c, 0x5f, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x20, 0x3e, 0x20, 0x32, - 0x35, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x61, - 0x73, 0x65, 0x20, 0x32, 0x35, 0x75, 0x3a, 0x20, 0x72, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x72, - 0x61, 0x79, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x74, 0x72, 0x69, 0x61, 0x6e, 0x67, 0x6c, - 0x65, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x32, - 0x35, 0x28, 0x63, 0x74, 0x78, 0x29, 0x3b, 0x20, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, 0x23, - 0x65, 0x6e, 0x64, 0x69, 0x66, 0x0a, 0x23, 0x69, 0x66, 0x20, 0x4c, 0x55, 0x49, 0x53, 0x41, 0x5f, - 0x52, 0x41, 0x59, 0x5f, 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f, 0x49, 0x4d, 0x50, 0x4c, 0x5f, 0x43, - 0x4f, 0x55, 0x4e, 0x54, 0x20, 0x3e, 0x20, 0x32, 0x36, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x61, 0x73, 0x65, 0x20, 0x32, 0x36, 0x75, 0x3a, 0x20, - 0x72, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x72, 0x61, 0x79, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, - 0x5f, 0x74, 0x72, 0x69, 0x61, 0x6e, 0x67, 0x6c, 0x65, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x73, - 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x32, 0x36, 0x28, 0x63, 0x74, 0x78, 0x29, 0x3b, 0x20, - 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, 0x23, 0x65, 0x6e, 0x64, 0x69, 0x66, 0x0a, 0x23, 0x69, - 0x66, 0x20, 0x4c, 0x55, 0x49, 0x53, 0x41, 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x51, 0x55, 0x45, 0x52, - 0x59, 0x5f, 0x49, 0x4d, 0x50, 0x4c, 0x5f, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x20, 0x3e, 0x20, 0x32, - 0x37, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x61, - 0x73, 0x65, 0x20, 0x32, 0x37, 0x75, 0x3a, 0x20, 0x72, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x72, - 0x61, 0x79, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x74, 0x72, 0x69, 0x61, 0x6e, 0x67, 0x6c, - 0x65, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x32, - 0x37, 0x28, 0x63, 0x74, 0x78, 0x29, 0x3b, 0x20, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, 0x23, - 0x65, 0x6e, 0x64, 0x69, 0x66, 0x0a, 0x23, 0x69, 0x66, 0x20, 0x4c, 0x55, 0x49, 0x53, 0x41, 0x5f, - 0x52, 0x41, 0x59, 0x5f, 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f, 0x49, 0x4d, 0x50, 0x4c, 0x5f, 0x43, - 0x4f, 0x55, 0x4e, 0x54, 0x20, 0x3e, 0x20, 0x32, 0x38, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x61, 0x73, 0x65, 0x20, 0x32, 0x38, 0x75, 0x3a, 0x20, - 0x72, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x72, 0x61, 0x79, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, - 0x5f, 0x74, 0x72, 0x69, 0x61, 0x6e, 0x67, 0x6c, 0x65, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x73, - 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x32, 0x38, 0x28, 0x63, 0x74, 0x78, 0x29, 0x3b, 0x20, - 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, 0x23, 0x65, 0x6e, 0x64, 0x69, 0x66, 0x0a, 0x23, 0x69, - 0x66, 0x20, 0x4c, 0x55, 0x49, 0x53, 0x41, 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x51, 0x55, 0x45, 0x52, - 0x59, 0x5f, 0x49, 0x4d, 0x50, 0x4c, 0x5f, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x20, 0x3e, 0x20, 0x32, - 0x39, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x61, - 0x73, 0x65, 0x20, 0x32, 0x39, 0x75, 0x3a, 0x20, 0x72, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x72, - 0x61, 0x79, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x74, 0x72, 0x69, 0x61, 0x6e, 0x67, 0x6c, - 0x65, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x32, - 0x39, 0x28, 0x63, 0x74, 0x78, 0x29, 0x3b, 0x20, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, 0x23, - 0x65, 0x6e, 0x64, 0x69, 0x66, 0x0a, 0x23, 0x69, 0x66, 0x20, 0x4c, 0x55, 0x49, 0x53, 0x41, 0x5f, - 0x52, 0x41, 0x59, 0x5f, 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f, 0x49, 0x4d, 0x50, 0x4c, 0x5f, 0x43, - 0x4f, 0x55, 0x4e, 0x54, 0x20, 0x3e, 0x20, 0x33, 0x30, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x61, 0x73, 0x65, 0x20, 0x33, 0x30, 0x75, 0x3a, 0x20, - 0x72, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x72, 0x61, 0x79, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, - 0x5f, 0x74, 0x72, 0x69, 0x61, 0x6e, 0x67, 0x6c, 0x65, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x73, - 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x33, 0x30, 0x28, 0x63, 0x74, 0x78, 0x29, 0x3b, 0x20, - 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, 0x23, 0x65, 0x6e, 0x64, 0x69, 0x66, 0x0a, 0x23, 0x69, - 0x66, 0x20, 0x4c, 0x55, 0x49, 0x53, 0x41, 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x51, 0x55, 0x45, 0x52, - 0x59, 0x5f, 0x49, 0x4d, 0x50, 0x4c, 0x5f, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x20, 0x3e, 0x20, 0x33, - 0x31, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x61, - 0x73, 0x65, 0x20, 0x33, 0x31, 0x75, 0x3a, 0x20, 0x72, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x72, - 0x61, 0x79, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x74, 0x72, 0x69, 0x61, 0x6e, 0x67, 0x6c, - 0x65, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x33, - 0x31, 0x28, 0x63, 0x74, 0x78, 0x29, 0x3b, 0x20, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, 0x23, - 0x65, 0x6e, 0x64, 0x69, 0x66, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x3a, 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x6e, - 0x72, 0x65, 0x61, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x28, 0x5f, 0x5f, 0x46, 0x49, 0x4c, 0x45, - 0x5f, 0x5f, 0x2c, 0x20, 0x5f, 0x5f, 0x4c, 0x49, 0x4e, 0x45, 0x5f, 0x5f, 0x29, 0x3b, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x2f, 0x2f, 0x20, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x69, - 0x6e, 0x74, 0x65, 0x72, 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x69, 0x66, 0x20, 0x6e, - 0x6f, 0x74, 0x20, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x64, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x28, 0x21, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, - 0x69, 0x74, 0x74, 0x65, 0x64, 0x29, 0x20, 0x7b, 0x20, 0x6c, 0x63, 0x5f, 0x72, 0x61, 0x79, 0x5f, - 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x5f, 0x69, 0x6e, 0x74, - 0x65, 0x72, 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x29, 0x3b, 0x20, 0x7d, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x5f, 0x74, 0x65, - 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x65, 0x20, 0x3d, 0x20, 0x72, 0x2e, 0x74, 0x65, 0x72, 0x6d, - 0x69, 0x6e, 0x61, 0x74, 0x65, 0x64, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x20, 0x65, 0x6c, - 0x73, 0x65, 0x20, 0x7b, 0x2f, 0x2f, 0x20, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x64, 0x75, 0x72, 0x61, - 0x6c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, - 0x5f, 0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x65, 0x20, 0x3d, 0x20, 0x68, 0x69, 0x74, - 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x20, 0x3d, 0x3d, 0x20, 0x4c, 0x43, 0x5f, 0x48, 0x49, 0x54, 0x5f, - 0x4b, 0x49, 0x4e, 0x44, 0x5f, 0x50, 0x52, 0x4f, 0x43, 0x45, 0x44, 0x55, 0x52, 0x41, 0x4c, 0x5f, - 0x54, 0x45, 0x52, 0x4d, 0x49, 0x4e, 0x41, 0x54, 0x45, 0x44, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x28, 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, - 0x5f, 0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x65, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x72, 0x61, 0x79, 0x5f, 0x71, 0x75, 0x65, - 0x72, 0x79, 0x5f, 0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x65, 0x28, 0x29, 0x3b, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x23, 0x65, 0x6e, 0x64, 0x69, 0x66, 0x0a, 0x7d, 0x0a, 0x0a, - 0x23, 0x65, 0x6e, 0x64, 0x69, 0x66, 0x0a, 0x0a, 0x23, 0x65, 0x6c, 0x73, 0x65, 0x0a, 0x0a, 0x23, - 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, 0x6c, 0x63, 0x5f, 0x64, 0x69, 0x73, 0x70, 0x61, 0x74, - 0x63, 0x68, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x28, 0x29, 0x20, 0x6c, 0x63, 0x5f, 0x6d, 0x61, 0x6b, - 0x65, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x28, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x2e, 0x6c, - 0x73, 0x5f, 0x6b, 0x69, 0x64, 0x29, 0x0a, 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, 0x6c, - 0x63, 0x5f, 0x6b, 0x65, 0x72, 0x6e, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x28, 0x29, 0x20, 0x73, 0x74, - 0x61, 0x74, 0x69, 0x63, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, - 0x74, 0x3e, 0x28, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x2e, 0x6c, 0x73, 0x5f, 0x6b, 0x69, 0x64, - 0x2e, 0x77, 0x29, 0x0a, 0x0a, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x76, 0x6f, 0x69, 0x64, - 0x20, 0x6c, 0x63, 0x5f, 0x73, 0x68, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x65, 0x78, 0x65, 0x63, 0x75, - 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x28, 0x6c, 0x63, 0x5f, - 0x75, 0x69, 0x6e, 0x74, 0x20, 0x68, 0x69, 0x6e, 0x74, 0x2c, 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x69, - 0x6e, 0x74, 0x20, 0x68, 0x69, 0x6e, 0x74, 0x5f, 0x62, 0x69, 0x74, 0x73, 0x29, 0x20, 0x6e, 0x6f, - 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, - 0x64, 0x6f, 0x20, 0x6e, 0x6f, 0x74, 0x68, 0x69, 0x6e, 0x67, 0x20, 0x73, 0x69, 0x6e, 0x63, 0x65, - 0x20, 0x53, 0x45, 0x52, 0x20, 0x69, 0x73, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x73, 0x75, 0x70, 0x70, - 0x6f, 0x72, 0x74, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x20, 0x70, 0x6c, 0x61, 0x69, 0x6e, 0x20, 0x43, - 0x55, 0x44, 0x41, 0x0a, 0x7d, 0x0a, 0x0a, 0x5b, 0x5b, 0x6e, 0x6f, 0x64, 0x69, 0x73, 0x63, 0x61, - 0x72, 0x64, 0x5d, 0x5d, 0x20, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, - 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x6c, 0x63, 0x5f, 0x74, - 0x68, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x69, 0x64, 0x28, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, - 0x65, 0x70, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, - 0x20, 0x6c, 0x63, 0x5f, 0x6d, 0x61, 0x6b, 0x65, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x28, 0x6c, - 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x28, 0x74, 0x68, 0x72, 0x65, 0x61, 0x64, 0x49, 0x64, 0x78, - 0x2e, 0x78, 0x29, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x32, 0x36, 0x28, 0x63, 0x74, 0x78, 0x29, 0x3b, 0x20, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, + 0x23, 0x65, 0x6e, 0x64, 0x69, 0x66, 0x0a, 0x23, 0x69, 0x66, 0x20, 0x4c, 0x55, 0x49, 0x53, 0x41, + 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f, 0x49, 0x4d, 0x50, 0x4c, 0x5f, + 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x20, 0x3e, 0x20, 0x32, 0x37, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x61, 0x73, 0x65, 0x20, 0x32, 0x37, 0x75, 0x3a, + 0x20, 0x72, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x72, 0x61, 0x79, 0x5f, 0x71, 0x75, 0x65, 0x72, + 0x79, 0x5f, 0x74, 0x72, 0x69, 0x61, 0x6e, 0x67, 0x6c, 0x65, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, + 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x32, 0x37, 0x28, 0x63, 0x74, 0x78, 0x29, 0x3b, + 0x20, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, 0x23, 0x65, 0x6e, 0x64, 0x69, 0x66, 0x0a, 0x23, + 0x69, 0x66, 0x20, 0x4c, 0x55, 0x49, 0x53, 0x41, 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x51, 0x55, 0x45, + 0x52, 0x59, 0x5f, 0x49, 0x4d, 0x50, 0x4c, 0x5f, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x20, 0x3e, 0x20, + 0x32, 0x38, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, + 0x61, 0x73, 0x65, 0x20, 0x32, 0x38, 0x75, 0x3a, 0x20, 0x72, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, + 0x72, 0x61, 0x79, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x74, 0x72, 0x69, 0x61, 0x6e, 0x67, + 0x6c, 0x65, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, + 0x32, 0x38, 0x28, 0x63, 0x74, 0x78, 0x29, 0x3b, 0x20, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, + 0x23, 0x65, 0x6e, 0x64, 0x69, 0x66, 0x0a, 0x23, 0x69, 0x66, 0x20, 0x4c, 0x55, 0x49, 0x53, 0x41, + 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f, 0x49, 0x4d, 0x50, 0x4c, 0x5f, + 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x20, 0x3e, 0x20, 0x32, 0x39, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x61, 0x73, 0x65, 0x20, 0x32, 0x39, 0x75, 0x3a, + 0x20, 0x72, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x72, 0x61, 0x79, 0x5f, 0x71, 0x75, 0x65, 0x72, + 0x79, 0x5f, 0x74, 0x72, 0x69, 0x61, 0x6e, 0x67, 0x6c, 0x65, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, + 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x32, 0x39, 0x28, 0x63, 0x74, 0x78, 0x29, 0x3b, + 0x20, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, 0x23, 0x65, 0x6e, 0x64, 0x69, 0x66, 0x0a, 0x23, + 0x69, 0x66, 0x20, 0x4c, 0x55, 0x49, 0x53, 0x41, 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x51, 0x55, 0x45, + 0x52, 0x59, 0x5f, 0x49, 0x4d, 0x50, 0x4c, 0x5f, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x20, 0x3e, 0x20, + 0x33, 0x30, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, + 0x61, 0x73, 0x65, 0x20, 0x33, 0x30, 0x75, 0x3a, 0x20, 0x72, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, + 0x72, 0x61, 0x79, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x74, 0x72, 0x69, 0x61, 0x6e, 0x67, + 0x6c, 0x65, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, + 0x33, 0x30, 0x28, 0x63, 0x74, 0x78, 0x29, 0x3b, 0x20, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, + 0x23, 0x65, 0x6e, 0x64, 0x69, 0x66, 0x0a, 0x23, 0x69, 0x66, 0x20, 0x4c, 0x55, 0x49, 0x53, 0x41, + 0x5f, 0x52, 0x41, 0x59, 0x5f, 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f, 0x49, 0x4d, 0x50, 0x4c, 0x5f, + 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x20, 0x3e, 0x20, 0x33, 0x31, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x61, 0x73, 0x65, 0x20, 0x33, 0x31, 0x75, 0x3a, + 0x20, 0x72, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x72, 0x61, 0x79, 0x5f, 0x71, 0x75, 0x65, 0x72, + 0x79, 0x5f, 0x74, 0x72, 0x69, 0x61, 0x6e, 0x67, 0x6c, 0x65, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, + 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x33, 0x31, 0x28, 0x63, 0x74, 0x78, 0x29, 0x3b, + 0x20, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, 0x23, 0x65, 0x6e, 0x64, 0x69, 0x66, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x64, 0x65, 0x66, 0x61, 0x75, + 0x6c, 0x74, 0x3a, 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x6e, 0x72, 0x65, 0x61, 0x63, 0x68, 0x61, 0x62, + 0x6c, 0x65, 0x28, 0x5f, 0x5f, 0x46, 0x49, 0x4c, 0x45, 0x5f, 0x5f, 0x2c, 0x20, 0x5f, 0x5f, 0x4c, + 0x49, 0x4e, 0x45, 0x5f, 0x5f, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x69, 0x67, 0x6e, + 0x6f, 0x72, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x65, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x69, 0x66, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x63, 0x6f, 0x6d, 0x6d, + 0x69, 0x74, 0x74, 0x65, 0x64, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, + 0x20, 0x28, 0x21, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x64, 0x29, 0x20, + 0x7b, 0x20, 0x6c, 0x63, 0x5f, 0x72, 0x61, 0x79, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x69, + 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x65, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x28, 0x29, 0x3b, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x5f, 0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x65, + 0x20, 0x3d, 0x20, 0x72, 0x2e, 0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x65, 0x64, 0x3b, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x20, 0x65, 0x6c, 0x73, 0x65, 0x20, 0x7b, 0x2f, 0x2f, 0x20, + 0x70, 0x72, 0x6f, 0x63, 0x65, 0x64, 0x75, 0x72, 0x61, 0x6c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x5f, 0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e, + 0x61, 0x74, 0x65, 0x20, 0x3d, 0x20, 0x68, 0x69, 0x74, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x20, 0x3d, + 0x3d, 0x20, 0x4c, 0x43, 0x5f, 0x48, 0x49, 0x54, 0x5f, 0x4b, 0x49, 0x4e, 0x44, 0x5f, 0x50, 0x52, + 0x4f, 0x43, 0x45, 0x44, 0x55, 0x52, 0x41, 0x4c, 0x5f, 0x54, 0x45, 0x52, 0x4d, 0x49, 0x4e, 0x41, + 0x54, 0x45, 0x44, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, + 0x66, 0x20, 0x28, 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x5f, 0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e, + 0x61, 0x74, 0x65, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, + 0x63, 0x5f, 0x72, 0x61, 0x79, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x74, 0x65, 0x72, 0x6d, + 0x69, 0x6e, 0x61, 0x74, 0x65, 0x28, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x23, + 0x65, 0x6e, 0x64, 0x69, 0x66, 0x0a, 0x7d, 0x0a, 0x0a, 0x23, 0x65, 0x6e, 0x64, 0x69, 0x66, 0x0a, + 0x0a, 0x23, 0x65, 0x6c, 0x73, 0x65, 0x0a, 0x0a, 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, + 0x6c, 0x63, 0x5f, 0x64, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x73, 0x69, 0x7a, 0x65, + 0x28, 0x29, 0x20, 0x6c, 0x63, 0x5f, 0x6d, 0x61, 0x6b, 0x65, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x33, + 0x28, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x2e, 0x6c, 0x73, 0x5f, 0x6b, 0x69, 0x64, 0x29, 0x0a, + 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, 0x6c, 0x63, 0x5f, 0x6b, 0x65, 0x72, 0x6e, 0x65, + 0x6c, 0x5f, 0x69, 0x64, 0x28, 0x29, 0x20, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x5f, 0x63, 0x61, + 0x73, 0x74, 0x3c, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x3e, 0x28, 0x70, 0x61, 0x72, 0x61, + 0x6d, 0x73, 0x2e, 0x6c, 0x73, 0x5f, 0x6b, 0x69, 0x64, 0x2e, 0x77, 0x29, 0x0a, 0x0a, 0x76, 0x6f, + 0x69, 0x64, 0x20, 0x6c, 0x63, 0x5f, 0x73, 0x68, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x65, 0x78, 0x65, + 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x28, 0x6c, + 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x20, 0x68, 0x69, 0x6e, 0x74, 0x2c, 0x20, 0x6c, 0x63, 0x5f, + 0x75, 0x69, 0x6e, 0x74, 0x20, 0x68, 0x69, 0x6e, 0x74, 0x5f, 0x62, 0x69, 0x74, 0x73, 0x29, 0x20, + 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x2f, + 0x2f, 0x20, 0x64, 0x6f, 0x20, 0x6e, 0x6f, 0x74, 0x68, 0x69, 0x6e, 0x67, 0x20, 0x73, 0x69, 0x6e, + 0x63, 0x65, 0x20, 0x53, 0x45, 0x52, 0x20, 0x69, 0x73, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x73, 0x75, + 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x20, 0x70, 0x6c, 0x61, 0x69, 0x6e, + 0x20, 0x43, 0x55, 0x44, 0x41, 0x0a, 0x7d, 0x0a, 0x0a, 0x5b, 0x5b, 0x6e, 0x6f, 0x64, 0x69, 0x73, + 0x63, 0x61, 0x72, 0x64, 0x5d, 0x5d, 0x20, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, + 0x5f, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x6c, 0x63, 0x5f, 0x74, 0x68, 0x72, 0x65, 0x61, 0x64, + 0x5f, 0x69, 0x64, 0x28, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x6c, 0x63, 0x5f, 0x6d, + 0x61, 0x6b, 0x65, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x28, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, + 0x74, 0x28, 0x74, 0x68, 0x72, 0x65, 0x61, 0x64, 0x49, 0x64, 0x78, 0x2e, 0x78, 0x29, 0x2c, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, + 0x28, 0x74, 0x68, 0x72, 0x65, 0x61, 0x64, 0x49, 0x64, 0x78, 0x2e, 0x79, 0x29, 0x2c, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x28, + 0x74, 0x68, 0x72, 0x65, 0x61, 0x64, 0x49, 0x64, 0x78, 0x2e, 0x7a, 0x29, 0x29, 0x3b, 0x0a, 0x7d, + 0x0a, 0x0a, 0x5b, 0x5b, 0x6e, 0x6f, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x5d, 0x5d, 0x20, + 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, + 0x6c, 0x63, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x69, 0x64, 0x28, 0x29, 0x20, 0x6e, 0x6f, + 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, + 0x75, 0x72, 0x6e, 0x20, 0x6c, 0x63, 0x5f, 0x6d, 0x61, 0x6b, 0x65, 0x5f, 0x75, 0x69, 0x6e, 0x74, + 0x33, 0x28, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x28, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x49, + 0x64, 0x78, 0x2e, 0x78, 0x29, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x28, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x49, 0x64, 0x78, + 0x2e, 0x79, 0x29, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, - 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x28, 0x74, 0x68, 0x72, 0x65, 0x61, 0x64, 0x49, 0x64, 0x78, 0x2e, - 0x79, 0x29, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, - 0x75, 0x69, 0x6e, 0x74, 0x28, 0x74, 0x68, 0x72, 0x65, 0x61, 0x64, 0x49, 0x64, 0x78, 0x2e, 0x7a, + 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x28, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x49, 0x64, 0x78, 0x2e, 0x7a, 0x29, 0x29, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x5b, 0x5b, 0x6e, 0x6f, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x5d, 0x5d, 0x20, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, - 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x6c, 0x63, 0x5f, 0x62, - 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x69, 0x64, 0x28, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, - 0x70, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, - 0x6c, 0x63, 0x5f, 0x6d, 0x61, 0x6b, 0x65, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x28, 0x6c, 0x63, - 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x28, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x49, 0x64, 0x78, 0x2e, 0x78, - 0x29, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x75, - 0x69, 0x6e, 0x74, 0x28, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x49, 0x64, 0x78, 0x2e, 0x79, 0x29, 0x2c, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, - 0x74, 0x28, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x49, 0x64, 0x78, 0x2e, 0x7a, 0x29, 0x29, 0x3b, 0x0a, - 0x7d, 0x0a, 0x0a, 0x5b, 0x5b, 0x6e, 0x6f, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x5d, 0x5d, - 0x20, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, - 0x6e, 0x65, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x6c, 0x63, 0x5f, 0x64, 0x69, 0x73, 0x70, 0x61, - 0x74, 0x63, 0x68, 0x5f, 0x69, 0x64, 0x28, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, - 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x6c, - 0x63, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x69, 0x64, 0x28, 0x29, 0x20, 0x2a, 0x20, 0x6c, - 0x63, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x28, 0x29, 0x20, 0x2b, - 0x20, 0x6c, 0x63, 0x5f, 0x74, 0x68, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x69, 0x64, 0x28, 0x29, 0x3b, - 0x0a, 0x7d, 0x0a, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, - 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x76, 0x6f, 0x69, 0x64, 0x20, 0x6c, 0x63, 0x5f, 0x73, 0x79, - 0x6e, 0x63, 0x68, 0x72, 0x6f, 0x6e, 0x69, 0x7a, 0x65, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x28, - 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x5f, 0x5f, 0x73, 0x79, 0x6e, 0x63, 0x74, 0x68, 0x72, 0x65, 0x61, 0x64, 0x73, 0x28, 0x29, - 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x23, 0x65, 0x6e, 0x64, 0x69, 0x66, 0x0a, 0x0a, 0x2f, 0x2f, 0x20, - 0x61, 0x75, 0x74, 0x6f, 0x64, 0x69, 0x66, 0x66, 0x0a, 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, - 0x20, 0x4c, 0x43, 0x5f, 0x47, 0x52, 0x41, 0x44, 0x5f, 0x53, 0x48, 0x41, 0x44, 0x4f, 0x57, 0x5f, - 0x56, 0x41, 0x52, 0x49, 0x41, 0x42, 0x4c, 0x45, 0x28, 0x78, 0x29, 0x20, 0x61, 0x75, 0x74, 0x6f, - 0x20, 0x78, 0x23, 0x23, 0x5f, 0x67, 0x72, 0x61, 0x64, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x7a, - 0x65, 0x72, 0x6f, 0x3c, 0x64, 0x65, 0x63, 0x6c, 0x74, 0x79, 0x70, 0x65, 0x28, 0x78, 0x29, 0x3e, - 0x28, 0x29, 0x0a, 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, 0x4c, 0x43, 0x5f, 0x4d, 0x41, - 0x52, 0x4b, 0x5f, 0x47, 0x52, 0x41, 0x44, 0x28, 0x78, 0x2c, 0x20, 0x64, 0x78, 0x29, 0x20, 0x78, - 0x23, 0x23, 0x5f, 0x67, 0x72, 0x61, 0x64, 0x20, 0x3d, 0x20, 0x64, 0x78, 0x0a, 0x23, 0x64, 0x65, - 0x66, 0x69, 0x6e, 0x65, 0x20, 0x4c, 0x43, 0x5f, 0x47, 0x52, 0x41, 0x44, 0x28, 0x78, 0x29, 0x20, - 0x28, 0x78, 0x23, 0x23, 0x5f, 0x67, 0x72, 0x61, 0x64, 0x29, 0x0a, 0x23, 0x64, 0x65, 0x66, 0x69, - 0x6e, 0x65, 0x20, 0x4c, 0x43, 0x5f, 0x41, 0x43, 0x43, 0x55, 0x4d, 0x5f, 0x47, 0x52, 0x41, 0x44, - 0x28, 0x78, 0x5f, 0x67, 0x72, 0x61, 0x64, 0x2c, 0x20, 0x64, 0x78, 0x29, 0x20, 0x6c, 0x63, 0x5f, - 0x61, 0x63, 0x63, 0x75, 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x5f, 0x67, 0x72, 0x61, 0x64, 0x28, - 0x26, 0x28, 0x78, 0x5f, 0x67, 0x72, 0x61, 0x64, 0x29, 0x2c, 0x20, 0x28, 0x64, 0x78, 0x29, 0x29, - 0x0a, 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, 0x4c, 0x43, 0x5f, 0x52, 0x45, 0x51, 0x55, - 0x49, 0x52, 0x45, 0x53, 0x5f, 0x47, 0x52, 0x41, 0x44, 0x28, 0x78, 0x29, 0x20, 0x78, 0x23, 0x23, - 0x5f, 0x67, 0x72, 0x61, 0x64, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x7a, 0x65, 0x72, 0x6f, 0x3c, - 0x64, 0x65, 0x63, 0x6c, 0x74, 0x79, 0x70, 0x65, 0x28, 0x78, 0x23, 0x23, 0x5f, 0x67, 0x72, 0x61, - 0x64, 0x29, 0x3e, 0x28, 0x29, 0x0a, 0x0a, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x3c, - 0x74, 0x79, 0x70, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x54, 0x3e, 0x0a, 0x73, 0x74, 0x72, 0x75, - 0x63, 0x74, 0x20, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x61, 0x73, 0x28, 0x61, 0x6c, 0x69, 0x67, 0x6e, - 0x6f, 0x66, 0x28, 0x54, 0x29, 0x20, 0x3c, 0x20, 0x34, 0x75, 0x20, 0x3f, 0x20, 0x34, 0x75, 0x20, - 0x3a, 0x20, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x6f, 0x66, 0x28, 0x54, 0x29, 0x29, 0x20, 0x4c, 0x43, - 0x50, 0x61, 0x63, 0x6b, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x54, 0x20, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x3b, 0x0a, 0x7d, 0x3b, 0x0a, 0x0a, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, - 0x3c, 0x74, 0x79, 0x70, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x54, 0x3e, 0x0a, 0x5f, 0x5f, 0x64, - 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x76, - 0x6f, 0x69, 0x64, 0x20, 0x6c, 0x63, 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x5f, 0x74, 0x6f, 0x28, 0x63, - 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x54, 0x20, 0x26, 0x78, 0x2c, 0x20, 0x4c, 0x43, 0x42, 0x75, 0x66, - 0x66, 0x65, 0x72, 0x3c, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x3e, 0x20, 0x61, 0x72, 0x72, - 0x61, 0x79, 0x2c, 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x20, 0x69, 0x64, 0x78, 0x29, - 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x78, 0x70, 0x72, 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, - 0x74, 0x20, 0x4e, 0x20, 0x3d, 0x20, 0x28, 0x73, 0x69, 0x7a, 0x65, 0x6f, 0x66, 0x28, 0x54, 0x29, - 0x20, 0x2b, 0x20, 0x33, 0x75, 0x29, 0x20, 0x2f, 0x20, 0x34, 0x75, 0x3b, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x69, 0x66, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x78, 0x70, 0x72, 0x20, 0x28, 0x61, - 0x6c, 0x69, 0x67, 0x6e, 0x6f, 0x66, 0x28, 0x54, 0x29, 0x20, 0x3c, 0x20, 0x34, 0x75, 0x29, 0x20, - 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x74, 0x6f, 0x6f, - 0x20, 0x73, 0x6d, 0x61, 0x6c, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x62, 0x65, 0x20, 0x61, 0x6c, 0x69, - 0x67, 0x6e, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x34, 0x20, 0x62, 0x79, 0x74, 0x65, 0x73, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x4c, 0x43, 0x50, 0x61, 0x63, 0x6b, 0x3c, 0x54, - 0x3e, 0x20, 0x70, 0x61, 0x63, 0x6b, 0x7b, 0x7d, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x70, 0x61, 0x63, 0x6b, 0x2e, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x3d, 0x20, 0x78, - 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x64, - 0x61, 0x74, 0x61, 0x20, 0x3d, 0x20, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, - 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x6c, 0x63, 0x5f, - 0x75, 0x69, 0x6e, 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x70, 0x61, 0x63, 0x6b, 0x29, 0x3b, 0x0a, - 0x23, 0x70, 0x72, 0x61, 0x67, 0x6d, 0x61, 0x20, 0x75, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x28, 0x61, 0x75, 0x74, 0x6f, - 0x20, 0x69, 0x20, 0x3d, 0x20, 0x30, 0x75, 0x3b, 0x20, 0x69, 0x20, 0x3c, 0x20, 0x4e, 0x3b, 0x20, - 0x69, 0x2b, 0x2b, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x61, 0x72, 0x72, 0x61, 0x79, 0x2e, 0x70, 0x74, 0x72, 0x5b, 0x69, 0x64, 0x78, - 0x20, 0x2b, 0x20, 0x69, 0x5d, 0x20, 0x3d, 0x20, 0x64, 0x61, 0x74, 0x61, 0x5b, 0x69, 0x5d, 0x3b, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, - 0x20, 0x65, 0x6c, 0x73, 0x65, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x2f, 0x2f, 0x20, 0x73, 0x61, 0x66, 0x65, 0x20, 0x74, 0x6f, 0x20, 0x72, 0x65, 0x69, 0x6e, 0x74, - 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, 0x6f, 0x69, 0x6e, 0x74, - 0x65, 0x72, 0x20, 0x61, 0x73, 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x20, 0x2a, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x64, 0x61, 0x74, - 0x61, 0x20, 0x3d, 0x20, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, - 0x63, 0x61, 0x73, 0x74, 0x3c, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x69, - 0x6e, 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x78, 0x29, 0x3b, 0x0a, 0x23, 0x70, 0x72, 0x61, 0x67, - 0x6d, 0x61, 0x20, 0x75, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x28, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x69, 0x20, 0x3d, 0x20, - 0x30, 0x75, 0x3b, 0x20, 0x69, 0x20, 0x3c, 0x20, 0x4e, 0x3b, 0x20, 0x69, 0x2b, 0x2b, 0x29, 0x20, - 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x61, 0x72, - 0x72, 0x61, 0x79, 0x2e, 0x70, 0x74, 0x72, 0x5b, 0x69, 0x64, 0x78, 0x20, 0x2b, 0x20, 0x69, 0x5d, - 0x20, 0x3d, 0x20, 0x64, 0x61, 0x74, 0x61, 0x5b, 0x69, 0x5d, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x7d, 0x0a, 0x0a, 0x74, - 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x3c, 0x74, 0x79, 0x70, 0x65, 0x6e, 0x61, 0x6d, 0x65, - 0x20, 0x54, 0x3e, 0x0a, 0x5b, 0x5b, 0x6e, 0x6f, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x5d, - 0x5d, 0x20, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, - 0x69, 0x6e, 0x65, 0x20, 0x54, 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x6e, 0x70, 0x61, 0x63, 0x6b, 0x5f, - 0x66, 0x72, 0x6f, 0x6d, 0x28, 0x4c, 0x43, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x3c, 0x6c, 0x63, - 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x3e, 0x20, 0x61, 0x72, 0x72, 0x61, 0x79, 0x2c, 0x20, 0x6c, 0x63, - 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x20, 0x69, 0x64, 0x78, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, - 0x65, 0x70, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x63, 0x6f, 0x6e, - 0x73, 0x74, 0x65, 0x78, 0x70, 0x72, 0x20, 0x28, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x6f, 0x66, 0x28, - 0x54, 0x29, 0x20, 0x3c, 0x3d, 0x20, 0x34, 0x75, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x73, 0x61, 0x66, 0x65, 0x20, 0x74, 0x6f, 0x20, 0x72, - 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, - 0x6f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x20, 0x61, 0x73, 0x20, 0x54, 0x20, 0x2a, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x64, 0x61, 0x74, 0x61, 0x20, - 0x3d, 0x20, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, - 0x73, 0x74, 0x3c, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x54, 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x61, - 0x72, 0x72, 0x61, 0x79, 0x2e, 0x70, 0x74, 0x72, 0x5b, 0x69, 0x64, 0x78, 0x5d, 0x29, 0x3b, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x2a, - 0x64, 0x61, 0x74, 0x61, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x20, 0x65, 0x6c, 0x73, 0x65, - 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x63, 0x6f, - 0x70, 0x79, 0x20, 0x74, 0x6f, 0x20, 0x61, 0x20, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x72, - 0x79, 0x20, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, - 0x20, 0x74, 0x6f, 0x20, 0x61, 0x76, 0x6f, 0x69, 0x64, 0x20, 0x75, 0x6e, 0x61, 0x6c, 0x69, 0x67, - 0x6e, 0x65, 0x64, 0x20, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x78, 0x70, 0x72, 0x20, 0x6c, 0x63, 0x5f, - 0x75, 0x69, 0x6e, 0x74, 0x20, 0x4e, 0x20, 0x3d, 0x20, 0x28, 0x73, 0x69, 0x7a, 0x65, 0x6f, 0x66, - 0x28, 0x54, 0x29, 0x20, 0x2b, 0x20, 0x33, 0x75, 0x29, 0x20, 0x2f, 0x20, 0x34, 0x75, 0x3b, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x4c, 0x43, 0x50, 0x61, 0x63, 0x6b, 0x3c, 0x54, - 0x3e, 0x20, 0x78, 0x7b, 0x7d, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x61, - 0x75, 0x74, 0x6f, 0x20, 0x64, 0x61, 0x74, 0x61, 0x20, 0x3d, 0x20, 0x72, 0x65, 0x69, 0x6e, 0x74, + 0x61, 0x75, 0x74, 0x6f, 0x20, 0x6c, 0x63, 0x5f, 0x64, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, + 0x5f, 0x69, 0x64, 0x28, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x6c, 0x63, 0x5f, 0x62, + 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x69, 0x64, 0x28, 0x29, 0x20, 0x2a, 0x20, 0x6c, 0x63, 0x5f, 0x62, + 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x28, 0x29, 0x20, 0x2b, 0x20, 0x6c, 0x63, + 0x5f, 0x74, 0x68, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x69, 0x64, 0x28, 0x29, 0x3b, 0x0a, 0x7d, 0x0a, + 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x76, 0x6f, 0x69, 0x64, + 0x20, 0x6c, 0x63, 0x5f, 0x73, 0x79, 0x6e, 0x63, 0x68, 0x72, 0x6f, 0x6e, 0x69, 0x7a, 0x65, 0x5f, + 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x28, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, + 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x73, 0x79, 0x6e, 0x63, 0x74, 0x68, 0x72, + 0x65, 0x61, 0x64, 0x73, 0x28, 0x29, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x23, 0x65, 0x6e, 0x64, 0x69, + 0x66, 0x0a, 0x0a, 0x2f, 0x2f, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x64, 0x69, 0x66, 0x66, 0x0a, 0x23, + 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, 0x4c, 0x43, 0x5f, 0x47, 0x52, 0x41, 0x44, 0x5f, 0x53, + 0x48, 0x41, 0x44, 0x4f, 0x57, 0x5f, 0x56, 0x41, 0x52, 0x49, 0x41, 0x42, 0x4c, 0x45, 0x28, 0x78, + 0x29, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x78, 0x23, 0x23, 0x5f, 0x67, 0x72, 0x61, 0x64, 0x20, + 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x7a, 0x65, 0x72, 0x6f, 0x3c, 0x64, 0x65, 0x63, 0x6c, 0x74, 0x79, + 0x70, 0x65, 0x28, 0x78, 0x29, 0x3e, 0x28, 0x29, 0x0a, 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, + 0x20, 0x4c, 0x43, 0x5f, 0x4d, 0x41, 0x52, 0x4b, 0x5f, 0x47, 0x52, 0x41, 0x44, 0x28, 0x78, 0x2c, + 0x20, 0x64, 0x78, 0x29, 0x20, 0x78, 0x23, 0x23, 0x5f, 0x67, 0x72, 0x61, 0x64, 0x20, 0x3d, 0x20, + 0x64, 0x78, 0x0a, 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, 0x4c, 0x43, 0x5f, 0x47, 0x52, + 0x41, 0x44, 0x28, 0x78, 0x29, 0x20, 0x28, 0x78, 0x23, 0x23, 0x5f, 0x67, 0x72, 0x61, 0x64, 0x29, + 0x0a, 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, 0x4c, 0x43, 0x5f, 0x41, 0x43, 0x43, 0x55, + 0x4d, 0x5f, 0x47, 0x52, 0x41, 0x44, 0x28, 0x78, 0x5f, 0x67, 0x72, 0x61, 0x64, 0x2c, 0x20, 0x64, + 0x78, 0x29, 0x20, 0x6c, 0x63, 0x5f, 0x61, 0x63, 0x63, 0x75, 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x65, + 0x5f, 0x67, 0x72, 0x61, 0x64, 0x28, 0x26, 0x28, 0x78, 0x5f, 0x67, 0x72, 0x61, 0x64, 0x29, 0x2c, + 0x20, 0x28, 0x64, 0x78, 0x29, 0x29, 0x0a, 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, 0x4c, + 0x43, 0x5f, 0x52, 0x45, 0x51, 0x55, 0x49, 0x52, 0x45, 0x53, 0x5f, 0x47, 0x52, 0x41, 0x44, 0x28, + 0x78, 0x29, 0x20, 0x78, 0x23, 0x23, 0x5f, 0x67, 0x72, 0x61, 0x64, 0x20, 0x3d, 0x20, 0x6c, 0x63, + 0x5f, 0x7a, 0x65, 0x72, 0x6f, 0x3c, 0x64, 0x65, 0x63, 0x6c, 0x74, 0x79, 0x70, 0x65, 0x28, 0x78, + 0x23, 0x23, 0x5f, 0x67, 0x72, 0x61, 0x64, 0x29, 0x3e, 0x28, 0x29, 0x0a, 0x0a, 0x74, 0x65, 0x6d, + 0x70, 0x6c, 0x61, 0x74, 0x65, 0x3c, 0x74, 0x79, 0x70, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x54, + 0x3e, 0x0a, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x20, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x61, 0x73, + 0x28, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x6f, 0x66, 0x28, 0x54, 0x29, 0x20, 0x3c, 0x20, 0x34, 0x75, + 0x20, 0x3f, 0x20, 0x34, 0x75, 0x20, 0x3a, 0x20, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x6f, 0x66, 0x28, + 0x54, 0x29, 0x29, 0x20, 0x4c, 0x43, 0x50, 0x61, 0x63, 0x6b, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x54, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3b, 0x0a, 0x7d, 0x3b, 0x0a, 0x0a, 0x74, 0x65, + 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x3c, 0x74, 0x79, 0x70, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x20, + 0x54, 0x3e, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x76, 0x6f, + 0x69, 0x64, 0x20, 0x6c, 0x63, 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x5f, 0x74, 0x6f, 0x28, 0x63, 0x6f, + 0x6e, 0x73, 0x74, 0x20, 0x54, 0x20, 0x26, 0x78, 0x2c, 0x20, 0x4c, 0x43, 0x42, 0x75, 0x66, 0x66, + 0x65, 0x72, 0x3c, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x3e, 0x20, 0x61, 0x72, 0x72, 0x61, + 0x79, 0x2c, 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x20, 0x69, 0x64, 0x78, 0x29, 0x20, + 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x63, + 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x78, 0x70, 0x72, 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, + 0x20, 0x4e, 0x20, 0x3d, 0x20, 0x28, 0x73, 0x69, 0x7a, 0x65, 0x6f, 0x66, 0x28, 0x54, 0x29, 0x20, + 0x2b, 0x20, 0x33, 0x75, 0x29, 0x20, 0x2f, 0x20, 0x34, 0x75, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x69, 0x66, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x78, 0x70, 0x72, 0x20, 0x28, 0x61, 0x6c, + 0x69, 0x67, 0x6e, 0x6f, 0x66, 0x28, 0x54, 0x29, 0x20, 0x3c, 0x20, 0x34, 0x75, 0x29, 0x20, 0x7b, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x74, 0x6f, 0x6f, 0x20, + 0x73, 0x6d, 0x61, 0x6c, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x62, 0x65, 0x20, 0x61, 0x6c, 0x69, 0x67, + 0x6e, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x34, 0x20, 0x62, 0x79, 0x74, 0x65, 0x73, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x4c, 0x43, 0x50, 0x61, 0x63, 0x6b, 0x3c, 0x54, 0x3e, + 0x20, 0x70, 0x61, 0x63, 0x6b, 0x7b, 0x7d, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x70, 0x61, 0x63, 0x6b, 0x2e, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x3d, 0x20, 0x78, 0x3b, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x64, 0x61, + 0x74, 0x61, 0x20, 0x3d, 0x20, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, + 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x6c, 0x63, 0x5f, 0x75, + 0x69, 0x6e, 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x70, 0x61, 0x63, 0x6b, 0x29, 0x3b, 0x0a, 0x23, + 0x70, 0x72, 0x61, 0x67, 0x6d, 0x61, 0x20, 0x75, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x28, 0x61, 0x75, 0x74, 0x6f, 0x20, + 0x69, 0x20, 0x3d, 0x20, 0x30, 0x75, 0x3b, 0x20, 0x69, 0x20, 0x3c, 0x20, 0x4e, 0x3b, 0x20, 0x69, + 0x2b, 0x2b, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x61, 0x72, 0x72, 0x61, 0x79, 0x2e, 0x70, 0x74, 0x72, 0x5b, 0x69, 0x64, 0x78, 0x20, + 0x2b, 0x20, 0x69, 0x5d, 0x20, 0x3d, 0x20, 0x64, 0x61, 0x74, 0x61, 0x5b, 0x69, 0x5d, 0x3b, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x20, + 0x65, 0x6c, 0x73, 0x65, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x2f, + 0x2f, 0x20, 0x73, 0x61, 0x66, 0x65, 0x20, 0x74, 0x6f, 0x20, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, + 0x72, 0x70, 0x72, 0x65, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x65, + 0x72, 0x20, 0x61, 0x73, 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x20, 0x2a, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x64, 0x61, 0x74, 0x61, + 0x20, 0x3d, 0x20, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, + 0x61, 0x73, 0x74, 0x3c, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, + 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x78, 0x29, 0x3b, 0x0a, 0x23, 0x70, 0x72, 0x61, 0x67, 0x6d, + 0x61, 0x20, 0x75, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x66, 0x6f, 0x72, 0x20, 0x28, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x69, 0x20, 0x3d, 0x20, 0x30, + 0x75, 0x3b, 0x20, 0x69, 0x20, 0x3c, 0x20, 0x4e, 0x3b, 0x20, 0x69, 0x2b, 0x2b, 0x29, 0x20, 0x7b, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x61, 0x72, 0x72, + 0x61, 0x79, 0x2e, 0x70, 0x74, 0x72, 0x5b, 0x69, 0x64, 0x78, 0x20, 0x2b, 0x20, 0x69, 0x5d, 0x20, + 0x3d, 0x20, 0x64, 0x61, 0x74, 0x61, 0x5b, 0x69, 0x5d, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x7d, 0x0a, 0x0a, 0x74, 0x65, + 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x3c, 0x74, 0x79, 0x70, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x20, + 0x54, 0x3e, 0x0a, 0x5b, 0x5b, 0x6e, 0x6f, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x5d, 0x5d, + 0x20, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x54, 0x20, 0x6c, 0x63, + 0x5f, 0x75, 0x6e, 0x70, 0x61, 0x63, 0x6b, 0x5f, 0x66, 0x72, 0x6f, 0x6d, 0x28, 0x4c, 0x43, 0x42, + 0x75, 0x66, 0x66, 0x65, 0x72, 0x3c, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x3e, 0x20, 0x61, + 0x72, 0x72, 0x61, 0x79, 0x2c, 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x20, 0x69, 0x64, + 0x78, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x69, 0x66, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x78, 0x70, 0x72, 0x20, 0x28, + 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x6f, 0x66, 0x28, 0x54, 0x29, 0x20, 0x3c, 0x3d, 0x20, 0x34, 0x75, + 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x73, + 0x61, 0x66, 0x65, 0x20, 0x74, 0x6f, 0x20, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, + 0x65, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x20, 0x61, + 0x73, 0x20, 0x54, 0x20, 0x2a, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x61, 0x75, + 0x74, 0x6f, 0x20, 0x64, 0x61, 0x74, 0x61, 0x20, 0x3d, 0x20, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, + 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x63, 0x6f, 0x6e, 0x73, 0x74, + 0x20, 0x54, 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x61, 0x72, 0x72, 0x61, 0x79, 0x2e, 0x70, 0x74, 0x72, + 0x5b, 0x69, 0x64, 0x78, 0x5d, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x2a, 0x64, 0x61, 0x74, 0x61, 0x3b, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x7d, 0x20, 0x65, 0x6c, 0x73, 0x65, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x63, 0x6f, 0x70, 0x79, 0x20, 0x74, 0x6f, 0x20, 0x61, 0x20, + 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x72, 0x79, 0x20, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x65, + 0x64, 0x20, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x20, 0x74, 0x6f, 0x20, 0x61, 0x76, 0x6f, 0x69, + 0x64, 0x20, 0x75, 0x6e, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x61, 0x63, 0x63, 0x65, + 0x73, 0x73, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, + 0x65, 0x78, 0x70, 0x72, 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x20, 0x4e, 0x20, 0x3d, + 0x20, 0x28, 0x73, 0x69, 0x7a, 0x65, 0x6f, 0x66, 0x28, 0x54, 0x29, 0x20, 0x2b, 0x20, 0x33, 0x75, + 0x29, 0x20, 0x2f, 0x20, 0x34, 0x75, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x4c, 0x43, 0x50, 0x61, 0x63, 0x6b, 0x3c, 0x54, 0x3e, 0x20, 0x78, 0x7b, 0x7d, 0x3b, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x64, 0x61, 0x74, 0x61, + 0x20, 0x3d, 0x20, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, + 0x61, 0x73, 0x74, 0x3c, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, + 0x78, 0x29, 0x3b, 0x0a, 0x23, 0x70, 0x72, 0x61, 0x67, 0x6d, 0x61, 0x20, 0x75, 0x6e, 0x72, 0x6f, + 0x6c, 0x6c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x28, + 0x61, 0x75, 0x74, 0x6f, 0x20, 0x69, 0x20, 0x3d, 0x20, 0x30, 0x75, 0x3b, 0x20, 0x69, 0x20, 0x3c, + 0x20, 0x4e, 0x3b, 0x20, 0x69, 0x2b, 0x2b, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x64, 0x61, 0x74, 0x61, 0x5b, 0x69, 0x5d, 0x20, 0x3d, + 0x20, 0x61, 0x72, 0x72, 0x61, 0x79, 0x2e, 0x70, 0x74, 0x72, 0x5b, 0x69, 0x64, 0x78, 0x20, 0x2b, + 0x20, 0x69, 0x5d, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x78, 0x2e, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x7d, 0x0a, 0x0a, + 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x3c, 0x74, 0x79, 0x70, 0x65, 0x6e, 0x61, 0x6d, + 0x65, 0x20, 0x54, 0x3e, 0x0a, 0x5b, 0x5b, 0x6e, 0x6f, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, + 0x5d, 0x5d, 0x20, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x54, 0x20, + 0x6c, 0x63, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x5f, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x72, + 0x65, 0x61, 0x64, 0x28, 0x4c, 0x43, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x3c, 0x63, 0x6f, 0x6e, + 0x73, 0x74, 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x62, 0x79, 0x74, 0x65, 0x3e, 0x20, 0x62, 0x75, 0x66, + 0x66, 0x65, 0x72, 0x2c, 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x6c, 0x6f, 0x6e, 0x67, 0x20, 0x6f, 0x66, + 0x66, 0x73, 0x65, 0x74, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x61, 0x73, 0x73, 0x75, 0x6d, 0x65, 0x28, 0x5f, + 0x5f, 0x69, 0x73, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x28, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, + 0x2e, 0x70, 0x74, 0x72, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x75, 0x74, 0x6f, + 0x20, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x20, 0x3d, 0x20, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x6c, 0x63, 0x5f, 0x75, - 0x69, 0x6e, 0x74, 0x20, 0x2a, 0x3e, 0x28, 0x26, 0x78, 0x29, 0x3b, 0x0a, 0x23, 0x70, 0x72, 0x61, - 0x67, 0x6d, 0x61, 0x20, 0x75, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x28, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x69, 0x20, 0x3d, - 0x20, 0x30, 0x75, 0x3b, 0x20, 0x69, 0x20, 0x3c, 0x20, 0x4e, 0x3b, 0x20, 0x69, 0x2b, 0x2b, 0x29, - 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x64, - 0x61, 0x74, 0x61, 0x5b, 0x69, 0x5d, 0x20, 0x3d, 0x20, 0x61, 0x72, 0x72, 0x61, 0x79, 0x2e, 0x70, - 0x74, 0x72, 0x5b, 0x69, 0x64, 0x78, 0x20, 0x2b, 0x20, 0x69, 0x5d, 0x3b, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, - 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x78, 0x2e, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3b, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x7d, 0x0a, 0x0a, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, - 0x3c, 0x74, 0x79, 0x70, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x54, 0x3e, 0x0a, 0x5b, 0x5b, 0x6e, - 0x6f, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x5d, 0x5d, 0x20, 0x5f, 0x5f, 0x64, 0x65, 0x76, - 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x54, 0x20, 0x6c, - 0x63, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x5f, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x72, 0x65, - 0x61, 0x64, 0x28, 0x4c, 0x43, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x3c, 0x63, 0x6f, 0x6e, 0x73, - 0x74, 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x62, 0x79, 0x74, 0x65, 0x3e, 0x20, 0x62, 0x75, 0x66, 0x66, + 0x6c, 0x6f, 0x6e, 0x67, 0x3e, 0x28, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x2e, 0x70, 0x74, 0x72, + 0x20, 0x2b, 0x20, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x29, 0x3b, 0x0a, 0x23, 0x69, 0x66, 0x64, + 0x65, 0x66, 0x20, 0x4c, 0x55, 0x49, 0x53, 0x41, 0x5f, 0x44, 0x45, 0x42, 0x55, 0x47, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x5f, 0x69, 0x6e, 0x5f, 0x62, + 0x6f, 0x75, 0x6e, 0x64, 0x73, 0x28, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x20, 0x2b, 0x20, 0x73, + 0x69, 0x7a, 0x65, 0x6f, 0x66, 0x28, 0x54, 0x29, 0x2c, 0x20, 0x6c, 0x63, 0x5f, 0x62, 0x75, 0x66, + 0x66, 0x65, 0x72, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x28, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x29, + 0x20, 0x2b, 0x20, 0x31, 0x75, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x61, + 0x73, 0x73, 0x65, 0x72, 0x74, 0x28, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x20, 0x25, 0x20, + 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x6f, 0x66, 0x28, 0x54, 0x29, 0x20, 0x3d, 0x3d, 0x20, 0x30, 0x75, + 0x20, 0x26, 0x26, 0x20, 0x22, 0x75, 0x6e, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x61, + 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0x29, 0x3b, 0x0a, 0x23, 0x65, 0x6e, 0x64, 0x69, 0x66, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x2a, 0x72, 0x65, 0x69, 0x6e, + 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x54, 0x20, 0x2a, + 0x3e, 0x28, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x29, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x74, + 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x3c, 0x74, 0x79, 0x70, 0x65, 0x6e, 0x61, 0x6d, 0x65, + 0x20, 0x54, 0x3e, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x76, + 0x6f, 0x69, 0x64, 0x20, 0x6c, 0x63, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x5f, 0x62, 0x75, 0x66, 0x66, + 0x65, 0x72, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x28, 0x4c, 0x43, 0x42, 0x75, 0x66, 0x66, 0x65, + 0x72, 0x3c, 0x6c, 0x63, 0x5f, 0x75, 0x62, 0x79, 0x74, 0x65, 0x3e, 0x20, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x2c, 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x6c, 0x6f, 0x6e, 0x67, 0x20, 0x6f, 0x66, 0x66, - 0x73, 0x65, 0x74, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x61, 0x73, 0x73, 0x75, 0x6d, 0x65, 0x28, 0x5f, 0x5f, - 0x69, 0x73, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x28, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x2e, - 0x70, 0x74, 0x72, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, - 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x20, 0x3d, 0x20, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, - 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x6c, 0x63, 0x5f, 0x75, 0x6c, - 0x6f, 0x6e, 0x67, 0x3e, 0x28, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x2e, 0x70, 0x74, 0x72, 0x20, - 0x2b, 0x20, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x29, 0x3b, 0x0a, 0x23, 0x69, 0x66, 0x64, 0x65, - 0x66, 0x20, 0x4c, 0x55, 0x49, 0x53, 0x41, 0x5f, 0x44, 0x45, 0x42, 0x55, 0x47, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x5f, 0x69, 0x6e, 0x5f, 0x62, 0x6f, - 0x75, 0x6e, 0x64, 0x73, 0x28, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x20, 0x2b, 0x20, 0x73, 0x69, - 0x7a, 0x65, 0x6f, 0x66, 0x28, 0x54, 0x29, 0x2c, 0x20, 0x6c, 0x63, 0x5f, 0x62, 0x75, 0x66, 0x66, - 0x65, 0x72, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x28, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x29, 0x20, - 0x2b, 0x20, 0x31, 0x75, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x61, 0x73, - 0x73, 0x65, 0x72, 0x74, 0x28, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x20, 0x25, 0x20, 0x61, - 0x6c, 0x69, 0x67, 0x6e, 0x6f, 0x66, 0x28, 0x54, 0x29, 0x20, 0x3d, 0x3d, 0x20, 0x30, 0x75, 0x20, - 0x26, 0x26, 0x20, 0x22, 0x75, 0x6e, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x61, 0x63, - 0x63, 0x65, 0x73, 0x73, 0x22, 0x29, 0x3b, 0x0a, 0x23, 0x65, 0x6e, 0x64, 0x69, 0x66, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x2a, 0x72, 0x65, 0x69, 0x6e, 0x74, - 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x54, 0x20, 0x2a, 0x3e, - 0x28, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x29, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x74, 0x65, - 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x3c, 0x74, 0x79, 0x70, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x20, - 0x54, 0x3e, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, - 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x76, 0x6f, 0x69, 0x64, 0x20, 0x6c, 0x63, 0x5f, 0x62, 0x79, 0x74, - 0x65, 0x5f, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x28, 0x4c, - 0x43, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x3c, 0x6c, 0x63, 0x5f, 0x75, 0x62, 0x79, 0x74, 0x65, - 0x3e, 0x20, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x2c, 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x6c, 0x6f, - 0x6e, 0x67, 0x20, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x2c, 0x20, 0x54, 0x20, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x61, 0x73, 0x73, 0x75, 0x6d, 0x65, 0x28, 0x5f, 0x5f, 0x69, - 0x73, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x28, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x2e, 0x70, - 0x74, 0x72, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x61, - 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x20, 0x3d, 0x20, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, - 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x6c, 0x63, 0x5f, 0x75, 0x6c, 0x6f, - 0x6e, 0x67, 0x3e, 0x28, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x2e, 0x70, 0x74, 0x72, 0x20, 0x2b, - 0x20, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x29, 0x3b, 0x0a, 0x23, 0x69, 0x66, 0x64, 0x65, 0x66, - 0x20, 0x4c, 0x55, 0x49, 0x53, 0x41, 0x5f, 0x44, 0x45, 0x42, 0x55, 0x47, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x6c, 0x63, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x5f, 0x69, 0x6e, 0x5f, 0x62, 0x6f, 0x75, - 0x6e, 0x64, 0x73, 0x28, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x20, 0x2b, 0x20, 0x73, 0x69, 0x7a, - 0x65, 0x6f, 0x66, 0x28, 0x54, 0x29, 0x2c, 0x20, 0x6c, 0x63, 0x5f, 0x62, 0x75, 0x66, 0x66, 0x65, - 0x72, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x28, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x29, 0x20, 0x2b, - 0x20, 0x31, 0x75, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x61, 0x73, 0x73, - 0x65, 0x72, 0x74, 0x28, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x20, 0x25, 0x20, 0x61, 0x6c, - 0x69, 0x67, 0x6e, 0x6f, 0x66, 0x28, 0x54, 0x29, 0x20, 0x3d, 0x3d, 0x20, 0x30, 0x75, 0x20, 0x26, - 0x26, 0x20, 0x22, 0x75, 0x6e, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x61, 0x63, 0x63, - 0x65, 0x73, 0x73, 0x22, 0x29, 0x3b, 0x0a, 0x23, 0x65, 0x6e, 0x64, 0x69, 0x66, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x2a, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, - 0x61, 0x73, 0x74, 0x3c, 0x54, 0x20, 0x2a, 0x3e, 0x28, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, - 0x29, 0x20, 0x3d, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x5b, 0x5b, + 0x73, 0x65, 0x74, 0x2c, 0x20, 0x54, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x29, 0x20, 0x6e, 0x6f, + 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, + 0x61, 0x73, 0x73, 0x75, 0x6d, 0x65, 0x28, 0x5f, 0x5f, 0x69, 0x73, 0x47, 0x6c, 0x6f, 0x62, 0x61, + 0x6c, 0x28, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x2e, 0x70, 0x74, 0x72, 0x29, 0x29, 0x3b, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, + 0x20, 0x3d, 0x20, 0x72, 0x65, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, + 0x61, 0x73, 0x74, 0x3c, 0x6c, 0x63, 0x5f, 0x75, 0x6c, 0x6f, 0x6e, 0x67, 0x3e, 0x28, 0x62, 0x75, + 0x66, 0x66, 0x65, 0x72, 0x2e, 0x70, 0x74, 0x72, 0x20, 0x2b, 0x20, 0x6f, 0x66, 0x66, 0x73, 0x65, + 0x74, 0x29, 0x3b, 0x0a, 0x23, 0x69, 0x66, 0x64, 0x65, 0x66, 0x20, 0x4c, 0x55, 0x49, 0x53, 0x41, + 0x5f, 0x44, 0x45, 0x42, 0x55, 0x47, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x63, 0x68, + 0x65, 0x63, 0x6b, 0x5f, 0x69, 0x6e, 0x5f, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x73, 0x28, 0x6f, 0x66, + 0x66, 0x73, 0x65, 0x74, 0x20, 0x2b, 0x20, 0x73, 0x69, 0x7a, 0x65, 0x6f, 0x66, 0x28, 0x54, 0x29, + 0x2c, 0x20, 0x6c, 0x63, 0x5f, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x73, 0x69, 0x7a, 0x65, + 0x28, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x29, 0x20, 0x2b, 0x20, 0x31, 0x75, 0x29, 0x3b, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x61, 0x73, 0x73, 0x65, 0x72, 0x74, 0x28, 0x61, 0x64, + 0x64, 0x72, 0x65, 0x73, 0x73, 0x20, 0x25, 0x20, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x6f, 0x66, 0x28, + 0x54, 0x29, 0x20, 0x3d, 0x3d, 0x20, 0x30, 0x75, 0x20, 0x26, 0x26, 0x20, 0x22, 0x75, 0x6e, 0x61, + 0x6c, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0x29, 0x3b, + 0x0a, 0x23, 0x65, 0x6e, 0x64, 0x69, 0x66, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x2a, 0x72, 0x65, 0x69, + 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x54, 0x20, + 0x2a, 0x3e, 0x28, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x29, 0x20, 0x3d, 0x20, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x5b, 0x5b, 0x6e, 0x6f, 0x64, 0x69, 0x73, 0x63, + 0x61, 0x72, 0x64, 0x5d, 0x5d, 0x20, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, + 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x6c, 0x63, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x5f, 0x62, 0x75, + 0x66, 0x66, 0x65, 0x72, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x28, 0x4c, 0x43, 0x42, 0x75, 0x66, 0x66, + 0x65, 0x72, 0x3c, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x6c, 0x63, 0x5f, 0x62, 0x79, 0x74, 0x65, + 0x3e, 0x20, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, + 0x70, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, + 0x6c, 0x63, 0x5f, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x28, 0x62, + 0x75, 0x66, 0x66, 0x65, 0x72, 0x29, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x2f, 0x2f, 0x20, 0x77, 0x61, + 0x72, 0x70, 0x20, 0x69, 0x6e, 0x74, 0x72, 0x69, 0x6e, 0x73, 0x69, 0x63, 0x73, 0x0a, 0x5b, 0x5b, 0x6e, 0x6f, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x5d, 0x5d, 0x20, 0x5f, 0x5f, 0x64, 0x65, - 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x61, 0x75, - 0x74, 0x6f, 0x20, 0x6c, 0x63, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x5f, 0x62, 0x75, 0x66, 0x66, 0x65, - 0x72, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x28, 0x4c, 0x43, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x3c, - 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x6c, 0x63, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x3e, 0x20, 0x62, - 0x75, 0x66, 0x66, 0x65, 0x72, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, - 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x6c, 0x63, 0x5f, - 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x28, 0x62, 0x75, 0x66, 0x66, - 0x65, 0x72, 0x29, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x2f, 0x2f, 0x20, 0x77, 0x61, 0x72, 0x70, 0x20, - 0x69, 0x6e, 0x74, 0x72, 0x69, 0x6e, 0x73, 0x69, 0x63, 0x73, 0x0a, 0x5b, 0x5b, 0x6e, 0x6f, 0x64, - 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x5d, 0x5d, 0x20, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, - 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, - 0x6c, 0x63, 0x5f, 0x77, 0x61, 0x72, 0x70, 0x5f, 0x6c, 0x61, 0x6e, 0x65, 0x5f, 0x69, 0x64, 0x28, - 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x20, 0x72, 0x65, 0x74, 0x3b, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x6d, 0x6f, 0x76, 0x2e, 0x75, 0x33, 0x32, 0x20, 0x25, - 0x30, 0x2c, 0x20, 0x25, 0x6c, 0x61, 0x6e, 0x65, 0x69, 0x64, 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x72, 0x22, 0x28, 0x72, 0x65, 0x74, 0x29, - 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x72, 0x65, - 0x74, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x5b, 0x5b, 0x6e, 0x6f, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, - 0x64, 0x5d, 0x5d, 0x20, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x63, - 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x78, 0x70, 0x72, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x6c, 0x63, - 0x5f, 0x77, 0x61, 0x72, 0x70, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x28, 0x29, 0x20, 0x6e, 0x6f, 0x65, - 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, - 0x72, 0x6e, 0x20, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x6c, - 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x3e, 0x28, 0x77, 0x61, 0x72, 0x70, 0x53, 0x69, 0x7a, 0x65, - 0x29, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, 0x4c, 0x43, - 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x46, 0x55, 0x4c, 0x4c, 0x5f, 0x4d, 0x41, 0x53, 0x4b, 0x20, - 0x30, 0x78, 0x66, 0x66, 0x66, 0x66, 0x27, 0x66, 0x66, 0x66, 0x66, 0x75, 0x0a, 0x23, 0x64, 0x65, - 0x66, 0x69, 0x6e, 0x65, 0x20, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x41, 0x43, 0x54, - 0x49, 0x56, 0x45, 0x5f, 0x4d, 0x41, 0x53, 0x4b, 0x20, 0x5f, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, - 0x65, 0x6d, 0x61, 0x73, 0x6b, 0x28, 0x29, 0x0a, 0x0a, 0x5b, 0x5b, 0x6e, 0x6f, 0x64, 0x69, 0x73, + 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x6c, 0x63, 0x5f, 0x77, + 0x61, 0x72, 0x70, 0x5f, 0x6c, 0x61, 0x6e, 0x65, 0x5f, 0x69, 0x64, 0x28, 0x29, 0x20, 0x6e, 0x6f, + 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, + 0x75, 0x69, 0x6e, 0x74, 0x20, 0x72, 0x65, 0x74, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, + 0x6d, 0x28, 0x22, 0x6d, 0x6f, 0x76, 0x2e, 0x75, 0x33, 0x32, 0x20, 0x25, 0x30, 0x2c, 0x20, 0x25, + 0x6c, 0x61, 0x6e, 0x65, 0x69, 0x64, 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x72, 0x22, 0x28, 0x72, 0x65, 0x74, 0x29, 0x29, 0x3b, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x72, 0x65, 0x74, 0x3b, 0x0a, 0x7d, + 0x0a, 0x0a, 0x5b, 0x5b, 0x6e, 0x6f, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x5d, 0x5d, 0x20, + 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, + 0x65, 0x78, 0x70, 0x72, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x6c, 0x63, 0x5f, 0x77, 0x61, 0x72, + 0x70, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x28, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, + 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x73, + 0x74, 0x61, 0x74, 0x69, 0x63, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x6c, 0x63, 0x5f, 0x75, 0x69, + 0x6e, 0x74, 0x3e, 0x28, 0x77, 0x61, 0x72, 0x70, 0x53, 0x69, 0x7a, 0x65, 0x29, 0x3b, 0x0a, 0x7d, + 0x0a, 0x0a, 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, + 0x50, 0x5f, 0x46, 0x55, 0x4c, 0x4c, 0x5f, 0x4d, 0x41, 0x53, 0x4b, 0x20, 0x30, 0x78, 0x66, 0x66, + 0x66, 0x66, 0x27, 0x66, 0x66, 0x66, 0x66, 0x75, 0x0a, 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, + 0x20, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x5f, + 0x4d, 0x41, 0x53, 0x4b, 0x20, 0x5f, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x6d, 0x61, 0x73, + 0x6b, 0x28, 0x29, 0x0a, 0x0a, 0x5b, 0x5b, 0x6e, 0x6f, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, + 0x5d, 0x5d, 0x20, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x61, 0x75, + 0x74, 0x6f, 0x20, 0x6c, 0x63, 0x5f, 0x77, 0x61, 0x72, 0x70, 0x5f, 0x66, 0x69, 0x72, 0x73, 0x74, + 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x6c, 0x61, 0x6e, 0x65, 0x28, 0x29, 0x20, 0x6e, + 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, + 0x74, 0x75, 0x72, 0x6e, 0x20, 0x5f, 0x5f, 0x66, 0x66, 0x73, 0x28, 0x4c, 0x43, 0x5f, 0x57, 0x41, + 0x52, 0x50, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x5f, 0x4d, 0x41, 0x53, 0x4b, 0x29, 0x20, + 0x2d, 0x20, 0x31, 0x75, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x5b, 0x5b, 0x6e, 0x6f, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x5d, 0x5d, 0x20, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, - 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x6c, 0x63, - 0x5f, 0x77, 0x61, 0x72, 0x70, 0x5f, 0x66, 0x69, 0x72, 0x73, 0x74, 0x5f, 0x61, 0x63, 0x74, 0x69, - 0x76, 0x65, 0x5f, 0x6c, 0x61, 0x6e, 0x65, 0x28, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, - 0x70, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, - 0x5f, 0x5f, 0x66, 0x66, 0x73, 0x28, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x41, 0x43, - 0x54, 0x49, 0x56, 0x45, 0x5f, 0x4d, 0x41, 0x53, 0x4b, 0x29, 0x20, 0x2d, 0x20, 0x31, 0x75, 0x3b, - 0x0a, 0x7d, 0x0a, 0x0a, 0x5b, 0x5b, 0x6e, 0x6f, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x5d, - 0x5d, 0x20, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, - 0x69, 0x6e, 0x65, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x6c, 0x63, 0x5f, 0x77, 0x61, 0x72, 0x70, - 0x5f, 0x69, 0x73, 0x5f, 0x66, 0x69, 0x72, 0x73, 0x74, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, - 0x5f, 0x6c, 0x61, 0x6e, 0x65, 0x28, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, - 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x6c, 0x63, - 0x5f, 0x77, 0x61, 0x72, 0x70, 0x5f, 0x66, 0x69, 0x72, 0x73, 0x74, 0x5f, 0x61, 0x63, 0x74, 0x69, - 0x76, 0x65, 0x5f, 0x6c, 0x61, 0x6e, 0x65, 0x28, 0x29, 0x20, 0x3d, 0x3d, 0x20, 0x6c, 0x63, 0x5f, - 0x77, 0x61, 0x72, 0x70, 0x5f, 0x6c, 0x61, 0x6e, 0x65, 0x5f, 0x69, 0x64, 0x28, 0x29, 0x3b, 0x0a, - 0x7d, 0x0a, 0x0a, 0x23, 0x69, 0x66, 0x20, 0x5f, 0x5f, 0x43, 0x55, 0x44, 0x41, 0x5f, 0x41, 0x52, - 0x43, 0x48, 0x5f, 0x5f, 0x20, 0x3e, 0x3d, 0x20, 0x37, 0x30, 0x30, 0x0a, 0x5b, 0x5b, 0x6e, 0x6f, - 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x5d, 0x5d, 0x20, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, - 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x61, 0x75, 0x74, 0x6f, - 0x20, 0x5f, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x61, 0x6c, 0x6c, 0x5f, 0x73, 0x79, 0x6e, - 0x63, 0x28, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x6d, - 0x61, 0x73, 0x6b, 0x2c, 0x20, 0x6c, 0x63, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x78, 0x2c, 0x20, - 0x69, 0x6e, 0x74, 0x20, 0x2a, 0x70, 0x72, 0x65, 0x64, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, - 0x65, 0x70, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, - 0x20, 0x5f, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x61, 0x6c, 0x6c, 0x5f, 0x73, 0x79, 0x6e, - 0x63, 0x28, 0x6d, 0x61, 0x73, 0x6b, 0x2c, 0x20, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x5f, 0x63, - 0x61, 0x73, 0x74, 0x3c, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x3e, 0x28, 0x78, 0x29, 0x2c, 0x20, 0x70, - 0x72, 0x65, 0x64, 0x29, 0x3b, 0x0a, 0x7d, 0x0a, 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, - 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x41, 0x4c, 0x4c, 0x5f, 0x45, 0x51, 0x5f, 0x53, - 0x43, 0x41, 0x4c, 0x41, 0x52, 0x28, 0x54, 0x29, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x5f, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x6c, 0x63, 0x5f, 0x77, 0x61, 0x72, 0x70, 0x5f, 0x69, + 0x73, 0x5f, 0x66, 0x69, 0x72, 0x73, 0x74, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x6c, + 0x61, 0x6e, 0x65, 0x28, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x6c, 0x63, 0x5f, 0x77, + 0x61, 0x72, 0x70, 0x5f, 0x66, 0x69, 0x72, 0x73, 0x74, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, + 0x5f, 0x6c, 0x61, 0x6e, 0x65, 0x28, 0x29, 0x20, 0x3d, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x77, 0x61, + 0x72, 0x70, 0x5f, 0x6c, 0x61, 0x6e, 0x65, 0x5f, 0x69, 0x64, 0x28, 0x29, 0x3b, 0x0a, 0x7d, 0x0a, + 0x0a, 0x23, 0x69, 0x66, 0x20, 0x5f, 0x5f, 0x43, 0x55, 0x44, 0x41, 0x5f, 0x41, 0x52, 0x43, 0x48, + 0x5f, 0x5f, 0x20, 0x3e, 0x3d, 0x20, 0x37, 0x30, 0x30, 0x0a, 0x5b, 0x5b, 0x6e, 0x6f, 0x64, 0x69, + 0x73, 0x63, 0x61, 0x72, 0x64, 0x5d, 0x5d, 0x20, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, + 0x5f, 0x5f, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x5f, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, + 0x61, 0x6c, 0x6c, 0x5f, 0x73, 0x79, 0x6e, 0x63, 0x28, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, + 0x64, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x6d, 0x61, 0x73, 0x6b, 0x2c, 0x20, 0x6c, 0x63, 0x5f, 0x68, + 0x61, 0x6c, 0x66, 0x20, 0x78, 0x2c, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x2a, 0x70, 0x72, 0x65, 0x64, + 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x5f, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, + 0x61, 0x6c, 0x6c, 0x5f, 0x73, 0x79, 0x6e, 0x63, 0x28, 0x6d, 0x61, 0x73, 0x6b, 0x2c, 0x20, 0x73, + 0x74, 0x61, 0x74, 0x69, 0x63, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x66, 0x6c, 0x6f, 0x61, 0x74, + 0x3e, 0x28, 0x78, 0x29, 0x2c, 0x20, 0x70, 0x72, 0x65, 0x64, 0x29, 0x3b, 0x0a, 0x7d, 0x0a, 0x23, + 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x41, + 0x4c, 0x4c, 0x5f, 0x45, 0x51, 0x5f, 0x53, 0x43, 0x41, 0x4c, 0x41, 0x52, 0x28, 0x54, 0x29, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x5b, 0x5b, 0x6e, 0x6f, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x5d, 0x5d, 0x20, 0x5f, 0x5f, - 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x5c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5b, 0x5b, 0x6e, 0x6f, 0x64, 0x69, 0x73, 0x63, 0x61, + 0x72, 0x64, 0x5d, 0x5d, 0x20, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x6c, 0x63, 0x5f, 0x77, 0x61, 0x72, 0x70, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x6c, 0x6c, 0x5f, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x28, 0x54, 0x20, 0x78, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x20, 0x5c, 0x0a, @@ -43139,469 +42871,462 @@ extern "C" const char luisa_cuda_builtin_cuda_device_resource[119200] = { 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5b, 0x5b, 0x6e, 0x6f, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x5d, - 0x5d, 0x20, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, - 0x69, 0x6e, 0x65, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x6c, 0x63, 0x5f, 0x77, 0x61, 0x72, 0x70, - 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x6c, 0x6c, 0x5f, 0x65, 0x71, 0x75, 0x61, - 0x6c, 0x28, 0x54, 0x20, 0x78, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, - 0x7b, 0x20, 0x5c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x61, 0x75, 0x74, 0x6f, - 0x20, 0x6d, 0x61, 0x73, 0x6b, 0x20, 0x3d, 0x20, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, - 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x5f, 0x4d, 0x41, 0x53, 0x4b, 0x3b, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x5d, 0x20, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x61, 0x75, 0x74, + 0x6f, 0x20, 0x6c, 0x63, 0x5f, 0x77, 0x61, 0x72, 0x70, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, + 0x5f, 0x61, 0x6c, 0x6c, 0x5f, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x28, 0x54, 0x20, 0x78, 0x29, 0x20, + 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x20, 0x5c, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x6d, 0x61, 0x73, 0x6b, 0x20, 0x3d, + 0x20, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x5f, + 0x4d, 0x41, 0x53, 0x4b, 0x3b, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x61, 0x75, 0x74, 0x6f, 0x20, 0x66, 0x69, 0x72, 0x73, 0x74, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x66, - 0x66, 0x73, 0x28, 0x6d, 0x61, 0x73, 0x6b, 0x29, 0x20, 0x2d, 0x20, 0x31, 0x75, 0x3b, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x66, 0x69, + 0x72, 0x73, 0x74, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x66, 0x66, 0x73, 0x28, 0x6d, 0x61, 0x73, 0x6b, + 0x29, 0x20, 0x2d, 0x20, 0x31, 0x75, 0x3b, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x78, 0x30, 0x20, 0x3d, 0x20, 0x5f, 0x5f, - 0x73, 0x68, 0x66, 0x6c, 0x5f, 0x73, 0x79, 0x6e, 0x63, 0x28, 0x6d, 0x61, 0x73, 0x6b, 0x2c, 0x20, - 0x78, 0x2c, 0x20, 0x66, 0x69, 0x72, 0x73, 0x74, 0x29, 0x3b, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x5c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x61, 0x75, 0x74, + 0x6f, 0x20, 0x78, 0x30, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x73, 0x68, 0x66, 0x6c, 0x5f, 0x73, 0x79, + 0x6e, 0x63, 0x28, 0x6d, 0x61, 0x73, 0x6b, 0x2c, 0x20, 0x78, 0x2c, 0x20, 0x66, 0x69, 0x72, 0x73, + 0x74, 0x29, 0x3b, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x73, - 0x74, 0x61, 0x74, 0x69, 0x63, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x62, 0x6f, 0x6f, 0x6c, 0x3e, - 0x28, 0x5f, 0x5f, 0x61, 0x6c, 0x6c, 0x5f, 0x73, 0x79, 0x6e, 0x63, 0x28, 0x6d, 0x61, 0x73, 0x6b, - 0x2c, 0x20, 0x78, 0x20, 0x3d, 0x3d, 0x20, 0x78, 0x30, 0x29, 0x29, 0x3b, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x5f, 0x63, + 0x61, 0x73, 0x74, 0x3c, 0x62, 0x6f, 0x6f, 0x6c, 0x3e, 0x28, 0x5f, 0x5f, 0x61, 0x6c, 0x6c, 0x5f, + 0x73, 0x79, 0x6e, 0x63, 0x28, 0x6d, 0x61, 0x73, 0x6b, 0x2c, 0x20, 0x78, 0x20, 0x3d, 0x3d, 0x20, + 0x78, 0x30, 0x29, 0x29, 0x3b, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x7d, 0x0a, 0x23, 0x65, 0x6e, 0x64, 0x69, 0x66, 0x0a, 0x0a, 0x23, 0x64, 0x65, 0x66, 0x69, + 0x6e, 0x65, 0x20, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x41, 0x4c, 0x4c, 0x5f, 0x45, + 0x51, 0x5f, 0x56, 0x45, 0x43, 0x54, 0x4f, 0x52, 0x32, 0x28, 0x54, 0x29, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x5c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x23, 0x65, 0x6e, 0x64, 0x69, 0x66, - 0x0a, 0x0a, 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, - 0x50, 0x5f, 0x41, 0x4c, 0x4c, 0x5f, 0x45, 0x51, 0x5f, 0x56, 0x45, 0x43, 0x54, 0x4f, 0x52, 0x32, - 0x28, 0x54, 0x29, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5b, 0x5b, 0x6e, - 0x6f, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x5d, 0x5d, 0x20, 0x5f, 0x5f, 0x64, 0x65, 0x76, - 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x61, 0x75, 0x74, - 0x6f, 0x20, 0x6c, 0x63, 0x5f, 0x77, 0x61, 0x72, 0x70, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, - 0x5f, 0x61, 0x6c, 0x6c, 0x5f, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x28, 0x54, 0x23, 0x23, 0x32, 0x20, - 0x76, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x20, 0x5c, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x6c, - 0x63, 0x5f, 0x6d, 0x61, 0x6b, 0x65, 0x5f, 0x62, 0x6f, 0x6f, 0x6c, 0x32, 0x28, 0x6c, 0x63, 0x5f, - 0x77, 0x61, 0x72, 0x70, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x6c, 0x6c, 0x5f, - 0x65, 0x71, 0x75, 0x61, 0x6c, 0x28, 0x76, 0x2e, 0x78, 0x29, 0x2c, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x5c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5b, 0x5b, 0x6e, 0x6f, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, + 0x64, 0x5d, 0x5d, 0x20, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x61, + 0x75, 0x74, 0x6f, 0x20, 0x6c, 0x63, 0x5f, 0x77, 0x61, 0x72, 0x70, 0x5f, 0x61, 0x63, 0x74, 0x69, + 0x76, 0x65, 0x5f, 0x61, 0x6c, 0x6c, 0x5f, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x28, 0x54, 0x23, 0x23, + 0x32, 0x20, 0x76, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x20, + 0x5c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, + 0x20, 0x6c, 0x63, 0x5f, 0x6d, 0x61, 0x6b, 0x65, 0x5f, 0x62, 0x6f, 0x6f, 0x6c, 0x32, 0x28, 0x6c, + 0x63, 0x5f, 0x77, 0x61, 0x72, 0x70, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x6c, + 0x6c, 0x5f, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x28, 0x76, 0x2e, 0x78, 0x29, 0x2c, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x77, 0x61, 0x72, 0x70, 0x5f, 0x61, 0x63, 0x74, 0x69, - 0x76, 0x65, 0x5f, 0x61, 0x6c, 0x6c, 0x5f, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x28, 0x76, 0x2e, 0x79, - 0x29, 0x29, 0x3b, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x7d, 0x0a, 0x0a, 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, 0x4c, 0x43, 0x5f, - 0x57, 0x41, 0x52, 0x50, 0x5f, 0x41, 0x4c, 0x4c, 0x5f, 0x45, 0x51, 0x5f, 0x56, 0x45, 0x43, 0x54, - 0x4f, 0x52, 0x33, 0x28, 0x54, 0x29, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x77, 0x61, 0x72, 0x70, 0x5f, 0x61, 0x63, + 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x6c, 0x6c, 0x5f, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x28, 0x76, + 0x2e, 0x79, 0x29, 0x29, 0x3b, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x0a, 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, 0x4c, + 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x41, 0x4c, 0x4c, 0x5f, 0x45, 0x51, 0x5f, 0x56, 0x45, + 0x43, 0x54, 0x4f, 0x52, 0x33, 0x28, 0x54, 0x29, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x5b, 0x5b, 0x6e, 0x6f, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x5d, 0x5d, 0x20, 0x5f, 0x5f, - 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, - 0x61, 0x75, 0x74, 0x6f, 0x20, 0x6c, 0x63, 0x5f, 0x77, 0x61, 0x72, 0x70, 0x5f, 0x61, 0x63, 0x74, - 0x69, 0x76, 0x65, 0x5f, 0x61, 0x6c, 0x6c, 0x5f, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x28, 0x54, 0x23, - 0x23, 0x33, 0x20, 0x76, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, - 0x20, 0x5c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, - 0x6e, 0x20, 0x6c, 0x63, 0x5f, 0x6d, 0x61, 0x6b, 0x65, 0x5f, 0x62, 0x6f, 0x6f, 0x6c, 0x33, 0x28, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x5b, 0x5b, 0x6e, 0x6f, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x5d, 0x5d, 0x20, + 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x6c, 0x63, 0x5f, 0x77, 0x61, 0x72, 0x70, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, - 0x6c, 0x6c, 0x5f, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x28, 0x76, 0x2e, 0x78, 0x29, 0x2c, 0x20, 0x20, + 0x6c, 0x6c, 0x5f, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x28, 0x54, 0x23, 0x23, 0x33, 0x20, 0x76, 0x29, + 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x20, 0x5c, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x6c, 0x63, 0x5f, + 0x6d, 0x61, 0x6b, 0x65, 0x5f, 0x62, 0x6f, 0x6f, 0x6c, 0x33, 0x28, 0x6c, 0x63, 0x5f, 0x77, 0x61, + 0x72, 0x70, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x6c, 0x6c, 0x5f, 0x65, 0x71, + 0x75, 0x61, 0x6c, 0x28, 0x76, 0x2e, 0x78, 0x29, 0x2c, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x5c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x77, 0x61, 0x72, 0x70, 0x5f, 0x61, - 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x6c, 0x6c, 0x5f, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x28, - 0x76, 0x2e, 0x79, 0x29, 0x2c, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, - 0x5f, 0x77, 0x61, 0x72, 0x70, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x6c, 0x6c, - 0x5f, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x28, 0x76, 0x2e, 0x7a, 0x29, 0x29, 0x3b, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x77, 0x61, 0x72, 0x70, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, + 0x5f, 0x61, 0x6c, 0x6c, 0x5f, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x28, 0x76, 0x2e, 0x79, 0x29, 0x2c, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x0a, 0x23, - 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x41, - 0x4c, 0x4c, 0x5f, 0x45, 0x51, 0x5f, 0x56, 0x45, 0x43, 0x54, 0x4f, 0x52, 0x34, 0x28, 0x54, 0x29, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x77, 0x61, 0x72, 0x70, + 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x6c, 0x6c, 0x5f, 0x65, 0x71, 0x75, 0x61, + 0x6c, 0x28, 0x76, 0x2e, 0x7a, 0x29, 0x29, 0x3b, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x5c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x0a, 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, + 0x65, 0x20, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x41, 0x4c, 0x4c, 0x5f, 0x45, 0x51, + 0x5f, 0x56, 0x45, 0x43, 0x54, 0x4f, 0x52, 0x34, 0x28, 0x54, 0x29, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x5c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5b, 0x5b, 0x6e, 0x6f, 0x64, 0x69, - 0x73, 0x63, 0x61, 0x72, 0x64, 0x5d, 0x5d, 0x20, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, - 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x6c, - 0x63, 0x5f, 0x77, 0x61, 0x72, 0x70, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x6c, - 0x6c, 0x5f, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x28, 0x54, 0x23, 0x23, 0x34, 0x20, 0x76, 0x29, 0x20, - 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x20, 0x5c, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x6c, 0x63, 0x5f, 0x6d, - 0x61, 0x6b, 0x65, 0x5f, 0x62, 0x6f, 0x6f, 0x6c, 0x34, 0x28, 0x6c, 0x63, 0x5f, 0x77, 0x61, 0x72, - 0x70, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x6c, 0x6c, 0x5f, 0x65, 0x71, 0x75, - 0x61, 0x6c, 0x28, 0x76, 0x2e, 0x78, 0x29, 0x2c, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x5c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5b, 0x5b, 0x6e, 0x6f, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, + 0x5d, 0x5d, 0x20, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x61, 0x75, + 0x74, 0x6f, 0x20, 0x6c, 0x63, 0x5f, 0x77, 0x61, 0x72, 0x70, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, + 0x65, 0x5f, 0x61, 0x6c, 0x6c, 0x5f, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x28, 0x54, 0x23, 0x23, 0x34, + 0x20, 0x76, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x20, 0x5c, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, + 0x6c, 0x63, 0x5f, 0x6d, 0x61, 0x6b, 0x65, 0x5f, 0x62, 0x6f, 0x6f, 0x6c, 0x34, 0x28, 0x6c, 0x63, + 0x5f, 0x77, 0x61, 0x72, 0x70, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x6c, 0x6c, + 0x5f, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x28, 0x76, 0x2e, 0x78, 0x29, 0x2c, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x6c, 0x63, 0x5f, 0x77, 0x61, 0x72, 0x70, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, - 0x61, 0x6c, 0x6c, 0x5f, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x28, 0x76, 0x2e, 0x79, 0x29, 0x2c, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x77, 0x61, 0x72, 0x70, 0x5f, 0x61, 0x63, 0x74, + 0x69, 0x76, 0x65, 0x5f, 0x61, 0x6c, 0x6c, 0x5f, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x28, 0x76, 0x2e, + 0x79, 0x29, 0x2c, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x77, 0x61, 0x72, 0x70, 0x5f, - 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x6c, 0x6c, 0x5f, 0x65, 0x71, 0x75, 0x61, 0x6c, - 0x28, 0x76, 0x2e, 0x7a, 0x29, 0x2c, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x77, + 0x61, 0x72, 0x70, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x6c, 0x6c, 0x5f, 0x65, + 0x71, 0x75, 0x61, 0x6c, 0x28, 0x76, 0x2e, 0x7a, 0x29, 0x2c, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x5c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, - 0x63, 0x5f, 0x77, 0x61, 0x72, 0x70, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x6c, - 0x6c, 0x5f, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x28, 0x76, 0x2e, 0x77, 0x29, 0x29, 0x3b, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x5c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x0a, - 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, - 0x41, 0x4c, 0x4c, 0x5f, 0x45, 0x51, 0x28, 0x54, 0x29, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x41, 0x4c, 0x4c, 0x5f, - 0x45, 0x51, 0x5f, 0x53, 0x43, 0x41, 0x4c, 0x41, 0x52, 0x28, 0x54, 0x29, 0x20, 0x20, 0x5c, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x41, 0x4c, 0x4c, 0x5f, - 0x45, 0x51, 0x5f, 0x56, 0x45, 0x43, 0x54, 0x4f, 0x52, 0x32, 0x28, 0x54, 0x29, 0x20, 0x5c, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x41, 0x4c, 0x4c, 0x5f, - 0x45, 0x51, 0x5f, 0x56, 0x45, 0x43, 0x54, 0x4f, 0x52, 0x33, 0x28, 0x54, 0x29, 0x20, 0x5c, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x41, 0x4c, 0x4c, 0x5f, - 0x45, 0x51, 0x5f, 0x56, 0x45, 0x43, 0x54, 0x4f, 0x52, 0x34, 0x28, 0x54, 0x29, 0x0a, 0x0a, 0x4c, - 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x41, 0x4c, 0x4c, 0x5f, 0x45, 0x51, 0x28, 0x6c, 0x63, - 0x5f, 0x62, 0x6f, 0x6f, 0x6c, 0x29, 0x0a, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x41, - 0x4c, 0x4c, 0x5f, 0x45, 0x51, 0x28, 0x6c, 0x63, 0x5f, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x29, 0x0a, - 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x41, 0x4c, 0x4c, 0x5f, 0x45, 0x51, 0x28, 0x6c, - 0x63, 0x5f, 0x75, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x29, 0x0a, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, - 0x50, 0x5f, 0x41, 0x4c, 0x4c, 0x5f, 0x45, 0x51, 0x28, 0x6c, 0x63, 0x5f, 0x69, 0x6e, 0x74, 0x29, - 0x0a, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x41, 0x4c, 0x4c, 0x5f, 0x45, 0x51, 0x28, - 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x29, 0x0a, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, - 0x5f, 0x41, 0x4c, 0x4c, 0x5f, 0x45, 0x51, 0x28, 0x6c, 0x63, 0x5f, 0x6c, 0x6f, 0x6e, 0x67, 0x29, - 0x0a, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x41, 0x4c, 0x4c, 0x5f, 0x45, 0x51, 0x28, - 0x6c, 0x63, 0x5f, 0x75, 0x6c, 0x6f, 0x6e, 0x67, 0x29, 0x0a, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, - 0x50, 0x5f, 0x41, 0x4c, 0x4c, 0x5f, 0x45, 0x51, 0x28, 0x6c, 0x63, 0x5f, 0x66, 0x6c, 0x6f, 0x61, - 0x74, 0x29, 0x0a, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x41, 0x4c, 0x4c, 0x5f, 0x45, - 0x51, 0x28, 0x6c, 0x63, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x29, 0x0a, 0x2f, 0x2f, 0x4c, 0x43, 0x5f, - 0x57, 0x41, 0x52, 0x50, 0x5f, 0x41, 0x4c, 0x4c, 0x5f, 0x45, 0x51, 0x28, 0x6c, 0x63, 0x5f, 0x64, - 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x29, 0x2f, 0x2f, 0x20, 0x54, 0x4f, 0x44, 0x4f, 0x0a, 0x0a, 0x23, - 0x75, 0x6e, 0x64, 0x65, 0x66, 0x20, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x41, 0x4c, - 0x4c, 0x5f, 0x45, 0x51, 0x5f, 0x53, 0x43, 0x41, 0x4c, 0x41, 0x52, 0x0a, 0x23, 0x75, 0x6e, 0x64, + 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x77, 0x61, 0x72, 0x70, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, + 0x65, 0x5f, 0x61, 0x6c, 0x6c, 0x5f, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x28, 0x76, 0x2e, 0x77, 0x29, + 0x29, 0x3b, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x7d, 0x0a, 0x0a, 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, 0x4c, 0x43, 0x5f, 0x57, + 0x41, 0x52, 0x50, 0x5f, 0x41, 0x4c, 0x4c, 0x5f, 0x45, 0x51, 0x28, 0x54, 0x29, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x5c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, + 0x41, 0x4c, 0x4c, 0x5f, 0x45, 0x51, 0x5f, 0x53, 0x43, 0x41, 0x4c, 0x41, 0x52, 0x28, 0x54, 0x29, + 0x20, 0x20, 0x5c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, + 0x41, 0x4c, 0x4c, 0x5f, 0x45, 0x51, 0x5f, 0x56, 0x45, 0x43, 0x54, 0x4f, 0x52, 0x32, 0x28, 0x54, + 0x29, 0x20, 0x5c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, + 0x41, 0x4c, 0x4c, 0x5f, 0x45, 0x51, 0x5f, 0x56, 0x45, 0x43, 0x54, 0x4f, 0x52, 0x33, 0x28, 0x54, + 0x29, 0x20, 0x5c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, + 0x41, 0x4c, 0x4c, 0x5f, 0x45, 0x51, 0x5f, 0x56, 0x45, 0x43, 0x54, 0x4f, 0x52, 0x34, 0x28, 0x54, + 0x29, 0x0a, 0x0a, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x41, 0x4c, 0x4c, 0x5f, 0x45, + 0x51, 0x28, 0x6c, 0x63, 0x5f, 0x62, 0x6f, 0x6f, 0x6c, 0x29, 0x0a, 0x4c, 0x43, 0x5f, 0x57, 0x41, + 0x52, 0x50, 0x5f, 0x41, 0x4c, 0x4c, 0x5f, 0x45, 0x51, 0x28, 0x6c, 0x63, 0x5f, 0x73, 0x68, 0x6f, + 0x72, 0x74, 0x29, 0x0a, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x41, 0x4c, 0x4c, 0x5f, + 0x45, 0x51, 0x28, 0x6c, 0x63, 0x5f, 0x75, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x29, 0x0a, 0x4c, 0x43, + 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x41, 0x4c, 0x4c, 0x5f, 0x45, 0x51, 0x28, 0x6c, 0x63, 0x5f, + 0x69, 0x6e, 0x74, 0x29, 0x0a, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x41, 0x4c, 0x4c, + 0x5f, 0x45, 0x51, 0x28, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x29, 0x0a, 0x4c, 0x43, 0x5f, + 0x57, 0x41, 0x52, 0x50, 0x5f, 0x41, 0x4c, 0x4c, 0x5f, 0x45, 0x51, 0x28, 0x6c, 0x63, 0x5f, 0x6c, + 0x6f, 0x6e, 0x67, 0x29, 0x0a, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x41, 0x4c, 0x4c, + 0x5f, 0x45, 0x51, 0x28, 0x6c, 0x63, 0x5f, 0x75, 0x6c, 0x6f, 0x6e, 0x67, 0x29, 0x0a, 0x4c, 0x43, + 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x41, 0x4c, 0x4c, 0x5f, 0x45, 0x51, 0x28, 0x6c, 0x63, 0x5f, + 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x29, 0x0a, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x41, + 0x4c, 0x4c, 0x5f, 0x45, 0x51, 0x28, 0x6c, 0x63, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x29, 0x0a, 0x2f, + 0x2f, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x41, 0x4c, 0x4c, 0x5f, 0x45, 0x51, 0x28, + 0x6c, 0x63, 0x5f, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x29, 0x2f, 0x2f, 0x20, 0x54, 0x4f, 0x44, + 0x4f, 0x0a, 0x0a, 0x23, 0x75, 0x6e, 0x64, 0x65, 0x66, 0x20, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, + 0x50, 0x5f, 0x41, 0x4c, 0x4c, 0x5f, 0x45, 0x51, 0x5f, 0x53, 0x43, 0x41, 0x4c, 0x41, 0x52, 0x0a, + 0x23, 0x75, 0x6e, 0x64, 0x65, 0x66, 0x20, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x41, + 0x4c, 0x4c, 0x5f, 0x45, 0x51, 0x5f, 0x56, 0x45, 0x43, 0x54, 0x4f, 0x52, 0x32, 0x0a, 0x23, 0x75, + 0x6e, 0x64, 0x65, 0x66, 0x20, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x41, 0x4c, 0x4c, + 0x5f, 0x45, 0x51, 0x5f, 0x56, 0x45, 0x43, 0x54, 0x4f, 0x52, 0x33, 0x0a, 0x23, 0x75, 0x6e, 0x64, 0x65, 0x66, 0x20, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x41, 0x4c, 0x4c, 0x5f, 0x45, - 0x51, 0x5f, 0x56, 0x45, 0x43, 0x54, 0x4f, 0x52, 0x32, 0x0a, 0x23, 0x75, 0x6e, 0x64, 0x65, 0x66, - 0x20, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x41, 0x4c, 0x4c, 0x5f, 0x45, 0x51, 0x5f, - 0x56, 0x45, 0x43, 0x54, 0x4f, 0x52, 0x33, 0x0a, 0x23, 0x75, 0x6e, 0x64, 0x65, 0x66, 0x20, 0x4c, - 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x41, 0x4c, 0x4c, 0x5f, 0x45, 0x51, 0x5f, 0x56, 0x45, - 0x43, 0x54, 0x4f, 0x52, 0x34, 0x0a, 0x23, 0x75, 0x6e, 0x64, 0x65, 0x66, 0x20, 0x4c, 0x43, 0x5f, - 0x57, 0x41, 0x52, 0x50, 0x5f, 0x41, 0x4c, 0x4c, 0x5f, 0x45, 0x51, 0x0a, 0x0a, 0x74, 0x65, 0x6d, - 0x70, 0x6c, 0x61, 0x74, 0x65, 0x3c, 0x74, 0x79, 0x70, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x54, - 0x2c, 0x20, 0x74, 0x79, 0x70, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x46, 0x3e, 0x0a, 0x5b, 0x5b, - 0x6e, 0x6f, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x5d, 0x5d, 0x20, 0x5f, 0x5f, 0x64, 0x65, - 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x61, 0x75, - 0x74, 0x6f, 0x20, 0x6c, 0x63, 0x5f, 0x77, 0x61, 0x72, 0x70, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, - 0x65, 0x5f, 0x72, 0x65, 0x64, 0x75, 0x63, 0x65, 0x5f, 0x69, 0x6d, 0x70, 0x6c, 0x28, 0x54, 0x20, - 0x78, 0x2c, 0x20, 0x46, 0x20, 0x66, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, - 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x6d, 0x61, 0x73, 0x6b, - 0x20, 0x3d, 0x20, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x56, - 0x45, 0x5f, 0x4d, 0x41, 0x53, 0x4b, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x75, 0x74, 0x6f, - 0x20, 0x6c, 0x61, 0x6e, 0x65, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x77, 0x61, 0x72, 0x70, 0x5f, - 0x6c, 0x61, 0x6e, 0x65, 0x5f, 0x69, 0x64, 0x28, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, - 0x66, 0x20, 0x28, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x79, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x73, 0x68, - 0x66, 0x6c, 0x5f, 0x78, 0x6f, 0x72, 0x5f, 0x73, 0x79, 0x6e, 0x63, 0x28, 0x6d, 0x61, 0x73, 0x6b, - 0x2c, 0x20, 0x78, 0x2c, 0x20, 0x30, 0x78, 0x31, 0x30, 0x75, 0x29, 0x3b, 0x20, 0x6d, 0x61, 0x73, - 0x6b, 0x20, 0x26, 0x20, 0x28, 0x31, 0x75, 0x20, 0x3c, 0x3c, 0x20, 0x28, 0x6c, 0x61, 0x6e, 0x65, - 0x20, 0x5e, 0x20, 0x30, 0x78, 0x31, 0x30, 0x75, 0x29, 0x29, 0x29, 0x20, 0x7b, 0x20, 0x78, 0x20, - 0x3d, 0x20, 0x66, 0x28, 0x78, 0x2c, 0x20, 0x79, 0x29, 0x3b, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x69, 0x66, 0x20, 0x28, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x79, 0x20, 0x3d, 0x20, 0x5f, 0x5f, - 0x73, 0x68, 0x66, 0x6c, 0x5f, 0x78, 0x6f, 0x72, 0x5f, 0x73, 0x79, 0x6e, 0x63, 0x28, 0x6d, 0x61, - 0x73, 0x6b, 0x2c, 0x20, 0x78, 0x2c, 0x20, 0x30, 0x78, 0x30, 0x38, 0x75, 0x29, 0x3b, 0x20, 0x6d, - 0x61, 0x73, 0x6b, 0x20, 0x26, 0x20, 0x28, 0x31, 0x75, 0x20, 0x3c, 0x3c, 0x20, 0x28, 0x6c, 0x61, - 0x6e, 0x65, 0x20, 0x5e, 0x20, 0x30, 0x78, 0x30, 0x38, 0x75, 0x29, 0x29, 0x29, 0x20, 0x7b, 0x20, - 0x78, 0x20, 0x3d, 0x20, 0x66, 0x28, 0x78, 0x2c, 0x20, 0x79, 0x29, 0x3b, 0x20, 0x7d, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x28, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x79, 0x20, 0x3d, 0x20, - 0x5f, 0x5f, 0x73, 0x68, 0x66, 0x6c, 0x5f, 0x78, 0x6f, 0x72, 0x5f, 0x73, 0x79, 0x6e, 0x63, 0x28, - 0x6d, 0x61, 0x73, 0x6b, 0x2c, 0x20, 0x78, 0x2c, 0x20, 0x30, 0x78, 0x30, 0x34, 0x75, 0x29, 0x3b, - 0x20, 0x6d, 0x61, 0x73, 0x6b, 0x20, 0x26, 0x20, 0x28, 0x31, 0x75, 0x20, 0x3c, 0x3c, 0x20, 0x28, - 0x6c, 0x61, 0x6e, 0x65, 0x20, 0x5e, 0x20, 0x30, 0x78, 0x30, 0x34, 0x75, 0x29, 0x29, 0x29, 0x20, - 0x7b, 0x20, 0x78, 0x20, 0x3d, 0x20, 0x66, 0x28, 0x78, 0x2c, 0x20, 0x79, 0x29, 0x3b, 0x20, 0x7d, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x28, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x79, 0x20, - 0x3d, 0x20, 0x5f, 0x5f, 0x73, 0x68, 0x66, 0x6c, 0x5f, 0x78, 0x6f, 0x72, 0x5f, 0x73, 0x79, 0x6e, - 0x63, 0x28, 0x6d, 0x61, 0x73, 0x6b, 0x2c, 0x20, 0x78, 0x2c, 0x20, 0x30, 0x78, 0x30, 0x32, 0x75, - 0x29, 0x3b, 0x20, 0x6d, 0x61, 0x73, 0x6b, 0x20, 0x26, 0x20, 0x28, 0x31, 0x75, 0x20, 0x3c, 0x3c, - 0x20, 0x28, 0x6c, 0x61, 0x6e, 0x65, 0x20, 0x5e, 0x20, 0x30, 0x78, 0x30, 0x32, 0x75, 0x29, 0x29, - 0x29, 0x20, 0x7b, 0x20, 0x78, 0x20, 0x3d, 0x20, 0x66, 0x28, 0x78, 0x2c, 0x20, 0x79, 0x29, 0x3b, - 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x28, 0x61, 0x75, 0x74, 0x6f, 0x20, - 0x79, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x73, 0x68, 0x66, 0x6c, 0x5f, 0x78, 0x6f, 0x72, 0x5f, 0x73, - 0x79, 0x6e, 0x63, 0x28, 0x6d, 0x61, 0x73, 0x6b, 0x2c, 0x20, 0x78, 0x2c, 0x20, 0x30, 0x78, 0x30, - 0x31, 0x75, 0x29, 0x3b, 0x20, 0x6d, 0x61, 0x73, 0x6b, 0x20, 0x26, 0x20, 0x28, 0x31, 0x75, 0x20, - 0x3c, 0x3c, 0x20, 0x28, 0x6c, 0x61, 0x6e, 0x65, 0x20, 0x5e, 0x20, 0x30, 0x78, 0x30, 0x31, 0x75, - 0x29, 0x29, 0x29, 0x20, 0x7b, 0x20, 0x78, 0x20, 0x3d, 0x20, 0x66, 0x28, 0x78, 0x2c, 0x20, 0x79, - 0x29, 0x3b, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, - 0x78, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x3c, 0x74, - 0x79, 0x70, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x54, 0x3e, 0x0a, 0x5b, 0x5b, 0x6e, 0x6f, 0x64, - 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x5d, 0x5d, 0x20, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, - 0x65, 0x5f, 0x5f, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x78, 0x70, 0x72, 0x20, 0x54, 0x20, - 0x6c, 0x63, 0x5f, 0x62, 0x69, 0x74, 0x5f, 0x61, 0x6e, 0x64, 0x28, 0x54, 0x20, 0x78, 0x2c, 0x20, - 0x54, 0x20, 0x79, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x20, - 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x78, 0x20, 0x26, 0x20, 0x79, 0x3b, 0x20, 0x7d, 0x0a, + 0x51, 0x5f, 0x56, 0x45, 0x43, 0x54, 0x4f, 0x52, 0x34, 0x0a, 0x23, 0x75, 0x6e, 0x64, 0x65, 0x66, + 0x20, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x41, 0x4c, 0x4c, 0x5f, 0x45, 0x51, 0x0a, 0x0a, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x3c, 0x74, 0x79, 0x70, 0x65, 0x6e, 0x61, - 0x6d, 0x65, 0x20, 0x54, 0x3e, 0x0a, 0x5b, 0x5b, 0x6e, 0x6f, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, - 0x64, 0x5d, 0x5d, 0x20, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x63, - 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x78, 0x70, 0x72, 0x20, 0x54, 0x20, 0x6c, 0x63, 0x5f, 0x62, 0x69, - 0x74, 0x5f, 0x6f, 0x72, 0x28, 0x54, 0x20, 0x78, 0x2c, 0x20, 0x54, 0x20, 0x79, 0x29, 0x20, 0x6e, - 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, - 0x20, 0x78, 0x20, 0x7c, 0x20, 0x79, 0x3b, 0x20, 0x7d, 0x0a, 0x0a, 0x74, 0x65, 0x6d, 0x70, 0x6c, - 0x61, 0x74, 0x65, 0x3c, 0x74, 0x79, 0x70, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x54, 0x3e, 0x0a, - 0x5b, 0x5b, 0x6e, 0x6f, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x5d, 0x5d, 0x20, 0x5f, 0x5f, - 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x78, - 0x70, 0x72, 0x20, 0x54, 0x20, 0x6c, 0x63, 0x5f, 0x62, 0x69, 0x74, 0x5f, 0x78, 0x6f, 0x72, 0x28, - 0x54, 0x20, 0x78, 0x2c, 0x20, 0x54, 0x20, 0x79, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, - 0x70, 0x74, 0x20, 0x7b, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x78, 0x20, 0x5e, 0x20, - 0x79, 0x3b, 0x20, 0x7d, 0x0a, 0x0a, 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, 0x4c, 0x43, - 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x52, 0x45, 0x44, 0x55, 0x43, 0x45, 0x5f, 0x42, 0x49, 0x54, - 0x5f, 0x53, 0x43, 0x41, 0x4c, 0x41, 0x52, 0x5f, 0x46, 0x41, 0x4c, 0x4c, 0x42, 0x41, 0x43, 0x4b, - 0x28, 0x6f, 0x70, 0x2c, 0x20, 0x54, 0x29, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x6d, 0x65, 0x20, 0x54, 0x2c, 0x20, 0x74, 0x79, 0x70, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x46, + 0x3e, 0x0a, 0x5b, 0x5b, 0x6e, 0x6f, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x5d, 0x5d, 0x20, + 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, + 0x6c, 0x63, 0x5f, 0x77, 0x61, 0x72, 0x70, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x72, + 0x65, 0x64, 0x75, 0x63, 0x65, 0x5f, 0x69, 0x6d, 0x70, 0x6c, 0x28, 0x54, 0x20, 0x78, 0x2c, 0x20, + 0x46, 0x20, 0x66, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x6d, 0x61, 0x73, 0x6b, 0x20, 0x3d, 0x20, + 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x5f, 0x4d, + 0x41, 0x53, 0x4b, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x6c, 0x61, + 0x6e, 0x65, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x77, 0x61, 0x72, 0x70, 0x5f, 0x6c, 0x61, 0x6e, + 0x65, 0x5f, 0x69, 0x64, 0x28, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x28, + 0x61, 0x75, 0x74, 0x6f, 0x20, 0x79, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x73, 0x68, 0x66, 0x6c, 0x5f, + 0x78, 0x6f, 0x72, 0x5f, 0x73, 0x79, 0x6e, 0x63, 0x28, 0x6d, 0x61, 0x73, 0x6b, 0x2c, 0x20, 0x78, + 0x2c, 0x20, 0x30, 0x78, 0x31, 0x30, 0x75, 0x29, 0x3b, 0x20, 0x6d, 0x61, 0x73, 0x6b, 0x20, 0x26, + 0x20, 0x28, 0x31, 0x75, 0x20, 0x3c, 0x3c, 0x20, 0x28, 0x6c, 0x61, 0x6e, 0x65, 0x20, 0x5e, 0x20, + 0x30, 0x78, 0x31, 0x30, 0x75, 0x29, 0x29, 0x29, 0x20, 0x7b, 0x20, 0x78, 0x20, 0x3d, 0x20, 0x66, + 0x28, 0x78, 0x2c, 0x20, 0x79, 0x29, 0x3b, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, + 0x20, 0x28, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x79, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x73, 0x68, 0x66, + 0x6c, 0x5f, 0x78, 0x6f, 0x72, 0x5f, 0x73, 0x79, 0x6e, 0x63, 0x28, 0x6d, 0x61, 0x73, 0x6b, 0x2c, + 0x20, 0x78, 0x2c, 0x20, 0x30, 0x78, 0x30, 0x38, 0x75, 0x29, 0x3b, 0x20, 0x6d, 0x61, 0x73, 0x6b, + 0x20, 0x26, 0x20, 0x28, 0x31, 0x75, 0x20, 0x3c, 0x3c, 0x20, 0x28, 0x6c, 0x61, 0x6e, 0x65, 0x20, + 0x5e, 0x20, 0x30, 0x78, 0x30, 0x38, 0x75, 0x29, 0x29, 0x29, 0x20, 0x7b, 0x20, 0x78, 0x20, 0x3d, + 0x20, 0x66, 0x28, 0x78, 0x2c, 0x20, 0x79, 0x29, 0x3b, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x69, 0x66, 0x20, 0x28, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x79, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x73, + 0x68, 0x66, 0x6c, 0x5f, 0x78, 0x6f, 0x72, 0x5f, 0x73, 0x79, 0x6e, 0x63, 0x28, 0x6d, 0x61, 0x73, + 0x6b, 0x2c, 0x20, 0x78, 0x2c, 0x20, 0x30, 0x78, 0x30, 0x34, 0x75, 0x29, 0x3b, 0x20, 0x6d, 0x61, + 0x73, 0x6b, 0x20, 0x26, 0x20, 0x28, 0x31, 0x75, 0x20, 0x3c, 0x3c, 0x20, 0x28, 0x6c, 0x61, 0x6e, + 0x65, 0x20, 0x5e, 0x20, 0x30, 0x78, 0x30, 0x34, 0x75, 0x29, 0x29, 0x29, 0x20, 0x7b, 0x20, 0x78, + 0x20, 0x3d, 0x20, 0x66, 0x28, 0x78, 0x2c, 0x20, 0x79, 0x29, 0x3b, 0x20, 0x7d, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x69, 0x66, 0x20, 0x28, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x79, 0x20, 0x3d, 0x20, 0x5f, + 0x5f, 0x73, 0x68, 0x66, 0x6c, 0x5f, 0x78, 0x6f, 0x72, 0x5f, 0x73, 0x79, 0x6e, 0x63, 0x28, 0x6d, + 0x61, 0x73, 0x6b, 0x2c, 0x20, 0x78, 0x2c, 0x20, 0x30, 0x78, 0x30, 0x32, 0x75, 0x29, 0x3b, 0x20, + 0x6d, 0x61, 0x73, 0x6b, 0x20, 0x26, 0x20, 0x28, 0x31, 0x75, 0x20, 0x3c, 0x3c, 0x20, 0x28, 0x6c, + 0x61, 0x6e, 0x65, 0x20, 0x5e, 0x20, 0x30, 0x78, 0x30, 0x32, 0x75, 0x29, 0x29, 0x29, 0x20, 0x7b, + 0x20, 0x78, 0x20, 0x3d, 0x20, 0x66, 0x28, 0x78, 0x2c, 0x20, 0x79, 0x29, 0x3b, 0x20, 0x7d, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x28, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x79, 0x20, 0x3d, + 0x20, 0x5f, 0x5f, 0x73, 0x68, 0x66, 0x6c, 0x5f, 0x78, 0x6f, 0x72, 0x5f, 0x73, 0x79, 0x6e, 0x63, + 0x28, 0x6d, 0x61, 0x73, 0x6b, 0x2c, 0x20, 0x78, 0x2c, 0x20, 0x30, 0x78, 0x30, 0x31, 0x75, 0x29, + 0x3b, 0x20, 0x6d, 0x61, 0x73, 0x6b, 0x20, 0x26, 0x20, 0x28, 0x31, 0x75, 0x20, 0x3c, 0x3c, 0x20, + 0x28, 0x6c, 0x61, 0x6e, 0x65, 0x20, 0x5e, 0x20, 0x30, 0x78, 0x30, 0x31, 0x75, 0x29, 0x29, 0x29, + 0x20, 0x7b, 0x20, 0x78, 0x20, 0x3d, 0x20, 0x66, 0x28, 0x78, 0x2c, 0x20, 0x79, 0x29, 0x3b, 0x20, + 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x78, 0x3b, 0x0a, + 0x7d, 0x0a, 0x0a, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x3c, 0x74, 0x79, 0x70, 0x65, + 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x54, 0x3e, 0x0a, 0x5b, 0x5b, 0x6e, 0x6f, 0x64, 0x69, 0x73, 0x63, + 0x61, 0x72, 0x64, 0x5d, 0x5d, 0x20, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, + 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x78, 0x70, 0x72, 0x20, 0x54, 0x20, 0x6c, 0x63, 0x5f, + 0x62, 0x69, 0x74, 0x5f, 0x61, 0x6e, 0x64, 0x28, 0x54, 0x20, 0x78, 0x2c, 0x20, 0x54, 0x20, 0x79, + 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x20, 0x72, 0x65, 0x74, + 0x75, 0x72, 0x6e, 0x20, 0x78, 0x20, 0x26, 0x20, 0x79, 0x3b, 0x20, 0x7d, 0x0a, 0x0a, 0x74, 0x65, + 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x3c, 0x74, 0x79, 0x70, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x20, + 0x54, 0x3e, 0x0a, 0x5b, 0x5b, 0x6e, 0x6f, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x5d, 0x5d, + 0x20, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x63, 0x6f, 0x6e, 0x73, + 0x74, 0x65, 0x78, 0x70, 0x72, 0x20, 0x54, 0x20, 0x6c, 0x63, 0x5f, 0x62, 0x69, 0x74, 0x5f, 0x6f, + 0x72, 0x28, 0x54, 0x20, 0x78, 0x2c, 0x20, 0x54, 0x20, 0x79, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, + 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x78, 0x20, + 0x7c, 0x20, 0x79, 0x3b, 0x20, 0x7d, 0x0a, 0x0a, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, + 0x3c, 0x74, 0x79, 0x70, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x54, 0x3e, 0x0a, 0x5b, 0x5b, 0x6e, + 0x6f, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x5d, 0x5d, 0x20, 0x5f, 0x5f, 0x64, 0x65, 0x76, + 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x78, 0x70, 0x72, 0x20, + 0x54, 0x20, 0x6c, 0x63, 0x5f, 0x62, 0x69, 0x74, 0x5f, 0x78, 0x6f, 0x72, 0x28, 0x54, 0x20, 0x78, + 0x2c, 0x20, 0x54, 0x20, 0x79, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, + 0x7b, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x78, 0x20, 0x5e, 0x20, 0x79, 0x3b, 0x20, + 0x7d, 0x0a, 0x0a, 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, 0x4c, 0x43, 0x5f, 0x57, 0x41, + 0x52, 0x50, 0x5f, 0x52, 0x45, 0x44, 0x55, 0x43, 0x45, 0x5f, 0x42, 0x49, 0x54, 0x5f, 0x53, 0x43, + 0x41, 0x4c, 0x41, 0x52, 0x5f, 0x46, 0x41, 0x4c, 0x4c, 0x42, 0x41, 0x43, 0x4b, 0x28, 0x6f, 0x70, + 0x2c, 0x20, 0x54, 0x29, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x5b, 0x5b, 0x6e, 0x6f, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x5d, 0x5d, 0x20, - 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, - 0x65, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x6c, 0x63, 0x5f, 0x77, 0x61, 0x72, 0x70, 0x5f, 0x61, - 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x62, 0x69, 0x74, 0x5f, 0x23, 0x23, 0x6f, 0x70, 0x28, 0x6c, - 0x63, 0x5f, 0x23, 0x23, 0x54, 0x20, 0x78, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, - 0x74, 0x20, 0x7b, 0x20, 0x5c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, - 0x74, 0x75, 0x72, 0x6e, 0x20, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x5f, 0x63, 0x61, 0x73, 0x74, - 0x3c, 0x6c, 0x63, 0x5f, 0x23, 0x23, 0x54, 0x3e, 0x28, 0x6c, 0x63, 0x5f, 0x77, 0x61, 0x72, 0x70, - 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x72, 0x65, 0x64, 0x75, 0x63, 0x65, 0x5f, 0x69, - 0x6d, 0x70, 0x6c, 0x28, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x78, 0x2c, 0x20, 0x5b, 0x5d, 0x28, - 0x6c, 0x63, 0x5f, 0x23, 0x23, 0x54, 0x20, 0x61, 0x2c, 0x20, 0x6c, 0x63, 0x5f, 0x23, 0x23, 0x54, - 0x20, 0x62, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x20, 0x72, - 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x6c, 0x63, 0x5f, 0x62, 0x69, 0x74, 0x5f, 0x23, 0x23, 0x6f, - 0x70, 0x28, 0x61, 0x2c, 0x20, 0x62, 0x29, 0x3b, 0x20, 0x7d, 0x29, 0x29, 0x3b, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x5c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x0a, 0x23, 0x69, 0x66, - 0x20, 0x5f, 0x5f, 0x43, 0x55, 0x44, 0x41, 0x5f, 0x41, 0x52, 0x43, 0x48, 0x5f, 0x5f, 0x20, 0x3e, - 0x3d, 0x20, 0x38, 0x30, 0x30, 0x0a, 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, 0x4c, 0x43, - 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x52, 0x45, 0x44, 0x55, 0x43, 0x45, 0x5f, 0x42, 0x49, 0x54, - 0x5f, 0x53, 0x43, 0x41, 0x4c, 0x41, 0x52, 0x28, 0x6f, 0x70, 0x2c, 0x20, 0x54, 0x29, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5b, + 0x5b, 0x6e, 0x6f, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x5d, 0x5d, 0x20, 0x5f, 0x5f, 0x64, + 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x6c, 0x63, 0x5f, + 0x77, 0x61, 0x72, 0x70, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x62, 0x69, 0x74, 0x5f, + 0x23, 0x23, 0x6f, 0x70, 0x28, 0x6c, 0x63, 0x5f, 0x23, 0x23, 0x54, 0x20, 0x78, 0x29, 0x20, 0x6e, + 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x20, 0x5c, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x73, 0x74, 0x61, 0x74, 0x69, + 0x63, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x6c, 0x63, 0x5f, 0x23, 0x23, 0x54, 0x3e, 0x28, 0x6c, + 0x63, 0x5f, 0x77, 0x61, 0x72, 0x70, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x72, 0x65, + 0x64, 0x75, 0x63, 0x65, 0x5f, 0x69, 0x6d, 0x70, 0x6c, 0x28, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x5c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x78, 0x2c, 0x20, 0x5b, 0x5d, 0x28, 0x6c, 0x63, 0x5f, 0x23, 0x23, 0x54, 0x20, 0x61, 0x2c, 0x20, + 0x6c, 0x63, 0x5f, 0x23, 0x23, 0x54, 0x20, 0x62, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, + 0x70, 0x74, 0x20, 0x7b, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x6c, 0x63, 0x5f, 0x62, + 0x69, 0x74, 0x5f, 0x23, 0x23, 0x6f, 0x70, 0x28, 0x61, 0x2c, 0x20, 0x62, 0x29, 0x3b, 0x20, 0x7d, + 0x29, 0x29, 0x3b, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x7d, 0x0a, 0x0a, 0x23, 0x69, 0x66, 0x20, 0x5f, 0x5f, 0x43, 0x55, 0x44, 0x41, 0x5f, 0x41, 0x52, + 0x43, 0x48, 0x5f, 0x5f, 0x20, 0x3e, 0x3d, 0x20, 0x38, 0x30, 0x30, 0x0a, 0x23, 0x64, 0x65, 0x66, + 0x69, 0x6e, 0x65, 0x20, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x52, 0x45, 0x44, 0x55, + 0x43, 0x45, 0x5f, 0x42, 0x49, 0x54, 0x5f, 0x53, 0x43, 0x41, 0x4c, 0x41, 0x52, 0x28, 0x6f, 0x70, + 0x2c, 0x20, 0x54, 0x29, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x5b, 0x5b, 0x6e, 0x6f, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x5d, 0x5d, 0x20, - 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, - 0x65, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x6c, 0x63, 0x5f, 0x77, 0x61, 0x72, 0x70, 0x5f, 0x61, - 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x62, 0x69, 0x74, 0x5f, 0x23, 0x23, 0x6f, 0x70, 0x28, 0x6c, - 0x63, 0x5f, 0x23, 0x23, 0x54, 0x20, 0x78, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, - 0x74, 0x20, 0x7b, 0x20, 0x5c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, - 0x74, 0x75, 0x72, 0x6e, 0x20, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x5f, 0x63, 0x61, 0x73, 0x74, - 0x3c, 0x6c, 0x63, 0x5f, 0x23, 0x23, 0x54, 0x3e, 0x28, 0x5f, 0x5f, 0x72, 0x65, 0x64, 0x75, 0x63, - 0x65, 0x5f, 0x23, 0x23, 0x6f, 0x70, 0x23, 0x23, 0x5f, 0x73, 0x79, 0x6e, 0x63, 0x28, 0x4c, 0x43, - 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x5f, 0x4d, 0x41, 0x53, - 0x4b, 0x2c, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x5c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5b, 0x5b, 0x6e, 0x6f, 0x64, 0x69, 0x73, 0x63, + 0x61, 0x72, 0x64, 0x5d, 0x5d, 0x20, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, + 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x6c, 0x63, 0x5f, 0x77, 0x61, 0x72, 0x70, 0x5f, 0x61, 0x63, + 0x74, 0x69, 0x76, 0x65, 0x5f, 0x62, 0x69, 0x74, 0x5f, 0x23, 0x23, 0x6f, 0x70, 0x28, 0x6c, 0x63, + 0x5f, 0x23, 0x23, 0x54, 0x20, 0x78, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, + 0x20, 0x7b, 0x20, 0x5c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, + 0x75, 0x72, 0x6e, 0x20, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, + 0x6c, 0x63, 0x5f, 0x23, 0x23, 0x54, 0x3e, 0x28, 0x5f, 0x5f, 0x72, 0x65, 0x64, 0x75, 0x63, 0x65, + 0x5f, 0x23, 0x23, 0x6f, 0x70, 0x23, 0x23, 0x5f, 0x73, 0x79, 0x6e, 0x63, 0x28, 0x4c, 0x43, 0x5f, + 0x57, 0x41, 0x52, 0x50, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x5f, 0x4d, 0x41, 0x53, 0x4b, + 0x2c, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x5f, 0x63, 0x61, 0x73, - 0x74, 0x3c, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x3e, 0x28, 0x78, 0x29, 0x29, 0x29, 0x3b, - 0x20, 0x20, 0x20, 0x20, 0x5c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x23, 0x65, 0x6c, 0x73, - 0x65, 0x0a, 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x5f, 0x63, 0x61, 0x73, 0x74, + 0x3c, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x3e, 0x28, 0x78, 0x29, 0x29, 0x29, 0x3b, 0x20, + 0x20, 0x20, 0x20, 0x5c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x23, 0x65, 0x6c, 0x73, 0x65, + 0x0a, 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, + 0x5f, 0x52, 0x45, 0x44, 0x55, 0x43, 0x45, 0x5f, 0x42, 0x49, 0x54, 0x5f, 0x53, 0x43, 0x41, 0x4c, + 0x41, 0x52, 0x28, 0x6f, 0x70, 0x2c, 0x20, 0x54, 0x29, 0x20, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x52, 0x45, 0x44, 0x55, 0x43, 0x45, 0x5f, 0x42, 0x49, 0x54, 0x5f, 0x53, 0x43, 0x41, - 0x4c, 0x41, 0x52, 0x28, 0x6f, 0x70, 0x2c, 0x20, 0x54, 0x29, 0x20, 0x4c, 0x43, 0x5f, 0x57, 0x41, - 0x52, 0x50, 0x5f, 0x52, 0x45, 0x44, 0x55, 0x43, 0x45, 0x5f, 0x42, 0x49, 0x54, 0x5f, 0x53, 0x43, - 0x41, 0x4c, 0x41, 0x52, 0x5f, 0x46, 0x41, 0x4c, 0x4c, 0x42, 0x41, 0x43, 0x4b, 0x28, 0x6f, 0x70, - 0x2c, 0x20, 0x54, 0x29, 0x0a, 0x23, 0x65, 0x6e, 0x64, 0x69, 0x66, 0x0a, 0x0a, 0x4c, 0x43, 0x5f, - 0x57, 0x41, 0x52, 0x50, 0x5f, 0x52, 0x45, 0x44, 0x55, 0x43, 0x45, 0x5f, 0x42, 0x49, 0x54, 0x5f, - 0x53, 0x43, 0x41, 0x4c, 0x41, 0x52, 0x28, 0x61, 0x6e, 0x64, 0x2c, 0x20, 0x75, 0x69, 0x6e, 0x74, - 0x29, 0x0a, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x52, 0x45, 0x44, 0x55, 0x43, 0x45, - 0x5f, 0x42, 0x49, 0x54, 0x5f, 0x53, 0x43, 0x41, 0x4c, 0x41, 0x52, 0x28, 0x6f, 0x72, 0x2c, 0x20, - 0x75, 0x69, 0x6e, 0x74, 0x29, 0x0a, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x52, 0x45, - 0x44, 0x55, 0x43, 0x45, 0x5f, 0x42, 0x49, 0x54, 0x5f, 0x53, 0x43, 0x41, 0x4c, 0x41, 0x52, 0x28, - 0x78, 0x6f, 0x72, 0x2c, 0x20, 0x75, 0x69, 0x6e, 0x74, 0x29, 0x0a, 0x4c, 0x43, 0x5f, 0x57, 0x41, - 0x52, 0x50, 0x5f, 0x52, 0x45, 0x44, 0x55, 0x43, 0x45, 0x5f, 0x42, 0x49, 0x54, 0x5f, 0x53, 0x43, - 0x41, 0x4c, 0x41, 0x52, 0x28, 0x61, 0x6e, 0x64, 0x2c, 0x20, 0x69, 0x6e, 0x74, 0x29, 0x0a, 0x4c, - 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x52, 0x45, 0x44, 0x55, 0x43, 0x45, 0x5f, 0x42, 0x49, - 0x54, 0x5f, 0x53, 0x43, 0x41, 0x4c, 0x41, 0x52, 0x28, 0x6f, 0x72, 0x2c, 0x20, 0x69, 0x6e, 0x74, - 0x29, 0x0a, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x52, 0x45, 0x44, 0x55, 0x43, 0x45, - 0x5f, 0x42, 0x49, 0x54, 0x5f, 0x53, 0x43, 0x41, 0x4c, 0x41, 0x52, 0x28, 0x78, 0x6f, 0x72, 0x2c, - 0x20, 0x69, 0x6e, 0x74, 0x29, 0x0a, 0x0a, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x52, - 0x45, 0x44, 0x55, 0x43, 0x45, 0x5f, 0x42, 0x49, 0x54, 0x5f, 0x53, 0x43, 0x41, 0x4c, 0x41, 0x52, - 0x28, 0x61, 0x6e, 0x64, 0x2c, 0x20, 0x75, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x29, 0x0a, 0x4c, 0x43, + 0x4c, 0x41, 0x52, 0x5f, 0x46, 0x41, 0x4c, 0x4c, 0x42, 0x41, 0x43, 0x4b, 0x28, 0x6f, 0x70, 0x2c, + 0x20, 0x54, 0x29, 0x0a, 0x23, 0x65, 0x6e, 0x64, 0x69, 0x66, 0x0a, 0x0a, 0x4c, 0x43, 0x5f, 0x57, + 0x41, 0x52, 0x50, 0x5f, 0x52, 0x45, 0x44, 0x55, 0x43, 0x45, 0x5f, 0x42, 0x49, 0x54, 0x5f, 0x53, + 0x43, 0x41, 0x4c, 0x41, 0x52, 0x28, 0x61, 0x6e, 0x64, 0x2c, 0x20, 0x75, 0x69, 0x6e, 0x74, 0x29, + 0x0a, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x52, 0x45, 0x44, 0x55, 0x43, 0x45, 0x5f, + 0x42, 0x49, 0x54, 0x5f, 0x53, 0x43, 0x41, 0x4c, 0x41, 0x52, 0x28, 0x6f, 0x72, 0x2c, 0x20, 0x75, + 0x69, 0x6e, 0x74, 0x29, 0x0a, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x52, 0x45, 0x44, + 0x55, 0x43, 0x45, 0x5f, 0x42, 0x49, 0x54, 0x5f, 0x53, 0x43, 0x41, 0x4c, 0x41, 0x52, 0x28, 0x78, + 0x6f, 0x72, 0x2c, 0x20, 0x75, 0x69, 0x6e, 0x74, 0x29, 0x0a, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, + 0x50, 0x5f, 0x52, 0x45, 0x44, 0x55, 0x43, 0x45, 0x5f, 0x42, 0x49, 0x54, 0x5f, 0x53, 0x43, 0x41, + 0x4c, 0x41, 0x52, 0x28, 0x61, 0x6e, 0x64, 0x2c, 0x20, 0x69, 0x6e, 0x74, 0x29, 0x0a, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x52, 0x45, 0x44, 0x55, 0x43, 0x45, 0x5f, 0x42, 0x49, 0x54, - 0x5f, 0x53, 0x43, 0x41, 0x4c, 0x41, 0x52, 0x28, 0x6f, 0x72, 0x2c, 0x20, 0x75, 0x73, 0x68, 0x6f, - 0x72, 0x74, 0x29, 0x0a, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x52, 0x45, 0x44, 0x55, - 0x43, 0x45, 0x5f, 0x42, 0x49, 0x54, 0x5f, 0x53, 0x43, 0x41, 0x4c, 0x41, 0x52, 0x28, 0x78, 0x6f, - 0x72, 0x2c, 0x20, 0x75, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x29, 0x0a, 0x4c, 0x43, 0x5f, 0x57, 0x41, - 0x52, 0x50, 0x5f, 0x52, 0x45, 0x44, 0x55, 0x43, 0x45, 0x5f, 0x42, 0x49, 0x54, 0x5f, 0x53, 0x43, - 0x41, 0x4c, 0x41, 0x52, 0x28, 0x61, 0x6e, 0x64, 0x2c, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x29, + 0x5f, 0x53, 0x43, 0x41, 0x4c, 0x41, 0x52, 0x28, 0x6f, 0x72, 0x2c, 0x20, 0x69, 0x6e, 0x74, 0x29, 0x0a, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x52, 0x45, 0x44, 0x55, 0x43, 0x45, 0x5f, - 0x42, 0x49, 0x54, 0x5f, 0x53, 0x43, 0x41, 0x4c, 0x41, 0x52, 0x28, 0x6f, 0x72, 0x2c, 0x20, 0x73, - 0x68, 0x6f, 0x72, 0x74, 0x29, 0x0a, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x52, 0x45, + 0x42, 0x49, 0x54, 0x5f, 0x53, 0x43, 0x41, 0x4c, 0x41, 0x52, 0x28, 0x78, 0x6f, 0x72, 0x2c, 0x20, + 0x69, 0x6e, 0x74, 0x29, 0x0a, 0x0a, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x52, 0x45, 0x44, 0x55, 0x43, 0x45, 0x5f, 0x42, 0x49, 0x54, 0x5f, 0x53, 0x43, 0x41, 0x4c, 0x41, 0x52, 0x28, - 0x78, 0x6f, 0x72, 0x2c, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x29, 0x0a, 0x0a, 0x4c, 0x43, 0x5f, + 0x61, 0x6e, 0x64, 0x2c, 0x20, 0x75, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x29, 0x0a, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x52, 0x45, 0x44, 0x55, 0x43, 0x45, 0x5f, 0x42, 0x49, 0x54, 0x5f, - 0x53, 0x43, 0x41, 0x4c, 0x41, 0x52, 0x5f, 0x46, 0x41, 0x4c, 0x4c, 0x42, 0x41, 0x43, 0x4b, 0x28, - 0x61, 0x6e, 0x64, 0x2c, 0x20, 0x75, 0x6c, 0x6f, 0x6e, 0x67, 0x29, 0x0a, 0x4c, 0x43, 0x5f, 0x57, - 0x41, 0x52, 0x50, 0x5f, 0x52, 0x45, 0x44, 0x55, 0x43, 0x45, 0x5f, 0x42, 0x49, 0x54, 0x5f, 0x53, - 0x43, 0x41, 0x4c, 0x41, 0x52, 0x5f, 0x46, 0x41, 0x4c, 0x4c, 0x42, 0x41, 0x43, 0x4b, 0x28, 0x6f, - 0x72, 0x2c, 0x20, 0x75, 0x6c, 0x6f, 0x6e, 0x67, 0x29, 0x0a, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, + 0x53, 0x43, 0x41, 0x4c, 0x41, 0x52, 0x28, 0x6f, 0x72, 0x2c, 0x20, 0x75, 0x73, 0x68, 0x6f, 0x72, + 0x74, 0x29, 0x0a, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x52, 0x45, 0x44, 0x55, 0x43, + 0x45, 0x5f, 0x42, 0x49, 0x54, 0x5f, 0x53, 0x43, 0x41, 0x4c, 0x41, 0x52, 0x28, 0x78, 0x6f, 0x72, + 0x2c, 0x20, 0x75, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x29, 0x0a, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x52, 0x45, 0x44, 0x55, 0x43, 0x45, 0x5f, 0x42, 0x49, 0x54, 0x5f, 0x53, 0x43, 0x41, - 0x4c, 0x41, 0x52, 0x5f, 0x46, 0x41, 0x4c, 0x4c, 0x42, 0x41, 0x43, 0x4b, 0x28, 0x78, 0x6f, 0x72, + 0x4c, 0x41, 0x52, 0x28, 0x61, 0x6e, 0x64, 0x2c, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x29, 0x0a, + 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x52, 0x45, 0x44, 0x55, 0x43, 0x45, 0x5f, 0x42, + 0x49, 0x54, 0x5f, 0x53, 0x43, 0x41, 0x4c, 0x41, 0x52, 0x28, 0x6f, 0x72, 0x2c, 0x20, 0x73, 0x68, + 0x6f, 0x72, 0x74, 0x29, 0x0a, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x52, 0x45, 0x44, + 0x55, 0x43, 0x45, 0x5f, 0x42, 0x49, 0x54, 0x5f, 0x53, 0x43, 0x41, 0x4c, 0x41, 0x52, 0x28, 0x78, + 0x6f, 0x72, 0x2c, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x29, 0x0a, 0x0a, 0x4c, 0x43, 0x5f, 0x57, + 0x41, 0x52, 0x50, 0x5f, 0x52, 0x45, 0x44, 0x55, 0x43, 0x45, 0x5f, 0x42, 0x49, 0x54, 0x5f, 0x53, + 0x43, 0x41, 0x4c, 0x41, 0x52, 0x5f, 0x46, 0x41, 0x4c, 0x4c, 0x42, 0x41, 0x43, 0x4b, 0x28, 0x61, + 0x6e, 0x64, 0x2c, 0x20, 0x75, 0x6c, 0x6f, 0x6e, 0x67, 0x29, 0x0a, 0x4c, 0x43, 0x5f, 0x57, 0x41, + 0x52, 0x50, 0x5f, 0x52, 0x45, 0x44, 0x55, 0x43, 0x45, 0x5f, 0x42, 0x49, 0x54, 0x5f, 0x53, 0x43, + 0x41, 0x4c, 0x41, 0x52, 0x5f, 0x46, 0x41, 0x4c, 0x4c, 0x42, 0x41, 0x43, 0x4b, 0x28, 0x6f, 0x72, 0x2c, 0x20, 0x75, 0x6c, 0x6f, 0x6e, 0x67, 0x29, 0x0a, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x52, 0x45, 0x44, 0x55, 0x43, 0x45, 0x5f, 0x42, 0x49, 0x54, 0x5f, 0x53, 0x43, 0x41, 0x4c, - 0x41, 0x52, 0x5f, 0x46, 0x41, 0x4c, 0x4c, 0x42, 0x41, 0x43, 0x4b, 0x28, 0x61, 0x6e, 0x64, 0x2c, - 0x20, 0x6c, 0x6f, 0x6e, 0x67, 0x29, 0x0a, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x52, - 0x45, 0x44, 0x55, 0x43, 0x45, 0x5f, 0x42, 0x49, 0x54, 0x5f, 0x53, 0x43, 0x41, 0x4c, 0x41, 0x52, - 0x5f, 0x46, 0x41, 0x4c, 0x4c, 0x42, 0x41, 0x43, 0x4b, 0x28, 0x6f, 0x72, 0x2c, 0x20, 0x6c, 0x6f, - 0x6e, 0x67, 0x29, 0x0a, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x52, 0x45, 0x44, 0x55, - 0x43, 0x45, 0x5f, 0x42, 0x49, 0x54, 0x5f, 0x53, 0x43, 0x41, 0x4c, 0x41, 0x52, 0x5f, 0x46, 0x41, - 0x4c, 0x4c, 0x42, 0x41, 0x43, 0x4b, 0x28, 0x78, 0x6f, 0x72, 0x2c, 0x20, 0x6c, 0x6f, 0x6e, 0x67, - 0x29, 0x0a, 0x0a, 0x23, 0x75, 0x6e, 0x64, 0x65, 0x66, 0x20, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, - 0x50, 0x5f, 0x52, 0x45, 0x44, 0x55, 0x43, 0x45, 0x5f, 0x42, 0x49, 0x54, 0x5f, 0x53, 0x43, 0x41, - 0x4c, 0x41, 0x52, 0x5f, 0x46, 0x41, 0x4c, 0x4c, 0x42, 0x41, 0x43, 0x4b, 0x0a, 0x23, 0x75, 0x6e, - 0x64, 0x65, 0x66, 0x20, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x52, 0x45, 0x44, 0x55, - 0x43, 0x45, 0x5f, 0x42, 0x49, 0x54, 0x5f, 0x53, 0x43, 0x41, 0x4c, 0x41, 0x52, 0x0a, 0x0a, 0x23, - 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x52, - 0x45, 0x44, 0x55, 0x43, 0x45, 0x5f, 0x42, 0x49, 0x54, 0x5f, 0x56, 0x45, 0x43, 0x54, 0x4f, 0x52, - 0x28, 0x6f, 0x70, 0x2c, 0x20, 0x54, 0x29, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x41, 0x52, 0x5f, 0x46, 0x41, 0x4c, 0x4c, 0x42, 0x41, 0x43, 0x4b, 0x28, 0x78, 0x6f, 0x72, 0x2c, + 0x20, 0x75, 0x6c, 0x6f, 0x6e, 0x67, 0x29, 0x0a, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, + 0x52, 0x45, 0x44, 0x55, 0x43, 0x45, 0x5f, 0x42, 0x49, 0x54, 0x5f, 0x53, 0x43, 0x41, 0x4c, 0x41, + 0x52, 0x5f, 0x46, 0x41, 0x4c, 0x4c, 0x42, 0x41, 0x43, 0x4b, 0x28, 0x61, 0x6e, 0x64, 0x2c, 0x20, + 0x6c, 0x6f, 0x6e, 0x67, 0x29, 0x0a, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x52, 0x45, + 0x44, 0x55, 0x43, 0x45, 0x5f, 0x42, 0x49, 0x54, 0x5f, 0x53, 0x43, 0x41, 0x4c, 0x41, 0x52, 0x5f, + 0x46, 0x41, 0x4c, 0x4c, 0x42, 0x41, 0x43, 0x4b, 0x28, 0x6f, 0x72, 0x2c, 0x20, 0x6c, 0x6f, 0x6e, + 0x67, 0x29, 0x0a, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x52, 0x45, 0x44, 0x55, 0x43, + 0x45, 0x5f, 0x42, 0x49, 0x54, 0x5f, 0x53, 0x43, 0x41, 0x4c, 0x41, 0x52, 0x5f, 0x46, 0x41, 0x4c, + 0x4c, 0x42, 0x41, 0x43, 0x4b, 0x28, 0x78, 0x6f, 0x72, 0x2c, 0x20, 0x6c, 0x6f, 0x6e, 0x67, 0x29, + 0x0a, 0x0a, 0x23, 0x75, 0x6e, 0x64, 0x65, 0x66, 0x20, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, + 0x5f, 0x52, 0x45, 0x44, 0x55, 0x43, 0x45, 0x5f, 0x42, 0x49, 0x54, 0x5f, 0x53, 0x43, 0x41, 0x4c, + 0x41, 0x52, 0x5f, 0x46, 0x41, 0x4c, 0x4c, 0x42, 0x41, 0x43, 0x4b, 0x0a, 0x23, 0x75, 0x6e, 0x64, + 0x65, 0x66, 0x20, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x52, 0x45, 0x44, 0x55, 0x43, + 0x45, 0x5f, 0x42, 0x49, 0x54, 0x5f, 0x53, 0x43, 0x41, 0x4c, 0x41, 0x52, 0x0a, 0x0a, 0x23, 0x64, + 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x52, 0x45, + 0x44, 0x55, 0x43, 0x45, 0x5f, 0x42, 0x49, 0x54, 0x5f, 0x56, 0x45, 0x43, 0x54, 0x4f, 0x52, 0x28, + 0x6f, 0x70, 0x2c, 0x20, 0x54, 0x29, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5b, 0x5b, - 0x6e, 0x6f, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x5d, 0x5d, 0x20, 0x5f, 0x5f, 0x64, 0x65, - 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x61, 0x75, - 0x74, 0x6f, 0x20, 0x6c, 0x63, 0x5f, 0x77, 0x61, 0x72, 0x70, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, - 0x65, 0x5f, 0x62, 0x69, 0x74, 0x5f, 0x23, 0x23, 0x6f, 0x70, 0x28, 0x6c, 0x63, 0x5f, 0x23, 0x23, - 0x54, 0x23, 0x23, 0x32, 0x20, 0x76, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, - 0x20, 0x7b, 0x20, 0x5c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, - 0x75, 0x72, 0x6e, 0x20, 0x6c, 0x63, 0x5f, 0x6d, 0x61, 0x6b, 0x65, 0x5f, 0x23, 0x23, 0x54, 0x23, - 0x23, 0x32, 0x28, 0x6c, 0x63, 0x5f, 0x77, 0x61, 0x72, 0x70, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, - 0x65, 0x5f, 0x62, 0x69, 0x74, 0x5f, 0x23, 0x23, 0x6f, 0x70, 0x28, 0x76, 0x2e, 0x78, 0x29, 0x2c, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5b, 0x5b, 0x6e, + 0x6f, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x5d, 0x5d, 0x20, 0x5f, 0x5f, 0x64, 0x65, 0x76, + 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x6c, 0x63, 0x5f, 0x77, 0x61, + 0x72, 0x70, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x62, 0x69, 0x74, 0x5f, 0x23, 0x23, + 0x6f, 0x70, 0x28, 0x6c, 0x63, 0x5f, 0x23, 0x23, 0x54, 0x23, 0x23, 0x32, 0x20, 0x76, 0x29, 0x20, + 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x20, 0x5c, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x6c, 0x63, 0x5f, 0x6d, + 0x61, 0x6b, 0x65, 0x5f, 0x23, 0x23, 0x54, 0x23, 0x23, 0x32, 0x28, 0x6c, 0x63, 0x5f, 0x77, 0x61, + 0x72, 0x70, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x62, 0x69, 0x74, 0x5f, 0x23, 0x23, + 0x6f, 0x70, 0x28, 0x76, 0x2e, 0x78, 0x29, 0x2c, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, - 0x5f, 0x77, 0x61, 0x72, 0x70, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x62, 0x69, 0x74, - 0x5f, 0x23, 0x23, 0x6f, 0x70, 0x28, 0x76, 0x2e, 0x79, 0x29, 0x29, 0x3b, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x77, 0x61, 0x72, 0x70, 0x5f, 0x61, 0x63, + 0x74, 0x69, 0x76, 0x65, 0x5f, 0x62, 0x69, 0x74, 0x5f, 0x23, 0x23, 0x6f, 0x70, 0x28, 0x76, 0x2e, + 0x79, 0x29, 0x29, 0x3b, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, + 0x20, 0x5c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x5b, 0x5b, 0x6e, 0x6f, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x5d, 0x5d, 0x20, + 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, + 0x6c, 0x63, 0x5f, 0x77, 0x61, 0x72, 0x70, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x62, + 0x69, 0x74, 0x5f, 0x23, 0x23, 0x6f, 0x70, 0x28, 0x6c, 0x63, 0x5f, 0x23, 0x23, 0x54, 0x23, 0x23, + 0x33, 0x20, 0x76, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x20, + 0x5c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, + 0x20, 0x6c, 0x63, 0x5f, 0x6d, 0x61, 0x6b, 0x65, 0x5f, 0x23, 0x23, 0x54, 0x23, 0x23, 0x33, 0x28, + 0x6c, 0x63, 0x5f, 0x77, 0x61, 0x72, 0x70, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x62, + 0x69, 0x74, 0x5f, 0x23, 0x23, 0x6f, 0x70, 0x28, 0x76, 0x2e, 0x78, 0x29, 0x2c, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x5c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5b, 0x5b, 0x6e, 0x6f, 0x64, 0x69, - 0x73, 0x63, 0x61, 0x72, 0x64, 0x5d, 0x5d, 0x20, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, - 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x6c, - 0x63, 0x5f, 0x77, 0x61, 0x72, 0x70, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x62, 0x69, - 0x74, 0x5f, 0x23, 0x23, 0x6f, 0x70, 0x28, 0x6c, 0x63, 0x5f, 0x23, 0x23, 0x54, 0x23, 0x23, 0x33, - 0x20, 0x76, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x20, 0x5c, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, - 0x6c, 0x63, 0x5f, 0x6d, 0x61, 0x6b, 0x65, 0x5f, 0x23, 0x23, 0x54, 0x23, 0x23, 0x33, 0x28, 0x6c, - 0x63, 0x5f, 0x77, 0x61, 0x72, 0x70, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x62, 0x69, - 0x74, 0x5f, 0x23, 0x23, 0x6f, 0x70, 0x28, 0x76, 0x2e, 0x78, 0x29, 0x2c, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x77, 0x61, + 0x72, 0x70, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x62, 0x69, 0x74, 0x5f, 0x23, 0x23, + 0x6f, 0x70, 0x28, 0x76, 0x2e, 0x79, 0x29, 0x2c, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x77, 0x61, 0x72, - 0x70, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x62, 0x69, 0x74, 0x5f, 0x23, 0x23, 0x6f, - 0x70, 0x28, 0x76, 0x2e, 0x79, 0x29, 0x2c, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x77, 0x61, 0x72, 0x70, 0x5f, 0x61, 0x63, + 0x74, 0x69, 0x76, 0x65, 0x5f, 0x62, 0x69, 0x74, 0x5f, 0x23, 0x23, 0x6f, 0x70, 0x28, 0x76, 0x2e, + 0x7a, 0x29, 0x29, 0x3b, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x77, 0x61, 0x72, 0x70, 0x5f, 0x61, 0x63, 0x74, - 0x69, 0x76, 0x65, 0x5f, 0x62, 0x69, 0x74, 0x5f, 0x23, 0x23, 0x6f, 0x70, 0x28, 0x76, 0x2e, 0x7a, - 0x29, 0x29, 0x3b, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x5c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x5c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x5b, 0x5b, 0x6e, 0x6f, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x5d, 0x5d, 0x20, + 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, + 0x6c, 0x63, 0x5f, 0x77, 0x61, 0x72, 0x70, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x62, + 0x69, 0x74, 0x5f, 0x23, 0x23, 0x6f, 0x70, 0x28, 0x6c, 0x63, 0x5f, 0x23, 0x23, 0x54, 0x23, 0x23, + 0x34, 0x20, 0x76, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x20, + 0x5c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, + 0x20, 0x6c, 0x63, 0x5f, 0x6d, 0x61, 0x6b, 0x65, 0x5f, 0x23, 0x23, 0x54, 0x23, 0x23, 0x34, 0x28, + 0x6c, 0x63, 0x5f, 0x77, 0x61, 0x72, 0x70, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x62, + 0x69, 0x74, 0x5f, 0x23, 0x23, 0x6f, 0x70, 0x28, 0x76, 0x2e, 0x78, 0x29, 0x2c, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x5b, 0x5b, 0x6e, 0x6f, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x5d, 0x5d, 0x20, 0x5f, - 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, - 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x6c, 0x63, 0x5f, 0x77, 0x61, 0x72, 0x70, 0x5f, 0x61, 0x63, - 0x74, 0x69, 0x76, 0x65, 0x5f, 0x62, 0x69, 0x74, 0x5f, 0x23, 0x23, 0x6f, 0x70, 0x28, 0x6c, 0x63, - 0x5f, 0x23, 0x23, 0x54, 0x23, 0x23, 0x34, 0x20, 0x76, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, - 0x65, 0x70, 0x74, 0x20, 0x7b, 0x20, 0x5c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x6c, 0x63, 0x5f, 0x6d, 0x61, 0x6b, 0x65, 0x5f, 0x23, - 0x23, 0x54, 0x23, 0x23, 0x34, 0x28, 0x6c, 0x63, 0x5f, 0x77, 0x61, 0x72, 0x70, 0x5f, 0x61, 0x63, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x77, 0x61, + 0x72, 0x70, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x62, 0x69, 0x74, 0x5f, 0x23, 0x23, + 0x6f, 0x70, 0x28, 0x76, 0x2e, 0x79, 0x29, 0x2c, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x77, 0x61, 0x72, 0x70, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x62, 0x69, 0x74, 0x5f, 0x23, 0x23, 0x6f, 0x70, 0x28, 0x76, 0x2e, - 0x78, 0x29, 0x2c, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x7a, 0x29, 0x2c, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x77, 0x61, 0x72, 0x70, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, - 0x62, 0x69, 0x74, 0x5f, 0x23, 0x23, 0x6f, 0x70, 0x28, 0x76, 0x2e, 0x79, 0x29, 0x2c, 0x20, 0x20, + 0x62, 0x69, 0x74, 0x5f, 0x23, 0x23, 0x6f, 0x70, 0x28, 0x76, 0x2e, 0x77, 0x29, 0x29, 0x3b, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x77, - 0x61, 0x72, 0x70, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x62, 0x69, 0x74, 0x5f, 0x23, - 0x23, 0x6f, 0x70, 0x28, 0x76, 0x2e, 0x7a, 0x29, 0x2c, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x77, 0x61, 0x72, 0x70, 0x5f, 0x61, - 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x62, 0x69, 0x74, 0x5f, 0x23, 0x23, 0x6f, 0x70, 0x28, 0x76, - 0x2e, 0x77, 0x29, 0x29, 0x3b, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x5c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x0a, 0x4c, 0x43, 0x5f, 0x57, 0x41, - 0x52, 0x50, 0x5f, 0x52, 0x45, 0x44, 0x55, 0x43, 0x45, 0x5f, 0x42, 0x49, 0x54, 0x5f, 0x56, 0x45, - 0x43, 0x54, 0x4f, 0x52, 0x28, 0x61, 0x6e, 0x64, 0x2c, 0x20, 0x75, 0x69, 0x6e, 0x74, 0x29, 0x0a, - 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x52, 0x45, 0x44, 0x55, 0x43, 0x45, 0x5f, 0x42, - 0x49, 0x54, 0x5f, 0x56, 0x45, 0x43, 0x54, 0x4f, 0x52, 0x28, 0x6f, 0x72, 0x2c, 0x20, 0x75, 0x69, - 0x6e, 0x74, 0x29, 0x0a, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x52, 0x45, 0x44, 0x55, - 0x43, 0x45, 0x5f, 0x42, 0x49, 0x54, 0x5f, 0x56, 0x45, 0x43, 0x54, 0x4f, 0x52, 0x28, 0x78, 0x6f, - 0x72, 0x2c, 0x20, 0x75, 0x69, 0x6e, 0x74, 0x29, 0x0a, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, - 0x5f, 0x52, 0x45, 0x44, 0x55, 0x43, 0x45, 0x5f, 0x42, 0x49, 0x54, 0x5f, 0x56, 0x45, 0x43, 0x54, - 0x4f, 0x52, 0x28, 0x61, 0x6e, 0x64, 0x2c, 0x20, 0x69, 0x6e, 0x74, 0x29, 0x0a, 0x4c, 0x43, 0x5f, - 0x57, 0x41, 0x52, 0x50, 0x5f, 0x52, 0x45, 0x44, 0x55, 0x43, 0x45, 0x5f, 0x42, 0x49, 0x54, 0x5f, - 0x56, 0x45, 0x43, 0x54, 0x4f, 0x52, 0x28, 0x6f, 0x72, 0x2c, 0x20, 0x69, 0x6e, 0x74, 0x29, 0x0a, - 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x52, 0x45, 0x44, 0x55, 0x43, 0x45, 0x5f, 0x42, - 0x49, 0x54, 0x5f, 0x56, 0x45, 0x43, 0x54, 0x4f, 0x52, 0x28, 0x78, 0x6f, 0x72, 0x2c, 0x20, 0x69, - 0x6e, 0x74, 0x29, 0x0a, 0x0a, 0x23, 0x75, 0x6e, 0x64, 0x65, 0x66, 0x20, 0x4c, 0x43, 0x5f, 0x57, - 0x41, 0x52, 0x50, 0x5f, 0x52, 0x45, 0x44, 0x55, 0x43, 0x45, 0x5f, 0x42, 0x49, 0x54, 0x5f, 0x56, - 0x45, 0x43, 0x54, 0x4f, 0x52, 0x0a, 0x0a, 0x5b, 0x5b, 0x6e, 0x6f, 0x64, 0x69, 0x73, 0x63, 0x61, - 0x72, 0x64, 0x5d, 0x5d, 0x20, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, - 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x6c, 0x63, 0x5f, 0x77, - 0x61, 0x72, 0x70, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x62, 0x69, 0x74, 0x5f, 0x6d, - 0x61, 0x73, 0x6b, 0x28, 0x62, 0x6f, 0x6f, 0x6c, 0x20, 0x70, 0x72, 0x65, 0x64, 0x29, 0x20, 0x6e, + 0x20, 0x20, 0x7d, 0x0a, 0x0a, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x52, 0x45, 0x44, + 0x55, 0x43, 0x45, 0x5f, 0x42, 0x49, 0x54, 0x5f, 0x56, 0x45, 0x43, 0x54, 0x4f, 0x52, 0x28, 0x61, + 0x6e, 0x64, 0x2c, 0x20, 0x75, 0x69, 0x6e, 0x74, 0x29, 0x0a, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, + 0x50, 0x5f, 0x52, 0x45, 0x44, 0x55, 0x43, 0x45, 0x5f, 0x42, 0x49, 0x54, 0x5f, 0x56, 0x45, 0x43, + 0x54, 0x4f, 0x52, 0x28, 0x6f, 0x72, 0x2c, 0x20, 0x75, 0x69, 0x6e, 0x74, 0x29, 0x0a, 0x4c, 0x43, + 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x52, 0x45, 0x44, 0x55, 0x43, 0x45, 0x5f, 0x42, 0x49, 0x54, + 0x5f, 0x56, 0x45, 0x43, 0x54, 0x4f, 0x52, 0x28, 0x78, 0x6f, 0x72, 0x2c, 0x20, 0x75, 0x69, 0x6e, + 0x74, 0x29, 0x0a, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x52, 0x45, 0x44, 0x55, 0x43, + 0x45, 0x5f, 0x42, 0x49, 0x54, 0x5f, 0x56, 0x45, 0x43, 0x54, 0x4f, 0x52, 0x28, 0x61, 0x6e, 0x64, + 0x2c, 0x20, 0x69, 0x6e, 0x74, 0x29, 0x0a, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x52, + 0x45, 0x44, 0x55, 0x43, 0x45, 0x5f, 0x42, 0x49, 0x54, 0x5f, 0x56, 0x45, 0x43, 0x54, 0x4f, 0x52, + 0x28, 0x6f, 0x72, 0x2c, 0x20, 0x69, 0x6e, 0x74, 0x29, 0x0a, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, + 0x50, 0x5f, 0x52, 0x45, 0x44, 0x55, 0x43, 0x45, 0x5f, 0x42, 0x49, 0x54, 0x5f, 0x56, 0x45, 0x43, + 0x54, 0x4f, 0x52, 0x28, 0x78, 0x6f, 0x72, 0x2c, 0x20, 0x69, 0x6e, 0x74, 0x29, 0x0a, 0x0a, 0x23, + 0x75, 0x6e, 0x64, 0x65, 0x66, 0x20, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x52, 0x45, + 0x44, 0x55, 0x43, 0x45, 0x5f, 0x42, 0x49, 0x54, 0x5f, 0x56, 0x45, 0x43, 0x54, 0x4f, 0x52, 0x0a, + 0x0a, 0x5b, 0x5b, 0x6e, 0x6f, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x5d, 0x5d, 0x20, 0x5f, + 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x6c, + 0x63, 0x5f, 0x77, 0x61, 0x72, 0x70, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x62, 0x69, + 0x74, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x28, 0x62, 0x6f, 0x6f, 0x6c, 0x20, 0x70, 0x72, 0x65, 0x64, + 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x6c, 0x63, 0x5f, 0x6d, 0x61, 0x6b, 0x65, 0x5f, + 0x75, 0x69, 0x6e, 0x74, 0x34, 0x28, 0x5f, 0x5f, 0x62, 0x61, 0x6c, 0x6c, 0x6f, 0x74, 0x5f, 0x73, + 0x79, 0x6e, 0x63, 0x28, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x41, 0x43, 0x54, 0x49, + 0x56, 0x45, 0x5f, 0x4d, 0x41, 0x53, 0x4b, 0x2c, 0x20, 0x70, 0x72, 0x65, 0x64, 0x29, 0x2c, 0x20, + 0x30, 0x75, 0x2c, 0x20, 0x30, 0x75, 0x2c, 0x20, 0x30, 0x75, 0x29, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, + 0x5b, 0x5b, 0x6e, 0x6f, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x5d, 0x5d, 0x20, 0x5f, 0x5f, + 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x6c, 0x63, + 0x5f, 0x77, 0x61, 0x72, 0x70, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x5f, 0x62, 0x69, 0x74, 0x73, 0x28, 0x62, 0x6f, 0x6f, 0x6c, 0x20, 0x70, 0x72, 0x65, + 0x64, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x6c, 0x63, 0x5f, 0x70, 0x6f, 0x70, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x28, 0x5f, 0x5f, 0x62, 0x61, 0x6c, 0x6c, 0x6f, 0x74, 0x5f, 0x73, 0x79, + 0x6e, 0x63, 0x28, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x56, + 0x45, 0x5f, 0x4d, 0x41, 0x53, 0x4b, 0x2c, 0x20, 0x70, 0x72, 0x65, 0x64, 0x29, 0x29, 0x3b, 0x0a, + 0x7d, 0x0a, 0x0a, 0x5b, 0x5b, 0x6e, 0x6f, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x5d, 0x5d, + 0x20, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x61, 0x75, 0x74, 0x6f, + 0x20, 0x6c, 0x63, 0x5f, 0x77, 0x61, 0x72, 0x70, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, + 0x61, 0x6c, 0x6c, 0x28, 0x62, 0x6f, 0x6f, 0x6c, 0x20, 0x70, 0x72, 0x65, 0x64, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, - 0x74, 0x75, 0x72, 0x6e, 0x20, 0x6c, 0x63, 0x5f, 0x6d, 0x61, 0x6b, 0x65, 0x5f, 0x75, 0x69, 0x6e, - 0x74, 0x34, 0x28, 0x5f, 0x5f, 0x62, 0x61, 0x6c, 0x6c, 0x6f, 0x74, 0x5f, 0x73, 0x79, 0x6e, 0x63, - 0x28, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x5f, - 0x4d, 0x41, 0x53, 0x4b, 0x2c, 0x20, 0x70, 0x72, 0x65, 0x64, 0x29, 0x2c, 0x20, 0x30, 0x75, 0x2c, - 0x20, 0x30, 0x75, 0x2c, 0x20, 0x30, 0x75, 0x29, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x5b, 0x5b, 0x6e, - 0x6f, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x5d, 0x5d, 0x20, 0x5f, 0x5f, 0x64, 0x65, 0x76, - 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x61, 0x75, 0x74, - 0x6f, 0x20, 0x6c, 0x63, 0x5f, 0x77, 0x61, 0x72, 0x70, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, - 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x62, 0x69, 0x74, 0x73, 0x28, 0x62, 0x6f, 0x6f, 0x6c, - 0x20, 0x70, 0x72, 0x65, 0x64, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, - 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x6c, 0x63, 0x5f, - 0x70, 0x6f, 0x70, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x28, 0x5f, 0x5f, 0x62, 0x61, 0x6c, 0x6c, 0x6f, - 0x74, 0x5f, 0x73, 0x79, 0x6e, 0x63, 0x28, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x41, + 0x74, 0x75, 0x72, 0x6e, 0x20, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x5f, 0x63, 0x61, 0x73, 0x74, + 0x3c, 0x6c, 0x63, 0x5f, 0x62, 0x6f, 0x6f, 0x6c, 0x3e, 0x28, 0x5f, 0x5f, 0x61, 0x6c, 0x6c, 0x5f, + 0x73, 0x79, 0x6e, 0x63, 0x28, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x41, 0x43, 0x54, + 0x49, 0x56, 0x45, 0x5f, 0x4d, 0x41, 0x53, 0x4b, 0x2c, 0x20, 0x70, 0x72, 0x65, 0x64, 0x29, 0x29, + 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x5b, 0x5b, 0x6e, 0x6f, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, + 0x5d, 0x5d, 0x20, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x61, 0x75, + 0x74, 0x6f, 0x20, 0x6c, 0x63, 0x5f, 0x77, 0x61, 0x72, 0x70, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, + 0x65, 0x5f, 0x61, 0x6e, 0x79, 0x28, 0x62, 0x6f, 0x6f, 0x6c, 0x20, 0x70, 0x72, 0x65, 0x64, 0x29, + 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x5f, 0x63, 0x61, + 0x73, 0x74, 0x3c, 0x6c, 0x63, 0x5f, 0x62, 0x6f, 0x6f, 0x6c, 0x3e, 0x28, 0x5f, 0x5f, 0x61, 0x6e, + 0x79, 0x5f, 0x73, 0x79, 0x6e, 0x63, 0x28, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x5f, 0x4d, 0x41, 0x53, 0x4b, 0x2c, 0x20, 0x70, 0x72, 0x65, 0x64, 0x29, 0x29, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x5b, 0x5b, 0x6e, 0x6f, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x5d, 0x5d, 0x20, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, - 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x6c, 0x63, 0x5f, 0x77, - 0x61, 0x72, 0x70, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x6c, 0x6c, 0x28, 0x62, - 0x6f, 0x6f, 0x6c, 0x20, 0x70, 0x72, 0x65, 0x64, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, - 0x70, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, - 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x6c, 0x63, 0x5f, 0x62, - 0x6f, 0x6f, 0x6c, 0x3e, 0x28, 0x5f, 0x5f, 0x61, 0x6c, 0x6c, 0x5f, 0x73, 0x79, 0x6e, 0x63, 0x28, - 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x5f, 0x4d, - 0x41, 0x53, 0x4b, 0x2c, 0x20, 0x70, 0x72, 0x65, 0x64, 0x29, 0x29, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, - 0x5b, 0x5b, 0x6e, 0x6f, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x5d, 0x5d, 0x20, 0x5f, 0x5f, - 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, - 0x61, 0x75, 0x74, 0x6f, 0x20, 0x6c, 0x63, 0x5f, 0x77, 0x61, 0x72, 0x70, 0x5f, 0x61, 0x63, 0x74, - 0x69, 0x76, 0x65, 0x5f, 0x61, 0x6e, 0x79, 0x28, 0x62, 0x6f, 0x6f, 0x6c, 0x20, 0x70, 0x72, 0x65, - 0x64, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x5f, - 0x63, 0x61, 0x73, 0x74, 0x3c, 0x6c, 0x63, 0x5f, 0x62, 0x6f, 0x6f, 0x6c, 0x3e, 0x28, 0x5f, 0x5f, - 0x61, 0x6e, 0x79, 0x5f, 0x73, 0x79, 0x6e, 0x63, 0x28, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, - 0x5f, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x5f, 0x4d, 0x41, 0x53, 0x4b, 0x2c, 0x20, 0x70, 0x72, - 0x65, 0x64, 0x29, 0x29, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x5b, 0x5b, 0x6e, 0x6f, 0x64, 0x69, 0x73, - 0x63, 0x61, 0x72, 0x64, 0x5d, 0x5d, 0x20, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, - 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x6c, 0x63, - 0x5f, 0x77, 0x61, 0x72, 0x70, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x5f, 0x6d, 0x61, 0x73, - 0x6b, 0x28, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x20, 0x72, 0x65, 0x74, 0x3b, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, 0x6d, 0x6f, 0x76, 0x2e, 0x75, 0x33, 0x32, - 0x20, 0x25, 0x30, 0x2c, 0x20, 0x25, 0x6c, 0x61, 0x6e, 0x65, 0x6d, 0x61, 0x73, 0x6b, 0x5f, 0x6c, - 0x74, 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, - 0x72, 0x22, 0x28, 0x72, 0x65, 0x74, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, - 0x74, 0x75, 0x72, 0x6e, 0x20, 0x72, 0x65, 0x74, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x5b, 0x5b, 0x6e, - 0x6f, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x5d, 0x5d, 0x20, 0x5f, 0x5f, 0x64, 0x65, 0x76, - 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x61, 0x75, 0x74, + 0x61, 0x75, 0x74, 0x6f, 0x20, 0x6c, 0x63, 0x5f, 0x77, 0x61, 0x72, 0x70, 0x5f, 0x70, 0x72, 0x65, + 0x66, 0x69, 0x78, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x28, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, + 0x65, 0x70, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, + 0x74, 0x20, 0x72, 0x65, 0x74, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, + 0x6d, 0x6f, 0x76, 0x2e, 0x75, 0x33, 0x32, 0x20, 0x25, 0x30, 0x2c, 0x20, 0x25, 0x6c, 0x61, 0x6e, + 0x65, 0x6d, 0x61, 0x73, 0x6b, 0x5f, 0x6c, 0x74, 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x72, 0x22, 0x28, 0x72, 0x65, 0x74, 0x29, 0x29, 0x3b, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x72, 0x65, 0x74, 0x3b, + 0x0a, 0x7d, 0x0a, 0x0a, 0x5b, 0x5b, 0x6e, 0x6f, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x5d, + 0x5d, 0x20, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x6c, 0x63, 0x5f, 0x77, 0x61, 0x72, 0x70, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x62, 0x69, 0x74, 0x73, 0x28, 0x62, 0x6f, 0x6f, 0x6c, 0x20, 0x70, 0x72, 0x65, 0x64, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, @@ -43618,289 +43343,282 @@ extern "C" const char luisa_cuda_builtin_cuda_device_resource[119200] = { 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5b, 0x5b, 0x6e, 0x6f, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x5d, 0x5d, 0x20, 0x5f, 0x5f, - 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, - 0x61, 0x75, 0x74, 0x6f, 0x20, 0x6c, 0x63, 0x5f, 0x77, 0x61, 0x72, 0x70, 0x5f, 0x72, 0x65, 0x61, - 0x64, 0x5f, 0x6c, 0x61, 0x6e, 0x65, 0x28, 0x6c, 0x63, 0x5f, 0x23, 0x23, 0x54, 0x20, 0x78, 0x2c, - 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x20, 0x69, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, - 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x20, 0x5c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x5f, 0x63, - 0x61, 0x73, 0x74, 0x3c, 0x6c, 0x63, 0x5f, 0x23, 0x23, 0x54, 0x3e, 0x28, 0x5f, 0x5f, 0x73, 0x68, - 0x66, 0x6c, 0x5f, 0x73, 0x79, 0x6e, 0x63, 0x28, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, - 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x5f, 0x4d, 0x41, 0x53, 0x4b, 0x2c, 0x20, 0x78, 0x2c, 0x20, - 0x69, 0x29, 0x29, 0x3b, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x5c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x0a, 0x23, 0x64, 0x65, - 0x66, 0x69, 0x6e, 0x65, 0x20, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x52, 0x45, 0x41, - 0x44, 0x5f, 0x4c, 0x41, 0x4e, 0x45, 0x5f, 0x56, 0x45, 0x43, 0x54, 0x4f, 0x52, 0x32, 0x28, 0x54, - 0x29, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x5b, 0x5b, 0x6e, 0x6f, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x5d, 0x5d, 0x20, 0x5f, - 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, - 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x6c, 0x63, 0x5f, 0x77, 0x61, 0x72, 0x70, 0x5f, 0x72, 0x65, - 0x61, 0x64, 0x5f, 0x6c, 0x61, 0x6e, 0x65, 0x28, 0x6c, 0x63, 0x5f, 0x23, 0x23, 0x54, 0x23, 0x23, - 0x32, 0x20, 0x76, 0x2c, 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x20, 0x69, 0x29, 0x20, - 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x20, 0x5c, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x6c, 0x63, 0x5f, 0x6d, - 0x61, 0x6b, 0x65, 0x5f, 0x23, 0x23, 0x54, 0x23, 0x23, 0x32, 0x28, 0x6c, 0x63, 0x5f, 0x77, 0x61, - 0x72, 0x70, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x6c, 0x61, 0x6e, 0x65, 0x28, 0x76, 0x2e, 0x78, - 0x2c, 0x20, 0x69, 0x29, 0x2c, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x6c, 0x63, + 0x5f, 0x77, 0x61, 0x72, 0x70, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x6c, 0x61, 0x6e, 0x65, 0x28, + 0x6c, 0x63, 0x5f, 0x23, 0x23, 0x54, 0x20, 0x78, 0x2c, 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, + 0x74, 0x20, 0x69, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x20, + 0x5c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, + 0x20, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x6c, 0x63, 0x5f, + 0x23, 0x23, 0x54, 0x3e, 0x28, 0x5f, 0x5f, 0x73, 0x68, 0x66, 0x6c, 0x5f, 0x73, 0x79, 0x6e, 0x63, + 0x28, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x5f, + 0x4d, 0x41, 0x53, 0x4b, 0x2c, 0x20, 0x78, 0x2c, 0x20, 0x69, 0x29, 0x29, 0x3b, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x0a, 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, 0x4c, 0x43, + 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x52, 0x45, 0x41, 0x44, 0x5f, 0x4c, 0x41, 0x4e, 0x45, 0x5f, + 0x56, 0x45, 0x43, 0x54, 0x4f, 0x52, 0x32, 0x28, 0x54, 0x29, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x77, 0x61, - 0x72, 0x70, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x6c, 0x61, 0x6e, 0x65, 0x28, 0x76, 0x2e, 0x79, - 0x2c, 0x20, 0x69, 0x29, 0x29, 0x3b, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x7d, 0x0a, 0x0a, 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, 0x4c, 0x43, 0x5f, 0x57, - 0x41, 0x52, 0x50, 0x5f, 0x52, 0x45, 0x41, 0x44, 0x5f, 0x4c, 0x41, 0x4e, 0x45, 0x5f, 0x56, 0x45, - 0x43, 0x54, 0x4f, 0x52, 0x33, 0x28, 0x54, 0x29, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x5c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5b, 0x5b, 0x6e, 0x6f, 0x64, 0x69, + 0x73, 0x63, 0x61, 0x72, 0x64, 0x5d, 0x5d, 0x20, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, + 0x5f, 0x5f, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x6c, 0x63, 0x5f, 0x77, 0x61, 0x72, 0x70, 0x5f, + 0x72, 0x65, 0x61, 0x64, 0x5f, 0x6c, 0x61, 0x6e, 0x65, 0x28, 0x6c, 0x63, 0x5f, 0x23, 0x23, 0x54, + 0x23, 0x23, 0x32, 0x20, 0x76, 0x2c, 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x20, 0x69, + 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x20, 0x5c, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x6c, 0x63, + 0x5f, 0x6d, 0x61, 0x6b, 0x65, 0x5f, 0x23, 0x23, 0x54, 0x23, 0x23, 0x32, 0x28, 0x6c, 0x63, 0x5f, + 0x77, 0x61, 0x72, 0x70, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x6c, 0x61, 0x6e, 0x65, 0x28, 0x76, + 0x2e, 0x78, 0x2c, 0x20, 0x69, 0x29, 0x2c, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, + 0x77, 0x61, 0x72, 0x70, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x6c, 0x61, 0x6e, 0x65, 0x28, 0x76, + 0x2e, 0x79, 0x2c, 0x20, 0x69, 0x29, 0x29, 0x3b, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x5c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5b, 0x5b, 0x6e, 0x6f, 0x64, 0x69, 0x73, 0x63, - 0x61, 0x72, 0x64, 0x5d, 0x5d, 0x20, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, - 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x6c, 0x63, 0x5f, - 0x77, 0x61, 0x72, 0x70, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x6c, 0x61, 0x6e, 0x65, 0x28, 0x6c, - 0x63, 0x5f, 0x23, 0x23, 0x54, 0x23, 0x23, 0x33, 0x20, 0x76, 0x2c, 0x20, 0x6c, 0x63, 0x5f, 0x75, - 0x69, 0x6e, 0x74, 0x20, 0x69, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, - 0x7b, 0x20, 0x5c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, - 0x72, 0x6e, 0x20, 0x6c, 0x63, 0x5f, 0x6d, 0x61, 0x6b, 0x65, 0x5f, 0x23, 0x23, 0x54, 0x23, 0x23, - 0x33, 0x28, 0x6c, 0x63, 0x5f, 0x77, 0x61, 0x72, 0x70, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x6c, - 0x61, 0x6e, 0x65, 0x28, 0x76, 0x2e, 0x78, 0x2c, 0x20, 0x69, 0x29, 0x2c, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x0a, 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, 0x4c, 0x43, + 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x52, 0x45, 0x41, 0x44, 0x5f, 0x4c, 0x41, 0x4e, 0x45, 0x5f, + 0x56, 0x45, 0x43, 0x54, 0x4f, 0x52, 0x33, 0x28, 0x54, 0x29, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x5c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x77, 0x61, 0x72, 0x70, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x6c, - 0x61, 0x6e, 0x65, 0x28, 0x76, 0x2e, 0x79, 0x2c, 0x20, 0x69, 0x29, 0x2c, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x5c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5b, 0x5b, 0x6e, 0x6f, 0x64, 0x69, + 0x73, 0x63, 0x61, 0x72, 0x64, 0x5d, 0x5d, 0x20, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, + 0x5f, 0x5f, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x6c, 0x63, 0x5f, 0x77, 0x61, 0x72, 0x70, 0x5f, + 0x72, 0x65, 0x61, 0x64, 0x5f, 0x6c, 0x61, 0x6e, 0x65, 0x28, 0x6c, 0x63, 0x5f, 0x23, 0x23, 0x54, + 0x23, 0x23, 0x33, 0x20, 0x76, 0x2c, 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x20, 0x69, + 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x20, 0x5c, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x6c, 0x63, + 0x5f, 0x6d, 0x61, 0x6b, 0x65, 0x5f, 0x23, 0x23, 0x54, 0x23, 0x23, 0x33, 0x28, 0x6c, 0x63, 0x5f, + 0x77, 0x61, 0x72, 0x70, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x6c, 0x61, 0x6e, 0x65, 0x28, 0x76, + 0x2e, 0x78, 0x2c, 0x20, 0x69, 0x29, 0x2c, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x5c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, + 0x77, 0x61, 0x72, 0x70, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x6c, 0x61, 0x6e, 0x65, 0x28, 0x76, + 0x2e, 0x79, 0x2c, 0x20, 0x69, 0x29, 0x2c, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x77, 0x61, 0x72, 0x70, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x6c, - 0x61, 0x6e, 0x65, 0x28, 0x76, 0x2e, 0x7a, 0x2c, 0x20, 0x69, 0x29, 0x29, 0x3b, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, + 0x77, 0x61, 0x72, 0x70, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x6c, 0x61, 0x6e, 0x65, 0x28, 0x76, + 0x2e, 0x7a, 0x2c, 0x20, 0x69, 0x29, 0x29, 0x3b, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x5c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x0a, 0x23, 0x64, 0x65, 0x66, 0x69, - 0x6e, 0x65, 0x20, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x52, 0x45, 0x41, 0x44, 0x5f, - 0x4c, 0x41, 0x4e, 0x45, 0x5f, 0x56, 0x45, 0x43, 0x54, 0x4f, 0x52, 0x34, 0x28, 0x54, 0x29, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x0a, 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, 0x4c, 0x43, + 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x52, 0x45, 0x41, 0x44, 0x5f, 0x4c, 0x41, 0x4e, 0x45, 0x5f, + 0x56, 0x45, 0x43, 0x54, 0x4f, 0x52, 0x34, 0x28, 0x54, 0x29, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5b, - 0x5b, 0x6e, 0x6f, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x5d, 0x5d, 0x20, 0x5f, 0x5f, 0x64, - 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x61, - 0x75, 0x74, 0x6f, 0x20, 0x6c, 0x63, 0x5f, 0x77, 0x61, 0x72, 0x70, 0x5f, 0x72, 0x65, 0x61, 0x64, - 0x5f, 0x6c, 0x61, 0x6e, 0x65, 0x28, 0x6c, 0x63, 0x5f, 0x23, 0x23, 0x54, 0x23, 0x23, 0x34, 0x20, - 0x76, 0x2c, 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x20, 0x69, 0x29, 0x20, 0x6e, 0x6f, - 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x20, 0x5c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x6c, 0x63, 0x5f, 0x6d, 0x61, 0x6b, - 0x65, 0x5f, 0x23, 0x23, 0x54, 0x23, 0x23, 0x34, 0x28, 0x6c, 0x63, 0x5f, 0x77, 0x61, 0x72, 0x70, - 0x5f, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x6c, 0x61, 0x6e, 0x65, 0x28, 0x76, 0x2e, 0x78, 0x2c, 0x20, - 0x69, 0x29, 0x2c, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x5c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5b, 0x5b, 0x6e, 0x6f, 0x64, 0x69, + 0x73, 0x63, 0x61, 0x72, 0x64, 0x5d, 0x5d, 0x20, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, + 0x5f, 0x5f, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x6c, 0x63, 0x5f, 0x77, 0x61, 0x72, 0x70, 0x5f, + 0x72, 0x65, 0x61, 0x64, 0x5f, 0x6c, 0x61, 0x6e, 0x65, 0x28, 0x6c, 0x63, 0x5f, 0x23, 0x23, 0x54, + 0x23, 0x23, 0x34, 0x20, 0x76, 0x2c, 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x20, 0x69, + 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x20, 0x5c, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x6c, 0x63, + 0x5f, 0x6d, 0x61, 0x6b, 0x65, 0x5f, 0x23, 0x23, 0x54, 0x23, 0x23, 0x34, 0x28, 0x6c, 0x63, 0x5f, + 0x77, 0x61, 0x72, 0x70, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x6c, 0x61, 0x6e, 0x65, 0x28, 0x76, + 0x2e, 0x78, 0x2c, 0x20, 0x69, 0x29, 0x2c, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x77, 0x61, 0x72, 0x70, - 0x5f, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x6c, 0x61, 0x6e, 0x65, 0x28, 0x76, 0x2e, 0x79, 0x2c, 0x20, - 0x69, 0x29, 0x2c, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, + 0x77, 0x61, 0x72, 0x70, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x6c, 0x61, 0x6e, 0x65, 0x28, 0x76, + 0x2e, 0x79, 0x2c, 0x20, 0x69, 0x29, 0x2c, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x77, 0x61, 0x72, 0x70, - 0x5f, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x6c, 0x61, 0x6e, 0x65, 0x28, 0x76, 0x2e, 0x7a, 0x2c, 0x20, - 0x69, 0x29, 0x2c, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, + 0x77, 0x61, 0x72, 0x70, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x6c, 0x61, 0x6e, 0x65, 0x28, 0x76, + 0x2e, 0x7a, 0x2c, 0x20, 0x69, 0x29, 0x2c, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x77, 0x61, 0x72, 0x70, - 0x5f, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x6c, 0x61, 0x6e, 0x65, 0x28, 0x76, 0x2e, 0x77, 0x2c, 0x20, - 0x69, 0x29, 0x29, 0x3b, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, + 0x77, 0x61, 0x72, 0x70, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x6c, 0x61, 0x6e, 0x65, 0x28, 0x76, + 0x2e, 0x77, 0x2c, 0x20, 0x69, 0x29, 0x29, 0x3b, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, - 0x0a, 0x0a, 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, - 0x50, 0x5f, 0x52, 0x45, 0x41, 0x44, 0x5f, 0x4c, 0x41, 0x4e, 0x45, 0x28, 0x54, 0x29, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x5c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, - 0x5f, 0x52, 0x45, 0x41, 0x44, 0x5f, 0x4c, 0x41, 0x4e, 0x45, 0x5f, 0x53, 0x43, 0x41, 0x4c, 0x41, - 0x52, 0x28, 0x54, 0x29, 0x20, 0x20, 0x5c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x4c, 0x43, 0x5f, 0x57, - 0x41, 0x52, 0x50, 0x5f, 0x52, 0x45, 0x41, 0x44, 0x5f, 0x4c, 0x41, 0x4e, 0x45, 0x5f, 0x56, 0x45, - 0x43, 0x54, 0x4f, 0x52, 0x32, 0x28, 0x54, 0x29, 0x20, 0x5c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x4c, - 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x52, 0x45, 0x41, 0x44, 0x5f, 0x4c, 0x41, 0x4e, 0x45, - 0x5f, 0x56, 0x45, 0x43, 0x54, 0x4f, 0x52, 0x33, 0x28, 0x54, 0x29, 0x20, 0x5c, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x52, 0x45, 0x41, 0x44, 0x5f, 0x4c, - 0x41, 0x4e, 0x45, 0x5f, 0x56, 0x45, 0x43, 0x54, 0x4f, 0x52, 0x34, 0x28, 0x54, 0x29, 0x0a, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x0a, 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, 0x4c, 0x43, + 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x52, 0x45, 0x41, 0x44, 0x5f, 0x4c, 0x41, 0x4e, 0x45, 0x28, + 0x54, 0x29, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x4c, 0x43, 0x5f, + 0x57, 0x41, 0x52, 0x50, 0x5f, 0x52, 0x45, 0x41, 0x44, 0x5f, 0x4c, 0x41, 0x4e, 0x45, 0x5f, 0x53, + 0x43, 0x41, 0x4c, 0x41, 0x52, 0x28, 0x54, 0x29, 0x20, 0x20, 0x5c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x52, 0x45, 0x41, 0x44, 0x5f, 0x4c, 0x41, 0x4e, - 0x45, 0x28, 0x62, 0x6f, 0x6f, 0x6c, 0x29, 0x0a, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, - 0x52, 0x45, 0x41, 0x44, 0x5f, 0x4c, 0x41, 0x4e, 0x45, 0x28, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x29, - 0x0a, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x52, 0x45, 0x41, 0x44, 0x5f, 0x4c, 0x41, - 0x4e, 0x45, 0x28, 0x75, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x29, 0x0a, 0x4c, 0x43, 0x5f, 0x57, 0x41, - 0x52, 0x50, 0x5f, 0x52, 0x45, 0x41, 0x44, 0x5f, 0x4c, 0x41, 0x4e, 0x45, 0x28, 0x69, 0x6e, 0x74, - 0x29, 0x0a, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x52, 0x45, 0x41, 0x44, 0x5f, 0x4c, - 0x41, 0x4e, 0x45, 0x28, 0x75, 0x69, 0x6e, 0x74, 0x29, 0x0a, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, - 0x50, 0x5f, 0x52, 0x45, 0x41, 0x44, 0x5f, 0x4c, 0x41, 0x4e, 0x45, 0x28, 0x6c, 0x6f, 0x6e, 0x67, - 0x29, 0x0a, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x52, 0x45, 0x41, 0x44, 0x5f, 0x4c, - 0x41, 0x4e, 0x45, 0x28, 0x75, 0x6c, 0x6f, 0x6e, 0x67, 0x29, 0x0a, 0x4c, 0x43, 0x5f, 0x57, 0x41, - 0x52, 0x50, 0x5f, 0x52, 0x45, 0x41, 0x44, 0x5f, 0x4c, 0x41, 0x4e, 0x45, 0x28, 0x66, 0x6c, 0x6f, - 0x61, 0x74, 0x29, 0x0a, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x52, 0x45, 0x41, 0x44, - 0x5f, 0x4c, 0x41, 0x4e, 0x45, 0x28, 0x68, 0x61, 0x6c, 0x66, 0x29, 0x0a, 0x2f, 0x2f, 0x4c, 0x43, + 0x45, 0x5f, 0x56, 0x45, 0x43, 0x54, 0x4f, 0x52, 0x32, 0x28, 0x54, 0x29, 0x20, 0x5c, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x52, 0x45, 0x41, 0x44, 0x5f, + 0x4c, 0x41, 0x4e, 0x45, 0x5f, 0x56, 0x45, 0x43, 0x54, 0x4f, 0x52, 0x33, 0x28, 0x54, 0x29, 0x20, + 0x5c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x52, 0x45, + 0x41, 0x44, 0x5f, 0x4c, 0x41, 0x4e, 0x45, 0x5f, 0x56, 0x45, 0x43, 0x54, 0x4f, 0x52, 0x34, 0x28, + 0x54, 0x29, 0x0a, 0x0a, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x52, 0x45, 0x41, 0x44, + 0x5f, 0x4c, 0x41, 0x4e, 0x45, 0x28, 0x62, 0x6f, 0x6f, 0x6c, 0x29, 0x0a, 0x4c, 0x43, 0x5f, 0x57, + 0x41, 0x52, 0x50, 0x5f, 0x52, 0x45, 0x41, 0x44, 0x5f, 0x4c, 0x41, 0x4e, 0x45, 0x28, 0x73, 0x68, + 0x6f, 0x72, 0x74, 0x29, 0x0a, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x52, 0x45, 0x41, + 0x44, 0x5f, 0x4c, 0x41, 0x4e, 0x45, 0x28, 0x75, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x29, 0x0a, 0x4c, + 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x52, 0x45, 0x41, 0x44, 0x5f, 0x4c, 0x41, 0x4e, 0x45, + 0x28, 0x69, 0x6e, 0x74, 0x29, 0x0a, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x52, 0x45, + 0x41, 0x44, 0x5f, 0x4c, 0x41, 0x4e, 0x45, 0x28, 0x75, 0x69, 0x6e, 0x74, 0x29, 0x0a, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x52, 0x45, 0x41, 0x44, 0x5f, 0x4c, 0x41, 0x4e, 0x45, 0x28, - 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x29, 0x2f, 0x2f, 0x20, 0x54, 0x4f, 0x44, 0x4f, 0x0a, 0x0a, - 0x23, 0x75, 0x6e, 0x64, 0x65, 0x66, 0x20, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x52, - 0x45, 0x41, 0x44, 0x5f, 0x4c, 0x41, 0x4e, 0x45, 0x5f, 0x53, 0x43, 0x41, 0x4c, 0x41, 0x52, 0x0a, - 0x23, 0x75, 0x6e, 0x64, 0x65, 0x66, 0x20, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x52, - 0x45, 0x41, 0x44, 0x5f, 0x4c, 0x41, 0x4e, 0x45, 0x5f, 0x56, 0x45, 0x43, 0x54, 0x4f, 0x52, 0x32, - 0x0a, 0x23, 0x75, 0x6e, 0x64, 0x65, 0x66, 0x20, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, - 0x52, 0x45, 0x41, 0x44, 0x5f, 0x4c, 0x41, 0x4e, 0x45, 0x5f, 0x56, 0x45, 0x43, 0x54, 0x4f, 0x52, - 0x33, 0x0a, 0x23, 0x75, 0x6e, 0x64, 0x65, 0x66, 0x20, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, - 0x5f, 0x52, 0x45, 0x41, 0x44, 0x5f, 0x4c, 0x41, 0x4e, 0x45, 0x5f, 0x56, 0x45, 0x43, 0x54, 0x4f, - 0x52, 0x34, 0x0a, 0x23, 0x75, 0x6e, 0x64, 0x65, 0x66, 0x20, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, - 0x50, 0x5f, 0x52, 0x45, 0x41, 0x44, 0x5f, 0x4c, 0x41, 0x4e, 0x45, 0x0a, 0x0a, 0x5b, 0x5b, 0x6e, - 0x6f, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x5d, 0x5d, 0x20, 0x5f, 0x5f, 0x64, 0x65, 0x76, - 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x61, 0x75, 0x74, - 0x6f, 0x20, 0x6c, 0x63, 0x5f, 0x77, 0x61, 0x72, 0x70, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x6c, - 0x61, 0x6e, 0x65, 0x28, 0x6c, 0x63, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x32, 0x78, 0x32, 0x20, - 0x6d, 0x2c, 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x20, 0x69, 0x29, 0x20, 0x6e, 0x6f, - 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, - 0x75, 0x72, 0x6e, 0x20, 0x6c, 0x63, 0x5f, 0x6d, 0x61, 0x6b, 0x65, 0x5f, 0x66, 0x6c, 0x6f, 0x61, - 0x74, 0x32, 0x78, 0x32, 0x28, 0x6c, 0x63, 0x5f, 0x77, 0x61, 0x72, 0x70, 0x5f, 0x72, 0x65, 0x61, - 0x64, 0x5f, 0x6c, 0x61, 0x6e, 0x65, 0x28, 0x6d, 0x5b, 0x30, 0x5d, 0x2c, 0x20, 0x69, 0x29, 0x2c, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, - 0x77, 0x61, 0x72, 0x70, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x6c, 0x61, 0x6e, 0x65, 0x28, 0x6d, - 0x5b, 0x31, 0x5d, 0x2c, 0x20, 0x69, 0x29, 0x29, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x5b, 0x5b, 0x6e, - 0x6f, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x5d, 0x5d, 0x20, 0x5f, 0x5f, 0x64, 0x65, 0x76, - 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x61, 0x75, 0x74, - 0x6f, 0x20, 0x6c, 0x63, 0x5f, 0x77, 0x61, 0x72, 0x70, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x6c, - 0x61, 0x6e, 0x65, 0x28, 0x6c, 0x63, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x33, 0x78, 0x33, 0x20, - 0x6d, 0x2c, 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x20, 0x69, 0x29, 0x20, 0x6e, 0x6f, - 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, - 0x75, 0x72, 0x6e, 0x20, 0x6c, 0x63, 0x5f, 0x6d, 0x61, 0x6b, 0x65, 0x5f, 0x66, 0x6c, 0x6f, 0x61, - 0x74, 0x33, 0x78, 0x33, 0x28, 0x6c, 0x63, 0x5f, 0x77, 0x61, 0x72, 0x70, 0x5f, 0x72, 0x65, 0x61, - 0x64, 0x5f, 0x6c, 0x61, 0x6e, 0x65, 0x28, 0x6d, 0x5b, 0x30, 0x5d, 0x2c, 0x20, 0x69, 0x29, 0x2c, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, - 0x77, 0x61, 0x72, 0x70, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x6c, 0x61, 0x6e, 0x65, 0x28, 0x6d, - 0x5b, 0x31, 0x5d, 0x2c, 0x20, 0x69, 0x29, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x6c, 0x6f, 0x6e, 0x67, 0x29, 0x0a, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x52, 0x45, + 0x41, 0x44, 0x5f, 0x4c, 0x41, 0x4e, 0x45, 0x28, 0x75, 0x6c, 0x6f, 0x6e, 0x67, 0x29, 0x0a, 0x4c, + 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x52, 0x45, 0x41, 0x44, 0x5f, 0x4c, 0x41, 0x4e, 0x45, + 0x28, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x29, 0x0a, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, + 0x52, 0x45, 0x41, 0x44, 0x5f, 0x4c, 0x41, 0x4e, 0x45, 0x28, 0x68, 0x61, 0x6c, 0x66, 0x29, 0x0a, + 0x2f, 0x2f, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x52, 0x45, 0x41, 0x44, 0x5f, 0x4c, + 0x41, 0x4e, 0x45, 0x28, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x29, 0x2f, 0x2f, 0x20, 0x54, 0x4f, + 0x44, 0x4f, 0x0a, 0x0a, 0x23, 0x75, 0x6e, 0x64, 0x65, 0x66, 0x20, 0x4c, 0x43, 0x5f, 0x57, 0x41, + 0x52, 0x50, 0x5f, 0x52, 0x45, 0x41, 0x44, 0x5f, 0x4c, 0x41, 0x4e, 0x45, 0x5f, 0x53, 0x43, 0x41, + 0x4c, 0x41, 0x52, 0x0a, 0x23, 0x75, 0x6e, 0x64, 0x65, 0x66, 0x20, 0x4c, 0x43, 0x5f, 0x57, 0x41, + 0x52, 0x50, 0x5f, 0x52, 0x45, 0x41, 0x44, 0x5f, 0x4c, 0x41, 0x4e, 0x45, 0x5f, 0x56, 0x45, 0x43, + 0x54, 0x4f, 0x52, 0x32, 0x0a, 0x23, 0x75, 0x6e, 0x64, 0x65, 0x66, 0x20, 0x4c, 0x43, 0x5f, 0x57, + 0x41, 0x52, 0x50, 0x5f, 0x52, 0x45, 0x41, 0x44, 0x5f, 0x4c, 0x41, 0x4e, 0x45, 0x5f, 0x56, 0x45, + 0x43, 0x54, 0x4f, 0x52, 0x33, 0x0a, 0x23, 0x75, 0x6e, 0x64, 0x65, 0x66, 0x20, 0x4c, 0x43, 0x5f, + 0x57, 0x41, 0x52, 0x50, 0x5f, 0x52, 0x45, 0x41, 0x44, 0x5f, 0x4c, 0x41, 0x4e, 0x45, 0x5f, 0x56, + 0x45, 0x43, 0x54, 0x4f, 0x52, 0x34, 0x0a, 0x23, 0x75, 0x6e, 0x64, 0x65, 0x66, 0x20, 0x4c, 0x43, + 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x52, 0x45, 0x41, 0x44, 0x5f, 0x4c, 0x41, 0x4e, 0x45, 0x0a, + 0x0a, 0x5b, 0x5b, 0x6e, 0x6f, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x5d, 0x5d, 0x20, 0x5f, + 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x6c, + 0x63, 0x5f, 0x77, 0x61, 0x72, 0x70, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x6c, 0x61, 0x6e, 0x65, + 0x28, 0x6c, 0x63, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x32, 0x78, 0x32, 0x20, 0x6d, 0x2c, 0x20, + 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x20, 0x69, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, + 0x65, 0x70, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, + 0x20, 0x6c, 0x63, 0x5f, 0x6d, 0x61, 0x6b, 0x65, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x32, 0x78, + 0x32, 0x28, 0x6c, 0x63, 0x5f, 0x77, 0x61, 0x72, 0x70, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x6c, + 0x61, 0x6e, 0x65, 0x28, 0x6d, 0x5b, 0x30, 0x5d, 0x2c, 0x20, 0x69, 0x29, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x77, 0x61, 0x72, 0x70, 0x5f, 0x72, 0x65, 0x61, - 0x64, 0x5f, 0x6c, 0x61, 0x6e, 0x65, 0x28, 0x6d, 0x5b, 0x32, 0x5d, 0x2c, 0x20, 0x69, 0x29, 0x29, - 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x5b, 0x5b, 0x6e, 0x6f, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, - 0x5d, 0x5d, 0x20, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, - 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x6c, 0x63, 0x5f, 0x77, 0x61, 0x72, - 0x70, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x6c, 0x61, 0x6e, 0x65, 0x28, 0x6c, 0x63, 0x5f, 0x66, - 0x6c, 0x6f, 0x61, 0x74, 0x34, 0x78, 0x34, 0x20, 0x6d, 0x2c, 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x69, - 0x6e, 0x74, 0x20, 0x69, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x6c, 0x63, 0x5f, 0x6d, - 0x61, 0x6b, 0x65, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x34, 0x78, 0x34, 0x28, 0x6c, 0x63, 0x5f, - 0x77, 0x61, 0x72, 0x70, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x6c, 0x61, 0x6e, 0x65, 0x28, 0x6d, - 0x5b, 0x30, 0x5d, 0x2c, 0x20, 0x69, 0x29, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x77, 0x61, 0x72, + 0x70, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x6c, 0x61, 0x6e, 0x65, 0x28, 0x6d, 0x5b, 0x31, 0x5d, + 0x2c, 0x20, 0x69, 0x29, 0x29, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x5b, 0x5b, 0x6e, 0x6f, 0x64, 0x69, + 0x73, 0x63, 0x61, 0x72, 0x64, 0x5d, 0x5d, 0x20, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, + 0x5f, 0x5f, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x6c, 0x63, 0x5f, 0x77, 0x61, 0x72, 0x70, 0x5f, + 0x72, 0x65, 0x61, 0x64, 0x5f, 0x6c, 0x61, 0x6e, 0x65, 0x28, 0x6c, 0x63, 0x5f, 0x66, 0x6c, 0x6f, + 0x61, 0x74, 0x33, 0x78, 0x33, 0x20, 0x6d, 0x2c, 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, + 0x20, 0x69, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x6c, 0x63, 0x5f, 0x6d, 0x61, 0x6b, + 0x65, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x33, 0x78, 0x33, 0x28, 0x6c, 0x63, 0x5f, 0x77, 0x61, + 0x72, 0x70, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x6c, 0x61, 0x6e, 0x65, 0x28, 0x6d, 0x5b, 0x30, + 0x5d, 0x2c, 0x20, 0x69, 0x29, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x77, 0x61, 0x72, 0x70, 0x5f, 0x72, 0x65, 0x61, - 0x64, 0x5f, 0x6c, 0x61, 0x6e, 0x65, 0x28, 0x6d, 0x5b, 0x31, 0x5d, 0x2c, 0x20, 0x69, 0x29, 0x2c, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, - 0x77, 0x61, 0x72, 0x70, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x6c, 0x61, 0x6e, 0x65, 0x28, 0x6d, - 0x5b, 0x32, 0x5d, 0x2c, 0x20, 0x69, 0x29, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x77, 0x61, 0x72, 0x70, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x5f, + 0x6c, 0x61, 0x6e, 0x65, 0x28, 0x6d, 0x5b, 0x31, 0x5d, 0x2c, 0x20, 0x69, 0x29, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x77, 0x61, 0x72, 0x70, 0x5f, 0x72, 0x65, 0x61, - 0x64, 0x5f, 0x6c, 0x61, 0x6e, 0x65, 0x28, 0x6d, 0x5b, 0x33, 0x5d, 0x2c, 0x20, 0x69, 0x29, 0x29, - 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x3c, 0x74, 0x79, - 0x70, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x54, 0x3e, 0x0a, 0x5b, 0x5b, 0x6e, 0x6f, 0x64, 0x69, - 0x73, 0x63, 0x61, 0x72, 0x64, 0x5d, 0x5d, 0x20, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, - 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x6c, - 0x63, 0x5f, 0x77, 0x61, 0x72, 0x70, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x66, 0x69, 0x72, 0x73, - 0x74, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x6c, 0x61, 0x6e, 0x65, 0x28, 0x54, 0x20, - 0x78, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x6c, 0x63, 0x5f, 0x77, 0x61, 0x72, 0x70, - 0x5f, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x6c, 0x61, 0x6e, 0x65, 0x28, 0x78, 0x2c, 0x20, 0x6c, 0x63, - 0x5f, 0x77, 0x61, 0x72, 0x70, 0x5f, 0x66, 0x69, 0x72, 0x73, 0x74, 0x5f, 0x61, 0x63, 0x74, 0x69, - 0x76, 0x65, 0x5f, 0x6c, 0x61, 0x6e, 0x65, 0x28, 0x29, 0x29, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x74, - 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x3c, 0x74, 0x79, 0x70, 0x65, 0x6e, 0x61, 0x6d, 0x65, - 0x20, 0x54, 0x3e, 0x0a, 0x5b, 0x5b, 0x6e, 0x6f, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x5d, - 0x5d, 0x20, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, - 0x69, 0x6e, 0x65, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x6c, 0x63, 0x5f, 0x77, 0x61, 0x72, 0x70, - 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x6d, 0x69, 0x6e, 0x5f, 0x69, 0x6d, 0x70, 0x6c, - 0x28, 0x54, 0x20, 0x78, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x6c, 0x63, 0x5f, 0x77, - 0x61, 0x72, 0x70, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x72, 0x65, 0x64, 0x75, 0x63, - 0x65, 0x5f, 0x69, 0x6d, 0x70, 0x6c, 0x28, 0x78, 0x2c, 0x20, 0x5b, 0x5d, 0x28, 0x54, 0x20, 0x61, - 0x2c, 0x20, 0x54, 0x20, 0x62, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, - 0x7b, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x6c, 0x63, 0x5f, 0x6d, 0x69, 0x6e, 0x28, - 0x61, 0x2c, 0x20, 0x62, 0x29, 0x3b, 0x20, 0x7d, 0x29, 0x3b, 0x0a, 0x7d, 0x0a, 0x74, 0x65, 0x6d, - 0x70, 0x6c, 0x61, 0x74, 0x65, 0x3c, 0x74, 0x79, 0x70, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x54, - 0x3e, 0x0a, 0x5b, 0x5b, 0x6e, 0x6f, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x5d, 0x5d, 0x20, - 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, - 0x65, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x6c, 0x63, 0x5f, 0x77, 0x61, 0x72, 0x70, 0x5f, 0x61, - 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x69, 0x6d, 0x70, 0x6c, 0x28, 0x54, - 0x20, 0x78, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x6c, 0x63, 0x5f, 0x77, 0x61, 0x72, - 0x70, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x72, 0x65, 0x64, 0x75, 0x63, 0x65, 0x5f, - 0x69, 0x6d, 0x70, 0x6c, 0x28, 0x78, 0x2c, 0x20, 0x5b, 0x5d, 0x28, 0x54, 0x20, 0x61, 0x2c, 0x20, - 0x54, 0x20, 0x62, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x20, - 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x6c, 0x63, 0x5f, 0x6d, 0x61, 0x78, 0x28, 0x61, 0x2c, - 0x20, 0x62, 0x29, 0x3b, 0x20, 0x7d, 0x29, 0x3b, 0x0a, 0x7d, 0x0a, 0x74, 0x65, 0x6d, 0x70, 0x6c, - 0x61, 0x74, 0x65, 0x3c, 0x74, 0x79, 0x70, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x54, 0x3e, 0x0a, - 0x5b, 0x5b, 0x6e, 0x6f, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x5d, 0x5d, 0x20, 0x5f, 0x5f, - 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, - 0x61, 0x75, 0x74, 0x6f, 0x20, 0x6c, 0x63, 0x5f, 0x77, 0x61, 0x72, 0x70, 0x5f, 0x61, 0x63, 0x74, - 0x69, 0x76, 0x65, 0x5f, 0x73, 0x75, 0x6d, 0x5f, 0x69, 0x6d, 0x70, 0x6c, 0x28, 0x54, 0x20, 0x78, - 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x6c, 0x63, 0x5f, 0x77, 0x61, 0x72, 0x70, 0x5f, - 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x72, 0x65, 0x64, 0x75, 0x63, 0x65, 0x5f, 0x69, 0x6d, - 0x70, 0x6c, 0x28, 0x78, 0x2c, 0x20, 0x5b, 0x5d, 0x28, 0x54, 0x20, 0x61, 0x2c, 0x20, 0x54, 0x20, - 0x62, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x20, 0x72, 0x65, - 0x74, 0x75, 0x72, 0x6e, 0x20, 0x61, 0x20, 0x2b, 0x20, 0x62, 0x3b, 0x20, 0x7d, 0x29, 0x3b, 0x0a, - 0x7d, 0x0a, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x3c, 0x74, 0x79, 0x70, 0x65, 0x6e, - 0x61, 0x6d, 0x65, 0x20, 0x54, 0x3e, 0x0a, 0x5b, 0x5b, 0x6e, 0x6f, 0x64, 0x69, 0x73, 0x63, 0x61, - 0x72, 0x64, 0x5d, 0x5d, 0x20, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, - 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x6c, 0x63, 0x5f, 0x77, - 0x61, 0x72, 0x70, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x64, 0x75, - 0x63, 0x74, 0x5f, 0x69, 0x6d, 0x70, 0x6c, 0x28, 0x54, 0x20, 0x78, 0x29, 0x20, 0x6e, 0x6f, 0x65, - 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, - 0x72, 0x6e, 0x20, 0x6c, 0x63, 0x5f, 0x77, 0x61, 0x72, 0x70, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, - 0x65, 0x5f, 0x72, 0x65, 0x64, 0x75, 0x63, 0x65, 0x5f, 0x69, 0x6d, 0x70, 0x6c, 0x28, 0x78, 0x2c, - 0x20, 0x5b, 0x5d, 0x28, 0x54, 0x20, 0x61, 0x2c, 0x20, 0x54, 0x20, 0x62, 0x29, 0x20, 0x6e, 0x6f, - 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, - 0x61, 0x20, 0x2a, 0x20, 0x62, 0x3b, 0x20, 0x7d, 0x29, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x23, 0x64, - 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x41, 0x43, - 0x54, 0x49, 0x56, 0x45, 0x5f, 0x52, 0x45, 0x44, 0x55, 0x43, 0x45, 0x5f, 0x53, 0x43, 0x41, 0x4c, - 0x41, 0x52, 0x28, 0x6f, 0x70, 0x2c, 0x20, 0x54, 0x29, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x77, 0x61, + 0x72, 0x70, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x6c, 0x61, 0x6e, 0x65, 0x28, 0x6d, 0x5b, 0x32, + 0x5d, 0x2c, 0x20, 0x69, 0x29, 0x29, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x5b, 0x5b, 0x6e, 0x6f, 0x64, + 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x5d, 0x5d, 0x20, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, + 0x65, 0x5f, 0x5f, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x6c, 0x63, 0x5f, 0x77, 0x61, 0x72, 0x70, + 0x5f, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x6c, 0x61, 0x6e, 0x65, 0x28, 0x6c, 0x63, 0x5f, 0x66, 0x6c, + 0x6f, 0x61, 0x74, 0x34, 0x78, 0x34, 0x20, 0x6d, 0x2c, 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, + 0x74, 0x20, 0x69, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x6c, 0x63, 0x5f, 0x6d, 0x61, + 0x6b, 0x65, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x34, 0x78, 0x34, 0x28, 0x6c, 0x63, 0x5f, 0x77, + 0x61, 0x72, 0x70, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x6c, 0x61, 0x6e, 0x65, 0x28, 0x6d, 0x5b, + 0x30, 0x5d, 0x2c, 0x20, 0x69, 0x29, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x77, 0x61, 0x72, 0x70, 0x5f, 0x72, 0x65, 0x61, 0x64, + 0x5f, 0x6c, 0x61, 0x6e, 0x65, 0x28, 0x6d, 0x5b, 0x31, 0x5d, 0x2c, 0x20, 0x69, 0x29, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x5c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5b, 0x5b, 0x6e, 0x6f, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, - 0x64, 0x5d, 0x5d, 0x20, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, - 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x6c, 0x63, 0x5f, 0x77, 0x61, - 0x72, 0x70, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x23, 0x23, 0x6f, 0x70, 0x28, 0x6c, - 0x63, 0x5f, 0x23, 0x23, 0x54, 0x20, 0x78, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, - 0x74, 0x20, 0x7b, 0x20, 0x5c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, - 0x74, 0x75, 0x72, 0x6e, 0x20, 0x6c, 0x63, 0x5f, 0x77, 0x61, 0x72, 0x70, 0x5f, 0x61, 0x63, 0x74, - 0x69, 0x76, 0x65, 0x5f, 0x23, 0x23, 0x6f, 0x70, 0x23, 0x23, 0x5f, 0x69, 0x6d, 0x70, 0x6c, 0x3c, - 0x6c, 0x63, 0x5f, 0x23, 0x23, 0x54, 0x3e, 0x28, 0x78, 0x29, 0x3b, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x77, + 0x61, 0x72, 0x70, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x6c, 0x61, 0x6e, 0x65, 0x28, 0x6d, 0x5b, + 0x32, 0x5d, 0x2c, 0x20, 0x69, 0x29, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, - 0x0a, 0x23, 0x69, 0x66, 0x20, 0x5f, 0x5f, 0x43, 0x55, 0x44, 0x41, 0x5f, 0x41, 0x52, 0x43, 0x48, - 0x5f, 0x5f, 0x20, 0x3e, 0x3d, 0x20, 0x38, 0x30, 0x30, 0x0a, 0x5b, 0x5b, 0x6e, 0x6f, 0x64, 0x69, + 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x77, 0x61, 0x72, 0x70, 0x5f, 0x72, 0x65, 0x61, 0x64, + 0x5f, 0x6c, 0x61, 0x6e, 0x65, 0x28, 0x6d, 0x5b, 0x33, 0x5d, 0x2c, 0x20, 0x69, 0x29, 0x29, 0x3b, + 0x0a, 0x7d, 0x0a, 0x0a, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x3c, 0x74, 0x79, 0x70, + 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x54, 0x3e, 0x0a, 0x5b, 0x5b, 0x6e, 0x6f, 0x64, 0x69, 0x73, + 0x63, 0x61, 0x72, 0x64, 0x5d, 0x5d, 0x20, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, + 0x5f, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x6c, 0x63, 0x5f, 0x77, 0x61, 0x72, 0x70, 0x5f, 0x72, + 0x65, 0x61, 0x64, 0x5f, 0x66, 0x69, 0x72, 0x73, 0x74, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, + 0x5f, 0x6c, 0x61, 0x6e, 0x65, 0x28, 0x54, 0x20, 0x78, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, + 0x65, 0x70, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, + 0x20, 0x6c, 0x63, 0x5f, 0x77, 0x61, 0x72, 0x70, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x6c, 0x61, + 0x6e, 0x65, 0x28, 0x78, 0x2c, 0x20, 0x6c, 0x63, 0x5f, 0x77, 0x61, 0x72, 0x70, 0x5f, 0x66, 0x69, + 0x72, 0x73, 0x74, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x6c, 0x61, 0x6e, 0x65, 0x28, + 0x29, 0x29, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x3c, + 0x74, 0x79, 0x70, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x54, 0x3e, 0x0a, 0x5b, 0x5b, 0x6e, 0x6f, + 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x5d, 0x5d, 0x20, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, + 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x6c, 0x63, 0x5f, 0x77, 0x61, 0x72, + 0x70, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x6d, 0x69, 0x6e, 0x5f, 0x69, 0x6d, 0x70, + 0x6c, 0x28, 0x54, 0x20, 0x78, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, + 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x6c, 0x63, 0x5f, + 0x77, 0x61, 0x72, 0x70, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x72, 0x65, 0x64, 0x75, + 0x63, 0x65, 0x5f, 0x69, 0x6d, 0x70, 0x6c, 0x28, 0x78, 0x2c, 0x20, 0x5b, 0x5d, 0x28, 0x54, 0x20, + 0x61, 0x2c, 0x20, 0x54, 0x20, 0x62, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, + 0x20, 0x7b, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x6c, 0x63, 0x5f, 0x6d, 0x69, 0x6e, + 0x28, 0x61, 0x2c, 0x20, 0x62, 0x29, 0x3b, 0x20, 0x7d, 0x29, 0x3b, 0x0a, 0x7d, 0x0a, 0x74, 0x65, + 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x3c, 0x74, 0x79, 0x70, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x20, + 0x54, 0x3e, 0x0a, 0x5b, 0x5b, 0x6e, 0x6f, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x5d, 0x5d, + 0x20, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x61, 0x75, 0x74, 0x6f, + 0x20, 0x6c, 0x63, 0x5f, 0x77, 0x61, 0x72, 0x70, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, + 0x6d, 0x61, 0x78, 0x5f, 0x69, 0x6d, 0x70, 0x6c, 0x28, 0x54, 0x20, 0x78, 0x29, 0x20, 0x6e, 0x6f, + 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, + 0x75, 0x72, 0x6e, 0x20, 0x6c, 0x63, 0x5f, 0x77, 0x61, 0x72, 0x70, 0x5f, 0x61, 0x63, 0x74, 0x69, + 0x76, 0x65, 0x5f, 0x72, 0x65, 0x64, 0x75, 0x63, 0x65, 0x5f, 0x69, 0x6d, 0x70, 0x6c, 0x28, 0x78, + 0x2c, 0x20, 0x5b, 0x5d, 0x28, 0x54, 0x20, 0x61, 0x2c, 0x20, 0x54, 0x20, 0x62, 0x29, 0x20, 0x6e, + 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, + 0x20, 0x6c, 0x63, 0x5f, 0x6d, 0x61, 0x78, 0x28, 0x61, 0x2c, 0x20, 0x62, 0x29, 0x3b, 0x20, 0x7d, + 0x29, 0x3b, 0x0a, 0x7d, 0x0a, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x3c, 0x74, 0x79, + 0x70, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x54, 0x3e, 0x0a, 0x5b, 0x5b, 0x6e, 0x6f, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x5d, 0x5d, 0x20, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, - 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x6c, - 0x63, 0x5f, 0x77, 0x61, 0x72, 0x70, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x6d, 0x69, - 0x6e, 0x28, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x20, 0x78, 0x29, 0x20, 0x6e, 0x6f, 0x65, - 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, - 0x72, 0x6e, 0x20, 0x5f, 0x5f, 0x72, 0x65, 0x64, 0x75, 0x63, 0x65, 0x5f, 0x6d, 0x69, 0x6e, 0x5f, - 0x73, 0x79, 0x6e, 0x63, 0x28, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x41, 0x43, 0x54, - 0x49, 0x56, 0x45, 0x5f, 0x4d, 0x41, 0x53, 0x4b, 0x2c, 0x20, 0x78, 0x29, 0x3b, 0x0a, 0x7d, 0x0a, - 0x5b, 0x5b, 0x6e, 0x6f, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x5d, 0x5d, 0x20, 0x5f, 0x5f, - 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, - 0x61, 0x75, 0x74, 0x6f, 0x20, 0x6c, 0x63, 0x5f, 0x77, 0x61, 0x72, 0x70, 0x5f, 0x61, 0x63, 0x74, - 0x69, 0x76, 0x65, 0x5f, 0x6d, 0x61, 0x78, 0x28, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x20, - 0x78, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x5f, 0x5f, 0x72, 0x65, 0x64, 0x75, 0x63, - 0x65, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x73, 0x79, 0x6e, 0x63, 0x28, 0x4c, 0x43, 0x5f, 0x57, 0x41, - 0x52, 0x50, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x5f, 0x4d, 0x41, 0x53, 0x4b, 0x2c, 0x20, - 0x78, 0x29, 0x3b, 0x0a, 0x7d, 0x0a, 0x5b, 0x5b, 0x6e, 0x6f, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, - 0x64, 0x5d, 0x5d, 0x20, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, - 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x6c, 0x63, 0x5f, 0x77, 0x61, + 0x5f, 0x5f, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x6c, 0x63, 0x5f, 0x77, 0x61, 0x72, 0x70, 0x5f, + 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x75, 0x6d, 0x5f, 0x69, 0x6d, 0x70, 0x6c, 0x28, + 0x54, 0x20, 0x78, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x6c, 0x63, 0x5f, 0x77, 0x61, + 0x72, 0x70, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x72, 0x65, 0x64, 0x75, 0x63, 0x65, + 0x5f, 0x69, 0x6d, 0x70, 0x6c, 0x28, 0x78, 0x2c, 0x20, 0x5b, 0x5d, 0x28, 0x54, 0x20, 0x61, 0x2c, + 0x20, 0x54, 0x20, 0x62, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, + 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x61, 0x20, 0x2b, 0x20, 0x62, 0x3b, 0x20, 0x7d, + 0x29, 0x3b, 0x0a, 0x7d, 0x0a, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x3c, 0x74, 0x79, + 0x70, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x54, 0x3e, 0x0a, 0x5b, 0x5b, 0x6e, 0x6f, 0x64, 0x69, + 0x73, 0x63, 0x61, 0x72, 0x64, 0x5d, 0x5d, 0x20, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, + 0x5f, 0x5f, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x6c, 0x63, 0x5f, 0x77, 0x61, 0x72, 0x70, 0x5f, + 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x69, + 0x6d, 0x70, 0x6c, 0x28, 0x54, 0x20, 0x78, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, + 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x6c, + 0x63, 0x5f, 0x77, 0x61, 0x72, 0x70, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x72, 0x65, + 0x64, 0x75, 0x63, 0x65, 0x5f, 0x69, 0x6d, 0x70, 0x6c, 0x28, 0x78, 0x2c, 0x20, 0x5b, 0x5d, 0x28, + 0x54, 0x20, 0x61, 0x2c, 0x20, 0x54, 0x20, 0x62, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, + 0x70, 0x74, 0x20, 0x7b, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x61, 0x20, 0x2a, 0x20, + 0x62, 0x3b, 0x20, 0x7d, 0x29, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, + 0x65, 0x20, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, + 0x5f, 0x52, 0x45, 0x44, 0x55, 0x43, 0x45, 0x5f, 0x53, 0x43, 0x41, 0x4c, 0x41, 0x52, 0x28, 0x6f, + 0x70, 0x2c, 0x20, 0x54, 0x29, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x5b, 0x5b, 0x6e, 0x6f, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x5d, 0x5d, 0x20, + 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, + 0x6c, 0x63, 0x5f, 0x77, 0x61, 0x72, 0x70, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x23, + 0x23, 0x6f, 0x70, 0x28, 0x6c, 0x63, 0x5f, 0x23, 0x23, 0x54, 0x20, 0x78, 0x29, 0x20, 0x6e, 0x6f, + 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x20, 0x5c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x6c, 0x63, 0x5f, 0x77, 0x61, 0x72, + 0x70, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x23, 0x23, 0x6f, 0x70, 0x23, 0x23, 0x5f, + 0x69, 0x6d, 0x70, 0x6c, 0x3c, 0x6c, 0x63, 0x5f, 0x23, 0x23, 0x54, 0x3e, 0x28, 0x78, 0x29, 0x3b, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x0a, 0x23, 0x69, 0x66, 0x20, 0x5f, 0x5f, 0x43, 0x55, 0x44, 0x41, + 0x5f, 0x41, 0x52, 0x43, 0x48, 0x5f, 0x5f, 0x20, 0x3e, 0x3d, 0x20, 0x38, 0x30, 0x30, 0x0a, 0x5b, + 0x5b, 0x6e, 0x6f, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x5d, 0x5d, 0x20, 0x5f, 0x5f, 0x64, + 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x6c, 0x63, 0x5f, + 0x77, 0x61, 0x72, 0x70, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x6d, 0x69, 0x6e, 0x28, + 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x20, 0x78, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, + 0x65, 0x70, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, + 0x20, 0x5f, 0x5f, 0x72, 0x65, 0x64, 0x75, 0x63, 0x65, 0x5f, 0x6d, 0x69, 0x6e, 0x5f, 0x73, 0x79, + 0x6e, 0x63, 0x28, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x56, + 0x45, 0x5f, 0x4d, 0x41, 0x53, 0x4b, 0x2c, 0x20, 0x78, 0x29, 0x3b, 0x0a, 0x7d, 0x0a, 0x5b, 0x5b, + 0x6e, 0x6f, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x5d, 0x5d, 0x20, 0x5f, 0x5f, 0x64, 0x65, + 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x6c, 0x63, 0x5f, 0x77, + 0x61, 0x72, 0x70, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x6d, 0x61, 0x78, 0x28, 0x6c, + 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x20, 0x78, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, + 0x70, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, + 0x5f, 0x5f, 0x72, 0x65, 0x64, 0x75, 0x63, 0x65, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x73, 0x79, 0x6e, + 0x63, 0x28, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, + 0x5f, 0x4d, 0x41, 0x53, 0x4b, 0x2c, 0x20, 0x78, 0x29, 0x3b, 0x0a, 0x7d, 0x0a, 0x5b, 0x5b, 0x6e, + 0x6f, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x5d, 0x5d, 0x20, 0x5f, 0x5f, 0x64, 0x65, 0x76, + 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x6c, 0x63, 0x5f, 0x77, 0x61, 0x72, 0x70, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x75, 0x6d, 0x28, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x20, 0x78, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x5f, @@ -43908,431 +43626,424 @@ extern "C" const char luisa_cuda_builtin_cuda_device_resource[119200] = { 0x28, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x5f, 0x4d, 0x41, 0x53, 0x4b, 0x2c, 0x20, 0x78, 0x29, 0x3b, 0x0a, 0x7d, 0x0a, 0x5b, 0x5b, 0x6e, 0x6f, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x5d, 0x5d, 0x20, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, - 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x61, 0x75, 0x74, 0x6f, - 0x20, 0x6c, 0x63, 0x5f, 0x77, 0x61, 0x72, 0x70, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, - 0x6d, 0x69, 0x6e, 0x28, 0x6c, 0x63, 0x5f, 0x69, 0x6e, 0x74, 0x20, 0x78, 0x29, 0x20, 0x6e, 0x6f, - 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, - 0x75, 0x72, 0x6e, 0x20, 0x5f, 0x5f, 0x72, 0x65, 0x64, 0x75, 0x63, 0x65, 0x5f, 0x6d, 0x69, 0x6e, - 0x5f, 0x73, 0x79, 0x6e, 0x63, 0x28, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x41, 0x43, - 0x54, 0x49, 0x56, 0x45, 0x5f, 0x4d, 0x41, 0x53, 0x4b, 0x2c, 0x20, 0x78, 0x29, 0x3b, 0x0a, 0x7d, - 0x0a, 0x5b, 0x5b, 0x6e, 0x6f, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x5d, 0x5d, 0x20, 0x5f, - 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, - 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x6c, 0x63, 0x5f, 0x77, 0x61, 0x72, 0x70, 0x5f, 0x61, 0x63, - 0x74, 0x69, 0x76, 0x65, 0x5f, 0x6d, 0x61, 0x78, 0x28, 0x6c, 0x63, 0x5f, 0x69, 0x6e, 0x74, 0x20, - 0x78, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x5f, 0x5f, 0x72, 0x65, 0x64, 0x75, 0x63, - 0x65, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x73, 0x79, 0x6e, 0x63, 0x28, 0x4c, 0x43, 0x5f, 0x57, 0x41, - 0x52, 0x50, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x5f, 0x4d, 0x41, 0x53, 0x4b, 0x2c, 0x20, - 0x78, 0x29, 0x3b, 0x0a, 0x7d, 0x0a, 0x5b, 0x5b, 0x6e, 0x6f, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, - 0x64, 0x5d, 0x5d, 0x20, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, - 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x6c, 0x63, 0x5f, 0x77, 0x61, - 0x72, 0x70, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x75, 0x6d, 0x28, 0x6c, 0x63, - 0x5f, 0x69, 0x6e, 0x74, 0x20, 0x78, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, - 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x5f, 0x5f, - 0x72, 0x65, 0x64, 0x75, 0x63, 0x65, 0x5f, 0x61, 0x64, 0x64, 0x5f, 0x73, 0x79, 0x6e, 0x63, 0x28, - 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x5f, 0x4d, - 0x41, 0x53, 0x4b, 0x2c, 0x20, 0x78, 0x29, 0x3b, 0x0a, 0x7d, 0x0a, 0x5b, 0x5b, 0x6e, 0x6f, 0x64, - 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x5d, 0x5d, 0x20, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, - 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, - 0x6c, 0x63, 0x5f, 0x77, 0x61, 0x72, 0x70, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x6d, - 0x69, 0x6e, 0x28, 0x6c, 0x63, 0x5f, 0x75, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x78, 0x29, 0x20, - 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, - 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x5f, 0x63, 0x61, 0x73, - 0x74, 0x3c, 0x6c, 0x63, 0x5f, 0x75, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x3e, 0x28, 0x5f, 0x5f, 0x72, + 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x6c, 0x63, 0x5f, 0x77, 0x61, 0x72, + 0x70, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x6d, 0x69, 0x6e, 0x28, 0x6c, 0x63, 0x5f, + 0x69, 0x6e, 0x74, 0x20, 0x78, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, + 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x5f, 0x5f, 0x72, 0x65, 0x64, 0x75, 0x63, 0x65, 0x5f, 0x6d, 0x69, 0x6e, 0x5f, 0x73, 0x79, 0x6e, 0x63, 0x28, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x5f, 0x4d, 0x41, - 0x53, 0x4b, 0x2c, 0x20, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, - 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x3e, 0x28, 0x78, 0x29, 0x29, 0x29, 0x3b, 0x0a, 0x7d, - 0x0a, 0x5b, 0x5b, 0x6e, 0x6f, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x5d, 0x5d, 0x20, 0x5f, - 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, + 0x53, 0x4b, 0x2c, 0x20, 0x78, 0x29, 0x3b, 0x0a, 0x7d, 0x0a, 0x5b, 0x5b, 0x6e, 0x6f, 0x64, 0x69, + 0x73, 0x63, 0x61, 0x72, 0x64, 0x5d, 0x5d, 0x20, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, + 0x5f, 0x5f, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x6c, 0x63, 0x5f, 0x77, 0x61, 0x72, 0x70, 0x5f, + 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x6d, 0x61, 0x78, 0x28, 0x6c, 0x63, 0x5f, 0x69, 0x6e, + 0x74, 0x20, 0x78, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x5f, 0x5f, 0x72, 0x65, 0x64, + 0x75, 0x63, 0x65, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x73, 0x79, 0x6e, 0x63, 0x28, 0x4c, 0x43, 0x5f, + 0x57, 0x41, 0x52, 0x50, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x5f, 0x4d, 0x41, 0x53, 0x4b, + 0x2c, 0x20, 0x78, 0x29, 0x3b, 0x0a, 0x7d, 0x0a, 0x5b, 0x5b, 0x6e, 0x6f, 0x64, 0x69, 0x73, 0x63, + 0x61, 0x72, 0x64, 0x5d, 0x5d, 0x20, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x6c, 0x63, 0x5f, 0x77, 0x61, 0x72, 0x70, 0x5f, 0x61, 0x63, - 0x74, 0x69, 0x76, 0x65, 0x5f, 0x6d, 0x61, 0x78, 0x28, 0x6c, 0x63, 0x5f, 0x75, 0x73, 0x68, 0x6f, - 0x72, 0x74, 0x20, 0x78, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x73, 0x74, 0x61, 0x74, - 0x69, 0x63, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x6c, 0x63, 0x5f, 0x75, 0x73, 0x68, 0x6f, 0x72, - 0x74, 0x3e, 0x28, 0x5f, 0x5f, 0x72, 0x65, 0x64, 0x75, 0x63, 0x65, 0x5f, 0x6d, 0x61, 0x78, 0x5f, - 0x73, 0x79, 0x6e, 0x63, 0x28, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x41, 0x43, 0x54, - 0x49, 0x56, 0x45, 0x5f, 0x4d, 0x41, 0x53, 0x4b, 0x2c, 0x20, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, - 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x3e, 0x28, 0x78, - 0x29, 0x29, 0x29, 0x3b, 0x0a, 0x7d, 0x0a, 0x5b, 0x5b, 0x6e, 0x6f, 0x64, 0x69, 0x73, 0x63, 0x61, - 0x72, 0x64, 0x5d, 0x5d, 0x20, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, - 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x6c, 0x63, 0x5f, 0x77, - 0x61, 0x72, 0x70, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x75, 0x6d, 0x28, 0x6c, - 0x63, 0x5f, 0x75, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x78, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, - 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, - 0x6e, 0x20, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x6c, 0x63, - 0x5f, 0x75, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x3e, 0x28, 0x5f, 0x5f, 0x72, 0x65, 0x64, 0x75, 0x63, + 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x75, 0x6d, 0x28, 0x6c, 0x63, 0x5f, 0x69, 0x6e, 0x74, 0x20, + 0x78, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x5f, 0x5f, 0x72, 0x65, 0x64, 0x75, 0x63, 0x65, 0x5f, 0x61, 0x64, 0x64, 0x5f, 0x73, 0x79, 0x6e, 0x63, 0x28, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x5f, 0x4d, 0x41, 0x53, 0x4b, 0x2c, 0x20, - 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x6c, 0x63, 0x5f, 0x75, - 0x69, 0x6e, 0x74, 0x3e, 0x28, 0x78, 0x29, 0x29, 0x29, 0x3b, 0x0a, 0x7d, 0x0a, 0x5b, 0x5b, 0x6e, - 0x6f, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x5d, 0x5d, 0x20, 0x5f, 0x5f, 0x64, 0x65, 0x76, - 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x61, 0x75, 0x74, - 0x6f, 0x20, 0x6c, 0x63, 0x5f, 0x77, 0x61, 0x72, 0x70, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, - 0x5f, 0x6d, 0x69, 0x6e, 0x28, 0x6c, 0x63, 0x5f, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x78, 0x29, - 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x5f, 0x63, 0x61, - 0x73, 0x74, 0x3c, 0x6c, 0x63, 0x5f, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x3e, 0x28, 0x5f, 0x5f, 0x72, - 0x65, 0x64, 0x75, 0x63, 0x65, 0x5f, 0x6d, 0x69, 0x6e, 0x5f, 0x73, 0x79, 0x6e, 0x63, 0x28, 0x4c, - 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x5f, 0x4d, 0x41, - 0x53, 0x4b, 0x2c, 0x20, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, - 0x6c, 0x63, 0x5f, 0x69, 0x6e, 0x74, 0x3e, 0x28, 0x78, 0x29, 0x29, 0x29, 0x3b, 0x0a, 0x7d, 0x0a, - 0x5b, 0x5b, 0x6e, 0x6f, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x5d, 0x5d, 0x20, 0x5f, 0x5f, - 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, - 0x61, 0x75, 0x74, 0x6f, 0x20, 0x6c, 0x63, 0x5f, 0x77, 0x61, 0x72, 0x70, 0x5f, 0x61, 0x63, 0x74, - 0x69, 0x76, 0x65, 0x5f, 0x6d, 0x61, 0x78, 0x28, 0x6c, 0x63, 0x5f, 0x73, 0x68, 0x6f, 0x72, 0x74, + 0x78, 0x29, 0x3b, 0x0a, 0x7d, 0x0a, 0x5b, 0x5b, 0x6e, 0x6f, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, + 0x64, 0x5d, 0x5d, 0x20, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x61, + 0x75, 0x74, 0x6f, 0x20, 0x6c, 0x63, 0x5f, 0x77, 0x61, 0x72, 0x70, 0x5f, 0x61, 0x63, 0x74, 0x69, + 0x76, 0x65, 0x5f, 0x6d, 0x69, 0x6e, 0x28, 0x6c, 0x63, 0x5f, 0x75, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x78, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, - 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x6c, 0x63, 0x5f, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x3e, 0x28, + 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x6c, 0x63, 0x5f, 0x75, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x3e, + 0x28, 0x5f, 0x5f, 0x72, 0x65, 0x64, 0x75, 0x63, 0x65, 0x5f, 0x6d, 0x69, 0x6e, 0x5f, 0x73, 0x79, + 0x6e, 0x63, 0x28, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x56, + 0x45, 0x5f, 0x4d, 0x41, 0x53, 0x4b, 0x2c, 0x20, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x5f, 0x63, + 0x61, 0x73, 0x74, 0x3c, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x3e, 0x28, 0x78, 0x29, 0x29, + 0x29, 0x3b, 0x0a, 0x7d, 0x0a, 0x5b, 0x5b, 0x6e, 0x6f, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, + 0x5d, 0x5d, 0x20, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x61, 0x75, + 0x74, 0x6f, 0x20, 0x6c, 0x63, 0x5f, 0x77, 0x61, 0x72, 0x70, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, + 0x65, 0x5f, 0x6d, 0x61, 0x78, 0x28, 0x6c, 0x63, 0x5f, 0x75, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, + 0x78, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x5f, + 0x63, 0x61, 0x73, 0x74, 0x3c, 0x6c, 0x63, 0x5f, 0x75, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x3e, 0x28, 0x5f, 0x5f, 0x72, 0x65, 0x64, 0x75, 0x63, 0x65, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x73, 0x79, 0x6e, 0x63, 0x28, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x5f, 0x4d, 0x41, 0x53, 0x4b, 0x2c, 0x20, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x5f, 0x63, 0x61, - 0x73, 0x74, 0x3c, 0x6c, 0x63, 0x5f, 0x69, 0x6e, 0x74, 0x3e, 0x28, 0x78, 0x29, 0x29, 0x29, 0x3b, + 0x73, 0x74, 0x3c, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x3e, 0x28, 0x78, 0x29, 0x29, 0x29, + 0x3b, 0x0a, 0x7d, 0x0a, 0x5b, 0x5b, 0x6e, 0x6f, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x5d, + 0x5d, 0x20, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x61, 0x75, 0x74, + 0x6f, 0x20, 0x6c, 0x63, 0x5f, 0x77, 0x61, 0x72, 0x70, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, + 0x5f, 0x73, 0x75, 0x6d, 0x28, 0x6c, 0x63, 0x5f, 0x75, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x78, + 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x5f, 0x63, + 0x61, 0x73, 0x74, 0x3c, 0x6c, 0x63, 0x5f, 0x75, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x3e, 0x28, 0x5f, + 0x5f, 0x72, 0x65, 0x64, 0x75, 0x63, 0x65, 0x5f, 0x61, 0x64, 0x64, 0x5f, 0x73, 0x79, 0x6e, 0x63, + 0x28, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x5f, + 0x4d, 0x41, 0x53, 0x4b, 0x2c, 0x20, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x5f, 0x63, 0x61, 0x73, + 0x74, 0x3c, 0x6c, 0x63, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x3e, 0x28, 0x78, 0x29, 0x29, 0x29, 0x3b, 0x0a, 0x7d, 0x0a, 0x5b, 0x5b, 0x6e, 0x6f, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x5d, 0x5d, - 0x20, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, - 0x6e, 0x65, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x6c, 0x63, 0x5f, 0x77, 0x61, 0x72, 0x70, 0x5f, - 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x75, 0x6d, 0x28, 0x6c, 0x63, 0x5f, 0x73, 0x68, - 0x6f, 0x72, 0x74, 0x20, 0x78, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, - 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x73, 0x74, 0x61, - 0x74, 0x69, 0x63, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x6c, 0x63, 0x5f, 0x73, 0x68, 0x6f, 0x72, - 0x74, 0x3e, 0x28, 0x5f, 0x5f, 0x72, 0x65, 0x64, 0x75, 0x63, 0x65, 0x5f, 0x61, 0x64, 0x64, 0x5f, - 0x73, 0x79, 0x6e, 0x63, 0x28, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x41, 0x43, 0x54, - 0x49, 0x56, 0x45, 0x5f, 0x4d, 0x41, 0x53, 0x4b, 0x2c, 0x20, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, - 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x6c, 0x63, 0x5f, 0x69, 0x6e, 0x74, 0x3e, 0x28, 0x78, 0x29, - 0x29, 0x29, 0x3b, 0x0a, 0x7d, 0x0a, 0x23, 0x65, 0x6c, 0x73, 0x65, 0x0a, 0x4c, 0x43, 0x5f, 0x57, - 0x41, 0x52, 0x50, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x5f, 0x52, 0x45, 0x44, 0x55, 0x43, - 0x45, 0x5f, 0x53, 0x43, 0x41, 0x4c, 0x41, 0x52, 0x28, 0x6d, 0x69, 0x6e, 0x2c, 0x20, 0x75, 0x69, - 0x6e, 0x74, 0x29, 0x0a, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x41, 0x43, 0x54, 0x49, - 0x56, 0x45, 0x5f, 0x52, 0x45, 0x44, 0x55, 0x43, 0x45, 0x5f, 0x53, 0x43, 0x41, 0x4c, 0x41, 0x52, - 0x28, 0x6d, 0x61, 0x78, 0x2c, 0x20, 0x75, 0x69, 0x6e, 0x74, 0x29, 0x0a, 0x4c, 0x43, 0x5f, 0x57, + 0x20, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x61, 0x75, 0x74, 0x6f, + 0x20, 0x6c, 0x63, 0x5f, 0x77, 0x61, 0x72, 0x70, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, + 0x6d, 0x69, 0x6e, 0x28, 0x6c, 0x63, 0x5f, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x78, 0x29, 0x20, + 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, + 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x5f, 0x63, 0x61, 0x73, + 0x74, 0x3c, 0x6c, 0x63, 0x5f, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x3e, 0x28, 0x5f, 0x5f, 0x72, 0x65, + 0x64, 0x75, 0x63, 0x65, 0x5f, 0x6d, 0x69, 0x6e, 0x5f, 0x73, 0x79, 0x6e, 0x63, 0x28, 0x4c, 0x43, + 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x5f, 0x4d, 0x41, 0x53, + 0x4b, 0x2c, 0x20, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x6c, + 0x63, 0x5f, 0x69, 0x6e, 0x74, 0x3e, 0x28, 0x78, 0x29, 0x29, 0x29, 0x3b, 0x0a, 0x7d, 0x0a, 0x5b, + 0x5b, 0x6e, 0x6f, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x5d, 0x5d, 0x20, 0x5f, 0x5f, 0x64, + 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x6c, 0x63, 0x5f, + 0x77, 0x61, 0x72, 0x70, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x6d, 0x61, 0x78, 0x28, + 0x6c, 0x63, 0x5f, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x78, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, + 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, + 0x6e, 0x20, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x6c, 0x63, + 0x5f, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x3e, 0x28, 0x5f, 0x5f, 0x72, 0x65, 0x64, 0x75, 0x63, 0x65, + 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x73, 0x79, 0x6e, 0x63, 0x28, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, + 0x50, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x5f, 0x4d, 0x41, 0x53, 0x4b, 0x2c, 0x20, 0x73, + 0x74, 0x61, 0x74, 0x69, 0x63, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x6c, 0x63, 0x5f, 0x69, 0x6e, + 0x74, 0x3e, 0x28, 0x78, 0x29, 0x29, 0x29, 0x3b, 0x0a, 0x7d, 0x0a, 0x5b, 0x5b, 0x6e, 0x6f, 0x64, + 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x5d, 0x5d, 0x20, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, + 0x65, 0x5f, 0x5f, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x6c, 0x63, 0x5f, 0x77, 0x61, 0x72, 0x70, + 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x75, 0x6d, 0x28, 0x6c, 0x63, 0x5f, 0x73, + 0x68, 0x6f, 0x72, 0x74, 0x20, 0x78, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, + 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x73, 0x74, + 0x61, 0x74, 0x69, 0x63, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x6c, 0x63, 0x5f, 0x73, 0x68, 0x6f, + 0x72, 0x74, 0x3e, 0x28, 0x5f, 0x5f, 0x72, 0x65, 0x64, 0x75, 0x63, 0x65, 0x5f, 0x61, 0x64, 0x64, + 0x5f, 0x73, 0x79, 0x6e, 0x63, 0x28, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x41, 0x43, + 0x54, 0x49, 0x56, 0x45, 0x5f, 0x4d, 0x41, 0x53, 0x4b, 0x2c, 0x20, 0x73, 0x74, 0x61, 0x74, 0x69, + 0x63, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x6c, 0x63, 0x5f, 0x69, 0x6e, 0x74, 0x3e, 0x28, 0x78, + 0x29, 0x29, 0x29, 0x3b, 0x0a, 0x7d, 0x0a, 0x23, 0x65, 0x6c, 0x73, 0x65, 0x0a, 0x4c, 0x43, 0x5f, + 0x57, 0x41, 0x52, 0x50, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x5f, 0x52, 0x45, 0x44, 0x55, + 0x43, 0x45, 0x5f, 0x53, 0x43, 0x41, 0x4c, 0x41, 0x52, 0x28, 0x6d, 0x69, 0x6e, 0x2c, 0x20, 0x75, + 0x69, 0x6e, 0x74, 0x29, 0x0a, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x41, 0x43, 0x54, + 0x49, 0x56, 0x45, 0x5f, 0x52, 0x45, 0x44, 0x55, 0x43, 0x45, 0x5f, 0x53, 0x43, 0x41, 0x4c, 0x41, + 0x52, 0x28, 0x6d, 0x61, 0x78, 0x2c, 0x20, 0x75, 0x69, 0x6e, 0x74, 0x29, 0x0a, 0x4c, 0x43, 0x5f, + 0x57, 0x41, 0x52, 0x50, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x5f, 0x52, 0x45, 0x44, 0x55, + 0x43, 0x45, 0x5f, 0x53, 0x43, 0x41, 0x4c, 0x41, 0x52, 0x28, 0x73, 0x75, 0x6d, 0x2c, 0x20, 0x75, + 0x69, 0x6e, 0x74, 0x29, 0x0a, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x41, 0x43, 0x54, + 0x49, 0x56, 0x45, 0x5f, 0x52, 0x45, 0x44, 0x55, 0x43, 0x45, 0x5f, 0x53, 0x43, 0x41, 0x4c, 0x41, + 0x52, 0x28, 0x6d, 0x69, 0x6e, 0x2c, 0x20, 0x69, 0x6e, 0x74, 0x29, 0x0a, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x5f, 0x52, 0x45, 0x44, 0x55, 0x43, - 0x45, 0x5f, 0x53, 0x43, 0x41, 0x4c, 0x41, 0x52, 0x28, 0x73, 0x75, 0x6d, 0x2c, 0x20, 0x75, 0x69, - 0x6e, 0x74, 0x29, 0x0a, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x41, 0x43, 0x54, 0x49, - 0x56, 0x45, 0x5f, 0x52, 0x45, 0x44, 0x55, 0x43, 0x45, 0x5f, 0x53, 0x43, 0x41, 0x4c, 0x41, 0x52, - 0x28, 0x6d, 0x69, 0x6e, 0x2c, 0x20, 0x69, 0x6e, 0x74, 0x29, 0x0a, 0x4c, 0x43, 0x5f, 0x57, 0x41, - 0x52, 0x50, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x5f, 0x52, 0x45, 0x44, 0x55, 0x43, 0x45, - 0x5f, 0x53, 0x43, 0x41, 0x4c, 0x41, 0x52, 0x28, 0x6d, 0x61, 0x78, 0x2c, 0x20, 0x69, 0x6e, 0x74, - 0x29, 0x0a, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, - 0x5f, 0x52, 0x45, 0x44, 0x55, 0x43, 0x45, 0x5f, 0x53, 0x43, 0x41, 0x4c, 0x41, 0x52, 0x28, 0x73, - 0x75, 0x6d, 0x2c, 0x20, 0x69, 0x6e, 0x74, 0x29, 0x0a, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, - 0x5f, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x5f, 0x52, 0x45, 0x44, 0x55, 0x43, 0x45, 0x5f, 0x53, - 0x43, 0x41, 0x4c, 0x41, 0x52, 0x28, 0x6d, 0x69, 0x6e, 0x2c, 0x20, 0x75, 0x73, 0x68, 0x6f, 0x72, + 0x45, 0x5f, 0x53, 0x43, 0x41, 0x4c, 0x41, 0x52, 0x28, 0x6d, 0x61, 0x78, 0x2c, 0x20, 0x69, 0x6e, 0x74, 0x29, 0x0a, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x5f, 0x52, 0x45, 0x44, 0x55, 0x43, 0x45, 0x5f, 0x53, 0x43, 0x41, 0x4c, 0x41, 0x52, 0x28, - 0x6d, 0x61, 0x78, 0x2c, 0x20, 0x75, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x29, 0x0a, 0x4c, 0x43, 0x5f, - 0x57, 0x41, 0x52, 0x50, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x5f, 0x52, 0x45, 0x44, 0x55, - 0x43, 0x45, 0x5f, 0x53, 0x43, 0x41, 0x4c, 0x41, 0x52, 0x28, 0x73, 0x75, 0x6d, 0x2c, 0x20, 0x75, - 0x73, 0x68, 0x6f, 0x72, 0x74, 0x29, 0x0a, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x41, - 0x43, 0x54, 0x49, 0x56, 0x45, 0x5f, 0x52, 0x45, 0x44, 0x55, 0x43, 0x45, 0x5f, 0x53, 0x43, 0x41, - 0x4c, 0x41, 0x52, 0x28, 0x6d, 0x69, 0x6e, 0x2c, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x29, 0x0a, - 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x5f, 0x52, - 0x45, 0x44, 0x55, 0x43, 0x45, 0x5f, 0x53, 0x43, 0x41, 0x4c, 0x41, 0x52, 0x28, 0x6d, 0x61, 0x78, - 0x2c, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x29, 0x0a, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, - 0x5f, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x5f, 0x52, 0x45, 0x44, 0x55, 0x43, 0x45, 0x5f, 0x53, - 0x43, 0x41, 0x4c, 0x41, 0x52, 0x28, 0x73, 0x75, 0x6d, 0x2c, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, - 0x29, 0x0a, 0x23, 0x65, 0x6e, 0x64, 0x69, 0x66, 0x0a, 0x0a, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, + 0x73, 0x75, 0x6d, 0x2c, 0x20, 0x69, 0x6e, 0x74, 0x29, 0x0a, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x5f, 0x52, 0x45, 0x44, 0x55, 0x43, 0x45, 0x5f, - 0x53, 0x43, 0x41, 0x4c, 0x41, 0x52, 0x28, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x2c, 0x20, - 0x75, 0x69, 0x6e, 0x74, 0x29, 0x0a, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x41, 0x43, - 0x54, 0x49, 0x56, 0x45, 0x5f, 0x52, 0x45, 0x44, 0x55, 0x43, 0x45, 0x5f, 0x53, 0x43, 0x41, 0x4c, - 0x41, 0x52, 0x28, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x2c, 0x20, 0x69, 0x6e, 0x74, 0x29, - 0x0a, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x5f, - 0x52, 0x45, 0x44, 0x55, 0x43, 0x45, 0x5f, 0x53, 0x43, 0x41, 0x4c, 0x41, 0x52, 0x28, 0x70, 0x72, - 0x6f, 0x64, 0x75, 0x63, 0x74, 0x2c, 0x20, 0x75, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x29, 0x0a, 0x4c, - 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x5f, 0x52, 0x45, - 0x44, 0x55, 0x43, 0x45, 0x5f, 0x53, 0x43, 0x41, 0x4c, 0x41, 0x52, 0x28, 0x70, 0x72, 0x6f, 0x64, - 0x75, 0x63, 0x74, 0x2c, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x29, 0x0a, 0x4c, 0x43, 0x5f, 0x57, - 0x41, 0x52, 0x50, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x5f, 0x52, 0x45, 0x44, 0x55, 0x43, - 0x45, 0x5f, 0x53, 0x43, 0x41, 0x4c, 0x41, 0x52, 0x28, 0x6d, 0x69, 0x6e, 0x2c, 0x20, 0x75, 0x6c, - 0x6f, 0x6e, 0x67, 0x29, 0x0a, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x41, 0x43, 0x54, - 0x49, 0x56, 0x45, 0x5f, 0x52, 0x45, 0x44, 0x55, 0x43, 0x45, 0x5f, 0x53, 0x43, 0x41, 0x4c, 0x41, - 0x52, 0x28, 0x6d, 0x61, 0x78, 0x2c, 0x20, 0x75, 0x6c, 0x6f, 0x6e, 0x67, 0x29, 0x0a, 0x4c, 0x43, + 0x53, 0x43, 0x41, 0x4c, 0x41, 0x52, 0x28, 0x6d, 0x69, 0x6e, 0x2c, 0x20, 0x75, 0x73, 0x68, 0x6f, + 0x72, 0x74, 0x29, 0x0a, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x41, 0x43, 0x54, 0x49, + 0x56, 0x45, 0x5f, 0x52, 0x45, 0x44, 0x55, 0x43, 0x45, 0x5f, 0x53, 0x43, 0x41, 0x4c, 0x41, 0x52, + 0x28, 0x6d, 0x61, 0x78, 0x2c, 0x20, 0x75, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x29, 0x0a, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x5f, 0x52, 0x45, 0x44, 0x55, 0x43, 0x45, 0x5f, 0x53, 0x43, 0x41, 0x4c, 0x41, 0x52, 0x28, 0x73, 0x75, 0x6d, 0x2c, 0x20, - 0x75, 0x6c, 0x6f, 0x6e, 0x67, 0x29, 0x0a, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x41, - 0x43, 0x54, 0x49, 0x56, 0x45, 0x5f, 0x52, 0x45, 0x44, 0x55, 0x43, 0x45, 0x5f, 0x53, 0x43, 0x41, - 0x4c, 0x41, 0x52, 0x28, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x2c, 0x20, 0x75, 0x6c, 0x6f, - 0x6e, 0x67, 0x29, 0x0a, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x41, 0x43, 0x54, 0x49, - 0x56, 0x45, 0x5f, 0x52, 0x45, 0x44, 0x55, 0x43, 0x45, 0x5f, 0x53, 0x43, 0x41, 0x4c, 0x41, 0x52, - 0x28, 0x6d, 0x69, 0x6e, 0x2c, 0x20, 0x6c, 0x6f, 0x6e, 0x67, 0x29, 0x0a, 0x4c, 0x43, 0x5f, 0x57, - 0x41, 0x52, 0x50, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x5f, 0x52, 0x45, 0x44, 0x55, 0x43, - 0x45, 0x5f, 0x53, 0x43, 0x41, 0x4c, 0x41, 0x52, 0x28, 0x6d, 0x61, 0x78, 0x2c, 0x20, 0x6c, 0x6f, - 0x6e, 0x67, 0x29, 0x0a, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x41, 0x43, 0x54, 0x49, - 0x56, 0x45, 0x5f, 0x52, 0x45, 0x44, 0x55, 0x43, 0x45, 0x5f, 0x53, 0x43, 0x41, 0x4c, 0x41, 0x52, - 0x28, 0x73, 0x75, 0x6d, 0x2c, 0x20, 0x6c, 0x6f, 0x6e, 0x67, 0x29, 0x0a, 0x4c, 0x43, 0x5f, 0x57, - 0x41, 0x52, 0x50, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x5f, 0x52, 0x45, 0x44, 0x55, 0x43, - 0x45, 0x5f, 0x53, 0x43, 0x41, 0x4c, 0x41, 0x52, 0x28, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, - 0x2c, 0x20, 0x6c, 0x6f, 0x6e, 0x67, 0x29, 0x0a, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, + 0x75, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x29, 0x0a, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x5f, 0x52, 0x45, 0x44, 0x55, 0x43, 0x45, 0x5f, 0x53, 0x43, - 0x41, 0x4c, 0x41, 0x52, 0x28, 0x6d, 0x69, 0x6e, 0x2c, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x29, + 0x41, 0x4c, 0x41, 0x52, 0x28, 0x6d, 0x69, 0x6e, 0x2c, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x29, 0x0a, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x5f, 0x52, 0x45, 0x44, 0x55, 0x43, 0x45, 0x5f, 0x53, 0x43, 0x41, 0x4c, 0x41, 0x52, 0x28, 0x6d, 0x61, - 0x78, 0x2c, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x29, 0x0a, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, + 0x78, 0x2c, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x29, 0x0a, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x5f, 0x52, 0x45, 0x44, 0x55, 0x43, 0x45, 0x5f, - 0x53, 0x43, 0x41, 0x4c, 0x41, 0x52, 0x28, 0x73, 0x75, 0x6d, 0x2c, 0x20, 0x66, 0x6c, 0x6f, 0x61, - 0x74, 0x29, 0x0a, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x56, - 0x45, 0x5f, 0x52, 0x45, 0x44, 0x55, 0x43, 0x45, 0x5f, 0x53, 0x43, 0x41, 0x4c, 0x41, 0x52, 0x28, - 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x2c, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x29, 0x0a, - 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x5f, 0x52, - 0x45, 0x44, 0x55, 0x43, 0x45, 0x5f, 0x53, 0x43, 0x41, 0x4c, 0x41, 0x52, 0x28, 0x6d, 0x69, 0x6e, - 0x2c, 0x20, 0x68, 0x61, 0x6c, 0x66, 0x29, 0x0a, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, - 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x5f, 0x52, 0x45, 0x44, 0x55, 0x43, 0x45, 0x5f, 0x53, 0x43, - 0x41, 0x4c, 0x41, 0x52, 0x28, 0x6d, 0x61, 0x78, 0x2c, 0x20, 0x68, 0x61, 0x6c, 0x66, 0x29, 0x0a, + 0x53, 0x43, 0x41, 0x4c, 0x41, 0x52, 0x28, 0x73, 0x75, 0x6d, 0x2c, 0x20, 0x73, 0x68, 0x6f, 0x72, + 0x74, 0x29, 0x0a, 0x23, 0x65, 0x6e, 0x64, 0x69, 0x66, 0x0a, 0x0a, 0x4c, 0x43, 0x5f, 0x57, 0x41, + 0x52, 0x50, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x5f, 0x52, 0x45, 0x44, 0x55, 0x43, 0x45, + 0x5f, 0x53, 0x43, 0x41, 0x4c, 0x41, 0x52, 0x28, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x2c, + 0x20, 0x75, 0x69, 0x6e, 0x74, 0x29, 0x0a, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x41, + 0x43, 0x54, 0x49, 0x56, 0x45, 0x5f, 0x52, 0x45, 0x44, 0x55, 0x43, 0x45, 0x5f, 0x53, 0x43, 0x41, + 0x4c, 0x41, 0x52, 0x28, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x2c, 0x20, 0x69, 0x6e, 0x74, + 0x29, 0x0a, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, + 0x5f, 0x52, 0x45, 0x44, 0x55, 0x43, 0x45, 0x5f, 0x53, 0x43, 0x41, 0x4c, 0x41, 0x52, 0x28, 0x70, + 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x2c, 0x20, 0x75, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x29, 0x0a, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x5f, 0x52, - 0x45, 0x44, 0x55, 0x43, 0x45, 0x5f, 0x53, 0x43, 0x41, 0x4c, 0x41, 0x52, 0x28, 0x73, 0x75, 0x6d, - 0x2c, 0x20, 0x68, 0x61, 0x6c, 0x66, 0x29, 0x0a, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, + 0x45, 0x44, 0x55, 0x43, 0x45, 0x5f, 0x53, 0x43, 0x41, 0x4c, 0x41, 0x52, 0x28, 0x70, 0x72, 0x6f, + 0x64, 0x75, 0x63, 0x74, 0x2c, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x29, 0x0a, 0x4c, 0x43, 0x5f, + 0x57, 0x41, 0x52, 0x50, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x5f, 0x52, 0x45, 0x44, 0x55, + 0x43, 0x45, 0x5f, 0x53, 0x43, 0x41, 0x4c, 0x41, 0x52, 0x28, 0x6d, 0x69, 0x6e, 0x2c, 0x20, 0x75, + 0x6c, 0x6f, 0x6e, 0x67, 0x29, 0x0a, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x41, 0x43, + 0x54, 0x49, 0x56, 0x45, 0x5f, 0x52, 0x45, 0x44, 0x55, 0x43, 0x45, 0x5f, 0x53, 0x43, 0x41, 0x4c, + 0x41, 0x52, 0x28, 0x6d, 0x61, 0x78, 0x2c, 0x20, 0x75, 0x6c, 0x6f, 0x6e, 0x67, 0x29, 0x0a, 0x4c, + 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x5f, 0x52, 0x45, + 0x44, 0x55, 0x43, 0x45, 0x5f, 0x53, 0x43, 0x41, 0x4c, 0x41, 0x52, 0x28, 0x73, 0x75, 0x6d, 0x2c, + 0x20, 0x75, 0x6c, 0x6f, 0x6e, 0x67, 0x29, 0x0a, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x5f, 0x52, 0x45, 0x44, 0x55, 0x43, 0x45, 0x5f, 0x53, 0x43, - 0x41, 0x4c, 0x41, 0x52, 0x28, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x2c, 0x20, 0x68, 0x61, - 0x6c, 0x66, 0x29, 0x0a, 0x2f, 0x2f, 0x20, 0x54, 0x4f, 0x44, 0x4f, 0x3a, 0x20, 0x64, 0x6f, 0x75, - 0x62, 0x6c, 0x65, 0x0a, 0x2f, 0x2f, 0x20, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x41, - 0x43, 0x54, 0x49, 0x56, 0x45, 0x5f, 0x52, 0x45, 0x44, 0x55, 0x43, 0x45, 0x5f, 0x53, 0x43, 0x41, - 0x4c, 0x41, 0x52, 0x28, 0x6d, 0x69, 0x6e, 0x2c, 0x20, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x29, - 0x0a, 0x2f, 0x2f, 0x20, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x41, 0x43, 0x54, 0x49, + 0x41, 0x4c, 0x41, 0x52, 0x28, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x2c, 0x20, 0x75, 0x6c, + 0x6f, 0x6e, 0x67, 0x29, 0x0a, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x41, 0x43, 0x54, + 0x49, 0x56, 0x45, 0x5f, 0x52, 0x45, 0x44, 0x55, 0x43, 0x45, 0x5f, 0x53, 0x43, 0x41, 0x4c, 0x41, + 0x52, 0x28, 0x6d, 0x69, 0x6e, 0x2c, 0x20, 0x6c, 0x6f, 0x6e, 0x67, 0x29, 0x0a, 0x4c, 0x43, 0x5f, + 0x57, 0x41, 0x52, 0x50, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x5f, 0x52, 0x45, 0x44, 0x55, + 0x43, 0x45, 0x5f, 0x53, 0x43, 0x41, 0x4c, 0x41, 0x52, 0x28, 0x6d, 0x61, 0x78, 0x2c, 0x20, 0x6c, + 0x6f, 0x6e, 0x67, 0x29, 0x0a, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x41, 0x43, 0x54, + 0x49, 0x56, 0x45, 0x5f, 0x52, 0x45, 0x44, 0x55, 0x43, 0x45, 0x5f, 0x53, 0x43, 0x41, 0x4c, 0x41, + 0x52, 0x28, 0x73, 0x75, 0x6d, 0x2c, 0x20, 0x6c, 0x6f, 0x6e, 0x67, 0x29, 0x0a, 0x4c, 0x43, 0x5f, + 0x57, 0x41, 0x52, 0x50, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x5f, 0x52, 0x45, 0x44, 0x55, + 0x43, 0x45, 0x5f, 0x53, 0x43, 0x41, 0x4c, 0x41, 0x52, 0x28, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, + 0x74, 0x2c, 0x20, 0x6c, 0x6f, 0x6e, 0x67, 0x29, 0x0a, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, + 0x5f, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x5f, 0x52, 0x45, 0x44, 0x55, 0x43, 0x45, 0x5f, 0x53, + 0x43, 0x41, 0x4c, 0x41, 0x52, 0x28, 0x6d, 0x69, 0x6e, 0x2c, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, + 0x29, 0x0a, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, + 0x5f, 0x52, 0x45, 0x44, 0x55, 0x43, 0x45, 0x5f, 0x53, 0x43, 0x41, 0x4c, 0x41, 0x52, 0x28, 0x6d, + 0x61, 0x78, 0x2c, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x29, 0x0a, 0x4c, 0x43, 0x5f, 0x57, 0x41, + 0x52, 0x50, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x5f, 0x52, 0x45, 0x44, 0x55, 0x43, 0x45, + 0x5f, 0x53, 0x43, 0x41, 0x4c, 0x41, 0x52, 0x28, 0x73, 0x75, 0x6d, 0x2c, 0x20, 0x66, 0x6c, 0x6f, + 0x61, 0x74, 0x29, 0x0a, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x5f, 0x52, 0x45, 0x44, 0x55, 0x43, 0x45, 0x5f, 0x53, 0x43, 0x41, 0x4c, 0x41, 0x52, - 0x28, 0x6d, 0x61, 0x78, 0x2c, 0x20, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x29, 0x0a, 0x2f, 0x2f, - 0x20, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x5f, + 0x28, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x2c, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x29, + 0x0a, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x5f, + 0x52, 0x45, 0x44, 0x55, 0x43, 0x45, 0x5f, 0x53, 0x43, 0x41, 0x4c, 0x41, 0x52, 0x28, 0x6d, 0x69, + 0x6e, 0x2c, 0x20, 0x68, 0x61, 0x6c, 0x66, 0x29, 0x0a, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, + 0x5f, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x5f, 0x52, 0x45, 0x44, 0x55, 0x43, 0x45, 0x5f, 0x53, + 0x43, 0x41, 0x4c, 0x41, 0x52, 0x28, 0x6d, 0x61, 0x78, 0x2c, 0x20, 0x68, 0x61, 0x6c, 0x66, 0x29, + 0x0a, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x5f, 0x52, 0x45, 0x44, 0x55, 0x43, 0x45, 0x5f, 0x53, 0x43, 0x41, 0x4c, 0x41, 0x52, 0x28, 0x73, 0x75, - 0x6d, 0x2c, 0x20, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x29, 0x0a, 0x2f, 0x2f, 0x20, 0x4c, 0x43, - 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x5f, 0x52, 0x45, 0x44, - 0x55, 0x43, 0x45, 0x5f, 0x53, 0x43, 0x41, 0x4c, 0x41, 0x52, 0x28, 0x70, 0x72, 0x6f, 0x64, 0x75, - 0x63, 0x74, 0x2c, 0x20, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x29, 0x0a, 0x0a, 0x23, 0x75, 0x6e, - 0x64, 0x65, 0x66, 0x20, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x41, 0x43, 0x54, 0x49, - 0x56, 0x45, 0x5f, 0x52, 0x45, 0x44, 0x55, 0x43, 0x45, 0x5f, 0x53, 0x43, 0x41, 0x4c, 0x41, 0x52, - 0x0a, 0x0a, 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, - 0x50, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x5f, 0x52, 0x45, 0x44, 0x55, 0x43, 0x45, 0x5f, - 0x56, 0x45, 0x43, 0x54, 0x4f, 0x52, 0x32, 0x28, 0x6f, 0x70, 0x2c, 0x20, 0x54, 0x29, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5b, 0x5b, 0x6e, - 0x6f, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x5d, 0x5d, 0x20, 0x5f, 0x5f, 0x64, 0x65, 0x76, - 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x61, 0x75, 0x74, - 0x6f, 0x20, 0x6c, 0x63, 0x5f, 0x77, 0x61, 0x72, 0x70, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, - 0x5f, 0x23, 0x23, 0x6f, 0x70, 0x28, 0x6c, 0x63, 0x5f, 0x23, 0x23, 0x54, 0x23, 0x23, 0x32, 0x20, - 0x76, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x20, 0x5c, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x6c, - 0x63, 0x5f, 0x6d, 0x61, 0x6b, 0x65, 0x5f, 0x23, 0x23, 0x54, 0x23, 0x23, 0x32, 0x28, 0x6c, 0x63, - 0x5f, 0x77, 0x61, 0x72, 0x70, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x23, 0x23, 0x6f, - 0x70, 0x28, 0x76, 0x2e, 0x78, 0x29, 0x2c, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x77, 0x61, 0x72, 0x70, 0x5f, 0x61, 0x63, 0x74, - 0x69, 0x76, 0x65, 0x5f, 0x23, 0x23, 0x6f, 0x70, 0x28, 0x76, 0x2e, 0x79, 0x29, 0x29, 0x3b, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x7d, 0x0a, 0x0a, 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, 0x4c, 0x43, 0x5f, - 0x57, 0x41, 0x52, 0x50, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x5f, 0x52, 0x45, 0x44, 0x55, - 0x43, 0x45, 0x5f, 0x56, 0x45, 0x43, 0x54, 0x4f, 0x52, 0x33, 0x28, 0x6f, 0x70, 0x2c, 0x20, 0x54, - 0x29, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x5b, 0x5b, 0x6e, 0x6f, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x5d, 0x5d, 0x20, 0x5f, 0x5f, - 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, - 0x61, 0x75, 0x74, 0x6f, 0x20, 0x6c, 0x63, 0x5f, 0x77, 0x61, 0x72, 0x70, 0x5f, 0x61, 0x63, 0x74, - 0x69, 0x76, 0x65, 0x5f, 0x23, 0x23, 0x6f, 0x70, 0x28, 0x6c, 0x63, 0x5f, 0x23, 0x23, 0x54, 0x23, - 0x23, 0x33, 0x20, 0x76, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, - 0x20, 0x5c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, - 0x6e, 0x20, 0x6c, 0x63, 0x5f, 0x6d, 0x61, 0x6b, 0x65, 0x5f, 0x23, 0x23, 0x54, 0x23, 0x23, 0x33, - 0x28, 0x6c, 0x63, 0x5f, 0x77, 0x61, 0x72, 0x70, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, - 0x23, 0x23, 0x6f, 0x70, 0x28, 0x76, 0x2e, 0x78, 0x29, 0x2c, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x6d, 0x2c, 0x20, 0x68, 0x61, 0x6c, 0x66, 0x29, 0x0a, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, + 0x5f, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x5f, 0x52, 0x45, 0x44, 0x55, 0x43, 0x45, 0x5f, 0x53, + 0x43, 0x41, 0x4c, 0x41, 0x52, 0x28, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x2c, 0x20, 0x68, + 0x61, 0x6c, 0x66, 0x29, 0x0a, 0x2f, 0x2f, 0x20, 0x54, 0x4f, 0x44, 0x4f, 0x3a, 0x20, 0x64, 0x6f, + 0x75, 0x62, 0x6c, 0x65, 0x0a, 0x2f, 0x2f, 0x20, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, + 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x5f, 0x52, 0x45, 0x44, 0x55, 0x43, 0x45, 0x5f, 0x53, 0x43, + 0x41, 0x4c, 0x41, 0x52, 0x28, 0x6d, 0x69, 0x6e, 0x2c, 0x20, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, + 0x29, 0x0a, 0x2f, 0x2f, 0x20, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x41, 0x43, 0x54, + 0x49, 0x56, 0x45, 0x5f, 0x52, 0x45, 0x44, 0x55, 0x43, 0x45, 0x5f, 0x53, 0x43, 0x41, 0x4c, 0x41, + 0x52, 0x28, 0x6d, 0x61, 0x78, 0x2c, 0x20, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x29, 0x0a, 0x2f, + 0x2f, 0x20, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, + 0x5f, 0x52, 0x45, 0x44, 0x55, 0x43, 0x45, 0x5f, 0x53, 0x43, 0x41, 0x4c, 0x41, 0x52, 0x28, 0x73, + 0x75, 0x6d, 0x2c, 0x20, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x29, 0x0a, 0x2f, 0x2f, 0x20, 0x4c, + 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x5f, 0x52, 0x45, + 0x44, 0x55, 0x43, 0x45, 0x5f, 0x53, 0x43, 0x41, 0x4c, 0x41, 0x52, 0x28, 0x70, 0x72, 0x6f, 0x64, + 0x75, 0x63, 0x74, 0x2c, 0x20, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x29, 0x0a, 0x0a, 0x23, 0x75, + 0x6e, 0x64, 0x65, 0x66, 0x20, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x41, 0x43, 0x54, + 0x49, 0x56, 0x45, 0x5f, 0x52, 0x45, 0x44, 0x55, 0x43, 0x45, 0x5f, 0x53, 0x43, 0x41, 0x4c, 0x41, + 0x52, 0x0a, 0x0a, 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, 0x4c, 0x43, 0x5f, 0x57, 0x41, + 0x52, 0x50, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x5f, 0x52, 0x45, 0x44, 0x55, 0x43, 0x45, + 0x5f, 0x56, 0x45, 0x43, 0x54, 0x4f, 0x52, 0x32, 0x28, 0x6f, 0x70, 0x2c, 0x20, 0x54, 0x29, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x77, 0x61, 0x72, 0x70, 0x5f, - 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x23, 0x23, 0x6f, 0x70, 0x28, 0x76, 0x2e, 0x79, 0x29, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5b, 0x5b, + 0x6e, 0x6f, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x5d, 0x5d, 0x20, 0x5f, 0x5f, 0x64, 0x65, + 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x6c, 0x63, 0x5f, 0x77, + 0x61, 0x72, 0x70, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x23, 0x23, 0x6f, 0x70, 0x28, + 0x6c, 0x63, 0x5f, 0x23, 0x23, 0x54, 0x23, 0x23, 0x32, 0x20, 0x76, 0x29, 0x20, 0x6e, 0x6f, 0x65, + 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x20, 0x5c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x6c, 0x63, 0x5f, 0x6d, 0x61, 0x6b, 0x65, + 0x5f, 0x23, 0x23, 0x54, 0x23, 0x23, 0x32, 0x28, 0x6c, 0x63, 0x5f, 0x77, 0x61, 0x72, 0x70, 0x5f, + 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x23, 0x23, 0x6f, 0x70, 0x28, 0x76, 0x2e, 0x78, 0x29, 0x2c, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x77, 0x61, 0x72, 0x70, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x23, 0x23, - 0x6f, 0x70, 0x28, 0x76, 0x2e, 0x7a, 0x29, 0x29, 0x3b, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x6f, 0x70, 0x28, 0x76, 0x2e, 0x79, 0x29, 0x29, 0x3b, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x0a, 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x5f, 0x52, 0x45, 0x44, 0x55, 0x43, 0x45, 0x5f, 0x56, 0x45, 0x43, - 0x54, 0x4f, 0x52, 0x34, 0x28, 0x6f, 0x70, 0x2c, 0x20, 0x54, 0x29, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x54, 0x4f, 0x52, 0x33, 0x28, 0x6f, 0x70, 0x2c, 0x20, 0x54, 0x29, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5b, 0x5b, 0x6e, 0x6f, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x5d, 0x5d, 0x20, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, - 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x6c, - 0x63, 0x5f, 0x77, 0x61, 0x72, 0x70, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x23, 0x23, - 0x6f, 0x70, 0x28, 0x6c, 0x63, 0x5f, 0x23, 0x23, 0x54, 0x23, 0x23, 0x34, 0x20, 0x76, 0x29, 0x20, - 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x20, 0x5c, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x6c, 0x63, 0x5f, 0x6d, - 0x61, 0x6b, 0x65, 0x5f, 0x23, 0x23, 0x54, 0x23, 0x23, 0x34, 0x28, 0x6c, 0x63, 0x5f, 0x77, 0x61, + 0x5f, 0x5f, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x6c, 0x63, 0x5f, 0x77, 0x61, 0x72, 0x70, 0x5f, + 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x23, 0x23, 0x6f, 0x70, 0x28, 0x6c, 0x63, 0x5f, 0x23, + 0x23, 0x54, 0x23, 0x23, 0x33, 0x20, 0x76, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, + 0x74, 0x20, 0x7b, 0x20, 0x5c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, + 0x74, 0x75, 0x72, 0x6e, 0x20, 0x6c, 0x63, 0x5f, 0x6d, 0x61, 0x6b, 0x65, 0x5f, 0x23, 0x23, 0x54, + 0x23, 0x23, 0x33, 0x28, 0x6c, 0x63, 0x5f, 0x77, 0x61, 0x72, 0x70, 0x5f, 0x61, 0x63, 0x74, 0x69, + 0x76, 0x65, 0x5f, 0x23, 0x23, 0x6f, 0x70, 0x28, 0x76, 0x2e, 0x78, 0x29, 0x2c, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x77, 0x61, 0x72, 0x70, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x23, 0x23, 0x6f, 0x70, 0x28, 0x76, - 0x2e, 0x78, 0x29, 0x2c, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x2e, 0x79, 0x29, 0x2c, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x77, 0x61, 0x72, 0x70, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, - 0x5f, 0x23, 0x23, 0x6f, 0x70, 0x28, 0x76, 0x2e, 0x79, 0x29, 0x2c, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x5f, 0x23, 0x23, 0x6f, 0x70, 0x28, 0x76, 0x2e, 0x7a, 0x29, 0x29, 0x3b, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x77, 0x61, 0x72, 0x70, - 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x23, 0x23, 0x6f, 0x70, 0x28, 0x76, 0x2e, 0x7a, - 0x29, 0x2c, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, + 0x0a, 0x0a, 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, + 0x50, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x5f, 0x52, 0x45, 0x44, 0x55, 0x43, 0x45, 0x5f, + 0x56, 0x45, 0x43, 0x54, 0x4f, 0x52, 0x34, 0x28, 0x6f, 0x70, 0x2c, 0x20, 0x54, 0x29, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x5c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x6c, 0x63, 0x5f, 0x77, 0x61, 0x72, 0x70, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x23, - 0x23, 0x6f, 0x70, 0x28, 0x76, 0x2e, 0x77, 0x29, 0x29, 0x3b, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5b, 0x5b, 0x6e, + 0x6f, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x5d, 0x5d, 0x20, 0x5f, 0x5f, 0x64, 0x65, 0x76, + 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x6c, 0x63, 0x5f, 0x77, 0x61, + 0x72, 0x70, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x23, 0x23, 0x6f, 0x70, 0x28, 0x6c, + 0x63, 0x5f, 0x23, 0x23, 0x54, 0x23, 0x23, 0x34, 0x20, 0x76, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, + 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x20, 0x5c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x6c, 0x63, 0x5f, 0x6d, 0x61, 0x6b, 0x65, 0x5f, + 0x23, 0x23, 0x54, 0x23, 0x23, 0x34, 0x28, 0x6c, 0x63, 0x5f, 0x77, 0x61, 0x72, 0x70, 0x5f, 0x61, + 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x23, 0x23, 0x6f, 0x70, 0x28, 0x76, 0x2e, 0x78, 0x29, 0x2c, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x0a, - 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, - 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x5f, 0x52, 0x45, 0x44, 0x55, 0x43, 0x45, 0x28, 0x54, 0x29, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x41, 0x43, 0x54, 0x49, - 0x56, 0x45, 0x5f, 0x52, 0x45, 0x44, 0x55, 0x43, 0x45, 0x5f, 0x56, 0x45, 0x43, 0x54, 0x4f, 0x52, - 0x32, 0x28, 0x6d, 0x69, 0x6e, 0x2c, 0x20, 0x54, 0x29, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x41, 0x43, 0x54, 0x49, - 0x56, 0x45, 0x5f, 0x52, 0x45, 0x44, 0x55, 0x43, 0x45, 0x5f, 0x56, 0x45, 0x43, 0x54, 0x4f, 0x52, - 0x33, 0x28, 0x6d, 0x69, 0x6e, 0x2c, 0x20, 0x54, 0x29, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x41, 0x43, 0x54, 0x49, - 0x56, 0x45, 0x5f, 0x52, 0x45, 0x44, 0x55, 0x43, 0x45, 0x5f, 0x56, 0x45, 0x43, 0x54, 0x4f, 0x52, - 0x34, 0x28, 0x6d, 0x69, 0x6e, 0x2c, 0x20, 0x54, 0x29, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x41, 0x43, 0x54, 0x49, - 0x56, 0x45, 0x5f, 0x52, 0x45, 0x44, 0x55, 0x43, 0x45, 0x5f, 0x56, 0x45, 0x43, 0x54, 0x4f, 0x52, - 0x32, 0x28, 0x6d, 0x61, 0x78, 0x2c, 0x20, 0x54, 0x29, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x41, 0x43, 0x54, 0x49, - 0x56, 0x45, 0x5f, 0x52, 0x45, 0x44, 0x55, 0x43, 0x45, 0x5f, 0x56, 0x45, 0x43, 0x54, 0x4f, 0x52, - 0x33, 0x28, 0x6d, 0x61, 0x78, 0x2c, 0x20, 0x54, 0x29, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x41, 0x43, 0x54, 0x49, - 0x56, 0x45, 0x5f, 0x52, 0x45, 0x44, 0x55, 0x43, 0x45, 0x5f, 0x56, 0x45, 0x43, 0x54, 0x4f, 0x52, - 0x34, 0x28, 0x6d, 0x61, 0x78, 0x2c, 0x20, 0x54, 0x29, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x41, 0x43, 0x54, 0x49, - 0x56, 0x45, 0x5f, 0x52, 0x45, 0x44, 0x55, 0x43, 0x45, 0x5f, 0x56, 0x45, 0x43, 0x54, 0x4f, 0x52, - 0x32, 0x28, 0x73, 0x75, 0x6d, 0x2c, 0x20, 0x54, 0x29, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x41, 0x43, 0x54, 0x49, - 0x56, 0x45, 0x5f, 0x52, 0x45, 0x44, 0x55, 0x43, 0x45, 0x5f, 0x56, 0x45, 0x43, 0x54, 0x4f, 0x52, - 0x33, 0x28, 0x73, 0x75, 0x6d, 0x2c, 0x20, 0x54, 0x29, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x41, 0x43, 0x54, 0x49, - 0x56, 0x45, 0x5f, 0x52, 0x45, 0x44, 0x55, 0x43, 0x45, 0x5f, 0x56, 0x45, 0x43, 0x54, 0x4f, 0x52, - 0x34, 0x28, 0x73, 0x75, 0x6d, 0x2c, 0x20, 0x54, 0x29, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x41, 0x43, 0x54, 0x49, - 0x56, 0x45, 0x5f, 0x52, 0x45, 0x44, 0x55, 0x43, 0x45, 0x5f, 0x56, 0x45, 0x43, 0x54, 0x4f, 0x52, - 0x32, 0x28, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x2c, 0x20, 0x54, 0x29, 0x20, 0x5c, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x41, 0x43, 0x54, 0x49, - 0x56, 0x45, 0x5f, 0x52, 0x45, 0x44, 0x55, 0x43, 0x45, 0x5f, 0x56, 0x45, 0x43, 0x54, 0x4f, 0x52, - 0x33, 0x28, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x2c, 0x20, 0x54, 0x29, 0x20, 0x5c, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x41, 0x43, 0x54, 0x49, - 0x56, 0x45, 0x5f, 0x52, 0x45, 0x44, 0x55, 0x43, 0x45, 0x5f, 0x56, 0x45, 0x43, 0x54, 0x4f, 0x52, - 0x34, 0x28, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x2c, 0x20, 0x54, 0x29, 0x0a, 0x0a, 0x4c, - 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x5f, 0x52, 0x45, - 0x44, 0x55, 0x43, 0x45, 0x28, 0x75, 0x69, 0x6e, 0x74, 0x29, 0x0a, 0x4c, 0x43, 0x5f, 0x57, 0x41, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, + 0x5f, 0x77, 0x61, 0x72, 0x70, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x23, 0x23, 0x6f, + 0x70, 0x28, 0x76, 0x2e, 0x79, 0x29, 0x2c, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x77, 0x61, 0x72, 0x70, 0x5f, 0x61, 0x63, 0x74, + 0x69, 0x76, 0x65, 0x5f, 0x23, 0x23, 0x6f, 0x70, 0x28, 0x76, 0x2e, 0x7a, 0x29, 0x2c, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x77, + 0x61, 0x72, 0x70, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x23, 0x23, 0x6f, 0x70, 0x28, + 0x76, 0x2e, 0x77, 0x29, 0x29, 0x3b, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x5c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x0a, 0x23, 0x64, 0x65, 0x66, + 0x69, 0x6e, 0x65, 0x20, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x41, 0x43, 0x54, 0x49, + 0x56, 0x45, 0x5f, 0x52, 0x45, 0x44, 0x55, 0x43, 0x45, 0x28, 0x54, 0x29, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x5f, 0x52, + 0x45, 0x44, 0x55, 0x43, 0x45, 0x5f, 0x56, 0x45, 0x43, 0x54, 0x4f, 0x52, 0x32, 0x28, 0x6d, 0x69, + 0x6e, 0x2c, 0x20, 0x54, 0x29, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x5f, 0x52, + 0x45, 0x44, 0x55, 0x43, 0x45, 0x5f, 0x56, 0x45, 0x43, 0x54, 0x4f, 0x52, 0x33, 0x28, 0x6d, 0x69, + 0x6e, 0x2c, 0x20, 0x54, 0x29, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x5f, 0x52, + 0x45, 0x44, 0x55, 0x43, 0x45, 0x5f, 0x56, 0x45, 0x43, 0x54, 0x4f, 0x52, 0x34, 0x28, 0x6d, 0x69, + 0x6e, 0x2c, 0x20, 0x54, 0x29, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x5f, 0x52, + 0x45, 0x44, 0x55, 0x43, 0x45, 0x5f, 0x56, 0x45, 0x43, 0x54, 0x4f, 0x52, 0x32, 0x28, 0x6d, 0x61, + 0x78, 0x2c, 0x20, 0x54, 0x29, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x5f, 0x52, + 0x45, 0x44, 0x55, 0x43, 0x45, 0x5f, 0x56, 0x45, 0x43, 0x54, 0x4f, 0x52, 0x33, 0x28, 0x6d, 0x61, + 0x78, 0x2c, 0x20, 0x54, 0x29, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x5f, 0x52, + 0x45, 0x44, 0x55, 0x43, 0x45, 0x5f, 0x56, 0x45, 0x43, 0x54, 0x4f, 0x52, 0x34, 0x28, 0x6d, 0x61, + 0x78, 0x2c, 0x20, 0x54, 0x29, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x5f, 0x52, + 0x45, 0x44, 0x55, 0x43, 0x45, 0x5f, 0x56, 0x45, 0x43, 0x54, 0x4f, 0x52, 0x32, 0x28, 0x73, 0x75, + 0x6d, 0x2c, 0x20, 0x54, 0x29, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x5f, 0x52, + 0x45, 0x44, 0x55, 0x43, 0x45, 0x5f, 0x56, 0x45, 0x43, 0x54, 0x4f, 0x52, 0x33, 0x28, 0x73, 0x75, + 0x6d, 0x2c, 0x20, 0x54, 0x29, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x5f, 0x52, + 0x45, 0x44, 0x55, 0x43, 0x45, 0x5f, 0x56, 0x45, 0x43, 0x54, 0x4f, 0x52, 0x34, 0x28, 0x73, 0x75, + 0x6d, 0x2c, 0x20, 0x54, 0x29, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x5f, 0x52, + 0x45, 0x44, 0x55, 0x43, 0x45, 0x5f, 0x56, 0x45, 0x43, 0x54, 0x4f, 0x52, 0x32, 0x28, 0x70, 0x72, + 0x6f, 0x64, 0x75, 0x63, 0x74, 0x2c, 0x20, 0x54, 0x29, 0x20, 0x5c, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x5f, 0x52, + 0x45, 0x44, 0x55, 0x43, 0x45, 0x5f, 0x56, 0x45, 0x43, 0x54, 0x4f, 0x52, 0x33, 0x28, 0x70, 0x72, + 0x6f, 0x64, 0x75, 0x63, 0x74, 0x2c, 0x20, 0x54, 0x29, 0x20, 0x5c, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x5f, 0x52, + 0x45, 0x44, 0x55, 0x43, 0x45, 0x5f, 0x56, 0x45, 0x43, 0x54, 0x4f, 0x52, 0x34, 0x28, 0x70, 0x72, + 0x6f, 0x64, 0x75, 0x63, 0x74, 0x2c, 0x20, 0x54, 0x29, 0x0a, 0x0a, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x5f, 0x52, 0x45, 0x44, 0x55, 0x43, 0x45, - 0x28, 0x69, 0x6e, 0x74, 0x29, 0x0a, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x41, 0x43, - 0x54, 0x49, 0x56, 0x45, 0x5f, 0x52, 0x45, 0x44, 0x55, 0x43, 0x45, 0x28, 0x75, 0x73, 0x68, 0x6f, - 0x72, 0x74, 0x29, 0x0a, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x41, 0x43, 0x54, 0x49, - 0x56, 0x45, 0x5f, 0x52, 0x45, 0x44, 0x55, 0x43, 0x45, 0x28, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x29, - 0x0a, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x5f, - 0x52, 0x45, 0x44, 0x55, 0x43, 0x45, 0x28, 0x75, 0x6c, 0x6f, 0x6e, 0x67, 0x29, 0x0a, 0x4c, 0x43, - 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x5f, 0x52, 0x45, 0x44, - 0x55, 0x43, 0x45, 0x28, 0x6c, 0x6f, 0x6e, 0x67, 0x29, 0x0a, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, + 0x28, 0x75, 0x69, 0x6e, 0x74, 0x29, 0x0a, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x41, + 0x43, 0x54, 0x49, 0x56, 0x45, 0x5f, 0x52, 0x45, 0x44, 0x55, 0x43, 0x45, 0x28, 0x69, 0x6e, 0x74, + 0x29, 0x0a, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, + 0x5f, 0x52, 0x45, 0x44, 0x55, 0x43, 0x45, 0x28, 0x75, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x29, 0x0a, + 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x5f, 0x52, + 0x45, 0x44, 0x55, 0x43, 0x45, 0x28, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x29, 0x0a, 0x4c, 0x43, 0x5f, + 0x57, 0x41, 0x52, 0x50, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x5f, 0x52, 0x45, 0x44, 0x55, + 0x43, 0x45, 0x28, 0x75, 0x6c, 0x6f, 0x6e, 0x67, 0x29, 0x0a, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x5f, 0x52, 0x45, 0x44, 0x55, 0x43, 0x45, 0x28, - 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x29, 0x0a, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x41, - 0x43, 0x54, 0x49, 0x56, 0x45, 0x5f, 0x52, 0x45, 0x44, 0x55, 0x43, 0x45, 0x28, 0x68, 0x61, 0x6c, - 0x66, 0x29, 0x0a, 0x2f, 0x2f, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x41, 0x43, 0x54, - 0x49, 0x56, 0x45, 0x5f, 0x52, 0x45, 0x44, 0x55, 0x43, 0x45, 0x28, 0x64, 0x6f, 0x75, 0x62, 0x6c, - 0x65, 0x29, 0x2f, 0x2f, 0x20, 0x54, 0x4f, 0x44, 0x4f, 0x0a, 0x0a, 0x23, 0x75, 0x6e, 0x64, 0x65, - 0x66, 0x20, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, - 0x5f, 0x52, 0x45, 0x44, 0x55, 0x43, 0x45, 0x5f, 0x56, 0x45, 0x43, 0x54, 0x4f, 0x52, 0x32, 0x0a, - 0x23, 0x75, 0x6e, 0x64, 0x65, 0x66, 0x20, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x41, - 0x43, 0x54, 0x49, 0x56, 0x45, 0x5f, 0x52, 0x45, 0x44, 0x55, 0x43, 0x45, 0x5f, 0x56, 0x45, 0x43, - 0x54, 0x4f, 0x52, 0x33, 0x0a, 0x23, 0x75, 0x6e, 0x64, 0x65, 0x66, 0x20, 0x4c, 0x43, 0x5f, 0x57, - 0x41, 0x52, 0x50, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x5f, 0x52, 0x45, 0x44, 0x55, 0x43, - 0x45, 0x5f, 0x56, 0x45, 0x43, 0x54, 0x4f, 0x52, 0x34, 0x0a, 0x23, 0x75, 0x6e, 0x64, 0x65, 0x66, - 0x20, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x5f, - 0x52, 0x45, 0x44, 0x55, 0x43, 0x45, 0x0a, 0x0a, 0x5b, 0x5b, 0x6e, 0x6f, 0x64, 0x69, 0x73, 0x63, - 0x61, 0x72, 0x64, 0x5d, 0x5d, 0x20, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, - 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x6c, 0x63, 0x5f, - 0x77, 0x61, 0x72, 0x70, 0x5f, 0x70, 0x72, 0x65, 0x76, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, - 0x5f, 0x6c, 0x61, 0x6e, 0x65, 0x28, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, - 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x6d, 0x61, 0x73, 0x6b, - 0x20, 0x3d, 0x20, 0x30, 0x75, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x6d, 0x28, 0x22, - 0x6d, 0x6f, 0x76, 0x2e, 0x75, 0x33, 0x32, 0x20, 0x25, 0x30, 0x2c, 0x20, 0x25, 0x6c, 0x61, 0x6e, - 0x65, 0x6d, 0x61, 0x73, 0x6b, 0x5f, 0x6c, 0x74, 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x72, 0x22, 0x28, 0x6d, 0x61, 0x73, 0x6b, 0x29, 0x29, - 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x28, 0x6c, 0x63, - 0x5f, 0x77, 0x61, 0x72, 0x70, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x28, 0x29, 0x20, 0x2d, 0x20, 0x31, - 0x75, 0x29, 0x20, 0x2d, 0x20, 0x5f, 0x5f, 0x63, 0x6c, 0x7a, 0x28, 0x4c, 0x43, 0x5f, 0x57, 0x41, - 0x52, 0x50, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x5f, 0x4d, 0x41, 0x53, 0x4b, 0x20, 0x26, - 0x20, 0x6d, 0x61, 0x73, 0x6b, 0x29, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x74, 0x65, 0x6d, 0x70, 0x6c, - 0x61, 0x74, 0x65, 0x3c, 0x74, 0x79, 0x70, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x54, 0x2c, 0x20, - 0x74, 0x79, 0x70, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x46, 0x3e, 0x0a, 0x5b, 0x5b, 0x6e, 0x6f, - 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x5d, 0x5d, 0x20, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, - 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x61, 0x75, 0x74, 0x6f, - 0x20, 0x6c, 0x63, 0x5f, 0x77, 0x61, 0x72, 0x70, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x5f, - 0x72, 0x65, 0x64, 0x75, 0x63, 0x65, 0x5f, 0x69, 0x6d, 0x70, 0x6c, 0x28, 0x54, 0x20, 0x78, 0x2c, - 0x20, 0x54, 0x20, 0x75, 0x6e, 0x69, 0x74, 0x2c, 0x20, 0x46, 0x20, 0x66, 0x29, 0x20, 0x6e, 0x6f, - 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x75, 0x74, - 0x6f, 0x20, 0x6d, 0x61, 0x73, 0x6b, 0x20, 0x3d, 0x20, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, - 0x5f, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x5f, 0x4d, 0x41, 0x53, 0x4b, 0x3b, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x6c, 0x61, 0x6e, 0x65, 0x20, 0x3d, 0x20, 0x6c, 0x63, - 0x5f, 0x77, 0x61, 0x72, 0x70, 0x5f, 0x6c, 0x61, 0x6e, 0x65, 0x5f, 0x69, 0x64, 0x28, 0x29, 0x3b, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x78, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x73, 0x68, 0x66, 0x6c, 0x5f, - 0x73, 0x79, 0x6e, 0x63, 0x28, 0x6d, 0x61, 0x73, 0x6b, 0x2c, 0x20, 0x78, 0x2c, 0x20, 0x6c, 0x63, - 0x5f, 0x77, 0x61, 0x72, 0x70, 0x5f, 0x70, 0x72, 0x65, 0x76, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, - 0x65, 0x5f, 0x6c, 0x61, 0x6e, 0x65, 0x28, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x78, - 0x20, 0x3d, 0x20, 0x28, 0x6c, 0x61, 0x6e, 0x65, 0x20, 0x3d, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x77, - 0x61, 0x72, 0x70, 0x5f, 0x66, 0x69, 0x72, 0x73, 0x74, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, - 0x5f, 0x6c, 0x61, 0x6e, 0x65, 0x28, 0x29, 0x29, 0x20, 0x3f, 0x20, 0x75, 0x6e, 0x69, 0x74, 0x20, - 0x3a, 0x20, 0x78, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x28, 0x61, 0x75, 0x74, - 0x6f, 0x20, 0x79, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x73, 0x68, 0x66, 0x6c, 0x5f, 0x75, 0x70, 0x5f, - 0x73, 0x79, 0x6e, 0x63, 0x28, 0x6d, 0x61, 0x73, 0x6b, 0x2c, 0x20, 0x78, 0x2c, 0x20, 0x30, 0x78, - 0x30, 0x31, 0x75, 0x29, 0x3b, 0x20, 0x6c, 0x61, 0x6e, 0x65, 0x20, 0x3e, 0x3d, 0x20, 0x30, 0x78, - 0x30, 0x31, 0x75, 0x20, 0x26, 0x26, 0x20, 0x28, 0x6d, 0x61, 0x73, 0x6b, 0x20, 0x26, 0x20, 0x28, - 0x31, 0x75, 0x20, 0x3c, 0x3c, 0x20, 0x28, 0x6c, 0x61, 0x6e, 0x65, 0x20, 0x2d, 0x20, 0x30, 0x78, - 0x30, 0x31, 0x75, 0x29, 0x29, 0x29, 0x29, 0x20, 0x7b, 0x20, 0x78, 0x20, 0x3d, 0x20, 0x66, 0x28, - 0x78, 0x2c, 0x20, 0x79, 0x29, 0x3b, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, - 0x28, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x79, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x73, 0x68, 0x66, 0x6c, - 0x5f, 0x75, 0x70, 0x5f, 0x73, 0x79, 0x6e, 0x63, 0x28, 0x6d, 0x61, 0x73, 0x6b, 0x2c, 0x20, 0x78, - 0x2c, 0x20, 0x30, 0x78, 0x30, 0x32, 0x75, 0x29, 0x3b, 0x20, 0x6c, 0x61, 0x6e, 0x65, 0x20, 0x3e, - 0x3d, 0x20, 0x30, 0x78, 0x30, 0x32, 0x75, 0x20, 0x26, 0x26, 0x20, 0x28, 0x6d, 0x61, 0x73, 0x6b, - 0x20, 0x26, 0x20, 0x28, 0x31, 0x75, 0x20, 0x3c, 0x3c, 0x20, 0x28, 0x6c, 0x61, 0x6e, 0x65, 0x20, - 0x2d, 0x20, 0x30, 0x78, 0x30, 0x32, 0x75, 0x29, 0x29, 0x29, 0x29, 0x20, 0x7b, 0x20, 0x78, 0x20, - 0x3d, 0x20, 0x66, 0x28, 0x78, 0x2c, 0x20, 0x79, 0x29, 0x3b, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x69, 0x66, 0x20, 0x28, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x79, 0x20, 0x3d, 0x20, 0x5f, 0x5f, - 0x73, 0x68, 0x66, 0x6c, 0x5f, 0x75, 0x70, 0x5f, 0x73, 0x79, 0x6e, 0x63, 0x28, 0x6d, 0x61, 0x73, - 0x6b, 0x2c, 0x20, 0x78, 0x2c, 0x20, 0x30, 0x78, 0x30, 0x34, 0x75, 0x29, 0x3b, 0x20, 0x6c, 0x61, - 0x6e, 0x65, 0x20, 0x3e, 0x3d, 0x20, 0x30, 0x78, 0x30, 0x34, 0x75, 0x20, 0x26, 0x26, 0x20, 0x28, - 0x6d, 0x61, 0x73, 0x6b, 0x20, 0x26, 0x20, 0x28, 0x31, 0x75, 0x20, 0x3c, 0x3c, 0x20, 0x28, 0x6c, - 0x61, 0x6e, 0x65, 0x20, 0x2d, 0x20, 0x30, 0x78, 0x30, 0x34, 0x75, 0x29, 0x29, 0x29, 0x29, 0x20, - 0x7b, 0x20, 0x78, 0x20, 0x3d, 0x20, 0x66, 0x28, 0x78, 0x2c, 0x20, 0x79, 0x29, 0x3b, 0x20, 0x7d, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x28, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x79, 0x20, - 0x3d, 0x20, 0x5f, 0x5f, 0x73, 0x68, 0x66, 0x6c, 0x5f, 0x75, 0x70, 0x5f, 0x73, 0x79, 0x6e, 0x63, - 0x28, 0x6d, 0x61, 0x73, 0x6b, 0x2c, 0x20, 0x78, 0x2c, 0x20, 0x30, 0x78, 0x30, 0x38, 0x75, 0x29, - 0x3b, 0x20, 0x6c, 0x61, 0x6e, 0x65, 0x20, 0x3e, 0x3d, 0x20, 0x30, 0x78, 0x30, 0x38, 0x75, 0x20, - 0x26, 0x26, 0x20, 0x28, 0x6d, 0x61, 0x73, 0x6b, 0x20, 0x26, 0x20, 0x28, 0x31, 0x75, 0x20, 0x3c, - 0x3c, 0x20, 0x28, 0x6c, 0x61, 0x6e, 0x65, 0x20, 0x2d, 0x20, 0x30, 0x78, 0x30, 0x38, 0x75, 0x29, - 0x29, 0x29, 0x29, 0x20, 0x7b, 0x20, 0x78, 0x20, 0x3d, 0x20, 0x66, 0x28, 0x78, 0x2c, 0x20, 0x79, - 0x29, 0x3b, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x28, 0x61, 0x75, 0x74, - 0x6f, 0x20, 0x79, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x73, 0x68, 0x66, 0x6c, 0x5f, 0x75, 0x70, 0x5f, - 0x73, 0x79, 0x6e, 0x63, 0x28, 0x6d, 0x61, 0x73, 0x6b, 0x2c, 0x20, 0x78, 0x2c, 0x20, 0x30, 0x78, - 0x31, 0x30, 0x75, 0x29, 0x3b, 0x20, 0x6c, 0x61, 0x6e, 0x65, 0x20, 0x3e, 0x3d, 0x20, 0x30, 0x78, - 0x31, 0x30, 0x75, 0x20, 0x26, 0x26, 0x20, 0x28, 0x6d, 0x61, 0x73, 0x6b, 0x20, 0x26, 0x20, 0x28, - 0x31, 0x75, 0x20, 0x3c, 0x3c, 0x20, 0x28, 0x6c, 0x61, 0x6e, 0x65, 0x20, 0x2d, 0x20, 0x30, 0x78, - 0x31, 0x30, 0x75, 0x29, 0x29, 0x29, 0x29, 0x20, 0x7b, 0x20, 0x78, 0x20, 0x3d, 0x20, 0x66, 0x28, - 0x78, 0x2c, 0x20, 0x79, 0x29, 0x3b, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, - 0x75, 0x72, 0x6e, 0x20, 0x78, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, - 0x74, 0x65, 0x3c, 0x74, 0x79, 0x70, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x54, 0x3e, 0x0a, 0x5b, - 0x5b, 0x6e, 0x6f, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x5d, 0x5d, 0x20, 0x5f, 0x5f, 0x64, - 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x61, - 0x75, 0x74, 0x6f, 0x20, 0x6c, 0x63, 0x5f, 0x77, 0x61, 0x72, 0x70, 0x5f, 0x70, 0x72, 0x65, 0x66, - 0x69, 0x78, 0x5f, 0x73, 0x75, 0x6d, 0x5f, 0x69, 0x6d, 0x70, 0x6c, 0x28, 0x54, 0x20, 0x78, 0x29, - 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x6c, 0x63, 0x5f, 0x77, 0x61, 0x72, 0x70, 0x5f, 0x70, - 0x72, 0x65, 0x66, 0x69, 0x78, 0x5f, 0x72, 0x65, 0x64, 0x75, 0x63, 0x65, 0x5f, 0x69, 0x6d, 0x70, - 0x6c, 0x28, 0x78, 0x2c, 0x20, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x5f, 0x63, 0x61, 0x73, 0x74, - 0x3c, 0x54, 0x3e, 0x28, 0x30, 0x29, 0x2c, 0x20, 0x5b, 0x5d, 0x28, 0x54, 0x20, 0x61, 0x2c, 0x20, - 0x54, 0x20, 0x62, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x20, - 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x61, 0x20, 0x2b, 0x20, 0x62, 0x3b, 0x20, 0x7d, 0x29, - 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x3c, 0x74, 0x79, - 0x70, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x54, 0x3e, 0x0a, 0x5b, 0x5b, 0x6e, 0x6f, 0x64, 0x69, - 0x73, 0x63, 0x61, 0x72, 0x64, 0x5d, 0x5d, 0x20, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, - 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x6c, + 0x6c, 0x6f, 0x6e, 0x67, 0x29, 0x0a, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x41, 0x43, + 0x54, 0x49, 0x56, 0x45, 0x5f, 0x52, 0x45, 0x44, 0x55, 0x43, 0x45, 0x28, 0x66, 0x6c, 0x6f, 0x61, + 0x74, 0x29, 0x0a, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x56, + 0x45, 0x5f, 0x52, 0x45, 0x44, 0x55, 0x43, 0x45, 0x28, 0x68, 0x61, 0x6c, 0x66, 0x29, 0x0a, 0x2f, + 0x2f, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x5f, + 0x52, 0x45, 0x44, 0x55, 0x43, 0x45, 0x28, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x29, 0x2f, 0x2f, + 0x20, 0x54, 0x4f, 0x44, 0x4f, 0x0a, 0x0a, 0x23, 0x75, 0x6e, 0x64, 0x65, 0x66, 0x20, 0x4c, 0x43, + 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x5f, 0x52, 0x45, 0x44, + 0x55, 0x43, 0x45, 0x5f, 0x56, 0x45, 0x43, 0x54, 0x4f, 0x52, 0x32, 0x0a, 0x23, 0x75, 0x6e, 0x64, + 0x65, 0x66, 0x20, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x56, + 0x45, 0x5f, 0x52, 0x45, 0x44, 0x55, 0x43, 0x45, 0x5f, 0x56, 0x45, 0x43, 0x54, 0x4f, 0x52, 0x33, + 0x0a, 0x23, 0x75, 0x6e, 0x64, 0x65, 0x66, 0x20, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, + 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x5f, 0x52, 0x45, 0x44, 0x55, 0x43, 0x45, 0x5f, 0x56, 0x45, + 0x43, 0x54, 0x4f, 0x52, 0x34, 0x0a, 0x23, 0x75, 0x6e, 0x64, 0x65, 0x66, 0x20, 0x4c, 0x43, 0x5f, + 0x57, 0x41, 0x52, 0x50, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x5f, 0x52, 0x45, 0x44, 0x55, + 0x43, 0x45, 0x0a, 0x0a, 0x5b, 0x5b, 0x6e, 0x6f, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x5d, + 0x5d, 0x20, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x61, 0x75, 0x74, + 0x6f, 0x20, 0x6c, 0x63, 0x5f, 0x77, 0x61, 0x72, 0x70, 0x5f, 0x70, 0x72, 0x65, 0x76, 0x5f, 0x61, + 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x6c, 0x61, 0x6e, 0x65, 0x28, 0x29, 0x20, 0x6e, 0x6f, 0x65, + 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x75, 0x74, 0x6f, + 0x20, 0x6d, 0x61, 0x73, 0x6b, 0x20, 0x3d, 0x20, 0x30, 0x75, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x61, 0x73, 0x6d, 0x28, 0x22, 0x6d, 0x6f, 0x76, 0x2e, 0x75, 0x33, 0x32, 0x20, 0x25, 0x30, 0x2c, + 0x20, 0x25, 0x6c, 0x61, 0x6e, 0x65, 0x6d, 0x61, 0x73, 0x6b, 0x5f, 0x6c, 0x74, 0x3b, 0x22, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3a, 0x20, 0x22, 0x3d, 0x72, 0x22, 0x28, 0x6d, + 0x61, 0x73, 0x6b, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, + 0x6e, 0x20, 0x28, 0x6c, 0x63, 0x5f, 0x77, 0x61, 0x72, 0x70, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x28, + 0x29, 0x20, 0x2d, 0x20, 0x31, 0x75, 0x29, 0x20, 0x2d, 0x20, 0x5f, 0x5f, 0x63, 0x6c, 0x7a, 0x28, + 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x5f, 0x4d, + 0x41, 0x53, 0x4b, 0x20, 0x26, 0x20, 0x6d, 0x61, 0x73, 0x6b, 0x29, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, + 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x3c, 0x74, 0x79, 0x70, 0x65, 0x6e, 0x61, 0x6d, + 0x65, 0x20, 0x54, 0x2c, 0x20, 0x74, 0x79, 0x70, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x46, 0x3e, + 0x0a, 0x5b, 0x5b, 0x6e, 0x6f, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x5d, 0x5d, 0x20, 0x5f, + 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x6c, + 0x63, 0x5f, 0x77, 0x61, 0x72, 0x70, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x5f, 0x72, 0x65, + 0x64, 0x75, 0x63, 0x65, 0x5f, 0x69, 0x6d, 0x70, 0x6c, 0x28, 0x54, 0x20, 0x78, 0x2c, 0x20, 0x54, + 0x20, 0x75, 0x6e, 0x69, 0x74, 0x2c, 0x20, 0x46, 0x20, 0x66, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, + 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, + 0x6d, 0x61, 0x73, 0x6b, 0x20, 0x3d, 0x20, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x41, + 0x43, 0x54, 0x49, 0x56, 0x45, 0x5f, 0x4d, 0x41, 0x53, 0x4b, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x61, 0x75, 0x74, 0x6f, 0x20, 0x6c, 0x61, 0x6e, 0x65, 0x20, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x77, + 0x61, 0x72, 0x70, 0x5f, 0x6c, 0x61, 0x6e, 0x65, 0x5f, 0x69, 0x64, 0x28, 0x29, 0x3b, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x78, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x73, 0x68, 0x66, 0x6c, 0x5f, 0x73, 0x79, + 0x6e, 0x63, 0x28, 0x6d, 0x61, 0x73, 0x6b, 0x2c, 0x20, 0x78, 0x2c, 0x20, 0x6c, 0x63, 0x5f, 0x77, + 0x61, 0x72, 0x70, 0x5f, 0x70, 0x72, 0x65, 0x76, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, + 0x6c, 0x61, 0x6e, 0x65, 0x28, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x78, 0x20, 0x3d, + 0x20, 0x28, 0x6c, 0x61, 0x6e, 0x65, 0x20, 0x3d, 0x3d, 0x20, 0x6c, 0x63, 0x5f, 0x77, 0x61, 0x72, + 0x70, 0x5f, 0x66, 0x69, 0x72, 0x73, 0x74, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x6c, + 0x61, 0x6e, 0x65, 0x28, 0x29, 0x29, 0x20, 0x3f, 0x20, 0x75, 0x6e, 0x69, 0x74, 0x20, 0x3a, 0x20, + 0x78, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x28, 0x61, 0x75, 0x74, 0x6f, 0x20, + 0x79, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x73, 0x68, 0x66, 0x6c, 0x5f, 0x75, 0x70, 0x5f, 0x73, 0x79, + 0x6e, 0x63, 0x28, 0x6d, 0x61, 0x73, 0x6b, 0x2c, 0x20, 0x78, 0x2c, 0x20, 0x30, 0x78, 0x30, 0x31, + 0x75, 0x29, 0x3b, 0x20, 0x6c, 0x61, 0x6e, 0x65, 0x20, 0x3e, 0x3d, 0x20, 0x30, 0x78, 0x30, 0x31, + 0x75, 0x20, 0x26, 0x26, 0x20, 0x28, 0x6d, 0x61, 0x73, 0x6b, 0x20, 0x26, 0x20, 0x28, 0x31, 0x75, + 0x20, 0x3c, 0x3c, 0x20, 0x28, 0x6c, 0x61, 0x6e, 0x65, 0x20, 0x2d, 0x20, 0x30, 0x78, 0x30, 0x31, + 0x75, 0x29, 0x29, 0x29, 0x29, 0x20, 0x7b, 0x20, 0x78, 0x20, 0x3d, 0x20, 0x66, 0x28, 0x78, 0x2c, + 0x20, 0x79, 0x29, 0x3b, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x28, 0x61, + 0x75, 0x74, 0x6f, 0x20, 0x79, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x73, 0x68, 0x66, 0x6c, 0x5f, 0x75, + 0x70, 0x5f, 0x73, 0x79, 0x6e, 0x63, 0x28, 0x6d, 0x61, 0x73, 0x6b, 0x2c, 0x20, 0x78, 0x2c, 0x20, + 0x30, 0x78, 0x30, 0x32, 0x75, 0x29, 0x3b, 0x20, 0x6c, 0x61, 0x6e, 0x65, 0x20, 0x3e, 0x3d, 0x20, + 0x30, 0x78, 0x30, 0x32, 0x75, 0x20, 0x26, 0x26, 0x20, 0x28, 0x6d, 0x61, 0x73, 0x6b, 0x20, 0x26, + 0x20, 0x28, 0x31, 0x75, 0x20, 0x3c, 0x3c, 0x20, 0x28, 0x6c, 0x61, 0x6e, 0x65, 0x20, 0x2d, 0x20, + 0x30, 0x78, 0x30, 0x32, 0x75, 0x29, 0x29, 0x29, 0x29, 0x20, 0x7b, 0x20, 0x78, 0x20, 0x3d, 0x20, + 0x66, 0x28, 0x78, 0x2c, 0x20, 0x79, 0x29, 0x3b, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, + 0x66, 0x20, 0x28, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x79, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x73, 0x68, + 0x66, 0x6c, 0x5f, 0x75, 0x70, 0x5f, 0x73, 0x79, 0x6e, 0x63, 0x28, 0x6d, 0x61, 0x73, 0x6b, 0x2c, + 0x20, 0x78, 0x2c, 0x20, 0x30, 0x78, 0x30, 0x34, 0x75, 0x29, 0x3b, 0x20, 0x6c, 0x61, 0x6e, 0x65, + 0x20, 0x3e, 0x3d, 0x20, 0x30, 0x78, 0x30, 0x34, 0x75, 0x20, 0x26, 0x26, 0x20, 0x28, 0x6d, 0x61, + 0x73, 0x6b, 0x20, 0x26, 0x20, 0x28, 0x31, 0x75, 0x20, 0x3c, 0x3c, 0x20, 0x28, 0x6c, 0x61, 0x6e, + 0x65, 0x20, 0x2d, 0x20, 0x30, 0x78, 0x30, 0x34, 0x75, 0x29, 0x29, 0x29, 0x29, 0x20, 0x7b, 0x20, + 0x78, 0x20, 0x3d, 0x20, 0x66, 0x28, 0x78, 0x2c, 0x20, 0x79, 0x29, 0x3b, 0x20, 0x7d, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x28, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x79, 0x20, 0x3d, 0x20, + 0x5f, 0x5f, 0x73, 0x68, 0x66, 0x6c, 0x5f, 0x75, 0x70, 0x5f, 0x73, 0x79, 0x6e, 0x63, 0x28, 0x6d, + 0x61, 0x73, 0x6b, 0x2c, 0x20, 0x78, 0x2c, 0x20, 0x30, 0x78, 0x30, 0x38, 0x75, 0x29, 0x3b, 0x20, + 0x6c, 0x61, 0x6e, 0x65, 0x20, 0x3e, 0x3d, 0x20, 0x30, 0x78, 0x30, 0x38, 0x75, 0x20, 0x26, 0x26, + 0x20, 0x28, 0x6d, 0x61, 0x73, 0x6b, 0x20, 0x26, 0x20, 0x28, 0x31, 0x75, 0x20, 0x3c, 0x3c, 0x20, + 0x28, 0x6c, 0x61, 0x6e, 0x65, 0x20, 0x2d, 0x20, 0x30, 0x78, 0x30, 0x38, 0x75, 0x29, 0x29, 0x29, + 0x29, 0x20, 0x7b, 0x20, 0x78, 0x20, 0x3d, 0x20, 0x66, 0x28, 0x78, 0x2c, 0x20, 0x79, 0x29, 0x3b, + 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x28, 0x61, 0x75, 0x74, 0x6f, 0x20, + 0x79, 0x20, 0x3d, 0x20, 0x5f, 0x5f, 0x73, 0x68, 0x66, 0x6c, 0x5f, 0x75, 0x70, 0x5f, 0x73, 0x79, + 0x6e, 0x63, 0x28, 0x6d, 0x61, 0x73, 0x6b, 0x2c, 0x20, 0x78, 0x2c, 0x20, 0x30, 0x78, 0x31, 0x30, + 0x75, 0x29, 0x3b, 0x20, 0x6c, 0x61, 0x6e, 0x65, 0x20, 0x3e, 0x3d, 0x20, 0x30, 0x78, 0x31, 0x30, + 0x75, 0x20, 0x26, 0x26, 0x20, 0x28, 0x6d, 0x61, 0x73, 0x6b, 0x20, 0x26, 0x20, 0x28, 0x31, 0x75, + 0x20, 0x3c, 0x3c, 0x20, 0x28, 0x6c, 0x61, 0x6e, 0x65, 0x20, 0x2d, 0x20, 0x30, 0x78, 0x31, 0x30, + 0x75, 0x29, 0x29, 0x29, 0x29, 0x20, 0x7b, 0x20, 0x78, 0x20, 0x3d, 0x20, 0x66, 0x28, 0x78, 0x2c, + 0x20, 0x79, 0x29, 0x3b, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, + 0x6e, 0x20, 0x78, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, + 0x3c, 0x74, 0x79, 0x70, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x54, 0x3e, 0x0a, 0x5b, 0x5b, 0x6e, + 0x6f, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x5d, 0x5d, 0x20, 0x5f, 0x5f, 0x64, 0x65, 0x76, + 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x6c, 0x63, 0x5f, 0x77, 0x61, + 0x72, 0x70, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x5f, 0x73, 0x75, 0x6d, 0x5f, 0x69, 0x6d, + 0x70, 0x6c, 0x28, 0x54, 0x20, 0x78, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, + 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x6c, 0x63, + 0x5f, 0x77, 0x61, 0x72, 0x70, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x5f, 0x72, 0x65, 0x64, + 0x75, 0x63, 0x65, 0x5f, 0x69, 0x6d, 0x70, 0x6c, 0x28, 0x78, 0x2c, 0x20, 0x73, 0x74, 0x61, 0x74, + 0x69, 0x63, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x3c, 0x54, 0x3e, 0x28, 0x30, 0x29, 0x2c, 0x20, 0x5b, + 0x5d, 0x28, 0x54, 0x20, 0x61, 0x2c, 0x20, 0x54, 0x20, 0x62, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, + 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x61, 0x20, + 0x2b, 0x20, 0x62, 0x3b, 0x20, 0x7d, 0x29, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x74, 0x65, 0x6d, 0x70, + 0x6c, 0x61, 0x74, 0x65, 0x3c, 0x74, 0x79, 0x70, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x54, 0x3e, + 0x0a, 0x5b, 0x5b, 0x6e, 0x6f, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x5d, 0x5d, 0x20, 0x5f, + 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x6c, 0x63, 0x5f, 0x77, 0x61, 0x72, 0x70, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x5f, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x69, 0x6d, 0x70, 0x6c, 0x28, 0x54, 0x20, 0x78, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, @@ -44349,201 +44060,199 @@ extern "C" const char luisa_cuda_builtin_cuda_device_resource[119200] = { 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5b, 0x5b, 0x6e, 0x6f, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x5d, 0x5d, 0x20, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, - 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x61, 0x75, 0x74, 0x6f, - 0x20, 0x6c, 0x63, 0x5f, 0x77, 0x61, 0x72, 0x70, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x5f, - 0x23, 0x23, 0x6f, 0x70, 0x28, 0x6c, 0x63, 0x5f, 0x23, 0x23, 0x54, 0x20, 0x78, 0x29, 0x20, 0x6e, - 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x20, 0x5c, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x6c, 0x63, 0x5f, 0x77, 0x61, - 0x72, 0x70, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x5f, 0x23, 0x23, 0x6f, 0x70, 0x23, 0x23, - 0x5f, 0x69, 0x6d, 0x70, 0x6c, 0x3c, 0x6c, 0x63, 0x5f, 0x23, 0x23, 0x54, 0x3e, 0x28, 0x78, 0x29, - 0x3b, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x0a, 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, 0x4c, - 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x50, 0x52, 0x45, 0x46, 0x49, 0x58, 0x5f, 0x52, 0x45, - 0x44, 0x55, 0x43, 0x45, 0x5f, 0x56, 0x45, 0x43, 0x54, 0x4f, 0x52, 0x32, 0x28, 0x6f, 0x70, 0x2c, - 0x20, 0x54, 0x29, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x5b, 0x5b, 0x6e, 0x6f, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x5d, 0x5d, 0x20, - 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, - 0x65, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x6c, 0x63, 0x5f, 0x77, 0x61, 0x72, 0x70, 0x5f, 0x70, - 0x72, 0x65, 0x66, 0x69, 0x78, 0x5f, 0x23, 0x23, 0x6f, 0x70, 0x28, 0x6c, 0x63, 0x5f, 0x23, 0x23, - 0x54, 0x23, 0x23, 0x32, 0x20, 0x76, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, + 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x6c, 0x63, 0x5f, 0x77, 0x61, 0x72, + 0x70, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x5f, 0x23, 0x23, 0x6f, 0x70, 0x28, 0x6c, 0x63, + 0x5f, 0x23, 0x23, 0x54, 0x20, 0x78, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x20, 0x5c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, - 0x75, 0x72, 0x6e, 0x20, 0x6c, 0x63, 0x5f, 0x6d, 0x61, 0x6b, 0x65, 0x5f, 0x23, 0x23, 0x54, 0x23, - 0x23, 0x32, 0x28, 0x6c, 0x63, 0x5f, 0x77, 0x61, 0x72, 0x70, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, - 0x78, 0x5f, 0x23, 0x23, 0x6f, 0x70, 0x28, 0x76, 0x2e, 0x78, 0x29, 0x2c, 0x20, 0x20, 0x20, 0x20, + 0x75, 0x72, 0x6e, 0x20, 0x6c, 0x63, 0x5f, 0x77, 0x61, 0x72, 0x70, 0x5f, 0x70, 0x72, 0x65, 0x66, + 0x69, 0x78, 0x5f, 0x23, 0x23, 0x6f, 0x70, 0x23, 0x23, 0x5f, 0x69, 0x6d, 0x70, 0x6c, 0x3c, 0x6c, + 0x63, 0x5f, 0x23, 0x23, 0x54, 0x3e, 0x28, 0x78, 0x29, 0x3b, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x0a, + 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, + 0x50, 0x52, 0x45, 0x46, 0x49, 0x58, 0x5f, 0x52, 0x45, 0x44, 0x55, 0x43, 0x45, 0x5f, 0x56, 0x45, + 0x43, 0x54, 0x4f, 0x52, 0x32, 0x28, 0x6f, 0x70, 0x2c, 0x20, 0x54, 0x29, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x77, 0x61, 0x72, - 0x70, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x5f, 0x23, 0x23, 0x6f, 0x70, 0x28, 0x76, 0x2e, - 0x79, 0x29, 0x29, 0x3b, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x5c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x0a, 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, - 0x65, 0x20, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x50, 0x52, 0x45, 0x46, 0x49, 0x58, - 0x5f, 0x52, 0x45, 0x44, 0x55, 0x43, 0x45, 0x5f, 0x56, 0x45, 0x43, 0x54, 0x4f, 0x52, 0x33, 0x28, - 0x6f, 0x70, 0x2c, 0x20, 0x54, 0x29, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5b, 0x5b, 0x6e, 0x6f, 0x64, + 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x5d, 0x5d, 0x20, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, + 0x65, 0x5f, 0x5f, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x6c, 0x63, 0x5f, 0x77, 0x61, 0x72, 0x70, + 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x5f, 0x23, 0x23, 0x6f, 0x70, 0x28, 0x6c, 0x63, 0x5f, + 0x23, 0x23, 0x54, 0x23, 0x23, 0x32, 0x20, 0x76, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, + 0x70, 0x74, 0x20, 0x7b, 0x20, 0x5c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, + 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x6c, 0x63, 0x5f, 0x6d, 0x61, 0x6b, 0x65, 0x5f, 0x23, 0x23, + 0x54, 0x23, 0x23, 0x32, 0x28, 0x6c, 0x63, 0x5f, 0x77, 0x61, 0x72, 0x70, 0x5f, 0x70, 0x72, 0x65, + 0x66, 0x69, 0x78, 0x5f, 0x23, 0x23, 0x6f, 0x70, 0x28, 0x76, 0x2e, 0x78, 0x29, 0x2c, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5b, 0x5b, 0x6e, 0x6f, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, - 0x5d, 0x5d, 0x20, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, - 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x6c, 0x63, 0x5f, 0x77, 0x61, 0x72, - 0x70, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x5f, 0x23, 0x23, 0x6f, 0x70, 0x28, 0x6c, 0x63, - 0x5f, 0x23, 0x23, 0x54, 0x23, 0x23, 0x33, 0x20, 0x76, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, - 0x65, 0x70, 0x74, 0x20, 0x7b, 0x20, 0x5c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x6c, 0x63, 0x5f, 0x6d, 0x61, 0x6b, 0x65, 0x5f, 0x23, - 0x23, 0x54, 0x23, 0x23, 0x33, 0x28, 0x6c, 0x63, 0x5f, 0x77, 0x61, 0x72, 0x70, 0x5f, 0x70, 0x72, - 0x65, 0x66, 0x69, 0x78, 0x5f, 0x23, 0x23, 0x6f, 0x70, 0x28, 0x76, 0x2e, 0x78, 0x29, 0x2c, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x77, + 0x61, 0x72, 0x70, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x5f, 0x23, 0x23, 0x6f, 0x70, 0x28, + 0x76, 0x2e, 0x79, 0x29, 0x29, 0x3b, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, - 0x77, 0x61, 0x72, 0x70, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x5f, 0x23, 0x23, 0x6f, 0x70, - 0x28, 0x76, 0x2e, 0x79, 0x29, 0x2c, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x5c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x0a, 0x23, 0x64, 0x65, 0x66, + 0x69, 0x6e, 0x65, 0x20, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x50, 0x52, 0x45, 0x46, + 0x49, 0x58, 0x5f, 0x52, 0x45, 0x44, 0x55, 0x43, 0x45, 0x5f, 0x56, 0x45, 0x43, 0x54, 0x4f, 0x52, + 0x33, 0x28, 0x6f, 0x70, 0x2c, 0x20, 0x54, 0x29, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x5c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x77, 0x61, 0x72, 0x70, 0x5f, 0x70, 0x72, 0x65, 0x66, - 0x69, 0x78, 0x5f, 0x23, 0x23, 0x6f, 0x70, 0x28, 0x76, 0x2e, 0x7a, 0x29, 0x29, 0x3b, 0x20, 0x20, + 0x20, 0x5c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5b, 0x5b, 0x6e, 0x6f, 0x64, 0x69, 0x73, 0x63, 0x61, + 0x72, 0x64, 0x5d, 0x5d, 0x20, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, + 0x61, 0x75, 0x74, 0x6f, 0x20, 0x6c, 0x63, 0x5f, 0x77, 0x61, 0x72, 0x70, 0x5f, 0x70, 0x72, 0x65, + 0x66, 0x69, 0x78, 0x5f, 0x23, 0x23, 0x6f, 0x70, 0x28, 0x6c, 0x63, 0x5f, 0x23, 0x23, 0x54, 0x23, + 0x23, 0x33, 0x20, 0x76, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, + 0x20, 0x5c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, + 0x6e, 0x20, 0x6c, 0x63, 0x5f, 0x6d, 0x61, 0x6b, 0x65, 0x5f, 0x23, 0x23, 0x54, 0x23, 0x23, 0x33, + 0x28, 0x6c, 0x63, 0x5f, 0x77, 0x61, 0x72, 0x70, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x5f, + 0x23, 0x23, 0x6f, 0x70, 0x28, 0x76, 0x2e, 0x78, 0x29, 0x2c, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x7d, 0x0a, 0x0a, 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, 0x4c, 0x43, 0x5f, 0x57, - 0x41, 0x52, 0x50, 0x5f, 0x50, 0x52, 0x45, 0x46, 0x49, 0x58, 0x5f, 0x52, 0x45, 0x44, 0x55, 0x43, - 0x45, 0x5f, 0x56, 0x45, 0x43, 0x54, 0x4f, 0x52, 0x34, 0x28, 0x6f, 0x70, 0x2c, 0x20, 0x54, 0x29, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x77, 0x61, 0x72, 0x70, 0x5f, + 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x5f, 0x23, 0x23, 0x6f, 0x70, 0x28, 0x76, 0x2e, 0x79, 0x29, + 0x2c, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, + 0x63, 0x5f, 0x77, 0x61, 0x72, 0x70, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x5f, 0x23, 0x23, + 0x6f, 0x70, 0x28, 0x76, 0x2e, 0x7a, 0x29, 0x29, 0x3b, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5b, - 0x5b, 0x6e, 0x6f, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x5d, 0x5d, 0x20, 0x5f, 0x5f, 0x64, - 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x61, - 0x75, 0x74, 0x6f, 0x20, 0x6c, 0x63, 0x5f, 0x77, 0x61, 0x72, 0x70, 0x5f, 0x70, 0x72, 0x65, 0x66, - 0x69, 0x78, 0x5f, 0x23, 0x23, 0x6f, 0x70, 0x28, 0x6c, 0x63, 0x5f, 0x23, 0x23, 0x54, 0x23, 0x23, - 0x34, 0x20, 0x76, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x20, - 0x5c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, - 0x20, 0x6c, 0x63, 0x5f, 0x6d, 0x61, 0x6b, 0x65, 0x5f, 0x23, 0x23, 0x54, 0x23, 0x23, 0x34, 0x28, - 0x6c, 0x63, 0x5f, 0x77, 0x61, 0x72, 0x70, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x5f, 0x23, - 0x23, 0x6f, 0x70, 0x28, 0x76, 0x2e, 0x78, 0x29, 0x2c, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x0a, 0x23, + 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x50, + 0x52, 0x45, 0x46, 0x49, 0x58, 0x5f, 0x52, 0x45, 0x44, 0x55, 0x43, 0x45, 0x5f, 0x56, 0x45, 0x43, + 0x54, 0x4f, 0x52, 0x34, 0x28, 0x6f, 0x70, 0x2c, 0x20, 0x54, 0x29, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x77, 0x61, 0x72, 0x70, 0x5f, 0x70, - 0x72, 0x65, 0x66, 0x69, 0x78, 0x5f, 0x23, 0x23, 0x6f, 0x70, 0x28, 0x76, 0x2e, 0x79, 0x29, 0x2c, + 0x20, 0x20, 0x20, 0x20, 0x5c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5b, 0x5b, 0x6e, 0x6f, 0x64, 0x69, + 0x73, 0x63, 0x61, 0x72, 0x64, 0x5d, 0x5d, 0x20, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, + 0x5f, 0x5f, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x6c, 0x63, 0x5f, 0x77, 0x61, 0x72, 0x70, 0x5f, + 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x5f, 0x23, 0x23, 0x6f, 0x70, 0x28, 0x6c, 0x63, 0x5f, 0x23, + 0x23, 0x54, 0x23, 0x23, 0x34, 0x20, 0x76, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, + 0x74, 0x20, 0x7b, 0x20, 0x5c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, + 0x74, 0x75, 0x72, 0x6e, 0x20, 0x6c, 0x63, 0x5f, 0x6d, 0x61, 0x6b, 0x65, 0x5f, 0x23, 0x23, 0x54, + 0x23, 0x23, 0x34, 0x28, 0x6c, 0x63, 0x5f, 0x77, 0x61, 0x72, 0x70, 0x5f, 0x70, 0x72, 0x65, 0x66, + 0x69, 0x78, 0x5f, 0x23, 0x23, 0x6f, 0x70, 0x28, 0x76, 0x2e, 0x78, 0x29, 0x2c, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, - 0x5f, 0x77, 0x61, 0x72, 0x70, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x5f, 0x23, 0x23, 0x6f, - 0x70, 0x28, 0x76, 0x2e, 0x7a, 0x29, 0x2c, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x77, 0x61, + 0x72, 0x70, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x5f, 0x23, 0x23, 0x6f, 0x70, 0x28, 0x76, + 0x2e, 0x79, 0x29, 0x2c, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x5c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x77, 0x61, 0x72, 0x70, 0x5f, 0x70, 0x72, 0x65, - 0x66, 0x69, 0x78, 0x5f, 0x23, 0x23, 0x6f, 0x70, 0x28, 0x76, 0x2e, 0x77, 0x29, 0x29, 0x3b, 0x20, + 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x77, 0x61, 0x72, 0x70, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, + 0x5f, 0x23, 0x23, 0x6f, 0x70, 0x28, 0x76, 0x2e, 0x7a, 0x29, 0x2c, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x7d, 0x0a, 0x0a, 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, 0x4c, 0x43, 0x5f, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x77, 0x61, 0x72, 0x70, + 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x5f, 0x23, 0x23, 0x6f, 0x70, 0x28, 0x76, 0x2e, 0x77, + 0x29, 0x29, 0x3b, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x5c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x0a, 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, + 0x20, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x50, 0x52, 0x45, 0x46, 0x49, 0x58, 0x5f, + 0x52, 0x45, 0x44, 0x55, 0x43, 0x45, 0x28, 0x54, 0x29, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x50, 0x52, 0x45, 0x46, 0x49, 0x58, 0x5f, 0x52, 0x45, 0x44, 0x55, - 0x43, 0x45, 0x28, 0x54, 0x29, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x5c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, - 0x5f, 0x50, 0x52, 0x45, 0x46, 0x49, 0x58, 0x5f, 0x52, 0x45, 0x44, 0x55, 0x43, 0x45, 0x5f, 0x53, - 0x43, 0x41, 0x4c, 0x41, 0x52, 0x28, 0x73, 0x75, 0x6d, 0x2c, 0x20, 0x54, 0x29, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x5c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, - 0x5f, 0x50, 0x52, 0x45, 0x46, 0x49, 0x58, 0x5f, 0x52, 0x45, 0x44, 0x55, 0x43, 0x45, 0x5f, 0x53, - 0x43, 0x41, 0x4c, 0x41, 0x52, 0x28, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x2c, 0x20, 0x54, - 0x29, 0x20, 0x20, 0x5c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, - 0x5f, 0x50, 0x52, 0x45, 0x46, 0x49, 0x58, 0x5f, 0x52, 0x45, 0x44, 0x55, 0x43, 0x45, 0x5f, 0x56, - 0x45, 0x43, 0x54, 0x4f, 0x52, 0x32, 0x28, 0x73, 0x75, 0x6d, 0x2c, 0x20, 0x54, 0x29, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x5c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, - 0x5f, 0x50, 0x52, 0x45, 0x46, 0x49, 0x58, 0x5f, 0x52, 0x45, 0x44, 0x55, 0x43, 0x45, 0x5f, 0x56, - 0x45, 0x43, 0x54, 0x4f, 0x52, 0x32, 0x28, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x2c, 0x20, - 0x54, 0x29, 0x20, 0x5c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, - 0x5f, 0x50, 0x52, 0x45, 0x46, 0x49, 0x58, 0x5f, 0x52, 0x45, 0x44, 0x55, 0x43, 0x45, 0x5f, 0x56, - 0x45, 0x43, 0x54, 0x4f, 0x52, 0x33, 0x28, 0x73, 0x75, 0x6d, 0x2c, 0x20, 0x54, 0x29, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x5c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, - 0x5f, 0x50, 0x52, 0x45, 0x46, 0x49, 0x58, 0x5f, 0x52, 0x45, 0x44, 0x55, 0x43, 0x45, 0x5f, 0x56, - 0x45, 0x43, 0x54, 0x4f, 0x52, 0x33, 0x28, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x2c, 0x20, - 0x54, 0x29, 0x20, 0x5c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, - 0x5f, 0x50, 0x52, 0x45, 0x46, 0x49, 0x58, 0x5f, 0x52, 0x45, 0x44, 0x55, 0x43, 0x45, 0x5f, 0x56, - 0x45, 0x43, 0x54, 0x4f, 0x52, 0x34, 0x28, 0x73, 0x75, 0x6d, 0x2c, 0x20, 0x54, 0x29, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x5c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, - 0x5f, 0x50, 0x52, 0x45, 0x46, 0x49, 0x58, 0x5f, 0x52, 0x45, 0x44, 0x55, 0x43, 0x45, 0x5f, 0x56, - 0x45, 0x43, 0x54, 0x4f, 0x52, 0x34, 0x28, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x2c, 0x20, - 0x54, 0x29, 0x0a, 0x0a, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x50, 0x52, 0x45, 0x46, - 0x49, 0x58, 0x5f, 0x52, 0x45, 0x44, 0x55, 0x43, 0x45, 0x28, 0x75, 0x69, 0x6e, 0x74, 0x29, 0x0a, - 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x50, 0x52, 0x45, 0x46, 0x49, 0x58, 0x5f, 0x52, - 0x45, 0x44, 0x55, 0x43, 0x45, 0x28, 0x69, 0x6e, 0x74, 0x29, 0x0a, 0x4c, 0x43, 0x5f, 0x57, 0x41, - 0x52, 0x50, 0x5f, 0x50, 0x52, 0x45, 0x46, 0x49, 0x58, 0x5f, 0x52, 0x45, 0x44, 0x55, 0x43, 0x45, - 0x28, 0x75, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x29, 0x0a, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, - 0x5f, 0x50, 0x52, 0x45, 0x46, 0x49, 0x58, 0x5f, 0x52, 0x45, 0x44, 0x55, 0x43, 0x45, 0x28, 0x73, - 0x68, 0x6f, 0x72, 0x74, 0x29, 0x0a, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x50, 0x52, - 0x45, 0x46, 0x49, 0x58, 0x5f, 0x52, 0x45, 0x44, 0x55, 0x43, 0x45, 0x28, 0x75, 0x6c, 0x6f, 0x6e, - 0x67, 0x29, 0x0a, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x50, 0x52, 0x45, 0x46, 0x49, - 0x58, 0x5f, 0x52, 0x45, 0x44, 0x55, 0x43, 0x45, 0x28, 0x6c, 0x6f, 0x6e, 0x67, 0x29, 0x0a, 0x4c, + 0x43, 0x45, 0x5f, 0x53, 0x43, 0x41, 0x4c, 0x41, 0x52, 0x28, 0x73, 0x75, 0x6d, 0x2c, 0x20, 0x54, + 0x29, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x4c, 0x43, 0x5f, + 0x57, 0x41, 0x52, 0x50, 0x5f, 0x50, 0x52, 0x45, 0x46, 0x49, 0x58, 0x5f, 0x52, 0x45, 0x44, 0x55, + 0x43, 0x45, 0x5f, 0x53, 0x43, 0x41, 0x4c, 0x41, 0x52, 0x28, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, + 0x74, 0x2c, 0x20, 0x54, 0x29, 0x20, 0x20, 0x5c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x4c, 0x43, 0x5f, + 0x57, 0x41, 0x52, 0x50, 0x5f, 0x50, 0x52, 0x45, 0x46, 0x49, 0x58, 0x5f, 0x52, 0x45, 0x44, 0x55, + 0x43, 0x45, 0x5f, 0x56, 0x45, 0x43, 0x54, 0x4f, 0x52, 0x32, 0x28, 0x73, 0x75, 0x6d, 0x2c, 0x20, + 0x54, 0x29, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x4c, 0x43, 0x5f, + 0x57, 0x41, 0x52, 0x50, 0x5f, 0x50, 0x52, 0x45, 0x46, 0x49, 0x58, 0x5f, 0x52, 0x45, 0x44, 0x55, + 0x43, 0x45, 0x5f, 0x56, 0x45, 0x43, 0x54, 0x4f, 0x52, 0x32, 0x28, 0x70, 0x72, 0x6f, 0x64, 0x75, + 0x63, 0x74, 0x2c, 0x20, 0x54, 0x29, 0x20, 0x5c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x4c, 0x43, 0x5f, + 0x57, 0x41, 0x52, 0x50, 0x5f, 0x50, 0x52, 0x45, 0x46, 0x49, 0x58, 0x5f, 0x52, 0x45, 0x44, 0x55, + 0x43, 0x45, 0x5f, 0x56, 0x45, 0x43, 0x54, 0x4f, 0x52, 0x33, 0x28, 0x73, 0x75, 0x6d, 0x2c, 0x20, + 0x54, 0x29, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x4c, 0x43, 0x5f, + 0x57, 0x41, 0x52, 0x50, 0x5f, 0x50, 0x52, 0x45, 0x46, 0x49, 0x58, 0x5f, 0x52, 0x45, 0x44, 0x55, + 0x43, 0x45, 0x5f, 0x56, 0x45, 0x43, 0x54, 0x4f, 0x52, 0x33, 0x28, 0x70, 0x72, 0x6f, 0x64, 0x75, + 0x63, 0x74, 0x2c, 0x20, 0x54, 0x29, 0x20, 0x5c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x4c, 0x43, 0x5f, + 0x57, 0x41, 0x52, 0x50, 0x5f, 0x50, 0x52, 0x45, 0x46, 0x49, 0x58, 0x5f, 0x52, 0x45, 0x44, 0x55, + 0x43, 0x45, 0x5f, 0x56, 0x45, 0x43, 0x54, 0x4f, 0x52, 0x34, 0x28, 0x73, 0x75, 0x6d, 0x2c, 0x20, + 0x54, 0x29, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x4c, 0x43, 0x5f, + 0x57, 0x41, 0x52, 0x50, 0x5f, 0x50, 0x52, 0x45, 0x46, 0x49, 0x58, 0x5f, 0x52, 0x45, 0x44, 0x55, + 0x43, 0x45, 0x5f, 0x56, 0x45, 0x43, 0x54, 0x4f, 0x52, 0x34, 0x28, 0x70, 0x72, 0x6f, 0x64, 0x75, + 0x63, 0x74, 0x2c, 0x20, 0x54, 0x29, 0x0a, 0x0a, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, + 0x50, 0x52, 0x45, 0x46, 0x49, 0x58, 0x5f, 0x52, 0x45, 0x44, 0x55, 0x43, 0x45, 0x28, 0x75, 0x69, + 0x6e, 0x74, 0x29, 0x0a, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x50, 0x52, 0x45, 0x46, + 0x49, 0x58, 0x5f, 0x52, 0x45, 0x44, 0x55, 0x43, 0x45, 0x28, 0x69, 0x6e, 0x74, 0x29, 0x0a, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x50, 0x52, 0x45, 0x46, 0x49, 0x58, 0x5f, 0x52, 0x45, - 0x44, 0x55, 0x43, 0x45, 0x28, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x29, 0x0a, 0x4c, 0x43, 0x5f, 0x57, - 0x41, 0x52, 0x50, 0x5f, 0x50, 0x52, 0x45, 0x46, 0x49, 0x58, 0x5f, 0x52, 0x45, 0x44, 0x55, 0x43, - 0x45, 0x28, 0x68, 0x61, 0x6c, 0x66, 0x29, 0x0a, 0x2f, 0x2f, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, + 0x44, 0x55, 0x43, 0x45, 0x28, 0x75, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x29, 0x0a, 0x4c, 0x43, 0x5f, + 0x57, 0x41, 0x52, 0x50, 0x5f, 0x50, 0x52, 0x45, 0x46, 0x49, 0x58, 0x5f, 0x52, 0x45, 0x44, 0x55, + 0x43, 0x45, 0x28, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x29, 0x0a, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x50, 0x52, 0x45, 0x46, 0x49, 0x58, 0x5f, 0x52, 0x45, 0x44, 0x55, 0x43, 0x45, 0x28, - 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x29, 0x2f, 0x2f, 0x20, 0x54, 0x4f, 0x44, 0x4f, 0x0a, 0x0a, - 0x23, 0x75, 0x6e, 0x64, 0x65, 0x66, 0x20, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x50, - 0x52, 0x45, 0x46, 0x49, 0x58, 0x5f, 0x52, 0x45, 0x44, 0x55, 0x43, 0x45, 0x5f, 0x53, 0x43, 0x41, - 0x4c, 0x41, 0x52, 0x0a, 0x23, 0x75, 0x6e, 0x64, 0x65, 0x66, 0x20, 0x4c, 0x43, 0x5f, 0x57, 0x41, - 0x52, 0x50, 0x5f, 0x50, 0x52, 0x45, 0x46, 0x49, 0x58, 0x5f, 0x52, 0x45, 0x44, 0x55, 0x43, 0x45, - 0x5f, 0x56, 0x45, 0x43, 0x54, 0x4f, 0x52, 0x32, 0x0a, 0x23, 0x75, 0x6e, 0x64, 0x65, 0x66, 0x20, + 0x75, 0x6c, 0x6f, 0x6e, 0x67, 0x29, 0x0a, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x50, + 0x52, 0x45, 0x46, 0x49, 0x58, 0x5f, 0x52, 0x45, 0x44, 0x55, 0x43, 0x45, 0x28, 0x6c, 0x6f, 0x6e, + 0x67, 0x29, 0x0a, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x50, 0x52, 0x45, 0x46, 0x49, + 0x58, 0x5f, 0x52, 0x45, 0x44, 0x55, 0x43, 0x45, 0x28, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x29, 0x0a, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x50, 0x52, 0x45, 0x46, 0x49, 0x58, 0x5f, 0x52, - 0x45, 0x44, 0x55, 0x43, 0x45, 0x5f, 0x56, 0x45, 0x43, 0x54, 0x4f, 0x52, 0x33, 0x0a, 0x23, 0x75, - 0x6e, 0x64, 0x65, 0x66, 0x20, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x50, 0x52, 0x45, - 0x46, 0x49, 0x58, 0x5f, 0x52, 0x45, 0x44, 0x55, 0x43, 0x45, 0x5f, 0x56, 0x45, 0x43, 0x54, 0x4f, - 0x52, 0x34, 0x0a, 0x23, 0x75, 0x6e, 0x64, 0x65, 0x66, 0x20, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, - 0x50, 0x5f, 0x50, 0x52, 0x45, 0x46, 0x49, 0x58, 0x5f, 0x52, 0x45, 0x44, 0x55, 0x43, 0x45, 0x0a, - 0x0a, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x20, 0x4c, 0x43, 0x50, 0x72, 0x69, 0x6e, 0x74, 0x42, - 0x75, 0x66, 0x66, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x20, 0x7b, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x6c, 0x6f, 0x6e, 0x67, 0x20, 0x73, 0x69, 0x7a, 0x65, - 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x62, 0x79, 0x74, 0x65, 0x20, 0x64, - 0x61, 0x74, 0x61, 0x5b, 0x31, 0x5d, 0x3b, 0x0a, 0x7d, 0x3b, 0x0a, 0x0a, 0x73, 0x74, 0x72, 0x75, - 0x63, 0x74, 0x20, 0x4c, 0x43, 0x50, 0x72, 0x69, 0x6e, 0x74, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, + 0x45, 0x44, 0x55, 0x43, 0x45, 0x28, 0x68, 0x61, 0x6c, 0x66, 0x29, 0x0a, 0x2f, 0x2f, 0x4c, 0x43, + 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x50, 0x52, 0x45, 0x46, 0x49, 0x58, 0x5f, 0x52, 0x45, 0x44, + 0x55, 0x43, 0x45, 0x28, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x29, 0x2f, 0x2f, 0x20, 0x54, 0x4f, + 0x44, 0x4f, 0x0a, 0x0a, 0x23, 0x75, 0x6e, 0x64, 0x65, 0x66, 0x20, 0x4c, 0x43, 0x5f, 0x57, 0x41, + 0x52, 0x50, 0x5f, 0x50, 0x52, 0x45, 0x46, 0x49, 0x58, 0x5f, 0x52, 0x45, 0x44, 0x55, 0x43, 0x45, + 0x5f, 0x53, 0x43, 0x41, 0x4c, 0x41, 0x52, 0x0a, 0x23, 0x75, 0x6e, 0x64, 0x65, 0x66, 0x20, 0x4c, + 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x50, 0x52, 0x45, 0x46, 0x49, 0x58, 0x5f, 0x52, 0x45, + 0x44, 0x55, 0x43, 0x45, 0x5f, 0x56, 0x45, 0x43, 0x54, 0x4f, 0x52, 0x32, 0x0a, 0x23, 0x75, 0x6e, + 0x64, 0x65, 0x66, 0x20, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x50, 0x52, 0x45, 0x46, + 0x49, 0x58, 0x5f, 0x52, 0x45, 0x44, 0x55, 0x43, 0x45, 0x5f, 0x56, 0x45, 0x43, 0x54, 0x4f, 0x52, + 0x33, 0x0a, 0x23, 0x75, 0x6e, 0x64, 0x65, 0x66, 0x20, 0x4c, 0x43, 0x5f, 0x57, 0x41, 0x52, 0x50, + 0x5f, 0x50, 0x52, 0x45, 0x46, 0x49, 0x58, 0x5f, 0x52, 0x45, 0x44, 0x55, 0x43, 0x45, 0x5f, 0x56, + 0x45, 0x43, 0x54, 0x4f, 0x52, 0x34, 0x0a, 0x23, 0x75, 0x6e, 0x64, 0x65, 0x66, 0x20, 0x4c, 0x43, + 0x5f, 0x57, 0x41, 0x52, 0x50, 0x5f, 0x50, 0x52, 0x45, 0x46, 0x49, 0x58, 0x5f, 0x52, 0x45, 0x44, + 0x55, 0x43, 0x45, 0x0a, 0x0a, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x20, 0x4c, 0x43, 0x50, 0x72, + 0x69, 0x6e, 0x74, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x6c, 0x6f, 0x6e, 0x67, 0x20, - 0x63, 0x61, 0x70, 0x61, 0x63, 0x69, 0x74, 0x79, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x4c, 0x43, - 0x50, 0x72, 0x69, 0x6e, 0x74, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x74, 0x65, - 0x6e, 0x74, 0x20, 0x2a, 0x5f, 0x5f, 0x72, 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x5f, 0x5f, - 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x3b, 0x0a, 0x7d, 0x3b, 0x0a, 0x0a, 0x23, 0x69, - 0x66, 0x64, 0x65, 0x66, 0x20, 0x4c, 0x55, 0x49, 0x53, 0x41, 0x5f, 0x45, 0x4e, 0x41, 0x42, 0x4c, - 0x45, 0x5f, 0x4f, 0x50, 0x54, 0x49, 0x58, 0x0a, 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, - 0x4c, 0x43, 0x5f, 0x50, 0x52, 0x49, 0x4e, 0x54, 0x5f, 0x42, 0x55, 0x46, 0x46, 0x45, 0x52, 0x20, - 0x28, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x2e, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x5f, 0x62, 0x75, - 0x66, 0x66, 0x65, 0x72, 0x29, 0x0a, 0x23, 0x65, 0x6c, 0x73, 0x65, 0x0a, 0x23, 0x64, 0x65, 0x66, + 0x73, 0x69, 0x7a, 0x65, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x62, 0x79, + 0x74, 0x65, 0x20, 0x64, 0x61, 0x74, 0x61, 0x5b, 0x31, 0x5d, 0x3b, 0x0a, 0x7d, 0x3b, 0x0a, 0x0a, + 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x20, 0x4c, 0x43, 0x50, 0x72, 0x69, 0x6e, 0x74, 0x42, 0x75, + 0x66, 0x66, 0x65, 0x72, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x63, 0x5f, 0x75, 0x6c, + 0x6f, 0x6e, 0x67, 0x20, 0x63, 0x61, 0x70, 0x61, 0x63, 0x69, 0x74, 0x79, 0x3b, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x4c, 0x43, 0x50, 0x72, 0x69, 0x6e, 0x74, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x43, + 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x20, 0x2a, 0x5f, 0x5f, 0x72, 0x65, 0x73, 0x74, 0x72, 0x69, + 0x63, 0x74, 0x5f, 0x5f, 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x3b, 0x0a, 0x7d, 0x3b, + 0x0a, 0x0a, 0x23, 0x69, 0x66, 0x64, 0x65, 0x66, 0x20, 0x4c, 0x55, 0x49, 0x53, 0x41, 0x5f, 0x45, + 0x4e, 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x4f, 0x50, 0x54, 0x49, 0x58, 0x0a, 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, 0x4c, 0x43, 0x5f, 0x50, 0x52, 0x49, 0x4e, 0x54, 0x5f, 0x42, 0x55, 0x46, - 0x46, 0x45, 0x52, 0x20, 0x28, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x5f, 0x62, 0x75, 0x66, 0x66, 0x65, - 0x72, 0x29, 0x0a, 0x23, 0x65, 0x6e, 0x64, 0x69, 0x66, 0x0a, 0x0a, 0x74, 0x65, 0x6d, 0x70, 0x6c, - 0x61, 0x74, 0x65, 0x3c, 0x74, 0x79, 0x70, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x54, 0x3e, 0x0a, - 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, - 0x65, 0x20, 0x76, 0x6f, 0x69, 0x64, 0x20, 0x6c, 0x63, 0x5f, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x5f, - 0x69, 0x6d, 0x70, 0x6c, 0x28, 0x4c, 0x43, 0x50, 0x72, 0x69, 0x6e, 0x74, 0x42, 0x75, 0x66, 0x66, - 0x65, 0x72, 0x20, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x2c, 0x20, 0x54, 0x20, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x29, 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x28, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x2e, 0x63, 0x61, - 0x70, 0x61, 0x63, 0x69, 0x74, 0x79, 0x20, 0x3d, 0x3d, 0x20, 0x30, 0x75, 0x20, 0x7c, 0x7c, 0x20, - 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x20, 0x3d, - 0x3d, 0x20, 0x6e, 0x75, 0x6c, 0x6c, 0x70, 0x74, 0x72, 0x29, 0x20, 0x7b, 0x20, 0x72, 0x65, 0x74, - 0x75, 0x72, 0x6e, 0x3b, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, - 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x20, 0x3d, 0x20, 0x61, 0x74, 0x6f, 0x6d, 0x69, 0x63, 0x41, - 0x64, 0x64, 0x28, 0x26, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, - 0x6e, 0x74, 0x2d, 0x3e, 0x73, 0x69, 0x7a, 0x65, 0x2c, 0x20, 0x73, 0x69, 0x7a, 0x65, 0x6f, 0x66, - 0x28, 0x54, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x28, 0x6f, 0x66, - 0x66, 0x73, 0x65, 0x74, 0x20, 0x2b, 0x20, 0x73, 0x69, 0x7a, 0x65, 0x6f, 0x66, 0x28, 0x54, 0x29, - 0x20, 0x3c, 0x3d, 0x20, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x2e, 0x63, 0x61, 0x70, 0x61, 0x63, - 0x69, 0x74, 0x79, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x61, - 0x75, 0x74, 0x6f, 0x20, 0x70, 0x74, 0x72, 0x20, 0x3d, 0x20, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, - 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2d, 0x3e, 0x64, 0x61, 0x74, 0x61, 0x20, 0x2b, - 0x20, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x6d, 0x65, 0x6d, 0x63, 0x70, 0x79, 0x28, 0x70, 0x74, 0x72, 0x2c, 0x20, 0x26, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x2c, 0x20, 0x73, 0x69, 0x7a, 0x65, 0x6f, 0x66, 0x28, 0x54, 0x29, 0x29, 0x3b, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x7d, 0x0a, 0x0a, 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, - 0x65, 0x20, 0x4c, 0x43, 0x5f, 0x44, 0x45, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x53, 0x54, 0x52, 0x49, - 0x4e, 0x47, 0x5f, 0x46, 0x52, 0x4f, 0x4d, 0x5f, 0x49, 0x44, 0x28, 0x73, 0x74, 0x72, 0x5f, 0x69, - 0x64, 0x29, 0x20, 0x28, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x63, 0x68, 0x61, 0x72, 0x20, - 0x2a, 0x29, 0x26, 0x28, 0x6c, 0x63, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x64, 0x61, - 0x74, 0x61, 0x5b, 0x6c, 0x63, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x6f, 0x66, 0x66, - 0x73, 0x65, 0x74, 0x73, 0x5b, 0x73, 0x74, 0x72, 0x5f, 0x69, 0x64, 0x5d, 0x5d, 0x29, 0x29, 0x0a + 0x46, 0x45, 0x52, 0x20, 0x28, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x2e, 0x70, 0x72, 0x69, 0x6e, + 0x74, 0x5f, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x29, 0x0a, 0x23, 0x65, 0x6c, 0x73, 0x65, 0x0a, + 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, 0x4c, 0x43, 0x5f, 0x50, 0x52, 0x49, 0x4e, 0x54, + 0x5f, 0x42, 0x55, 0x46, 0x46, 0x45, 0x52, 0x20, 0x28, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x5f, 0x62, + 0x75, 0x66, 0x66, 0x65, 0x72, 0x29, 0x0a, 0x23, 0x65, 0x6e, 0x64, 0x69, 0x66, 0x0a, 0x0a, 0x74, + 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x3c, 0x74, 0x79, 0x70, 0x65, 0x6e, 0x61, 0x6d, 0x65, + 0x20, 0x54, 0x3e, 0x0a, 0x5f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x5f, 0x20, 0x76, + 0x6f, 0x69, 0x64, 0x20, 0x6c, 0x63, 0x5f, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x5f, 0x69, 0x6d, 0x70, + 0x6c, 0x28, 0x4c, 0x43, 0x50, 0x72, 0x69, 0x6e, 0x74, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x20, + 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x2c, 0x20, 0x54, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x29, + 0x20, 0x6e, 0x6f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x69, 0x66, 0x20, 0x28, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x2e, 0x63, 0x61, 0x70, 0x61, 0x63, + 0x69, 0x74, 0x79, 0x20, 0x3d, 0x3d, 0x20, 0x30, 0x75, 0x20, 0x7c, 0x7c, 0x20, 0x62, 0x75, 0x66, + 0x66, 0x65, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x20, 0x3d, 0x3d, 0x20, 0x6e, + 0x75, 0x6c, 0x6c, 0x70, 0x74, 0x72, 0x29, 0x20, 0x7b, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, + 0x3b, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x6f, 0x66, 0x66, + 0x73, 0x65, 0x74, 0x20, 0x3d, 0x20, 0x61, 0x74, 0x6f, 0x6d, 0x69, 0x63, 0x41, 0x64, 0x64, 0x28, + 0x26, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2d, + 0x3e, 0x73, 0x69, 0x7a, 0x65, 0x2c, 0x20, 0x73, 0x69, 0x7a, 0x65, 0x6f, 0x66, 0x28, 0x54, 0x29, + 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x28, 0x6f, 0x66, 0x66, 0x73, 0x65, + 0x74, 0x20, 0x2b, 0x20, 0x73, 0x69, 0x7a, 0x65, 0x6f, 0x66, 0x28, 0x54, 0x29, 0x20, 0x3c, 0x3d, + 0x20, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x2e, 0x63, 0x61, 0x70, 0x61, 0x63, 0x69, 0x74, 0x79, + 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x61, 0x75, 0x74, 0x6f, + 0x20, 0x70, 0x74, 0x72, 0x20, 0x3d, 0x20, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x2e, 0x63, 0x6f, + 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2d, 0x3e, 0x64, 0x61, 0x74, 0x61, 0x20, 0x2b, 0x20, 0x6f, 0x66, + 0x66, 0x73, 0x65, 0x74, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6d, 0x65, + 0x6d, 0x63, 0x70, 0x79, 0x28, 0x70, 0x74, 0x72, 0x2c, 0x20, 0x26, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x2c, 0x20, 0x73, 0x69, 0x7a, 0x65, 0x6f, 0x66, 0x28, 0x54, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x7d, 0x0a, 0x7d, 0x0a, 0x0a, 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, 0x4c, + 0x43, 0x5f, 0x44, 0x45, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x53, 0x54, 0x52, 0x49, 0x4e, 0x47, 0x5f, + 0x46, 0x52, 0x4f, 0x4d, 0x5f, 0x49, 0x44, 0x28, 0x73, 0x74, 0x72, 0x5f, 0x69, 0x64, 0x29, 0x20, + 0x28, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x63, 0x68, 0x61, 0x72, 0x20, 0x2a, 0x29, 0x26, + 0x28, 0x6c, 0x63, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5b, + 0x6c, 0x63, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, + 0x73, 0x5b, 0x73, 0x74, 0x72, 0x5f, 0x69, 0x64, 0x5d, 0x5d, 0x29, 0x29, 0x0a }; // clang-format on diff --git a/src/backends/cuda/cuda_builtin_embedded.h b/src/backends/cuda/cuda_builtin_embedded.h index 7b35c1b16..f25168a9c 100644 --- a/src/backends/cuda/cuda_builtin_embedded.h +++ b/src/backends/cuda/cuda_builtin_embedded.h @@ -1,6 +1,6 @@ #pragma once extern "C" const char luisa_cuda_builtin_cuda_builtin_kernels[6094]; -extern "C" const char luisa_cuda_builtin_cuda_device_half[87792]; +extern "C" const char luisa_cuda_builtin_cuda_device_half[84397]; extern "C" const char luisa_cuda_builtin_cuda_device_math[499474]; -extern "C" const char luisa_cuda_builtin_cuda_device_resource[119200]; +extern "C" const char luisa_cuda_builtin_cuda_device_resource[117933]; diff --git a/src/backends/cuda/cuda_device.cpp b/src/backends/cuda/cuda_device.cpp index ea0371fd6..af4acfa89 100644 --- a/src/backends/cuda/cuda_device.cpp +++ b/src/backends/cuda/cuda_device.cpp @@ -716,10 +716,10 @@ ShaderCreationInfo CUDADevice::create_shader(const ShaderOption &option, Functio // multithreaded compilation // TODO: the flag seems not working any more - // if (_compiler->nvrtc_version() >= 120100 && - // _handle.driver_version() >= 12030) { - // nvrtc_options.emplace_back("-split-compile=0"); - // } + if (_compiler->nvrtc_version() >= 120100 && + _handle.driver_version() >= 12030) { + nvrtc_options.emplace_back("-split-compile=0"); + } if (option.enable_debug_info) { nvrtc_options.emplace_back("-lineinfo");