#if 0 // // Generated by Microsoft (R) HLSL Shader Compiler For Durango // // // Buffer Definitions: // // Resource bind info for bClothData // { // // struct DxClothData // { // // uint mNumParticles; // Offset: 0 // uint mParticlesOffset; // Offset: 4 // uint mNumPhases; // Offset: 8 // uint mPhaseConfigOffset; // Offset: 12 // uint mConstraintOffset; // Offset: 16 // uint mStiffnessOffset; // Offset: 20 // uint mNumTethers; // Offset: 24 // uint mTetherOffset; // Offset: 28 // float mTetherConstraintScale; // Offset: 32 // uint mNumTriangles; // Offset: 36 // uint mStartTriangleOffset; // Offset: 40 // float mMotionConstraintScale; // Offset: 44 // float mMotionConstraintBias; // Offset: 48 // uint mNumCapsules; // Offset: 52 // uint mCapsuleOffset; // Offset: 56 // uint mNumSpheres; // Offset: 60 // uint mNumPlanes; // Offset: 64 // uint mNumConvexes; // Offset: 68 // uint mConvexMasksOffset; // Offset: 72 // uint mNumCollisionTriangles; // Offset: 76 // uint mNumVirtualParticleSetSizes;// Offset: 80 // uint mEnableContinuousCollision;// Offset: 84 // float mCollisionMassScale; // Offset: 88 // float mFrictionScale; // Offset: 92 // float mSelfCollisionDistance; // Offset: 96 // uint mNumSelfCollisionIndices; // Offset: 100 // uint mSelfCollisionIndicesOffset;// Offset: 104 // uint mSelfCollisionParticlesOffset;// Offset: 108 // uint mSelfCollisionDataOffset; // Offset: 112 // uint mSleepTestInterval; // Offset: 116 // uint mSleepAfterCount; // Offset: 120 // float mSleepThreshold; // Offset: 124 // // } $Element; // Offset: 0 Size: 128 // // } // // Resource bind info for bIterData // { // // struct DxIterationData // { // // float mIntegrationTrafo[24]; // Offset: 0 // float mWind[3]; // Offset: 96 // uint mIsTurning; // Offset: 108 // // } $Element; // Offset: 0 Size: 112 // // } // // Resource bind info for bPhaseConfigs // { // // struct DxPhaseConfig // { // // float mStiffness; // Offset: 0 // float mStiffnessMultiplier; // Offset: 4 // float mCompressionLimit; // Offset: 8 // float mStretchLimit; // Offset: 12 // uint mFirstConstraint; // Offset: 16 // uint mNumConstraints; // Offset: 20 // // } $Element; // Offset: 0 Size: 24 // // } // // Resource bind info for bConstraints // { // // struct DxConstraint // { // // float mRestvalue; // Offset: 0 // uint mIndices; // Offset: 4 // // } $Element; // Offset: 0 Size: 8 // // } // // Resource bind info for bTetherConstraints // { // // struct DxTether // { // // uint mValue; // Offset: 0 // // } $Element; // Offset: 0 Size: 4 // // } // // Resource bind info for bCapsuleIndices // { // // struct IndexPair // { // // uint first; // Offset: 0 // uint second; // Offset: 4 // // } $Element; // Offset: 0 Size: 8 // // } // // Resource bind info for bCollisionSpheres // { // // float4 $Element; // Offset: 0 Size: 16 // // } // // Resource bind info for bConvexMasks // { // // uint $Element; // Offset: 0 Size: 4 // // } // // Resource bind info for bCollisionPlanes // { // // float4 $Element; // Offset: 0 Size: 16 // // } // // Resource bind info for bCollisionTriangles // { // // float3 $Element; // Offset: 0 Size: 12 // // } // // Resource bind info for bMotionConstraints // { // // float4 $Element; // Offset: 0 Size: 16 // // } // // Resource bind info for bSeparationConstraints // { // // float4 $Element; // Offset: 0 Size: 16 // // } // // Resource bind info for bParticleAccelerations // { // // float4 $Element; // Offset: 0 Size: 16 // // } // // Resource bind info for bRestPositions // { // // float4 $Element; // Offset: 0 Size: 16 // // } // // Resource bind info for bSelfCollisionIndices // { // // int $Element; // Offset: 0 Size: 4 // // } // // Resource bind info for bPerConstraintStiffness // { // // float $Element; // Offset: 0 Size: 4 // // } // // Resource bind info for bTriangles // { // // uint $Element; // Offset: 0 Size: 4 // // } // // Resource bind info for bVirtualParticleSetSizes // { // // int $Element; // Offset: 0 Size: 4 // // } // // Resource bind info for bVirtualParticleIndices // { // // uint4 $Element; // Offset: 0 Size: 16 // // } // // Resource bind info for bVirtualParticleWeights // { // // float4 $Element; // Offset: 0 Size: 16 // // } // // Resource bind info for bSelfCollisionParticles // { // // float4 $Element; // Offset: 0 Size: 16 // // } // // Resource bind info for bSelfCollisionData // { // // uint $Element; // Offset: 0 Size: 4 // // } // // Resource bind info for bFrameData // { // // struct DxFrameData // { // // bool mDeviceParticlesDirty; // Offset: 0 // uint mNumSharedPositions; // Offset: 4 // float mIterDt; // Offset: 8 // uint mFirstIteration; // Offset: 12 // uint mNumIterations; // Offset: 16 // float mTetherConstraintStiffness;// Offset: 20 // float mDragCoefficient; // Offset: 24 // float mLiftCoefficient; // Offset: 28 // float mFluidDensity; // Offset: 32 // float mRotation[9]; // Offset: 36 // float mMotionConstraintStiffness;// Offset: 72 // uint mStartMotionConstrainsOffset;// Offset: 76 // uint mTargetMotionConstrainsOffset;// Offset: 80 // uint mStartSeparationConstrainsOffset;// Offset: 84 // uint mTargetSeparationConstrainsOffset;// Offset: 88 // uint mParticleAccelerationsOffset;// Offset: 92 // uint mStartSphereOffset; // Offset: 96 // uint mTargetSphereOffset; // Offset: 100 // uint mStartCollisionPlaneOffset;// Offset: 104 // uint mTargetCollisionPlaneOffset;// Offset: 108 // uint mStartCollisionTrianglesOffset;// Offset: 112 // uint mTargetCollisionTrianglesOffset;// Offset: 116 // float mSelfCollisionStiffness; // Offset: 120 // float mParticleBounds[6]; // Offset: 124 // uint mSleepPassCounter; // Offset: 148 // uint mSleepTestCounter; // Offset: 152 // float mStiffnessExponent; // Offset: 156 // uint mRestPositionsOffset; // Offset: 160 // bool mInitSelfCollisionData; // Offset: 164 // // } $Element; // Offset: 0 Size: 168 // // } // // // Resource Bindings: // // Name Type Format Dim HLSL Bind Count // ------------------------------ ---------- ------- ----------- -------------- ------ // bClothData texture struct r/o t0 1 // bIterData texture struct r/o t2 1 // bPhaseConfigs texture struct r/o t3 1 // bConstraints texture struct r/o t4 1 // bTetherConstraints texture struct r/o t5 1 // bCapsuleIndices texture struct r/o t6 1 // bCollisionSpheres texture struct r/o t7 1 // bConvexMasks texture struct r/o t8 1 // bCollisionPlanes texture struct r/o t9 1 // bCollisionTriangles texture struct r/o t10 1 // bMotionConstraints texture struct r/o t11 1 // bSeparationConstraints texture struct r/o t12 1 // bParticleAccelerations texture struct r/o t13 1 // bRestPositions texture struct r/o t14 1 // bSelfCollisionIndices texture struct r/o t15 1 // bPerConstraintStiffness texture struct r/o t16 1 // bTriangles texture struct r/o t17 1 // bVirtualParticleSetSizes texture struct r/o t18 1 // bVirtualParticleIndices texture struct r/o t19 1 // bVirtualParticleWeights texture struct r/o t20 1 // bParticles UAV byte r/w u0 1 // bSelfCollisionParticles UAV struct r/w u1 1 // bSelfCollisionData UAV struct r/w u2 1 // bFrameData UAV struct r/w u3 1 // // // // Input signature: // // Name Index Mask Register SysValue Format Used // -------------------- ----- ------ -------- -------- ------- ------ // no Input // // Output signature: // // Name Index Mask Register SysValue Format Used // -------------------- ----- ------ -------- -------- ------- ------ // no Output cs_5_0 // Opaque Custom Data - XBOX Precompiled Shader Header // First Precompiled Shader at offset:[35518] // Embedded Data: // 0x00008abe - Offset To First Precompiled Shader // 0x00050050 - Original Shader Descriptor // 0x00008ab9 - Original Shader Size dcl_globalFlags refactoringAllowed dcl_immediateConstantBuffer { { 1.000000, 0, 0, 0}, { 0, 1.000000, 0, 0}, { 0, 0, 1.000000, 0}, { 0, 0, 0, 1.000000} } dcl_resource_structured t0, 128 dcl_resource_structured t2, 112 dcl_resource_structured t3, 24 dcl_resource_structured t4, 8 dcl_resource_structured t5, 4 dcl_resource_structured t6, 8 dcl_resource_structured t7, 16 dcl_resource_structured t8, 4 dcl_resource_structured t9, 16 dcl_resource_structured t10, 12 dcl_resource_structured t11, 16 dcl_resource_structured t12, 16 dcl_resource_structured t13, 16 dcl_resource_structured t14, 16 dcl_resource_structured t15, 4 dcl_resource_structured t16, 4 dcl_resource_structured t17, 4 dcl_resource_structured t18, 4 dcl_resource_structured t19, 16 dcl_resource_structured t20, 16 dcl_uav_raw u0 dcl_uav_structured u1, 16 dcl_uav_structured u2, 4 dcl_uav_structured u3, 168 dcl_input vThreadGroupID.x dcl_input vThreadIDInGroup.x dcl_temps 51 dcl_tgsm_raw g0, 128 dcl_tgsm_raw g1, 168 dcl_tgsm_raw g2, 112 dcl_tgsm_structured g3, 4, 7876 dcl_tgsm_structured g4, 4, 192 dcl_tgsm_raw g5, 36 dcl_tgsm_structured g6, 4, 3 dcl_thread_group 1024, 1, 1 if_z vThreadIDInGroup.x ld_structured_indexable(structured_buffer, stride=128)(mixed,mixed,mixed,mixed) r0.xyzw, vThreadGroupID.x, l(0), t0.xyzw ld_structured_indexable(structured_buffer, stride=128)(mixed,mixed,mixed,mixed) r1.xyzw, vThreadGroupID.x, l(16), t0.xyzw ld_structured_indexable(structured_buffer, stride=128)(mixed,mixed,mixed,mixed) r2.xyzw, vThreadGroupID.x, l(32), t0.xyzw ld_structured_indexable(structured_buffer, stride=128)(mixed,mixed,mixed,mixed) r3.xyzw, vThreadGroupID.x, l(48), t0.xyzw ld_structured_indexable(structured_buffer, stride=128)(mixed,mixed,mixed,mixed) r4.xyzw, vThreadGroupID.x, l(68), t0.xyzw ld_structured_indexable(structured_buffer, stride=128)(mixed,mixed,mixed,mixed) r5.xyzw, vThreadGroupID.x, l(84), t0.xyzw ld_structured_indexable(structured_buffer, stride=128)(mixed,mixed,mixed,mixed) r6.xyzw, vThreadGroupID.x, l(100), t0.xyzw ld_structured_indexable(structured_buffer, stride=128)(mixed,mixed,mixed,mixed) r7.x, vThreadGroupID.x, l(116), t0.xxxx ld_structured_indexable(structured_buffer, stride=128)(mixed,mixed,mixed,mixed) r7.y, vThreadGroupID.x, l(124), t0.xxxx store_raw g0.xyzw, l(0), r0.xyzw store_raw g0.xyzw, l(16), r1.xyzw store_raw g0.xyzw, l(32), r2.xyzw store_raw g0.xyzw, l(48), r3.xyzw store_raw g0.xyzw, l(68), r4.xyzw store_raw g0.xyzw, l(84), r5.xyzw store_raw g0.xyzw, l(100), r6.xyzw store_raw g0.x, l(116), r7.x store_raw g0.x, l(124), r7.y ld_structured_indexable(structured_buffer, stride=168)(mixed,mixed,mixed,mixed) r0.xyzw, vThreadGroupID.x, l(0), u3.xyzw ld_structured_indexable(structured_buffer, stride=168)(mixed,mixed,mixed,mixed) r1.xyzw, vThreadGroupID.x, l(16), u3.xyzw ld_structured_indexable(structured_buffer, stride=168)(mixed,mixed,mixed,mixed) r2.xyzw, vThreadGroupID.x, l(32), u3.xyzw ld_structured_indexable(structured_buffer, stride=168)(mixed,mixed,mixed,mixed) r3.xyzw, vThreadGroupID.x, l(48), u3.xyzw ld_structured_indexable(structured_buffer, stride=168)(mixed,mixed,mixed,mixed) r4.xyzw, vThreadGroupID.x, l(64), u3.xyzw ld_structured_indexable(structured_buffer, stride=168)(mixed,mixed,mixed,mixed) r5.xyzw, vThreadGroupID.x, l(80), u3.xyzw ld_structured_indexable(structured_buffer, stride=168)(mixed,mixed,mixed,mixed) r6.xyzw, vThreadGroupID.x, l(96), u3.xyzw ld_structured_indexable(structured_buffer, stride=168)(mixed,mixed,mixed,mixed) r7.xyzw, vThreadGroupID.x, l(112), u3.xyzw ld_structured_indexable(structured_buffer, stride=168)(mixed,mixed,mixed,mixed) r8.xyzw, vThreadGroupID.x, l(128), u3.xyzw ld_structured_indexable(structured_buffer, stride=168)(mixed,mixed,mixed,mixed) r9.xyzw, vThreadGroupID.x, l(144), u3.xyzw ld_structured_indexable(structured_buffer, stride=168)(mixed,mixed,mixed,mixed) r10.xy, vThreadGroupID.x, l(160), u3.xyxx store_raw g1.xyzw, l(0), r0.xyzw store_raw g1.xyzw, l(16), r1.xyzw store_raw g1.xyzw, l(32), r2.xyzw store_raw g1.xyzw, l(48), r3.xyzw store_raw g1.xyzw, l(64), r4.xyzw store_raw g1.xyzw, l(80), r5.xyzw store_raw g1.xyzw, l(96), r6.xyzw store_raw g1.xyzw, l(112), r7.xyzw store_raw g1.xyzw, l(128), r8.xyzw store_raw g1.xyzw, l(144), r9.xyzw store_raw g1.xy, l(160), r10.xyxx endif sync_g_t ld_raw r0.xy, l(0), g0.xyxx iadd r0.x, r0.x, r0.y ld_raw r0.y, l(0), g0.xxxx uge r0.z, l(1969), r0.y if_nz r0.z ld_raw r0.z, l(4), g0.xxxx mov r1.x, vThreadIDInGroup.x loop uge r0.w, r1.x, r0.y breakc_nz r0.w iadd r0.w, r0.z, r1.x ishl r0.w, r0.w, l(4) ld_raw_indexable(raw_buffer)(mixed,mixed,mixed,mixed) r2.xyzw, r0.w, u0.xyzw store_structured g3.x, r1.x, l(0), r2.x iadd r1.xyzw, r1.xxxx, l(1024, 1969, 3938, 5907) store_structured g3.x, r1.y, l(0), r2.y store_structured g3.x, r1.z, l(0), r2.z store_structured g3.x, r1.w, l(0), r2.w endloop not r0.y, vThreadIDInGroup.x and r0.y, r0.y, l(3) ult r1.xyzw, vThreadIDInGroup.xxxx, l(192, 176, 3, 512) and r2.xyzw, vThreadIDInGroup.xxxx, l(32, 31, 1, 2) movc r0.z, r2.x, l(-1.000000), l(1.000000) iadd r3.xyzw, vThreadIDInGroup.xxxx, l(16, 8, 4, 2) ieq r0.w, r2.y, l(0) and r0.w, r0.w, r1.x ushr r4.xy, vThreadIDInGroup.xxxx, l(6, 5, 0, 0) ishl r2.x, r4.y, l(2) ishl r4.zw, vThreadIDInGroup.xxxx, l(0, 0, 2, 3) iadd r4.w, r4.w, l(124) iadd r2.xz, r2.xxzx, l(124, 0, -1, 0) ine r2.w, r2.w, l(0) ieq r2.w, r2.w, l(0) and r5.xyz, vThreadIDInGroup.xxxx, l(4, 8, 992, 0) ine r5.xy, r5.xyxx, l(0, 0, 0, 0) ieq r5.xy, r5.xyxx, l(0, 0, 0, 0) iadd r6.xyzw, vThreadIDInGroup.xxxx, l(1, 1040, 3088, 1032) ult r7.xyzw, r2.yyyy, l(16, 8, 4, 2) ult r5.w, r2.y, l(1) iadd r8.xyzw, vThreadIDInGroup.xxxx, l(3080, 1028, 3076, 1026) iadd r9.xyzw, r3.xyzw, l(2048, 2048, 2048, 2048) iadd r10.xyz, r5.zzzz, l(1024, 2048, 3072, 0) iadd r11.xy, r4.yyyy, l(1, 513, 0, 0) bfi r12.xyzw, l(10, 11, 10, 5), l(0, 0, 0, 5), vThreadIDInGroup.xxxx, l(1024, 2048, 3072, 0) iadd r11.xz, r11.xxyx, r12.wwww iadd r13.xyzw, vThreadIDInGroup.xxxx, l(3074, 1025, 3073, 514) iadd r14.xy, r6.xxxx, l(2048, 4096, 0, 0) iadd r10.w, vThreadIDInGroup.x, l(4096) iadd r11.w, r13.w, l(4096) iadd r15.xyzw, vThreadIDInGroup.xxxx, l(4097, 512, 4610, 4093) iadd r12.w, r15.y, l(4096) uge r16.xyzw, vThreadIDInGroup.xxxx, l(1, 2, 4, 8) iadd r17.xyzw, vThreadIDInGroup.xxxx, l(506, 4081, 482, 4033) iadd r14.zw, r17.xxxz, l(0, 0, 4096, 4096) uge r18.xyzw, vThreadIDInGroup.xxxx, l(16, 32, 64, 128) iadd r17.xz, vThreadIDInGroup.xxxx, l(386, 0, 3841, 0) iadd r13.w, r17.x, l(4096) uge r15.y, vThreadIDInGroup.x, l(256) iadd r11.xz, r11.xxzx, l(4096, 0, 4096, 0) mov r19.w, l(0) mov r20.yw, l(0,0,0,0) mov r21.yw, l(0,0,0,0) mov r22.yw, l(0,0,0,0) mov r17.x, l(0) loop ld_raw r23.x, l(16), g1.xxxx uge r23.y, r17.x, r23.x breakc_nz r23.y utof r23.y, r17.x add r23.z, r23.y, l(1.000000) utof r23.x, r23.x div r23.x, r23.z, r23.x if_z vThreadIDInGroup.x ld_raw r23.z, l(12), g1.xxxx iadd r23.z, r17.x, r23.z ld_structured_indexable(structured_buffer, stride=112)(mixed,mixed,mixed,mixed) r24.xyzw, r23.z, l(0), t2.xyzw ld_structured_indexable(structured_buffer, stride=112)(mixed,mixed,mixed,mixed) r25.xyzw, r23.z, l(16), t2.xyzw ld_structured_indexable(structured_buffer, stride=112)(mixed,mixed,mixed,mixed) r26.xyzw, r23.z, l(32), t2.xyzw ld_structured_indexable(structured_buffer, stride=112)(mixed,mixed,mixed,mixed) r27.xyzw, r23.z, l(48), t2.xyzw ld_structured_indexable(structured_buffer, stride=112)(mixed,mixed,mixed,mixed) r28.xyzw, r23.z, l(64), t2.xyzw ld_structured_indexable(structured_buffer, stride=112)(mixed,mixed,mixed,mixed) r29.xyzw, r23.z, l(80), t2.xyzw ld_structured_indexable(structured_buffer, stride=112)(mixed,mixed,mixed,mixed) r30.xyzw, r23.z, l(96), t2.xyzw store_raw g2.xyzw, l(0), r24.xyzw store_raw g2.xyzw, l(16), r25.xyzw store_raw g2.xyzw, l(32), r26.xyzw store_raw g2.xyzw, l(48), r27.xyzw store_raw g2.xyzw, l(64), r28.xyzw store_raw g2.xyzw, l(80), r29.xyzw store_raw g2.xyzw, l(96), r30.xyzw endif sync_g_t ld_raw r23.z, l(0), g0.xxxx ld_raw r23.w, l(108), g2.xxxx ld_raw r24.xyz, l(12), g2.xyzx ld_raw r25.xyzw, l(60), g2.xyzw ld_raw r26.xyzw, l(24), g2.xyzw ld_raw r27.xyzw, l(76), g2.xyzw ld_raw r28.xyzw, l(40), g2.xyzw ld_raw r24.w, l(92), g2.xxxx ld_raw r29.x, l(56), g2.xxxx ld_raw r30.xyzw, l(12), g2.xyzw ld_raw r29.y, l(36), g2.xxxx ld_raw r29.z, l(48), g2.xxxx mov r29.w, vThreadIDInGroup.x loop uge r31.x, r29.w, r23.z breakc_nz r31.x ld_structured r31.x, r29.w, l(0), g3.xxxx iadd r32.xyzw, r29.wwww, l(1969, 3938, 5907, 1024) ld_structured r31.y, r32.x, l(0), g3.xxxx ld_structured r31.z, r32.y, l(0), g3.xxxx ld_structured r31.w, r32.z, l(0), g3.xxxx iadd r33.x, r0.x, r29.w ishl r33.x, r33.x, l(4) ld_raw_indexable(raw_buffer)(mixed,mixed,mixed,mixed) r34.xyzw, r33.x, u0.xyzw eq r33.y, r31.w, l(0.000000) movc r31.w, r33.y, r34.w, r31.w lt r33.y, l(0.000000), r31.w if_nz r33.y if_nz r23.w add r33.yz, r24.xxyx, r31.xxyx mad r33.yz, r31.xxxx, r25.xxwx, r33.yyzy mad r33.yz, r34.xxxx, r26.xxwx, r33.yyzy mad r33.y, r31.y, r25.y, r33.y mad r33.y, r34.y, r26.y, r33.y mad r33.y, r31.z, r25.z, r33.y mad r35.x, r34.z, r26.z, r33.y mad r33.y, r31.y, r27.x, r33.z mad r33.y, r34.y, r28.x, r33.y mad r33.y, r31.z, r27.y, r33.y mad r35.y, r34.z, r28.y, r33.y add r33.y, r24.z, r31.z mad r33.y, r31.x, r27.z, r33.y mad r33.y, r34.x, r28.z, r33.y mad r33.y, r31.y, r27.w, r33.y mad r33.y, r34.y, r28.w, r33.y mad r33.y, r31.z, r24.w, r33.y mad r33.y, r34.z, r29.x, r33.y else add r33.zw, r31.xxxy, -r34.xxxy mad r33.z, r33.z, r30.w, r30.x add r35.x, r31.x, r33.z mad r33.z, r33.w, r29.y, r30.y add r35.y, r31.y, r33.z add r33.z, r31.z, -r34.z mad r33.z, r33.z, r29.z, r30.z add r33.y, r31.z, r33.z endif ld_raw r34.xyz, l(0), g2.xyzx add r31.xyz, r31.xyzx, r34.xyzx else mov r35.xy, r31.xyxx mov r33.y, r31.z endif store_structured g3.x, r29.w, l(0), r35.x store_structured g3.x, r32.x, l(0), r35.y store_structured g3.x, r32.y, l(0), r33.y store_structured g3.x, r32.z, l(0), r31.w store_raw u0.xyz, r33.x, r31.xyzx mov r29.w, r32.w endloop ld_raw r23.z, l(92), g1.xxxx sync_g_t ld_raw r23.w, l(8), g1.xxxx mul r23.w, r23.w, r23.w movc r23.w, r0.y, r23.w, l(0) ld_raw r24.x, l(0), g0.xxxx ishl r24.y, r24.x, l(2) mov r24.z, vThreadIDInGroup.x loop uge r24.w, r24.z, r24.y breakc_nz r24.w ushr r24.w, r24.z, l(2) ld_structured r25.x, r24.w, l(0), g3.xxxx iadd r26.xyz, r24.wwww, l(1969, 3938, 5907, 0) ld_structured r25.y, r26.x, l(0), g3.xxxx ld_structured r25.z, r26.y, l(0), g3.xxxx ld_structured r25.w, r26.z, l(0), g3.xxxx lt r26.w, l(0.000000), r25.w if_nz r26.w iadd r26.w, r23.z, r24.z ld_structured_indexable(structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r27.xyzw, r26.w, l(0), t13.xyzw mad r25.xyzw, r27.xyzw, r23.wwww, r25.xyzw store_structured g3.x, r24.w, l(0), r25.x store_structured g3.x, r26.x, l(0), r25.y store_structured g3.x, r26.y, l(0), r25.z store_structured g3.x, r26.z, l(0), r25.w endif iadd r24.z, r24.z, l(1024) endloop sync_g_t ld_raw r24.xyz, l(24), g1.xyzx ld_raw r23.z, l(8), g1.xxxx eq r25.xy, r24.xyxx, l(0.000000, 0.000000, 0.000000, 0.000000) and r23.w, r25.y, r25.x if_z r23.w ld_raw r25.xyz, l(96), g2.xyzx sync_g_t ld_raw r26.xy, l(36), g0.xyxx ld_raw r23.w, l(108), g2.xxxx ld_raw r27.xyzw, l(36), g1.xyzw ld_raw r28.xyzw, l(52), g1.xyzw ld_raw r29.x, l(68), g1.xxxx mov r30.x, r27.w mov r30.yz, r28.xxyx mov r29.yz, r28.zzwz mov r24.w, vThreadIDInGroup.x loop uge r25.w, r24.w, r26.x breakc_nz r25.w imul null, r25.w, r24.w, l(3) ushr r26.z, r25.w, l(1) iadd r26.z, r26.z, r26.y ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r26.z, r26.z, l(0), t17.xxxx imad r31.xy, r24.wwww, l(3, 3, 0, 0), l(1, 2, 0, 0) ushr r31.xy, r31.xyxx, l(1, 1, 0, 0) iadd r31.xy, r26.yyyy, r31.xyxx ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r26.w, r31.x, l(0), t17.xxxx ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r29.w, r31.y, l(0), t17.xxxx and r25.w, r25.w, l(1) ushr r31.x, r26.z, l(16) and r31.y, r26.w, l(0x0000ffff) ushr r31.z, r29.w, l(16) and r32.x, r26.z, l(0x0000ffff) ushr r32.y, r26.w, l(16) and r32.z, r29.w, l(0x0000ffff) movc r19.xyz, r25.wwww, r31.xyzx, r32.xyzx ld_structured r31.x, r19.x, l(0), g3.xxxx iadd r32.xyzw, r19.xxxy, l(1969, 3938, 5907, 1969) ld_structured r31.y, r32.x, l(0), g3.xxxx ld_structured r31.z, r32.y, l(0), g3.xxxx ld_structured r25.w, r32.z, l(0), g3.xxxx ld_structured r33.x, r19.y, l(0), g3.xxxx ld_structured r33.y, r32.w, l(0), g3.xxxx iadd r34.xyzw, r19.yyzz, l(3938, 5907, 1969, 3938) ld_structured r33.z, r34.x, l(0), g3.xxxx ld_structured r26.z, r34.y, l(0), g3.xxxx ld_structured r35.x, r19.z, l(0), g3.xxxx ld_structured r35.y, r34.z, l(0), g3.xxxx ld_structured r35.z, r34.w, l(0), g3.xxxx iadd r26.w, r19.z, l(5907) ld_structured r26.w, r26.w, l(0), g3.xxxx iadd r36.xyz, r0.xxxx, r19.xyzx ishl r36.xyz, r36.xyzx, l(4, 4, 4, 0) ld_raw_indexable(raw_buffer)(mixed,mixed,mixed,mixed) r37.xyz, r36.x, u0.xyzx ld_raw_indexable(raw_buffer)(mixed,mixed,mixed,mixed) r36.xyw, r36.y, u0.xyxz ld_raw_indexable(raw_buffer)(mixed,mixed,mixed,mixed) r38.xyz, r36.z, u0.xyzx add r39.xyz, r31.xyzx, r33.xyzx add r39.xyz, r35.xyzx, r39.xyzx mul r40.xyz, r39.xyzx, l(0.333333, 0.333333, 0.333333, 0.000000) add r36.xyz, r36.xywx, r37.xyzx add r36.xyz, r38.xyzx, r36.xyzx mul r37.xyz, r36.xyzx, l(0.333333, 0.333333, 0.333333, 0.000000) mad r37.xyz, r39.xyzx, l(0.333333, 0.333333, 0.333333, 0.000000), -r37.xyzx add r37.xyz, r25.xyzx, r37.xyzx mad r36.xyz, -r36.xyzx, l(0.333333, 0.333333, 0.333333, 0.000000), r25.xyzx mad r38.xyz, r36.xxxx, r27.xyzx, r40.xyzx mad r36.xyw, r36.yyyy, r30.xyxz, r38.xyxz mad r36.xyz, r36.zzzz, r29.yzxy, r36.xywx movc r36.xyz, r23.wwww, r36.xyzx, r37.xyzx add r35.xyz, -r31.zxyz, r35.zxyz add r31.yzw, -r31.yyzx, r33.yyzx mul r33.xyz, r31.yzwy, r35.xyzx mad r31.yzw, r35.zzxy, r31.zzwy, -r33.xxyz dp3 r29.w, r31.yzwy, r31.yzwy sqrt r29.w, r29.w div r31.yzw, r31.yyzw, r29.wwww dp3 r30.w, r36.xyzx, r36.xyzx rsq r32.z, r30.w sqrt r33.x, r30.w dp3 r33.y, r31.yzwy, r36.xyzx mul r33.y, r32.z, r33.y mad r33.z, -r33.y, r33.y, l(1.000000) max r33.z, r33.z, l(0.000000) sqrt r33.z, r33.z mul r35.xyz, r31.yzwy, r36.yzxy mad r31.yzw, r36.xxyz, r31.zzwy, -r35.xxyz mul r35.xyz, r36.yzxy, r32.zzzz mul r37.xyz, r31.yzwy, r35.xyzx mad r31.yzw, r31.wwyz, r35.yyzx, -r37.xxyz mul r32.z, r24.y, r33.y mul r32.z, r33.z, r32.z mul r31.yzw, r31.yyzw, r32.zzzz mul r31.yzw, r33.xxxx, r31.yyzw div r31.yzw, r31.yyzw, r23.zzzz mul r32.z, r24.x, |r33.y| mul r33.yzw, r36.xxyz, r32.zzzz mul r33.xyz, r33.xxxx, r33.yzwy div r33.xyz, r33.xyzx, r23.zzzz lt r30.w, r30.w, l(0.000000) add r31.yzw, r31.yyzw, r33.xxyz mul r31.yzw, r24.zzzz, r31.yyzw mul r31.yzw, r29.wwww, r31.yyzw movc r31.yzw, r30.wwww, l(0,-0.000000,-0.000000,-0.000000), -r31.yyzw mad r29.w, r31.y, r25.w, r31.x imm_atomic_cmp_exch r33.x, g3, r19.xwxx, r31.x, r29.w mov r35.x, r31.x mov r35.y, r33.x loop ieq r29.w, r35.x, r35.y breakc_nz r29.w mad r29.w, r31.y, r25.w, r35.y imm_atomic_cmp_exch r35.x, g3, r19.xwxx, r35.y, r29.w mov r35.xy, r35.yxyy endloop ld_structured r19.x, r32.x, l(0), g3.xxxx mad r29.w, r31.z, r25.w, r19.x mov r20.xz, r32.xxyx imm_atomic_cmp_exch r33.x, g3, r20.xyxx, r19.x, r29.w mov r35.x, r19.x mov r35.y, r33.x loop ieq r29.w, r35.x, r35.y breakc_nz r29.w mad r29.w, r31.z, r25.w, r35.y imm_atomic_cmp_exch r35.x, g3, r20.xyxx, r35.y, r29.w mov r35.xy, r35.yxyy endloop ld_structured r19.x, r32.y, l(0), g3.xxxx mad r20.x, r31.w, r25.w, r19.x imm_atomic_cmp_exch r33.x, g3, r20.zwzz, r19.x, r20.x mov r32.x, r19.x mov r32.y, r33.x loop ieq r20.x, r32.x, r32.y breakc_nz r20.x mad r20.x, r31.w, r25.w, r32.y imm_atomic_cmp_exch r32.x, g3, r20.zwzz, r32.y, r20.x mov r32.xy, r32.yxyy endloop ld_structured r19.x, r19.y, l(0), g3.xxxx mad r20.x, r31.y, r26.z, r19.x imm_atomic_cmp_exch r33.x, g3, r19.ywyy, r19.x, r20.x mov r32.x, r19.x mov r32.y, r33.x loop ieq r20.x, r32.x, r32.y breakc_nz r20.x mad r20.x, r31.y, r26.z, r32.y imm_atomic_cmp_exch r32.x, g3, r19.ywyy, r32.y, r20.x mov r32.xy, r32.yxyy endloop ld_structured r19.x, r32.w, l(0), g3.xxxx mad r19.y, r31.z, r26.z, r19.x mov r21.x, r32.w imm_atomic_cmp_exch r32.x, g3, r21.xyxx, r19.x, r19.y mov r33.x, r19.x mov r33.y, r32.x loop ieq r19.y, r33.x, r33.y breakc_nz r19.y mad r19.y, r31.z, r26.z, r33.y imm_atomic_cmp_exch r33.x, g3, r21.xyxx, r33.y, r19.y mov r33.xy, r33.yxyy endloop ld_structured r19.x, r34.x, l(0), g3.xxxx mad r19.y, r31.w, r26.z, r19.x mov r21.z, r34.x imm_atomic_cmp_exch r32.x, g3, r21.zwzz, r19.x, r19.y mov r33.x, r19.x mov r33.y, r32.x loop ieq r19.y, r33.x, r33.y breakc_nz r19.y mad r19.y, r31.w, r26.z, r33.y imm_atomic_cmp_exch r33.x, g3, r21.zwzz, r33.y, r19.y mov r33.xy, r33.yxyy endloop ld_structured r19.x, r19.z, l(0), g3.xxxx mad r19.y, r31.y, r26.w, r19.x imm_atomic_cmp_exch r32.x, g3, r19.zwzz, r19.x, r19.y mov r33.x, r19.x mov r33.y, r32.x loop ieq r19.y, r33.x, r33.y breakc_nz r19.y mad r19.y, r31.y, r26.w, r33.y imm_atomic_cmp_exch r33.x, g3, r19.zwzz, r33.y, r19.y mov r33.xy, r33.yxyy endloop ld_structured r19.x, r34.z, l(0), g3.xxxx mad r19.y, r31.z, r26.w, r19.x mov r22.xz, r34.zzwz imm_atomic_cmp_exch r32.x, g3, r22.xyxx, r19.x, r19.y mov r31.x, r19.x mov r31.y, r32.x loop ieq r19.y, r31.x, r31.y breakc_nz r19.y mad r19.y, r31.z, r26.w, r31.y imm_atomic_cmp_exch r31.x, g3, r22.xyxx, r31.y, r19.y mov r31.xy, r31.yxyy endloop ld_structured r19.x, r34.w, l(0), g3.xxxx mad r19.y, r31.w, r26.w, r19.x imm_atomic_cmp_exch r32.x, g3, r22.zwzz, r19.x, r19.y mov r31.x, r19.x mov r31.y, r32.x loop ieq r19.y, r31.x, r31.y breakc_nz r19.y mad r19.y, r31.w, r26.w, r31.y imm_atomic_cmp_exch r31.x, g3, r22.zwzz, r31.y, r19.y mov r31.xy, r31.yxyy endloop iadd r24.w, r24.w, l(1024) endloop sync_g_t endif ld_raw r19.x, l(76), g1.xxxx ine r19.x, r19.x, l(-1) if_nz r19.x ld_raw r19.xy, l(44), g0.xyxx ld_raw r24.xyz, l(72), g1.xyzx ld_raw r19.z, l(0), g0.xxxx mov r20.x, vThreadIDInGroup.x loop uge r20.z, r20.x, r19.z breakc_nz r20.z iadd r21.xz, r20.xxxx, r24.yyzy ld_structured_indexable(structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r25.xyzw, r21.x, l(0), t11.xyzw ld_structured_indexable(structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r26.xyzw, r21.z, l(0), t11.xyzw add r26.xyzw, -r25.xyzw, r26.xyzw mad r25.xyzw, r26.xyzw, r23.xxxx, r25.xyzw ld_structured r26.x, r20.x, l(0), g3.xxxx iadd r27.xyzw, r20.xxxx, l(1969, 3938, 5907, 1024) ld_structured r26.y, r27.x, l(0), g3.xxxx ld_structured r26.z, r27.y, l(0), g3.xxxx ld_structured r20.z, r27.z, l(0), g3.xxxx add r25.xyz, r25.xyzx, -r26.xyzx dp3 r21.x, r25.xyzx, r25.xyzx add r21.x, r21.x, l(0.000000) mad r21.z, r25.w, -r19.x, -r19.y min r21.z, r21.z, l(0.000000) rsq r21.x, r21.x mad r21.x, r21.z, r21.x, l(1.000000) max r21.x, r21.x, l(0.000000) mul r21.x, r24.x, r21.x mad r25.xyz, r21.xxxx, r25.xyzx, r26.xyzx ge r21.x, r21.z, l(0.000000) movc r20.z, r21.x, l(0), r20.z store_structured g3.x, r20.x, l(0), r25.x store_structured g3.x, r27.x, l(0), r25.y store_structured g3.x, r27.y, l(0), r25.z store_structured g3.x, r27.z, l(0), r20.z mov r20.x, r27.w endloop endif ld_raw r19.x, l(20), g1.xxxx eq r19.y, r19.x, l(0.000000) ld_raw r19.z, l(24), g0.xxxx ieq r20.x, r19.z, l(0) or r19.y, r19.y, r20.x if_z r19.y ld_raw r19.y, l(0), g0.xxxx utof r20.x, r19.y mul r19.x, r19.x, r20.x utof r20.x, r19.z div r19.x, r19.x, r20.x ld_raw r20.xz, l(28), g0.xxyx mov r21.x, vThreadIDInGroup.x loop uge r21.z, r21.x, r19.y breakc_nz r21.z ld_structured r21.z, r21.x, l(0), g3.xxxx iadd r24.xyzw, r21.xxxx, l(1969, 3938, 5907, 1024) ld_structured r22.x, r24.x, l(0), g3.xxxx ld_structured r22.z, r24.y, l(0), g3.xxxx ld_structured r23.z, r24.z, l(0), g3.xxxx mov r25.xyz, l(0,0,0,0) mov r23.w, r21.x loop uge r25.w, r23.w, r19.z breakc_nz r25.w iadd r25.w, r20.x, r23.w ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r25.w, r25.w, l(0), t5.xxxx and r26.x, r25.w, l(0x0000ffff) ld_structured r26.y, r26.x, l(0), g3.xxxx iadd r26.xz, r26.xxxx, l(1969, 0, 3938, 0) ld_structured r26.x, r26.x, l(0), g3.xxxx ld_structured r26.z, r26.z, l(0), g3.xxxx add r26.y, -r21.z, r26.y add r26.xz, -r22.xxzx, r26.xxzx mad r26.w, r26.y, r26.y, l(0.000000) mad r26.w, r26.x, r26.x, r26.w mad r26.w, r26.z, r26.z, r26.w ushr r25.w, r25.w, l(16) utof r25.w, r25.w mul r25.w, r20.z, r25.w rsq r26.w, r26.w mad r25.w, -r25.w, r26.w, l(1.000000) lt r26.w, l(0.000000), r25.w mad r27.x, r26.y, r25.w, r25.x mad r27.y, r26.x, r25.w, r25.y mad r27.z, r26.z, r25.w, r25.z movc r25.xyz, r26.wwww, r27.xyzx, r25.xyzx iadd r23.w, r19.y, r23.w endloop mad r21.z, r25.x, r19.x, r21.z mad r22.x, r25.y, r19.x, r22.x mad r22.z, r25.z, r19.x, r22.z store_structured g3.x, r21.x, l(0), r21.z store_structured g3.x, r24.x, l(0), r22.x store_structured g3.x, r24.y, l(0), r22.z store_structured g3.x, r24.z, l(0), r23.z mov r21.x, r24.w endloop endif mov r19.x, l(0) loop ld_raw r19.y, l(8), g0.xxxx uge r19.y, r19.x, r19.y breakc_nz r19.y ld_raw r24.xyz, l(12), g0.xyzx iadd r19.y, r19.x, r24.x ld_structured_indexable(structured_buffer, stride=24)(mixed,mixed,mixed,mixed) r26.xyzw, r19.y, l(0), t3.xyzw ld_structured_indexable(structured_buffer, stride=24)(mixed,mixed,mixed,mixed) r19.yz, r19.y, l(16), t3.xxyx ld_raw r20.x, l(156), g1.xxxx mul r21.xz, r20.xxxx, r26.xxyx exp r21.xz, r21.xxzx add r21.xz, -r21.xxzx, l(1.000000, 0.000000, 1.000000, 0.000000) iadd r20.z, r19.y, r24.y ine r22.x, r24.z, l(-1) ld_raw r22.z, l(20), g0.xxxx iadd r19.y, r19.y, r22.z sync_g_t mov r22.z, vThreadIDInGroup.x loop uge r23.z, r22.z, r19.z breakc_nz r23.z iadd r23.z, r20.z, r22.z ld_structured_indexable(structured_buffer, stride=8)(mixed,mixed,mixed,mixed) r23.zw, r23.z, l(0), t4.xxxy and r24.x, r23.w, l(0x0000ffff) ushr r23.w, r23.w, l(16) ld_structured r24.y, r24.x, l(0), g3.xxxx iadd r27.xyz, r24.xxxx, l(1969, 3938, 5907, 0) ld_structured r24.z, r27.x, l(0), g3.xxxx ld_structured r24.w, r27.y, l(0), g3.xxxx ld_structured r25.w, r27.z, l(0), g3.xxxx ld_structured r26.x, r23.w, l(0), g3.xxxx iadd r28.xyz, r23.wwww, l(1969, 3938, 5907, 0) ld_structured r26.y, r28.x, l(0), g3.xxxx ld_structured r27.w, r28.y, l(0), g3.xxxx ld_structured r28.w, r28.z, l(0), g3.xxxx add r29.xy, -r24.yzyy, r26.xyxx add r29.z, -r24.w, r27.w mad r29.w, r29.x, r29.x, l(0.000000) mad r29.w, r29.y, r29.y, r29.w mad r29.w, r29.z, r29.z, r29.w lt r30.x, l(0.000000), r23.z rsq r29.w, r29.w mad r23.z, r23.z, r29.w, l(-1.000000) and r23.z, r23.z, r30.x min r29.w, r26.w, -r23.z max r29.w, r26.z, r29.w mad r23.z, r21.z, r29.w, r23.z iadd r29.w, r19.y, r22.z ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r29.w, r29.w, l(0), t16.xxxx mul r29.w, r20.x, r29.w exp r29.w, r29.w add r29.w, -r29.w, l(1.000000) movc r29.w, r22.x, r29.w, r21.x mul r23.z, r23.z, r29.w add r29.w, r25.w, l(0.000000) add r29.w, r28.w, r29.w div r23.z, r23.z, r29.w mul r29.w, r23.z, -r25.w mad r24.y, r29.w, r29.x, r24.y mad r24.z, r29.w, r29.y, r24.z mad r24.w, r29.w, r29.z, r24.w store_structured g3.x, r24.x, l(0), r24.y store_structured g3.x, r27.x, l(0), r24.z store_structured g3.x, r27.y, l(0), r24.w store_structured g3.x, r27.z, l(0), r25.w mul r23.z, r23.z, r28.w mad r24.x, r23.z, r29.x, r26.x mad r24.y, r23.z, r29.y, r26.y mad r23.z, r23.z, r29.z, r27.w store_structured g3.x, r23.w, l(0), r24.x store_structured g3.x, r28.x, l(0), r24.y store_structured g3.x, r28.y, l(0), r23.z store_structured g3.x, r28.z, l(0), r28.w iadd r22.z, r22.z, l(1024) endloop iadd r19.x, r19.x, l(1) endloop sync_g_t ld_raw r19.x, l(84), g1.xxxx ine r19.x, r19.x, l(-1) if_nz r19.x ld_raw r19.x, l(0), g0.xxxx ld_raw r19.yz, l(84), g1.xxyx mov r20.x, vThreadIDInGroup.x loop uge r20.z, r20.x, r19.x breakc_nz r20.z iadd r21.xz, r19.yyzy, r20.xxxx ld_structured_indexable(structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r24.xyzw, r21.x, l(0), t12.xyzw ld_structured_indexable(structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r26.xyzw, r21.z, l(0), t12.xyzw add r26.xyzw, -r24.xyzw, r26.xyzw mad r24.xyzw, r26.xyzw, r23.xxxx, r24.xyzw ld_structured r26.x, r20.x, l(0), g3.xxxx iadd r27.xyzw, r20.xxxx, l(1969, 3938, 5907, 1024) ld_structured r26.y, r27.x, l(0), g3.xxxx ld_structured r26.z, r27.y, l(0), g3.xxxx ld_structured r20.z, r27.z, l(0), g3.xxxx add r24.xyz, r24.xyzx, -r26.xyzx dp3 r21.x, r24.xyzx, r24.xyzx add r21.x, r21.x, l(0.000000) rsq r21.x, r21.x mad r21.x, -r24.w, r21.x, l(1.000000) min r21.x, r21.x, l(0.000000) mad r24.xyz, r21.xxxx, r24.xyzx, r26.xyzx store_structured g3.x, r20.x, l(0), r24.x store_structured g3.x, r27.x, l(0), r24.y store_structured g3.x, r27.y, l(0), r24.z store_structured g3.x, r27.z, l(0), r20.z mov r20.x, r27.w endloop sync_g_t endif if_nz r1.x ld_raw r19.x, l(0), g0.xxxx iadd r19.y, r19.x, l(-1) umin r19.y, r2.y, r19.y ld_structured r24.x, r19.y, l(0), g3.xxxx iadd r26.xyz, r19.yyyy, l(1969, 3938, 5907, 0) ld_structured r24.y, r26.x, l(0), g3.xxxx ld_structured r24.z, r26.y, l(0), g3.xxxx ld_structured r24.w, r26.z, l(0), g3.xxxx dp4 r19.z, r24.xyzw, icb[r4.x + 0].xyzw mul r19.z, r0.z, r19.z store_structured g4.x, vThreadIDInGroup.x, l(0), r19.z mov r19.z, r19.y loop iadd r20.x, r19.z, l(32) uge r20.z, r20.x, r19.x breakc_nz r20.z ld_structured r20.z, vThreadIDInGroup.x, l(0), g4.xxxx ld_structured r24.x, r20.x, l(0), g3.xxxx iadd r26.xyz, r19.zzzz, l(2001, 3970, 5939, 0) ld_structured r24.y, r26.x, l(0), g3.xxxx ld_structured r24.z, r26.y, l(0), g3.xxxx ld_structured r24.w, r26.z, l(0), g3.xxxx dp4 r21.x, r24.xyzw, icb[r4.x + 0].xyzw mul r21.x, r0.z, r21.x max r20.z, r20.z, r21.x store_structured g4.x, vThreadIDInGroup.x, l(0), r20.z mov r19.z, r20.x endloop endif sync_g_t if_nz r1.y ld_structured r19.x, vThreadIDInGroup.x, l(0), g4.xxxx ld_structured r19.y, r3.x, l(0), g4.xxxx max r19.x, r19.y, r19.x store_structured g4.x, vThreadIDInGroup.x, l(0), r19.x endif sync_g_t if_nz r1.y ld_structured r19.x, vThreadIDInGroup.x, l(0), g4.xxxx ld_structured r19.y, r3.y, l(0), g4.xxxx max r19.x, r19.y, r19.x store_structured g4.x, vThreadIDInGroup.x, l(0), r19.x endif sync_g_t if_nz r1.y ld_structured r19.x, vThreadIDInGroup.x, l(0), g4.xxxx ld_structured r19.y, r3.z, l(0), g4.xxxx max r19.x, r19.y, r19.x store_structured g4.x, vThreadIDInGroup.x, l(0), r19.x endif sync_g_t if_nz r1.y ld_structured r19.x, vThreadIDInGroup.x, l(0), g4.xxxx ld_structured r19.y, r3.w, l(0), g4.xxxx max r19.x, r19.y, r19.x store_structured g4.x, vThreadIDInGroup.x, l(0), r19.x endif sync_g_t if_nz r1.y ld_structured r19.x, vThreadIDInGroup.x, l(0), g4.xxxx ld_structured r19.y, r6.x, l(0), g4.xxxx max r19.x, r19.y, r19.x store_structured g4.x, vThreadIDInGroup.x, l(0), r19.x endif sync_g_t if_nz r0.w ld_structured r19.x, vThreadIDInGroup.x, l(0), g4.xxxx store_raw g1.x, r2.x, r19.x endif sync_g_t ld_raw r19.x, l(16), g1.xxxx utof r19.x, r19.x div r19.x, r23.y, r19.x ld_raw r19.y, l(68), g0.xxxx if_nz r19.y ld_raw r19.z, l(92), g0.xxxx lt r19.z, l(0.000000), r19.z ld_raw r20.x, l(0), g0.xxxx ld_raw r20.z, l(72), g0.xxxx ld_raw r21.xz, l(104), g1.xxyx mov r22.x, vThreadIDInGroup.x loop uge r22.z, r22.x, r20.x breakc_nz r22.z ld_structured r24.x, r22.x, l(0), g3.xxxx iadd r26.xyzw, r22.xxxx, l(1969, 3938, 5907, 1024) ld_structured r24.y, r26.x, l(0), g3.xxxx ld_structured r24.z, r26.y, l(0), g3.xxxx ld_structured r22.z, r26.z, l(0), g3.xxxx mov r27.xyzw, l(0,0,0,0) mov r23.y, l(0) loop uge r23.z, r23.y, r19.y breakc_nz r23.z iadd r23.z, r20.z, r23.y ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r23.z, r23.z, l(0), t8.xxxx firstbit_lo r23.w, r23.z iadd r28.xy, r21.xzxx, r23.wwww ld_structured_indexable(structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r29.xyzw, r28.x, l(0), t9.xyzw ld_structured_indexable(structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r28.xyzw, r28.y, l(0), t9.xyzw add r28.xyzw, -r29.xyzw, r28.xyzw mad r28.xyzw, r23.xxxx, r28.xyzw, r29.xyzw dp3 r23.w, r24.xyzx, r28.xyzx add r23.w, r28.w, r23.w mov r29.xyz, r28.xyzx mov r24.w, r23.z mov r29.w, r23.w loop lt r25.w, r29.w, l(0.000000) iadd r28.w, r24.w, l(-1) and r24.w, r24.w, r28.w ine r28.w, r24.w, l(0) and r25.w, r25.w, r28.w breakc_z r25.w firstbit_lo r25.w, r24.w iadd r30.xy, r21.xzxx, r25.wwww ld_structured_indexable(structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r31.xyzw, r30.x, l(0), t9.xyzw ld_structured_indexable(structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r30.xyzw, r30.y, l(0), t9.xyzw add r30.xyzw, -r31.xyzw, r30.xyzw mad r30.xyzw, r23.xxxx, r30.xyzw, r31.xyzw dp3 r25.w, r24.xyzx, r30.xyzx add r30.w, r30.w, r25.w lt r25.w, r29.w, r30.w movc r29.xyzw, r25.wwww, r30.xyzw, r29.xyzw endloop lt r23.z, r29.w, l(0.000000) mad r28.xyz, -r29.xyzx, r29.wwww, r27.xyzx iadd r28.w, r27.w, l(1) movc r27.xyzw, r23.zzzz, r28.xyzw, r27.xyzw iadd r23.y, r23.y, l(1) endloop if_nz r27.w utof r23.y, r27.w div r23.y, l(1.000000, 1.000000, 1.000000, 1.000000), r23.y if_nz r19.z iadd r23.z, r0.x, r22.x ishl r23.z, r23.z, l(4) ld_raw_indexable(raw_buffer)(mixed,mixed,mixed,mixed) r28.xyzw, r23.z, u0.xyzw ld_raw r23.w, l(92), g0.xxxx dp3 r24.w, r27.xyzx, r27.xyzx add r25.w, r24.w, l(0.000000) rsq r25.w, r25.w mul r30.xyz, r25.wwww, r27.xyzx add r31.xyz, r24.xyzx, -r28.xyzx dp3 r30.w, r31.xyzx, r30.xyzx mad r30.xyz, -r30.wwww, r30.xyzx, r31.xyzx dp3 r30.w, r30.xyzx, r30.xyzx add r30.w, r30.w, l(0.000000) rsq r30.w, r30.w mul r23.w, -r23.w, r24.w mul r23.w, r25.w, r23.w mul r23.w, r23.y, r23.w mul r23.w, r30.w, r23.w max r23.w, r23.w, l(-1.000000) mad r28.xyz, -r30.xyzx, r23.wwww, r28.xyzx store_raw u0.xyzw, r23.z, r28.xyzw endif mad r23.yzw, r27.xxyz, r23.yyyy, r24.xxyz store_structured g3.x, r22.x, l(0), r23.y store_structured g3.x, r26.x, l(0), r23.z store_structured g3.x, r26.y, l(0), r23.w store_structured g3.x, r26.z, l(0), r22.z endif mov r22.x, r26.w endloop endif ld_raw r19.y, l(76), g0.xxxx if_nz r19.y sync_g_t ld_raw r19.y, l(0), g0.xxxx ld_raw r19.z, l(76), g0.xxxx ld_raw r20.xz, l(112), g1.xxyx mov r21.x, vThreadIDInGroup.x loop uge r21.z, r21.x, r19.y breakc_nz r21.z ld_structured r24.x, r21.x, l(0), g3.xxxx iadd r26.xyzw, r21.xxxx, l(1969, 3938, 5907, 1024) ld_structured r24.y, r26.x, l(0), g3.xxxx ld_structured r24.z, r26.y, l(0), g3.xxxx ld_structured r21.z, r26.z, l(0), g3.xxxx mov r23.yzw, l(0,0,0,0) mov r28.xy, l(0,340282346638528860000000000000000000000.000000,0,0) mov r22.x, l(0) loop uge r22.z, r22.x, r19.z breakc_nz r22.z imad r30.xyzw, l(3, 3, 3, 3), r22.xxxx, r20.xzxz ld_structured_indexable(structured_buffer, stride=12)(mixed,mixed,mixed,mixed) r31.xyz, r30.z, l(0), t10.xyzx ld_structured_indexable(structured_buffer, stride=12)(mixed,mixed,mixed,mixed) r32.xyz, r30.w, l(0), t10.xyzx iadd r30.xyzw, r30.xyzw, l(1, 1, 2, 2) ld_structured_indexable(structured_buffer, stride=12)(mixed,mixed,mixed,mixed) r33.xyz, r30.x, l(0), t10.xyzx ld_structured_indexable(structured_buffer, stride=12)(mixed,mixed,mixed,mixed) r34.xyz, r30.y, l(0), t10.xyzx ld_structured_indexable(structured_buffer, stride=12)(mixed,mixed,mixed,mixed) r30.xyz, r30.z, l(0), t10.xyzx ld_structured_indexable(structured_buffer, stride=12)(mixed,mixed,mixed,mixed) r35.xyz, r30.w, l(0), t10.xyzx add r32.xyz, -r31.xyzx, r32.xyzx mad r31.xyz, r32.xyzx, r23.xxxx, r31.xyzx add r32.xyz, -r33.xyzx, r34.xyzx mad r32.xyz, r32.xyzx, r23.xxxx, r33.xyzx add r33.xyz, -r30.xyzx, r35.xyzx mad r30.xyz, r33.xyzx, r23.xxxx, r30.xyzx add r32.xyz, -r31.xyzx, r32.xyzx add r30.xyz, -r31.xyzx, r30.xyzx mul r33.xyz, r30.yzxy, r32.zxyz mad r33.xyz, r32.yzxy, r30.zxyz, -r33.xyzx dp3 r22.z, r33.xyzx, r33.xyzx rsq r22.z, r22.z mul r33.xyz, r22.zzzz, r33.xyzx dp3 r22.z, r32.xyzx, r30.xyzx dp3 r24.w, r32.xyzx, r32.xyzx dp3 r25.w, r30.xyzx, r30.xyzx mul r28.z, r22.z, r22.z mad r28.z, r24.w, r25.w, -r28.z div r28.z, l(1.000000, 1.000000, 1.000000, 1.000000), r28.z add r28.w, r24.w, r25.w mad r28.w, r22.z, l(-2.000000), r28.w div r28.w, l(1.000000, 1.000000, 1.000000, 1.000000), r28.w div r30.w, l(1.000000, 1.000000, 1.000000, 1.000000), r24.w div r31.w, l(1.000000, 1.000000, 1.000000, 1.000000), r25.w add r31.xyz, r24.xyzx, -r31.xyzx dp3 r32.w, r31.xyzx, r32.xyzx dp3 r33.w, r31.xyzx, r30.xyzx dp3 r34.x, r31.xyzx, r33.xyzx mul r34.z, r22.z, r33.w mad r34.z, r25.w, r32.w, -r34.z mul r34.w, r22.z, r32.w mad r24.w, r24.w, r33.w, -r34.w lt r34.w, l(0.000000), r24.w mul r34.z, r28.z, r34.z mul r30.w, r30.w, r32.w movc r30.w, r34.w, r34.z, r30.w lt r34.z, l(0.000000), r30.w mul r24.w, r28.z, r24.w mul r28.z, r31.w, r33.w movc r24.w, r34.z, r24.w, r28.z add r28.z, r24.w, r30.w lt r28.z, l(1.000000), r28.z add r22.z, -r22.z, r25.w add r22.z, r32.w, r22.z add r22.z, -r33.w, r22.z mul r22.z, r28.w, r22.z movc_sat r22.z, r28.z, r22.z, r30.w add r25.w, -r22.z, l(1.000000) min r24.w, r24.w, r25.w max r24.w, r24.w, l(0.000000) mul r30.xyz, r24.wwww, r30.xyzx mad r30.xyz, r32.xyzx, r22.zzzz, r30.xyzx add r30.xyz, -r30.xyzx, r31.xyzx dp3 r22.z, r30.xyzx, r30.xyzx lt r24.w, r34.x, l(0.000000) mul r25.w, r22.z, l(1.000100) movc r34.y, r24.w, r25.w, r22.z lt r22.z, r34.y, r28.y movc r23.yzw, r22.zzzz, r33.xxyz, r23.yyzw movc r28.xy, r22.zzzz, r34.xyxx, r28.xyxx iadd r22.x, r22.x, l(1) endloop lt r22.x, r28.x, l(0.000000) if_nz r22.x mad r24.xyz, -r23.yzwy, r28.xxxx, r24.xyzx store_structured g3.x, r21.x, l(0), r24.x store_structured g3.x, r26.x, l(0), r24.y store_structured g3.x, r26.y, l(0), r24.z store_structured g3.x, r26.z, l(0), r21.z endif mov r21.x, r26.w endloop sync_g_t endif ld_raw r19.y, l(84), g0.xxxx if_nz r19.y ld_raw r19.y, l(92), g0.xxxx lt r19.z, l(0.000000), r19.y ld_raw r20.x, l(0), g0.xxxx ld_raw r21.xz, l(96), g1.xxyx ld_raw r22.xz, l(52), g0.xxyx mov r20.z, vThreadIDInGroup.x loop uge r24.x, r20.z, r20.x breakc_nz r24.x ld_structured r24.x, r20.z, l(0), g3.xxxx iadd r26.xyzw, r20.zzzz, l(1969, 3938, 5907, 1024) ld_structured r24.y, r26.x, l(0), g3.xxxx ld_structured r24.z, r26.y, l(0), g3.xxxx ld_structured r24.w, r26.z, l(0), g3.xxxx iadd r25.w, r0.x, r20.z ishl r25.w, r25.w, l(4) ld_raw_indexable(raw_buffer)(mixed,mixed,mixed,mixed) r28.yzw, r25.w, u0.xxyz mov r31.xyzw, l(0,0,0,0) mov r30.xyzw, l(0,0,0,0) loop uge r32.x, r30.w, r22.x breakc_nz r32.x iadd r32.x, r22.z, r30.w ld_structured_indexable(structured_buffer, stride=8)(mixed,mixed,mixed,mixed) r32.xy, r32.x, l(0), t6.xyxx iadd r32.xyzw, r21.xzxz, r32.xxyy ld_structured_indexable(structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r33.xyzw, r32.x, l(0), t7.xyzw ld_structured_indexable(structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r34.xyzw, r32.y, l(0), t7.xyzw ld_structured_indexable(structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r35.xyzw, r32.z, l(0), t7.xyzw ld_structured_indexable(structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r32.xyzw, r32.w, l(0), t7.xyzw add r34.xyzw, -r33.xyzw, r34.xyzw mad r36.xyzw, r19.xxxx, r34.xyzw, r33.xyzw add r32.xyzw, -r35.xyzw, r32.xyzw mad r37.xyzw, r19.xxxx, r32.xyzw, r35.xyzw max r36.w, r36.w, l(0.000000) max r37.w, r37.w, l(0.000000) add r38.xyzw, -r36.xyzw, r37.xyzw mul r39.xyzw, r38.xyzw, l(0.500000, 0.500000, 0.500000, 0.500000) dp3 r37.w, r39.xyzx, r39.xyzx mad r38.x, -r39.w, r39.w, r37.w ge r38.y, l(0.000000), r38.x if_nz r38.y iadd r38.y, r30.w, l(1) mov r30.w, r38.y continue endif mad r33.xyzw, r23.xxxx, r34.xyzw, r33.xyzw mad r32.xyzw, r23.xxxx, r32.xyzw, r35.xyzw max r33.w, r33.w, l(0.000000) max r32.w, r32.w, l(0.000000) add r34.xyzw, -r33.xyzw, r32.xyzw mul r35.xyzw, r34.xyzw, l(0.500000, 0.500000, 0.500000, 0.500000) dp3 r32.w, r35.xyzx, r35.xyzx mad r34.x, -r35.w, r35.w, r32.w ge r34.y, l(0.000000), r34.x if_nz r34.y iadd r34.y, r30.w, l(1) mov r30.w, r34.y continue endif add r40.xyz, r36.xyzx, r37.xyzx mad r40.xyz, -r40.xyzx, l(0.500000, 0.500000, 0.500000, 0.000000), r28.yzwy rsq r34.y, r37.w rsq r34.z, r38.x mul r37.w, r34.y, r37.w mad r36.w, r38.w, l(0.500000), r36.w mul r36.w, r34.z, r36.w mul r36.w, r37.w, r36.w mul r38.xyz, r34.yyyy, r39.xyzx mul r34.y, r34.z, r39.w mul r39.xyz, r38.yzxy, r40.zxyz mad r39.xyz, r40.yzxy, r38.zxyz, -r39.xyzx dp3 r34.z, r40.xyzx, r38.xyzx add r41.xyz, r33.xyzx, r32.xyzx mad r41.xyz, -r41.xyzx, l(0.500000, 0.500000, 0.500000, 0.000000), r24.xyzx rsq r38.w, r32.w rsq r34.x, r34.x mul r32.w, r32.w, r38.w mad r33.w, r34.w, l(0.500000), r33.w mul r33.w, r34.x, r33.w mul r33.w, r32.w, r33.w mul r35.xyz, r35.xyzx, r38.wwww mul r42.xyz, r35.yzxy, r41.zxyz mad r42.xyz, r41.yzxy, r35.zxyz, -r42.xyzx dp3 r43.x, r41.xyzx, r35.xyzx dp3 r34.w, r42.xyzx, r42.xyzx add r43.y, r34.w, l(0.000000) mad r34.z, r34.z, r34.y, r36.w max r34.z, r34.z, l(0.000000) mul r34.x, r34.x, r35.w mad r34.w, r43.x, r34.x, r33.w max r43.z, r34.w, l(0.000000) dp3 r34.w, r39.xyzx, r39.xyzx mad r34.w, -r34.z, r34.z, r34.w dp3 r36.w, r39.xyzx, r42.xyzx mad r36.w, -r34.z, r43.z, r36.w mad r39.x, -r43.z, r43.z, r43.y mul r39.y, r34.w, r39.x mad r39.y, r36.w, r36.w, -r39.y sqrt r39.z, r39.y add r34.w, -r34.w, r36.w add r36.w, r36.w, -r39.x add r36.w, r34.w, r36.w add r39.x, r39.z, r34.w min r39.x, r39.x, l(0.000000) div r39.x, r39.x, r36.w lt r39.w, r39.x, l(1.000000) lt r40.w, r34.w, r39.z and r39.w, r39.w, r40.w mul r34.w, r34.w, r36.w add r40.w, -r34.z, r43.z mad r34.z, r34.w, r40.w, r34.z mul r34.z, r34.z, r34.z mul r34.z, r36.w, r34.z mul r34.z, r34.z, l(-0.360000) lt r34.z, r34.z, r39.y and r34.z, r34.z, r39.w lt r34.w, r36.w, l(-0.000000) and r34.z, r34.w, r34.z add r42.xyz, r40.xyzx, -r41.xyzx mad r40.xyz, -r42.xyzx, r39.xxxx, r40.xyzx mul r44.xyz, r32.wwww, r35.xyzx mad r38.xyz, -r38.xyzx, r37.wwww, r44.xyzx add r34.w, -r39.x, l(1.000000) mad r44.xyz, -r38.xyzx, r34.wwww, r44.xyzx mul r37.w, r34.x, r39.x mad r34.y, r34.y, r34.w, r37.w dp3 r37.w, r44.xyzx, r44.xyzx rsq r37.w, r37.w dp3 r39.x, r40.xyzx, r44.xyzx mul r39.x, r37.w, r39.x dp3 r39.y, r40.xyzx, r40.xyzx mad r39.y, -r39.x, r39.x, r39.y lt r39.w, l(0.000000), r39.y rsq r40.x, r39.y and r39.w, r39.w, r40.x mul r34.y, r34.y, r39.y mad r34.y, r34.y, r39.w, r39.x mul r34.y, r37.w, r34.y lt r37.w, |r34.y|, l(1.000000) mad r38.xyz, r38.xyzx, r34.yyyy, r42.xyzx lt r34.y, l(0.000000), r34.w mul r36.w, r34.w, r36.w div r36.w, r39.z, r36.w and r34.y, r34.y, r36.w add r34.y, -r34.y, l(1.000000) div r34.y, r34.w, r34.y mad r38.xyz, r38.xyzx, r34.yyyy, r41.xyzx dp3 r39.x, r38.xyzx, r35.xyzx mad r33.w, r39.x, r34.x, r33.w max r39.z, r33.w, l(0.000000) dp3 r33.w, r38.xyzx, r38.xyzx mad r39.y, -r39.x, r39.x, r33.w movc r39.xyz, r37.wwww, r39.xyzx, r43.xyzx movc r39.xyz, r34.zzzz, r39.xyzx, r43.xyzx mul r33.w, r39.z, r39.z lt r33.w, r33.w, r39.y if_nz r33.w iadd r33.w, r30.w, l(1) mov r30.w, r33.w continue endif mul r33.w, r35.w, r38.w mad r33.w, -r33.w, r33.w, l(1.000000) movc r38.xyz, r37.wwww, r38.xyzx, r41.xyzx movc r34.yzw, r34.zzzz, r38.xxyz, r41.xxyz max r35.w, r39.y, l(0.000000) rsq r36.w, r35.w mul r34.x, r34.x, r35.w mad r34.x, r34.x, r36.w, r39.x lt r32.w, |r34.x|, r32.w mad r34.xyz, -r34.xxxx, r35.xyzx, r34.yzwy mul r34.w, r36.w, r39.z mad r33.w, r34.w, r33.w, -r33.w mad r34.xyz, r34.xyzx, r33.wwww, r30.xyzx mad r33.w, r39.x, l(0.500000), l(0.500000) add r33.xyz, -r36.xyzx, r33.xyzx add r32.xyz, -r37.xyzx, r32.xyzx add r32.xyz, -r33.xyzx, r32.xyzx mad r32.xyz, r33.wwww, r32.xyzx, r33.xyzx add r32.xyz, r31.xyzx, r32.xyzx movc r33.xyz, r19.zzzz, r32.xyzx, r31.xyzx iadd r33.w, r31.w, l(1) movc r30.xyz, r32.wwww, r34.xyzx, r30.xyzx movc r31.xyzw, r32.wwww, r33.xyzw, r31.xyzw iadd r30.w, r30.w, l(1) endloop ld_raw r30.w, l(60), g0.xxxx mov r32.xyz, r24.xyzx mov r33.xyz, r30.xyzx mov r34.xyzw, r31.xyzw mov r32.w, l(0) loop uge r33.w, r32.w, r30.w breakc_nz r33.w iadd r35.xy, r21.xzxx, r32.wwww ld_structured_indexable(structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r36.xyzw, r35.x, l(0), t7.xyzw ld_structured_indexable(structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r35.xyzw, r35.y, l(0), t7.xyzw add r35.xyzw, -r36.xyzw, r35.xyzw mad r37.xyzw, r23.xxxx, r35.xyzw, r36.xyzw max r33.w, r37.w, l(0.000000) mad r35.xyz, r19.xxxx, r35.xyzx, r36.xyzx add r36.xyz, r32.xyzx, -r37.xyzx add r38.xyz, r28.yzwy, -r35.xyzx dp3 r35.w, r36.xyzx, r36.xyzx add r36.w, r35.w, l(0.000000) dp3 r35.w, r38.xyzx, r38.xyzx mul r37.w, r33.w, r33.w mad r35.w, -r33.w, r33.w, r35.w dp3 r38.w, r38.xyzx, r36.xyzx mad r38.w, -r33.w, r33.w, r38.w mad r39.x, -r33.w, r33.w, r36.w mul r39.y, r35.w, r39.x mad r39.y, r38.w, r38.w, -r39.y sqrt r39.z, r39.y add r35.w, -r35.w, r38.w add r38.w, r38.w, -r39.x add r38.w, r35.w, r38.w add r39.x, r39.z, r35.w min r39.x, r39.x, l(0.000000) div r39.x, r39.x, r38.w lt r39.w, r39.x, l(1.000000) lt r35.w, r35.w, r39.z and r35.w, r35.w, r39.w mul r37.w, r37.w, r38.w mul r37.w, r37.w, l(-0.360000) lt r37.w, r37.w, r39.y and r35.w, r35.w, r37.w lt r37.w, r38.w, l(-0.000000) and r35.w, r35.w, r37.w add r38.xyz, -r36.xyzx, r38.xyzx add r37.w, -r39.x, l(1.000000) mul r38.w, r37.w, r38.w div r38.w, r39.z, r38.w add r38.w, -r38.w, l(1.000000) div r37.w, r37.w, r38.w mad r38.xyz, r38.xyzx, r37.wwww, r36.xyzx add r39.xyz, r37.xyzx, r38.xyzx dp3 r37.w, r38.xyzx, r38.xyzx add r38.w, r37.w, l(0.000000) movc r32.xyz, r35.wwww, r39.xyzx, r32.xyzx movc r36.xyzw, r35.wwww, r38.xyzw, r36.xyzw rsq r35.w, r36.w mul r36.w, r33.w, r35.w lt r36.w, l(1.000000), r36.w mad r33.w, r35.w, r33.w, l(-1.000000) mad r36.xyz, r36.xyzx, r33.wwww, r33.xyzx add r35.xyz, -r35.xyzx, r37.xyzx add r35.xyz, r34.xyzx, r35.xyzx movc r35.xyz, r19.zzzz, r35.xyzx, r34.xyzx iadd r35.w, r34.w, l(1) movc r33.xyz, r36.wwww, r36.xyzx, r33.xyzx movc r34.xyzw, r36.wwww, r35.xyzw, r34.xyzw iadd r32.w, r32.w, l(1) endloop if_nz r34.w utof r30.w, r34.w div r30.w, l(1.000000, 1.000000, 1.000000, 1.000000), r30.w if_nz r19.z ld_raw r32.x, l(92), g0.xxxx dp3 r32.y, r33.xyzx, r33.xyzx add r32.z, r32.y, l(0.000000) rsq r32.z, r32.z mul r35.xyz, r32.zzzz, r33.xyzx add r36.xyz, r24.xyzx, -r28.yzwy mad r36.xyz, -r34.xyzx, r30.wwww, r36.xyzx dp3 r32.w, r36.xyzx, r35.xyzx mad r35.xyz, -r32.wwww, r35.xyzx, r36.xyzx dp3 r32.w, r35.xyzx, r35.xyzx add r32.w, r32.w, l(0.000000) rsq r32.w, r32.w mul r32.x, r32.y, -r32.x mul r32.x, r32.z, r32.x mul r32.x, r30.w, r32.x mul r32.x, r32.w, r32.x max r32.x, r32.x, l(-1.000000) mad r28.yzw, -r35.xxyz, r32.xxxx, r28.yyzw store_raw u0.xyz, r25.w, r28.yzwy endif mad r24.xyz, r33.xyzx, r30.wwww, r24.xyzx store_structured g3.x, r20.z, l(0), r24.x store_structured g3.x, r26.x, l(0), r24.y store_structured g3.x, r26.y, l(0), r24.z store_structured g3.x, r26.z, l(0), r24.w endif mov r20.z, r26.w endloop else ld_raw r19.yz, l(88), g0.xxyx lt r19.yz, l(0.000000, 0.000000, 0.000000, 0.000000), r19.zzyz ld_raw r20.x, l(0), g0.xxxx ld_raw r21.xz, l(96), g1.xxyx ld_raw r20.z, l(92), g0.xxxx lt r22.x, l(0.000000), r20.z ld_raw r24.xy, l(52), g0.xyxx mov r22.z, vThreadIDInGroup.x loop uge r24.z, r22.z, r20.x breakc_nz r24.z ld_structured r26.x, r22.z, l(0), g3.xxxx iadd r32.xyzw, r22.zzzz, l(1969, 3938, 5907, 1024) ld_structured r26.y, r32.x, l(0), g3.xxxx ld_structured r26.z, r32.y, l(0), g3.xxxx ld_structured r24.z, r32.z, l(0), g3.xxxx mov r28.yzw, l(0,0,0,0) mov r35.xyzw, l(0,0,0,0) mov r24.w, l(0) loop uge r25.w, r24.w, r24.x breakc_nz r25.w iadd r25.w, r24.w, r24.y ld_structured_indexable(structured_buffer, stride=8)(mixed,mixed,mixed,mixed) r36.xy, r25.w, l(0), t6.xyxx iadd r36.xyzw, r21.xzxz, r36.xxyy ld_structured_indexable(structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r37.xyzw, r36.x, l(0), t7.xyzw ld_structured_indexable(structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r38.xyzw, r36.y, l(0), t7.xyzw add r39.xyzw, -r37.xyzw, r38.xyzw mad r39.xyzw, r23.xxxx, r39.xyzw, r37.xyzw ld_structured_indexable(structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r40.xyzw, r36.z, l(0), t7.xyzw ld_structured_indexable(structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r36.xyzw, r36.w, l(0), t7.xyzw add r41.xyzw, -r40.xyzw, r36.xyzw mad r41.xyzw, r23.xxxx, r41.xyzw, r40.xyzw max r39.w, r39.w, l(0.000000) max r41.w, r41.w, l(0.000000) add r42.xyzw, -r39.xyzw, r41.xyzw mul r43.xyzw, r42.xyzw, l(0.500000, 0.500000, 0.500000, 0.500000) dp3 r25.w, r43.xyzx, r43.xyzx mad r26.w, -r43.w, r43.w, r25.w ge r30.w, l(0.000000), r26.w if_nz r30.w iadd r30.w, r24.w, l(1) mov r24.w, r30.w continue endif rsq r30.w, r25.w rsq r26.w, r26.w mul r25.w, r25.w, r30.w add r42.xyz, r39.xyzx, r41.xyzx mad r33.w, r42.w, l(0.500000), r39.w mul r33.w, r26.w, r33.w mul r33.w, r25.w, r33.w mul r43.xyz, r30.wwww, r43.xyzx mul r26.w, r26.w, r43.w mad r42.xyz, -r42.xyzx, l(0.500000, 0.500000, 0.500000, 0.000000), r26.xyzx dp3 r36.w, r42.xyzx, r43.xyzx mad r33.w, r36.w, r26.w, r33.w max r33.w, r33.w, l(0.000000) dp3 r37.w, r42.xyzx, r42.xyzx mad r37.w, -r36.w, r36.w, r37.w mul r38.w, r33.w, r33.w lt r38.w, r38.w, r37.w if_nz r38.w iadd r38.w, r24.w, l(1) mov r24.w, r38.w continue endif mul r30.w, r30.w, r43.w mad r30.w, -r30.w, r30.w, l(1.000000) max r37.w, r37.w, l(0.000000) rsq r38.w, r37.w mul r26.w, r26.w, r37.w mad r26.w, r26.w, r38.w, r36.w lt r25.w, |r26.w|, r25.w mad r42.xyz, -r26.wwww, r43.xyzx, r42.xyzx mul r26.w, r33.w, r38.w mad r26.w, r26.w, r30.w, -r30.w mad r42.xyz, r42.xyzx, r26.wwww, r28.yzwy add r38.xyz, -r37.xyzx, r38.xyzx mad r37.xyz, r19.xxxx, r38.xyzx, r37.xyzx add r36.xyz, -r40.xyzx, r36.xyzx mad r36.xyz, r19.xxxx, r36.xyzx, r40.xyzx mad r26.w, r36.w, l(0.500000), l(0.500000) add r37.xyz, -r37.xyzx, r39.xyzx add r36.xyz, -r36.xyzx, r41.xyzx add r36.xyz, -r37.xyzx, r36.xyzx mad r36.xyz, r26.wwww, r36.xyzx, r37.xyzx add r36.xyz, r35.xyzx, r36.xyzx movc r36.xyz, r22.xxxx, r36.xyzx, r35.xyzx iadd r36.w, r35.w, l(1) movc r28.yzw, r25.wwww, r42.xxyz, r28.yyzw movc r35.xyzw, r25.wwww, r36.xyzw, r35.xyzw iadd r24.w, r24.w, l(1) endloop ld_raw r24.w, l(60), g0.xxxx mov r36.xyz, r28.yzwy mov r37.xyzw, r35.xyzw mov r25.w, l(0) loop uge r26.w, r25.w, r24.w breakc_nz r26.w iadd r38.xy, r21.xzxx, r25.wwww ld_structured_indexable(structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r39.xyzw, r38.x, l(0), t7.xyzw ld_structured_indexable(structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r38.xyzw, r38.y, l(0), t7.xyzw add r38.xyzw, -r39.xyzw, r38.xyzw mad r40.xyzw, r23.xxxx, r38.xyzw, r39.xyzw max r26.w, r40.w, l(0.000000) add r41.xyz, r26.xyzx, -r40.xyzx dp3 r30.w, r41.xyzx, r41.xyzx add r30.w, r30.w, l(0.000000) rsq r30.w, r30.w mul r33.w, r26.w, r30.w lt r33.w, l(1.000000), r33.w mad r26.w, r30.w, r26.w, l(-1.000000) mad r41.xyz, r41.xyzx, r26.wwww, r36.xyzx mad r38.xyz, r19.xxxx, r38.xyzx, r39.xyzx add r38.xyz, -r38.xyzx, r40.xyzx add r38.xyz, r37.xyzx, r38.xyzx movc r38.xyz, r22.xxxx, r38.xyzx, r37.xyzx iadd r38.w, r37.w, l(1) movc r36.xyz, r33.wwww, r41.xyzx, r36.xyzx movc r37.xyzw, r33.wwww, r38.xyzw, r37.xyzw iadd r25.w, r25.w, l(1) endloop if_nz r37.w utof r24.w, r37.w div r24.w, l(1.000000, 1.000000, 1.000000, 1.000000), r24.w if_nz r19.y iadd r25.w, r0.x, r22.z ishl r25.w, r25.w, l(4) ld_raw_indexable(raw_buffer)(mixed,mixed,mixed,mixed) r38.xyzw, r25.w, u0.xyzw ld_raw r26.w, l(92), g0.xxxx dp3 r30.w, r36.xyzx, r36.xyzx add r33.w, r30.w, l(0.000000) rsq r33.w, r33.w mul r39.xyz, r33.wwww, r36.xyzx add r40.xyz, r26.xyzx, -r38.xyzx mad r40.xyz, -r37.xyzx, r24.wwww, r40.xyzx dp3 r36.w, r40.xyzx, r39.xyzx mad r39.xyz, -r36.wwww, r39.xyzx, r40.xyzx dp3 r36.w, r39.xyzx, r39.xyzx add r36.w, r36.w, l(0.000000) rsq r36.w, r36.w mul r26.w, -r26.w, r30.w mul r26.w, r33.w, r26.w mul r26.w, r24.w, r26.w mul r26.w, r36.w, r26.w max r26.w, r26.w, l(-1.000000) mad r38.xyz, -r39.xyzx, r26.wwww, r38.xyzx store_raw u0.xyzw, r25.w, r38.xyzw endif mad r26.xyz, r36.xyzx, r24.wwww, r26.xyzx dp3 r24.w, r36.xyzx, r36.xyzx ld_raw r25.w, l(88), g0.xxxx mad r24.w, r25.w, r24.w, l(1.000000) div r24.w, r24.z, r24.w movc r24.z, r19.z, r24.w, r24.z store_structured g3.x, r22.z, l(0), r26.x store_structured g3.x, r32.x, l(0), r26.y store_structured g3.x, r32.y, l(0), r26.z store_structured g3.x, r32.z, l(0), r24.z endif mov r22.z, r32.w endloop endif ld_raw r19.y, l(80), g0.xxxx if_nz r19.y ld_raw r20.xz, l(88), g0.xxyx lt r20.xz, l(0.000000, 0.000000, 0.000000, 0.000000), r20.zzxz mov r19.z, l(0) mov r21.x, l(0) loop uge r21.z, r21.x, r19.y breakc_nz r21.z sync_g_t iadd r21.z, r4.z, r19.z ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r22.x, r21.x, l(0), t18.xxxx ishl r22.x, r22.x, l(2) iadd r19.z, r19.z, r22.x ld_raw r22.xz, l(96), g1.xxyx ld_raw r24.x, l(92), g0.xxxx lt r24.y, l(0.000000), r24.x ld_raw r24.zw, l(52), g0.xxxy mov r25.w, r21.z loop uge r26.x, r25.w, r19.z breakc_nz r26.x ushr r26.x, r25.w, l(1) ld_structured_indexable(structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r26.xyzw, r26.x, l(0), t19.xyzw and r30.w, r25.w, l(1) and r32.xyzw, r26.zwxy, l(0x0000ffff, 0x0000ffff, 0x0000ffff, 0x0000ffff) ushr r26.xyzw, r26.zxwy, l(16, 16, 16, 16) mov r38.xz, r32.xxyx mov r38.yw, r26.xxxz mov r26.xz, r32.zzwz movc r26.xyzw, r30.wwww, r38.xyzw, r26.xyzw ld_structured_indexable(structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r32.xyzw, r26.w, l(0), t20.xyzw ld_structured r26.w, r26.x, l(0), g3.xxxx iadd r38.xyzw, r26.xxyy, l(1969, 3938, 1969, 3938) ld_structured r30.w, r38.x, l(0), g3.xxxx ld_structured r33.w, r38.y, l(0), g3.xxxx ld_structured r36.w, r26.y, l(0), g3.xxxx ld_structured r39.x, r38.z, l(0), g3.xxxx ld_structured r39.y, r38.w, l(0), g3.xxxx ld_structured r39.z, r26.z, l(0), g3.xxxx iadd r40.xy, r26.zzzz, l(1969, 3938, 0, 0) ld_structured r39.w, r40.x, l(0), g3.xxxx ld_structured r40.z, r40.y, l(0), g3.xxxx mul r36.w, r32.y, r36.w mad r26.w, r26.w, r32.x, r36.w mad r41.x, r39.z, r32.z, r26.w mul r26.w, r32.y, r39.x mad r26.w, r30.w, r32.x, r26.w mad r41.y, r39.w, r32.z, r26.w mul r26.w, r32.y, r39.y mad r26.w, r33.w, r32.x, r26.w mad r41.z, r40.z, r32.z, r26.w mov r39.xyz, l(0,0,0,0) mov r42.xyzw, l(0,0,0,0) mov r26.w, l(0) loop uge r30.w, r26.w, r24.z breakc_nz r30.w iadd r30.w, r24.w, r26.w ld_structured_indexable(structured_buffer, stride=8)(mixed,mixed,mixed,mixed) r40.zw, r30.w, l(0), t6.xxxy iadd r43.xyzw, r22.xzxz, r40.zzww ld_structured_indexable(structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r44.xyzw, r43.x, l(0), t7.xyzw ld_structured_indexable(structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r45.xyzw, r43.y, l(0), t7.xyzw add r46.xyzw, -r44.xyzw, r45.xyzw mad r46.xyzw, r23.xxxx, r46.xyzw, r44.xyzw ld_structured_indexable(structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r47.xyzw, r43.z, l(0), t7.xyzw ld_structured_indexable(structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r43.xyzw, r43.w, l(0), t7.xyzw add r48.xyzw, -r47.xyzw, r43.xyzw mad r48.xyzw, r23.xxxx, r48.xyzw, r47.xyzw max r46.w, r46.w, l(0.000000) max r48.w, r48.w, l(0.000000) add r49.xyzw, -r46.xyzw, r48.xyzw mul r50.xyzw, r49.xyzw, l(0.500000, 0.500000, 0.500000, 0.500000) dp3 r30.w, r50.xyzx, r50.xyzx mad r33.w, -r50.w, r50.w, r30.w ge r36.w, l(0.000000), r33.w if_nz r36.w iadd r36.w, r26.w, l(1) mov r26.w, r36.w continue endif rsq r36.w, r30.w rsq r33.w, r33.w mul r30.w, r30.w, r36.w add r49.xyz, r46.xyzx, r48.xyzx mad r39.w, r49.w, l(0.500000), r46.w mul r39.w, r33.w, r39.w mul r39.w, r30.w, r39.w mul r50.xyz, r36.wwww, r50.xyzx mul r33.w, r33.w, r50.w mad r49.xyz, -r49.xyzx, l(0.500000, 0.500000, 0.500000, 0.000000), r41.xyzx dp3 r40.z, r49.xyzx, r50.xyzx mad r39.w, r40.z, r33.w, r39.w max r39.w, r39.w, l(0.000000) dp3 r40.w, r49.xyzx, r49.xyzx mad r40.w, -r40.z, r40.z, r40.w mul r41.w, r39.w, r39.w lt r41.w, r41.w, r40.w if_nz r41.w iadd r41.w, r26.w, l(1) mov r26.w, r41.w continue endif mul r36.w, r36.w, r50.w mad r36.w, -r36.w, r36.w, l(1.000000) max r40.w, r40.w, l(0.000000) rsq r41.w, r40.w mul r33.w, r33.w, r40.w mad r33.w, r33.w, r41.w, r40.z lt r30.w, |r33.w|, r30.w mad r49.xyz, -r33.wwww, r50.xyzx, r49.xyzx mul r33.w, r39.w, r41.w mad r33.w, r33.w, r36.w, -r36.w mad r49.xyz, r49.xyzx, r33.wwww, r39.xyzx add r45.xyz, -r44.xyzx, r45.xyzx mad r44.xyz, r19.xxxx, r45.xyzx, r44.xyzx add r43.xyz, -r47.xyzx, r43.xyzx mad r43.xyz, r19.xxxx, r43.xyzx, r47.xyzx mad r33.w, r40.z, l(0.500000), l(0.500000) add r44.xyz, -r44.xyzx, r46.xyzx add r43.xyz, -r43.xyzx, r48.xyzx add r43.xyz, -r44.xyzx, r43.xyzx mad r43.xyz, r33.wwww, r43.xyzx, r44.xyzx add r43.xyz, r42.xyzx, r43.xyzx movc r43.xyz, r24.yyyy, r43.xyzx, r42.xyzx iadd r43.w, r42.w, l(1) movc r39.xyz, r30.wwww, r49.xyzx, r39.xyzx movc r42.xyzw, r30.wwww, r43.xyzw, r42.xyzw iadd r26.w, r26.w, l(1) endloop ld_raw r26.w, l(60), g0.xxxx mov r43.xyz, r39.xyzx mov r44.xyzw, r42.xyzw mov r30.w, l(0) loop uge r33.w, r30.w, r26.w breakc_nz r33.w iadd r40.zw, r22.xxxz, r30.wwww ld_structured_indexable(structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r45.xyzw, r40.z, l(0), t7.xyzw ld_structured_indexable(structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r46.xyzw, r40.w, l(0), t7.xyzw add r46.xyzw, -r45.xyzw, r46.xyzw mad r47.xyzw, r23.xxxx, r46.xyzw, r45.xyzw max r33.w, r47.w, l(0.000000) add r48.xyz, r41.xyzx, -r47.xyzx dp3 r36.w, r48.xyzx, r48.xyzx add r36.w, r36.w, l(0.000000) rsq r36.w, r36.w mul r39.w, r33.w, r36.w lt r39.w, l(1.000000), r39.w mad r33.w, r36.w, r33.w, l(-1.000000) mad r48.xyz, r48.xyzx, r33.wwww, r43.xyzx mad r45.xyz, r19.xxxx, r46.xyzx, r45.xyzx add r45.xyz, -r45.xyzx, r47.xyzx add r45.xyz, r44.xyzx, r45.xyzx movc r45.xyz, r24.yyyy, r45.xyzx, r44.xyzx iadd r45.w, r44.w, l(1) movc r43.xyz, r39.wwww, r48.xyzx, r43.xyzx movc r44.xyzw, r39.wwww, r45.xyzw, r44.xyzw iadd r30.w, r30.w, l(1) endloop if_nz r44.w utof r26.w, r44.w div r26.w, l(1.000000, 1.000000, 1.000000, 1.000000), r26.w ld_structured r30.w, r26.x, l(0), g3.xxxx ld_structured r33.w, r38.x, l(0), g3.xxxx ld_structured r36.w, r38.y, l(0), g3.xxxx iadd r45.xyz, r26.xyzx, l(5907, 5907, 5907, 0) ld_structured r39.w, r45.x, l(0), g3.xxxx ld_structured r40.z, r26.y, l(0), g3.xxxx ld_structured r40.w, r38.z, l(0), g3.xxxx ld_structured r41.w, r38.w, l(0), g3.xxxx ld_structured r43.w, r45.y, l(0), g3.xxxx ld_structured r45.w, r26.z, l(0), g3.xxxx ld_structured r46.x, r40.x, l(0), g3.xxxx ld_structured r46.y, r40.y, l(0), g3.xxxx ld_structured r46.z, r45.z, l(0), g3.xxxx mul r47.xyz, r26.wwww, r43.xyzx ne r46.w, r39.w, l(0.000000) if_nz r46.w mad r30.w, r47.x, r32.x, r30.w mad r33.w, r47.y, r32.x, r33.w mad r36.w, r47.z, r32.x, r36.w store_structured g3.x, r26.x, l(0), r30.w store_structured g3.x, r38.x, l(0), r33.w store_structured g3.x, r38.y, l(0), r36.w store_structured g3.x, r45.x, l(0), r39.w endif ne r30.w, r43.w, l(0.000000) if_nz r30.w mad r30.w, r47.x, r32.y, r40.z mad r33.w, r47.y, r32.y, r40.w mad r36.w, r47.z, r32.y, r41.w store_structured g3.x, r26.y, l(0), r30.w store_structured g3.x, r38.z, l(0), r33.w store_structured g3.x, r38.w, l(0), r36.w store_structured g3.x, r45.y, l(0), r43.w endif ne r30.w, r46.z, l(0.000000) if_nz r30.w mad r30.w, r47.x, r32.z, r45.w mad r33.w, r47.y, r32.z, r46.x mad r36.w, r47.z, r32.z, r46.y store_structured g3.x, r26.z, l(0), r30.w store_structured g3.x, r40.x, l(0), r33.w store_structured g3.x, r40.y, l(0), r36.w store_structured g3.x, r45.z, l(0), r46.z endif if_nz r20.x iadd r46.xyz, r0.xxxx, r26.xyzx ishl r46.xyz, r46.xyzx, l(4, 4, 4, 0) ld_raw_indexable(raw_buffer)(mixed,mixed,mixed,mixed) r47.xyz, r46.x, u0.xyzx ld_raw_indexable(raw_buffer)(mixed,mixed,mixed,mixed) r48.xyz, r46.y, u0.xyzx ld_raw_indexable(raw_buffer)(mixed,mixed,mixed,mixed) r49.xyz, r46.z, u0.xyzx mul r48.xyz, r32.yyyy, r48.xyzx mad r47.xyz, r47.xyzx, r32.xxxx, r48.xyzx mad r47.xyz, r49.xyzx, r32.zzzz, r47.xyzx ld_raw r26.x, l(92), g0.xxxx dp3 r30.w, r43.xyzx, r43.xyzx add r33.w, r30.w, l(0.000000) rsq r33.w, r33.w mul r48.xyz, r33.wwww, r43.xyzx add r41.xyz, r41.xyzx, -r47.xyzx mad r41.xyz, -r44.xyzx, r26.wwww, r41.xyzx dp3 r36.w, r41.xyzx, r48.xyzx mad r41.xyz, -r36.wwww, r48.xyzx, r41.xyzx dp3 r36.w, r41.xyzx, r41.xyzx add r36.w, r36.w, l(0.000000) rsq r36.w, r36.w mul r26.x, -r26.x, r30.w mul r26.x, r33.w, r26.x mul r26.x, r26.w, r26.x mul r26.x, r36.w, r26.x max r26.x, r26.x, l(-1.000000) mul r41.xyz, r26.xxxx, r41.xyzx ld_raw_indexable(raw_buffer)(mixed,mixed,mixed,mixed) r47.xyzw, r46.x, u0.xyzw ld_raw_indexable(raw_buffer)(mixed,mixed,mixed,mixed) r48.xyzw, r46.y, u0.xyzw ld_raw_indexable(raw_buffer)(mixed,mixed,mixed,mixed) r49.xyzw, r46.z, u0.xyzw mul r41.xyz, -r32.wwww, r41.xyzx ne r26.x, r47.w, l(0.000000) if_nz r26.x mad r47.xyz, r41.xyzx, r32.xxxx, r47.xyzx store_raw u0.xyzw, r46.x, r47.xyzw endif ne r26.x, r48.w, l(0.000000) if_nz r26.x mad r48.xyz, r41.xyzx, r32.yyyy, r48.xyzx store_raw u0.xyzw, r46.y, r48.xyzw endif ne r26.x, r49.w, l(0.000000) if_nz r26.x mad r49.xyz, r41.xyzx, r32.zzzz, r49.xyzx store_raw u0.xyzw, r46.z, r49.xyzw endif endif if_nz r20.z dp3 r26.x, r43.xyzx, r43.xyzx mul r26.w, r26.w, r26.w mul r26.x, r26.x, r26.w ld_raw r26.w, l(88), g0.xxxx mad r26.x, r26.w, r26.x, l(1.000000) div r26.x, l(1.000000, 1.000000, 1.000000, 1.000000), r26.x add r26.x, r26.x, l(-1.000000) ld_structured r26.w, r45.x, l(0), g3.xxxx ld_structured r30.w, r26.y, l(0), g3.xxxx ld_structured r32.w, r38.z, l(0), g3.xxxx ld_structured r33.w, r38.w, l(0), g3.xxxx ld_structured r36.w, r45.y, l(0), g3.xxxx ld_structured r38.x, r26.z, l(0), g3.xxxx ld_structured r38.y, r40.x, l(0), g3.xxxx ld_structured r39.w, r40.y, l(0), g3.xxxx ld_structured r40.z, r45.z, l(0), g3.xxxx mad r32.xyz, r32.xyzx, r26.xxxx, l(1.000000, 1.000000, 1.000000, 0.000000) mul r26.x, r26.w, r32.x mul r26.w, r32.y, r36.w mul r32.x, r32.z, r40.z store_structured g3.x, r45.x, l(0), r26.x store_structured g3.x, r26.y, l(0), r30.w store_structured g3.x, r38.z, l(0), r32.w store_structured g3.x, r38.w, l(0), r33.w store_structured g3.x, r45.y, l(0), r26.w store_structured g3.x, r26.z, l(0), r38.x store_structured g3.x, r40.x, l(0), r38.y store_structured g3.x, r40.y, l(0), r39.w store_structured g3.x, r45.z, l(0), r32.x endif endif iadd r25.w, r25.w, l(4096) endloop iadd r21.x, r21.x, l(1) endloop endif ld_raw r19.x, l(96), g0.xxxx ld_raw r19.y, l(120), g1.xxxx min r19.x, r19.y, r19.x lt r19.x, l(0.000000), r19.x if_nz r19.x ld_raw r19.x, l(100), g0.xxxx ld_raw r19.y, l(0), g0.xxxx if_nz r1.z ld_raw r20.xz, r4.w, g1.xxyx add r19.z, r20.z, r20.x mad r20.xz, r19.zzzz, l(0.000100, 0.000000, 0.000100, 0.000000), r20.zzxz add r19.z, r20.x, r20.z store_structured g6.x, vThreadIDInGroup.x, l(0), r19.z else mov r20.x, l(0) mov r19.z, l(0) endif sync_g_t if_nz r1.z ld_structured r20.z, l(0), l(0), g6.xxxx ld_structured r21.x, l(1), l(0), g6.xxxx lt r20.z, r21.x, r20.z and r21.x, r20.z, l(1) ld_structured r21.x, r21.x, l(0), g6.xxxx ld_structured r21.z, l(2), l(0), g6.xxxx lt r21.x, r21.z, r21.x movc r20.z, r21.x, l(-2), r20.z iadd r20.z, r20.z, vThreadIDInGroup.x ushr r21.x, r20.z, l(30) iadd r20.z, r20.z, r21.x div r19.z, l(127.000000), r19.z ld_raw r21.x, l(96), g0.xxxx div r21.x, l(1.000000, 1.000000, 1.000000, 1.000000), r21.x min r19.z, r19.z, r21.x ishl r20.z, r20.z, l(2) iadd r21.xz, r20.zzzz, l(12, 0, 24, 0) store_raw g5.x, r21.x, r19.z mul r19.z, r20.x, r19.z store_raw g5.x, r20.z, r19.z store_raw g5.x, r21.z, vThreadIDInGroup.x endif sync_g_t ld_raw r19.z, l(112), g0.xxxx ishl r20.x, r19.x, l(1) iadd r19.z, r19.z, r20.x ld_raw r20.x, l(164), g1.xxxx if_nz r20.x mov r20.x, vThreadIDInGroup.x loop ige r20.z, r20.x, l(0x00004103) breakc_nz r20.z iadd r20.z, r19.z, r20.x store_structured u2.x, r20.z, l(0), l(-1) iadd r20.x, r20.x, l(1024) endloop endif ld_raw r20.xz, l(16), g5.xxyx ld_raw r21.xz, l(4), g5.xxyx ld_raw r22.xz, l(28), g5.xxyx ld_raw r23.x, l(104), g0.xxxx ine r24.x, r23.x, l(-1) ld_raw r24.y, l(112), g0.xxxx mov r24.z, vThreadIDInGroup.x loop ige r24.w, r24.z, r19.x breakc_nz r24.w iadd r24.w, r23.x, r24.z ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r24.w, r24.w, l(0), t15.xxxx movc r24.w, r24.x, r24.w, r24.z ld_structured r26.x, r24.w, l(0), g3.xxxx iadd r32.xyz, r24.wwww, l(1969, 3938, 5907, 0) ld_structured r26.y, r32.x, l(0), g3.xxxx ld_structured r26.z, r32.y, l(0), g3.xxxx ld_structured r26.w, r32.z, l(0), g3.xxxx dp4 r25.w, r26.xyzw, icb[r22.x + 0].xyzw mad r25.w, r25.w, r20.x, r21.x min r25.w, r25.w, l(127.500000) max r25.w, r25.w, l(0.000000) ftoi r25.w, r25.w dp4 r26.x, r26.xyzw, icb[r22.z + 0].xyzw mad r26.x, r26.x, r20.z, r21.z min r26.x, r26.x, l(127.500000) max r26.x, r26.x, l(0.000000) ftoi r26.x, r26.x iadd r26.y, r24.z, r24.y ishl r26.x, r26.x, l(23) imad r25.w, r25.w, l(0x00010000), r26.x iadd r25.w, r25.w, l(0x00810000) or r24.w, r24.w, r25.w store_structured u2.x, r26.y, l(0), r24.w iadd r24.z, r24.z, l(1024) endloop sync_g_t ld_raw r24.xy, l(108), g0.xyxx iadd r23.x, r19.x, r24.y mov r26.x, vThreadIDInGroup.x loop ige r24.z, r26.x, r19.y breakc_nz r24.z iadd r24.z, r24.x, r26.x ld_structured r32.x, r26.x, l(0), g3.xxxx iadd r26.xyzw, r26.xxxx, l(1024, 1969, 3938, 5907) ld_structured r32.y, r26.y, l(0), g3.xxxx ld_structured r32.z, r26.z, l(0), g3.xxxx ld_structured r32.w, r26.w, l(0), g3.xxxx store_structured u1.xyzw, r24.z, l(0), r32.xyzw endloop sync_g_t iadd r24.x, r19.x, l(31) ubfe r24.z, l(5), l(5), r24.x ushr r24.x, r24.x, l(10) ult r24.w, r4.y, r24.z and r25.w, r24.w, l(1) iadd r25.w, r24.x, r25.w movc r26.x, r24.w, l(0), l(1) imul null, r26.x, r24.z, r26.x imad r26.x, r4.y, r25.w, r26.x ishl r26.y, r26.x, l(5) ishl r25.w, r25.w, l(5) iadd r25.w, r25.w, r26.y umin r25.w, r19.x, r25.w bfi r26.x, l(27), l(5), r26.x, vThreadIDInGroup.x mov r26.y, l(16) mov r26.z, r24.y mov r26.w, r23.x loop uge r30.w, r26.y, l(32) breakc_nz r30.w mov r30.w, l(0) mov r32.x, l(0) mov r32.y, r26.x loop uge r32.z, r32.x, r24.x breakc_nz r32.z ult r32.z, r32.y, r25.w iadd r32.w, r26.z, r32.y ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r32.w, r32.w, l(0), u2.xxxx movc r32.z, r32.z, r32.w, l(-1) ushr r32.z, r32.z, r26.y and r38.xyzw, r32.zzzz, l(1, 2, 4, 8) ine r38.xyzw, r38.xyzw, l(0, 0, 0, 0) bfi r38.xyzw, l(1, 1, 1, 1), vThreadIDInGroup.xxxx, r38.xyzw, l(0, 0, 0, 0) store_structured g3.x, vThreadIDInGroup.x, l(0), r38.x store_structured g3.x, r12.x, l(0), r38.y store_structured g3.x, r12.y, l(0), r38.z store_structured g3.x, r12.z, l(0), r38.w sync_g_t if_nz r7.x ld_structured r38.x, vThreadIDInGroup.x, l(0), g3.xxxx ld_structured r38.y, r12.x, l(0), g3.xxxx ld_structured r38.z, r12.y, l(0), g3.xxxx ld_structured r38.w, r12.z, l(0), g3.xxxx ld_structured r40.x, r3.x, l(0), g3.xxxx ld_structured r40.y, r6.y, l(0), g3.xxxx ld_structured r40.z, r9.x, l(0), g3.xxxx ld_structured r40.w, r6.z, l(0), g3.xxxx or r38.xyzw, r38.xyzw, r40.xyzw store_structured g3.x, vThreadIDInGroup.x, l(0), r38.x store_structured g3.x, r12.x, l(0), r38.y store_structured g3.x, r12.y, l(0), r38.z store_structured g3.x, r12.z, l(0), r38.w endif sync_g_t if_nz r7.y ld_structured r38.x, vThreadIDInGroup.x, l(0), g3.xxxx ld_structured r38.y, r12.x, l(0), g3.xxxx ld_structured r38.z, r12.y, l(0), g3.xxxx ld_structured r38.w, r12.z, l(0), g3.xxxx ld_structured r40.x, r3.y, l(0), g3.xxxx ld_structured r40.y, r6.w, l(0), g3.xxxx ld_structured r40.z, r9.y, l(0), g3.xxxx ld_structured r40.w, r8.x, l(0), g3.xxxx or r38.xyzw, r38.xyzw, r40.xyzw store_structured g3.x, vThreadIDInGroup.x, l(0), r38.x store_structured g3.x, r12.x, l(0), r38.y store_structured g3.x, r12.y, l(0), r38.z store_structured g3.x, r12.z, l(0), r38.w endif sync_g_t if_nz r7.z ld_structured r38.x, vThreadIDInGroup.x, l(0), g3.xxxx ld_structured r38.y, r12.x, l(0), g3.xxxx ld_structured r38.z, r12.y, l(0), g3.xxxx ld_structured r38.w, r12.z, l(0), g3.xxxx ld_structured r40.x, r3.z, l(0), g3.xxxx ld_structured r40.y, r8.y, l(0), g3.xxxx ld_structured r40.z, r9.z, l(0), g3.xxxx ld_structured r40.w, r8.z, l(0), g3.xxxx or r38.xyzw, r38.xyzw, r40.xyzw store_structured g3.x, vThreadIDInGroup.x, l(0), r38.x store_structured g3.x, r12.x, l(0), r38.y store_structured g3.x, r12.y, l(0), r38.z store_structured g3.x, r12.z, l(0), r38.w endif sync_g_t if_nz r7.w ld_structured r38.x, vThreadIDInGroup.x, l(0), g3.xxxx ld_structured r38.y, r12.x, l(0), g3.xxxx ld_structured r38.z, r12.y, l(0), g3.xxxx ld_structured r38.w, r12.z, l(0), g3.xxxx ld_structured r40.x, r3.w, l(0), g3.xxxx ld_structured r40.y, r8.w, l(0), g3.xxxx ld_structured r40.z, r9.w, l(0), g3.xxxx ld_structured r40.w, r13.x, l(0), g3.xxxx or r38.xyzw, r38.xyzw, r40.xyzw store_structured g3.x, vThreadIDInGroup.x, l(0), r38.x store_structured g3.x, r12.x, l(0), r38.y store_structured g3.x, r12.y, l(0), r38.z store_structured g3.x, r12.z, l(0), r38.w endif sync_g_t if_nz r5.w ld_structured r38.x, vThreadIDInGroup.x, l(0), g3.xxxx ld_structured r38.y, r12.x, l(0), g3.xxxx ld_structured r38.z, r12.y, l(0), g3.xxxx ld_structured r38.w, r12.z, l(0), g3.xxxx ld_structured r40.x, r6.x, l(0), g3.xxxx ld_structured r40.y, r13.y, l(0), g3.xxxx ld_structured r40.z, r14.x, l(0), g3.xxxx ld_structured r40.w, r13.z, l(0), g3.xxxx or r38.xyzw, r38.xyzw, r40.xyzw store_structured g3.x, vThreadIDInGroup.x, l(0), r38.x store_structured g3.x, r12.x, l(0), r38.y store_structured g3.x, r12.y, l(0), r38.z store_structured g3.x, r12.z, l(0), r38.w endif sync_g_t ld_structured r32.z, r5.z, l(0), g3.xxxx ld_structured r32.w, r10.x, l(0), g3.xxxx ld_structured r33.w, r10.y, l(0), g3.xxxx ld_structured r36.w, r10.z, l(0), g3.xxxx xor r32.zw, r2.zzzw, r32.zzzw and r32.z, r32.w, r32.z xor r32.w, r5.x, r33.w and r32.z, r32.w, r32.z xor r32.w, r5.y, r36.w and r32.z, r32.w, r32.z countbits r32.z, r32.z iadd r30.w, r30.w, r32.z iadd r32.xy, r32.xyxx, l(1, 32, 0, 0) endloop if_nz r24.z iadd r32.x, r26.z, r32.y ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r32.x, r32.x, l(0), u2.xxxx if_nz r24.w ult r32.z, r32.y, r25.w movc r32.x, r32.z, r32.x, l(-1) ushr r32.x, r32.x, r26.y and r38.xyzw, r32.xxxx, l(1, 2, 4, 8) ine r38.xyzw, r38.xyzw, l(0, 0, 0, 0) bfi r38.xyzw, l(1, 1, 1, 1), vThreadIDInGroup.xxxx, r38.xyzw, l(0, 0, 0, 0) store_structured g3.x, vThreadIDInGroup.x, l(0), r38.x store_structured g3.x, r12.x, l(0), r38.y store_structured g3.x, r12.y, l(0), r38.z store_structured g3.x, r12.z, l(0), r38.w endif sync_g_t if_nz r24.w if_nz r7.x ld_structured r38.x, vThreadIDInGroup.x, l(0), g3.xxxx ld_structured r38.y, r12.x, l(0), g3.xxxx ld_structured r38.z, r12.y, l(0), g3.xxxx ld_structured r38.w, r12.z, l(0), g3.xxxx ld_structured r40.x, r3.x, l(0), g3.xxxx ld_structured r40.y, r6.y, l(0), g3.xxxx ld_structured r40.z, r9.x, l(0), g3.xxxx ld_structured r40.w, r6.z, l(0), g3.xxxx or r38.xyzw, r38.xyzw, r40.xyzw store_structured g3.x, vThreadIDInGroup.x, l(0), r38.x store_structured g3.x, r12.x, l(0), r38.y store_structured g3.x, r12.y, l(0), r38.z store_structured g3.x, r12.z, l(0), r38.w endif endif sync_g_t if_nz r24.w if_nz r7.y ld_structured r38.x, vThreadIDInGroup.x, l(0), g3.xxxx ld_structured r38.y, r12.x, l(0), g3.xxxx ld_structured r38.z, r12.y, l(0), g3.xxxx ld_structured r38.w, r12.z, l(0), g3.xxxx ld_structured r40.x, r3.y, l(0), g3.xxxx ld_structured r40.y, r6.w, l(0), g3.xxxx ld_structured r40.z, r9.y, l(0), g3.xxxx ld_structured r40.w, r8.x, l(0), g3.xxxx or r38.xyzw, r38.xyzw, r40.xyzw store_structured g3.x, vThreadIDInGroup.x, l(0), r38.x store_structured g3.x, r12.x, l(0), r38.y store_structured g3.x, r12.y, l(0), r38.z store_structured g3.x, r12.z, l(0), r38.w endif endif sync_g_t if_nz r24.w if_nz r7.z ld_structured r38.x, vThreadIDInGroup.x, l(0), g3.xxxx ld_structured r38.y, r12.x, l(0), g3.xxxx ld_structured r38.z, r12.y, l(0), g3.xxxx ld_structured r38.w, r12.z, l(0), g3.xxxx ld_structured r40.x, r3.z, l(0), g3.xxxx ld_structured r40.y, r8.y, l(0), g3.xxxx ld_structured r40.z, r9.z, l(0), g3.xxxx ld_structured r40.w, r8.z, l(0), g3.xxxx or r38.xyzw, r38.xyzw, r40.xyzw store_structured g3.x, vThreadIDInGroup.x, l(0), r38.x store_structured g3.x, r12.x, l(0), r38.y store_structured g3.x, r12.y, l(0), r38.z store_structured g3.x, r12.z, l(0), r38.w endif endif sync_g_t if_nz r24.w if_nz r7.w ld_structured r38.x, vThreadIDInGroup.x, l(0), g3.xxxx ld_structured r38.y, r12.x, l(0), g3.xxxx ld_structured r38.z, r12.y, l(0), g3.xxxx ld_structured r38.w, r12.z, l(0), g3.xxxx ld_structured r40.x, r3.w, l(0), g3.xxxx ld_structured r40.y, r8.w, l(0), g3.xxxx ld_structured r40.z, r9.w, l(0), g3.xxxx ld_structured r40.w, r13.x, l(0), g3.xxxx or r38.xyzw, r38.xyzw, r40.xyzw store_structured g3.x, vThreadIDInGroup.x, l(0), r38.x store_structured g3.x, r12.x, l(0), r38.y store_structured g3.x, r12.y, l(0), r38.z store_structured g3.x, r12.z, l(0), r38.w endif endif sync_g_t if_nz r24.w if_nz r5.w ld_structured r38.x, vThreadIDInGroup.x, l(0), g3.xxxx ld_structured r38.y, r12.x, l(0), g3.xxxx ld_structured r38.z, r12.y, l(0), g3.xxxx ld_structured r38.w, r12.z, l(0), g3.xxxx ld_structured r40.x, r6.x, l(0), g3.xxxx ld_structured r40.y, r13.y, l(0), g3.xxxx ld_structured r40.z, r14.x, l(0), g3.xxxx ld_structured r40.w, r13.z, l(0), g3.xxxx or r38.xyzw, r38.xyzw, r40.xyzw store_structured g3.x, vThreadIDInGroup.x, l(0), r38.x store_structured g3.x, r12.x, l(0), r38.y store_structured g3.x, r12.y, l(0), r38.z store_structured g3.x, r12.z, l(0), r38.w endif endif sync_g_t if_nz r24.w ld_structured r38.x, r5.z, l(0), g3.xxxx ld_structured r38.y, r10.x, l(0), g3.xxxx ld_structured r38.z, r10.y, l(0), g3.xxxx ld_structured r38.w, r10.z, l(0), g3.xxxx else mov r38.xyzw, l(0,0,0,0) endif xor r32.xz, r2.zzwz, r38.xxyx and r32.x, r32.z, r32.x xor r32.zw, r5.xxxy, r38.zzzw and r32.x, r32.z, r32.x and r32.x, r32.w, r32.x countbits r32.x, r32.x and r32.x, r24.w, r32.x iadd r30.w, r30.w, r32.x endif if_nz r7.x store_structured g3.x, r11.x, l(0), r30.w endif sync_g_t if_z vThreadIDInGroup.x store_structured g3.x, l(4096), l(0), l(0) store_structured g3.x, l(4609), l(0), l(0) endif if_nz r1.w if_nz r16.x ld_structured r32.x, r14.y, l(0), g3.xxxx ld_structured r32.z, r10.w, l(0), g3.xxxx iadd r32.x, r32.z, r32.x store_structured g3.x, r11.w, l(0), r32.x else ld_structured r32.x, l(4097), l(0), g3.xxxx store_structured g3.x, l(4610), l(0), r32.x endif endif sync_g_t if_nz r1.w if_nz r16.y ld_structured r32.x, r11.w, l(0), g3.xxxx ld_structured r32.z, r12.w, l(0), g3.xxxx iadd r32.x, r32.z, r32.x else ld_structured r32.x, r11.w, l(0), g3.xxxx endif store_structured g3.x, r15.x, l(0), r32.x endif sync_g_t if_nz r1.w if_nz r16.z ld_structured r32.x, r14.y, l(0), g3.xxxx ld_structured r32.z, r15.w, l(0), g3.xxxx iadd r32.x, r32.z, r32.x else ld_structured r32.x, r14.y, l(0), g3.xxxx endif store_structured g3.x, r15.z, l(0), r32.x endif sync_g_t if_nz r1.w if_nz r16.w ld_structured r32.x, r11.w, l(0), g3.xxxx ld_structured r32.z, r14.z, l(0), g3.xxxx iadd r32.x, r32.z, r32.x else ld_structured r32.x, r11.w, l(0), g3.xxxx endif store_structured g3.x, r15.x, l(0), r32.x endif sync_g_t if_nz r1.w if_nz r18.x ld_structured r32.x, r14.y, l(0), g3.xxxx ld_structured r32.z, r17.y, l(0), g3.xxxx iadd r32.x, r32.z, r32.x else ld_structured r32.x, r14.y, l(0), g3.xxxx endif store_structured g3.x, r15.z, l(0), r32.x endif sync_g_t if_nz r1.w if_nz r18.y ld_structured r32.x, r11.w, l(0), g3.xxxx ld_structured r32.z, r14.w, l(0), g3.xxxx iadd r32.x, r32.z, r32.x else ld_structured r32.x, r11.w, l(0), g3.xxxx endif store_structured g3.x, r15.x, l(0), r32.x endif sync_g_t if_nz r1.w if_nz r18.z ld_structured r32.x, r14.y, l(0), g3.xxxx ld_structured r32.z, r17.w, l(0), g3.xxxx iadd r32.x, r32.z, r32.x else ld_structured r32.x, r14.y, l(0), g3.xxxx endif store_structured g3.x, r15.z, l(0), r32.x endif sync_g_t if_nz r1.w if_nz r18.w ld_structured r32.x, r11.w, l(0), g3.xxxx ld_structured r32.z, r13.w, l(0), g3.xxxx iadd r32.x, r32.z, r32.x else ld_structured r32.x, r11.w, l(0), g3.xxxx endif store_structured g3.x, r15.x, l(0), r32.x endif sync_g_t if_nz r1.w if_nz r15.y ld_structured r32.x, r14.y, l(0), g3.xxxx ld_structured r32.z, r17.z, l(0), g3.xxxx iadd r32.x, r32.z, r32.x else ld_structured r32.x, r14.y, l(0), g3.xxxx endif store_structured g3.x, r15.z, l(0), r32.x endif sync_g_t mov r32.x, l(0) mov r32.z, r26.x loop uge r32.w, r32.x, r24.x breakc_nz r32.w ult r32.w, r32.z, r25.w iadd r33.w, r26.z, r32.z ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r33.w, r33.w, l(0), u2.xxxx movc r33.w, r32.w, r33.w, l(-1) ushr r36.w, r33.w, r26.y and r38.xyzw, r36.wwww, l(1, 2, 4, 8) ine r40.xyzw, r38.xyzw, l(0, 0, 0, 0) bfi r41.xyzw, l(1, 1, 1, 1), vThreadIDInGroup.xxxx, r40.xyzw, l(0, 0, 0, 0) store_structured g3.x, vThreadIDInGroup.x, l(0), r41.x store_structured g3.x, r12.x, l(0), r41.y store_structured g3.x, r12.y, l(0), r41.z store_structured g3.x, r12.z, l(0), r41.w sync_g_t if_nz r7.x ld_structured r41.x, vThreadIDInGroup.x, l(0), g3.xxxx ld_structured r41.y, r12.x, l(0), g3.xxxx ld_structured r41.z, r12.y, l(0), g3.xxxx ld_structured r41.w, r12.z, l(0), g3.xxxx ld_structured r45.x, r3.x, l(0), g3.xxxx ld_structured r45.y, r6.y, l(0), g3.xxxx ld_structured r45.z, r9.x, l(0), g3.xxxx ld_structured r45.w, r6.z, l(0), g3.xxxx or r41.xyzw, r41.xyzw, r45.xyzw store_structured g3.x, vThreadIDInGroup.x, l(0), r41.x store_structured g3.x, r12.x, l(0), r41.y store_structured g3.x, r12.y, l(0), r41.z store_structured g3.x, r12.z, l(0), r41.w endif sync_g_t if_nz r7.y ld_structured r41.x, vThreadIDInGroup.x, l(0), g3.xxxx ld_structured r41.y, r12.x, l(0), g3.xxxx ld_structured r41.z, r12.y, l(0), g3.xxxx ld_structured r41.w, r12.z, l(0), g3.xxxx ld_structured r45.x, r3.y, l(0), g3.xxxx ld_structured r45.y, r6.w, l(0), g3.xxxx ld_structured r45.z, r9.y, l(0), g3.xxxx ld_structured r45.w, r8.x, l(0), g3.xxxx or r41.xyzw, r41.xyzw, r45.xyzw store_structured g3.x, vThreadIDInGroup.x, l(0), r41.x store_structured g3.x, r12.x, l(0), r41.y store_structured g3.x, r12.y, l(0), r41.z store_structured g3.x, r12.z, l(0), r41.w endif sync_g_t if_nz r7.z ld_structured r41.x, vThreadIDInGroup.x, l(0), g3.xxxx ld_structured r41.y, r12.x, l(0), g3.xxxx ld_structured r41.z, r12.y, l(0), g3.xxxx ld_structured r41.w, r12.z, l(0), g3.xxxx ld_structured r45.x, r3.z, l(0), g3.xxxx ld_structured r45.y, r8.y, l(0), g3.xxxx ld_structured r45.z, r9.z, l(0), g3.xxxx ld_structured r45.w, r8.z, l(0), g3.xxxx or r41.xyzw, r41.xyzw, r45.xyzw store_structured g3.x, vThreadIDInGroup.x, l(0), r41.x store_structured g3.x, r12.x, l(0), r41.y store_structured g3.x, r12.y, l(0), r41.z store_structured g3.x, r12.z, l(0), r41.w endif sync_g_t if_nz r7.w ld_structured r41.x, vThreadIDInGroup.x, l(0), g3.xxxx ld_structured r41.y, r12.x, l(0), g3.xxxx ld_structured r41.z, r12.y, l(0), g3.xxxx ld_structured r41.w, r12.z, l(0), g3.xxxx ld_structured r45.x, r3.w, l(0), g3.xxxx ld_structured r45.y, r8.w, l(0), g3.xxxx ld_structured r45.z, r9.w, l(0), g3.xxxx ld_structured r45.w, r13.x, l(0), g3.xxxx or r41.xyzw, r41.xyzw, r45.xyzw store_structured g3.x, vThreadIDInGroup.x, l(0), r41.x store_structured g3.x, r12.x, l(0), r41.y store_structured g3.x, r12.y, l(0), r41.z store_structured g3.x, r12.z, l(0), r41.w endif sync_g_t if_nz r5.w ld_structured r41.x, vThreadIDInGroup.x, l(0), g3.xxxx ld_structured r41.y, r12.x, l(0), g3.xxxx ld_structured r41.z, r12.y, l(0), g3.xxxx ld_structured r41.w, r12.z, l(0), g3.xxxx ld_structured r45.x, r6.x, l(0), g3.xxxx ld_structured r45.y, r13.y, l(0), g3.xxxx ld_structured r45.z, r14.x, l(0), g3.xxxx ld_structured r45.w, r13.z, l(0), g3.xxxx or r41.xyzw, r41.xyzw, r45.xyzw store_structured g3.x, vThreadIDInGroup.x, l(0), r41.x store_structured g3.x, r12.x, l(0), r41.y store_structured g3.x, r12.y, l(0), r41.z store_structured g3.x, r12.z, l(0), r41.w endif sync_g_t ld_structured r38.y, r5.z, l(0), g3.xxxx ld_structured r38.z, r10.x, l(0), g3.xxxx ld_structured r38.w, r10.y, l(0), g3.xxxx ld_structured r39.w, r10.z, l(0), g3.xxxx bfi r36.w, l(4), l(5), r36.w, l(0) iadd r36.w, r11.y, r36.w iadd r36.w, r36.w, l(4096) ld_structured r36.w, r36.w, l(0), g3.xxxx if_nz r32.w iadd r32.w, r38.x, l(-1) xor r32.w, r38.y, r32.w ieq r40.xyz, r40.yzwy, l(0, 0, 0, 0) xor r38.x, r38.z, r40.x and r32.w, r32.w, r38.x xor r38.x, r38.w, r40.y and r32.w, r32.w, r38.x xor r38.x, r39.w, r40.z and r32.w, r32.w, r38.x ubfe r32.w, vThreadIDInGroup.x, l(0), r32.w countbits r32.w, r32.w iadd r32.w, r32.w, r36.w iadd r32.w, r26.w, r32.w store_structured u2.x, r32.w, l(0), r33.w endif sync_g_t if_nz r7.x ld_structured r32.w, r11.z, l(0), g3.xxxx xor r33.w, r2.z, r38.y xor r36.w, r2.w, r38.z and r33.w, r33.w, r36.w xor r36.w, r5.x, r38.w and r33.w, r33.w, r36.w xor r36.w, r5.y, r39.w and r33.w, r33.w, r36.w countbits r33.w, r33.w iadd r32.w, r32.w, r33.w store_structured g3.x, r11.z, l(0), r32.w endif iadd r32.xz, r32.xxzx, l(1, 0, 32, 0) endloop if_nz r24.z ult r32.x, r32.z, r25.w iadd r32.w, r26.z, r32.z ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r32.w, r32.w, l(0), u2.xxxx movc r32.w, r32.x, r32.w, l(-1) ushr r33.w, r32.w, r26.y if_nz r24.w and r38.xyzw, r33.wwww, l(1, 2, 4, 8) ine r38.xyzw, r38.xyzw, l(0, 0, 0, 0) bfi r38.xyzw, l(1, 1, 1, 1), vThreadIDInGroup.xxxx, r38.xyzw, l(0, 0, 0, 0) store_structured g3.x, vThreadIDInGroup.x, l(0), r38.x store_structured g3.x, r12.x, l(0), r38.y store_structured g3.x, r12.y, l(0), r38.z store_structured g3.x, r12.z, l(0), r38.w endif sync_g_t if_nz r24.w if_nz r7.x ld_structured r38.x, vThreadIDInGroup.x, l(0), g3.xxxx ld_structured r38.y, r12.x, l(0), g3.xxxx ld_structured r38.z, r12.y, l(0), g3.xxxx ld_structured r38.w, r12.z, l(0), g3.xxxx ld_structured r40.x, r3.x, l(0), g3.xxxx ld_structured r40.y, r6.y, l(0), g3.xxxx ld_structured r40.z, r9.x, l(0), g3.xxxx ld_structured r40.w, r6.z, l(0), g3.xxxx or r38.xyzw, r38.xyzw, r40.xyzw store_structured g3.x, vThreadIDInGroup.x, l(0), r38.x store_structured g3.x, r12.x, l(0), r38.y store_structured g3.x, r12.y, l(0), r38.z store_structured g3.x, r12.z, l(0), r38.w endif endif sync_g_t if_nz r24.w if_nz r7.y ld_structured r38.x, vThreadIDInGroup.x, l(0), g3.xxxx ld_structured r38.y, r12.x, l(0), g3.xxxx ld_structured r38.z, r12.y, l(0), g3.xxxx ld_structured r38.w, r12.z, l(0), g3.xxxx ld_structured r40.x, r3.y, l(0), g3.xxxx ld_structured r40.y, r6.w, l(0), g3.xxxx ld_structured r40.z, r9.y, l(0), g3.xxxx ld_structured r40.w, r8.x, l(0), g3.xxxx or r38.xyzw, r38.xyzw, r40.xyzw store_structured g3.x, vThreadIDInGroup.x, l(0), r38.x store_structured g3.x, r12.x, l(0), r38.y store_structured g3.x, r12.y, l(0), r38.z store_structured g3.x, r12.z, l(0), r38.w endif endif sync_g_t if_nz r24.w if_nz r7.z ld_structured r38.x, vThreadIDInGroup.x, l(0), g3.xxxx ld_structured r38.y, r12.x, l(0), g3.xxxx ld_structured r38.z, r12.y, l(0), g3.xxxx ld_structured r38.w, r12.z, l(0), g3.xxxx ld_structured r40.x, r3.z, l(0), g3.xxxx ld_structured r40.y, r8.y, l(0), g3.xxxx ld_structured r40.z, r9.z, l(0), g3.xxxx ld_structured r40.w, r8.z, l(0), g3.xxxx or r38.xyzw, r38.xyzw, r40.xyzw store_structured g3.x, vThreadIDInGroup.x, l(0), r38.x store_structured g3.x, r12.x, l(0), r38.y store_structured g3.x, r12.y, l(0), r38.z store_structured g3.x, r12.z, l(0), r38.w endif endif sync_g_t if_nz r24.w if_nz r7.w ld_structured r38.x, vThreadIDInGroup.x, l(0), g3.xxxx ld_structured r38.y, r12.x, l(0), g3.xxxx ld_structured r38.z, r12.y, l(0), g3.xxxx ld_structured r38.w, r12.z, l(0), g3.xxxx ld_structured r40.x, r3.w, l(0), g3.xxxx ld_structured r40.y, r8.w, l(0), g3.xxxx ld_structured r40.z, r9.w, l(0), g3.xxxx ld_structured r40.w, r13.x, l(0), g3.xxxx or r38.xyzw, r38.xyzw, r40.xyzw store_structured g3.x, vThreadIDInGroup.x, l(0), r38.x store_structured g3.x, r12.x, l(0), r38.y store_structured g3.x, r12.y, l(0), r38.z store_structured g3.x, r12.z, l(0), r38.w endif endif sync_g_t if_nz r24.w if_nz r5.w ld_structured r38.x, vThreadIDInGroup.x, l(0), g3.xxxx ld_structured r38.y, r12.x, l(0), g3.xxxx ld_structured r38.z, r12.y, l(0), g3.xxxx ld_structured r38.w, r12.z, l(0), g3.xxxx ld_structured r40.x, r6.x, l(0), g3.xxxx ld_structured r40.y, r13.y, l(0), g3.xxxx ld_structured r40.z, r14.x, l(0), g3.xxxx ld_structured r40.w, r13.z, l(0), g3.xxxx or r38.xyzw, r38.xyzw, r40.xyzw store_structured g3.x, vThreadIDInGroup.x, l(0), r38.x store_structured g3.x, r12.x, l(0), r38.y store_structured g3.x, r12.y, l(0), r38.z store_structured g3.x, r12.z, l(0), r38.w endif endif sync_g_t if_nz r24.w ld_structured r38.x, r5.z, l(0), g3.xxxx ld_structured r38.y, r10.x, l(0), g3.xxxx ld_structured r38.z, r10.y, l(0), g3.xxxx ld_structured r38.w, r10.z, l(0), g3.xxxx and r40.xyzw, r33.wwww, l(1, 2, 4, 8) iadd r36.w, r40.x, l(-1) xor r36.w, r38.x, r36.w ine r40.xyz, r40.yzwy, l(0, 0, 0, 0) ieq r40.xyz, r40.xyzx, l(0, 0, 0, 0) xor r40.xyz, r38.yzwy, r40.xyzx and r36.w, r36.w, r40.x and r36.w, r40.y, r36.w and r36.w, r40.z, r36.w bfi r33.w, l(4), l(5), r33.w, l(0) iadd r33.w, r11.y, r33.w iadd r33.w, r33.w, l(4096) ld_structured r33.w, r33.w, l(0), g3.xxxx ubfe r36.w, vThreadIDInGroup.x, l(0), r36.w countbits r36.w, r36.w iadd r33.w, r33.w, r36.w else mov r38.xyzw, l(0,0,0,0) mov r33.w, l(0) endif if_nz r32.x iadd r32.x, r26.w, r33.w store_structured u2.x, r32.x, l(0), r32.w endif sync_g_t if_nz r24.w if_nz r7.x ld_structured r32.x, r11.z, l(0), g3.xxxx xor r32.w, r2.z, r38.x xor r33.w, r2.w, r38.y and r32.w, r32.w, r33.w xor r38.xy, r5.xyxx, r38.zwzz and r32.w, r32.w, r38.x and r32.w, r38.y, r32.w countbits r32.w, r32.w iadd r32.x, r32.w, r32.x store_structured g3.x, r11.z, l(0), r32.x endif endif endif iadd r26.y, r26.y, l(4) mov r32.x, r26.w mov r26.w, r26.z mov r26.z, r32.x endloop mov r23.x, vThreadIDInGroup.x loop ige r24.x, r23.x, r19.x breakc_nz r24.x iadd r24.x, r23.x, r24.y ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r24.z, r24.x, l(0), u2.xxxx iadd r24.x, r24.x, l(-1) ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r24.x, r24.x, l(0), u2.xxxx ishr r24.xz, r24.xxzx, l(16, 0, 16, 0) iadd r24.w, r24.z, l(-1) movc r24.x, r23.x, r24.x, r24.w ine r24.w, r24.x, r24.z if_nz r24.w iadd r24.xz, r19.zzzz, r24.xxzx store_structured u2.x, r24.z, l(0), r23.x iadd r24.x, r24.x, l(1) store_structured u2.x, r24.x, l(0), r23.x endif iadd r23.x, r23.x, l(1024) endloop ld_raw r24.xy, l(108), g0.xyxx mov r26.x, vThreadIDInGroup.x loop ige r23.x, r26.x, r19.x breakc_nz r23.x iadd r23.x, r24.y, r26.x ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r23.x, r23.x, l(0), u2.xxxx and r23.x, r23.x, l(0x0000ffff) iadd r23.x, r23.x, r24.x ld_structured_indexable(structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r38.xyzw, r23.x, l(0), u1.xyzw store_structured g3.x, r26.x, l(0), r38.x iadd r26.xyzw, r26.xxxx, l(1024, 1969, 3938, 5907) store_structured g3.x, r26.y, l(0), r38.y store_structured g3.x, r26.z, l(0), r38.z store_structured g3.x, r26.w, l(0), r38.w endloop sync_g_t ld_raw r23.x, l(96), g0.xxxx mul r24.x, r23.x, r23.x ld_raw r24.y, l(112), g0.xxxx ld_raw r24.z, l(160), g1.xxxx mov r24.w, vThreadIDInGroup.x loop ige r25.w, r24.w, r19.x breakc_nz r25.w iadd r25.w, r24.w, r24.y ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r25.w, r25.w, l(0), u2.xxxx and r25.w, r25.w, l(0x0000ffff) ld_structured r26.x, r24.w, l(0), g3.xxxx iadd r38.xyzw, r24.wwww, l(1969, 3938, 5907, 1024) ld_structured r26.y, r38.x, l(0), g3.xxxx ld_structured r26.z, r38.y, l(0), g3.xxxx ld_structured r26.w, r38.z, l(0), g3.xxxx iadd r32.x, r24.z, r25.w ld_structured_indexable(structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r38.xyz, r32.x, l(0), t14.xyzx dp4 r32.x, r26.xyzw, icb[r22.x + 0].xyzw mad r32.x, r32.x, r20.x, r21.x min r32.x, r32.x, l(127.500000) max r32.x, r32.x, l(0.000000) dp4 r32.w, r26.xyzw, icb[r22.z + 0].xyzw mad r32.w, r32.w, r20.z, r21.z min r32.w, r32.w, l(127.500000) max r32.w, r32.w, l(0.000000) ftoi r32.xw, r32.xxxw imad r32.x, r32.w, l(128), r32.x iadd r32.w, r32.x, l(256) add r33.w, r26.w, l(0.000000) mov r40.xyz, l(0,0,0,0) mov r36.w, l(0.000000) mov r39.w, r32.x loop ilt r40.w, r32.w, r39.w breakc_nz r40.w iadd r40.w, r19.z, r39.w ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r41.x, r40.w, l(0), u2.xxxx iadd r41.yzw, r40.wwww, l(0, 1, 2, 3) ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r40.w, r41.y, l(0), u2.xxxx ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r41.y, r41.z, l(0), u2.xxxx ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r41.z, r41.w, l(0), u2.xxxx umin r41.x, r40.w, r41.x umin r41.x, r41.y, r41.x imax r40.w, r40.w, r41.y imax r40.w, r41.z, r40.w imax r40.w, r40.w, l(0) mov r41.yzw, r40.xxyz mov r43.w, r36.w mov r45.x, r41.x loop uge r45.y, r45.x, r40.w breakc_nz r45.y ine r45.y, r24.w, r45.x if_nz r45.y ld_structured r46.x, r45.x, l(0), g3.xxxx iadd r45.yzw, r45.xxxx, l(0, 1969, 3938, 5907) ld_structured r46.y, r45.y, l(0), g3.xxxx ld_structured r46.z, r45.z, l(0), g3.xxxx ld_structured r45.y, r45.w, l(0), g3.xxxx add r46.xyz, r26.xyzx, -r46.xyzx dp3 r45.z, r46.xyzx, r46.xyzx lt r45.w, r24.x, r45.z if_nz r45.w iadd r45.w, r45.x, l(1) mov r45.x, r45.w continue endif ld_raw r45.w, l(160), g1.xxxx ine r46.w, r45.w, l(-1) if_nz r46.w ld_raw r46.w, l(112), g0.xxxx iadd r46.w, r45.x, r46.w ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r46.w, r46.w, l(0), u2.xxxx and r46.w, r46.w, l(0x0000ffff) iadd r45.w, r45.w, r46.w ld_structured_indexable(structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r47.xyz, r45.w, l(0), t14.xyzx add r47.xyz, r38.xyzx, -r47.xyzx dp3 r45.w, r47.xyzx, r47.xyzx ge r46.w, r24.x, r45.w if_nz r46.w iadd r46.w, r45.x, l(1) mov r45.x, r46.w continue endif add r45.w, r45.w, l(0.000000) div r45.w, r24.x, r45.w rsq r45.w, r45.w add r45.w, r45.w, l(-1.000000) min r45.w, r45.w, l(1.000000) else mov r45.w, l(1.000000) endif add r45.z, r45.z, l(0.000000) rsq r45.z, r45.z mad r45.z, r23.x, r45.z, l(-1.000000) max r45.z, r45.z, l(0.000000) mul r46.w, r45.z, r45.z mul r45.w, r45.w, r46.w add r45.y, r33.w, r45.y div r45.y, r45.w, r45.y mad r41.yzw, r45.yyyy, r46.xxyz, r41.yyzw add r43.w, r43.w, r45.z endif iadd r45.x, r45.x, l(1) endloop mov r40.xyz, r41.yzwy mov r36.w, r43.w iadd r39.w, r39.w, l(128) endloop ld_raw r26.x, l(120), g1.xxxx mul r26.x, r26.w, r26.x div r26.x, r26.x, r36.w ld_raw r26.y, l(108), g0.xxxx iadd r25.w, r25.w, r26.y ld_structured_indexable(structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r38.xyz, r25.w, l(0), u1.xyzx mad r26.xzw, r40.xxyz, r26.xxxx, r38.xxyz store_structured u1.xyz, r25.w, l(0), r26.xzwx mov r24.w, r38.w endloop sync_g_t ld_raw r20.x, l(108), g0.xxxx mov r24.x, vThreadIDInGroup.x loop ige r20.z, r24.x, r19.y breakc_nz r20.z iadd r20.z, r20.x, r24.x ld_structured_indexable(structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r26.xyzw, r20.z, l(0), u1.xyzw store_structured g3.x, r24.x, l(0), r26.x iadd r24.xyzw, r24.xxxx, l(1024, 1969, 3938, 5907) store_structured g3.x, r24.y, l(0), r26.y store_structured g3.x, r24.z, l(0), r26.z store_structured g3.x, r24.w, l(0), r26.w endloop ld_raw r19.y, l(112), g0.xxxx mov r20.x, vThreadIDInGroup.x loop ige r20.z, r20.x, r19.x breakc_nz r20.z iadd r20.z, r19.y, r20.x ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r20.z, r20.z, l(0), u2.xxxx ushr r20.z, r20.z, l(16) iadd r20.z, r19.z, r20.z store_structured u2.x, r20.z, l(0), l(-1) iadd r21.x, r20.z, l(1) store_structured u2.x, r21.x, l(0), l(-1) iadd r20.x, r20.x, l(1024) endloop endif if_z vThreadIDInGroup.x ld_raw r19.x, l(8), g1.xxxx mul r19.x, r19.x, l(1000.000000) ftou r19.x, r19.x umax r19.x, r19.x, l(1) ld_raw r19.y, l(152), g1.xxxx iadd r19.x, r19.x, r19.y store_raw g1.x, l(152), r19.x endif sync_g_t ld_raw r19.x, l(152), g1.xxxx ld_raw r19.y, l(116), g0.xxxx uge r19.x, r19.x, r19.y if_nz r19.x ld_raw r19.x, l(0), g0.xxxx mov r19.y, l(0) mov r19.z, vThreadIDInGroup.x loop uge r20.x, r19.z, r19.x breakc_nz r20.x ld_structured r24.x, r19.z, l(0), g3.xxxx iadd r26.xyz, r19.zzzz, l(1969, 3938, 1024, 0) ld_structured r24.y, r26.x, l(0), g3.xxxx ld_structured r24.z, r26.y, l(0), g3.xxxx iadd r20.x, r0.x, r19.z ishl r20.x, r20.x, l(4) ld_raw_indexable(raw_buffer)(mixed,mixed,mixed,mixed) r26.xyw, r20.x, u0.xyxz add r24.xyz, r24.xyzx, -r26.xywx max r20.x, |r24.y|, |r24.x| max r20.x, |r24.z|, r20.x max r19.y, r19.y, r20.x mov r19.z, r26.z endloop if_z vThreadIDInGroup.x ld_raw r19.x, l(148), g1.xxxx iadd r19.x, r19.x, l(1) store_raw g1.x, l(148), r19.x ld_raw r19.x, l(116), g0.xxxx ld_raw r19.z, l(152), g1.xxxx iadd r19.x, -r19.x, r19.z store_raw g1.x, l(152), r19.x endif ld_raw r19.x, l(124), g0.xxxx ld_raw r19.z, l(8), g1.xxxx mul r19.x, r19.z, r19.x lt r19.x, r19.x, r19.y if_nz r19.x store_raw g1.x, l(148), l(0) endif endif iadd r17.x, r17.x, l(1) endloop sync_g_t ld_raw r0.yz, l(0), g0.xxyx mov r1.x, vThreadIDInGroup.x loop uge r0.w, r1.x, r0.y breakc_nz r0.w iadd r0.w, r0.z, r1.x ishl r0.w, r0.w, l(4) ld_structured r2.x, r1.x, l(0), g3.xxxx iadd r1.xyzw, r1.xxxx, l(1024, 1969, 3938, 5907) ld_structured r2.y, r1.y, l(0), g3.xxxx ld_structured r2.z, r1.z, l(0), g3.xxxx ld_structured r2.w, r1.w, l(0), g3.xxxx store_raw u0.xyzw, r0.w, r2.xyzw endloop else ld_raw r0.y, l(4), g0.xxxx not r0.z, vThreadIDInGroup.x and r0.z, r0.z, l(3) ult r1.xyzw, vThreadIDInGroup.xxxx, l(192, 176, 3, 512) and r2.xyzw, vThreadIDInGroup.xxxx, l(32, 31, 1, 2) movc r0.w, r2.x, l(-1.000000), l(1.000000) iadd r3.xyzw, vThreadIDInGroup.xxxx, l(16, 8, 4, 2) ieq r2.x, r2.y, l(0) and r2.x, r1.x, r2.x ushr r4.xy, vThreadIDInGroup.xxxx, l(6, 5, 0, 0) ishl r4.z, r4.y, l(2) iadd r4.z, r4.z, l(124) ishl r5.xy, vThreadIDInGroup.xxxx, l(2, 3, 0, 0) iadd r4.w, r5.y, l(124) iadd r2.z, r2.z, l(-1) ine r2.w, r2.w, l(0) ieq r2.w, r2.w, l(0) and r5.yzw, vThreadIDInGroup.xxxx, l(0, 4, 8, 992) ine r5.yz, r5.yyzy, l(0, 0, 0, 0) ieq r5.yz, r5.yyzy, l(0, 0, 0, 0) iadd r6.xyzw, vThreadIDInGroup.xxxx, l(1, 1040, 3088, 1032) ult r7.xyzw, r2.yyyy, l(16, 8, 4, 2) ult r8.x, r2.y, l(1) iadd r9.xyzw, vThreadIDInGroup.xxxx, l(3080, 1028, 3076, 1026) iadd r10.xyzw, r3.xyzw, l(2048, 2048, 2048, 2048) iadd r8.yzw, r5.wwww, l(0, 1024, 2048, 3072) iadd r11.xy, r4.yyyy, l(1, 513, 0, 0) bfi r12.xyzw, l(10, 11, 10, 5), l(0, 0, 0, 5), vThreadIDInGroup.xxxx, l(1024, 2048, 3072, 0) iadd r11.xz, r11.xxyx, r12.wwww iadd r13.xyzw, vThreadIDInGroup.xxxx, l(3074, 1025, 3073, 514) iadd r14.xy, r6.xxxx, l(2048, 4096, 0, 0) iadd r11.w, vThreadIDInGroup.x, l(4096) iadd r12.w, r13.w, l(4096) iadd r15.xyzw, vThreadIDInGroup.xxxx, l(4097, 512, 4610, 4093) iadd r13.w, r15.y, l(4096) uge r16.xyzw, vThreadIDInGroup.xxxx, l(1, 2, 4, 8) iadd r17.xyzw, vThreadIDInGroup.xxxx, l(506, 4081, 482, 4033) iadd r14.zw, r17.xxxz, l(0, 0, 4096, 4096) uge r18.xyzw, vThreadIDInGroup.xxxx, l(16, 32, 64, 128) iadd r17.xz, vThreadIDInGroup.xxxx, l(386, 0, 3841, 0) iadd r15.y, r17.x, l(4096) uge r17.x, vThreadIDInGroup.x, l(256) iadd r11.xz, r11.xxzx, l(4096, 0, 4096, 0) mov r19.x, l(0) loop ld_raw r19.y, l(16), g1.xxxx uge r19.z, r19.x, r19.y breakc_nz r19.z utof r19.z, r19.x add r19.w, r19.z, l(1.000000) utof r19.y, r19.y div r19.y, r19.w, r19.y if_z vThreadIDInGroup.x ld_raw r19.w, l(12), g1.xxxx iadd r19.w, r19.x, r19.w ld_structured_indexable(structured_buffer, stride=112)(mixed,mixed,mixed,mixed) r20.xyzw, r19.w, l(0), t2.xyzw ld_structured_indexable(structured_buffer, stride=112)(mixed,mixed,mixed,mixed) r21.xyzw, r19.w, l(16), t2.xyzw ld_structured_indexable(structured_buffer, stride=112)(mixed,mixed,mixed,mixed) r22.xyzw, r19.w, l(32), t2.xyzw ld_structured_indexable(structured_buffer, stride=112)(mixed,mixed,mixed,mixed) r23.xyzw, r19.w, l(48), t2.xyzw ld_structured_indexable(structured_buffer, stride=112)(mixed,mixed,mixed,mixed) r24.xyzw, r19.w, l(64), t2.xyzw ld_structured_indexable(structured_buffer, stride=112)(mixed,mixed,mixed,mixed) r25.xyzw, r19.w, l(80), t2.xyzw ld_structured_indexable(structured_buffer, stride=112)(mixed,mixed,mixed,mixed) r26.xyzw, r19.w, l(96), t2.xyzw store_raw g2.xyzw, l(0), r20.xyzw store_raw g2.xyzw, l(16), r21.xyzw store_raw g2.xyzw, l(32), r22.xyzw store_raw g2.xyzw, l(48), r23.xyzw store_raw g2.xyzw, l(64), r24.xyzw store_raw g2.xyzw, l(80), r25.xyzw store_raw g2.xyzw, l(96), r26.xyzw endif sync_g_t ld_raw r19.w, l(0), g0.xxxx ld_raw r20.x, l(108), g2.xxxx ld_raw r20.yzw, l(12), g2.xxyz ld_raw r21.xyzw, l(60), g2.xyzw ld_raw r22.xyzw, l(24), g2.xyzw ld_raw r23.xyzw, l(76), g2.xyzw ld_raw r24.xyzw, l(40), g2.xyzw ld_raw r25.x, l(92), g2.xxxx ld_raw r25.y, l(56), g2.xxxx ld_raw r26.xyzw, l(12), g2.xyzw ld_raw r25.z, l(36), g2.xxxx ld_raw r25.w, l(48), g2.xxxx mov r27.x, vThreadIDInGroup.x loop uge r27.y, r27.x, r19.w breakc_nz r27.y iadd r27.y, r0.y, r27.x ishl r27.y, r27.y, l(4) ld_raw_indexable(raw_buffer)(mixed,mixed,mixed,mixed) r28.xyzw, r27.y, u0.xyzw iadd r27.z, r0.x, r27.x ishl r27.z, r27.z, l(4) ld_raw_indexable(raw_buffer)(mixed,mixed,mixed,mixed) r29.xyzw, r27.z, u0.xyzw eq r27.w, r28.w, l(0.000000) movc r28.w, r27.w, r29.w, r28.w lt r27.w, l(0.000000), r28.w if_nz r27.w if_nz r20.x add r30.xyz, r20.yzwy, r28.xyzx mad r30.xy, r28.xxxx, r21.xwxx, r30.xyxx mad r30.xy, r29.xxxx, r22.xwxx, r30.xyxx mad r27.w, r28.y, r21.y, r30.x mad r27.w, r29.y, r22.y, r27.w mad r27.w, r28.z, r21.z, r27.w mad r31.x, r29.z, r22.z, r27.w mad r27.w, r28.y, r23.x, r30.y mad r27.w, r29.y, r24.x, r27.w mad r27.w, r28.z, r23.y, r27.w mad r31.y, r29.z, r24.y, r27.w mad r27.w, r28.x, r23.z, r30.z mad r27.w, r29.x, r24.z, r27.w mad r27.w, r28.y, r23.w, r27.w mad r27.w, r29.y, r24.w, r27.w mad r27.w, r28.z, r25.x, r27.w mad r27.w, r29.z, r25.y, r27.w else add r30.xyz, r28.xyzx, -r29.xyzx mad r30.x, r30.x, r26.w, r26.x add r31.x, r28.x, r30.x mad r30.x, r30.y, r25.z, r26.y add r31.y, r28.y, r30.x mad r30.x, r30.z, r25.w, r26.z add r27.w, r28.z, r30.x endif ld_raw r30.xyz, l(0), g2.xyzx add r29.xyz, r28.xyzx, r30.xyzx mov r28.xy, r31.xyxx mov r28.z, r27.w else mov r29.xyz, r28.xyzx endif store_raw u0.xyzw, r27.y, r28.xyzw store_raw u0.xyzw, r27.z, r29.xyzw iadd r27.x, r27.x, l(1024) endloop ld_raw r19.w, l(92), g1.xxxx sync_g_t ld_raw r20.x, l(8), g1.xxxx mul r20.x, r20.x, r20.x movc r20.x, r0.z, r20.x, l(0) ld_raw r20.y, l(0), g0.xxxx ishl r20.z, r20.y, l(2) mov r20.w, vThreadIDInGroup.x loop uge r21.x, r20.w, r20.z breakc_nz r21.x ushr r21.x, r20.w, l(2) iadd r21.x, r0.y, r21.x ishl r21.x, r21.x, l(4) ld_raw_indexable(raw_buffer)(mixed,mixed,mixed,mixed) r22.xyzw, r21.x, u0.xyzw lt r21.y, l(0.000000), r22.w if_nz r21.y iadd r21.y, r19.w, r20.w ld_structured_indexable(structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r23.xyzw, r21.y, l(0), t13.xyzw mad r22.xyzw, r23.xyzw, r20.xxxx, r22.xyzw store_raw u0.xyzw, r21.x, r22.xyzw endif iadd r20.w, r20.w, l(1024) endloop sync_g_t ld_raw r20.xyz, l(24), g1.xyzx ld_raw r19.w, l(8), g1.xxxx eq r21.xy, r20.xyxx, l(0.000000, 0.000000, 0.000000, 0.000000) and r20.w, r21.y, r21.x if_z r20.w ld_raw r21.xyz, l(96), g2.xyzx sync_g_t ld_raw r22.xy, l(36), g0.xyxx ld_raw r20.w, l(108), g2.xxxx ld_raw r23.xyzw, l(36), g1.xyzw ld_raw r24.xyzw, l(52), g1.xyzw ld_raw r25.x, l(68), g1.xxxx mov r26.x, r23.w mov r26.yz, r24.xxyx mov r25.yz, r24.zzwz mov r21.w, vThreadIDInGroup.x loop uge r22.z, r21.w, r22.x breakc_nz r22.z imul null, r22.z, r21.w, l(3) ushr r22.w, r22.z, l(1) iadd r22.w, r22.w, r22.y ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r22.w, r22.w, l(0), t17.xxxx imad r27.xy, r21.wwww, l(3, 3, 0, 0), l(1, 2, 0, 0) ushr r27.xy, r27.xyxx, l(1, 1, 0, 0) iadd r27.xy, r22.yyyy, r27.xyxx ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r25.w, r27.x, l(0), t17.xxxx ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r26.w, r27.y, l(0), t17.xxxx and r22.z, r22.z, l(1) ushr r27.x, r22.w, l(16) and r27.y, r25.w, l(0x0000ffff) ushr r27.z, r26.w, l(16) and r28.x, r22.w, l(0x0000ffff) ushr r28.y, r25.w, l(16) and r28.z, r26.w, l(0x0000ffff) movc r27.xyz, r22.zzzz, r27.xyzx, r28.xyzx iadd r28.xyz, r0.yyyy, r27.xyzx ishl r29.xyz, r28.xyzx, l(4, 4, 4, 0) ld_raw_indexable(raw_buffer)(mixed,mixed,mixed,mixed) r30.xyzw, r29.x, u0.xyzw ld_raw_indexable(raw_buffer)(mixed,mixed,mixed,mixed) r31.xyzw, r29.y, u0.xyzw ld_raw_indexable(raw_buffer)(mixed,mixed,mixed,mixed) r32.xyzw, r29.z, u0.xyzw iadd r27.xyz, r0.xxxx, r27.xyzx ishl r27.xyz, r27.xyzx, l(4, 4, 4, 0) ld_raw_indexable(raw_buffer)(mixed,mixed,mixed,mixed) r33.xyz, r27.x, u0.xyzx ld_raw_indexable(raw_buffer)(mixed,mixed,mixed,mixed) r27.xyw, r27.y, u0.xyxz ld_raw_indexable(raw_buffer)(mixed,mixed,mixed,mixed) r34.xyz, r27.z, u0.xyzx add r35.xyz, r30.xyzx, r31.xyzx add r35.xyz, r32.xyzx, r35.xyzx mul r36.xyz, r35.xyzx, l(0.333333, 0.333333, 0.333333, 0.000000) add r27.xyz, r27.xywx, r33.xyzx add r27.xyz, r34.xyzx, r27.xyzx mul r33.xyz, r27.xyzx, l(0.333333, 0.333333, 0.333333, 0.000000) mad r33.xyz, r35.xyzx, l(0.333333, 0.333333, 0.333333, 0.000000), -r33.xyzx add r33.xyz, r21.xyzx, r33.xyzx mad r27.xyz, -r27.xyzx, l(0.333333, 0.333333, 0.333333, 0.000000), r21.xyzx mad r34.xyz, r27.xxxx, r23.xyzx, r36.xyzx mad r27.xyw, r27.yyyy, r26.xyxz, r34.xyxz mad r27.xyz, r27.zzzz, r25.yzxy, r27.xywx movc r27.xyz, r20.wwww, r27.xyzx, r33.xyzx add r32.xyz, -r30.zxyz, r32.zxyz add r30.xyz, -r30.yzxy, r31.yzxy mul r31.xyz, r30.xyzx, r32.xyzx mad r30.xyz, r32.zxyz, r30.yzxy, -r31.xyzx dp3 r22.z, r30.xyzx, r30.xyzx sqrt r22.z, r22.z div r30.xyz, r30.xyzx, r22.zzzz dp3 r22.w, r27.xyzx, r27.xyzx rsq r25.w, r22.w sqrt r26.w, r22.w dp3 r27.w, r30.xyzx, r27.xyzx mul r27.w, r25.w, r27.w mad r28.w, -r27.w, r27.w, l(1.000000) max r28.w, r28.w, l(0.000000) sqrt r28.w, r28.w mul r31.xyz, r27.yzxy, r30.xyzx mad r30.xyz, r27.xyzx, r30.yzxy, -r31.xyzx mul r31.xyz, r27.yzxy, r25.wwww mul r32.xyz, r30.xyzx, r31.xyzx mad r30.xyz, r30.zxyz, r31.yzxy, -r32.xyzx mul r25.w, r20.y, r27.w mul r25.w, r28.w, r25.w mul r30.xyz, r30.xyzx, r25.wwww mul r30.xyz, r26.wwww, r30.xyzx div r30.xyz, r30.xyzx, r19.wwww mul r25.w, r20.x, |r27.w| mul r27.xyz, r27.xyzx, r25.wwww mul r27.xyz, r26.wwww, r27.xyzx div r27.xyz, r27.xyzx, r19.wwww lt r22.w, r22.w, l(0.000000) add r27.xyz, r27.xyzx, r30.xyzx mul r27.xyz, r20.zzzz, r27.xyzx mul r27.xyz, r22.zzzz, r27.xyzx movc r27.xyz, r22.wwww, l(-0.000000,-0.000000,-0.000000,0), -r27.xyzx ld_raw_indexable(raw_buffer)(mixed,mixed,mixed,mixed) r22.z, r29.x, u0.xxxx mad r22.w, r27.x, r30.w, r22.z imm_atomic_cmp_exch r33.x, u0, r29.x, r22.z, r22.w mov r30.x, r22.z mov r30.y, r33.x loop ieq r22.w, r30.x, r30.y breakc_nz r22.w mad r22.w, r27.x, r30.w, r30.y imm_atomic_cmp_exch r30.x, u0, r29.x, r30.y, r22.w mov r30.xy, r30.yxyy endloop bfi r33.xyzw, l(28, 28, 28, 28), l(4, 4, 4, 4), r28.xxyy, l(4, 8, 4, 8) ld_raw_indexable(raw_buffer)(mixed,mixed,mixed,mixed) r22.z, r33.x, u0.xxxx mad r22.w, r27.y, r30.w, r22.z imm_atomic_cmp_exch r34.x, u0, r33.x, r22.z, r22.w mov r28.x, r22.z mov r28.y, r34.x loop ieq r22.w, r28.x, r28.y breakc_nz r22.w mad r22.w, r27.y, r30.w, r28.y imm_atomic_cmp_exch r28.x, u0, r33.x, r28.y, r22.w mov r28.xy, r28.yxyy endloop ld_raw_indexable(raw_buffer)(mixed,mixed,mixed,mixed) r22.z, r33.y, u0.xxxx mad r22.w, r27.z, r30.w, r22.z imm_atomic_cmp_exch r34.x, u0, r33.y, r22.z, r22.w mov r28.x, r22.z mov r28.y, r34.x loop ieq r22.w, r28.x, r28.y breakc_nz r22.w mad r22.w, r27.z, r30.w, r28.y imm_atomic_cmp_exch r28.x, u0, r33.y, r28.y, r22.w mov r28.xy, r28.yxyy endloop ld_raw_indexable(raw_buffer)(mixed,mixed,mixed,mixed) r22.z, r29.y, u0.xxxx mad r22.w, r27.x, r31.w, r22.z imm_atomic_cmp_exch r30.x, u0, r29.y, r22.z, r22.w mov r28.x, r22.z mov r28.y, r30.x loop ieq r22.w, r28.x, r28.y breakc_nz r22.w mad r22.w, r27.x, r31.w, r28.y imm_atomic_cmp_exch r28.x, u0, r29.y, r28.y, r22.w mov r28.xy, r28.yxyy endloop ld_raw_indexable(raw_buffer)(mixed,mixed,mixed,mixed) r22.z, r33.z, u0.xxxx mad r22.w, r27.y, r31.w, r22.z imm_atomic_cmp_exch r30.x, u0, r33.z, r22.z, r22.w mov r28.x, r22.z mov r28.y, r30.x loop ieq r22.w, r28.x, r28.y breakc_nz r22.w mad r22.w, r27.y, r31.w, r28.y imm_atomic_cmp_exch r28.x, u0, r33.z, r28.y, r22.w mov r28.xy, r28.yxyy endloop ld_raw_indexable(raw_buffer)(mixed,mixed,mixed,mixed) r22.z, r33.w, u0.xxxx mad r22.w, r27.z, r31.w, r22.z imm_atomic_cmp_exch r30.x, u0, r33.w, r22.z, r22.w mov r28.x, r22.z mov r28.y, r30.x loop ieq r22.w, r28.x, r28.y breakc_nz r22.w mad r22.w, r27.z, r31.w, r28.y imm_atomic_cmp_exch r28.x, u0, r33.w, r28.y, r22.w mov r28.xy, r28.yxyy endloop ld_raw_indexable(raw_buffer)(mixed,mixed,mixed,mixed) r22.z, r29.z, u0.xxxx mad r22.w, r27.x, r32.w, r22.z imm_atomic_cmp_exch r30.x, u0, r29.z, r22.z, r22.w mov r28.x, r22.z mov r28.y, r30.x loop ieq r22.w, r28.x, r28.y breakc_nz r22.w mad r22.w, r27.x, r32.w, r28.y imm_atomic_cmp_exch r28.x, u0, r29.z, r28.y, r22.w mov r28.xy, r28.yxyy endloop bfi r22.zw, l(0, 0, 28, 28), l(0, 0, 4, 4), r28.zzzz, l(0, 0, 4, 8) ld_raw_indexable(raw_buffer)(mixed,mixed,mixed,mixed) r25.w, r22.z, u0.xxxx mad r26.w, r27.y, r32.w, r25.w imm_atomic_cmp_exch r28.x, u0, r22.z, r25.w, r26.w mov r29.x, r25.w mov r29.y, r28.x loop ieq r26.w, r29.x, r29.y breakc_nz r26.w mad r26.w, r27.y, r32.w, r29.y imm_atomic_cmp_exch r29.x, u0, r22.z, r29.y, r26.w mov r29.xy, r29.yxyy endloop ld_raw_indexable(raw_buffer)(mixed,mixed,mixed,mixed) r22.z, r22.w, u0.xxxx mad r25.w, r27.z, r32.w, r22.z imm_atomic_cmp_exch r28.x, u0, r22.w, r22.z, r25.w mov r27.x, r22.z mov r27.y, r28.x loop ieq r25.w, r27.x, r27.y breakc_nz r25.w mad r25.w, r27.z, r32.w, r27.y imm_atomic_cmp_exch r27.x, u0, r22.w, r27.y, r25.w mov r27.xy, r27.yxyy endloop iadd r21.w, r21.w, l(1024) endloop sync_g_t endif ld_raw r19.w, l(76), g1.xxxx ine r19.w, r19.w, l(-1) if_nz r19.w ld_raw r20.xy, l(44), g0.xyxx ld_raw r21.xyz, l(72), g1.xyzx ld_raw r19.w, l(0), g0.xxxx mov r20.z, vThreadIDInGroup.x loop uge r20.w, r20.z, r19.w breakc_nz r20.w iadd r22.xy, r20.zzzz, r21.yzyy ld_structured_indexable(structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r23.xyzw, r22.x, l(0), t11.xyzw ld_structured_indexable(structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r22.xyzw, r22.y, l(0), t11.xyzw add r22.xyzw, -r23.xyzw, r22.xyzw mad r22.xyzw, r22.xyzw, r19.yyyy, r23.xyzw iadd r20.w, r0.y, r20.z ishl r20.w, r20.w, l(4) ld_raw_indexable(raw_buffer)(mixed,mixed,mixed,mixed) r23.xyzw, r20.w, u0.xyzw add r22.xyz, r22.xyzx, -r23.xyzx dp3 r21.w, r22.xyzx, r22.xyzx add r21.w, r21.w, l(0.000000) mad r22.w, r22.w, -r20.x, -r20.y min r22.w, r22.w, l(0.000000) rsq r21.w, r21.w mad r21.w, r22.w, r21.w, l(1.000000) max r21.w, r21.w, l(0.000000) mul r21.w, r21.x, r21.w mad r24.xyz, r21.wwww, r22.xyzx, r23.xyzx ge r21.w, r22.w, l(0.000000) movc r24.w, r21.w, l(0), r23.w store_raw u0.xyzw, r20.w, r24.xyzw iadd r20.z, r20.z, l(1024) endloop endif ld_raw r19.w, l(20), g1.xxxx eq r20.x, r19.w, l(0.000000) ld_raw r20.y, l(24), g0.xxxx ieq r20.z, r20.y, l(0) or r20.x, r20.z, r20.x if_z r20.x ld_raw r20.x, l(0), g0.xxxx utof r20.z, r20.x mul r19.w, r19.w, r20.z utof r20.z, r20.y div r19.w, r19.w, r20.z ld_raw r20.zw, l(28), g0.xxxy mov r21.x, vThreadIDInGroup.x loop uge r21.y, r21.x, r20.x breakc_nz r21.y iadd r21.y, r0.y, r21.x ishl r21.y, r21.y, l(4) ld_raw_indexable(raw_buffer)(mixed,mixed,mixed,mixed) r22.xyzw, r21.y, u0.xyzw mov r23.xyz, l(0,0,0,0) mov r21.z, r21.x loop uge r21.w, r21.z, r20.y breakc_nz r21.w iadd r21.w, r20.z, r21.z ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r21.w, r21.w, l(0), t5.xxxx and r23.w, r21.w, l(0x0000ffff) iadd r23.w, r0.y, r23.w ishl r23.w, r23.w, l(4) ld_raw_indexable(raw_buffer)(mixed,mixed,mixed,mixed) r24.xyz, r23.w, u0.xyzx add r24.xyz, -r22.xyzx, r24.xyzx mad r23.w, r24.x, r24.x, l(0.000000) mad r23.w, r24.y, r24.y, r23.w mad r23.w, r24.z, r24.z, r23.w ushr r21.w, r21.w, l(16) utof r21.w, r21.w mul r21.w, r20.w, r21.w rsq r23.w, r23.w mad r21.w, -r21.w, r23.w, l(1.000000) lt r23.w, l(0.000000), r21.w mad r24.xyz, r24.xyzx, r21.wwww, r23.xyzx movc r23.xyz, r23.wwww, r24.xyzx, r23.xyzx iadd r21.z, r20.x, r21.z endloop mad r22.xyz, r23.xyzx, r19.wwww, r22.xyzx store_raw u0.xyzw, r21.y, r22.xyzw iadd r21.x, r21.x, l(1024) endloop endif mov r19.w, l(0) loop ld_raw r20.x, l(8), g0.xxxx uge r20.x, r19.w, r20.x breakc_nz r20.x ld_raw r20.xyz, l(12), g0.xyzx iadd r20.x, r19.w, r20.x ld_structured_indexable(structured_buffer, stride=24)(mixed,mixed,mixed,mixed) r21.xyzw, r20.x, l(0), t3.xyzw ld_structured_indexable(structured_buffer, stride=24)(mixed,mixed,mixed,mixed) r20.xw, r20.x, l(16), t3.xxxy ld_raw r22.x, l(156), g1.xxxx mul r21.xy, r21.xyxx, r22.xxxx exp r21.xy, r21.xyxx add r21.xy, -r21.xyxx, l(1.000000, 1.000000, 0.000000, 0.000000) iadd r20.y, r20.x, r20.y ine r20.z, r20.z, l(-1) ld_raw r22.y, l(20), g0.xxxx iadd r20.x, r20.x, r22.y sync_g_t mov r22.y, vThreadIDInGroup.x loop uge r22.z, r22.y, r20.w breakc_nz r22.z iadd r22.z, r20.y, r22.y ld_structured_indexable(structured_buffer, stride=8)(mixed,mixed,mixed,mixed) r22.zw, r22.z, l(0), t4.xxxy and r23.w, r22.w, l(0x0000ffff) ushr r22.w, r22.w, l(16) iadd r23.w, r0.y, r23.w ishl r23.w, r23.w, l(4) ld_raw_indexable(raw_buffer)(mixed,mixed,mixed,mixed) r24.xyzw, r23.w, u0.xyzw iadd r22.w, r0.y, r22.w ishl r22.w, r22.w, l(4) ld_raw_indexable(raw_buffer)(mixed,mixed,mixed,mixed) r25.xyzw, r22.w, u0.xyzw add r26.xyz, -r24.xyzx, r25.xyzx mad r26.w, r26.x, r26.x, l(0.000000) mad r26.w, r26.y, r26.y, r26.w mad r26.w, r26.z, r26.z, r26.w lt r27.x, l(0.000000), r22.z rsq r26.w, r26.w mad r22.z, r22.z, r26.w, l(-1.000000) and r22.z, r22.z, r27.x min r26.w, r21.w, -r22.z max r26.w, r21.z, r26.w mad r22.z, r21.y, r26.w, r22.z iadd r26.w, r20.x, r22.y ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r26.w, r26.w, l(0), t16.xxxx mul r26.w, r22.x, r26.w exp r26.w, r26.w add r26.w, -r26.w, l(1.000000) movc r26.w, r20.z, r26.w, r21.x mul r22.z, r22.z, r26.w add r26.w, r24.w, l(0.000000) add r26.w, r25.w, r26.w div r22.z, r22.z, r26.w mul r26.w, r22.z, -r24.w mad r24.xyz, r26.wwww, r26.xyzx, r24.xyzx store_raw u0.xyzw, r23.w, r24.xyzw mul r22.z, r22.z, r25.w mad r25.xyz, r22.zzzz, r26.xyzx, r25.xyzx store_raw u0.xyzw, r22.w, r25.xyzw iadd r22.y, r22.y, l(1024) endloop iadd r19.w, r19.w, l(1) endloop sync_g_t ld_raw r19.w, l(84), g1.xxxx ine r19.w, r19.w, l(-1) if_nz r19.w ld_raw r19.w, l(0), g0.xxxx ld_raw r20.xy, l(84), g1.xyxx mov r20.z, vThreadIDInGroup.x loop uge r20.w, r20.z, r19.w breakc_nz r20.w iadd r21.xy, r20.xyxx, r20.zzzz ld_structured_indexable(structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r22.xyzw, r21.x, l(0), t12.xyzw ld_structured_indexable(structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r21.xyzw, r21.y, l(0), t12.xyzw add r21.xyzw, -r22.xyzw, r21.xyzw mad r21.xyzw, r21.xyzw, r19.yyyy, r22.xyzw iadd r20.w, r0.y, r20.z ishl r20.w, r20.w, l(4) ld_raw_indexable(raw_buffer)(mixed,mixed,mixed,mixed) r22.xyzw, r20.w, u0.xyzw add r21.xyz, r21.xyzx, -r22.xyzx dp3 r23.w, r21.xyzx, r21.xyzx add r23.w, r23.w, l(0.000000) rsq r23.w, r23.w mad r21.w, -r21.w, r23.w, l(1.000000) min r21.w, r21.w, l(0.000000) mad r22.xyz, r21.wwww, r21.xyzx, r22.xyzx store_raw u0.xyzw, r20.w, r22.xyzw iadd r20.z, r20.z, l(1024) endloop sync_g_t endif if_nz r1.x ld_raw r19.w, l(0), g0.xxxx iadd r20.x, r19.w, l(-1) umin r20.x, r2.y, r20.x iadd r20.y, r0.y, r20.x ishl r20.y, r20.y, l(4) ld_raw_indexable(raw_buffer)(mixed,mixed,mixed,mixed) r21.xyzw, r20.y, u0.xyzw dp4 r20.y, r21.xyzw, icb[r4.x + 0].xyzw mul r20.y, r0.w, r20.y store_structured g4.x, vThreadIDInGroup.x, l(0), r20.y mov r20.y, r20.x loop iadd r20.y, r20.y, l(32) uge r20.z, r20.y, r19.w breakc_nz r20.z ld_structured r20.z, vThreadIDInGroup.x, l(0), g4.xxxx iadd r20.w, r0.y, r20.y ishl r20.w, r20.w, l(4) ld_raw_indexable(raw_buffer)(mixed,mixed,mixed,mixed) r21.xyzw, r20.w, u0.xyzw dp4 r20.w, r21.xyzw, icb[r4.x + 0].xyzw mul r20.w, r0.w, r20.w max r20.z, r20.w, r20.z store_structured g4.x, vThreadIDInGroup.x, l(0), r20.z endloop endif sync_g_t if_nz r1.y ld_structured r19.w, vThreadIDInGroup.x, l(0), g4.xxxx ld_structured r20.x, r3.x, l(0), g4.xxxx max r19.w, r19.w, r20.x store_structured g4.x, vThreadIDInGroup.x, l(0), r19.w endif sync_g_t if_nz r1.y ld_structured r19.w, vThreadIDInGroup.x, l(0), g4.xxxx ld_structured r20.x, r3.y, l(0), g4.xxxx max r19.w, r19.w, r20.x store_structured g4.x, vThreadIDInGroup.x, l(0), r19.w endif sync_g_t if_nz r1.y ld_structured r19.w, vThreadIDInGroup.x, l(0), g4.xxxx ld_structured r20.x, r3.z, l(0), g4.xxxx max r19.w, r19.w, r20.x store_structured g4.x, vThreadIDInGroup.x, l(0), r19.w endif sync_g_t if_nz r1.y ld_structured r19.w, vThreadIDInGroup.x, l(0), g4.xxxx ld_structured r20.x, r3.w, l(0), g4.xxxx max r19.w, r19.w, r20.x store_structured g4.x, vThreadIDInGroup.x, l(0), r19.w endif sync_g_t if_nz r1.y ld_structured r19.w, vThreadIDInGroup.x, l(0), g4.xxxx ld_structured r20.x, r6.x, l(0), g4.xxxx max r19.w, r19.w, r20.x store_structured g4.x, vThreadIDInGroup.x, l(0), r19.w endif sync_g_t if_nz r2.x ld_structured r19.w, vThreadIDInGroup.x, l(0), g4.xxxx store_raw g1.x, r4.z, r19.w endif sync_g_t ld_raw r19.w, l(16), g1.xxxx utof r19.w, r19.w div r19.z, r19.z, r19.w ld_raw r19.w, l(68), g0.xxxx if_nz r19.w ld_raw r20.x, l(92), g0.xxxx lt r20.x, l(0.000000), r20.x ld_raw r20.y, l(0), g0.xxxx ld_raw r20.z, l(72), g0.xxxx ld_raw r21.xy, l(104), g1.xyxx mov r20.w, vThreadIDInGroup.x loop uge r21.z, r20.w, r20.y breakc_nz r21.z iadd r21.z, r0.y, r20.w ishl r21.z, r21.z, l(4) ld_raw_indexable(raw_buffer)(mixed,mixed,mixed,mixed) r22.xyzw, r21.z, u0.xyzw mov r24.xyzw, l(0,0,0,0) mov r21.w, l(0) loop uge r23.w, r21.w, r19.w breakc_nz r23.w iadd r23.w, r20.z, r21.w ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r23.w, r23.w, l(0), t8.xxxx firstbit_lo r25.x, r23.w iadd r25.xy, r21.xyxx, r25.xxxx ld_structured_indexable(structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r26.xyzw, r25.x, l(0), t9.xyzw ld_structured_indexable(structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r25.xyzw, r25.y, l(0), t9.xyzw add r25.xyzw, -r26.xyzw, r25.xyzw mad r25.xyzw, r19.yyyy, r25.xyzw, r26.xyzw dp3 r26.x, r22.xyzx, r25.xyzx add r25.w, r25.w, r26.x mov r27.x, r23.w mov r26.xyzw, r25.xyzw loop lt r27.y, r26.w, l(0.000000) iadd r27.z, r27.x, l(-1) and r27.x, r27.z, r27.x ine r27.z, r27.x, l(0) and r27.y, r27.z, r27.y breakc_z r27.y firstbit_lo r27.y, r27.x iadd r27.yz, r21.xxyx, r27.yyyy ld_structured_indexable(structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r28.xyzw, r27.y, l(0), t9.xyzw ld_structured_indexable(structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r29.xyzw, r27.z, l(0), t9.xyzw add r29.xyzw, -r28.xyzw, r29.xyzw mad r28.xyzw, r19.yyyy, r29.xyzw, r28.xyzw dp3 r27.y, r22.xyzx, r28.xyzx add r28.w, r28.w, r27.y lt r27.y, r26.w, r28.w movc r26.xyzw, r27.yyyy, r28.xyzw, r26.xyzw endloop lt r23.w, r26.w, l(0.000000) mad r25.xyz, -r26.xyzx, r26.wwww, r24.xyzx iadd r25.w, r24.w, l(1) movc r24.xyzw, r23.wwww, r25.xyzw, r24.xyzw iadd r21.w, r21.w, l(1) endloop if_nz r24.w utof r21.w, r24.w div r21.w, l(1.000000, 1.000000, 1.000000, 1.000000), r21.w if_nz r20.x iadd r23.w, r0.x, r20.w ishl r23.w, r23.w, l(4) ld_raw_indexable(raw_buffer)(mixed,mixed,mixed,mixed) r25.xyzw, r23.w, u0.xyzw ld_raw r27.x, l(92), g0.xxxx dp3 r27.y, r24.xyzx, r24.xyzx add r27.z, r27.y, l(0.000000) rsq r27.z, r27.z mul r28.xyz, r24.xyzx, r27.zzzz add r29.xyz, r22.xyzx, -r25.xyzx dp3 r27.w, r29.xyzx, r28.xyzx mad r28.xyz, -r27.wwww, r28.xyzx, r29.xyzx dp3 r27.w, r28.xyzx, r28.xyzx add r27.w, r27.w, l(0.000000) rsq r27.w, r27.w mul r27.x, r27.y, -r27.x mul r27.x, r27.z, r27.x mul r27.x, r21.w, r27.x mul r27.x, r27.w, r27.x max r27.x, r27.x, l(-1.000000) mad r25.xyz, -r28.xyzx, r27.xxxx, r25.xyzx store_raw u0.xyzw, r23.w, r25.xyzw endif mad r22.xyz, r24.xyzx, r21.wwww, r22.xyzx store_raw u0.xyzw, r21.z, r22.xyzw endif iadd r20.w, r20.w, l(1024) endloop endif ld_raw r19.w, l(76), g0.xxxx if_nz r19.w sync_g_t ld_raw r19.w, l(0), g0.xxxx ld_raw r20.x, l(76), g0.xxxx ld_raw r20.yz, l(112), g1.xxyx mov r20.w, vThreadIDInGroup.x loop uge r21.x, r20.w, r19.w breakc_nz r21.x iadd r21.x, r0.y, r20.w ishl r21.x, r21.x, l(4) ld_raw_indexable(raw_buffer)(mixed,mixed,mixed,mixed) r21.yzw, r21.x, u0.xxyz mov r25.xy, l(0,340282346638528860000000000000000000000.000000,0,0) mov r22.xyzw, l(0,0,0,0) loop uge r23.w, r22.w, r20.x breakc_nz r23.w imad r27.xyzw, l(3, 3, 3, 3), r22.wwww, r20.yzyz ld_structured_indexable(structured_buffer, stride=12)(mixed,mixed,mixed,mixed) r28.xyz, r27.z, l(0), t10.xyzx ld_structured_indexable(structured_buffer, stride=12)(mixed,mixed,mixed,mixed) r29.xyz, r27.w, l(0), t10.xyzx iadd r27.xyzw, r27.xyzw, l(1, 1, 2, 2) ld_structured_indexable(structured_buffer, stride=12)(mixed,mixed,mixed,mixed) r30.xyz, r27.x, l(0), t10.xyzx ld_structured_indexable(structured_buffer, stride=12)(mixed,mixed,mixed,mixed) r31.xyz, r27.y, l(0), t10.xyzx ld_structured_indexable(structured_buffer, stride=12)(mixed,mixed,mixed,mixed) r27.xyz, r27.z, l(0), t10.xyzx ld_structured_indexable(structured_buffer, stride=12)(mixed,mixed,mixed,mixed) r32.xyz, r27.w, l(0), t10.xyzx add r29.xyz, -r28.xyzx, r29.xyzx mad r28.xyz, r29.xyzx, r19.yyyy, r28.xyzx add r29.xyz, -r30.xyzx, r31.xyzx mad r29.xyz, r29.xyzx, r19.yyyy, r30.xyzx add r30.xyz, -r27.xyzx, r32.xyzx mad r27.xyz, r30.xyzx, r19.yyyy, r27.xyzx add r29.xyz, -r28.xyzx, r29.xyzx add r27.xyz, -r28.xyzx, r27.xyzx mul r30.xyz, r27.yzxy, r29.zxyz mad r30.xyz, r29.yzxy, r27.zxyz, -r30.xyzx dp3 r23.w, r30.xyzx, r30.xyzx rsq r23.w, r23.w mul r30.xyz, r23.wwww, r30.xyzx dp3 r23.w, r29.xyzx, r27.xyzx dp3 r25.z, r29.xyzx, r29.xyzx dp3 r25.w, r27.xyzx, r27.xyzx mul r27.w, r23.w, r23.w mad r27.w, r25.z, r25.w, -r27.w div r27.w, l(1.000000, 1.000000, 1.000000, 1.000000), r27.w add r28.w, r25.w, r25.z mad r28.w, r23.w, l(-2.000000), r28.w div r28.w, l(1.000000, 1.000000, 1.000000, 1.000000), r28.w div r29.w, l(1.000000, 1.000000, 1.000000, 1.000000), r25.z div r30.w, l(1.000000, 1.000000, 1.000000, 1.000000), r25.w add r28.xyz, r21.yzwy, -r28.xyzx dp3 r31.x, r28.xyzx, r29.xyzx dp3 r31.y, r28.xyzx, r27.xyzx dp3 r32.x, r28.xyzx, r30.xyzx mul r31.zw, r23.wwww, r31.yyyx mad r31.z, r25.w, r31.x, -r31.z mad r25.z, r25.z, r31.y, -r31.w lt r31.w, l(0.000000), r25.z mul r31.z, r27.w, r31.z mul r29.w, r29.w, r31.x movc r29.w, r31.w, r31.z, r29.w lt r31.z, l(0.000000), r29.w mul r25.z, r27.w, r25.z mul r27.w, r30.w, r31.y movc r25.z, r31.z, r25.z, r27.w add r27.w, r25.z, r29.w lt r27.w, l(1.000000), r27.w add r23.w, -r23.w, r25.w add r23.w, r31.x, r23.w add r23.w, -r31.y, r23.w mul r23.w, r28.w, r23.w movc_sat r23.w, r27.w, r23.w, r29.w add r25.w, -r23.w, l(1.000000) min r25.z, r25.z, r25.w max r25.z, r25.z, l(0.000000) mul r27.xyz, r25.zzzz, r27.xyzx mad r27.xyz, r29.xyzx, r23.wwww, r27.xyzx add r27.xyz, -r27.xyzx, r28.xyzx dp3 r23.w, r27.xyzx, r27.xyzx lt r25.z, r32.x, l(0.000000) mul r25.w, r23.w, l(1.000100) movc r32.y, r25.z, r25.w, r23.w lt r23.w, r32.y, r25.y movc r22.xyz, r23.wwww, r30.xyzx, r22.xyzx movc r25.xy, r23.wwww, r32.xyxx, r25.xyxx iadd r22.w, r22.w, l(1) endloop lt r22.w, r25.x, l(0.000000) if_nz r22.w mad r21.yzw, -r22.xxyz, r25.xxxx, r21.yyzw store_raw u0.xyz, r21.x, r21.yzwy endif iadd r20.w, r20.w, l(1024) endloop sync_g_t endif ld_raw r19.w, l(84), g0.xxxx if_nz r19.w ld_raw r19.w, l(92), g0.xxxx lt r20.x, l(0.000000), r19.w ld_raw r20.y, l(0), g0.xxxx ld_raw r20.zw, l(96), g1.xxxy ld_raw r21.xy, l(52), g0.xyxx mov r21.z, vThreadIDInGroup.x loop uge r21.w, r21.z, r20.y breakc_nz r21.w iadd r21.w, r0.y, r21.z ishl r21.w, r21.w, l(4) ld_raw_indexable(raw_buffer)(mixed,mixed,mixed,mixed) r27.xyzw, r21.w, u0.xyzw iadd r22.w, r0.x, r21.z ishl r22.w, r22.w, l(4) ld_raw_indexable(raw_buffer)(mixed,mixed,mixed,mixed) r25.yzw, r22.w, u0.xxyz mov r28.xyz, l(0,0,0,0) mov r29.xyzw, l(0,0,0,0) mov r23.w, l(0) loop uge r28.w, r23.w, r21.x breakc_nz r28.w iadd r28.w, r21.y, r23.w ld_structured_indexable(structured_buffer, stride=8)(mixed,mixed,mixed,mixed) r30.xy, r28.w, l(0), t6.xyxx iadd r30.xyzw, r20.zwzw, r30.xxyy ld_structured_indexable(structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r31.xyzw, r30.x, l(0), t7.xyzw ld_structured_indexable(structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r32.xyzw, r30.y, l(0), t7.xyzw ld_structured_indexable(structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r33.xyzw, r30.z, l(0), t7.xyzw ld_structured_indexable(structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r30.xyzw, r30.w, l(0), t7.xyzw add r32.xyzw, -r31.xyzw, r32.xyzw mad r34.xyzw, r19.zzzz, r32.xyzw, r31.xyzw add r30.xyzw, -r33.xyzw, r30.xyzw mad r35.xyzw, r19.zzzz, r30.xyzw, r33.xyzw max r34.w, r34.w, l(0.000000) max r35.w, r35.w, l(0.000000) add r36.xyzw, -r34.xyzw, r35.xyzw mul r37.xyzw, r36.xyzw, l(0.500000, 0.500000, 0.500000, 0.500000) dp3 r28.w, r37.xyzx, r37.xyzx mad r35.w, -r37.w, r37.w, r28.w ge r36.x, l(0.000000), r35.w if_nz r36.x iadd r36.x, r23.w, l(1) mov r23.w, r36.x continue endif mad r31.xyzw, r19.yyyy, r32.xyzw, r31.xyzw mad r30.xyzw, r19.yyyy, r30.xyzw, r33.xyzw max r31.w, r31.w, l(0.000000) max r30.w, r30.w, l(0.000000) add r32.xyzw, -r31.xyzw, r30.xyzw mul r33.xyzw, r32.xyzw, l(0.500000, 0.500000, 0.500000, 0.500000) dp3 r30.w, r33.xyzx, r33.xyzx mad r32.x, -r33.w, r33.w, r30.w ge r32.y, l(0.000000), r32.x if_nz r32.y iadd r32.y, r23.w, l(1) mov r23.w, r32.y continue endif add r36.xyz, r34.xyzx, r35.xyzx mad r36.xyz, -r36.xyzx, l(0.500000, 0.500000, 0.500000, 0.000000), r25.yzwy rsq r32.y, r28.w rsq r32.z, r35.w mul r28.w, r28.w, r32.y mad r34.w, r36.w, l(0.500000), r34.w mul r34.w, r32.z, r34.w mul r34.w, r28.w, r34.w mul r37.xyz, r32.yyyy, r37.xyzx mul r32.y, r32.z, r37.w mul r38.xyz, r36.zxyz, r37.yzxy mad r38.xyz, r36.yzxy, r37.zxyz, -r38.xyzx dp3 r32.z, r36.xyzx, r37.xyzx add r39.xyz, r31.xyzx, r30.xyzx mad r39.xyz, -r39.xyzx, l(0.500000, 0.500000, 0.500000, 0.000000), r27.xyzx rsq r35.w, r30.w rsq r32.x, r32.x mul r30.w, r30.w, r35.w mad r31.w, r32.w, l(0.500000), r31.w mul r31.w, r32.x, r31.w mul r31.w, r30.w, r31.w mul r33.xyz, r33.xyzx, r35.wwww mul r40.xyz, r33.yzxy, r39.zxyz mad r40.xyz, r39.yzxy, r33.zxyz, -r40.xyzx dp3 r41.x, r39.xyzx, r33.xyzx dp3 r32.w, r40.xyzx, r40.xyzx add r41.y, r32.w, l(0.000000) mad r32.z, r32.z, r32.y, r34.w max r32.z, r32.z, l(0.000000) mul r32.x, r32.x, r33.w mad r32.w, r41.x, r32.x, r31.w max r41.z, r32.w, l(0.000000) dp3 r32.w, r38.xyzx, r38.xyzx mad r32.w, -r32.z, r32.z, r32.w dp3 r34.w, r38.xyzx, r40.xyzx mad r34.w, -r32.z, r41.z, r34.w mad r36.w, -r41.z, r41.z, r41.y mul r37.w, r32.w, r36.w mad r37.w, r34.w, r34.w, -r37.w sqrt r38.x, r37.w add r32.w, -r32.w, r34.w add r34.w, r34.w, -r36.w add r34.w, r32.w, r34.w add r36.w, r38.x, r32.w min r36.w, r36.w, l(0.000000) div r36.w, r36.w, r34.w lt r38.y, r36.w, l(1.000000) lt r38.z, r32.w, r38.x and r38.y, r38.z, r38.y mul r32.w, r32.w, r34.w add r38.z, -r32.z, r41.z mad r32.z, r32.w, r38.z, r32.z mul r32.z, r32.z, r32.z mul r32.z, r34.w, r32.z mul r32.z, r32.z, l(-0.360000) lt r32.z, r32.z, r37.w and r32.z, r32.z, r38.y lt r32.w, r34.w, l(-0.000000) and r32.z, r32.w, r32.z add r38.yzw, r36.xxyz, -r39.xxyz mad r36.xyz, -r38.yzwy, r36.wwww, r36.xyzx mul r40.xyz, r30.wwww, r33.xyzx mad r37.xyz, -r37.xyzx, r28.wwww, r40.xyzx add r28.w, -r36.w, l(1.000000) mad r40.xyz, -r37.xyzx, r28.wwww, r40.xyzx mul r32.w, r32.x, r36.w mad r32.y, r32.y, r28.w, r32.w dp3 r32.w, r40.xyzx, r40.xyzx rsq r32.w, r32.w dp3 r36.w, r36.xyzx, r40.xyzx mul r36.w, r32.w, r36.w dp3 r36.x, r36.xyzx, r36.xyzx mad r36.x, -r36.w, r36.w, r36.x lt r36.y, l(0.000000), r36.x rsq r36.z, r36.x and r36.y, r36.z, r36.y mul r32.y, r32.y, r36.x mad r32.y, r32.y, r36.y, r36.w mul r32.y, r32.w, r32.y lt r32.w, |r32.y|, l(1.000000) mad r36.xyz, r37.xyzx, r32.yyyy, r38.yzwy lt r32.y, l(0.000000), r28.w mul r34.w, r28.w, r34.w div r34.w, r38.x, r34.w and r32.y, r32.y, r34.w add r32.y, -r32.y, l(1.000000) div r28.w, r28.w, r32.y mad r36.xyz, r36.xyzx, r28.wwww, r39.xyzx dp3 r37.x, r36.xyzx, r33.xyzx mad r28.w, r37.x, r32.x, r31.w max r37.z, r28.w, l(0.000000) dp3 r28.w, r36.xyzx, r36.xyzx mad r37.y, -r37.x, r37.x, r28.w movc r37.xyz, r32.wwww, r37.xyzx, r41.xyzx movc r37.xyz, r32.zzzz, r37.xyzx, r41.xyzx mul r28.w, r37.z, r37.z lt r28.w, r28.w, r37.y if_nz r28.w iadd r28.w, r23.w, l(1) mov r23.w, r28.w continue endif mul r28.w, r33.w, r35.w mad r28.w, -r28.w, r28.w, l(1.000000) movc r36.xyz, r32.wwww, r36.xyzx, r39.xyzx movc r32.yzw, r32.zzzz, r36.xxyz, r39.xxyz max r31.w, r37.y, l(0.000000) rsq r33.w, r31.w mul r31.w, r31.w, r32.x mad r31.w, r31.w, r33.w, r37.x lt r30.w, |r31.w|, r30.w mad r32.xyz, -r31.wwww, r33.xyzx, r32.yzwy mul r31.w, r33.w, r37.z mad r28.w, r31.w, r28.w, -r28.w mad r32.xyz, r32.xyzx, r28.wwww, r28.xyzx mad r28.w, r37.x, l(0.500000), l(0.500000) add r31.xyz, -r34.xyzx, r31.xyzx add r30.xyz, -r35.xyzx, r30.xyzx add r30.xyz, -r31.xyzx, r30.xyzx mad r30.xyz, r28.wwww, r30.xyzx, r31.xyzx add r30.xyz, r29.xyzx, r30.xyzx movc r31.xyz, r20.xxxx, r30.xyzx, r29.xyzx iadd r31.w, r29.w, l(1) movc r28.xyz, r30.wwww, r32.xyzx, r28.xyzx movc r29.xyzw, r30.wwww, r31.xyzw, r29.xyzw iadd r23.w, r23.w, l(1) endloop ld_raw r23.w, l(60), g0.xxxx mov r30.xyz, r27.xyzx mov r31.xyz, r28.xyzx mov r32.xyzw, r29.xyzw mov r28.w, l(0) loop uge r30.w, r28.w, r23.w breakc_nz r30.w iadd r33.xy, r20.zwzz, r28.wwww ld_structured_indexable(structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r34.xyzw, r33.x, l(0), t7.xyzw ld_structured_indexable(structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r33.xyzw, r33.y, l(0), t7.xyzw add r33.xyzw, -r34.xyzw, r33.xyzw mad r35.xyzw, r19.yyyy, r33.xyzw, r34.xyzw max r30.w, r35.w, l(0.000000) mad r33.xyz, r19.zzzz, r33.xyzx, r34.xyzx add r34.xyz, r30.xyzx, -r35.xyzx add r36.xyz, r25.yzwy, -r33.xyzx dp3 r31.w, r34.xyzx, r34.xyzx add r34.w, r31.w, l(0.000000) dp3 r31.w, r36.xyzx, r36.xyzx mul r33.w, r30.w, r30.w mad r31.w, -r30.w, r30.w, r31.w dp3 r35.w, r36.xyzx, r34.xyzx mad r35.w, -r30.w, r30.w, r35.w mad r36.w, -r30.w, r30.w, r34.w mul r37.x, r31.w, r36.w mad r37.x, r35.w, r35.w, -r37.x sqrt r37.y, r37.x add r31.w, -r31.w, r35.w add r35.w, r35.w, -r36.w add r35.w, r31.w, r35.w add r36.w, r37.y, r31.w min r36.w, r36.w, l(0.000000) div r36.w, r36.w, r35.w lt r37.z, r36.w, l(1.000000) lt r31.w, r31.w, r37.y and r31.w, r31.w, r37.z mul r33.w, r33.w, r35.w mul r33.w, r33.w, l(-0.360000) lt r33.w, r33.w, r37.x and r31.w, r31.w, r33.w lt r33.w, r35.w, l(-0.000000) and r31.w, r31.w, r33.w add r36.xyz, -r34.xyzx, r36.xyzx add r33.w, -r36.w, l(1.000000) mul r35.w, r33.w, r35.w div r35.w, r37.y, r35.w add r35.w, -r35.w, l(1.000000) div r33.w, r33.w, r35.w mad r36.xyz, r36.xyzx, r33.wwww, r34.xyzx add r37.xyz, r35.xyzx, r36.xyzx dp3 r33.w, r36.xyzx, r36.xyzx add r36.w, r33.w, l(0.000000) movc r30.xyz, r31.wwww, r37.xyzx, r30.xyzx movc r34.xyzw, r31.wwww, r36.xyzw, r34.xyzw rsq r31.w, r34.w mul r33.w, r30.w, r31.w lt r33.w, l(1.000000), r33.w mad r30.w, r31.w, r30.w, l(-1.000000) mad r34.xyz, r34.xyzx, r30.wwww, r31.xyzx add r33.xyz, -r33.xyzx, r35.xyzx add r33.xyz, r32.xyzx, r33.xyzx movc r35.xyz, r20.xxxx, r33.xyzx, r32.xyzx iadd r35.w, r32.w, l(1) movc r31.xyz, r33.wwww, r34.xyzx, r31.xyzx movc r32.xyzw, r33.wwww, r35.xyzw, r32.xyzw iadd r28.w, r28.w, l(1) endloop if_nz r32.w utof r23.w, r32.w div r23.w, l(1.000000, 1.000000, 1.000000, 1.000000), r23.w if_nz r20.x ld_raw r28.w, l(92), g0.xxxx dp3 r30.x, r31.xyzx, r31.xyzx add r30.y, r30.x, l(0.000000) rsq r30.y, r30.y mul r33.xyz, r30.yyyy, r31.xyzx add r34.xyz, -r25.yzwy, r27.xyzx mad r34.xyz, -r32.xyzx, r23.wwww, r34.xyzx dp3 r30.z, r34.xyzx, r33.xyzx mad r33.xyz, -r30.zzzz, r33.xyzx, r34.xyzx dp3 r30.z, r33.xyzx, r33.xyzx add r30.z, r30.z, l(0.000000) rsq r30.z, r30.z mul r28.w, -r28.w, r30.x mul r28.w, r30.y, r28.w mul r28.w, r23.w, r28.w mul r28.w, r30.z, r28.w max r28.w, r28.w, l(-1.000000) mad r25.yzw, -r33.xxyz, r28.wwww, r25.yyzw store_raw u0.xyz, r22.w, r25.yzwy endif mad r27.xyz, r31.xyzx, r23.wwww, r27.xyzx store_raw u0.xyzw, r21.w, r27.xyzw endif iadd r21.z, r21.z, l(1024) endloop else ld_raw r20.xy, l(88), g0.xyxx lt r20.xy, l(0.000000, 0.000000, 0.000000, 0.000000), r20.yxyy ld_raw r19.w, l(0), g0.xxxx ld_raw r20.zw, l(96), g1.xxxy ld_raw r21.x, l(92), g0.xxxx lt r21.y, l(0.000000), r21.x ld_raw r21.zw, l(52), g0.xxxy mov r22.w, vThreadIDInGroup.x loop uge r23.w, r22.w, r19.w breakc_nz r23.w iadd r23.w, r0.y, r22.w ishl r23.w, r23.w, l(4) ld_raw_indexable(raw_buffer)(mixed,mixed,mixed,mixed) r27.xyzw, r23.w, u0.xyzw mov r25.yzw, l(0,0,0,0) mov r30.xyzw, l(0,0,0,0) mov r28.w, l(0) loop uge r31.w, r28.w, r21.z breakc_nz r31.w iadd r31.w, r21.w, r28.w ld_structured_indexable(structured_buffer, stride=8)(mixed,mixed,mixed,mixed) r33.xy, r31.w, l(0), t6.xyxx iadd r33.xyzw, r20.zwzw, r33.xxyy ld_structured_indexable(structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r34.xyzw, r33.x, l(0), t7.xyzw ld_structured_indexable(structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r35.xyzw, r33.y, l(0), t7.xyzw add r36.xyzw, -r34.xyzw, r35.xyzw mad r36.xyzw, r19.yyyy, r36.xyzw, r34.xyzw ld_structured_indexable(structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r37.xyzw, r33.z, l(0), t7.xyzw ld_structured_indexable(structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r33.xyzw, r33.w, l(0), t7.xyzw add r38.xyzw, -r37.xyzw, r33.xyzw mad r38.xyzw, r19.yyyy, r38.xyzw, r37.xyzw max r36.w, r36.w, l(0.000000) max r38.w, r38.w, l(0.000000) add r39.xyzw, -r36.xyzw, r38.xyzw mul r40.xyzw, r39.xyzw, l(0.500000, 0.500000, 0.500000, 0.500000) dp3 r31.w, r40.xyzx, r40.xyzx mad r33.w, -r40.w, r40.w, r31.w ge r34.w, l(0.000000), r33.w if_nz r34.w iadd r34.w, r28.w, l(1) mov r28.w, r34.w continue endif rsq r34.w, r31.w rsq r33.w, r33.w mul r31.w, r31.w, r34.w add r39.xyz, r36.xyzx, r38.xyzx mad r35.w, r39.w, l(0.500000), r36.w mul r35.w, r33.w, r35.w mul r35.w, r31.w, r35.w mul r40.xyz, r34.wwww, r40.xyzx mul r33.w, r33.w, r40.w mad r39.xyz, -r39.xyzx, l(0.500000, 0.500000, 0.500000, 0.000000), r27.xyzx dp3 r36.w, r39.xyzx, r40.xyzx mad r35.w, r36.w, r33.w, r35.w max r35.w, r35.w, l(0.000000) dp3 r37.w, r39.xyzx, r39.xyzx mad r37.w, -r36.w, r36.w, r37.w mul r38.w, r35.w, r35.w lt r38.w, r38.w, r37.w if_nz r38.w iadd r38.w, r28.w, l(1) mov r28.w, r38.w continue endif mul r34.w, r34.w, r40.w mad r34.w, -r34.w, r34.w, l(1.000000) max r37.w, r37.w, l(0.000000) rsq r38.w, r37.w mul r33.w, r33.w, r37.w mad r33.w, r33.w, r38.w, r36.w lt r31.w, |r33.w|, r31.w mad r39.xyz, -r33.wwww, r40.xyzx, r39.xyzx mul r33.w, r35.w, r38.w mad r33.w, r33.w, r34.w, -r34.w mad r39.xyz, r39.xyzx, r33.wwww, r25.yzwy add r35.xyz, -r34.xyzx, r35.xyzx mad r34.xyz, r19.zzzz, r35.xyzx, r34.xyzx add r33.xyz, -r37.xyzx, r33.xyzx mad r33.xyz, r19.zzzz, r33.xyzx, r37.xyzx mad r33.w, r36.w, l(0.500000), l(0.500000) add r34.xyz, -r34.xyzx, r36.xyzx add r33.xyz, -r33.xyzx, r38.xyzx add r33.xyz, -r34.xyzx, r33.xyzx mad r33.xyz, r33.wwww, r33.xyzx, r34.xyzx add r33.xyz, r30.xyzx, r33.xyzx movc r33.xyz, r21.yyyy, r33.xyzx, r30.xyzx iadd r33.w, r30.w, l(1) movc r25.yzw, r31.wwww, r39.xxyz, r25.yyzw movc r30.xyzw, r31.wwww, r33.xyzw, r30.xyzw iadd r28.w, r28.w, l(1) endloop ld_raw r28.w, l(60), g0.xxxx mov r33.xyz, r25.yzwy mov r34.xyzw, r30.xyzw mov r31.w, l(0) loop uge r33.w, r31.w, r28.w breakc_nz r33.w iadd r35.xy, r20.zwzz, r31.wwww ld_structured_indexable(structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r36.xyzw, r35.x, l(0), t7.xyzw ld_structured_indexable(structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r35.xyzw, r35.y, l(0), t7.xyzw add r35.xyzw, -r36.xyzw, r35.xyzw mad r37.xyzw, r19.yyyy, r35.xyzw, r36.xyzw max r33.w, r37.w, l(0.000000) add r38.xyz, r27.xyzx, -r37.xyzx dp3 r35.w, r38.xyzx, r38.xyzx add r35.w, r35.w, l(0.000000) rsq r35.w, r35.w mul r36.w, r33.w, r35.w lt r36.w, l(1.000000), r36.w mad r33.w, r35.w, r33.w, l(-1.000000) mad r38.xyz, r38.xyzx, r33.wwww, r33.xyzx mad r35.xyz, r19.zzzz, r35.xyzx, r36.xyzx add r35.xyz, -r35.xyzx, r37.xyzx add r35.xyz, r34.xyzx, r35.xyzx movc r35.xyz, r21.yyyy, r35.xyzx, r34.xyzx iadd r35.w, r34.w, l(1) movc r33.xyz, r36.wwww, r38.xyzx, r33.xyzx movc r34.xyzw, r36.wwww, r35.xyzw, r34.xyzw iadd r31.w, r31.w, l(1) endloop if_nz r34.w utof r28.w, r34.w div r28.w, l(1.000000, 1.000000, 1.000000, 1.000000), r28.w if_nz r20.x iadd r31.w, r0.x, r22.w ishl r31.w, r31.w, l(4) ld_raw_indexable(raw_buffer)(mixed,mixed,mixed,mixed) r35.xyzw, r31.w, u0.xyzw ld_raw r33.w, l(92), g0.xxxx dp3 r36.x, r33.xyzx, r33.xyzx add r36.y, r36.x, l(0.000000) rsq r36.y, r36.y mul r37.xyz, r33.xyzx, r36.yyyy add r38.xyz, r27.xyzx, -r35.xyzx mad r38.xyz, -r34.xyzx, r28.wwww, r38.xyzx dp3 r36.z, r38.xyzx, r37.xyzx mad r37.xyz, -r36.zzzz, r37.xyzx, r38.xyzx dp3 r36.z, r37.xyzx, r37.xyzx add r36.z, r36.z, l(0.000000) rsq r36.z, r36.z mul r33.w, -r33.w, r36.x mul r33.w, r36.y, r33.w mul r33.w, r28.w, r33.w mul r33.w, r36.z, r33.w max r33.w, r33.w, l(-1.000000) mad r35.xyz, -r37.xyzx, r33.wwww, r35.xyzx store_raw u0.xyzw, r31.w, r35.xyzw endif mad r35.xyz, r33.xyzx, r28.wwww, r27.xyzx dp3 r27.x, r33.xyzx, r33.xyzx ld_raw r27.y, l(88), g0.xxxx mad r27.x, r27.y, r27.x, l(1.000000) div r27.x, r27.w, r27.x movc r35.w, r20.y, r27.x, r27.w store_raw u0.xyzw, r23.w, r35.xyzw endif iadd r22.w, r22.w, l(1024) endloop endif ld_raw r19.w, l(80), g0.xxxx if_nz r19.w ld_raw r20.xy, l(88), g0.xyxx lt r20.xy, l(0.000000, 0.000000, 0.000000, 0.000000), r20.yxyy mov r20.zw, l(0,0,0,0) loop uge r21.x, r20.w, r19.w breakc_nz r21.x sync_g_t iadd r21.x, r5.x, r20.z ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r21.y, r20.w, l(0), t18.xxxx ishl r21.y, r21.y, l(2) iadd r20.z, r20.z, r21.y ld_raw r21.yz, l(96), g1.xxyx ld_raw r21.w, l(92), g0.xxxx lt r22.w, l(0.000000), r21.w ld_raw r27.xy, l(52), g0.xyxx mov r23.w, r21.x loop uge r27.z, r23.w, r20.z breakc_nz r27.z ushr r27.z, r23.w, l(1) ld_structured_indexable(structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r35.xyzw, r27.z, l(0), t19.xyzw and r27.z, r23.w, l(1) and r36.xyzw, r35.zwxy, l(0x0000ffff, 0x0000ffff, 0x0000ffff, 0x0000ffff) ushr r35.xyzw, r35.zxwy, l(16, 16, 16, 16) mov r37.xz, r36.xxyx mov r37.yw, r35.xxxz mov r35.xz, r36.zzwz movc r35.xyzw, r27.zzzz, r37.xyzw, r35.xyzw ld_structured_indexable(structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r36.xyzw, r35.w, l(0), t20.xyzw iadd r37.xyz, r0.yyyy, r35.xyzx ishl r37.xyz, r37.xyzx, l(4, 4, 4, 0) ld_raw_indexable(raw_buffer)(mixed,mixed,mixed,mixed) r38.xyz, r37.x, u0.xyzx ld_raw_indexable(raw_buffer)(mixed,mixed,mixed,mixed) r39.xyz, r37.y, u0.xyzx ld_raw_indexable(raw_buffer)(mixed,mixed,mixed,mixed) r40.xyz, r37.z, u0.xyzx mul r39.xyz, r36.yyyy, r39.xyzx mad r38.xyz, r38.xyzx, r36.xxxx, r39.xyzx mad r38.xyz, r40.xyzx, r36.zzzz, r38.xyzx mov r39.xyz, l(0,0,0,0) mov r40.xyzw, l(0,0,0,0) mov r27.z, l(0) loop uge r27.w, r27.z, r27.x breakc_nz r27.w iadd r27.w, r27.z, r27.y ld_structured_indexable(structured_buffer, stride=8)(mixed,mixed,mixed,mixed) r41.xy, r27.w, l(0), t6.xyxx iadd r41.xyzw, r21.yzyz, r41.xxyy ld_structured_indexable(structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r42.xyzw, r41.x, l(0), t7.xyzw ld_structured_indexable(structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r43.xyzw, r41.y, l(0), t7.xyzw add r44.xyzw, -r42.xyzw, r43.xyzw mad r44.xyzw, r19.yyyy, r44.xyzw, r42.xyzw ld_structured_indexable(structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r45.xyzw, r41.z, l(0), t7.xyzw ld_structured_indexable(structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r41.xyzw, r41.w, l(0), t7.xyzw add r46.xyzw, -r45.xyzw, r41.xyzw mad r46.xyzw, r19.yyyy, r46.xyzw, r45.xyzw max r44.w, r44.w, l(0.000000) max r46.w, r46.w, l(0.000000) add r47.xyzw, -r44.xyzw, r46.xyzw mul r48.xyzw, r47.xyzw, l(0.500000, 0.500000, 0.500000, 0.500000) dp3 r27.w, r48.xyzx, r48.xyzx mad r28.w, -r48.w, r48.w, r27.w ge r31.w, l(0.000000), r28.w if_nz r31.w iadd r31.w, r27.z, l(1) mov r27.z, r31.w continue endif rsq r31.w, r27.w rsq r28.w, r28.w mul r27.w, r27.w, r31.w add r47.xyz, r44.xyzx, r46.xyzx mad r33.w, r47.w, l(0.500000), r44.w mul r33.w, r28.w, r33.w mul r33.w, r27.w, r33.w mul r48.xyz, r31.wwww, r48.xyzx mul r28.w, r28.w, r48.w mad r47.xyz, -r47.xyzx, l(0.500000, 0.500000, 0.500000, 0.000000), r38.xyzx dp3 r35.w, r47.xyzx, r48.xyzx mad r33.w, r35.w, r28.w, r33.w max r33.w, r33.w, l(0.000000) dp3 r37.w, r47.xyzx, r47.xyzx mad r37.w, -r35.w, r35.w, r37.w mul r38.w, r33.w, r33.w lt r38.w, r38.w, r37.w if_nz r38.w iadd r38.w, r27.z, l(1) mov r27.z, r38.w continue endif mul r31.w, r31.w, r48.w mad r31.w, -r31.w, r31.w, l(1.000000) max r37.w, r37.w, l(0.000000) rsq r38.w, r37.w mul r28.w, r28.w, r37.w mad r28.w, r28.w, r38.w, r35.w lt r27.w, |r28.w|, r27.w mad r47.xyz, -r28.wwww, r48.xyzx, r47.xyzx mul r28.w, r33.w, r38.w mad r28.w, r28.w, r31.w, -r31.w mad r47.xyz, r47.xyzx, r28.wwww, r39.xyzx add r43.xyz, -r42.xyzx, r43.xyzx mad r42.xyz, r19.zzzz, r43.xyzx, r42.xyzx add r41.xyz, -r45.xyzx, r41.xyzx mad r41.xyz, r19.zzzz, r41.xyzx, r45.xyzx mad r28.w, r35.w, l(0.500000), l(0.500000) add r42.xyz, -r42.xyzx, r44.xyzx add r41.xyz, -r41.xyzx, r46.xyzx add r41.xyz, -r42.xyzx, r41.xyzx mad r41.xyz, r28.wwww, r41.xyzx, r42.xyzx add r41.xyz, r40.xyzx, r41.xyzx movc r41.xyz, r22.wwww, r41.xyzx, r40.xyzx iadd r41.w, r40.w, l(1) movc r39.xyz, r27.wwww, r47.xyzx, r39.xyzx movc r40.xyzw, r27.wwww, r41.xyzw, r40.xyzw iadd r27.z, r27.z, l(1) endloop ld_raw r27.z, l(60), g0.xxxx mov r41.xyz, r39.xyzx mov r42.xyzw, r40.xyzw mov r27.w, l(0) loop uge r28.w, r27.w, r27.z breakc_nz r28.w iadd r43.xy, r21.yzyy, r27.wwww ld_structured_indexable(structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r44.xyzw, r43.x, l(0), t7.xyzw ld_structured_indexable(structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r43.xyzw, r43.y, l(0), t7.xyzw add r43.xyzw, -r44.xyzw, r43.xyzw mad r45.xyzw, r19.yyyy, r43.xyzw, r44.xyzw max r28.w, r45.w, l(0.000000) add r46.xyz, r38.xyzx, -r45.xyzx dp3 r31.w, r46.xyzx, r46.xyzx add r31.w, r31.w, l(0.000000) rsq r31.w, r31.w mul r33.w, r28.w, r31.w lt r33.w, l(1.000000), r33.w mad r28.w, r31.w, r28.w, l(-1.000000) mad r46.xyz, r46.xyzx, r28.wwww, r41.xyzx mad r43.xyz, r19.zzzz, r43.xyzx, r44.xyzx add r43.xyz, -r43.xyzx, r45.xyzx add r43.xyz, r42.xyzx, r43.xyzx movc r43.xyz, r22.wwww, r43.xyzx, r42.xyzx iadd r43.w, r42.w, l(1) movc r41.xyz, r33.wwww, r46.xyzx, r41.xyzx movc r42.xyzw, r33.wwww, r43.xyzw, r42.xyzw iadd r27.w, r27.w, l(1) endloop if_nz r42.w utof r27.z, r42.w div r27.z, l(1.000000, 1.000000, 1.000000, 1.000000), r27.z ld_raw_indexable(raw_buffer)(mixed,mixed,mixed,mixed) r43.xyzw, r37.x, u0.xyzw ld_raw_indexable(raw_buffer)(mixed,mixed,mixed,mixed) r44.xyzw, r37.y, u0.xyzw ld_raw_indexable(raw_buffer)(mixed,mixed,mixed,mixed) r45.xyzw, r37.z, u0.xyzw mul r46.xyz, r27.zzzz, r41.xyzx ne r27.w, r43.w, l(0.000000) if_nz r27.w mad r43.xyz, r46.xyzx, r36.xxxx, r43.xyzx store_raw u0.xyzw, r37.x, r43.xyzw endif ne r27.w, r44.w, l(0.000000) if_nz r27.w mad r44.xyz, r46.xyzx, r36.yyyy, r44.xyzx store_raw u0.xyzw, r37.y, r44.xyzw endif ne r27.w, r45.w, l(0.000000) if_nz r27.w mad r45.xyz, r46.xyzx, r36.zzzz, r45.xyzx store_raw u0.xyzw, r37.z, r45.xyzw endif if_nz r20.x iadd r35.xyz, r0.xxxx, r35.xyzx ishl r35.xyz, r35.xyzx, l(4, 4, 4, 0) ld_raw_indexable(raw_buffer)(mixed,mixed,mixed,mixed) r43.xyz, r35.x, u0.xyzx ld_raw_indexable(raw_buffer)(mixed,mixed,mixed,mixed) r44.xyz, r35.y, u0.xyzx ld_raw_indexable(raw_buffer)(mixed,mixed,mixed,mixed) r45.xyz, r35.z, u0.xyzx mul r44.xyz, r36.yyyy, r44.xyzx mad r43.xyz, r43.xyzx, r36.xxxx, r44.xyzx mad r43.xyz, r45.xyzx, r36.zzzz, r43.xyzx ld_raw r27.w, l(92), g0.xxxx dp3 r28.w, r41.xyzx, r41.xyzx add r31.w, r28.w, l(0.000000) rsq r31.w, r31.w mul r44.xyz, r31.wwww, r41.xyzx add r38.xyz, r38.xyzx, -r43.xyzx mad r38.xyz, -r42.xyzx, r27.zzzz, r38.xyzx dp3 r33.w, r38.xyzx, r44.xyzx mad r38.xyz, -r33.wwww, r44.xyzx, r38.xyzx dp3 r33.w, r38.xyzx, r38.xyzx add r33.w, r33.w, l(0.000000) rsq r33.w, r33.w mul r27.w, -r27.w, r28.w mul r27.w, r31.w, r27.w mul r27.w, r27.z, r27.w mul r27.w, r33.w, r27.w max r27.w, r27.w, l(-1.000000) mul r38.xyz, r27.wwww, r38.xyzx ld_raw_indexable(raw_buffer)(mixed,mixed,mixed,mixed) r43.xyzw, r35.x, u0.xyzw ld_raw_indexable(raw_buffer)(mixed,mixed,mixed,mixed) r44.xyzw, r35.y, u0.xyzw ld_raw_indexable(raw_buffer)(mixed,mixed,mixed,mixed) r45.xyzw, r35.z, u0.xyzw mul r38.xyz, -r36.wwww, r38.xyzx ne r27.w, r43.w, l(0.000000) if_nz r27.w mad r43.xyz, r38.xyzx, r36.xxxx, r43.xyzx store_raw u0.xyzw, r35.x, r43.xyzw endif ne r27.w, r44.w, l(0.000000) if_nz r27.w mad r44.xyz, r38.xyzx, r36.yyyy, r44.xyzx store_raw u0.xyzw, r35.y, r44.xyzw endif ne r27.w, r45.w, l(0.000000) if_nz r27.w mad r45.xyz, r38.xyzx, r36.zzzz, r45.xyzx store_raw u0.xyzw, r35.z, r45.xyzw endif endif if_nz r20.y dp3 r27.w, r41.xyzx, r41.xyzx mul r27.z, r27.z, r27.z mul r27.z, r27.w, r27.z ld_raw r27.w, l(88), g0.xxxx mad r27.z, r27.w, r27.z, l(1.000000) div r27.z, l(1.000000, 1.000000, 1.000000, 1.000000), r27.z add r27.z, r27.z, l(-1.000000) ld_raw_indexable(raw_buffer)(mixed,mixed,mixed,mixed) r35.xyzw, r37.x, u0.xyzw ld_raw_indexable(raw_buffer)(mixed,mixed,mixed,mixed) r38.xyzw, r37.y, u0.xyzw ld_raw_indexable(raw_buffer)(mixed,mixed,mixed,mixed) r43.xyzw, r37.z, u0.xyzw mad r36.xyz, r36.xyzx, r27.zzzz, l(1.000000, 1.000000, 1.000000, 0.000000) mul r35.w, r35.w, r36.x mul r38.w, r36.y, r38.w mul r43.w, r36.z, r43.w store_raw u0.xyzw, r37.x, r35.xyzw store_raw u0.xyzw, r37.y, r38.xyzw store_raw u0.xyzw, r37.z, r43.xyzw endif endif iadd r23.w, r23.w, l(4096) endloop iadd r20.w, r20.w, l(1) endloop endif ld_raw r19.y, l(96), g0.xxxx ld_raw r19.z, l(120), g1.xxxx min r19.y, r19.z, r19.y lt r19.y, l(0.000000), r19.y if_nz r19.y ld_raw r19.y, l(100), g0.xxxx ld_raw r19.z, l(0), g0.xxxx if_nz r1.z ld_raw r20.xy, r4.w, g1.xyxx add r19.w, r20.y, r20.x mad r20.xy, r19.wwww, l(0.000100, 0.000100, 0.000000, 0.000000), r20.yxyy add r19.w, r20.x, r20.y store_structured g6.x, vThreadIDInGroup.x, l(0), r19.w else mov r20.x, l(0) mov r19.w, l(0) endif sync_g_t if_nz r1.z ld_structured r20.y, l(0), l(0), g6.xxxx ld_structured r20.z, l(1), l(0), g6.xxxx lt r20.y, r20.z, r20.y and r20.z, r20.y, l(1) ld_structured r20.z, r20.z, l(0), g6.xxxx ld_structured r20.w, l(2), l(0), g6.xxxx lt r20.z, r20.w, r20.z movc r20.y, r20.z, l(-2), r20.y iadd r20.y, r20.y, vThreadIDInGroup.x ushr r20.z, r20.y, l(30) iadd r20.y, r20.z, r20.y div r19.w, l(127.000000), r19.w ld_raw r20.z, l(96), g0.xxxx div r20.z, l(1.000000, 1.000000, 1.000000, 1.000000), r20.z min r19.w, r19.w, r20.z ishl r20.y, r20.y, l(2) iadd r20.zw, r20.yyyy, l(0, 0, 12, 24) store_raw g5.x, r20.z, r19.w mul r19.w, r20.x, r19.w store_raw g5.x, r20.y, r19.w store_raw g5.x, r20.w, vThreadIDInGroup.x endif sync_g_t ld_raw r19.w, l(112), g0.xxxx ishl r20.x, r19.y, l(1) iadd r19.w, r19.w, r20.x ld_raw r20.x, l(164), g1.xxxx if_nz r20.x mov r20.x, vThreadIDInGroup.x loop ige r20.y, r20.x, l(0x00004103) breakc_nz r20.y iadd r20.y, r19.w, r20.x store_structured u2.x, r20.y, l(0), l(-1) iadd r20.x, r20.x, l(1024) endloop endif ld_raw r20.xy, l(16), g5.xyxx ld_raw r20.zw, l(4), g5.xxxy ld_raw r21.xy, l(28), g5.xyxx ld_raw r21.z, l(104), g0.xxxx ine r21.w, r21.z, l(-1) ld_raw r22.w, l(112), g0.xxxx mov r23.w, vThreadIDInGroup.x loop ige r27.x, r23.w, r19.y breakc_nz r27.x iadd r27.x, r21.z, r23.w ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r27.x, r27.x, l(0), t15.xxxx movc r27.x, r21.w, r27.x, r23.w iadd r27.y, r0.y, r27.x ishl r27.y, r27.y, l(4) ld_raw_indexable(raw_buffer)(mixed,mixed,mixed,mixed) r35.xyzw, r27.y, u0.xyzw dp4 r27.y, r35.xyzw, icb[r21.x + 0].xyzw mad r27.y, r27.y, r20.x, r20.z min r27.y, r27.y, l(127.500000) max r27.y, r27.y, l(0.000000) dp4 r27.z, r35.xyzw, icb[r21.y + 0].xyzw mad r27.z, r27.z, r20.y, r20.w min r27.z, r27.z, l(127.500000) max r27.z, r27.z, l(0.000000) ftoi r27.yz, r27.yyzy iadd r27.w, r22.w, r23.w ishl r27.z, r27.z, l(23) imad r27.y, r27.y, l(0x00010000), r27.z iadd r27.y, r27.y, l(0x00810000) or r27.x, r27.x, r27.y store_structured u2.x, r27.w, l(0), r27.x iadd r23.w, r23.w, l(1024) endloop sync_g_t ld_raw r21.zw, l(108), g0.xxxy iadd r22.w, r19.y, r21.w mov r23.w, vThreadIDInGroup.x loop ige r27.x, r23.w, r19.z breakc_nz r27.x iadd r27.x, r21.z, r23.w iadd r27.y, r0.y, r23.w ishl r27.y, r27.y, l(4) ld_raw_indexable(raw_buffer)(mixed,mixed,mixed,mixed) r35.xyzw, r27.y, u0.xyzw store_structured u1.xyzw, r27.x, l(0), r35.xyzw iadd r23.w, r23.w, l(1024) endloop sync_g_t iadd r21.z, r19.y, l(31) ubfe r23.w, l(5), l(5), r21.z ushr r21.z, r21.z, l(10) ult r27.x, r4.y, r23.w and r27.y, r27.x, l(1) iadd r27.y, r21.z, r27.y movc r27.z, r27.x, l(0), l(1) imul null, r27.z, r23.w, r27.z imad r27.z, r4.y, r27.y, r27.z ishl r27.yw, r27.yyyz, l(0, 5, 0, 5) iadd r27.y, r27.y, r27.w umin r27.y, r19.y, r27.y bfi r27.z, l(27), l(5), r27.z, vThreadIDInGroup.x mov r27.w, l(16) mov r28.w, r21.w mov r31.w, r22.w loop uge r33.w, r27.w, l(32) breakc_nz r33.w mov r33.w, l(0) mov r35.x, l(0) mov r35.y, r27.z loop uge r35.z, r35.x, r21.z breakc_nz r35.z ult r35.z, r35.y, r27.y iadd r35.w, r28.w, r35.y ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r35.w, r35.w, l(0), u2.xxxx movc r35.z, r35.z, r35.w, l(-1) ushr r35.z, r35.z, r27.w and r36.xyzw, r35.zzzz, l(1, 2, 4, 8) ine r36.xyzw, r36.xyzw, l(0, 0, 0, 0) bfi r36.xyzw, l(1, 1, 1, 1), vThreadIDInGroup.xxxx, r36.xyzw, l(0, 0, 0, 0) store_structured g3.x, vThreadIDInGroup.x, l(0), r36.x store_structured g3.x, r12.x, l(0), r36.y store_structured g3.x, r12.y, l(0), r36.z store_structured g3.x, r12.z, l(0), r36.w sync_g_t if_nz r7.x ld_structured r36.x, vThreadIDInGroup.x, l(0), g3.xxxx ld_structured r36.y, r12.x, l(0), g3.xxxx ld_structured r36.z, r12.y, l(0), g3.xxxx ld_structured r36.w, r12.z, l(0), g3.xxxx ld_structured r37.x, r3.x, l(0), g3.xxxx ld_structured r37.y, r6.y, l(0), g3.xxxx ld_structured r37.z, r10.x, l(0), g3.xxxx ld_structured r37.w, r6.z, l(0), g3.xxxx or r36.xyzw, r36.xyzw, r37.xyzw store_structured g3.x, vThreadIDInGroup.x, l(0), r36.x store_structured g3.x, r12.x, l(0), r36.y store_structured g3.x, r12.y, l(0), r36.z store_structured g3.x, r12.z, l(0), r36.w endif sync_g_t if_nz r7.y ld_structured r36.x, vThreadIDInGroup.x, l(0), g3.xxxx ld_structured r36.y, r12.x, l(0), g3.xxxx ld_structured r36.z, r12.y, l(0), g3.xxxx ld_structured r36.w, r12.z, l(0), g3.xxxx ld_structured r37.x, r3.y, l(0), g3.xxxx ld_structured r37.y, r6.w, l(0), g3.xxxx ld_structured r37.z, r10.y, l(0), g3.xxxx ld_structured r37.w, r9.x, l(0), g3.xxxx or r36.xyzw, r36.xyzw, r37.xyzw store_structured g3.x, vThreadIDInGroup.x, l(0), r36.x store_structured g3.x, r12.x, l(0), r36.y store_structured g3.x, r12.y, l(0), r36.z store_structured g3.x, r12.z, l(0), r36.w endif sync_g_t if_nz r7.z ld_structured r36.x, vThreadIDInGroup.x, l(0), g3.xxxx ld_structured r36.y, r12.x, l(0), g3.xxxx ld_structured r36.z, r12.y, l(0), g3.xxxx ld_structured r36.w, r12.z, l(0), g3.xxxx ld_structured r37.x, r3.z, l(0), g3.xxxx ld_structured r37.y, r9.y, l(0), g3.xxxx ld_structured r37.z, r10.z, l(0), g3.xxxx ld_structured r37.w, r9.z, l(0), g3.xxxx or r36.xyzw, r36.xyzw, r37.xyzw store_structured g3.x, vThreadIDInGroup.x, l(0), r36.x store_structured g3.x, r12.x, l(0), r36.y store_structured g3.x, r12.y, l(0), r36.z store_structured g3.x, r12.z, l(0), r36.w endif sync_g_t if_nz r7.w ld_structured r36.x, vThreadIDInGroup.x, l(0), g3.xxxx ld_structured r36.y, r12.x, l(0), g3.xxxx ld_structured r36.z, r12.y, l(0), g3.xxxx ld_structured r36.w, r12.z, l(0), g3.xxxx ld_structured r37.x, r3.w, l(0), g3.xxxx ld_structured r37.y, r9.w, l(0), g3.xxxx ld_structured r37.z, r10.w, l(0), g3.xxxx ld_structured r37.w, r13.x, l(0), g3.xxxx or r36.xyzw, r36.xyzw, r37.xyzw store_structured g3.x, vThreadIDInGroup.x, l(0), r36.x store_structured g3.x, r12.x, l(0), r36.y store_structured g3.x, r12.y, l(0), r36.z store_structured g3.x, r12.z, l(0), r36.w endif sync_g_t if_nz r8.x ld_structured r36.x, vThreadIDInGroup.x, l(0), g3.xxxx ld_structured r36.y, r12.x, l(0), g3.xxxx ld_structured r36.z, r12.y, l(0), g3.xxxx ld_structured r36.w, r12.z, l(0), g3.xxxx ld_structured r37.x, r6.x, l(0), g3.xxxx ld_structured r37.y, r13.y, l(0), g3.xxxx ld_structured r37.z, r14.x, l(0), g3.xxxx ld_structured r37.w, r13.z, l(0), g3.xxxx or r36.xyzw, r36.xyzw, r37.xyzw store_structured g3.x, vThreadIDInGroup.x, l(0), r36.x store_structured g3.x, r12.x, l(0), r36.y store_structured g3.x, r12.y, l(0), r36.z store_structured g3.x, r12.z, l(0), r36.w endif sync_g_t ld_structured r35.z, r5.w, l(0), g3.xxxx ld_structured r35.w, r8.y, l(0), g3.xxxx ld_structured r36.x, r8.z, l(0), g3.xxxx ld_structured r36.y, r8.w, l(0), g3.xxxx xor r35.zw, r2.zzzw, r35.zzzw and r35.z, r35.w, r35.z xor r35.w, r5.y, r36.x and r35.z, r35.w, r35.z xor r35.w, r5.z, r36.y and r35.z, r35.w, r35.z countbits r35.z, r35.z iadd r33.w, r33.w, r35.z iadd r35.xy, r35.xyxx, l(1, 32, 0, 0) endloop if_nz r23.w iadd r35.x, r28.w, r35.y ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r35.x, r35.x, l(0), u2.xxxx if_nz r27.x ult r35.z, r35.y, r27.y movc r35.x, r35.z, r35.x, l(-1) ushr r35.x, r35.x, r27.w and r36.xyzw, r35.xxxx, l(1, 2, 4, 8) ine r36.xyzw, r36.xyzw, l(0, 0, 0, 0) bfi r36.xyzw, l(1, 1, 1, 1), vThreadIDInGroup.xxxx, r36.xyzw, l(0, 0, 0, 0) store_structured g3.x, vThreadIDInGroup.x, l(0), r36.x store_structured g3.x, r12.x, l(0), r36.y store_structured g3.x, r12.y, l(0), r36.z store_structured g3.x, r12.z, l(0), r36.w endif sync_g_t if_nz r27.x if_nz r7.x ld_structured r36.x, vThreadIDInGroup.x, l(0), g3.xxxx ld_structured r36.y, r12.x, l(0), g3.xxxx ld_structured r36.z, r12.y, l(0), g3.xxxx ld_structured r36.w, r12.z, l(0), g3.xxxx ld_structured r37.x, r3.x, l(0), g3.xxxx ld_structured r37.y, r6.y, l(0), g3.xxxx ld_structured r37.z, r10.x, l(0), g3.xxxx ld_structured r37.w, r6.z, l(0), g3.xxxx or r36.xyzw, r36.xyzw, r37.xyzw store_structured g3.x, vThreadIDInGroup.x, l(0), r36.x store_structured g3.x, r12.x, l(0), r36.y store_structured g3.x, r12.y, l(0), r36.z store_structured g3.x, r12.z, l(0), r36.w endif endif sync_g_t if_nz r27.x if_nz r7.y ld_structured r36.x, vThreadIDInGroup.x, l(0), g3.xxxx ld_structured r36.y, r12.x, l(0), g3.xxxx ld_structured r36.z, r12.y, l(0), g3.xxxx ld_structured r36.w, r12.z, l(0), g3.xxxx ld_structured r37.x, r3.y, l(0), g3.xxxx ld_structured r37.y, r6.w, l(0), g3.xxxx ld_structured r37.z, r10.y, l(0), g3.xxxx ld_structured r37.w, r9.x, l(0), g3.xxxx or r36.xyzw, r36.xyzw, r37.xyzw store_structured g3.x, vThreadIDInGroup.x, l(0), r36.x store_structured g3.x, r12.x, l(0), r36.y store_structured g3.x, r12.y, l(0), r36.z store_structured g3.x, r12.z, l(0), r36.w endif endif sync_g_t if_nz r27.x if_nz r7.z ld_structured r36.x, vThreadIDInGroup.x, l(0), g3.xxxx ld_structured r36.y, r12.x, l(0), g3.xxxx ld_structured r36.z, r12.y, l(0), g3.xxxx ld_structured r36.w, r12.z, l(0), g3.xxxx ld_structured r37.x, r3.z, l(0), g3.xxxx ld_structured r37.y, r9.y, l(0), g3.xxxx ld_structured r37.z, r10.z, l(0), g3.xxxx ld_structured r37.w, r9.z, l(0), g3.xxxx or r36.xyzw, r36.xyzw, r37.xyzw store_structured g3.x, vThreadIDInGroup.x, l(0), r36.x store_structured g3.x, r12.x, l(0), r36.y store_structured g3.x, r12.y, l(0), r36.z store_structured g3.x, r12.z, l(0), r36.w endif endif sync_g_t if_nz r27.x if_nz r7.w ld_structured r36.x, vThreadIDInGroup.x, l(0), g3.xxxx ld_structured r36.y, r12.x, l(0), g3.xxxx ld_structured r36.z, r12.y, l(0), g3.xxxx ld_structured r36.w, r12.z, l(0), g3.xxxx ld_structured r37.x, r3.w, l(0), g3.xxxx ld_structured r37.y, r9.w, l(0), g3.xxxx ld_structured r37.z, r10.w, l(0), g3.xxxx ld_structured r37.w, r13.x, l(0), g3.xxxx or r36.xyzw, r36.xyzw, r37.xyzw store_structured g3.x, vThreadIDInGroup.x, l(0), r36.x store_structured g3.x, r12.x, l(0), r36.y store_structured g3.x, r12.y, l(0), r36.z store_structured g3.x, r12.z, l(0), r36.w endif endif sync_g_t if_nz r27.x if_nz r8.x ld_structured r36.x, vThreadIDInGroup.x, l(0), g3.xxxx ld_structured r36.y, r12.x, l(0), g3.xxxx ld_structured r36.z, r12.y, l(0), g3.xxxx ld_structured r36.w, r12.z, l(0), g3.xxxx ld_structured r37.x, r6.x, l(0), g3.xxxx ld_structured r37.y, r13.y, l(0), g3.xxxx ld_structured r37.z, r14.x, l(0), g3.xxxx ld_structured r37.w, r13.z, l(0), g3.xxxx or r36.xyzw, r36.xyzw, r37.xyzw store_structured g3.x, vThreadIDInGroup.x, l(0), r36.x store_structured g3.x, r12.x, l(0), r36.y store_structured g3.x, r12.y, l(0), r36.z store_structured g3.x, r12.z, l(0), r36.w endif endif sync_g_t if_nz r27.x ld_structured r36.x, r5.w, l(0), g3.xxxx ld_structured r36.y, r8.y, l(0), g3.xxxx ld_structured r36.z, r8.z, l(0), g3.xxxx ld_structured r36.w, r8.w, l(0), g3.xxxx else mov r36.xyzw, l(0,0,0,0) endif xor r35.xz, r2.zzwz, r36.xxyx and r35.x, r35.z, r35.x xor r35.zw, r5.yyyz, r36.zzzw and r35.x, r35.z, r35.x and r35.x, r35.w, r35.x countbits r35.x, r35.x and r35.x, r27.x, r35.x iadd r33.w, r33.w, r35.x endif if_nz r7.x store_structured g3.x, r11.x, l(0), r33.w endif sync_g_t if_z vThreadIDInGroup.x store_structured g3.x, l(4096), l(0), l(0) store_structured g3.x, l(4609), l(0), l(0) endif if_nz r1.w if_nz r16.x ld_structured r35.x, r14.y, l(0), g3.xxxx ld_structured r35.z, r11.w, l(0), g3.xxxx iadd r35.x, r35.z, r35.x store_structured g3.x, r12.w, l(0), r35.x else ld_structured r35.x, l(4097), l(0), g3.xxxx store_structured g3.x, l(4610), l(0), r35.x endif endif sync_g_t if_nz r1.w if_nz r16.y ld_structured r35.x, r12.w, l(0), g3.xxxx ld_structured r35.z, r13.w, l(0), g3.xxxx iadd r35.x, r35.z, r35.x else ld_structured r35.x, r12.w, l(0), g3.xxxx endif store_structured g3.x, r15.x, l(0), r35.x endif sync_g_t if_nz r1.w if_nz r16.z ld_structured r35.x, r14.y, l(0), g3.xxxx ld_structured r35.z, r15.w, l(0), g3.xxxx iadd r35.x, r35.z, r35.x else ld_structured r35.x, r14.y, l(0), g3.xxxx endif store_structured g3.x, r15.z, l(0), r35.x endif sync_g_t if_nz r1.w if_nz r16.w ld_structured r35.x, r12.w, l(0), g3.xxxx ld_structured r35.z, r14.z, l(0), g3.xxxx iadd r35.x, r35.z, r35.x else ld_structured r35.x, r12.w, l(0), g3.xxxx endif store_structured g3.x, r15.x, l(0), r35.x endif sync_g_t if_nz r1.w if_nz r18.x ld_structured r35.x, r14.y, l(0), g3.xxxx ld_structured r35.z, r17.y, l(0), g3.xxxx iadd r35.x, r35.z, r35.x else ld_structured r35.x, r14.y, l(0), g3.xxxx endif store_structured g3.x, r15.z, l(0), r35.x endif sync_g_t if_nz r1.w if_nz r18.y ld_structured r35.x, r12.w, l(0), g3.xxxx ld_structured r35.z, r14.w, l(0), g3.xxxx iadd r35.x, r35.z, r35.x else ld_structured r35.x, r12.w, l(0), g3.xxxx endif store_structured g3.x, r15.x, l(0), r35.x endif sync_g_t if_nz r1.w if_nz r18.z ld_structured r35.x, r14.y, l(0), g3.xxxx ld_structured r35.z, r17.w, l(0), g3.xxxx iadd r35.x, r35.z, r35.x else ld_structured r35.x, r14.y, l(0), g3.xxxx endif store_structured g3.x, r15.z, l(0), r35.x endif sync_g_t if_nz r1.w if_nz r18.w ld_structured r35.x, r12.w, l(0), g3.xxxx ld_structured r35.z, r15.y, l(0), g3.xxxx iadd r35.x, r35.z, r35.x else ld_structured r35.x, r12.w, l(0), g3.xxxx endif store_structured g3.x, r15.x, l(0), r35.x endif sync_g_t if_nz r1.w if_nz r17.x ld_structured r35.x, r14.y, l(0), g3.xxxx ld_structured r35.z, r17.z, l(0), g3.xxxx iadd r35.x, r35.z, r35.x else ld_structured r35.x, r14.y, l(0), g3.xxxx endif store_structured g3.x, r15.z, l(0), r35.x endif sync_g_t mov r35.x, l(0) mov r35.z, r27.z loop uge r35.w, r35.x, r21.z breakc_nz r35.w ult r35.w, r35.z, r27.y iadd r36.x, r28.w, r35.z ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r36.x, r36.x, l(0), u2.xxxx movc r36.x, r35.w, r36.x, l(-1) ushr r36.y, r36.x, r27.w and r37.xyzw, r36.yyyy, l(1, 2, 4, 8) ine r38.xyzw, r37.xyzw, l(0, 0, 0, 0) bfi r43.xyzw, l(1, 1, 1, 1), vThreadIDInGroup.xxxx, r38.xyzw, l(0, 0, 0, 0) store_structured g3.x, vThreadIDInGroup.x, l(0), r43.x store_structured g3.x, r12.x, l(0), r43.y store_structured g3.x, r12.y, l(0), r43.z store_structured g3.x, r12.z, l(0), r43.w sync_g_t if_nz r7.x ld_structured r43.x, vThreadIDInGroup.x, l(0), g3.xxxx ld_structured r43.y, r12.x, l(0), g3.xxxx ld_structured r43.z, r12.y, l(0), g3.xxxx ld_structured r43.w, r12.z, l(0), g3.xxxx ld_structured r44.x, r3.x, l(0), g3.xxxx ld_structured r44.y, r6.y, l(0), g3.xxxx ld_structured r44.z, r10.x, l(0), g3.xxxx ld_structured r44.w, r6.z, l(0), g3.xxxx or r43.xyzw, r43.xyzw, r44.xyzw store_structured g3.x, vThreadIDInGroup.x, l(0), r43.x store_structured g3.x, r12.x, l(0), r43.y store_structured g3.x, r12.y, l(0), r43.z store_structured g3.x, r12.z, l(0), r43.w endif sync_g_t if_nz r7.y ld_structured r43.x, vThreadIDInGroup.x, l(0), g3.xxxx ld_structured r43.y, r12.x, l(0), g3.xxxx ld_structured r43.z, r12.y, l(0), g3.xxxx ld_structured r43.w, r12.z, l(0), g3.xxxx ld_structured r44.x, r3.y, l(0), g3.xxxx ld_structured r44.y, r6.w, l(0), g3.xxxx ld_structured r44.z, r10.y, l(0), g3.xxxx ld_structured r44.w, r9.x, l(0), g3.xxxx or r43.xyzw, r43.xyzw, r44.xyzw store_structured g3.x, vThreadIDInGroup.x, l(0), r43.x store_structured g3.x, r12.x, l(0), r43.y store_structured g3.x, r12.y, l(0), r43.z store_structured g3.x, r12.z, l(0), r43.w endif sync_g_t if_nz r7.z ld_structured r43.x, vThreadIDInGroup.x, l(0), g3.xxxx ld_structured r43.y, r12.x, l(0), g3.xxxx ld_structured r43.z, r12.y, l(0), g3.xxxx ld_structured r43.w, r12.z, l(0), g3.xxxx ld_structured r44.x, r3.z, l(0), g3.xxxx ld_structured r44.y, r9.y, l(0), g3.xxxx ld_structured r44.z, r10.z, l(0), g3.xxxx ld_structured r44.w, r9.z, l(0), g3.xxxx or r43.xyzw, r43.xyzw, r44.xyzw store_structured g3.x, vThreadIDInGroup.x, l(0), r43.x store_structured g3.x, r12.x, l(0), r43.y store_structured g3.x, r12.y, l(0), r43.z store_structured g3.x, r12.z, l(0), r43.w endif sync_g_t if_nz r7.w ld_structured r43.x, vThreadIDInGroup.x, l(0), g3.xxxx ld_structured r43.y, r12.x, l(0), g3.xxxx ld_structured r43.z, r12.y, l(0), g3.xxxx ld_structured r43.w, r12.z, l(0), g3.xxxx ld_structured r44.x, r3.w, l(0), g3.xxxx ld_structured r44.y, r9.w, l(0), g3.xxxx ld_structured r44.z, r10.w, l(0), g3.xxxx ld_structured r44.w, r13.x, l(0), g3.xxxx or r43.xyzw, r43.xyzw, r44.xyzw store_structured g3.x, vThreadIDInGroup.x, l(0), r43.x store_structured g3.x, r12.x, l(0), r43.y store_structured g3.x, r12.y, l(0), r43.z store_structured g3.x, r12.z, l(0), r43.w endif sync_g_t if_nz r8.x ld_structured r43.x, vThreadIDInGroup.x, l(0), g3.xxxx ld_structured r43.y, r12.x, l(0), g3.xxxx ld_structured r43.z, r12.y, l(0), g3.xxxx ld_structured r43.w, r12.z, l(0), g3.xxxx ld_structured r44.x, r6.x, l(0), g3.xxxx ld_structured r44.y, r13.y, l(0), g3.xxxx ld_structured r44.z, r14.x, l(0), g3.xxxx ld_structured r44.w, r13.z, l(0), g3.xxxx or r43.xyzw, r43.xyzw, r44.xyzw store_structured g3.x, vThreadIDInGroup.x, l(0), r43.x store_structured g3.x, r12.x, l(0), r43.y store_structured g3.x, r12.y, l(0), r43.z store_structured g3.x, r12.z, l(0), r43.w endif sync_g_t ld_structured r36.z, r5.w, l(0), g3.xxxx ld_structured r36.w, r8.y, l(0), g3.xxxx ld_structured r37.y, r8.z, l(0), g3.xxxx ld_structured r37.z, r8.w, l(0), g3.xxxx bfi r36.y, l(4), l(5), r36.y, l(0) iadd r36.y, r11.y, r36.y iadd r36.y, r36.y, l(4096) ld_structured r36.y, r36.y, l(0), g3.xxxx if_nz r35.w iadd r35.w, r37.x, l(-1) xor r35.w, r36.z, r35.w ieq r38.xyz, r38.yzwy, l(0, 0, 0, 0) xor r37.x, r36.w, r38.x and r35.w, r35.w, r37.x xor r37.x, r37.y, r38.y and r35.w, r35.w, r37.x xor r37.x, r37.z, r38.z and r35.w, r35.w, r37.x ubfe r35.w, vThreadIDInGroup.x, l(0), r35.w countbits r35.w, r35.w iadd r35.w, r35.w, r36.y iadd r35.w, r31.w, r35.w store_structured u2.x, r35.w, l(0), r36.x endif sync_g_t if_nz r7.x ld_structured r35.w, r11.z, l(0), g3.xxxx xor r36.xy, r2.zwzz, r36.zwzz and r36.x, r36.y, r36.x xor r36.y, r5.y, r37.y and r36.x, r36.y, r36.x xor r36.y, r5.z, r37.z and r36.x, r36.y, r36.x countbits r36.x, r36.x iadd r35.w, r35.w, r36.x store_structured g3.x, r11.z, l(0), r35.w endif iadd r35.xz, r35.xxzx, l(1, 0, 32, 0) endloop if_nz r23.w ult r35.x, r35.z, r27.y iadd r35.w, r28.w, r35.z ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r35.w, r35.w, l(0), u2.xxxx movc r35.w, r35.x, r35.w, l(-1) ushr r36.x, r35.w, r27.w if_nz r27.x and r37.xyzw, r36.xxxx, l(1, 2, 4, 8) ine r37.xyzw, r37.xyzw, l(0, 0, 0, 0) bfi r37.xyzw, l(1, 1, 1, 1), vThreadIDInGroup.xxxx, r37.xyzw, l(0, 0, 0, 0) store_structured g3.x, vThreadIDInGroup.x, l(0), r37.x store_structured g3.x, r12.x, l(0), r37.y store_structured g3.x, r12.y, l(0), r37.z store_structured g3.x, r12.z, l(0), r37.w endif sync_g_t if_nz r27.x if_nz r7.x ld_structured r37.x, vThreadIDInGroup.x, l(0), g3.xxxx ld_structured r37.y, r12.x, l(0), g3.xxxx ld_structured r37.z, r12.y, l(0), g3.xxxx ld_structured r37.w, r12.z, l(0), g3.xxxx ld_structured r38.x, r3.x, l(0), g3.xxxx ld_structured r38.y, r6.y, l(0), g3.xxxx ld_structured r38.z, r10.x, l(0), g3.xxxx ld_structured r38.w, r6.z, l(0), g3.xxxx or r37.xyzw, r37.xyzw, r38.xyzw store_structured g3.x, vThreadIDInGroup.x, l(0), r37.x store_structured g3.x, r12.x, l(0), r37.y store_structured g3.x, r12.y, l(0), r37.z store_structured g3.x, r12.z, l(0), r37.w endif endif sync_g_t if_nz r27.x if_nz r7.y ld_structured r37.x, vThreadIDInGroup.x, l(0), g3.xxxx ld_structured r37.y, r12.x, l(0), g3.xxxx ld_structured r37.z, r12.y, l(0), g3.xxxx ld_structured r37.w, r12.z, l(0), g3.xxxx ld_structured r38.x, r3.y, l(0), g3.xxxx ld_structured r38.y, r6.w, l(0), g3.xxxx ld_structured r38.z, r10.y, l(0), g3.xxxx ld_structured r38.w, r9.x, l(0), g3.xxxx or r37.xyzw, r37.xyzw, r38.xyzw store_structured g3.x, vThreadIDInGroup.x, l(0), r37.x store_structured g3.x, r12.x, l(0), r37.y store_structured g3.x, r12.y, l(0), r37.z store_structured g3.x, r12.z, l(0), r37.w endif endif sync_g_t if_nz r27.x if_nz r7.z ld_structured r37.x, vThreadIDInGroup.x, l(0), g3.xxxx ld_structured r37.y, r12.x, l(0), g3.xxxx ld_structured r37.z, r12.y, l(0), g3.xxxx ld_structured r37.w, r12.z, l(0), g3.xxxx ld_structured r38.x, r3.z, l(0), g3.xxxx ld_structured r38.y, r9.y, l(0), g3.xxxx ld_structured r38.z, r10.z, l(0), g3.xxxx ld_structured r38.w, r9.z, l(0), g3.xxxx or r37.xyzw, r37.xyzw, r38.xyzw store_structured g3.x, vThreadIDInGroup.x, l(0), r37.x store_structured g3.x, r12.x, l(0), r37.y store_structured g3.x, r12.y, l(0), r37.z store_structured g3.x, r12.z, l(0), r37.w endif endif sync_g_t if_nz r27.x if_nz r7.w ld_structured r37.x, vThreadIDInGroup.x, l(0), g3.xxxx ld_structured r37.y, r12.x, l(0), g3.xxxx ld_structured r37.z, r12.y, l(0), g3.xxxx ld_structured r37.w, r12.z, l(0), g3.xxxx ld_structured r38.x, r3.w, l(0), g3.xxxx ld_structured r38.y, r9.w, l(0), g3.xxxx ld_structured r38.z, r10.w, l(0), g3.xxxx ld_structured r38.w, r13.x, l(0), g3.xxxx or r37.xyzw, r37.xyzw, r38.xyzw store_structured g3.x, vThreadIDInGroup.x, l(0), r37.x store_structured g3.x, r12.x, l(0), r37.y store_structured g3.x, r12.y, l(0), r37.z store_structured g3.x, r12.z, l(0), r37.w endif endif sync_g_t if_nz r27.x if_nz r8.x ld_structured r37.x, vThreadIDInGroup.x, l(0), g3.xxxx ld_structured r37.y, r12.x, l(0), g3.xxxx ld_structured r37.z, r12.y, l(0), g3.xxxx ld_structured r37.w, r12.z, l(0), g3.xxxx ld_structured r38.x, r6.x, l(0), g3.xxxx ld_structured r38.y, r13.y, l(0), g3.xxxx ld_structured r38.z, r14.x, l(0), g3.xxxx ld_structured r38.w, r13.z, l(0), g3.xxxx or r37.xyzw, r37.xyzw, r38.xyzw store_structured g3.x, vThreadIDInGroup.x, l(0), r37.x store_structured g3.x, r12.x, l(0), r37.y store_structured g3.x, r12.y, l(0), r37.z store_structured g3.x, r12.z, l(0), r37.w endif endif sync_g_t if_nz r27.x ld_structured r37.x, r5.w, l(0), g3.xxxx ld_structured r37.y, r8.y, l(0), g3.xxxx ld_structured r37.z, r8.z, l(0), g3.xxxx ld_structured r37.w, r8.w, l(0), g3.xxxx and r38.xyzw, r36.xxxx, l(1, 2, 4, 8) iadd r36.y, r38.x, l(-1) xor r36.y, r37.x, r36.y ine r38.xyz, r38.yzwy, l(0, 0, 0, 0) ieq r38.xyz, r38.xyzx, l(0, 0, 0, 0) xor r38.xyz, r37.yzwy, r38.xyzx and r36.y, r36.y, r38.x and r36.y, r38.y, r36.y and r36.y, r38.z, r36.y bfi r36.x, l(4), l(5), r36.x, l(0) iadd r36.x, r11.y, r36.x iadd r36.x, r36.x, l(4096) ld_structured r36.x, r36.x, l(0), g3.xxxx ubfe r36.y, vThreadIDInGroup.x, l(0), r36.y countbits r36.y, r36.y iadd r36.x, r36.y, r36.x else mov r37.xyzw, l(0,0,0,0) mov r36.x, l(0) endif if_nz r35.x iadd r35.x, r31.w, r36.x store_structured u2.x, r35.x, l(0), r35.w endif sync_g_t if_nz r27.x if_nz r7.x ld_structured r35.x, r11.z, l(0), g3.xxxx xor r35.w, r2.z, r37.x xor r36.x, r2.w, r37.y and r35.w, r35.w, r36.x xor r36.xy, r5.yzyy, r37.zwzz and r35.w, r35.w, r36.x and r35.w, r36.y, r35.w countbits r35.w, r35.w iadd r35.x, r35.w, r35.x store_structured g3.x, r11.z, l(0), r35.x endif endif endif iadd r27.w, r27.w, l(4) mov r35.x, r31.w mov r31.w, r28.w mov r28.w, r35.x endloop mov r21.z, vThreadIDInGroup.x loop ige r22.w, r21.z, r19.y breakc_nz r22.w iadd r22.w, r21.z, r21.w ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r23.w, r22.w, l(0), u2.xxxx ishr r23.w, r23.w, l(16) iadd r22.w, r22.w, l(-1) ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r22.w, r22.w, l(0), u2.xxxx ishr r22.w, r22.w, l(16) iadd r27.x, r23.w, l(-1) movc r22.w, r21.z, r22.w, r27.x ine r27.x, r22.w, r23.w if_nz r27.x iadd r23.w, r19.w, r23.w store_structured u2.x, r23.w, l(0), r21.z iadd r22.w, r19.w, r22.w iadd r22.w, r22.w, l(1) store_structured u2.x, r22.w, l(0), r21.z endif iadd r21.z, r21.z, l(1024) endloop ld_raw r21.zw, l(108), g0.xxxy mov r22.w, vThreadIDInGroup.x loop ige r23.w, r22.w, r19.y breakc_nz r23.w iadd r23.w, r21.w, r22.w ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r23.w, r23.w, l(0), u2.xxxx and r23.w, r23.w, l(0x0000ffff) iadd r23.w, r21.z, r23.w ld_structured_indexable(structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r27.xyzw, r23.w, l(0), u1.xyzw iadd r23.w, r0.y, r22.w ishl r23.w, r23.w, l(4) store_raw u0.xyzw, r23.w, r27.xyzw iadd r22.w, r22.w, l(1024) endloop sync_g_t ld_raw r21.z, l(96), g0.xxxx mul r21.w, r21.z, r21.z ld_raw r22.w, l(112), g0.xxxx ld_raw r23.w, l(160), g1.xxxx mov r27.x, vThreadIDInGroup.x loop ige r27.y, r27.x, r19.y breakc_nz r27.y iadd r27.y, r22.w, r27.x ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r27.y, r27.y, l(0), u2.xxxx and r27.y, r27.y, l(0x0000ffff) iadd r27.z, r0.y, r27.x ishl r27.z, r27.z, l(4) ld_raw_indexable(raw_buffer)(mixed,mixed,mixed,mixed) r36.xyzw, r27.z, u0.xyzw iadd r27.z, r23.w, r27.y ld_structured_indexable(structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r37.xyz, r27.z, l(0), t14.xyzx dp4 r27.z, r36.xyzw, icb[r21.x + 0].xyzw mad r27.z, r27.z, r20.x, r20.z min r27.z, r27.z, l(127.500000) max r27.z, r27.z, l(0.000000) dp4 r27.w, r36.xyzw, icb[r21.y + 0].xyzw mad r27.w, r27.w, r20.y, r20.w min r27.w, r27.w, l(127.500000) max r27.w, r27.w, l(0.000000) ftoi r27.zw, r27.zzzw imad r27.z, r27.w, l(128), r27.z iadd r27.w, r27.z, l(256) add r28.w, r36.w, l(0.000000) mov r38.xyz, l(0,0,0,0) mov r31.w, l(0.000000) mov r35.x, r27.z loop ilt r35.w, r27.w, r35.x breakc_nz r35.w iadd r35.w, r19.w, r35.x ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r37.w, r35.w, l(0), u2.xxxx iadd r43.xyz, r35.wwww, l(1, 2, 3, 0) ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r35.w, r43.x, l(0), u2.xxxx ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r38.w, r43.y, l(0), u2.xxxx ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r39.w, r43.z, l(0), u2.xxxx umin r37.w, r35.w, r37.w umin r37.w, r38.w, r37.w imax r35.w, r35.w, r38.w imax r35.w, r39.w, r35.w imax r35.w, r35.w, l(0) mov r43.xyz, r38.xyzx mov r38.w, r31.w mov r39.w, r37.w loop uge r41.w, r39.w, r35.w breakc_nz r41.w ine r41.w, r27.x, r39.w if_nz r41.w iadd r41.w, r0.y, r39.w ishl r41.w, r41.w, l(4) ld_raw_indexable(raw_buffer)(mixed,mixed,mixed,mixed) r44.xyzw, r41.w, u0.xyzw add r44.xyz, r36.xyzx, -r44.xyzx dp3 r41.w, r44.xyzx, r44.xyzx lt r43.w, r21.w, r41.w if_nz r43.w iadd r43.w, r39.w, l(1) mov r39.w, r43.w continue endif ld_raw r43.w, l(160), g1.xxxx ine r45.x, r43.w, l(-1) if_nz r45.x ld_raw r45.x, l(112), g0.xxxx iadd r45.x, r39.w, r45.x ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r45.x, r45.x, l(0), u2.xxxx and r45.x, r45.x, l(0x0000ffff) iadd r43.w, r43.w, r45.x ld_structured_indexable(structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r45.xyz, r43.w, l(0), t14.xyzx add r45.xyz, r37.xyzx, -r45.xyzx dp3 r43.w, r45.xyzx, r45.xyzx ge r45.x, r21.w, r43.w if_nz r45.x iadd r45.x, r39.w, l(1) mov r39.w, r45.x continue endif add r43.w, r43.w, l(0.000000) div r43.w, r21.w, r43.w rsq r43.w, r43.w add r43.w, r43.w, l(-1.000000) min r43.w, r43.w, l(1.000000) else mov r43.w, l(1.000000) endif add r41.w, r41.w, l(0.000000) rsq r41.w, r41.w mad r41.w, r21.z, r41.w, l(-1.000000) max r41.w, r41.w, l(0.000000) mul r45.x, r41.w, r41.w mul r43.w, r43.w, r45.x add r44.w, r28.w, r44.w div r43.w, r43.w, r44.w mad r43.xyz, r43.wwww, r44.xyzx, r43.xyzx add r38.w, r38.w, r41.w endif iadd r39.w, r39.w, l(1) endloop mov r38.xyz, r43.xyzx mov r31.w, r38.w iadd r35.x, r35.x, l(128) endloop ld_raw r27.z, l(120), g1.xxxx mul r27.z, r36.w, r27.z div r27.z, r27.z, r31.w ld_raw r27.w, l(108), g0.xxxx iadd r27.y, r27.y, r27.w ld_structured_indexable(structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r36.xyz, r27.y, l(0), u1.xyzx mad r36.xyz, r38.xyzx, r27.zzzz, r36.xyzx store_structured u1.xyz, r27.y, l(0), r36.xyzx iadd r27.x, r27.x, l(1024) endloop sync_g_t ld_raw r20.x, l(108), g0.xxxx mov r20.y, vThreadIDInGroup.x loop ige r20.z, r20.y, r19.z breakc_nz r20.z iadd r20.z, r20.y, r20.x ld_structured_indexable(structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r21.xyzw, r20.z, l(0), u1.xyzw iadd r20.z, r0.y, r20.y ishl r20.z, r20.z, l(4) store_raw u0.xyzw, r20.z, r21.xyzw iadd r20.y, r20.y, l(1024) endloop ld_raw r19.z, l(112), g0.xxxx mov r20.x, vThreadIDInGroup.x loop ige r20.y, r20.x, r19.y breakc_nz r20.y iadd r20.y, r19.z, r20.x ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r20.y, r20.y, l(0), u2.xxxx ushr r20.y, r20.y, l(16) iadd r20.y, r19.w, r20.y store_structured u2.x, r20.y, l(0), l(-1) iadd r20.z, r20.y, l(1) store_structured u2.x, r20.z, l(0), l(-1) iadd r20.x, r20.x, l(1024) endloop endif if_z vThreadIDInGroup.x ld_raw r19.y, l(8), g1.xxxx mul r19.y, r19.y, l(1000.000000) ftou r19.y, r19.y umax r19.y, r19.y, l(1) ld_raw r19.z, l(152), g1.xxxx iadd r19.y, r19.y, r19.z store_raw g1.x, l(152), r19.y endif sync_g_t ld_raw r19.y, l(152), g1.xxxx ld_raw r19.z, l(116), g0.xxxx uge r19.y, r19.y, r19.z if_nz r19.y ld_raw r19.y, l(0), g0.xxxx mov r19.z, l(0) mov r19.w, vThreadIDInGroup.x loop uge r20.x, r19.w, r19.y breakc_nz r20.x iadd r20.x, r0.y, r19.w ishl r20.x, r20.x, l(4) ld_raw_indexable(raw_buffer)(mixed,mixed,mixed,mixed) r20.xyz, r20.x, u0.xyzx iadd r20.w, r0.x, r19.w ishl r20.w, r20.w, l(4) ld_raw_indexable(raw_buffer)(mixed,mixed,mixed,mixed) r21.xyz, r20.w, u0.xyzx add r20.xyz, r20.xyzx, -r21.xyzx max r20.x, |r20.y|, |r20.x| max r20.x, |r20.z|, r20.x max r19.z, r19.z, r20.x iadd r19.w, r19.w, l(1024) endloop if_z vThreadIDInGroup.x ld_raw r19.y, l(148), g1.xxxx iadd r19.y, r19.y, l(1) store_raw g1.x, l(148), r19.y ld_raw r19.y, l(116), g0.xxxx ld_raw r19.w, l(152), g1.xxxx iadd r19.y, -r19.y, r19.w store_raw g1.x, l(152), r19.y endif ld_raw r19.y, l(124), g0.xxxx ld_raw r19.w, l(8), g1.xxxx mul r19.y, r19.w, r19.y lt r19.y, r19.y, r19.z if_nz r19.y store_raw g1.x, l(148), l(0) endif endif iadd r19.x, r19.x, l(1) endloop sync_g_t endif if_z vThreadIDInGroup.x ld_raw r0.xyzw, l(0), g1.xyzw ld_raw r1.xyzw, l(16), g1.xyzw ld_raw r2.xyzw, l(32), g1.xyzw ld_raw r3.xyzw, l(48), g1.xyzw ld_raw r4.xyzw, l(64), g1.xyzw ld_raw r5.xyzw, l(80), g1.xyzw ld_raw r6.xyzw, l(96), g1.xyzw ld_raw r7.xyzw, l(112), g1.xyzw ld_raw r8.xyzw, l(128), g1.xyzw ld_raw r9.xyzw, l(144), g1.xyzw ld_raw r10.xy, l(160), g1.xyxx store_structured u3.xyzw, vThreadGroupID.x, l(0), r0.xyzw store_structured u3.xyzw, vThreadGroupID.x, l(16), r1.xyzw store_structured u3.xyzw, vThreadGroupID.x, l(32), r2.xyzw store_structured u3.xyzw, vThreadGroupID.x, l(48), r3.xyzw store_structured u3.xyzw, vThreadGroupID.x, l(64), r4.xyzw store_structured u3.xyzw, vThreadGroupID.x, l(80), r5.xyzw store_structured u3.xyzw, vThreadGroupID.x, l(96), r6.xyzw store_structured u3.xyzw, vThreadGroupID.x, l(112), r7.xyzw store_structured u3.xyzw, vThreadGroupID.x, l(128), r8.xyzw store_structured u3.xyzw, vThreadGroupID.x, l(144), r9.xyzw store_structured u3.xy, vThreadGroupID.x, l(160), r10.xyxx endif ret // Opaque Custom Data - XBOX Precompiled Shader Object // Offset:[35518], bundle is:[8948] DWORDS. // Disassembled Precompiled Shader Object: // Shader Type : (CS) // Shader Hw Stage : (CS) // HLSL Source Filename : D:\nx3\sw\devrel\libdev\NvCloth\trunk\NvCloth\src\dx\DxSolverKernel.hlsl // HLSL Entrypoint Name : main // __XBOX_SHADER_UNIQUE_HASH : 0x749d1e55 // Shader Semantic Hash : 0xd186de412819431a // // Shader Data: ; ----------------- CS Data ------------------------ codeLenInByte = 82928 bytes; ; launchModeFlags = 0x0000000E srdTableSupport = TRUE immediateSupportExt = TRUE srdTableSupportExt = TRUE userElementCount = 2; ; userElements[0] = PTR_INTERNAL_GLOBAL_TABLE, Element=1 dwords, s[0x0:1] ; userElements[1] = PTR_EXTENDED_USER_DATA, ReferencedExtUserElements=1, s[0x0:1] extUserElementCount = 24; ; extUserElements 1[0] = IMM_RESOURCE 0, offset 0x0:3 dwords ; extUserElements 1[1] = IMM_RESOURCE 2, offset 0x4:7 dwords ; extUserElements 1[2] = IMM_RESOURCE 3, offset 0x8:11 dwords ; extUserElements 1[3] = IMM_RESOURCE 4, offset 0xc:15 dwords ; extUserElements 1[4] = IMM_RESOURCE 5, offset 0x10:19 dwords ; extUserElements 1[5] = IMM_RESOURCE 6, offset 0x14:23 dwords ; extUserElements 1[6] = IMM_RESOURCE 7, offset 0x18:27 dwords ; extUserElements 1[7] = IMM_RESOURCE 8, offset 0x1c:31 dwords ; extUserElements 1[8] = IMM_RESOURCE 9, offset 0x20:35 dwords ; extUserElements 1[9] = IMM_RESOURCE 10, offset 0x24:39 dwords ; extUserElements 1[10] = IMM_RESOURCE 11, offset 0x28:43 dwords ; extUserElements 1[11] = IMM_RESOURCE 12, offset 0x2c:47 dwords ; extUserElements 1[12] = IMM_RESOURCE 13, offset 0x30:51 dwords ; extUserElements 1[13] = IMM_RESOURCE 14, offset 0x34:55 dwords ; extUserElements 1[14] = IMM_RESOURCE 15, offset 0x38:59 dwords ; extUserElements 1[15] = IMM_RESOURCE 16, offset 0x3c:63 dwords ; extUserElements 1[16] = IMM_RESOURCE 17, offset 0x40:67 dwords ; extUserElements 1[17] = IMM_RESOURCE 18, offset 0x44:71 dwords ; extUserElements 1[18] = IMM_RESOURCE 19, offset 0x48:75 dwords ; extUserElements 1[19] = IMM_RESOURCE 20, offset 0x4c:79 dwords ; extUserElements 1[20] = IMM_UAV 0, offset 0x50:83 dwords ; extUserElements 1[21] = IMM_UAV 1, offset 0x54:87 dwords ; extUserElements 1[22] = IMM_UAV 2, offset 0x58:91 dwords ; extUserElements 1[23] = IMM_UAV 3, offset 0x5c:95 dwords NumVgprs = 63; NumSgprs = 99; FloatMode = 192; IeeeMode = 0; FlatPtr32 = 0; ScratchSize = 20 dwords/thread; LDSByteSize = 32736 bytes/workgroup (compile time only); ScratchWaveOffsetReg = s96; ; uavResourceUsageCount = 4 ; texSamplerUsage = 0x00000000 ; constBufUsage = 0x00000000 ;COMPUTE_PGM_RSRC2 = 0x00200085 COMPUTE_PGM_RSRC2:SCRATCH_EN = 1 COMPUTE_PGM_RSRC2:USER_SGPR = 2 COMPUTE_PGM_RSRC2:TGID_X_EN = 1 COMPUTE_PGM_RSRC2:LDS_SIZE = 64 NumThreadX = 1024 NumThreadY = 1 NumThreadZ = 1 // Shader Instructions: shader main asic(CI) type(CS) s_load_dwordx4 s[4:7], s[0:1], 0x64 // 000000000000: C0820164 s_waitcnt lgkmcnt(0) // 000000000004: BF8C007F s_mov_b32 s92, s4 // 000000000008: BEDC0304 s_mov_b32 s93, s5 // 00000000000C: BEDD0305 s_mov_b32 s94, s6 // 000000000010: BEDE0306 s_mov_b32 s95, s7 // 000000000014: BEDF0307 s_mov_b32 s96, s3 // 000000000018: BEE00303 buffer_store_dword v0, v0, s[92:95], s3 offset:4 // 00000000001C: E0700004 03170000 s_mov_b32 m0, 0x00010000 // 000000000024: BEFC03FF 00010000 v_mul_u32_u24 v1, v0, 3 // 00000000002C: D2160001 00010700 buffer_store_dword v1, v0, s[92:95], s3 offset:52 // 000000000034: E0700034 03170100 v_cmp_eq_u32 vcc, 0, v0 // 00000000003C: 7D840080 s_and_saveexec_b64 s[4:5], vcc // wrscc // 000000000040: BE84246A s_cbranch_execz label_00B9 // 000000000044: BF8800A7 s_load_dwordx4 s[8:11], s[0:1], 0x5c // 000000000048: C084015C v_mov_b32 v2, s2 // 00000000004C: 7E040202 v_mov_b32 v3, s2 // 000000000050: 7E060202 s_waitcnt lgkmcnt(0) // 000000000054: BF8C007F buffer_load_dwordx4 v[4:7], v2, s[8:11], 0 idxen // 000000000058: E0382000 80020402 buffer_load_dwordx4 v[8:11], v3, s[8:11], 0 idxen offset:16 // 000000000060: E0382010 80020803 buffer_load_dwordx4 v[12:15], v2, s[8:11], 0 idxen offset:32 // 000000000068: E0382020 80020C02 buffer_load_dwordx4 v[16:19], v3, s[8:11], 0 idxen offset:48 // 000000000070: E0382030 80021003 buffer_load_dwordx4 v[20:23], v2, s[8:11], 0 idxen offset:64 // 000000000078: E0382040 80021402 buffer_load_dwordx4 v[24:27], v3, s[8:11], 0 idxen offset:80 // 000000000080: E0382050 80021803 buffer_load_dwordx4 v[28:31], v2, s[8:11], 0 idxen offset:96 // 000000000088: E0382060 80021C02 buffer_load_dwordx4 v[32:35], v3, s[8:11], 0 idxen offset:112 // 000000000090: E0382070 80022003 buffer_load_dwordx4 v[36:39], v2, s[8:11], 0 idxen offset:128 // 000000000098: E0382080 80022402 buffer_load_dwordx4 v[40:43], v3, s[8:11], 0 idxen offset:144 // 0000000000A0: E0382090 80022803 buffer_load_dwordx2 v[2:3], v2, s[8:11], 0 idxen offset:160 // 0000000000A8: E03420A0 80020202 s_load_dwordx4 s[8:11], s[0:1], 0x00 // 0000000000B0: C0840100 s_lshl_b32 s3, s2, 7 // wrscc // 0000000000B4: 8F038702 s_waitcnt lgkmcnt(0) // 0000000000B8: BF8C007F s_buffer_load_dwordx4 s[12:15], s[8:11], s3 // 0000000000BC: C2860803 s_add_i32 s6, s3, 16 // wrscc // 0000000000C0: 81069003 s_buffer_load_dwordx4 s[16:19], s[8:11], s6 // 0000000000C4: C2880806 s_add_i32 s6, s3, 32 // wrscc // 0000000000C8: 8106A003 s_buffer_load_dwordx4 s[20:23], s[8:11], s6 // 0000000000CC: C28A0806 v_mov_b32 v44, 0 // 0000000000D0: 7E580280 s_waitcnt lgkmcnt(0) // 0000000000D4: BF8C007F v_mov_b32 v45, s12 // 0000000000D8: 7E5A020C v_mov_b32 v46, s13 // 0000000000DC: 7E5C020D s_add_i32 s6, s3, 48 // wrscc // 0000000000E0: 8106B003 s_buffer_load_dwordx4 s[24:27], s[8:11], s6 // 0000000000E4: C28C0806 ds_write2_b32 v44, v45, v46 offset1:1 // 0000000000E8: D8380100 002E2D2C v_mov_b32 v45, s14 // 0000000000F0: 7E5A020E v_mov_b32 v46, s15 // 0000000000F4: 7E5C020F ds_write2_b32 v44, v45, v46 offset0:2 offset1:3 // 0000000000F8: D8380302 002E2D2C v_mov_b32 v45, s16 // 000000000100: 7E5A0210 v_mov_b32 v46, s17 // 000000000104: 7E5C0211 s_add_i32 s6, s3, 0x00000044 // wrscc // 000000000108: 8106FF03 00000044 s_buffer_load_dwordx4 s[12:15], s[8:11], s6 // 000000000110: C2860806 ds_write2_b32 v44, v45, v46 offset0:4 offset1:5 // 000000000114: D8380504 002E2D2C v_mov_b32 v45, s18 // 00000000011C: 7E5A0212 v_mov_b32 v46, s19 // 000000000120: 7E5C0213 ds_write2_b32 v44, v45, v46 offset0:6 offset1:7 // 000000000124: D8380706 002E2D2C v_mov_b32 v45, s20 // 00000000012C: 7E5A0214 v_mov_b32 v46, s21 // 000000000130: 7E5C0215 s_add_i32 s6, s3, 0x00000054 // wrscc // 000000000134: 8106FF03 00000054 s_buffer_load_dwordx4 s[16:19], s[8:11], s6 // 00000000013C: C2880806 ds_write2_b32 v44, v45, v46 offset0:8 offset1:9 // 000000000140: D8380908 002E2D2C v_mov_b32 v45, s22 // 000000000148: 7E5A0216 v_mov_b32 v46, s23 // 00000000014C: 7E5C0217 ds_write2_b32 v44, v45, v46 offset0:10 offset1:11 // 000000000150: D8380B0A 002E2D2C s_waitcnt lgkmcnt(0) // 000000000158: BF8C007F v_mov_b32 v45, s24 // 00000000015C: 7E5A0218 v_mov_b32 v46, s25 // 000000000160: 7E5C0219 s_add_i32 s6, s3, 0x00000064 // wrscc // 000000000164: 8106FF03 00000064 s_buffer_load_dwordx4 s[20:23], s[8:11], s6 // 00000000016C: C28A0806 ds_write2_b32 v44, v45, v46 offset0:12 offset1:13 // 000000000170: D8380D0C 002E2D2C v_mov_b32 v45, s26 // 000000000178: 7E5A021A v_mov_b32 v46, s27 // 00000000017C: 7E5C021B ds_write2_b32 v44, v45, v46 offset0:14 offset1:15 // 000000000180: D8380F0E 002E2D2C v_mov_b32 v45, s12 // 000000000188: 7E5A020C v_mov_b32 v46, s13 // 00000000018C: 7E5C020D s_add_i32 s6, s3, 0x00000074 // wrscc // 000000000190: 8106FF03 00000074 s_addk_i32 s3, 0x007c // wrscc // 000000000198: B783007C s_buffer_load_dword s6, s[8:11], s6 // 00000000019C: C2030806 s_buffer_load_dword s3, s[8:11], s3 // 0000000001A0: C2018803 ds_write2_b32 v44, v45, v46 offset0:17 offset1:18 // 0000000001A4: D8381211 002E2D2C v_mov_b32 v45, s14 // 0000000001AC: 7E5A020E v_mov_b32 v46, s15 // 0000000001B0: 7E5C020F ds_write2_b32 v44, v45, v46 offset0:19 offset1:20 // 0000000001B4: D8381413 002E2D2C v_mov_b32 v45, s16 // 0000000001BC: 7E5A0210 v_mov_b32 v46, s17 // 0000000001C0: 7E5C0211 ds_write2_b32 v44, v45, v46 offset0:21 offset1:22 // 0000000001C4: D8381615 002E2D2C v_mov_b32 v45, s18 // 0000000001CC: 7E5A0212 v_mov_b32 v46, s19 // 0000000001D0: 7E5C0213 ds_write2_b32 v44, v45, v46 offset0:23 offset1:24 // 0000000001D4: D8381817 002E2D2C s_waitcnt lgkmcnt(0) // 0000000001DC: BF8C007F v_mov_b32 v45, s20 // 0000000001E0: 7E5A0214 v_mov_b32 v46, s21 // 0000000001E4: 7E5C0215 ds_write2_b32 v44, v45, v46 offset0:25 offset1:26 // 0000000001E8: D8381A19 002E2D2C v_mov_b32 v45, s22 // 0000000001F0: 7E5A0216 v_mov_b32 v46, s23 // 0000000001F4: 7E5C0217 ds_write2_b32 v44, v45, v46 offset0:27 offset1:28 // 0000000001F8: D8381C1B 002E2D2C v_mov_b32 v45, s6 // 000000000200: 7E5A0206 v_mov_b32 v46, s3 // 000000000204: 7E5C0203 ds_write2_b32 v44, v45, v46 offset0:29 offset1:31 // 000000000208: D8381F1D 002E2D2C s_waitcnt vmcnt(10) // 000000000210: BF8C0F7A ds_write2_b32 v44, v4, v5 offset0:32 offset1:33 // 000000000214: D8382120 0005042C ds_write2_b32 v44, v6, v7 offset0:34 offset1:35 // 00000000021C: D8382322 0007062C s_waitcnt vmcnt(9) // 000000000224: BF8C0F79 ds_write2_b32 v44, v8, v9 offset0:36 offset1:37 // 000000000228: D8382524 0009082C ds_write2_b32 v44, v10, v11 offset0:38 offset1:39 // 000000000230: D8382726 000B0A2C s_waitcnt vmcnt(8) // 000000000238: BF8C0F78 ds_write2_b32 v44, v12, v13 offset0:40 offset1:41 // 00000000023C: D8382928 000D0C2C ds_write2_b32 v44, v14, v15 offset0:42 offset1:43 // 000000000244: D8382B2A 000F0E2C s_waitcnt vmcnt(7) // 00000000024C: BF8C0F77 ds_write2_b32 v44, v16, v17 offset0:44 offset1:45 // 000000000250: D8382D2C 0011102C ds_write2_b32 v44, v18, v19 offset0:46 offset1:47 // 000000000258: D8382F2E 0013122C s_waitcnt vmcnt(6) // 000000000260: BF8C0F76 ds_write2_b32 v44, v20, v21 offset0:48 offset1:49 // 000000000264: D8383130 0015142C ds_write2_b32 v44, v22, v23 offset0:50 offset1:51 // 00000000026C: D8383332 0017162C s_waitcnt vmcnt(5) // 000000000274: BF8C0F75 ds_write2_b32 v44, v24, v25 offset0:52 offset1:53 // 000000000278: D8383534 0019182C ds_write2_b32 v44, v26, v27 offset0:54 offset1:55 // 000000000280: D8383736 001B1A2C s_waitcnt vmcnt(4) // 000000000288: BF8C0F74 ds_write2_b32 v44, v28, v29 offset0:56 offset1:57 // 00000000028C: D8383938 001D1C2C ds_write2_b32 v44, v30, v31 offset0:58 offset1:59 // 000000000294: D8383B3A 001F1E2C s_waitcnt vmcnt(3) // 00000000029C: BF8C0F73 ds_write2_b32 v44, v32, v33 offset0:60 offset1:61 // 0000000002A0: D8383D3C 0021202C ds_write2_b32 v44, v34, v35 offset0:62 offset1:63 // 0000000002A8: D8383F3E 0023222C s_waitcnt vmcnt(2) // 0000000002B0: BF8C0F72 ds_write2_b32 v44, v36, v37 offset0:64 offset1:65 // 0000000002B4: D8384140 0025242C ds_write2_b32 v44, v38, v39 offset0:66 offset1:67 // 0000000002BC: D8384342 0027262C s_waitcnt vmcnt(1) // 0000000002C4: BF8C0F71 ds_write2_b32 v44, v40, v41 offset0:68 offset1:69 // 0000000002C8: D8384544 0029282C ds_write2_b32 v44, v42, v43 offset0:70 offset1:71 // 0000000002D0: D8384746 002B2A2C s_waitcnt vmcnt(0) // 0000000002D8: BF8C0F70 ds_write2_b32 v44, v2, v3 offset0:72 offset1:73 // 0000000002DC: D8384948 0003022C label_00B9: s_mov_b64 exec, s[4:5] // 0000000002E4: BEFE0404 s_waitcnt vmcnt(0) & lgkmcnt(0) // 0000000002E8: BF8C0070 s_barrier // 0000000002EC: BF8A0000 v_mov_b32 v2, 0 // 0000000002F0: 7E040280 ds_read2_b32 v[2:3], v2 offset1:1 // 0000000002F4: D8DC0100 02000002 s_waitcnt lgkmcnt(0) // 0000000002FC: BF8C007F v_add_i32 v3, vcc, v2, v3 // 000000000300: 4A060702 buffer_store_dword v3, v0, s[92:95], s96 // 000000000304: E0700000 60170300 s_getpc_b64 s[4:5] // 00000000030C: BE841F00 s_mov_b32 s6, 0x0001409c // 000000000310: BE8603FF 0001409C s_mov_b32 s7, 0x00100000 // 000000000318: BE8703FF 00100000 s_add_u32 s4, s4, s6 // wrscc // 000000000320: 80040604 s_addc_u32 s5, s5, s7 // wrscc // 000000000324: 82050705 v_lshlrev_b32 v4, 3, v0 // 000000000328: 34080083 buffer_store_dword v4, v0, s[92:95], s96 offset:56 // 00000000032C: E0700038 60170400 v_lshlrev_b32 v5, 2, v0 // 000000000334: 340A0082 buffer_store_dword v5, v0, s[92:95], s96 offset:60 // 000000000338: E070003C 60170500 s_movk_i32 s6, 0x0004 // 000000000340: B0060004 s_mov_b32 s7, 0x00024fac // 000000000344: BE8703FF 00024FAC v_mov_b32 v6, 0x000007b1 // 00000000034C: 7E0C02FF 000007B1 v_cmp_le_u32 vcc, v2, v6 // 000000000354: 7D860D02 s_cbranch_vccz label_294D // 000000000358: BF862876 v_mov_b32 v6, 0 // 00000000035C: 7E0C0280 ds_read_b32 v6, v6 offset:4 // 000000000360: D8D80004 06000006 s_mov_b64 s[8:9], exec // 000000000368: BE88047E s_mov_b64 s[10:11], exec // 00000000036C: BE8A047E v_mov_b32 v7, v0 // 000000000370: 7E0E0300 label_00DD: v_cmp_ge_u32 s[12:13], v7, v2 // 000000000374: D18C000C 00020507 s_load_dwordx4 s[16:19], s[0:1], 0x50 // 00000000037C: C0880150 s_and_saveexec_b64 s[12:13], s[12:13] // wrscc // 000000000380: BE8C240C s_andn2_b64 s[10:11], s[10:11], exec // wrscc // 000000000384: 8A8A7E0A s_cbranch_scc0 label_00F6 // 000000000388: BF840013 s_and_b64 exec, s[12:13], s[10:11] // wrscc // 00000000038C: 87FE0A0C s_waitcnt lgkmcnt(0) // 000000000390: BF8C007F v_add_i32 v8, vcc, v6, v7 // 000000000394: 4A100F06 v_lshlrev_b32 v8, 4, v8 // 000000000398: 34101084 v_lshlrev_b32 v9, 2, v7 // 00000000039C: 34120E82 v_add_i32 v7, vcc, 0x00000400, v7 // 0000000003A0: 4A0E0EFF 00000400 buffer_load_dwordx4 v[10:13], v8, s[16:19], 0 offen // 0000000003A8: E0381000 80040A08 s_waitcnt vmcnt(0) // 0000000003B0: BF8C0F70 ds_write_b32 v9, v10 offset:408 // 0000000003B4: D8340198 00000A09 ds_write_b32 v9, v11 offset:8284 // 0000000003BC: D834205C 00000B09 ds_write_b32 v9, v12 offset:16160 // 0000000003C4: D8343F20 00000C09 ds_write_b32 v9, v13 offset:24036 // 0000000003CC: D8345DE4 00000D09 s_branch label_00DD // 0000000003D4: BF82FFE7 label_00F6: s_mov_b64 exec, s[8:9] // 0000000003D8: BEFE0408 s_movk_i32 s3, 0x00c0 // 0000000003DC: B00300C0 v_cmp_lt_u32 s[8:9], v0, s3 // 0000000003E0: D1820008 00000700 v_and_b32 v2, 31, v0 // 0000000003E8: 3604009F buffer_store_dword v2, v0, s[92:95], s96 offset:32 // 0000000003EC: E0700020 60170200 v_cmp_eq_i32 vcc, 0, v2 // 0000000003F4: 7D040480 s_and_b64 s[10:11], s[8:9], vcc // wrscc // 0000000003F8: 878A6A08 s_waitcnt lgkmcnt(0) // 0000000003FC: BF8C007F v_lshrrev_b32 v6, 5, v0 // 000000000400: 2C0C0085 buffer_store_dword v6, v0, s[92:95], s96 offset:44 // 000000000404: E070002C 60170600 v_lshlrev_b32 v7, 5, v0 // 00000000040C: 340E0085 s_movk_i32 s3, 0x03e0 // 000000000410: B00303E0 v_bfi_b32 v7, s3, v7, 0 // 000000000414: D2940007 02020E03 v_add_i32 v7, vcc, v6, v7 // 00000000041C: 4A0E0F06 buffer_store_dword v7, v0, s[92:95], s96 offset:40 // 000000000420: E0700028 60170700 s_load_dwordx4 s[12:15], s[0:1], 0x04 // 000000000428: C0860104 s_load_dwordx4 s[20:23], s[0:1], 0x24 // 00000000042C: C08A0124 s_load_dwordx8 s[24:31], s[0:1], 0x14 // 000000000430: C0CC0114 s_load_dwordx4 s[32:35], s[0:1], 0x58 // 000000000434: C0900158 s_mov_b64 s[36:37], exec // 000000000438: BEA4047E s_mov_b64 s[38:39], exec // 00000000043C: BEA6047E v_mov_b32 v8, 0 // 000000000440: 7E100280 v_mov_b32 v62, v0 // 000000000444: 7E7C0300 v_mov_b32 v0, v1 // 000000000448: 7E000301 v_mov_b32 v1, v4 // 00000000044C: 7E020304 v_mov_b32 v4, v5 // 000000000450: 7E080305 v_mov_b32 v5, v6 // 000000000454: 7E0A0306 v_mov_b32 v6, v3 // 000000000458: 7E0C0303 v_mov_b32 v3, v7 // 00000000045C: 7E060307 v_mov_b32 v7, v62 // 000000000460: 7E0E033E label_0119: buffer_store_dword v8, v0, s[92:95], s96 offset:36 // 000000000464: E0700024 60170800 v_mov_b32 v9, 0 // 00000000046C: 7E120280 ds_read_b32 v9, v9 offset:144 // 000000000470: D8D80090 09000009 s_waitcnt lgkmcnt(0) // 000000000478: BF8C007F v_cmp_ge_u32 vcc, v8, v9 // 00000000047C: 7D8C1308 s_and_saveexec_b64 s[40:41], vcc // wrscc // 000000000480: BEA8246A s_andn2_b64 s[38:39], s[38:39], exec // wrscc // 000000000484: 8AA67E26 s_cbranch_scc0 label_292C // 000000000488: BF842809 s_and_b64 exec, s[40:41], s[38:39] // wrscc // 00000000048C: 87FE2628 v_cvt_f32_u32 v10, v8 // 000000000490: 7E140D08 v_cvt_f32_u32 v9, v9 // 000000000494: 7E120D09 v_rcp_f32 v9, v9 // 000000000498: 7E125509 v_add_f32 v11, 1.0, v10 // 00000000049C: 061614F2 v_mul_f32 v9, v11, v9 // 0000000004A0: 1012130B buffer_store_dword v9, v0, s[92:95], s96 offset:48 // 0000000004A4: E0700030 60170900 v_cmp_eq_u32 vcc, 0, v7 // 0000000004AC: 7D840E80 s_and_saveexec_b64 s[40:41], vcc // wrscc // 0000000004B0: BEA8246A v_mov_b32 v11, 0 // 0000000004B4: 7E160280 s_cbranch_execz label_0164 // 0000000004B8: BF880035 ds_read_b32 v12, v11 offset:140 // 0000000004BC: D8D8008C 0C00000B s_waitcnt lgkmcnt(0) // 0000000004C4: BF8C007F v_add_i32 v12, vcc, v8, v12 // 0000000004C8: 4A181908 tbuffer_load_format_xyzw v[13:16], v12, s[12:15], 0 idxen format:[BUF_DATA_FORMAT_32_32_32_32,BUF_NUM_FORMAT_FLOAT] // 0000000004CC: EBF32000 80030D0C tbuffer_load_format_xyzw v[17:20], v12, s[12:15], 0 idxen offset:16 format:[BUF_DATA_FORMAT_32_32_32_32,BUF_NUM_FORMAT_FLOAT] // 0000000004D4: EBF32010 8003110C tbuffer_load_format_xyzw v[21:24], v12, s[12:15], 0 idxen offset:32 format:[BUF_DATA_FORMAT_32_32_32_32,BUF_NUM_FORMAT_FLOAT] // 0000000004DC: EBF32020 8003150C tbuffer_load_format_xyzw v[25:28], v12, s[12:15], 0 idxen offset:48 format:[BUF_DATA_FORMAT_32_32_32_32,BUF_NUM_FORMAT_FLOAT] // 0000000004E4: EBF32030 8003190C tbuffer_load_format_xyzw v[29:32], v12, s[12:15], 0 idxen offset:64 format:[BUF_DATA_FORMAT_32_32_32_32,BUF_NUM_FORMAT_FLOAT] // 0000000004EC: EBF32040 80031D0C tbuffer_load_format_xyzw v[33:36], v12, s[12:15], 0 idxen offset:80 format:[BUF_DATA_FORMAT_32_32_32_32,BUF_NUM_FORMAT_FLOAT] // 0000000004F4: EBF32050 8003210C tbuffer_load_format_xyzw v[37:40], v12, s[12:15], 0 idxen offset:96 format:[BUF_DATA_FORMAT_32_32_32_32,BUF_NUM_FORMAT_FLOAT] // 0000000004FC: EBF32060 8003250C s_waitcnt vmcnt(6) // 000000000504: BF8C0F76 ds_write2_b32 v11, v13, v14 offset0:74 offset1:75 // 000000000508: D8384B4A 000E0D0B ds_write2_b32 v11, v15, v16 offset0:76 offset1:77 // 000000000510: D8384D4C 00100F0B s_waitcnt vmcnt(5) // 000000000518: BF8C0F75 ds_write2_b32 v11, v17, v18 offset0:78 offset1:79 // 00000000051C: D8384F4E 0012110B ds_write2_b32 v11, v19, v20 offset0:80 offset1:81 // 000000000524: D8385150 0014130B s_waitcnt vmcnt(4) // 00000000052C: BF8C0F74 ds_write2_b32 v11, v21, v22 offset0:82 offset1:83 // 000000000530: D8385352 0016150B ds_write2_b32 v11, v23, v24 offset0:84 offset1:85 // 000000000538: D8385554 0018170B s_waitcnt vmcnt(3) // 000000000540: BF8C0F73 ds_write2_b32 v11, v25, v26 offset0:86 offset1:87 // 000000000544: D8385756 001A190B ds_write2_b32 v11, v27, v28 offset0:88 offset1:89 // 00000000054C: D8385958 001C1B0B s_waitcnt vmcnt(2) // 000000000554: BF8C0F72 ds_write2_b32 v11, v29, v30 offset0:90 offset1:91 // 000000000558: D8385B5A 001E1D0B ds_write2_b32 v11, v31, v32 offset0:92 offset1:93 // 000000000560: D8385D5C 00201F0B s_waitcnt vmcnt(1) // 000000000568: BF8C0F71 ds_write2_b32 v11, v33, v34 offset0:94 offset1:95 // 00000000056C: D8385F5E 0022210B ds_write2_b32 v11, v35, v36 offset0:96 offset1:97 // 000000000574: D8386160 0024230B s_waitcnt vmcnt(0) // 00000000057C: BF8C0F70 ds_write2_b32 v11, v37, v38 offset0:98 offset1:99 // 000000000580: D8386362 0026250B ds_write2_b32 v11, v39, v40 offset0:100 offset1:101 // 000000000588: D8386564 0028270B label_0164: s_mov_b64 exec, s[40:41] // 000000000590: BEFE0428 s_waitcnt vmcnt(0) & lgkmcnt(0) // 000000000594: BF8C0070 s_barrier // 000000000598: BF8A0000 v_mov_b32 v11, 0 // 00000000059C: 7E160280 ds_read2_b32 v[12:13], v11 offset1:101 // 0000000005A0: D8DC6500 0C00000B ds_read2_b32 v[14:15], v11 offset0:77 offset1:78 // 0000000005A8: D8DC4E4D 0E00000B ds_read2_b32 v[16:17], v11 offset0:79 offset1:89 // 0000000005B0: D8DC594F 1000000B ds_read2_b32 v[18:19], v11 offset0:90 offset1:91 // 0000000005B8: D8DC5B5A 1200000B ds_read2_b32 v[20:21], v11 offset0:92 offset1:80 // 0000000005C0: D8DC505C 1400000B ds_read2_b32 v[22:23], v11 offset0:81 offset1:82 // 0000000005C8: D8DC5251 1600000B ds_read2_b32 v[24:25], v11 offset0:83 offset1:93 // 0000000005D0: D8DC5D53 1800000B ds_read2_b32 v[26:27], v11 offset0:94 offset1:95 // 0000000005D8: D8DC5F5E 1A00000B ds_read2_b32 v[28:29], v11 offset0:96 offset1:84 // 0000000005E0: D8DC5460 1C00000B ds_read2_b32 v[30:31], v11 offset0:85 offset1:86 // 0000000005E8: D8DC5655 1E00000B ds_read2_b32 v[32:33], v11 offset0:87 offset1:97 // 0000000005F0: D8DC6157 2000000B ds_read2_b32 v[34:35], v11 offset0:88 offset1:80 // 0000000005F8: D8DC5058 2200000B ds_read2_b32 v[36:37], v11 offset0:83 offset1:86 // 000000000600: D8DC5653 2400000B s_mov_b64 s[40:41], exec // 000000000608: BEA8047E v_mov_b32 v11, v7 // 00000000060C: 7E160307 s_nop 0x0000 // 000000000610: BF800000 s_nop 0x0000 // 000000000614: BF800000 label_0186: s_waitcnt lgkmcnt(12) // 000000000618: BF8C0C7F v_cmp_ge_u32 vcc, v11, v12 // 00000000061C: 7D8C190B s_andn2_b64 exec, exec, vcc // wrscc // 000000000620: 8AFE6A7E s_cbranch_execz label_01FA // 000000000624: BF880070 v_add_i32 v38, vcc, v6, v11 // 000000000628: 4A4C1706 v_lshlrev_b32 v38, 4, v38 // 00000000062C: 344C4C84 buffer_load_dwordx4 v[39:42], v38, s[16:19], 0 offen // 000000000630: E0381000 80042726 v_lshlrev_b32 v43, 2, v11 // 000000000638: 34561682 ds_read_b32 v44, v43 offset:24036 // 00000000063C: D8D85DE4 2C00002B ds_read_b32 v45, v43 offset:408 // 000000000644: D8D80198 2D00002B ds_read_b32 v46, v43 offset:8284 // 00000000064C: D8D8205C 2E00002B ds_read_b32 v47, v43 offset:16160 // 000000000654: D8D83F20 2F00002B s_waitcnt lgkmcnt(3) // 00000000065C: BF8C037F v_cmp_eq_f32 s[42:43], v44, 0 // 000000000660: D004002A 0001012C v_add_i32 v11, vcc, 0x00000400, v11 // 000000000668: 4A1616FF 00000400 s_waitcnt vmcnt(0) // 000000000670: BF8C0F70 v_cndmask_b32 v42, v44, v42, s[42:43] // 000000000674: D200002A 00AA552C v_cmp_lt_f32 vcc, 0, v42 // 00000000067C: 7C025480 s_and_saveexec_b64 s[42:43], vcc // wrscc // 000000000680: BEAA246A v_cmp_ne_u32 vcc, 0, v13 // 000000000684: 7D8A1A80 s_cbranch_execz label_01E6 // 000000000688: BF880043 s_and_saveexec_b64 s[44:45], vcc // wrscc // 00000000068C: BEAC246A s_waitcnt lgkmcnt(2) // 000000000690: BF8C027F v_add_f32 v44, v14, v45 // 000000000694: 06585B0E s_cbranch_execz label_01C0 // 000000000698: BF880019 s_waitcnt lgkmcnt(1) // 00000000069C: BF8C017F v_add_f32 v48, v15, v46 // 0000000006A0: 06605D0F v_mac_f32 v44, v45, v17 // 0000000006A4: 3E58232D v_mac_f32 v48, v45, v20 // 0000000006A8: 3E60292D v_mac_f32 v44, v39, v21 // 0000000006AC: 3E582B27 v_mac_f32 v48, v39, v24 // 0000000006B0: 3E603127 v_mac_f32 v44, v46, v18 // 0000000006B4: 3E58252E v_mac_f32 v44, v40, v22 // 0000000006B8: 3E582D28 s_waitcnt lgkmcnt(0) // 0000000006BC: BF8C007F v_mac_f32 v44, v47, v19 // 0000000006C0: 3E58272F v_mac_f32 v44, v41, v23 // 0000000006C4: 3E582F29 v_mac_f32 v48, v46, v25 // 0000000006C8: 3E60332E v_mac_f32 v48, v40, v29 // 0000000006CC: 3E603B28 v_mac_f32 v48, v47, v26 // 0000000006D0: 3E60352F v_mac_f32 v48, v41, v30 // 0000000006D4: 3E603D29 v_add_f32 v49, v16, v47 // 0000000006D8: 06625F10 v_mac_f32 v49, v45, v27 // 0000000006DC: 3E62372D v_mac_f32 v49, v39, v31 // 0000000006E0: 3E623F27 v_mac_f32 v49, v46, v28 // 0000000006E4: 3E62392E v_mac_f32 v49, v40, v32 // 0000000006E8: 3E624128 v_mac_f32 v49, v47, v33 // 0000000006EC: 3E62432F v_mad_f32 v39, v41, v34, v49 // 0000000006F0: D2820027 04C64529 v_mov_b32 v40, v44 // 0000000006F8: 7E50032C v_mov_b32 v41, v48 // 0000000006FC: 7E520330 label_01C0: s_andn2_b64 exec, s[44:45], exec // wrscc // 000000000700: 8AFE7E2C v_sub_f32 v39, v45, v39 // 000000000704: 084E4F2D s_cbranch_execz label_01D4 // 000000000708: BF880011 s_waitcnt lgkmcnt(1) // 00000000070C: BF8C017F v_sub_f32 v40, v46, v40 // 000000000710: 0850512E v_mad_f32 v39, v39, v35, v14 // 000000000714: D2820027 043A4727 v_add_f32 v39, v45, v39 // 00000000071C: 064E4F2D v_mad_f32 v40, v40, v36, v15 // 000000000720: D2820028 043E4928 v_add_f32 v40, v46, v40 // 000000000728: 0650512E s_waitcnt lgkmcnt(0) // 00000000072C: BF8C007F v_sub_f32 v41, v47, v41 // 000000000730: 0852532F v_mad_f32 v41, v41, v37, v16 // 000000000734: D2820029 04424B29 v_add_f32 v41, v47, v41 // 00000000073C: 0652532F v_mov_b32 v62, v41 // 000000000740: 7E7C0329 v_mov_b32 v41, v40 // 000000000744: 7E520328 v_mov_b32 v40, v39 // 000000000748: 7E500327 v_mov_b32 v39, v62 // 00000000074C: 7E4E033E label_01D4: s_mov_b64 exec, s[44:45] // 000000000750: BEFE042C v_mov_b32 v44, 0 // 000000000754: 7E580280 ds_read2_b32 v[48:49], v44 offset0:74 offset1:75 // 000000000758: D8DC4B4A 3000002C ds_read_b32 v44, v44 offset:304 // 000000000760: D8D80130 2C00002C s_waitcnt lgkmcnt(1) // 000000000768: BF8C017F v_add_f32 v45, v45, v48 // 00000000076C: 065A612D v_add_f32 v46, v46, v49 // 000000000770: 065C632E s_waitcnt lgkmcnt(0) // 000000000774: BF8C007F v_add_f32 v44, v47, v44 // 000000000778: 0658592F v_mov_b32 v62, v45 // 00000000077C: 7E7C032D v_mov_b32 v45, v40 // 000000000780: 7E5A0328 v_mov_b32 v40, v46 // 000000000784: 7E50032E v_mov_b32 v46, v41 // 000000000788: 7E5C0329 v_mov_b32 v41, v44 // 00000000078C: 7E52032C v_mov_b32 v44, v39 // 000000000790: 7E580327 v_mov_b32 v39, v62 // 000000000794: 7E4E033E label_01E6: s_andn2_b64 exec, s[42:43], exec // wrscc // 000000000798: 8AFE7E2A s_waitcnt lgkmcnt(2) // 00000000079C: BF8C027F v_mov_b32 v39, v45 // 0000000007A0: 7E4E032D s_waitcnt lgkmcnt(1) // 0000000007A4: BF8C017F v_mov_b32 v40, v46 // 0000000007A8: 7E50032E s_waitcnt lgkmcnt(0) // 0000000007AC: BF8C007F v_mov_b32 v41, v47 // 0000000007B0: 7E52032F v_mov_b32 v44, v47 // 0000000007B4: 7E58032F s_mov_b64 exec, s[42:43] // 0000000007B8: BEFE042A ds_write_b32 v43, v45 offset:408 // 0000000007BC: D8340198 00002D2B ds_write_b32 v43, v46 offset:8284 // 0000000007C4: D834205C 00002E2B ds_write_b32 v43, v44 offset:16160 // 0000000007CC: D8343F20 00002C2B ds_write_b32 v43, v42 offset:24036 // 0000000007D4: D8345DE4 00002A2B buffer_store_dwordx3 v[39:41], v38, s[16:19], 0 offen // 0000000007DC: E07C1000 80042726 s_branch label_0186 // 0000000007E4: BF82FF8C label_01FA: s_mov_b64 exec, s[40:41] // 0000000007E8: BEFE0428 v_mov_b32 v11, 0 // 0000000007EC: 7E160280 ds_read_b32 v12, v11 offset:220 // 0000000007F0: D8D800DC 0C00000B s_waitcnt vmcnt(0) & lgkmcnt(0) // 0000000007F8: BF8C0070 s_barrier // 0000000007FC: BF8A0000 ds_read2_b32 v[13:14], v11 offset0:34 // 000000000800: D8DC0022 0D00000B v_not_b32 v11, v7 // 000000000808: 7E166F07 v_and_b32 v11, 3, v11 // 00000000080C: 36161683 s_waitcnt lgkmcnt(0) // 000000000810: BF8C007F v_mul_legacy_f32 v13, v13, v13 // 000000000814: 0E1A1B0D v_cmp_ne_i32 vcc, 0, v11 // 000000000818: 7D0A1680 v_cndmask_b32 v11, 0, v13, vcc // 00000000081C: 00161A80 s_mov_b64 s[40:41], exec // 000000000820: BEA8047E s_mov_b64 s[42:43], exec // 000000000824: BEAA047E v_mov_b32 v13, v7 // 000000000828: 7E1A0307 label_020B: v_lshlrev_b32 v15, 2, v14 // 00000000082C: 341E1C82 v_cmp_ge_u32 vcc, v13, v15 // 000000000830: 7D8C1F0D s_and_saveexec_b64 s[44:45], vcc // wrscc // 000000000834: BEAC246A s_andn2_b64 s[42:43], s[42:43], exec // wrscc // 000000000838: 8AAA7E2A s_cbranch_scc0 label_0234 // 00000000083C: BF840024 s_and_b64 exec, s[44:45], s[42:43] // wrscc // 000000000840: 87FE2A2C v_and_b32 v15, -4, v13 // 000000000844: 361E1AC4 ds_read_b32 v16, v15 offset:408 // 000000000848: D8D80198 1000000F ds_read_b32 v17, v15 offset:8284 // 000000000850: D8D8205C 1100000F ds_read_b32 v18, v15 offset:16160 // 000000000858: D8D83F20 1200000F ds_read_b32 v19, v15 offset:24036 // 000000000860: D8D85DE4 1300000F s_waitcnt lgkmcnt(0) // 000000000868: BF8C007F v_cmp_lt_f32 vcc, 0, v19 // 00000000086C: 7C022680 s_and_saveexec_b64 s[44:45], vcc // wrscc // 000000000870: BEAC246A v_add_i32 v20, vcc, v12, v13 // 000000000874: 4A281B0C s_cbranch_execz label_0230 // 000000000878: BF880011 s_load_dwordx4 s[48:51], s[0:1], 0x30 // 00000000087C: C0980130 s_waitcnt lgkmcnt(0) // 000000000880: BF8C007F tbuffer_load_format_xyzw v[20:23], v20, s[48:51], 0 idxen format:[BUF_DATA_FORMAT_32_32_32_32,BUF_NUM_FORMAT_FLOAT] // 000000000884: EBF32000 800C1414 s_waitcnt vmcnt(0) // 00000000088C: BF8C0F70 v_mac_f32 v16, v20, v11 // 000000000890: 3E201714 v_mac_f32 v17, v21, v11 // 000000000894: 3E221715 v_mac_f32 v18, v22, v11 // 000000000898: 3E241716 v_mac_f32 v19, v23, v11 // 00000000089C: 3E261717 ds_write_b32 v15, v16 offset:408 // 0000000008A0: D8340198 0000100F ds_write_b32 v15, v17 offset:8284 // 0000000008A8: D834205C 0000110F ds_write_b32 v15, v18 offset:16160 // 0000000008B0: D8343F20 0000120F ds_write_b32 v15, v19 offset:24036 // 0000000008B8: D8345DE4 0000130F label_0230: s_mov_b64 exec, s[44:45] // 0000000008C0: BEFE042C v_add_i32 v13, vcc, 0x00000400, v13 // 0000000008C4: 4A1A1AFF 00000400 s_branch label_020B // 0000000008CC: BF82FFD7 label_0234: s_mov_b64 exec, s[40:41] // 0000000008D0: BEFE0428 s_waitcnt lgkmcnt(0) // 0000000008D4: BF8C007F s_barrier // 0000000008D8: BF8A0000 v_mov_b32 v11, 0 // 0000000008DC: 7E160280 ds_read2_b32 v[12:13], v11 offset0:38 offset1:39 // 0000000008E0: D8DC2726 0C00000B ds_read2_b32 v[14:15], v11 offset0:40 offset1:34 // 0000000008E8: D8DC2228 0E00000B s_waitcnt lgkmcnt(1) // 0000000008F0: BF8C017F v_cmp_eq_f32 s[40:41], v12, 0 // 0000000008F4: D0040028 0001010C v_cmp_eq_f32 vcc, 0, v13 // 0000000008FC: 7C041A80 s_and_b64 vcc, s[40:41], vcc // wrscc // 000000000900: 87EA6A28 s_mov_b64 s[40:41], exec // 000000000904: BEA8047E s_andn2_b64 exec, s[40:41], vcc // wrscc // 000000000908: 8AFE6A28 v_mov_b32 v11, 0 // 00000000090C: 7E160280 s_cbranch_execz label_042D // 000000000910: BF8801E8 ds_read2_b32 v[16:17], v11 offset0:98 offset1:99 // 000000000914: D8DC6362 1000000B ds_read_b32 v18, v11 offset:400 // 00000000091C: D8D80190 1200000B s_waitcnt lgkmcnt(0) // 000000000924: BF8C007F s_barrier // 000000000928: BF8A0000 ds_read2_b32 v[19:20], v11 offset0:9 offset1:10 // 00000000092C: D8DC0A09 1300000B ds_read2_b32 v[21:22], v11 offset0:101 offset1:41 // 000000000934: D8DC2965 1500000B ds_read2_b32 v[23:24], v11 offset0:42 offset1:43 // 00000000093C: D8DC2B2A 1700000B ds_read2_b32 v[25:26], v11 offset0:44 offset1:45 // 000000000944: D8DC2D2C 1900000B ds_read2_b32 v[27:28], v11 offset0:46 offset1:47 // 00000000094C: D8DC2F2E 1B00000B ds_read2_b32 v[29:30], v11 offset0:48 offset1:49 // 000000000954: D8DC3130 1D00000B s_mov_b64 s[42:43], exec // 00000000095C: BEAA047E v_mov_b32 v11, v7 // 000000000960: 7E160307 v_mov_b32 v31, v0 // 000000000964: 7E3E0300 label_025A: s_waitcnt lgkmcnt(5) // 000000000968: BF8C057F v_cmp_ge_u32 vcc, v11, v19 // 00000000096C: 7D8C270B s_andn2_b64 exec, exec, vcc // wrscc // 000000000970: 8AFE6A7E s_cbranch_execz label_042B // 000000000974: BF8801CD v_add_i32 v32, vcc, 1, v31 // 000000000978: 4A403E81 v_lshrrev_b32 v33, 1, v31 // 00000000097C: 2C423E81 v_lshrrev_b32 v32, 1, v32 // 000000000980: 2C404081 v_add_i32 v34, vcc, 2, v31 // 000000000984: 4A443E82 v_add_i32 v33, vcc, v20, v33 // 000000000988: 4A424314 v_add_i32 v32, vcc, v20, v32 // 00000000098C: 4A404114 v_lshrrev_b32 v34, 1, v34 // 000000000990: 2C444481 v_add_i32 v34, vcc, v20, v34 // 000000000994: 4A444514 s_load_dwordx4 s[44:47], s[0:1], 0x40 // 000000000998: C0960140 s_waitcnt lgkmcnt(0) // 00000000099C: BF8C007F tbuffer_load_format_x v33, v33, s[44:47], 0 idxen format:[BUF_DATA_FORMAT_32,BUF_NUM_FORMAT_FLOAT] // 0000000009A0: EBA02000 800B2121 tbuffer_load_format_x v32, v32, s[44:47], 0 idxen format:[BUF_DATA_FORMAT_32,BUF_NUM_FORMAT_FLOAT] // 0000000009A8: EBA02000 800B2020 tbuffer_load_format_x v34, v34, s[44:47], 0 idxen format:[BUF_DATA_FORMAT_32,BUF_NUM_FORMAT_FLOAT] // 0000000009B0: EBA02000 800B2222 v_and_b32 v35, 1, v31 // 0000000009B8: 36463E81 v_cmp_ne_i32 vcc, 0, v35 // 0000000009BC: 7D0A4680 s_waitcnt vmcnt(2) // 0000000009C0: BF8C0F72 v_bfe_u32 v35, v33, 0, 16 // 0000000009C4: D2900023 02410121 v_lshrrev_b32 v33, 16, v33 // 0000000009CC: 2C424290 s_waitcnt vmcnt(1) // 0000000009D0: BF8C0F71 v_lshrrev_b32 v36, 16, v32 // 0000000009D4: 2C484090 v_bfe_u32 v32, v32, 0, 16 // 0000000009D8: D2900020 02410120 v_cndmask_b32 v33, v35, v33, vcc // 0000000009E0: 00424323 v_cndmask_b32 v32, v36, v32, vcc // 0000000009E4: 00404124 s_waitcnt vmcnt(0) // 0000000009E8: BF8C0F70 v_bfe_u32 v35, v34, 0, 16 // 0000000009EC: D2900023 02410122 v_lshrrev_b32 v34, 16, v34 // 0000000009F4: 2C444490 v_cndmask_b32 v34, v35, v34, vcc // 0000000009F8: 00444523 v_add_i32 v35, vcc, v6, v33 // 0000000009FC: 4A464306 v_add_i32 v36, vcc, v6, v32 // 000000000A00: 4A484106 v_add_i32 v37, vcc, v6, v34 // 000000000A04: 4A4A4506 v_lshlrev_b32 v35, 4, v35 // 000000000A08: 34464684 v_lshlrev_b32 v36, 4, v36 // 000000000A0C: 34484884 v_lshlrev_b32 v37, 4, v37 // 000000000A10: 344A4A84 buffer_load_dwordx3 v[38:40], v35, s[16:19], 0 offen // 000000000A14: E03C1000 80042623 buffer_load_dwordx3 v[41:43], v36, s[16:19], 0 offen // 000000000A1C: E03C1000 80042924 buffer_load_dwordx3 v[35:37], v37, s[16:19], 0 offen // 000000000A24: E03C1000 80042325 v_lshlrev_b32 v33, 2, v33 // 000000000A2C: 34424282 v_lshlrev_b32 v32, 2, v32 // 000000000A30: 34404082 v_lshlrev_b32 v34, 2, v34 // 000000000A34: 34444482 ds_read_b32 v44, v33 offset:408 // 000000000A38: D8D80198 2C000021 ds_read_b32 v45, v33 offset:8284 // 000000000A40: D8D8205C 2D000021 ds_read_b32 v46, v33 offset:16160 // 000000000A48: D8D83F20 2E000021 ds_read_b32 v47, v32 offset:408 // 000000000A50: D8D80198 2F000020 ds_read_b32 v48, v32 offset:16160 // 000000000A58: D8D83F20 30000020 ds_read_b32 v49, v34 offset:8284 // 000000000A60: D8D8205C 31000022 ds_read_b32 v50, v32 offset:8284 // 000000000A68: D8D8205C 32000020 ds_read_b32 v51, v34 offset:408 // 000000000A70: D8D80198 33000022 ds_read_b32 v52, v34 offset:16160 // 000000000A78: D8D83F20 34000022 s_waitcnt lgkmcnt(4) // 000000000A80: BF8C047F v_add_f32 v53, v46, v48 // 000000000A84: 066A612E s_waitcnt vmcnt(1) // 000000000A88: BF8C0F71 v_add_f32 v38, v38, v41 // 000000000A8C: 064C5326 s_waitcnt lgkmcnt(3) // 000000000A90: BF8C037F v_subrev_f32 v41, v45, v49 // 000000000A94: 0A52632D v_subrev_f32 v54, v44, v47 // 000000000A98: 0A6C5F2C s_waitcnt lgkmcnt(2) // 000000000A9C: BF8C027F v_add_f32 v55, v45, v50 // 000000000AA0: 066E652D s_waitcnt lgkmcnt(0) // 000000000AA4: BF8C007F v_add_f32 v53, v52, v53 // 000000000AA8: 066A6B34 v_add_f32 v39, v39, v42 // 000000000AAC: 064E5527 v_add_f32 v40, v40, v43 // 000000000AB0: 06505728 s_waitcnt vmcnt(0) // 000000000AB4: BF8C0F70 v_add_f32 v35, v35, v38 // 000000000AB8: 06464D23 s_mov_b32 s3, 0x3eaaaaab // 000000000ABC: BE8303FF 3EAAAAAB v_subrev_f32 v38, v44, v51 // 000000000AC4: 0A4C672C v_subrev_f32 v42, v45, v50 // 000000000AC8: 0A54652D v_subrev_f32 v43, v46, v48 // 000000000ACC: 0A56612E v_mul_legacy_f32 v45, v41, v54 // 000000000AD0: 0E5A6D29 v_add_f32 v47, v44, v47 // 000000000AD4: 065E5F2C v_add_f32 v48, v49, v55 // 000000000AD8: 06606F31 v_add_f32 v36, v36, v39 // 000000000ADC: 06484F24 v_add_f32 v37, v37, v40 // 000000000AE0: 064A5125 v_mul_legacy_f32 v39, s3, v53 // 000000000AE4: 0E4E6A03 v_mad_legacy_f32 v40, -v35, s3, v16 // 000000000AE8: D2800028 24400723 v_subrev_f32 v46, v46, v52 // 000000000AF0: 0A5C692E v_mul_legacy_f32 v49, v38, v43 // 000000000AF4: 0E625726 v_mad_legacy_f32 v45, v38, v42, -v45 // 000000000AF8: D280002D 84B65526 v_add_f32 v38, v51, v47 // 000000000B00: 064C5F33 v_mul_legacy_f32 v47, s3, v48 // 000000000B04: 0E5E6003 v_mul_legacy_f32 v50, s3, v37 // 000000000B08: 0E644A03 v_mad_legacy_f32 v51, -v36, s3, v17 // 000000000B0C: D2800033 24440724 v_mac_f32 v39, v40, v24 // 000000000B14: 3E4E3128 v_mul_legacy_f32 v42, v46, v42 // 000000000B18: 0E54552E v_mad_legacy_f32 v49, v46, v54, -v49 // 000000000B1C: D2800031 84C66D2E v_mul_legacy_f32 v46, v45, v45 // 000000000B24: 0E5C5B2D v_mul_legacy_f32 v52, s3, v38 // 000000000B28: 0E684C03 v_mul_legacy_f32 v36, s3, v36 // 000000000B2C: 0E484803 v_mad_legacy_f32 v50, v53, s3, -v50 // 000000000B30: D2800032 84C80735 v_mad_legacy_f32 v37, -v37, s3, v18 // 000000000B38: D2800025 24480725 v_mac_f32 v47, v40, v23 // 000000000B40: 3E5E2F28 v_mac_f32 v39, v51, v27 // 000000000B44: 3E4E3733 v_mad_legacy_f32 v42, v41, v43, -v42 // 000000000B48: D280002A 84AA5729 v_mac_f32 v46, v49, v49 // 000000000B50: 3E5C6331 v_mul_legacy_f32 v35, s3, v35 // 000000000B54: 0E464603 v_mad_legacy_f32 v36, v48, s3, -v36 // 000000000B58: D2800024 84900730 v_add_f32 v41, v18, v50 // 000000000B60: 06526512 v_mac_f32 v52, v40, v22 // 000000000B64: 3E682D28 v_mac_f32 v47, v51, v26 // 000000000B68: 3E5E3533 v_mac_f32 v39, v37, v30 // 000000000B6C: 3E4E3D25 v_cmp_ne_i32 vcc, 0, v21 // 000000000B70: 7D0A2A80 v_mac_f32 v46, v42, v42 // 000000000B74: 3E5C552A v_mad_legacy_f32 v35, v38, s3, -v35 // 000000000B78: D2800023 848C0726 v_add_f32 v36, v17, v36 // 000000000B80: 06484911 v_mac_f32 v52, v51, v25 // 000000000B84: 3E683333 v_mac_f32 v47, v37, v29 // 000000000B88: 3E5E3B25 v_cndmask_b32 v38, v41, v39, vcc // 000000000B8C: 004C4F29 v_rsq_f32 v39, v46 // 000000000B90: 7E4E5D2E v_add_f32 v35, v16, v35 // 000000000B94: 06464710 v_mac_f32 v52, v37, v28 // 000000000B98: 3E683925 v_cndmask_b32 v36, v36, v47, vcc // 000000000B9C: 00485F24 v_mul_f32 v37, v45, v39 // 000000000BA0: 104A4F2D v_mul_legacy_f32 v40, v38, v38 // 000000000BA4: 0E504D26 v_cndmask_b32 v35, v35, v52, vcc // 000000000BA8: 00466923 v_mul_f32 v41, v49, v39 // 000000000BAC: 10524F31 v_mac_f32 v40, v36, v36 // 000000000BB0: 3E504924 v_mul_legacy_f32 v43, v38, v37 // 000000000BB4: 0E564B26 v_mul_f32 v39, v42, v39 // 000000000BB8: 104E4F2A v_mac_f32 v40, v35, v35 // 000000000BBC: 3E504723 v_mac_f32 v43, v41, v36 // 000000000BC0: 3E564929 v_mac_f32 v43, v39, v35 // 000000000BC4: 3E564727 v_rsq_f32 v42, v40 // 000000000BC8: 7E545D28 v_mul_legacy_f32 v43, v42, v43 // 000000000BCC: 0E56572A v_mul_legacy_f32 v45, v36, v39 // 000000000BD0: 0E5A4F24 v_mul_legacy_f32 v47, v35, v37 // 000000000BD4: 0E5E4B23 v_mad_legacy_f32 v45, v35, v41, -v45 // 000000000BD8: D280002D 84B65323 v_mul_legacy_f32 v48, v36, v42 // 000000000BE0: 0E605524 v_mad_legacy_f32 v49, -v43, v43, 1.0 clamp // 000000000BE4: D2800831 23CA572B v_mul_legacy_f32 v41, v38, v41 // 000000000BEC: 0E525326 v_mad_legacy_f32 v47, v38, v39, -v47 // 000000000BF0: D280002F 84BE4F26 v_mul_legacy_f32 v39, v38, v42 // 000000000BF8: 0E4E5526 v_mul_legacy_f32 v50, v45, v48 // 000000000BFC: 0E64612D v_mul_legacy_f32 v51, v13, v43 // 000000000C00: 0E66570D v_sqrt_f32 v49, v49 // 000000000C04: 7E626731 v_mul_legacy_f32 v43, v12, abs(v43) // 000000000C08: D20E022B 0002570C v_mad_legacy_f32 v41, v36, v37, -v41 // 000000000C10: D2800029 84A64B24 v_mul_legacy_f32 v37, v35, v42 // 000000000C18: 0E4A5523 v_mad_legacy_f32 v50, v47, v39, -v50 // 000000000C1C: D2800032 84CA4F2F v_mul_legacy_f32 v42, v49, v51 // 000000000C24: 0E546731 v_sqrt_f32 v49, v40 // 000000000C28: 7E626728 v_mul_legacy_f32 v35, v35, v43 // 000000000C2C: 0E465723 v_mul_legacy_f32 v39, v41, v39 // 000000000C30: 0E4E4F29 v_mul_legacy_f32 v47, v47, v37 // 000000000C34: 0E5E4B2F v_mul_legacy_f32 v50, v50, v42 // 000000000C38: 0E645532 v_mul_legacy_f32 v35, v49, v35 // 000000000C3C: 0E464731 v_rcp_f32 v51, v15 // 000000000C40: 7E66550F ds_read_b32 v52, v33 offset:24036 // 000000000C44: D8D85DE4 34000021 v_mad_legacy_f32 v39, v45, v37, -v39 // 000000000C4C: D2800027 849E4B2D v_mad_legacy_f32 v47, v41, v48, -v47 // 000000000C54: D280002F 84BE6129 v_mul_legacy_f32 v37, v49, v50 // 000000000C5C: 0E4A6531 v_mul_legacy_f32 v36, v36, v43 // 000000000C60: 0E485724 v_mul_legacy_f32 v38, v38, v43 // 000000000C64: 0E4C5726 v_mul_f32 v35, v35, v51 // 000000000C68: 10466723 v_mul_legacy_f32 v39, v39, v42 // 000000000C6C: 0E4E5527 v_mul_legacy_f32 v41, v47, v42 // 000000000C70: 0E52552F v_mul_legacy_f32 v36, v49, v36 // 000000000C74: 0E484931 v_mul_legacy_f32 v38, v49, v38 // 000000000C78: 0E4C4D31 v_mac_f32 v35, v37, v51 // 000000000C7C: 3E466725 v_mul_legacy_f32 v37, v49, v39 // 000000000C80: 0E4A4F31 v_mul_legacy_f32 v39, v49, v41 // 000000000C84: 0E4E5331 v_mul_f32 v36, v36, v51 // 000000000C88: 10486724 v_mul_f32 v38, v38, v51 // 000000000C8C: 104C6726 v_mul_legacy_f32 v35, v14, v35 // 000000000C90: 0E46470E v_sqrt_f32 v41, v46 // 000000000C94: 7E52672E s_mov_b32 s3, 0x34000000 // 000000000C98: BE8303FF 34000000 v_mac_f32 v36, v37, v51 // 000000000CA0: 3E486725 v_mac_f32 v38, v39, v51 // 000000000CA4: 3E4C6727 v_mul_legacy_f32 v35, v41, v35 // 000000000CA8: 0E464729 v_cmp_gt_f32 vcc, s3, v40 // 000000000CAC: 7C085003 v_mov_b32 v37, 0x80000000 // 000000000CB0: 7E4A02FF 80000000 v_mul_legacy_f32 v36, v14, v36 // 000000000CB8: 0E48490E v_mul_legacy_f32 v38, v14, v38 // 000000000CBC: 0E4C4D0E v_cndmask_b32 v35, -v35, v37, vcc // 000000000CC0: D2000023 21AA4B23 ds_read_b32 v39, v32 offset:24036 // 000000000CC8: D8D85DE4 27000020 ds_read_b32 v40, v34 offset:24036 // 000000000CD0: D8D85DE4 28000022 v_mul_legacy_f32 v36, v41, v36 // 000000000CD8: 0E484929 v_mul_legacy_f32 v38, v41, v38 // 000000000CDC: 0E4C4D29 s_waitcnt lgkmcnt(2) // 000000000CE0: BF8C027F v_mad_f32 v41, v35, v52, v44 // 000000000CE4: D2820029 04B26923 v_cndmask_b32 v36, -v36, v37, vcc // 000000000CEC: D2000024 21AA4B24 v_cndmask_b32 v37, -v38, v37, vcc // 000000000CF4: D2000025 21AA4B26 ds_cmpst_rtn_b32 v41, v33, v44, v41 offset:408 // 000000000CFC: D8C00198 29292C21 s_mov_b64 s[44:45], exec // 000000000D04: BEAC047E s_mov_b64 s[46:47], exec // 000000000D08: BEAE047E v_mov_b32 v38, v44 // 000000000D0C: 7E4C032C s_nop 0x0000 // 000000000D10: BF800000 s_nop 0x0000 // 000000000D14: BF800000 label_0346: s_waitcnt lgkmcnt(0) // 000000000D18: BF8C007F v_cmp_eq_i32 vcc, v38, v41 // 000000000D1C: 7D045326 s_and_saveexec_b64 s[48:49], vcc // wrscc // 000000000D20: BEB0246A s_andn2_b64 s[46:47], s[46:47], exec // wrscc // 000000000D24: 8AAE7E2E s_cbranch_scc0 label_0355 // 000000000D28: BF84000A s_mov_b64 exec, s[46:47] // 000000000D2C: BEFE042E v_mad_f32 v38, v35, v52, v41 // 000000000D30: D2820026 04A66923 ds_cmpst_rtn_b32 v38, v33, v41, v38 offset:408 // 000000000D38: D8C00198 26262921 v_mov_b32 v62, v41 // 000000000D40: 7E7C0329 s_waitcnt lgkmcnt(0) // 000000000D44: BF8C007F v_mov_b32 v41, v38 // 000000000D48: 7E520326 v_mov_b32 v38, v62 // 000000000D4C: 7E4C033E s_branch label_0346 // 000000000D50: BF82FFF1 label_0355: s_mov_b64 exec, s[44:45] // 000000000D54: BEFE042C ds_read_b32 v38, v33 offset:8284 // 000000000D58: D8D8205C 26000021 s_waitcnt lgkmcnt(0) // 000000000D60: BF8C007F v_mad_f32 v41, v36, v52, v38 // 000000000D64: D2820029 049A6924 ds_cmpst_rtn_b32 v41, v33, v38, v41 offset:8284 // 000000000D6C: D8C0205C 29292621 s_mov_b64 s[44:45], exec // 000000000D74: BEAC047E s_mov_b64 s[46:47], exec // 000000000D78: BEAE047E label_035F: s_waitcnt lgkmcnt(0) // 000000000D7C: BF8C007F v_cmp_eq_i32 vcc, v38, v41 // 000000000D80: 7D045326 s_and_saveexec_b64 s[48:49], vcc // wrscc // 000000000D84: BEB0246A s_andn2_b64 s[46:47], s[46:47], exec // wrscc // 000000000D88: 8AAE7E2E s_cbranch_scc0 label_036E // 000000000D8C: BF84000A s_mov_b64 exec, s[46:47] // 000000000D90: BEFE042E v_mad_f32 v38, v36, v52, v41 // 000000000D94: D2820026 04A66924 ds_cmpst_rtn_b32 v38, v33, v41, v38 offset:8284 // 000000000D9C: D8C0205C 26262921 v_mov_b32 v62, v41 // 000000000DA4: 7E7C0329 s_waitcnt lgkmcnt(0) // 000000000DA8: BF8C007F v_mov_b32 v41, v38 // 000000000DAC: 7E520326 v_mov_b32 v38, v62 // 000000000DB0: 7E4C033E s_branch label_035F // 000000000DB4: BF82FFF1 label_036E: s_mov_b64 exec, s[44:45] // 000000000DB8: BEFE042C ds_read_b32 v38, v33 offset:16160 // 000000000DBC: D8D83F20 26000021 s_waitcnt lgkmcnt(0) // 000000000DC4: BF8C007F v_mad_f32 v41, v37, v52, v38 // 000000000DC8: D2820029 049A6925 ds_cmpst_rtn_b32 v41, v33, v38, v41 offset:16160 // 000000000DD0: D8C03F20 29292621 s_mov_b64 s[44:45], exec // 000000000DD8: BEAC047E s_mov_b64 s[46:47], exec // 000000000DDC: BEAE047E s_nop 0x0000 // 000000000DE0: BF800000 s_nop 0x0000 // 000000000DE4: BF800000 label_037A: s_waitcnt lgkmcnt(0) // 000000000DE8: BF8C007F v_cmp_eq_i32 vcc, v38, v41 // 000000000DEC: 7D045326 s_and_saveexec_b64 s[48:49], vcc // wrscc // 000000000DF0: BEB0246A s_andn2_b64 s[46:47], s[46:47], exec // wrscc // 000000000DF4: 8AAE7E2E s_cbranch_scc0 label_0389 // 000000000DF8: BF84000A s_mov_b64 exec, s[46:47] // 000000000DFC: BEFE042E v_mad_f32 v38, v37, v52, v41 // 000000000E00: D2820026 04A66925 ds_cmpst_rtn_b32 v38, v33, v41, v38 offset:16160 // 000000000E08: D8C03F20 26262921 v_mov_b32 v62, v41 // 000000000E10: 7E7C0329 s_waitcnt lgkmcnt(0) // 000000000E14: BF8C007F v_mov_b32 v41, v38 // 000000000E18: 7E520326 v_mov_b32 v38, v62 // 000000000E1C: 7E4C033E s_branch label_037A // 000000000E20: BF82FFF1 label_0389: s_mov_b64 exec, s[44:45] // 000000000E24: BEFE042C ds_read_b32 v33, v32 offset:408 // 000000000E28: D8D80198 21000020 s_waitcnt lgkmcnt(0) // 000000000E30: BF8C007F v_mad_f32 v38, v35, v39, v33 // 000000000E34: D2820026 04864F23 ds_cmpst_rtn_b32 v38, v32, v33, v38 offset:408 // 000000000E3C: D8C00198 26262120 s_mov_b64 s[44:45], exec // 000000000E44: BEAC047E s_mov_b64 s[46:47], exec // 000000000E48: BEAE047E label_0393: s_waitcnt lgkmcnt(0) // 000000000E4C: BF8C007F v_cmp_eq_i32 vcc, v33, v38 // 000000000E50: 7D044D21 s_and_saveexec_b64 s[48:49], vcc // wrscc // 000000000E54: BEB0246A s_andn2_b64 s[46:47], s[46:47], exec // wrscc // 000000000E58: 8AAE7E2E s_cbranch_scc0 label_03A2 // 000000000E5C: BF84000A s_mov_b64 exec, s[46:47] // 000000000E60: BEFE042E v_mad_f32 v33, v35, v39, v38 // 000000000E64: D2820021 049A4F23 ds_cmpst_rtn_b32 v33, v32, v38, v33 offset:408 // 000000000E6C: D8C00198 21212620 v_mov_b32 v62, v38 // 000000000E74: 7E7C0326 s_waitcnt lgkmcnt(0) // 000000000E78: BF8C007F v_mov_b32 v38, v33 // 000000000E7C: 7E4C0321 v_mov_b32 v33, v62 // 000000000E80: 7E42033E s_branch label_0393 // 000000000E84: BF82FFF1 label_03A2: s_mov_b64 exec, s[44:45] // 000000000E88: BEFE042C ds_read_b32 v33, v32 offset:8284 // 000000000E8C: D8D8205C 21000020 s_waitcnt lgkmcnt(0) // 000000000E94: BF8C007F v_mad_f32 v38, v36, v39, v33 // 000000000E98: D2820026 04864F24 ds_cmpst_rtn_b32 v38, v32, v33, v38 offset:8284 // 000000000EA0: D8C0205C 26262120 s_mov_b64 s[44:45], exec // 000000000EA8: BEAC047E s_mov_b64 s[46:47], exec // 000000000EAC: BEAE047E s_nop 0x0000 // 000000000EB0: BF800000 s_nop 0x0000 // 000000000EB4: BF800000 label_03AE: s_waitcnt lgkmcnt(0) // 000000000EB8: BF8C007F v_cmp_eq_i32 vcc, v33, v38 // 000000000EBC: 7D044D21 s_and_saveexec_b64 s[48:49], vcc // wrscc // 000000000EC0: BEB0246A s_andn2_b64 s[46:47], s[46:47], exec // wrscc // 000000000EC4: 8AAE7E2E s_cbranch_scc0 label_03BD // 000000000EC8: BF84000A s_mov_b64 exec, s[46:47] // 000000000ECC: BEFE042E v_mad_f32 v33, v36, v39, v38 // 000000000ED0: D2820021 049A4F24 ds_cmpst_rtn_b32 v33, v32, v38, v33 offset:8284 // 000000000ED8: D8C0205C 21212620 v_mov_b32 v62, v38 // 000000000EE0: 7E7C0326 s_waitcnt lgkmcnt(0) // 000000000EE4: BF8C007F v_mov_b32 v38, v33 // 000000000EE8: 7E4C0321 v_mov_b32 v33, v62 // 000000000EEC: 7E42033E s_branch label_03AE // 000000000EF0: BF82FFF1 label_03BD: s_mov_b64 exec, s[44:45] // 000000000EF4: BEFE042C ds_read_b32 v33, v32 offset:16160 // 000000000EF8: D8D83F20 21000020 s_waitcnt lgkmcnt(0) // 000000000F00: BF8C007F v_mad_f32 v38, v37, v39, v33 // 000000000F04: D2820026 04864F25 ds_cmpst_rtn_b32 v38, v32, v33, v38 offset:16160 // 000000000F0C: D8C03F20 26262120 s_mov_b64 s[44:45], exec // 000000000F14: BEAC047E s_mov_b64 s[46:47], exec // 000000000F18: BEAE047E label_03C7: s_waitcnt lgkmcnt(0) // 000000000F1C: BF8C007F v_cmp_eq_i32 vcc, v33, v38 // 000000000F20: 7D044D21 s_and_saveexec_b64 s[48:49], vcc // wrscc // 000000000F24: BEB0246A s_andn2_b64 s[46:47], s[46:47], exec // wrscc // 000000000F28: 8AAE7E2E s_cbranch_scc0 label_03D6 // 000000000F2C: BF84000A s_mov_b64 exec, s[46:47] // 000000000F30: BEFE042E v_mad_f32 v33, v37, v39, v38 // 000000000F34: D2820021 049A4F25 ds_cmpst_rtn_b32 v33, v32, v38, v33 offset:16160 // 000000000F3C: D8C03F20 21212620 v_mov_b32 v62, v38 // 000000000F44: 7E7C0326 s_waitcnt lgkmcnt(0) // 000000000F48: BF8C007F v_mov_b32 v38, v33 // 000000000F4C: 7E4C0321 v_mov_b32 v33, v62 // 000000000F50: 7E42033E s_branch label_03C7 // 000000000F54: BF82FFF1 label_03D6: s_mov_b64 exec, s[44:45] // 000000000F58: BEFE042C ds_read_b32 v32, v34 offset:408 // 000000000F5C: D8D80198 20000022 s_waitcnt lgkmcnt(0) // 000000000F64: BF8C007F v_mad_f32 v33, v35, v40, v32 // 000000000F68: D2820021 04825123 ds_cmpst_rtn_b32 v33, v34, v32, v33 offset:408 // 000000000F70: D8C00198 21212022 s_mov_b64 s[44:45], exec // 000000000F78: BEAC047E s_mov_b64 s[46:47], exec // 000000000F7C: BEAE047E s_nop 0x0000 // 000000000F80: BF800000 s_nop 0x0000 // 000000000F84: BF800000 label_03E2: s_waitcnt lgkmcnt(0) // 000000000F88: BF8C007F v_cmp_eq_i32 vcc, v32, v33 // 000000000F8C: 7D044320 s_and_saveexec_b64 s[48:49], vcc // wrscc // 000000000F90: BEB0246A s_andn2_b64 s[46:47], s[46:47], exec // wrscc // 000000000F94: 8AAE7E2E s_cbranch_scc0 label_03F1 // 000000000F98: BF84000A s_mov_b64 exec, s[46:47] // 000000000F9C: BEFE042E v_mad_f32 v32, v35, v40, v33 // 000000000FA0: D2820020 04865123 ds_cmpst_rtn_b32 v32, v34, v33, v32 offset:408 // 000000000FA8: D8C00198 20202122 v_mov_b32 v62, v33 // 000000000FB0: 7E7C0321 s_waitcnt lgkmcnt(0) // 000000000FB4: BF8C007F v_mov_b32 v33, v32 // 000000000FB8: 7E420320 v_mov_b32 v32, v62 // 000000000FBC: 7E40033E s_branch label_03E2 // 000000000FC0: BF82FFF1 label_03F1: s_mov_b64 exec, s[44:45] // 000000000FC4: BEFE042C ds_read_b32 v32, v34 offset:8284 // 000000000FC8: D8D8205C 20000022 s_waitcnt lgkmcnt(0) // 000000000FD0: BF8C007F v_mad_f32 v33, v36, v40, v32 // 000000000FD4: D2820021 04825124 ds_cmpst_rtn_b32 v33, v34, v32, v33 offset:8284 // 000000000FDC: D8C0205C 21212022 s_mov_b64 s[44:45], exec // 000000000FE4: BEAC047E s_mov_b64 s[46:47], exec // 000000000FE8: BEAE047E label_03FB: s_waitcnt lgkmcnt(0) // 000000000FEC: BF8C007F v_cmp_eq_i32 vcc, v32, v33 // 000000000FF0: 7D044320 s_and_saveexec_b64 s[48:49], vcc // wrscc // 000000000FF4: BEB0246A s_andn2_b64 s[46:47], s[46:47], exec // wrscc // 000000000FF8: 8AAE7E2E s_cbranch_scc0 label_040A // 000000000FFC: BF84000A s_mov_b64 exec, s[46:47] // 000000001000: BEFE042E v_mad_f32 v32, v36, v40, v33 // 000000001004: D2820020 04865124 ds_cmpst_rtn_b32 v32, v34, v33, v32 offset:8284 // 00000000100C: D8C0205C 20202122 v_mov_b32 v62, v33 // 000000001014: 7E7C0321 s_waitcnt lgkmcnt(0) // 000000001018: BF8C007F v_mov_b32 v33, v32 // 00000000101C: 7E420320 v_mov_b32 v32, v62 // 000000001020: 7E40033E s_branch label_03FB // 000000001024: BF82FFF1 label_040A: s_mov_b64 exec, s[44:45] // 000000001028: BEFE042C ds_read_b32 v32, v34 offset:16160 // 00000000102C: D8D83F20 20000022 s_waitcnt lgkmcnt(0) // 000000001034: BF8C007F v_mad_f32 v33, v37, v40, v32 // 000000001038: D2820021 04825125 ds_cmpst_rtn_b32 v33, v34, v32, v33 offset:16160 // 000000001040: D8C03F20 21212022 s_mov_b64 s[44:45], exec // 000000001048: BEAC047E s_mov_b64 s[46:47], exec // 00000000104C: BEAE047E s_nop 0x0000 // 000000001050: BF800000 s_nop 0x0000 // 000000001054: BF800000 label_0416: s_waitcnt lgkmcnt(0) // 000000001058: BF8C007F v_cmp_eq_i32 vcc, v32, v33 // 00000000105C: 7D044320 s_and_saveexec_b64 s[48:49], vcc // wrscc // 000000001060: BEB0246A s_andn2_b64 s[46:47], s[46:47], exec // wrscc // 000000001064: 8AAE7E2E s_cbranch_scc0 label_0425 // 000000001068: BF84000A s_mov_b64 exec, s[46:47] // 00000000106C: BEFE042E v_mad_f32 v32, v37, v40, v33 // 000000001070: D2820020 04865125 ds_cmpst_rtn_b32 v32, v34, v33, v32 offset:16160 // 000000001078: D8C03F20 20202122 v_mov_b32 v62, v33 // 000000001080: 7E7C0321 s_waitcnt lgkmcnt(0) // 000000001084: BF8C007F v_mov_b32 v33, v32 // 000000001088: 7E420320 v_mov_b32 v32, v62 // 00000000108C: 7E40033E s_branch label_0416 // 000000001090: BF82FFF1 label_0425: s_mov_b64 exec, s[44:45] // 000000001094: BEFE042C v_add_i32 v11, vcc, 0x00000400, v11 // 000000001098: 4A1616FF 00000400 v_add_i32 v31, vcc, 0x00000c00, v31 // 0000000010A0: 4A3E3EFF 00000C00 s_branch label_025A // 0000000010A8: BF82FE2F label_042B: s_waitcnt lgkmcnt(0) // 0000000010AC: BF8C007F s_barrier // 0000000010B0: BF8A0000 label_042D: s_mov_b64 exec, s[40:41] // 0000000010B4: BEFE0428 v_mov_b32 v11, 0 // 0000000010B8: 7E160280 ds_read_b32 v11, v11 offset:204 // 0000000010BC: D8D800CC 0B00000B s_waitcnt lgkmcnt(0) // 0000000010C4: BF8C007F v_cmp_ne_i32 vcc, -1, v11 // 0000000010C8: 7D0A16C1 s_and_b64 exec, s[40:41], vcc // wrscc // 0000000010CC: 87FE6A28 v_mov_b32 v11, 0 // 0000000010D0: 7E160280 s_cbranch_execz label_0480 // 0000000010D4: BF88004A ds_read2_b32 v[12:13], v11 offset0:11 offset1:12 // 0000000010D8: D8DC0C0B 0C00000B ds_read2_b32 v[14:15], v11 offset0:50 offset1:51 // 0000000010E0: D8DC3332 0E00000B ds_read2_b32 v[16:17], v11 offset0:52 // 0000000010E8: D8DC0034 1000000B s_mov_b64 s[42:43], exec // 0000000010F0: BEAA047E v_mov_b32 v11, v7 // 0000000010F4: 7E160307 label_043E: s_waitcnt lgkmcnt(0) // 0000000010F8: BF8C007F v_cmp_ge_u32 vcc, v11, v17 // 0000000010FC: 7D8C230B s_andn2_b64 exec, exec, vcc // wrscc // 000000001100: 8AFE6A7E s_cbranch_execz label_0480 // 000000001104: BF88003E v_add_i32 v18, vcc, v15, v11 // 000000001108: 4A24170F v_add_i32 v19, vcc, v16, v11 // 00000000110C: 4A261710 s_load_dwordx4 s[44:47], s[0:1], 0x28 // 000000001110: C0960128 s_waitcnt lgkmcnt(0) // 000000001114: BF8C007F tbuffer_load_format_xyzw v[20:23], v18, s[44:47], 0 idxen format:[BUF_DATA_FORMAT_32_32_32_32,BUF_NUM_FORMAT_FLOAT] // 000000001118: EBF32000 800B1412 tbuffer_load_format_xyzw v[24:27], v19, s[44:47], 0 idxen format:[BUF_DATA_FORMAT_32_32_32_32,BUF_NUM_FORMAT_FLOAT] // 000000001120: EBF32000 800B1813 v_lshlrev_b32 v18, 2, v11 // 000000001128: 34241682 ds_read_b32 v19, v18 offset:16160 // 00000000112C: D8D83F20 13000012 ds_read_b32 v28, v18 offset:8284 // 000000001134: D8D8205C 1C000012 ds_read_b32 v29, v18 offset:408 // 00000000113C: D8D80198 1D000012 s_waitcnt vmcnt(0) // 000000001144: BF8C0F70 v_subrev_f32 v26, v22, v26 // 000000001148: 0A343516 v_subrev_f32 v25, v21, v25 // 00000000114C: 0A323315 v_mac_f32 v22, v26, v9 // 000000001150: 3E2C131A v_subrev_f32 v24, v20, v24 // 000000001154: 0A303114 v_mac_f32 v21, v25, v9 // 000000001158: 3E2A1319 s_waitcnt lgkmcnt(2) // 00000000115C: BF8C027F v_sub_f32 v22, v22, v19 // 000000001160: 082C2716 v_mac_f32 v20, v24, v9 // 000000001164: 3E281318 s_waitcnt lgkmcnt(1) // 000000001168: BF8C017F v_sub_f32 v21, v21, v28 // 00000000116C: 082A3915 v_mul_legacy_f32 v24, v22, v22 // 000000001170: 0E302D16 v_subrev_f32 v25, v23, v27 // 000000001174: 0A323717 s_waitcnt lgkmcnt(0) // 000000001178: BF8C007F v_sub_f32 v20, v20, v29 // 00000000117C: 08283B14 v_mac_f32 v24, v21, v21 // 000000001180: 3E302B15 v_mac_f32 v23, v25, v9 // 000000001184: 3E2E1319 v_mac_f32 v24, v20, v20 // 000000001188: 3E302914 v_mad_legacy_f32 v23, v23, -v12, -v13 // 00000000118C: D2800017 C4361917 v_add_f32 v24, 0x34000000, v24 // 000000001194: 063030FF 34000000 v_min_legacy_f32 v23, 0, v23 // 00000000119C: 1A2E2E80 v_rsq_f32 v24, v24 // 0000000011A0: 7E305D18 v_mad_f32 v24, v23, v24, 1.0 // 0000000011A4: D2820018 03CA3117 ds_read_b32 v25, v18 offset:24036 // 0000000011AC: D8D85DE4 19000012 v_max_legacy_f32 v24, 0, v24 // 0000000011B4: 1C303080 v_mul_legacy_f32 v24, v14, v24 // 0000000011B8: 0E30310E v_mac_f32 v29, v24, v20 // 0000000011BC: 3E3A2918 v_mac_f32 v28, v24, v21 // 0000000011C0: 3E382B18 ds_write_b32 v18, v29 offset:408 // 0000000011C4: D8340198 00001D12 v_mac_f32 v19, v24, v22 // 0000000011CC: 3E262D18 v_cmp_nle_f32 vcc, 0, v23 // 0000000011D0: 7C182E80 ds_write_b32 v18, v28 offset:8284 // 0000000011D4: D834205C 00001C12 s_waitcnt lgkmcnt(2) // 0000000011DC: BF8C027F v_cndmask_b32 v20, 0, v25, vcc // 0000000011E0: 00283280 ds_write_b32 v18, v19 offset:16160 // 0000000011E4: D8343F20 00001312 v_add_i32 v11, vcc, 0x00000400, v11 // 0000000011EC: 4A1616FF 00000400 ds_write_b32 v18, v20 offset:24036 // 0000000011F4: D8345DE4 00001412 s_branch label_043E // 0000000011FC: BF82FFBE label_0480: s_mov_b64 exec, s[40:41] // 000000001200: BEFE0428 v_mov_b32 v11, 0 // 000000001204: 7E160280 ds_read2_b32 v[11:12], v11 offset0:37 offset1:6 // 000000001208: D8DC0625 0B00000B s_waitcnt lgkmcnt(0) // 000000001210: BF8C007F v_cmp_eq_f32 s[40:41], v11, 0 // 000000001214: D0040028 0001010B v_cmp_eq_i32 vcc, 0, v12 // 00000000121C: 7D041880 s_or_b64 vcc, s[40:41], vcc // wrscc // 000000001220: 88EA6A28 s_mov_b64 s[40:41], exec // 000000001224: BEA8047E s_andn2_b64 exec, s[40:41], vcc // wrscc // 000000001228: 8AFE6A28 v_mov_b32 v13, 0 // 00000000122C: 7E1A0280 s_cbranch_execz label_04EC // 000000001230: BF88005F ds_read2_b32 v[14:15], v13 offset1:7 // 000000001234: D8DC0700 0E00000D ds_read_b32 v13, v13 offset:32 // 00000000123C: D8D80020 0D00000D s_waitcnt lgkmcnt(1) // 000000001244: BF8C017F v_cvt_f32_u32 v16, v14 // 000000001248: 7E200D0E v_cvt_f32_u32 v17, v12 // 00000000124C: 7E220D0C v_mul_legacy_f32 v11, v11, v16 // 000000001250: 0E16210B v_rcp_f32 v16, v17 // 000000001254: 7E205511 v_mul_f32 v11, v11, v16 // 000000001258: 1016210B s_mov_b64 s[42:43], exec // 00000000125C: BEAA047E v_mov_b32 v16, v7 // 000000001260: 7E200307 label_0499: v_cmp_ge_u32 vcc, v16, v14 // 000000001264: 7D8C1D10 s_andn2_b64 exec, exec, vcc // wrscc // 000000001268: 8AFE6A7E s_cbranch_execz label_04EC // 00000000126C: BF880050 v_lshlrev_b32 v17, 2, v16 // 000000001270: 34222082 ds_read_b32 v18, v17 offset:408 // 000000001274: D8D80198 12000011 v_add_i32 v19, vcc, 0x00000400, v16 // 00000000127C: 4A2620FF 00000400 ds_read_b32 v20, v17 offset:8284 // 000000001284: D8D8205C 14000011 ds_read_b32 v21, v17 offset:16160 // 00000000128C: D8D83F20 15000011 ds_read_b32 v22, v17 offset:24036 // 000000001294: D8D85DE4 16000011 s_mov_b64 s[44:45], exec // 00000000129C: BEAC047E v_mov_b32 v25, 0 // 0000000012A0: 7E320280 v_mov_b32 v24, 0 // 0000000012A4: 7E300280 v_mov_b32 v31, 0 // 0000000012A8: 7E3E0280 s_nop 0x0000 // 0000000012AC: BF800000 label_04AC: v_cmp_ge_u32 vcc, v16, v12 // 0000000012B0: 7D8C1910 s_andn2_b64 exec, exec, vcc // wrscc // 0000000012B4: 8AFE6A7E s_cbranch_execz label_04DA // 0000000012B8: BF88002B v_add_i32 v26, vcc, v15, v16 // 0000000012BC: 4A34210F s_load_dwordx4 s[48:51], s[0:1], 0x10 // 0000000012C0: C0980110 s_waitcnt lgkmcnt(0) // 0000000012C4: BF8C007F tbuffer_load_format_x v26, v26, s[48:51], 0 idxen format:[BUF_DATA_FORMAT_32,BUF_NUM_FORMAT_FLOAT] // 0000000012C8: EBA02000 800C1A1A s_waitcnt vmcnt(0) // 0000000012D0: BF8C0F70 v_bfe_u32 v27, v26, 0, 16 // 0000000012D4: D290001B 0241011A v_lshlrev_b32 v27, 2, v27 // 0000000012DC: 34363682 ds_read_b32 v28, v27 offset:408 // 0000000012E0: D8D80198 1C00001B ds_read_b32 v29, v27 offset:8284 // 0000000012E8: D8D8205C 1D00001B ds_read_b32 v27, v27 offset:16160 // 0000000012F0: D8D83F20 1B00001B s_waitcnt lgkmcnt(2) // 0000000012F8: BF8C027F v_subrev_f32 v28, v18, v28 // 0000000012FC: 0A383912 s_waitcnt lgkmcnt(1) // 000000001300: BF8C017F v_subrev_f32 v29, v20, v29 // 000000001304: 0A3A3B14 s_waitcnt lgkmcnt(0) // 000000001308: BF8C007F v_subrev_f32 v27, v21, v27 // 00000000130C: 0A363715 v_madak_f32 v30, v28, v28, 0x34000000 // 000000001310: 423C391C 34000000 v_mac_f32 v30, v29, v29 // 000000001318: 3E3C3B1D v_mac_f32 v30, v27, v27 // 00000000131C: 3E3C371B v_lshrrev_b32 v26, 16, v26 // 000000001320: 2C343490 v_cvt_f32_u32 v26, v26 // 000000001324: 7E340D1A v_mul_legacy_f32 v26, v13, v26 // 000000001328: 0E34350D v_rsq_f32 v30, v30 // 00000000132C: 7E3C5D1E v_mad_legacy_f32 v26, -v26, v30, 1.0 // 000000001330: D280001A 23CA3D1A v_mad_f32 v28, v28, v26, v31 // 000000001338: D282001C 047E351C v_mad_f32 v29, v29, v26, v24 // 000000001340: D282001D 0462351D v_mad_f32 v27, v27, v26, v25 // 000000001348: D282001B 0466351B v_cmp_lt_f32 vcc, 0, v26 // 000000001350: 7C023480 v_cndmask_b32 v31, v31, v28, vcc // 000000001354: 003E391F v_cndmask_b32 v24, v24, v29, vcc // 000000001358: 00303B18 v_cndmask_b32 v25, v25, v27, vcc // 00000000135C: 00323719 v_add_i32 v16, vcc, v14, v16 // 000000001360: 4A20210E s_branch label_04AC // 000000001364: BF82FFD2 label_04DA: s_mov_b64 exec, s[44:45] // 000000001368: BEFE042C s_waitcnt lgkmcnt(3) // 00000000136C: BF8C037F v_mac_f32 v18, v31, v11 // 000000001370: 3E24171F s_waitcnt lgkmcnt(2) // 000000001374: BF8C027F v_mac_f32 v20, v24, v11 // 000000001378: 3E281718 s_waitcnt lgkmcnt(1) // 00000000137C: BF8C017F v_mac_f32 v21, v25, v11 // 000000001380: 3E2A1719 ds_write_b32 v17, v18 offset:408 // 000000001384: D8340198 00001211 ds_write_b32 v17, v20 offset:8284 // 00000000138C: D834205C 00001411 ds_write_b32 v17, v21 offset:16160 // 000000001394: D8343F20 00001511 s_waitcnt lgkmcnt(3) // 00000000139C: BF8C037F ds_write_b32 v17, v22 offset:24036 // 0000000013A0: D8345DE4 00001611 v_mov_b32 v16, v19 // 0000000013A8: 7E200313 s_branch label_0499 // 0000000013AC: BF82FFAD label_04EC: s_mov_b64 exec, s[40:41] // 0000000013B0: BEFE0428 s_mov_b64 s[40:41], exec // 0000000013B4: BEA8047E s_mov_b64 s[42:43], exec // 0000000013B8: BEAA047E v_mov_b32 v11, 0 // 0000000013BC: 7E160280 label_04F0: v_mov_b32 v12, 0 // 0000000013C0: 7E180280 ds_read_b32 v12, v12 offset:8 // 0000000013C4: D8D80008 0C00000C s_waitcnt lgkmcnt(0) // 0000000013CC: BF8C007F v_cmp_ge_u32 vcc, v11, v12 // 0000000013D0: 7D8C190B s_and_saveexec_b64 s[44:45], vcc // wrscc // 0000000013D4: BEAC246A s_andn2_b64 s[42:43], s[42:43], exec // wrscc // 0000000013D8: 8AAA7E2A s_cbranch_scc0 label_057B // 0000000013DC: BF840083 s_and_b64 exec, s[44:45], s[42:43] // wrscc // 0000000013E0: 87FE2A2C v_mov_b32 v12, 0 // 0000000013E4: 7E180280 ds_read2_b32 v[13:14], v12 offset0:3 offset1:4 // 0000000013E8: D8DC0403 0D00000C s_waitcnt lgkmcnt(0) // 0000000013F0: BF8C007F v_add_i32 v13, vcc, v11, v13 // 0000000013F4: 4A1A1B0B s_load_dwordx4 s[44:47], s[0:1], 0x08 // 0000000013F8: C0960108 s_waitcnt lgkmcnt(0) // 0000000013FC: BF8C007F tbuffer_load_format_xyzw v[15:18], v13, s[44:47], 0 idxen format:[BUF_DATA_FORMAT_32_32_32_32,BUF_NUM_FORMAT_FLOAT] // 000000001400: EBF32000 800B0F0D tbuffer_load_format_xy v[19:20], v13, s[44:47], 0 idxen offset:16 format:[BUF_DATA_FORMAT_32_32,BUF_NUM_FORMAT_FLOAT] // 000000001408: EBD92010 800B130D ds_read2_b32 v[21:22], v12 offset0:5 offset1:71 // 000000001410: D8DC4705 1500000C ds_read_b32 v12, v12 offset:20 // 000000001418: D8D80014 0C00000C s_waitcnt vmcnt(1) & lgkmcnt(1) // 000000001420: BF8C0171 v_mul_legacy_f32 v13, v15, v22 // 000000001424: 0E1A2D0F v_mul_legacy_f32 v15, v16, v22 // 000000001428: 0E1E2D10 s_waitcnt vmcnt(0) // 00000000142C: BF8C0F70 v_add_i32 v14, vcc, v14, v19 // 000000001430: 4A1C270E s_waitcnt lgkmcnt(0) // 000000001434: BF8C007F v_add_i32 v12, vcc, v12, v19 // 000000001438: 4A18270C s_barrier // 00000000143C: BF8A0000 s_mov_b64 s[44:45], exec // 000000001440: BEAC047E v_mov_b32 v16, v7 // 000000001444: 7E200307 label_0512: v_cmp_ge_u32 vcc, v16, v20 // 000000001448: 7D8C2910 s_andn2_b64 exec, exec, vcc // wrscc // 00000000144C: 8AFE6A7E s_cbranch_execz label_0578 // 000000001450: BF880063 v_add_i32 v19, vcc, v14, v16 // 000000001454: 4A26210E s_load_dwordx4 s[48:51], s[0:1], 0x0c // 000000001458: C098010C s_waitcnt lgkmcnt(0) // 00000000145C: BF8C007F tbuffer_load_format_xy v[23:24], v19, s[48:51], 0 idxen format:[BUF_DATA_FORMAT_32_32,BUF_NUM_FORMAT_FLOAT] // 000000001460: EBD92000 800C1713 v_add_i32 v19, vcc, v12, v16 // 000000001468: 4A26210C s_load_dwordx4 s[48:51], s[0:1], 0x3c // 00000000146C: C098013C s_waitcnt lgkmcnt(0) // 000000001470: BF8C007F tbuffer_load_format_x v19, v19, s[48:51], 0 idxen format:[BUF_DATA_FORMAT_32,BUF_NUM_FORMAT_FLOAT] // 000000001474: EBA02000 800C1313 s_waitcnt vmcnt(1) // 00000000147C: BF8C0F71 v_bfe_u32 v25, v24, 0, 16 // 000000001480: D2900019 02410118 v_lshrrev_b32 v24, 16, v24 // 000000001488: 2C303090 v_lshlrev_b32 v25, 2, v25 // 00000000148C: 34323282 v_lshlrev_b32 v24, 2, v24 // 000000001490: 34303082 ds_read_b32 v26, v25 offset:408 // 000000001494: D8D80198 1A000019 ds_read_b32 v27, v24 offset:408 // 00000000149C: D8D80198 1B000018 ds_read_b32 v28, v25 offset:8284 // 0000000014A4: D8D8205C 1C000019 ds_read_b32 v29, v24 offset:8284 // 0000000014AC: D8D8205C 1D000018 ds_read_b32 v30, v25 offset:16160 // 0000000014B4: D8D83F20 1E000019 ds_read_b32 v31, v24 offset:16160 // 0000000014BC: D8D83F20 1F000018 s_waitcnt lgkmcnt(4) // 0000000014C4: BF8C047F v_subrev_f32 v32, v26, v27 // 0000000014C8: 0A40371A s_waitcnt lgkmcnt(2) // 0000000014CC: BF8C027F v_subrev_f32 v33, v28, v29 // 0000000014D0: 0A423B1C v_madak_f32 v34, v32, v32, 0x34000000 // 0000000014D4: 42444120 34000000 s_waitcnt lgkmcnt(0) // 0000000014DC: BF8C007F v_subrev_f32 v35, v30, v31 // 0000000014E0: 0A463F1E v_mac_f32 v34, v33, v33 // 0000000014E4: 3E444321 ds_read_b32 v36, v25 offset:24036 // 0000000014E8: D8D85DE4 24000019 v_mac_f32 v34, v35, v35 // 0000000014F0: 3E444723 ds_read_b32 v37, v24 offset:24036 // 0000000014F4: D8D85DE4 25000018 v_rsq_f32 v34, v34 // 0000000014FC: 7E445D22 s_mov_b32 s3, 0x34000000 // 000000001500: BE8303FF 34000000 v_mad_f32 v34, v23, v34, -1.0 // 000000001508: D2820022 03CE4517 v_cmp_lt_f32 vcc, s3, v23 // 000000001510: 7C022E03 v_cndmask_b32 v23, 0, v34, vcc // 000000001514: 002E4480 s_waitcnt vmcnt(0) // 000000001518: BF8C0F70 v_mul_legacy_f32 v19, v22, v19 // 00000000151C: 0E262716 v_min_legacy_f32 v34, v18, -v23 // 000000001520: D21A0022 40022F12 v_exp_f32 v38, v15 // 000000001528: 7E4C4B0F v_exp_f32 v39, v13 // 00000000152C: 7E4E4B0D v_exp_f32 v19, v19 // 000000001530: 7E264B13 v_max_legacy_f32 v34, v17, v34 // 000000001534: 1C444511 v_sub_f32 v38, 1.0, v38 // 000000001538: 084C4CF2 v_sub_f32 v39, 1.0, v39 // 00000000153C: 084E4EF2 v_cmp_ne_i32 vcc, -1, v21 // 000000001540: 7D0A2AC1 v_sub_f32 v19, 1.0, v19 // 000000001544: 082626F2 s_waitcnt lgkmcnt(1) // 000000001548: BF8C017F v_add_f32 v40, 0x34000000, v36 // 00000000154C: 065048FF 34000000 v_mac_f32 v23, v38, v34 // 000000001554: 3E2E4526 v_cndmask_b32 v19, v39, v19, vcc // 000000001558: 00262727 s_waitcnt lgkmcnt(0) // 00000000155C: BF8C007F v_add_f32 v34, v37, v40 // 000000001560: 06445125 v_mul_legacy_f32 v19, v23, v19 // 000000001564: 0E262717 v_rcp_f32 v23, v34 // 000000001568: 7E2E5522 v_mul_f32 v19, v19, v23 // 00000000156C: 10262F13 v_mul_legacy_f32 v23, -v36, v19 // 000000001570: D20E0017 20022724 v_mac_f32 v26, v23, v32 // 000000001578: 3E344117 v_mac_f32 v28, v23, v33 // 00000000157C: 3E384317 ds_write_b32 v25, v26 offset:408 // 000000001580: D8340198 00001A19 v_mac_f32 v30, v23, v35 // 000000001588: 3E3C4717 ds_write_b32 v25, v28 offset:8284 // 00000000158C: D834205C 00001C19 ds_write_b32 v25, v30 offset:16160 // 000000001594: D8343F20 00001E19 v_mul_legacy_f32 v19, v37, v19 // 00000000159C: 0E262725 ds_write_b32 v25, v36 offset:24036 // 0000000015A0: D8345DE4 00002419 v_mac_f32 v27, v19, v32 // 0000000015A8: 3E364113 v_mac_f32 v29, v19, v33 // 0000000015AC: 3E3A4313 ds_write_b32 v24, v27 offset:408 // 0000000015B0: D8340198 00001B18 v_mac_f32 v31, v19, v35 // 0000000015B8: 3E3E4713 ds_write_b32 v24, v29 offset:8284 // 0000000015BC: D834205C 00001D18 ds_write_b32 v24, v31 offset:16160 // 0000000015C4: D8343F20 00001F18 ds_write_b32 v24, v37 offset:24036 // 0000000015CC: D8345DE4 00002518 v_add_i32 v16, vcc, 0x00000400, v16 // 0000000015D4: 4A2020FF 00000400 s_branch label_0512 // 0000000015DC: BF82FF9A label_0578: s_mov_b64 exec, s[44:45] // 0000000015E0: BEFE042C v_add_i32 v11, vcc, 1, v11 // 0000000015E4: 4A161681 s_branch label_04F0 // 0000000015E8: BF82FF75 label_057B: s_mov_b64 exec, s[40:41] // 0000000015EC: BEFE0428 s_barrier // 0000000015F0: BF8A0000 v_mov_b32 v11, 0 // 0000000015F4: 7E160280 ds_read_b32 v11, v11 offset:212 // 0000000015F8: D8D800D4 0B00000B s_waitcnt lgkmcnt(0) // 000000001600: BF8C007F v_cmp_ne_i32 vcc, -1, v11 // 000000001604: 7D0A16C1 s_and_saveexec_b64 s[40:41], vcc // wrscc // 000000001608: BEA8246A v_mov_b32 v12, 0 // 00000000160C: 7E180280 s_cbranch_execz label_05C9 // 000000001610: BF880044 ds_read2_b32 v[12:13], v12 offset1:54 // 000000001614: D8DC3600 0C00000C s_mov_b64 s[42:43], exec // 00000000161C: BEAA047E v_mov_b32 v14, v7 // 000000001620: 7E1C0307 s_nop 0x0000 // 000000001624: BF800000 s_nop 0x0000 // 000000001628: BF800000 s_nop 0x0000 // 00000000162C: BF800000 label_058C: s_waitcnt lgkmcnt(0) // 000000001630: BF8C007F v_cmp_ge_u32 vcc, v14, v12 // 000000001634: 7D8C190E s_andn2_b64 exec, exec, vcc // wrscc // 000000001638: 8AFE6A7E s_cbranch_execz label_05C8 // 00000000163C: BF880038 v_add_i32 v15, vcc, v11, v14 // 000000001640: 4A1E1D0B v_add_i32 v16, vcc, v13, v14 // 000000001644: 4A201D0D s_load_dwordx4 s[44:47], s[0:1], 0x2c // 000000001648: C096012C s_waitcnt lgkmcnt(0) // 00000000164C: BF8C007F tbuffer_load_format_xyzw v[17:20], v15, s[44:47], 0 idxen format:[BUF_DATA_FORMAT_32_32_32_32,BUF_NUM_FORMAT_FLOAT] // 000000001650: EBF32000 800B110F tbuffer_load_format_xyzw v[21:24], v16, s[44:47], 0 idxen format:[BUF_DATA_FORMAT_32_32_32_32,BUF_NUM_FORMAT_FLOAT] // 000000001658: EBF32000 800B1510 v_lshlrev_b32 v15, 2, v14 // 000000001660: 341E1C82 ds_read_b32 v16, v15 offset:16160 // 000000001664: D8D83F20 1000000F ds_read_b32 v25, v15 offset:8284 // 00000000166C: D8D8205C 1900000F ds_read_b32 v26, v15 offset:408 // 000000001674: D8D80198 1A00000F s_waitcnt vmcnt(0) // 00000000167C: BF8C0F70 v_subrev_f32 v23, v19, v23 // 000000001680: 0A2E2F13 v_subrev_f32 v22, v18, v22 // 000000001684: 0A2C2D12 v_mac_f32 v19, v23, v9 // 000000001688: 3E261317 v_subrev_f32 v21, v17, v21 // 00000000168C: 0A2A2B11 v_mac_f32 v18, v22, v9 // 000000001690: 3E241316 s_waitcnt lgkmcnt(2) // 000000001694: BF8C027F v_sub_f32 v19, v19, v16 // 000000001698: 08262113 v_mac_f32 v17, v21, v9 // 00000000169C: 3E221315 s_waitcnt lgkmcnt(1) // 0000000016A0: BF8C017F v_sub_f32 v18, v18, v25 // 0000000016A4: 08243312 v_mul_legacy_f32 v21, v19, v19 // 0000000016A8: 0E2A2713 s_waitcnt lgkmcnt(0) // 0000000016AC: BF8C007F v_sub_f32 v17, v17, v26 // 0000000016B0: 08223511 v_mac_f32 v21, v18, v18 // 0000000016B4: 3E2A2512 v_mac_f32 v21, v17, v17 // 0000000016B8: 3E2A2311 v_subrev_f32 v22, v20, v24 // 0000000016BC: 0A2C3114 v_add_f32 v21, 0x34000000, v21 // 0000000016C0: 062A2AFF 34000000 v_mac_f32 v20, v22, v9 // 0000000016C8: 3E281316 v_rsq_f32 v21, v21 // 0000000016CC: 7E2A5D15 v_mad_legacy_f32 v20, -v20, v21, 1.0 // 0000000016D0: D2800014 23CA2B14 ds_read_b32 v21, v15 offset:24036 // 0000000016D8: D8D85DE4 1500000F v_min_legacy_f32 v20, 0, v20 // 0000000016E0: 1A282880 v_mac_f32 v26, v20, v17 // 0000000016E4: 3E342314 v_mac_f32 v25, v20, v18 // 0000000016E8: 3E322514 ds_write_b32 v15, v26 offset:408 // 0000000016EC: D8340198 00001A0F v_mac_f32 v16, v20, v19 // 0000000016F4: 3E202714 ds_write_b32 v15, v25 offset:8284 // 0000000016F8: D834205C 0000190F ds_write_b32 v15, v16 offset:16160 // 000000001700: D8343F20 0000100F v_add_i32 v14, vcc, 0x00000400, v14 // 000000001708: 4A1C1CFF 00000400 s_waitcnt lgkmcnt(3) // 000000001710: BF8C037F ds_write_b32 v15, v21 offset:24036 // 000000001714: D8345DE4 0000150F s_branch label_058C // 00000000171C: BF82FFC4 label_05C8: s_barrier // 000000001720: BF8A0000 label_05C9: s_and_b64 exec, s[40:41], s[8:9] // wrscc // 000000001724: 87FE0828 v_lshrrev_b32 v11, 6, v7 // 000000001728: 2C160E86 s_cbranch_execz label_060C // 00000000172C: BF880040 tbuffer_load_format_xyzw v[11:14], v11, s[4:7], 0 idxen format:[BUF_DATA_FORMAT_32_32_32_32,BUF_NUM_FORMAT_FLOAT] // 000000001730: EBF32000 80010B0B v_mov_b32 v15, 0 // 000000001738: 7E1E0280 ds_read_b32 v15, v15 // 00000000173C: D8D80000 0F00000F s_waitcnt lgkmcnt(0) // 000000001744: BF8C007F v_add_i32 v16, vcc, -1, v15 // 000000001748: 4A201EC1 v_min_u32 v16, v2, v16 // 00000000174C: 26202102 v_lshlrev_b32 v17, 2, v16 // 000000001750: 34222082 ds_read_b32 v18, v17 offset:24036 // 000000001754: D8D85DE4 12000011 ds_read_b32 v19, v17 offset:16160 // 00000000175C: D8D83F20 13000011 ds_read_b32 v20, v17 offset:8284 // 000000001764: D8D8205C 14000011 ds_read_b32 v17, v17 offset:408 // 00000000176C: D8D80198 11000011 s_waitcnt vmcnt(0) & lgkmcnt(3) // 000000001774: BF8C0370 v_mul_legacy_f32 v18, v18, v14 // 000000001778: 0E241D12 s_waitcnt lgkmcnt(2) // 00000000177C: BF8C027F v_mac_f32 v18, v19, v13 // 000000001780: 3E241B13 s_waitcnt lgkmcnt(1) // 000000001784: BF8C017F v_mac_f32 v18, v20, v12 // 000000001788: 3E241914 v_and_b32 v19, 32, v7 // 00000000178C: 36260EA0 s_waitcnt lgkmcnt(0) // 000000001790: BF8C007F v_mac_f32 v18, v17, v11 // 000000001794: 3E241711 v_cmp_ne_i32 s[42:43], v19, 0 // 000000001798: D10A002A 00010113 v_cndmask_b32 v17, v18, -v18, s[42:43] // 0000000017A0: D2000011 40AA2512 ds_write_b32 v4, v17 offset:31912 // 0000000017A8: D8347CA8 00001104 s_mov_b64 s[44:45], exec // 0000000017B0: BEAC047E label_05ED: v_add_i32 v17, vcc, 32, v16 // 0000000017B4: 4A2220A0 v_cmp_ge_u32 vcc, v17, v15 // 0000000017B8: 7D8C1F11 s_andn2_b64 exec, exec, vcc // wrscc // 0000000017BC: 8AFE6A7E s_cbranch_execz label_060C // 0000000017C0: BF88001B v_lshlrev_b32 v16, 2, v16 // 0000000017C4: 34202082 ds_read_b32 v18, v16 offset:24164 // 0000000017C8: D8D85E64 12000010 ds_read_b32 v19, v16 offset:16288 // 0000000017D0: D8D83FA0 13000010 ds_read_b32 v20, v16 offset:8412 // 0000000017D8: D8D820DC 14000010 ds_read_b32 v16, v16 offset:536 // 0000000017E0: D8D80218 10000010 ds_read_b32 v21, v4 offset:31912 // 0000000017E8: D8D87CA8 15000004 s_waitcnt lgkmcnt(4) // 0000000017F0: BF8C047F v_mul_legacy_f32 v18, v14, v18 // 0000000017F4: 0E24250E s_waitcnt lgkmcnt(3) // 0000000017F8: BF8C037F v_mac_f32 v18, v19, v13 // 0000000017FC: 3E241B13 s_waitcnt lgkmcnt(2) // 000000001800: BF8C027F v_mac_f32 v18, v20, v12 // 000000001804: 3E241914 s_waitcnt lgkmcnt(1) // 000000001808: BF8C017F v_mac_f32 v18, v16, v11 // 00000000180C: 3E241710 v_cndmask_b32 v16, v18, -v18, s[42:43] // 000000001810: D2000010 40AA2512 s_waitcnt lgkmcnt(0) // 000000001818: BF8C007F v_max_legacy_f32 v16, v21, v16 // 00000000181C: 1C202115 ds_write_b32 v4, v16 offset:31912 // 000000001820: D8347CA8 00001004 v_mov_b32 v16, v17 // 000000001828: 7E200311 s_branch label_05ED // 00000000182C: BF82FFE1 label_060C: s_mov_b64 exec, s[40:41] // 000000001830: BEFE0428 s_waitcnt lgkmcnt(0) // 000000001834: BF8C007F s_barrier // 000000001838: BF8A0000 s_movk_i32 s3, 0x00b0 // 00000000183C: B00300B0 v_cmp_lt_u32 s[42:43], v7, s3 // 000000001840: D182002A 00000707 s_and_b64 exec, s[40:41], s[42:43] // wrscc // 000000001848: 87FE2A28 v_add_i32 v11, vcc, 0x00007ca8, v4 // 00000000184C: 4A1608FF 00007CA8 ds_read2_b32 v[11:12], v11 offset1:16 // 000000001854: D8DC1000 0B00000B s_waitcnt lgkmcnt(0) // 00000000185C: BF8C007F v_max_legacy_f32 v11, v11, v12 // 000000001860: 1C16190B ds_write_b32 v4, v11 offset:31912 // 000000001864: D8347CA8 00000B04 s_waitcnt lgkmcnt(0) // 00000000186C: BF8C007F s_barrier // 000000001870: BF8A0000 s_and_b64 exec, s[40:41], s[42:43] // wrscc // 000000001874: 87FE2A28 v_add_i32 v11, vcc, 0x00007ca8, v4 // 000000001878: 4A1608FF 00007CA8 ds_read2_b32 v[11:12], v11 offset1:8 // 000000001880: D8DC0800 0B00000B s_waitcnt lgkmcnt(0) // 000000001888: BF8C007F v_max_legacy_f32 v11, v11, v12 // 00000000188C: 1C16190B ds_write_b32 v4, v11 offset:31912 // 000000001890: D8347CA8 00000B04 s_waitcnt lgkmcnt(0) // 000000001898: BF8C007F s_barrier // 00000000189C: BF8A0000 s_and_b64 exec, s[40:41], s[42:43] // wrscc // 0000000018A0: 87FE2A28 v_add_i32 v11, vcc, 0x00007ca8, v4 // 0000000018A4: 4A1608FF 00007CA8 ds_read2_b32 v[11:12], v11 offset1:4 // 0000000018AC: D8DC0400 0B00000B s_waitcnt lgkmcnt(0) // 0000000018B4: BF8C007F v_max_legacy_f32 v11, v11, v12 // 0000000018B8: 1C16190B ds_write_b32 v4, v11 offset:31912 // 0000000018BC: D8347CA8 00000B04 s_waitcnt lgkmcnt(0) // 0000000018C4: BF8C007F s_barrier // 0000000018C8: BF8A0000 s_and_b64 exec, s[40:41], s[42:43] // wrscc // 0000000018CC: 87FE2A28 v_add_i32 v11, vcc, 0x00007ca8, v4 // 0000000018D0: 4A1608FF 00007CA8 ds_read2_b32 v[11:12], v11 offset1:2 // 0000000018D8: D8DC0200 0B00000B s_waitcnt lgkmcnt(0) // 0000000018E0: BF8C007F v_max_legacy_f32 v11, v11, v12 // 0000000018E4: 1C16190B ds_write_b32 v4, v11 offset:31912 // 0000000018E8: D8347CA8 00000B04 s_waitcnt lgkmcnt(0) // 0000000018F0: BF8C007F s_barrier // 0000000018F4: BF8A0000 s_and_b64 exec, s[40:41], s[42:43] // wrscc // 0000000018F8: 87FE2A28 v_add_i32 v11, vcc, 0x00007ca8, v4 // 0000000018FC: 4A1608FF 00007CA8 ds_read2_b32 v[11:12], v11 offset1:1 // 000000001904: D8DC0100 0B00000B s_waitcnt lgkmcnt(0) // 00000000190C: BF8C007F v_max_legacy_f32 v11, v11, v12 // 000000001910: 1C16190B ds_write_b32 v4, v11 offset:31912 // 000000001914: D8347CA8 00000B04 s_waitcnt lgkmcnt(0) // 00000000191C: BF8C007F s_barrier // 000000001920: BF8A0000 s_and_b64 exec, s[40:41], s[10:11] // wrscc // 000000001924: 87FE0A28 ds_read_b32 v11, v4 offset:31912 // 000000001928: D8D87CA8 0B000004 v_lshlrev_b32 v12, 2, v5 // 000000001930: 34180A82 s_waitcnt lgkmcnt(0) // 000000001934: BF8C007F ds_write_b32 v12, v11 offset:252 // 000000001938: D83400FC 00000B0C s_mov_b64 exec, s[40:41] // 000000001940: BEFE0428 s_waitcnt lgkmcnt(0) // 000000001944: BF8C007F s_barrier // 000000001948: BF8A0000 v_mov_b32 v11, 0 // 00000000194C: 7E160280 ds_read2_b32 v[11:12], v11 offset0:36 offset1:17 // 000000001950: D8DC1124 0B00000B s_waitcnt lgkmcnt(0) // 000000001958: BF8C007F v_cvt_f32_u32 v11, v11 // 00000000195C: 7E160D0B v_rcp_f32 v11, v11 // 000000001960: 7E16550B v_mul_f32 v10, v10, v11 // 000000001964: 1014170A buffer_store_dword v10, v0, s[92:95], s96 offset:28 // 000000001968: E070001C 60170A00 v_cmp_ne_u32 vcc, 0, v12 // 000000001970: 7D8A1880 s_and_saveexec_b64 s[40:41], vcc // wrscc // 000000001974: BEA8246A v_mov_b32 v11, 0 // 000000001978: 7E160280 s_cbranch_execz label_0726 // 00000000197C: BF8800C6 ds_read2_b32 v[13:14], v11 offset0:23 // 000000001980: D8DC0017 0D00000B ds_read2_b32 v[15:16], v11 offset0:18 offset1:58 // 000000001988: D8DC3A12 0F00000B ds_read_b32 v11, v11 offset:236 // 000000001990: D8D800EC 0B00000B s_mov_b64 s[42:43], exec // 000000001998: BEAA047E v_mov_b32 v17, v7 // 00000000199C: 7E220307 label_0668: s_waitcnt lgkmcnt(2) // 0000000019A0: BF8C027F v_cmp_ge_u32 vcc, v17, v14 // 0000000019A4: 7D8C1D11 s_andn2_b64 exec, exec, vcc // wrscc // 0000000019A8: 8AFE6A7E s_cbranch_execz label_0726 // 0000000019AC: BF8800BA v_lshlrev_b32 v18, 2, v17 // 0000000019B0: 34242282 ds_read_b32 v19, v18 offset:408 // 0000000019B4: D8D80198 13000012 v_add_i32 v20, vcc, 0x00000400, v17 // 0000000019BC: 4A2822FF 00000400 ds_read_b32 v21, v18 offset:8284 // 0000000019C4: D8D8205C 15000012 s_waitcnt lgkmcnt(3) // 0000000019CC: BF8C037F ds_read_b32 v22, v18 offset:16160 // 0000000019D0: D8D83F20 16000012 s_waitcnt lgkmcnt(3) // 0000000019D8: BF8C037F ds_read_b32 v23, v18 offset:24036 // 0000000019DC: D8D85DE4 17000012 s_mov_b64 s[44:45], exec // 0000000019E4: BEAC047E v_mov_b32 v26, 0 // 0000000019E8: 7E340280 v_mov_b32 v28, 0 // 0000000019EC: 7E380280 v_mov_b32 v24, 0 // 0000000019F0: 7E300280 v_mov_b32 v62, 0 // 0000000019F4: 7E7C0280 v_mov_b32 v27, 0 // 0000000019F8: 7E360280 v_mov_b32 v25, 0 // 0000000019FC: 7E320280 label_0680: v_cmp_ge_u32 vcc, v24, v12 // 000000001A00: 7D8C1918 s_andn2_b64 exec, exec, vcc // wrscc // 000000001A04: 8AFE6A7E s_cbranch_execz label_06D8 // 000000001A08: BF880055 v_add_i32 v29, vcc, v15, v24 // 000000001A0C: 4A3A310F s_load_dwordx8 s[48:55], s[0:1], 0x1c // 000000001A10: C0D8011C s_waitcnt lgkmcnt(0) // 000000001A14: BF8C007F tbuffer_load_format_x v29, v29, s[48:51], 0 idxen format:[BUF_DATA_FORMAT_32,BUF_NUM_FORMAT_FLOAT] // 000000001A18: EBA02000 800C1D1D s_waitcnt vmcnt(0) // 000000001A20: BF8C0F70 v_ffbl_b32 v30, v29 // 000000001A24: 7E3C751D v_add_i32 v31, vcc, v16, v30 // 000000001A28: 4A3E3D10 v_add_i32 v30, vcc, v11, v30 // 000000001A2C: 4A3C3D0B tbuffer_load_format_xyzw v[32:35], v30, s[52:55], 0 idxen format:[BUF_DATA_FORMAT_32_32_32_32,BUF_NUM_FORMAT_FLOAT] // 000000001A30: EBF32000 800D201E tbuffer_load_format_xyzw v[36:39], v31, s[52:55], 0 idxen format:[BUF_DATA_FORMAT_32_32_32_32,BUF_NUM_FORMAT_FLOAT] // 000000001A38: EBF32000 800D241F s_waitcnt vmcnt(0) // 000000001A40: BF8C0F70 v_subrev_f32 v30, v36, v32 // 000000001A44: 0A3C4124 v_subrev_f32 v31, v37, v33 // 000000001A48: 0A3E4325 v_subrev_f32 v32, v38, v34 // 000000001A4C: 0A404526 v_subrev_f32 v33, v39, v35 // 000000001A50: 0A424727 v_mac_f32 v36, v9, v30 // 000000001A54: 3E483D09 v_mad_f32 v31, v9, v31, v37 // 000000001A58: D282001F 04963F09 v_mad_f32 v32, v9, v32, v38 // 000000001A60: D2820020 049A4109 v_mac_f32 v39, v9, v33 // 000000001A68: 3E4E4309 v_mul_legacy_f32 v30, v22, v32 // 000000001A6C: 0E3C4116 v_mac_f32 v30, v21, v31 // 000000001A70: 3E3C3F15 v_mac_f32 v30, v19, v36 // 000000001A74: 3E3C4913 v_add_f32 v33, v39, v30 // 000000001A78: 06423D27 s_mov_b64 s[46:47], exec // 000000001A7C: BEAE047E s_mov_b64 s[48:49], exec // 000000001A80: BEB0047E v_mov_b32 v30, v36 // 000000001A84: 7E3C0324 label_06A2: v_add_i32 v34, vcc, -1, v29 // 000000001A88: 4A443AC1 v_and_b32 v29, v29, v34 // 000000001A8C: 363A451D v_cmp_lt_f32 s[50:51], v33, 0 // 000000001A90: D0020032 00010121 v_cmp_ne_i32 vcc, 0, v29 // 000000001A98: 7D0A3A80 s_and_b64 s[50:51], s[50:51], vcc // wrscc // 000000001A9C: 87B26A32 s_mov_b64 vcc, exec // 000000001AA0: BEEA047E s_andn2_b64 exec, vcc, s[50:51] // wrscc // 000000001AA4: 8AFE326A s_andn2_b64 s[48:49], s[48:49], exec // wrscc // 000000001AA8: 8AB07E30 s_cbranch_scc0 label_06C9 // 000000001AAC: BF84001D s_mov_b64 exec, s[48:49] // 000000001AB0: BEFE0430 v_ffbl_b32 v34, v29 // 000000001AB4: 7E44751D v_add_i32 v35, vcc, v16, v34 // 000000001AB8: 4A464510 v_add_i32 v34, vcc, v11, v34 // 000000001ABC: 4A44450B s_load_dwordx4 s[52:55], s[0:1], 0x20 // 000000001AC0: C09A0120 s_waitcnt lgkmcnt(0) // 000000001AC4: BF8C007F tbuffer_load_format_xyzw v[36:39], v34, s[52:55], 0 idxen format:[BUF_DATA_FORMAT_32_32_32_32,BUF_NUM_FORMAT_FLOAT] // 000000001AC8: EBF32000 800D2422 tbuffer_load_format_xyzw v[40:43], v35, s[52:55], 0 idxen format:[BUF_DATA_FORMAT_32_32_32_32,BUF_NUM_FORMAT_FLOAT] // 000000001AD0: EBF32000 800D2823 s_waitcnt vmcnt(0) // 000000001AD8: BF8C0F70 v_subrev_f32 v34, v40, v36 // 000000001ADC: 0A444928 v_subrev_f32 v35, v41, v37 // 000000001AE0: 0A464B29 v_subrev_f32 v36, v42, v38 // 000000001AE4: 0A484D2A v_subrev_f32 v37, v43, v39 // 000000001AE8: 0A4A4F2B v_mac_f32 v40, v9, v34 // 000000001AEC: 3E504509 v_mac_f32 v41, v9, v35 // 000000001AF0: 3E524709 v_mac_f32 v42, v9, v36 // 000000001AF4: 3E544909 v_mac_f32 v43, v9, v37 // 000000001AF8: 3E564B09 v_mul_legacy_f32 v34, v22, v42 // 000000001AFC: 0E445516 v_mac_f32 v34, v21, v41 // 000000001B00: 3E445315 v_mac_f32 v34, v19, v40 // 000000001B04: 3E445113 v_add_f32 v34, v43, v34 // 000000001B08: 0644452B v_cmp_gt_f32 vcc, v34, v33 // 000000001B0C: 7C084322 v_cndmask_b32 v30, v30, v40, vcc // 000000001B10: 003C511E v_cndmask_b32 v31, v31, v41, vcc // 000000001B14: 003E531F v_cndmask_b32 v32, v32, v42, vcc // 000000001B18: 00405520 v_cndmask_b32 v33, v33, v34, vcc // 000000001B1C: 00424521 s_branch label_06A2 // 000000001B20: BF82FFD9 label_06C9: s_mov_b64 exec, s[46:47] // 000000001B24: BEFE042E v_mad_legacy_f32 v29, -v30, v33, v25 // 000000001B28: D280001D 2466431E v_mad_legacy_f32 v30, -v31, v33, v26 // 000000001B30: D280001E 246A431F v_mad_legacy_f32 v31, -v32, v33, v27 // 000000001B38: D280001F 246E4320 v_cmp_gt_f32 vcc, 0, v33 // 000000001B40: 7C084280 v_cndmask_b32 v25, v25, v29, vcc // 000000001B44: 00323B19 v_cndmask_b32 v26, v26, v30, vcc // 000000001B48: 00343D1A v_cndmask_b32 v27, v27, v31, vcc // 000000001B4C: 00363F1B v_addc_u32 v28, vcc, v28, 0, vcc // 000000001B50: D2506A1C 01A9011C v_add_i32 v24, vcc, 1, v24 // 000000001B58: 4A303081 s_branch label_0680 // 000000001B5C: BF82FFA8 label_06D8: s_mov_b64 exec, s[44:45] // 000000001B60: BEFE042C v_cmp_ne_u32 vcc, 0, v28 // 000000001B64: 7D8A3880 s_and_saveexec_b64 s[44:45], vcc // wrscc // 000000001B68: BEAC246A v_cvt_f32_u32 v24, v28 // 000000001B6C: 7E300D1C s_cbranch_execz label_0723 // 000000001B70: BF880046 v_rcp_f32 v24, v24 // 000000001B74: 7E305518 v_cmp_lt_f32 vcc, 0, v13 // 000000001B78: 7C021A80 s_and_saveexec_b64 s[46:47], vcc // wrscc // 000000001B7C: BEAE246A v_add_i32 v17, vcc, v6, v17 // 000000001B80: 4A222306 s_cbranch_execz label_0713 // 000000001B84: BF880031 v_lshlrev_b32 v17, 4, v17 // 000000001B88: 34222284 buffer_load_dwordx4 v[28:31], v17, s[16:19], 0 offen // 000000001B8C: E0381000 80041C11 v_mul_legacy_f32 v32, v27, v27 // 000000001B94: 0E40371B v_mac_f32 v32, v26, v26 // 000000001B98: 3E40351A v_mac_f32 v32, v25, v25 // 000000001B9C: 3E403319 v_add_f32 v33, 0x34000000, v32 // 000000001BA0: 064240FF 34000000 v_rsq_f32 v33, v33 // 000000001BA8: 7E425D21 v_mul_legacy_f32 v34, v27, v33 // 000000001BAC: 0E44431B s_waitcnt vmcnt(0) & lgkmcnt(1) // 000000001BB0: BF8C0170 v_sub_f32 v35, v22, v30 // 000000001BB4: 08463D16 v_mov_b32 v36, 0 // 000000001BB8: 7E480280 v_mul_legacy_f32 v37, v26, v33 // 000000001BBC: 0E4A431A v_sub_f32 v38, v21, v29 // 000000001BC0: 084C3B15 v_mul_legacy_f32 v39, v34, v35 // 000000001BC4: 0E4E4722 ds_read_b32 v36, v36 offset:92 // 000000001BC8: D8D8005C 24000024 v_mul_legacy_f32 v40, v25, v33 // 000000001BD0: 0E504319 v_sub_f32 v41, v19, v28 // 000000001BD4: 08523913 v_mac_f32 v39, v38, v37 // 000000001BD8: 3E4E4B26 v_mac_f32 v39, v41, v40 // 000000001BDC: 3E4E5129 v_mad_legacy_f32 v35, -v39, v34, v35 // 000000001BE0: D2800023 248E4527 v_mad_legacy_f32 v38, -v39, v37, v38 // 000000001BE8: D2800026 249A4B27 v_mul_legacy_f32 v34, v35, v35 // 000000001BF0: 0E444723 v_mad_legacy_f32 v41, -v39, v40, v41 // 000000001BF4: D2800029 24A65127 v_mac_f32 v34, v38, v38 // 000000001BFC: 3E444D26 v_mac_f32 v34, v41, v41 // 000000001C00: 3E445329 s_waitcnt lgkmcnt(0) // 000000001C04: BF8C007F v_mul_legacy_f32 v32, -v36, v32 // 000000001C08: D20E0020 20024124 v_mul_legacy_f32 v32, v33, v32 // 000000001C10: 0E404121 v_add_f32 v33, 0x34000000, v34 // 000000001C14: 064244FF 34000000 v_mul_legacy_f32 v32, v24, v32 // 000000001C1C: 0E404118 v_rsq_f32 v33, v33 // 000000001C20: 7E425D21 v_mul_legacy_f32 v32, v33, v32 // 000000001C24: 0E404121 v_max_legacy_f32 v32, -1.0, v32 // 000000001C28: 1C4040F3 v_mad_legacy_f32 v28, -v41, v32, v28 // 000000001C2C: D280001C 24724129 v_mad_legacy_f32 v29, -v38, v32, v29 // 000000001C34: D280001D 24764126 v_mad_legacy_f32 v30, -v35, v32, v30 // 000000001C3C: D280001E 247A4123 buffer_store_dwordx4 v[28:31], v17, s[16:19], 0 offen // 000000001C44: E0781000 80041C11 label_0713: s_mov_b64 exec, s[46:47] // 000000001C4C: BEFE042E s_waitcnt lgkmcnt(3) // 000000001C50: BF8C037F v_mac_f32 v19, v25, v24 // 000000001C54: 3E263119 s_waitcnt lgkmcnt(2) // 000000001C58: BF8C027F v_mac_f32 v21, v26, v24 // 000000001C5C: 3E2A311A s_waitcnt lgkmcnt(1) // 000000001C60: BF8C017F v_mac_f32 v22, v27, v24 // 000000001C64: 3E2C311B ds_write_b32 v18, v19 offset:408 // 000000001C68: D8340198 00001312 ds_write_b32 v18, v21 offset:8284 // 000000001C70: D834205C 00001512 ds_write_b32 v18, v22 offset:16160 // 000000001C78: D8343F20 00001612 s_waitcnt lgkmcnt(3) // 000000001C80: BF8C037F ds_write_b32 v18, v23 offset:24036 // 000000001C84: D8345DE4 00001712 label_0723: s_mov_b64 exec, s[44:45] // 000000001C8C: BEFE042C v_mov_b32 v17, v20 // 000000001C90: 7E220314 s_branch label_0668 // 000000001C94: BF82FF42 label_0726: s_mov_b64 exec, s[40:41] // 000000001C98: BEFE0428 s_waitcnt lgkmcnt(0) // 000000001C9C: BF8C007F v_mov_b32 v11, 0 // 000000001CA0: 7E160280 ds_read_b32 v11, v11 offset:76 // 000000001CA4: D8D8004C 0B00000B s_waitcnt lgkmcnt(0) // 000000001CAC: BF8C007F v_cmp_ne_u32 vcc, 0, v11 // 000000001CB0: 7D8A1680 s_and_b64 exec, s[40:41], vcc // wrscc // 000000001CB4: 87FE6A28 s_cbranch_execz label_07FD // 000000001CB8: BF8800CE s_waitcnt vmcnt(0) // 000000001CBC: BF8C0F70 s_barrier // 000000001CC0: BF8A0000 v_mov_b32 v11, 0 // 000000001CC4: 7E160280 ds_read2_b32 v[12:13], v11 offset1:19 // 000000001CC8: D8DC1300 0C00000B ds_read2_b32 v[14:15], v11 offset0:60 offset1:61 // 000000001CD0: D8DC3D3C 0E00000B s_mov_b64 s[42:43], exec // 000000001CD8: BEAA047E v_mov_b32 v11, v7 // 000000001CDC: 7E160307 label_0738: s_waitcnt lgkmcnt(1) // 000000001CE0: BF8C017F v_cmp_ge_u32 vcc, v11, v12 // 000000001CE4: 7D8C190B s_andn2_b64 exec, exec, vcc // wrscc // 000000001CE8: 8AFE6A7E s_cbranch_execz label_07FB // 000000001CEC: BF8800BF v_lshlrev_b32 v16, 2, v11 // 000000001CF0: 34201682 ds_read_b32 v17, v16 offset:408 // 000000001CF4: D8D80198 11000010 v_add_i32 v11, vcc, 0x00000400, v11 // 000000001CFC: 4A1616FF 00000400 ds_read_b32 v18, v16 offset:8284 // 000000001D04: D8D8205C 12000010 ds_read_b32 v19, v16 offset:16160 // 000000001D0C: D8D83F20 13000010 s_waitcnt lgkmcnt(3) // 000000001D14: BF8C037F ds_read_b32 v20, v16 offset:24036 // 000000001D18: D8D85DE4 14000010 s_mov_b64 s[44:45], exec // 000000001D20: BEAC047E v_mov_b32 v24, 0 // 000000001D24: 7E300280 v_mov_b32 v27, 0x7f7fffff // 000000001D28: 7E3602FF 7F7FFFFF v_mov_b32 v21, 0 // 000000001D30: 7E2A0280 v_mov_b32 v26, 0 // 000000001D34: 7E340280 v_mov_b32 v22, 0 // 000000001D38: 7E2C0280 v_mov_b32 v62, 0 // 000000001D3C: 7E7C0280 v_mov_b32 v25, 0 // 000000001D40: 7E320280 v_mov_b32 v23, 0 // 000000001D44: 7E2E0280 label_0752: v_cmp_ge_u32 vcc, v21, v13 // 000000001D48: 7D8C1B15 s_andn2_b64 exec, exec, vcc // wrscc // 000000001D4C: 8AFE6A7E s_cbranch_execz label_07E4 // 000000001D50: BF88008F v_add_i32 v28, vcc, v14, v22 // 000000001D54: 4A382D0E v_add_i32 v29, vcc, v15, v22 // 000000001D58: 4A3A2D0F v_add_i32 v30, vcc, 1, v28 // 000000001D5C: 4A3C3881 v_add_i32 v31, vcc, 1, v29 // 000000001D60: 4A3E3A81 v_add_i32 v32, vcc, 2, v28 // 000000001D64: 4A403882 v_add_i32 v33, vcc, 2, v29 // 000000001D68: 4A423A82 tbuffer_load_format_xyz v[34:36], v28, s[20:23], 0 idxen format:[BUF_DATA_FORMAT_32_32_32,BUF_NUM_FORMAT_FLOAT] // 000000001D6C: EBEA2000 8005221C tbuffer_load_format_xyz v[37:39], v29, s[20:23], 0 idxen format:[BUF_DATA_FORMAT_32_32_32,BUF_NUM_FORMAT_FLOAT] // 000000001D74: EBEA2000 8005251D tbuffer_load_format_xyz v[28:30], v30, s[20:23], 0 idxen format:[BUF_DATA_FORMAT_32_32_32,BUF_NUM_FORMAT_FLOAT] // 000000001D7C: EBEA2000 80051C1E tbuffer_load_format_xyz v[40:42], v31, s[20:23], 0 idxen format:[BUF_DATA_FORMAT_32_32_32,BUF_NUM_FORMAT_FLOAT] // 000000001D84: EBEA2000 8005281F tbuffer_load_format_xyz v[43:45], v32, s[20:23], 0 idxen format:[BUF_DATA_FORMAT_32_32_32,BUF_NUM_FORMAT_FLOAT] // 000000001D8C: EBEA2000 80052B20 tbuffer_load_format_xyz v[31:33], v33, s[20:23], 0 idxen format:[BUF_DATA_FORMAT_32_32_32,BUF_NUM_FORMAT_FLOAT] // 000000001D94: EBEA2000 80051F21 s_waitcnt vmcnt(4) // 000000001D9C: BF8C0F74 v_subrev_f32 v39, v36, v39 // 000000001DA0: 0A4E4F24 s_waitcnt vmcnt(2) // 000000001DA4: BF8C0F72 v_subrev_f32 v42, v30, v42 // 000000001DA8: 0A54551E s_waitcnt vmcnt(0) // 000000001DAC: BF8C0F70 v_subrev_f32 v33, v45, v33 // 000000001DB0: 0A42432D v_subrev_f32 v38, v35, v38 // 000000001DB4: 0A4C4D23 v_mac_f32 v36, v39, v9 // 000000001DB8: 3E481327 v_subrev_f32 v39, v29, v41 // 000000001DBC: 0A4E531D v_mac_f32 v30, v42, v9 // 000000001DC0: 3E3C132A v_subrev_f32 v32, v44, v32 // 000000001DC4: 0A40412C v_mac_f32 v45, v33, v9 // 000000001DC8: 3E5A1321 v_subrev_f32 v33, v34, v37 // 000000001DCC: 0A424B22 v_mac_f32 v35, v38, v9 // 000000001DD0: 3E461326 v_subrev_f32 v37, v28, v40 // 000000001DD4: 0A4A511C v_mac_f32 v29, v39, v9 // 000000001DD8: 3E3A1327 v_subrev_f32 v31, v43, v31 // 000000001DDC: 0A3E3F2B v_mac_f32 v44, v32, v9 // 000000001DE0: 3E581320 v_subrev_f32 v30, v36, v30 // 000000001DE4: 0A3C3D24 v_subrev_f32 v32, v36, v45 // 000000001DE8: 0A405B24 v_mac_f32 v34, v33, v9 // 000000001DEC: 3E441321 v_mac_f32 v28, v37, v9 // 000000001DF0: 3E381325 v_mac_f32 v43, v31, v9 // 000000001DF4: 3E56131F v_subrev_f32 v29, v35, v29 // 000000001DF8: 0A3A3B23 v_subrev_f32 v31, v35, v44 // 000000001DFC: 0A3E5923 v_mul_legacy_f32 v33, v30, v32 // 000000001E00: 0E42411E s_waitcnt lgkmcnt(1) // 000000001E04: BF8C017F v_sub_f32 v36, v19, v36 // 000000001E08: 08484913 v_subrev_f32 v28, v34, v28 // 000000001E0C: 0A383922 v_subrev_f32 v37, v34, v43 // 000000001E10: 0A4A5722 v_mac_f32 v33, v29, v31 // 000000001E14: 3E423F1D v_mul_legacy_f32 v38, v30, v30 // 000000001E18: 0E4C3D1E v_mul_legacy_f32 v39, v32, v32 // 000000001E1C: 0E4E4120 v_sub_f32 v35, v18, v35 // 000000001E20: 08464712 v_mul_legacy_f32 v40, v30, v36 // 000000001E24: 0E50491E v_mul_legacy_f32 v41, v32, v36 // 000000001E28: 0E524920 v_mac_f32 v33, v28, v37 // 000000001E2C: 3E424B1C v_mac_f32 v38, v29, v29 // 000000001E30: 3E4C3B1D v_mac_f32 v39, v31, v31 // 000000001E34: 3E4E3F1F v_sub_f32 v34, v17, v34 // 000000001E38: 08444511 v_mac_f32 v40, v35, v29 // 000000001E3C: 3E503B23 v_mac_f32 v41, v35, v31 // 000000001E40: 3E523F23 v_mac_f32 v38, v28, v28 // 000000001E44: 3E4C391C v_mac_f32 v39, v37, v37 // 000000001E48: 3E4E4B25 v_mul_legacy_f32 v42, v33, v33 // 000000001E4C: 0E544321 v_mac_f32 v40, v34, v28 // 000000001E50: 3E503922 v_mac_f32 v41, v34, v37 // 000000001E54: 3E524B22 v_mad_legacy_f32 v42, v38, v39, -v42 // 000000001E58: D280002A 84AA4F26 v_mul_legacy_f32 v43, v33, v41 // 000000001E60: 0E565321 v_mul_legacy_f32 v44, v33, v40 // 000000001E64: 0E585121 v_mad_legacy_f32 v43, v39, v40, -v43 // 000000001E68: D280002B 84AE5127 v_mad_legacy_f32 v44, v38, v41, -v44 // 000000001E70: D280002C 84B25326 v_rcp_f32 v42, v42 // 000000001E78: 7E54552A v_rcp_f32 v45, v38 // 000000001E7C: 7E5A5526 v_mul_legacy_f32 v43, v42, v43 // 000000001E80: 0E56572A v_mul_legacy_f32 v45, v45, v40 // 000000001E84: 0E5A512D v_cmp_lt_f32 vcc, 0, v44 // 000000001E88: 7C025880 v_cndmask_b32 v43, v45, v43, vcc // 000000001E8C: 0056572D v_rcp_f32 v45, v39 // 000000001E90: 7E5A5527 v_add_f32 v38, v38, v39 // 000000001E94: 064C4F26 v_mul_legacy_f32 v42, v42, v44 // 000000001E98: 0E54592A v_mul_legacy_f32 v44, v45, v41 // 000000001E9C: 0E58532D v_cmp_lt_f32 vcc, 0, v43 // 000000001EA0: 7C025680 v_subrev_f32 v39, v33, v39 // 000000001EA4: 0A4E4F21 v_mac_f32 v38, -2.0, v33 // 000000001EA8: 3E4C42F5 v_cndmask_b32 v33, v44, v42, vcc // 000000001EAC: 0042552C v_add_f32 v39, v40, v39 // 000000001EB0: 064E4F28 v_add_f32 v40, v43, v33 // 000000001EB4: 0650432B v_subrev_f32 v39, v41, v39 // 000000001EB8: 0A4E4F29 v_rcp_f32 v38, v38 // 000000001EBC: 7E4C5526 v_mul_legacy_f32 v38, v38, v39 // 000000001EC0: 0E4C4F26 v_cmp_lt_f32 vcc, 1.0, v40 // 000000001EC4: 7C0250F2 v_cndmask_b32 v38, v43, v38, vcc // 000000001EC8: 004C4D2B v_mul_legacy_f32 v39, v29, v37 // 000000001ECC: 0E4E4B1D v_max_f32 v38, v38, v38 clamp // 000000001ED0: D2200826 00024D26 v_mul_legacy_f32 v40, v28, v32 // 000000001ED8: 0E50411C v_mad_legacy_f32 v39, v28, v31, -v39 // 000000001EDC: D2800027 849E3F1C v_sub_f32 v41, 1.0, v38 // 000000001EE4: 08524CF2 v_mul_legacy_f32 v42, v30, v31 // 000000001EE8: 0E543F1E v_mad_legacy_f32 v40, v30, v37, -v40 // 000000001EEC: D2800028 84A24B1E v_mul_legacy_f32 v43, v39, v39 // 000000001EF4: 0E564F27 v_min_legacy_f32 v33, v33, v41 // 000000001EF8: 1A425321 v_mad_legacy_f32 v42, v29, v32, -v42 // 000000001EFC: D280002A 84AA411D v_mac_f32 v43, v40, v40 // 000000001F04: 3E565128 v_max_legacy_f32 v33, 0, v33 // 000000001F08: 1C424280 v_mac_f32 v43, v42, v42 // 000000001F0C: 3E56552A v_mul_legacy_f32 v32, v32, v33 // 000000001F10: 0E404320 v_rsq_f32 v41, v43 // 000000001F14: 7E525D2B v_mul_legacy_f32 v31, v31, v33 // 000000001F18: 0E3E431F v_mac_f32 v32, v30, v38 // 000000001F1C: 3E404D1E v_mul_legacy_f32 v30, v39, v41 // 000000001F20: 0E3C5327 v_mul_legacy_f32 v33, v37, v33 // 000000001F24: 0E424325 v_mac_f32 v31, v29, v38 // 000000001F28: 3E3E4D1D v_sub_f32 v29, v36, v32 // 000000001F2C: 083A4124 v_mul_legacy_f32 v32, v40, v41 // 000000001F30: 0E405328 v_mul_legacy_f32 v36, v30, v36 // 000000001F34: 0E48491E v_mac_f32 v33, v28, v38 // 000000001F38: 3E424D1C v_sub_f32 v28, v35, v31 // 000000001F3C: 08383F23 v_mul_legacy_f32 v29, v29, v29 // 000000001F40: 0E3A3B1D v_mul_legacy_f32 v31, v42, v41 // 000000001F44: 0E3E532A v_mac_f32 v36, v35, v32 // 000000001F48: 3E484123 v_sub_f32 v33, v34, v33 // 000000001F4C: 08424322 v_mac_f32 v29, v28, v28 // 000000001F50: 3E3A391C v_mac_f32 v36, v34, v31 // 000000001F54: 3E483F22 v_mac_f32 v29, v33, v33 // 000000001F58: 3E3A4321 v_cmp_gt_f32 vcc, 0, v36 // 000000001F5C: 7C084880 v_mul_legacy_f32 v28, 0x3f800347, v29 // 000000001F60: 0E383AFF 3F800347 v_cndmask_b32 v28, v29, v28, vcc // 000000001F68: 0038391D v_cmp_gt_f32 vcc, v27, v28 // 000000001F6C: 7C08391B v_cndmask_b32 v23, v23, v31, vcc // 000000001F70: 002E3F17 v_cndmask_b32 v24, v24, v32, vcc // 000000001F74: 00304118 v_cndmask_b32 v25, v25, v30, vcc // 000000001F78: 00323D19 v_cndmask_b32 v26, v26, v36, vcc // 000000001F7C: 0034491A v_cndmask_b32 v27, v27, v28, vcc // 000000001F80: 0036391B v_add_i32 v21, vcc, 1, v21 // 000000001F84: 4A2A2A81 v_add_i32 v22, vcc, 3, v22 // 000000001F88: 4A2C2C83 s_branch label_0752 // 000000001F8C: BF82FF6E label_07E4: s_mov_b64 exec, s[44:45] // 000000001F90: BEFE042C v_cmp_gt_f32 vcc, 0, v26 // 000000001F94: 7C083480 s_and_saveexec_b64 s[44:45], vcc // wrscc // 000000001F98: BEAC246A s_waitcnt lgkmcnt(3) // 000000001F9C: BF8C037F v_mad_legacy_f32 v17, -v23, v26, v17 // 000000001FA0: D2800011 24463517 s_waitcnt lgkmcnt(2) // 000000001FA8: BF8C027F v_mad_legacy_f32 v18, -v24, v26, v18 // 000000001FAC: D2800012 244A3518 s_waitcnt lgkmcnt(1) // 000000001FB4: BF8C017F v_mad_legacy_f32 v19, -v25, v26, v19 // 000000001FB8: D2800013 244E3519 ds_write_b32 v16, v17 offset:408 // 000000001FC0: D8340198 00001110 ds_write_b32 v16, v18 offset:8284 // 000000001FC8: D834205C 00001210 ds_write_b32 v16, v19 offset:16160 // 000000001FD0: D8343F20 00001310 s_waitcnt lgkmcnt(3) // 000000001FD8: BF8C037F ds_write_b32 v16, v20 offset:24036 // 000000001FDC: D8345DE4 00001410 s_mov_b64 exec, s[44:45] // 000000001FE4: BEFE042C s_branch label_0738 // 000000001FE8: BF82FF3D label_07FB: s_waitcnt lgkmcnt(0) // 000000001FEC: BF8C007F s_barrier // 000000001FF0: BF8A0000 label_07FD: s_mov_b64 exec, s[40:41] // 000000001FF4: BEFE0428 v_mov_b32 v11, 0 // 000000001FF8: 7E160280 ds_read_b32 v11, v11 offset:84 // 000000001FFC: D8D80054 0B00000B s_waitcnt lgkmcnt(0) // 000000002004: BF8C007F v_cmp_ne_u32 vcc, 0, v11 // 000000002008: 7D8A1680 s_and_b64 exec, s[40:41], vcc // wrscc // 00000000200C: 87FE6A28 v_mov_b32 v11, 0 // 000000002010: 7E160280 s_cbranch_execz label_0B3D // 000000002014: BF880337 ds_read2_b32 v[12:13], v11 offset0:23 // 000000002018: D8DC0017 0C00000B ds_read2_b32 v[14:15], v11 offset0:56 offset1:57 // 000000002020: D8DC3938 0E00000B ds_read2_b32 v[16:17], v11 offset0:13 offset1:14 // 000000002028: D8DC0E0D 1000000B s_mov_b64 s[42:43], exec // 000000002030: BEAA047E v_mov_b32 v11, v7 // 000000002034: 7E160307 v_mov_b32 v62, v7 // 000000002038: 7E7C0307 v_mov_b32 v7, v5 // 00000000203C: 7E0E0305 v_mov_b32 v5, v3 // 000000002040: 7E0A0303 v_mov_b32 v3, v1 // 000000002044: 7E060301 v_mov_b32 v1, v10 // 000000002048: 7E02030A v_mov_b32 v10, v62 // 00000000204C: 7E14033E v_mov_b32 v62, v8 // 000000002050: 7E7C0308 v_mov_b32 v8, v6 // 000000002054: 7E100306 v_mov_b32 v6, v4 // 000000002058: 7E0C0304 v_mov_b32 v4, v2 // 00000000205C: 7E080302 v_mov_b32 v2, v9 // 000000002060: 7E040309 v_mov_b32 v9, v62 // 000000002064: 7E12033E label_081A: s_waitcnt lgkmcnt(2) // 000000002068: BF8C027F v_cmp_ge_u32 vcc, v11, v13 // 00000000206C: 7D8C1B0B s_andn2_b64 exec, exec, vcc // wrscc // 000000002070: 8AFE6A7E s_cbranch_execz label_0B3C // 000000002074: BF88031E v_lshlrev_b32 v18, 2, v11 // 000000002078: 34241682 buffer_store_dword v18, v0, s[92:95], s96 offset:24 // 00000000207C: E0700018 60171200 ds_read_b32 v19, v18 offset:408 // 000000002084: D8D80198 13000012 s_waitcnt lgkmcnt(0) // 00000000208C: BF8C007F buffer_store_dword v19, v0, s[92:95], s96 offset:20 // 000000002090: E0700014 60171300 v_add_i32 v20, vcc, 0x00000400, v11 // 000000002098: 4A2816FF 00000400 buffer_store_dword v20, v0, s[92:95], s96 offset:8 // 0000000020A0: E0700008 60171400 ds_read_b32 v21, v18 offset:8284 // 0000000020A8: D8D8205C 15000012 s_waitcnt lgkmcnt(0) // 0000000020B0: BF8C007F buffer_store_dword v21, v0, s[92:95], s96 offset:12 // 0000000020B4: E070000C 60171500 ds_read_b32 v22, v18 offset:16160 // 0000000020BC: D8D83F20 16000012 s_waitcnt lgkmcnt(0) // 0000000020C4: BF8C007F buffer_store_dword v22, v0, s[92:95], s96 offset:16 // 0000000020C8: E0700010 60171600 ds_read_b32 v23, v18 offset:24036 // 0000000020D0: D8D85DE4 17000012 v_add_i32 v11, vcc, v8, v11 // 0000000020D8: 4A161708 s_mov_b64 s[44:45], exec // 0000000020DC: BEAC047E s_mov_b64 s[46:47], exec // 0000000020E0: BEAE047E v_mov_b32 v31, 0 // 0000000020E4: 7E3E0280 v_mov_b32 v24, 0 // 0000000020E8: 7E300280 v_mov_b32 v30, 0 // 0000000020EC: 7E3C0280 v_mov_b32 v25, 0 // 0000000020F0: 7E320280 v_mov_b32 v29, 0 // 0000000020F4: 7E3A0280 v_mov_b32 v26, 0 // 0000000020F8: 7E340280 v_mov_b32 v28, 0 // 0000000020FC: 7E380280 v_mov_b32 v27, 0 // 000000002100: 7E360280 v_mov_b32 v62, v10 // 000000002104: 7E7C030A v_mov_b32 v10, v5 // 000000002108: 7E140305 v_mov_b32 v5, v20 // 00000000210C: 7E0A0314 v_mov_b32 v20, v8 // 000000002110: 7E280308 v_mov_b32 v8, v3 // 000000002114: 7E100303 v_mov_b32 v3, v21 // 000000002118: 7E060315 v_mov_b32 v21, v9 // 00000000211C: 7E2A0309 v_mov_b32 v9, v4 // 000000002120: 7E120304 v_mov_b32 v4, v19 // 000000002124: 7E080313 v_mov_b32 v19, v7 // 000000002128: 7E260307 v_mov_b32 v7, v2 // 00000000212C: 7E0E0302 v_mov_b32 v2, v22 // 000000002130: 7E040316 v_mov_b32 v22, v62 // 000000002134: 7E2C033E v_mov_b32 v62, v6 // 000000002138: 7E7C0306 v_mov_b32 v6, v1 // 00000000213C: 7E0C0301 v_mov_b32 v1, v18 // 000000002140: 7E020312 v_mov_b32 v18, v62 // 000000002144: 7E24033E s_movk_i32 s48, 0x0000 // 000000002148: B0300000 s_movk_i32 s49, 0x0000 // 00000000214C: B0310000 label_0854: v_cmp_ge_u32 vcc, v27, v16 // 000000002150: 7D8C211B v_lshlrev_b32 v32, 4, v11 // 000000002154: 34401684 buffer_load_dwordx3 v[33:35], v32, s[16:19], 0 offen // 000000002158: E03C1000 80042120 v_cmp_gt_f32 s[50:51], v12, 0 // 000000002160: D0080032 0001010C s_andn2_b64 s[48:49], s[48:49], exec // wrscc // 000000002168: 8AB07E30 s_nop 0x0000 // 00000000216C: BF800000 s_or_b64 s[48:49], s[50:51], s[48:49] // wrscc // 000000002170: 88B03032 s_and_saveexec_b64 s[52:53], vcc // wrscc // 000000002174: BEB4246A s_andn2_b64 s[46:47], s[46:47], exec // wrscc // 000000002178: 8AAE7E2E s_cbranch_scc0 label_0A41 // 00000000217C: BF8401E1 s_and_b64 exec, s[52:53], s[46:47] // wrscc // 000000002180: 87FE2E34 v_add_i32 v1, vcc, v17, v27 // 000000002184: 4A023711 s_load_dwordx8 s[52:59], s[0:1], 0x14 // 000000002188: C0DA0114 s_waitcnt lgkmcnt(0) // 00000000218C: BF8C007F tbuffer_load_format_xy v[8:9], v1, s[52:55], 0 idxen format:[BUF_DATA_FORMAT_32_32,BUF_NUM_FORMAT_FLOAT] // 000000002190: EBD92000 800D0801 s_waitcnt vmcnt(0) // 000000002198: BF8C0F70 v_add_i32 v1, vcc, v14, v8 // 00000000219C: 4A02110E v_add_i32 v5, vcc, v15, v8 // 0000000021A0: 4A0A110F v_add_i32 v8, vcc, v14, v9 // 0000000021A4: 4A10130E v_add_i32 v9, vcc, v15, v9 // 0000000021A8: 4A12130F tbuffer_load_format_xyzw v[18:21], v1, s[56:59], 0 idxen format:[BUF_DATA_FORMAT_32_32_32_32,BUF_NUM_FORMAT_FLOAT] // 0000000021AC: EBF32000 800E1201 tbuffer_load_format_xyzw v[36:39], v8, s[56:59], 0 idxen format:[BUF_DATA_FORMAT_32_32_32_32,BUF_NUM_FORMAT_FLOAT] // 0000000021B4: EBF32000 800E2408 tbuffer_load_format_xyzw v[40:43], v5, s[56:59], 0 idxen format:[BUF_DATA_FORMAT_32_32_32_32,BUF_NUM_FORMAT_FLOAT] // 0000000021BC: EBF32000 800E2805 tbuffer_load_format_xyzw v[44:47], v9, s[56:59], 0 idxen format:[BUF_DATA_FORMAT_32_32_32_32,BUF_NUM_FORMAT_FLOAT] // 0000000021C4: EBF32000 800E2C09 s_waitcnt vmcnt(1) // 0000000021CC: BF8C0F71 v_subrev_f32 v1, v20, v42 // 0000000021D0: 0A025514 s_waitcnt vmcnt(0) // 0000000021D4: BF8C0F70 v_subrev_f32 v5, v38, v46 // 0000000021D8: 0A0A5D26 v_subrev_f32 v8, v19, v41 // 0000000021DC: 0A105313 v_subrev_f32 v9, v21, v43 // 0000000021E0: 0A125715 v_mad_f32 v10, v6, v1, v20 // 0000000021E4: D282000A 04520306 v_subrev_f32 v22, v37, v45 // 0000000021EC: 0A2C5B25 v_subrev_f32 v32, v39, v47 // 0000000021F0: 0A405F27 v_mad_f32 v41, v6, v5, v38 // 0000000021F4: D2820029 049A0B06 v_subrev_f32 v40, v18, v40 // 0000000021FC: 0A505112 v_mad_f32 v42, v6, v8, v19 // 000000002200: D282002A 044E1106 v_mad_f32 v43, v6, v9, v21 // 000000002208: D282002B 04561306 v_subrev_f32 v44, v36, v44 // 000000002210: 0A585924 v_mad_f32 v45, v6, v22, v37 // 000000002214: D282002D 04962D06 v_mad_f32 v46, v6, v32, v39 // 00000000221C: D282002E 049E4106 v_add_f32 v47, -v10, v41 div:2 // 000000002224: D206002F 3802530A v_mad_f32 v48, v6, v40, v18 // 00000000222C: D2820030 044A5106 v_mad_f32 v6, v6, v44, v36 // 000000002234: D2820006 04925906 v_max_legacy_f32 v43, 0, v43 // 00000000223C: 1C565680 v_add_f32 v49, -v42, v45 div:2 // 000000002240: D2060031 38025B2A v_max_legacy_f32 v46, 0, v46 // 000000002248: 1C5C5C80 v_mul_legacy_f32 v50, v47, v47 // 00000000224C: 0E645F2F v_add_f32 v51, -v48, v6 div:2 // 000000002250: D2060033 38020D30 v_subrev_f32 v46, v43, v46 // 000000002258: 0A5C5D2B v_mac_f32 v50, v49, v49 // 00000000225C: 3E646331 v_max_f32 v52, v46, v46 div:2 // 000000002260: D2200034 18025D2E v_mac_f32 v50, v51, v51 // 000000002268: 3E646733 v_mad_legacy_f32 v53, -v52, v52, v50 // 00000000226C: D2800035 24CA6934 v_cmp_le_f32 s[52:53], v53, 0 // 000000002274: D0060034 00010135 v_addc_u32 v54, vcc, v27, 0, s[52:53] // 00000000227C: D2506A36 00D1011B s_mov_b64 s[54:55], exec // 000000002284: BEB6047E s_andn2_b64 exec, s[54:55], s[52:53] // wrscc // 000000002288: 8AFE3436 v_mac_f32 v18, v7, v40 // 00000000228C: 3E245107 s_cbranch_execz label_09F7 // 000000002290: BF880152 v_mac_f32 v19, v7, v8 // 000000002294: 3E261107 v_mac_f32 v20, v7, v1 // 000000002298: 3E280307 v_mac_f32 v21, v7, v9 // 00000000229C: 3E2A1307 v_mac_f32 v36, v7, v44 // 0000000022A0: 3E485907 v_mac_f32 v37, v7, v22 // 0000000022A4: 3E4A2D07 v_mac_f32 v38, v7, v5 // 0000000022A8: 3E4C0B07 v_mac_f32 v39, v7, v32 // 0000000022AC: 3E4E4107 v_max_legacy_f32 v1, 0, v21 // 0000000022B0: 1C022A80 v_add_f32 v5, -v18, v36 div:2 // 0000000022B4: D2060005 38024912 v_add_f32 v7, -v19, v37 div:2 // 0000000022BC: D2060007 38024B13 v_add_f32 v8, -v20, v38 div:2 // 0000000022C4: D2060008 38024D14 v_max_legacy_f32 v9, 0, v39 // 0000000022CC: 1C124E80 v_subrev_f32 v9, v1, v9 // 0000000022D0: 0A121301 v_max_f32 v21, v9, v9 div:2 // 0000000022D4: D2200015 18021309 v_mul_legacy_f32 v22, v8, v8 // 0000000022DC: 0E2C1108 v_mac_f32 v22, v7, v7 // 0000000022E0: 3E2C0F07 v_mac_f32 v22, v5, v5 // 0000000022E4: 3E2C0B05 v_mad_legacy_f32 v32, -v21, v21, v22 // 0000000022E8: D2800020 245A2B15 v_cmp_le_f32 s[56:57], v32, 0 // 0000000022F0: D0060038 00010120 v_addc_u32 v27, vcc, v27, 1, s[52:53] // 0000000022F8: D2506A1B 00D1031B v_cndmask_b32 v27, v54, v27, s[56:57] // 000000002300: D200001B 00E23736 s_mov_b64 s[52:53], exec // 000000002308: BEB4047E s_andn2_b64 exec, s[52:53], s[56:57] // wrscc // 00000000230C: 8AFE3834 v_add_f32 v39, v48, v6 // 000000002310: 064E0D30 s_cbranch_execz label_09EC // 000000002314: BF880126 v_add_f32 v40, v42, v45 // 000000002318: 06505B2A v_add_f32 v44, v10, v41 // 00000000231C: 0658530A v_mac_f32 v33, -0.5, v39 // 000000002320: 3E424EF1 v_mac_f32 v34, -0.5, v40 // 000000002324: 3E4450F1 v_mac_f32 v35, -0.5, v44 // 000000002328: 3E4658F1 v_rsq_f32 v39, v50 // 00000000232C: 7E4E5D32 v_mul_legacy_f32 v40, v50, v39 // 000000002330: 0E504F32 v_mac_f32 v43, 0.5, v46 // 000000002334: 3E565CF0 v_rsq_f32 v44, v53 // 000000002338: 7E585D35 v_mul_legacy_f32 v43, v44, v43 // 00000000233C: 0E56572C v_mul_legacy_f32 v43, v40, v43 // 000000002340: 0E565728 v_mul_legacy_f32 v46, v51, v39 // 000000002344: 0E5C4F33 v_mul_legacy_f32 v49, v49, v39 // 000000002348: 0E624F31 v_mul_legacy_f32 v39, v47, v39 // 00000000234C: 0E4E4F2F v_mul_legacy_f32 v44, v52, v44 // 000000002350: 0E585934 v_mul_legacy_f32 v47, v35, v49 // 000000002354: 0E5E6323 v_mul_legacy_f32 v50, v33, v39 // 000000002358: 0E644F21 v_mul_legacy_f32 v51, v34, v46 // 00000000235C: 0E665D22 v_mad_legacy_f32 v47, v34, v39, -v47 // 000000002360: D280002F 84BE4F22 v_mad_legacy_f32 v50, v35, v46, -v50 // 000000002368: D2800032 84CA5D23 v_mad_legacy_f32 v51, v33, v49, -v51 // 000000002370: D2800033 84CE6321 v_mul_legacy_f32 v52, v35, v39 // 000000002378: 0E684F23 v_mac_f32 v52, v34, v49 // 00000000237C: 3E686322 v_mac_f32 v52, v33, v46 // 000000002380: 3E685D21 v_add_f32 v53, v18, v36 // 000000002384: 066A4912 v_add_f32 v54, v19, v37 // 000000002388: 066C4B13 v_add_f32 v55, v20, v38 // 00000000238C: 066E4D14 v_mac_f32 v4, -0.5, v53 // 000000002390: 3E086AF1 v_mac_f32 v3, -0.5, v54 // 000000002394: 3E066CF1 v_mac_f32 v2, -0.5, v55 // 000000002398: 3E046EF1 v_rsq_f32 v53, v22 // 00000000239C: 7E6A5D16 v_mul_legacy_f32 v22, v22, v53 // 0000000023A0: 0E2C6B16 v_mac_f32 v1, 0.5, v9 // 0000000023A4: 3E0212F0 v_rsq_f32 v9, v32 // 0000000023A8: 7E125D20 v_mul_legacy_f32 v1, v9, v1 // 0000000023AC: 0E020309 v_mul_legacy_f32 v1, v22, v1 // 0000000023B0: 0E020316 v_mul_legacy_f32 v5, v5, v53 // 0000000023B4: 0E0A6B05 v_mul_legacy_f32 v7, v7, v53 // 0000000023B8: 0E0E6B07 v_mul_legacy_f32 v8, v8, v53 // 0000000023BC: 0E106B08 v_mul_legacy_f32 v32, v2, v7 // 0000000023C0: 0E400F02 v_mul_legacy_f32 v54, v4, v8 // 0000000023C4: 0E6C1104 v_mul_legacy_f32 v55, v3, v5 // 0000000023C8: 0E6E0B03 v_mad_legacy_f32 v32, v3, v8, -v32 // 0000000023CC: D2800020 84821103 v_mad_legacy_f32 v54, v2, v5, -v54 // 0000000023D4: D2800036 84DA0B02 v_mad_legacy_f32 v55, v4, v7, -v55 // 0000000023DC: D2800037 84DE0F04 v_mul_legacy_f32 v56, v2, v8 // 0000000023E4: 0E701102 v_mac_f32 v56, v3, v7 // 0000000023E8: 3E700F03 v_mac_f32 v56, v4, v5 // 0000000023EC: 3E700B04 v_mul_legacy_f32 v57, v55, v55 // 0000000023F0: 0E726F37 v_mac_f32 v57, v54, v54 // 0000000023F4: 3E726D36 v_mac_f32 v57, v32, v32 // 0000000023F8: 3E724120 v_mac_f32 v43, v52, v44 // 0000000023FC: 3E565934 v_mul_legacy_f32 v9, v21, v9 // 000000002400: 0E121315 v_mad_f32 v52, v56, v9, v1 // 000000002404: D2820034 04061338 v_mul_legacy_f32 v58, v51, v51 // 00000000240C: 0E746733 v_mac_f32 v58, v50, v50 // 000000002410: 3E746532 v_mac_f32 v58, v47, v47 // 000000002414: 3E745F2F v_max_legacy_f32 v43, 0, v43 // 000000002418: 1C565680 v_mad_legacy_f32 v58, -v43, v43, v58 // 00000000241C: D280003A 24EA572B v_mul_legacy_f32 v51, v51, v55 // 000000002424: 0E666F33 v_mac_f32 v51, v50, v54 // 000000002428: 3E666D32 v_mac_f32 v51, v47, v32 // 00000000242C: 3E66412F v_max_legacy_f32 v32, 0, v52 // 000000002430: 1C406880 v_mad_legacy_f32 v51, -v43, v32, v51 // 000000002434: D2800033 24CE412B v_add_f32 v47, 0x34000000, v57 // 00000000243C: 065E72FF 34000000 v_mad_legacy_f32 v50, -v32, v32, v47 // 000000002444: D2800032 24BE4120 v_mul_legacy_f32 v52, v58, v50 // 00000000244C: 0E68653A v_mad_legacy_f32 v52, v51, v51, -v52 // 000000002450: D2800034 84D26733 v_subrev_f32 v54, v58, v51 // 000000002458: 0A6C673A v_sub_f32 v50, v51, v50 // 00000000245C: 08646533 v_add_f32 v50, v54, v50 // 000000002460: 06646536 v_sqrt_f32 v51, v52 // 000000002464: 7E666734 v_add_f32 v55, v51, v54 // 000000002468: 066E6D33 v_rcp_f32 v57, v50 // 00000000246C: 7E725532 v_min_legacy_f32 v55, 0, v55 // 000000002470: 1A6E6E80 v_mul_f32 v58, v55, v57 // 000000002474: 10747337 v_cmp_gt_f32 vcc, v51, v54 // 000000002478: 7C086D33 v_cmp_lt_f32 s[56:57], v58, 1.0 // 00000000247C: D0020038 0001E53A s_and_b64 s[56:57], s[56:57], vcc // wrscc // 000000002484: 87B86A38 v_mul_legacy_f32 v54, v54, v50 // 000000002488: 0E6C6536 v_subrev_f32 v59, v43, v32 // 00000000248C: 0A76412B v_mac_f32 v43, v54, v59 // 000000002490: 3E567736 v_mul_legacy_f32 v43, v43, v43 // 000000002494: 0E56572B v_mul_legacy_f32 v43, v50, v43 // 000000002498: 0E565732 v_mul_legacy_f32 v43, 0xbeb851ec, v43 // 00000000249C: 0E5656FF BEB851EC v_cmp_gt_f32 vcc, v52, v43 // 0000000024A4: 7C085734 s_and_b64 s[56:57], s[56:57], vcc // wrscc // 0000000024A8: 87B86A38 s_mov_b32 s3, 0xb4000000 // 0000000024AC: BE8303FF B4000000 v_cmp_gt_f32 vcc, s3, v50 // 0000000024B4: 7C086403 s_and_b64 s[56:57], s[56:57], vcc // wrscc // 0000000024B8: 87B86A38 v_sub_f32 v43, v33, v4 // 0000000024BC: 08560921 v_sub_f32 v52, v34, v3 // 0000000024C0: 08680722 v_sub_f32 v54, v35, v2 // 0000000024C4: 086C0523 v_mad_legacy_f32 v33, -v43, v58, v33 // 0000000024C8: D2800021 2486752B v_mad_legacy_f32 v34, -v52, v58, v34 // 0000000024D0: D2800022 248A7534 v_mad_legacy_f32 v35, -v54, v58, v35 // 0000000024D8: D2800023 248E7536 v_mul_legacy_f32 v59, v22, v5 // 0000000024E0: 0E760B16 v_mul_legacy_f32 v60, v22, v7 // 0000000024E4: 0E780F16 v_mul_legacy_f32 v61, v22, v8 // 0000000024E8: 0E7A1116 v_mad_legacy_f32 v46, -v46, v40, v59 // 0000000024EC: D280002E 24EE512E v_mad_legacy_f32 v49, -v49, v40, v60 // 0000000024F4: D2800031 24F25131 v_mad_legacy_f32 v39, -v39, v40, v61 // 0000000024FC: D2800027 24F65127 v_mad_f32 v40, -v55, v57, 1.0 // 000000002504: D2820028 23CA7337 v_mad_legacy_f32 v59, -v46, v40, v59 // 00000000250C: D280003B 24EE512E v_mad_legacy_f32 v60, -v49, v40, v60 // 000000002514: D280003C 24F25131 v_mad_legacy_f32 v61, -v39, v40, v61 // 00000000251C: D280003D 24F65127 v_mul_legacy_f32 v55, v9, v58 // 000000002524: 0E6E7509 v_mac_f32 v55, v44, v40 // 000000002528: 3E6E512C v_mul_legacy_f32 v44, v61, v61 // 00000000252C: 0E587B3D v_mac_f32 v44, v60, v60 // 000000002530: 3E58793C v_mac_f32 v44, v59, v59 // 000000002534: 3E58773B v_mul_legacy_f32 v57, v35, v61 // 000000002538: 0E727B23 v_mac_f32 v57, v34, v60 // 00000000253C: 3E727922 v_mac_f32 v57, v33, v59 // 000000002540: 3E727721 v_rsq_f32 v44, v44 // 000000002544: 7E585D2C v_mul_legacy_f32 v57, v44, v57 // 000000002548: 0E72732C v_mul_legacy_f32 v35, v35, v35 // 00000000254C: 0E464723 v_mac_f32 v35, v34, v34 // 000000002550: 3E464522 v_mac_f32 v35, v33, v33 // 000000002554: 3E464321 v_mad_legacy_f32 v35, -v57, v57, v35 // 000000002558: D2800023 248E7339 v_rsq_f32 v33, v35 // 000000002560: 7E425D23 v_cmp_lt_f32 vcc, 0, v35 // 000000002564: 7C024680 v_cndmask_b32 v33, 0, v33, vcc // 000000002568: 00424280 v_mul_legacy_f32 v34, v55, v35 // 00000000256C: 0E444737 v_mac_f32 v57, v34, v33 // 000000002570: 3E724322 v_mul_legacy_f32 v33, v44, v57 // 000000002574: 0E42732C v_cmp_gt_f32 s[58:59], 1.0, abs(v33) // 000000002578: D008023A 000242F2 v_mac_f32 v43, v46, v33 // 000000002580: 3E56432E v_mac_f32 v52, v49, v33 // 000000002584: 3E684331 v_mac_f32 v54, v39, v33 // 000000002588: 3E6C4327 v_mul_legacy_f32 v33, v50, v40 // 00000000258C: 0E425132 v_rcp_f32 v33, v33 // 000000002590: 7E425521 v_mul_f32 v33, v51, v33 // 000000002594: 10424333 s_mov_b32 s3, 0x34000000 // 000000002598: BE8303FF 34000000 v_cmp_lt_f32 vcc, s3, v40 // 0000000025A0: 7C025003 v_cndmask_b32 v33, 0, v33, vcc // 0000000025A4: 00424280 v_sub_f32 v33, 1.0, v33 // 0000000025A8: 084242F2 v_rcp_f32 v33, v33 // 0000000025AC: 7E425521 v_mul_f32 v33, v40, v33 // 0000000025B0: 10424328 v_mad_f32 v34, v43, v33, v4 // 0000000025B4: D2820022 0412432B v_mad_f32 v35, v52, v33, v3 // 0000000025BC: D2820023 040E4334 v_mad_f32 v33, v54, v33, v2 // 0000000025C4: D2820021 040A4336 v_mul_legacy_f32 v39, v8, v33 // 0000000025CC: 0E4E4308 v_mac_f32 v39, v35, v7 // 0000000025D0: 3E4E0F23 v_mac_f32 v39, v34, v5 // 0000000025D4: 3E4E0B22 v_mac_f32 v1, v39, v9 // 0000000025D8: 3E021327 v_mul_legacy_f32 v40, v33, v33 // 0000000025DC: 0E504321 v_mac_f32 v40, v35, v35 // 0000000025E0: 3E504723 v_mac_f32 v40, v34, v34 // 0000000025E4: 3E504522 v_mad_legacy_f32 v40, -v39, v39, v40 // 0000000025E8: D2800028 24A24F27 v_cndmask_b32 v39, v56, v39, s[58:59] // 0000000025F0: D2000027 00EA4F38 v_cndmask_b32 v40, v47, v40, s[58:59] // 0000000025F8: D2000028 00EA512F v_max_legacy_f32 v1, 0, v1 // 000000002600: 1C020280 v_cndmask_b32 v1, v32, v1, s[58:59] // 000000002604: D2000001 00EA0320 v_cndmask_b32 v39, v56, v39, s[56:57] // 00000000260C: D2000027 00E24F38 v_cndmask_b32 v40, v47, v40, s[56:57] // 000000002614: D2000028 00E2512F v_cndmask_b32 v1, v32, v1, s[56:57] // 00000000261C: D2000001 00E20320 v_mul_legacy_f32 v32, v1, v1 // 000000002624: 0E400301 v_cmp_gt_f32 s[60:61], v40, v32 // 000000002628: D008003C 00024128 v_addc_u32 v32, vcc, v27, 0, s[60:61] // 000000002630: D2506A20 00F1011B s_mov_b64 s[62:63], exec // 000000002638: BEBE047E s_andn2_b64 exec, s[62:63], s[60:61] // wrscc // 00000000263C: 8AFE3C3E v_mul_legacy_f32 v21, v21, v53 // 000000002640: 0E2A6B15 s_cbranch_execz label_09E1 // 000000002644: BF88004F v_mad_legacy_f32 v21, -v21, v21, 1.0 // 000000002648: D2800015 23CA2B15 v_cndmask_b32 v32, v4, v34, s[58:59] // 000000002650: D2000020 00EA4504 v_cndmask_b32 v34, v3, v35, s[58:59] // 000000002658: D2000022 00EA4703 v_cndmask_b32 v33, v2, v33, s[58:59] // 000000002660: D2000021 00EA4302 v_cndmask_b32 v4, v4, v32, s[56:57] // 000000002668: D2000004 00E24104 v_cndmask_b32 v3, v3, v34, s[56:57] // 000000002670: D2000003 00E24503 v_cndmask_b32 v2, v2, v33, s[56:57] // 000000002678: D2000002 00E24302 v_max_legacy_f32 v32, 0x34000000, v40 // 000000002680: 1C4050FF 34000000 v_mul_legacy_f32 v9, v9, v32 // 000000002688: 0E124109 v_rsq_f32 v32, v32 // 00000000268C: 7E405D20 v_mad_f32 v9, v9, v32, v39 // 000000002690: D2820009 049E4109 v_cmp_gt_f32 vcc, v22, abs(v9) // 000000002698: D008026A 00021316 v_mad_legacy_f32 v4, -v9, v5, v4 // 0000000026A0: D2800004 24120B09 v_mad_legacy_f32 v3, -v9, v7, v3 // 0000000026A8: D2800003 240E0F09 v_mad_legacy_f32 v2, -v9, v8, v2 // 0000000026B0: D2800002 240A1109 v_mul_legacy_f32 v1, v1, v32 // 0000000026B8: 0E024101 v_mad_legacy_f32 v21, v1, v21, -v21 // 0000000026BC: D2800015 84562B01 v_mad_f32 v1, v4, v21, v24 // 0000000026C4: D2820001 04622B04 v_mad_f32 v3, v3, v21, v25 // 0000000026CC: D2820003 04662B03 v_mad_f32 v2, v2, v21, v26 // 0000000026D4: D2820002 046A2B02 v_subrev_f32 v4, v48, v18 // 0000000026DC: 0A082530 v_subrev_f32 v5, v42, v19 // 0000000026E0: 0A0A272A v_subrev_f32 v7, v10, v20 // 0000000026E4: 0A0E290A v_subrev_f32 v6, v6, v36 // 0000000026E8: 0A0C4906 v_subrev_f32 v8, v45, v37 // 0000000026EC: 0A104B2D v_subrev_f32 v9, v41, v38 // 0000000026F0: 0A124D29 v_subrev_f32 v6, v4, v6 // 0000000026F4: 0A0C0D04 v_subrev_f32 v8, v5, v8 // 0000000026F8: 0A101105 v_subrev_f32 v9, v7, v9 // 0000000026FC: 0A121307 v_mad_f32 v10, v39, 0.5, 0.5 // 000000002700: D282000A 03C1E127 v_mac_f32 v4, v10, v6 // 000000002708: 3E080D0A v_mac_f32 v5, v10, v8 // 00000000270C: 3E0A110A v_mac_f32 v7, v10, v9 // 000000002710: 3E0E130A v_add_f32 v4, v28, v4 // 000000002714: 0608091C v_add_f32 v5, v29, v5 // 000000002718: 060A0B1D v_add_f32 v6, v30, v7 // 00000000271C: 060C0F1E v_cndmask_b32 v4, v28, v4, s[50:51] // 000000002720: D2000004 00CA091C v_cndmask_b32 v5, v29, v5, s[50:51] // 000000002728: D2000005 00CA0B1D v_cndmask_b32 v6, v30, v6, s[50:51] // 000000002730: D2000006 00CA0D1E v_cndmask_b32 v1, v24, v1, vcc // 000000002738: 00020318 v_cndmask_b32 v3, v25, v3, vcc // 00000000273C: 00060719 v_cndmask_b32 v2, v26, v2, vcc // 000000002740: 0004051A v_cndmask_b32 v4, v28, v4, vcc // 000000002744: 0008091C v_cndmask_b32 v5, v29, v5, vcc // 000000002748: 000A0B1D v_cndmask_b32 v6, v30, v6, vcc // 00000000274C: 000C0D1E v_addc_u32 v7, vcc, v31, 0, vcc // 000000002750: D2506A07 01A9011F v_addc_u32 v8, vcc, v27, 1, s[60:61] // 000000002758: D2506A08 00F1031B v_mov_b32 v62, v3 // 000000002760: 7E7C0303 v_mov_b32 v3, v2 // 000000002764: 7E060302 v_mov_b32 v2, v62 // 000000002768: 7E04033E v_mov_b32 v62, v8 // 00000000276C: 7E7C0308 v_mov_b32 v8, v7 // 000000002770: 7E100307 v_mov_b32 v7, v6 // 000000002774: 7E0E0306 v_mov_b32 v6, v5 // 000000002778: 7E0C0305 v_mov_b32 v5, v4 // 00000000277C: 7E0A0304 v_mov_b32 v4, v62 // 000000002780: 7E08033E label_09E1: s_andn2_b64 exec, s[62:63], exec // wrscc // 000000002784: 8AFE7E3E v_mov_b32 v1, v24 // 000000002788: 7E020318 s_cbranch_execz label_09EB // 00000000278C: BF880007 v_mov_b32 v2, v25 // 000000002790: 7E040319 v_mov_b32 v3, v26 // 000000002794: 7E06031A v_mov_b32 v4, v32 // 000000002798: 7E080320 v_mov_b32 v5, v28 // 00000000279C: 7E0A031C v_mov_b32 v6, v29 // 0000000027A0: 7E0C031D v_mov_b32 v7, v30 // 0000000027A4: 7E0E031E v_mov_b32 v8, v31 // 0000000027A8: 7E10031F label_09EB: s_mov_b64 exec, s[62:63] // 0000000027AC: BEFE043E label_09EC: s_andn2_b64 exec, s[52:53], exec // wrscc // 0000000027B0: 8AFE7E34 v_mov_b32 v1, v24 // 0000000027B4: 7E020318 s_cbranch_execz label_09F6 // 0000000027B8: BF880007 v_mov_b32 v2, v25 // 0000000027BC: 7E040319 v_mov_b32 v3, v26 // 0000000027C0: 7E06031A v_mov_b32 v4, v27 // 0000000027C4: 7E08031B v_mov_b32 v5, v28 // 0000000027C8: 7E0A031C v_mov_b32 v6, v29 // 0000000027CC: 7E0C031D v_mov_b32 v7, v30 // 0000000027D0: 7E0E031E v_mov_b32 v8, v31 // 0000000027D4: 7E10031F label_09F6: s_mov_b64 exec, s[52:53] // 0000000027D8: BEFE0434 label_09F7: s_andn2_b64 exec, s[54:55], exec // wrscc // 0000000027DC: 8AFE7E36 v_mov_b32 v1, v24 // 0000000027E0: 7E020318 s_cbranch_execz label_0A01 // 0000000027E4: BF880007 v_mov_b32 v2, v25 // 0000000027E8: 7E040319 v_mov_b32 v3, v26 // 0000000027EC: 7E06031A v_mov_b32 v4, v54 // 0000000027F0: 7E080336 v_mov_b32 v5, v28 // 0000000027F4: 7E0A031C v_mov_b32 v6, v29 // 0000000027F8: 7E0C031D v_mov_b32 v7, v30 // 0000000027FC: 7E0E031E v_mov_b32 v8, v31 // 000000002800: 7E10031F label_0A01: s_mov_b64 exec, s[54:55] // 000000002804: BEFE0436 buffer_load_dword v9, v0, s[92:95], s96 offset:24 // 000000002808: E0300018 60170900 buffer_load_dword v10, v0, s[92:95], s96 offset:16 // 000000002810: E0300010 60170A00 buffer_load_dword v18, v0, s[92:95], s96 offset:12 // 000000002818: E030000C 60171200 buffer_load_dword v19, v0, s[92:95], s96 offset:20 // 000000002820: E0300014 60171300 buffer_load_dword v20, v0, s[92:95], s96 offset:8 // 000000002828: E0300008 60171400 buffer_load_dword v21, v0, s[92:95], s96 offset:28 // 000000002830: E030001C 60171500 buffer_load_dword v22, v0, s[92:95], s96 offset:48 // 000000002838: E0300030 60171600 buffer_load_dword v24, v0, s[92:95], s96 offset:56 // 000000002840: E0300038 60171800 buffer_load_dword v25, v0, s[92:95], s96 offset:32 // 000000002848: E0300020 60171900 buffer_load_dword v26, v0, s[92:95], s96 offset:40 // 000000002850: E0300028 60171A00 buffer_load_dword v27, v0, s[92:95], s96 offset:60 // 000000002858: E030003C 60171B00 buffer_load_dword v28, v0, s[92:95], s96 offset:44 // 000000002860: E030002C 60171C00 buffer_load_dword v29, v0, s[92:95], s96 // 000000002868: E0300000 60171D00 buffer_load_dword v30, v0, s[92:95], s96 offset:36 // 000000002870: E0300024 60171E00 buffer_load_dword v31, v0, s[92:95], s96 offset:4 // 000000002878: E0300004 60171F00 v_mov_b32 v62, v1 // 000000002880: 7E7C0301 s_waitcnt vmcnt(14) // 000000002884: BF8C0F7E v_mov_b32 v1, v9 // 000000002888: 7E020309 s_waitcnt vmcnt(6) // 00000000288C: BF8C0F76 v_mov_b32 v9, v25 // 000000002890: 7E120319 v_mov_b32 v25, v2 // 000000002894: 7E320302 v_mov_b32 v2, v10 // 000000002898: 7E04030A s_waitcnt vmcnt(5) // 00000000289C: BF8C0F75 v_mov_b32 v10, v26 // 0000000028A0: 7E14031A v_mov_b32 v26, v3 // 0000000028A4: 7E340303 v_mov_b32 v3, v18 // 0000000028A8: 7E060312 s_waitcnt vmcnt(4) // 0000000028AC: BF8C0F74 v_mov_b32 v18, v27 // 0000000028B0: 7E24031B v_mov_b32 v27, v4 // 0000000028B4: 7E360304 v_mov_b32 v4, v19 // 0000000028B8: 7E080313 s_waitcnt vmcnt(3) // 0000000028BC: BF8C0F73 v_mov_b32 v19, v28 // 0000000028C0: 7E26031C v_mov_b32 v28, v5 // 0000000028C4: 7E380305 v_mov_b32 v5, v20 // 0000000028C8: 7E0A0314 s_waitcnt vmcnt(2) // 0000000028CC: BF8C0F72 v_mov_b32 v20, v29 // 0000000028D0: 7E28031D v_mov_b32 v29, v6 // 0000000028D4: 7E3A0306 v_mov_b32 v6, v21 // 0000000028D8: 7E0C0315 s_waitcnt vmcnt(1) // 0000000028DC: BF8C0F71 v_mov_b32 v21, v30 // 0000000028E0: 7E2A031E v_mov_b32 v30, v7 // 0000000028E4: 7E3C0307 v_mov_b32 v7, v22 // 0000000028E8: 7E0E0316 s_waitcnt vmcnt(0) // 0000000028EC: BF8C0F70 v_mov_b32 v22, v31 // 0000000028F0: 7E2C031F v_mov_b32 v31, v8 // 0000000028F4: 7E3E0308 v_mov_b32 v8, v24 // 0000000028F8: 7E100318 v_mov_b32 v24, v62 // 0000000028FC: 7E30033E s_branch label_0854 // 000000002900: BF82FE13 label_0A41: s_mov_b64 exec, s[44:45] // 000000002904: BEFE042C v_mov_b32 v11, 0 // 000000002908: 7E160280 ds_read_b32 v11, v11 offset:60 // 00000000290C: D8D8003C 0B00000B s_mov_b64 s[44:45], exec // 000000002914: BEAC047E v_mov_b32 v27, 0 // 000000002918: 7E360280 v_mov_b32 v36, v29 // 00000000291C: 7E48031D v_mov_b32 v37, v30 // 000000002920: 7E4A031E v_mov_b32 v38, v31 // 000000002924: 7E4C031F v_mov_b32 v29, v25 // 000000002928: 7E3A0319 v_mov_b32 v30, v26 // 00000000292C: 7E3C031A v_mov_b32 v31, v28 // 000000002930: 7E3E031C v_mov_b32 v25, v3 // 000000002934: 7E320303 v_mov_b32 v26, v2 // 000000002938: 7E340302 v_mov_b32 v28, v24 // 00000000293C: 7E380318 v_mov_b32 v24, v4 // 000000002940: 7E300304 label_0A51: s_waitcnt lgkmcnt(0) // 000000002944: BF8C007F v_cmp_ge_u32 vcc, v27, v11 // 000000002948: 7D8C171B s_andn2_b64 exec, exec, vcc // wrscc // 00000000294C: 8AFE6A7E s_cbranch_execz label_0AE7 // 000000002950: BF880092 v_add_i32 v39, vcc, v14, v27 // 000000002954: 4A4E370E v_add_i32 v40, vcc, v15, v27 // 000000002958: 4A50370F s_load_dwordx4 s[52:55], s[0:1], 0x18 // 00000000295C: C09A0118 s_waitcnt lgkmcnt(0) // 000000002960: BF8C007F tbuffer_load_format_xyzw v[41:44], v39, s[52:55], 0 idxen format:[BUF_DATA_FORMAT_32_32_32_32,BUF_NUM_FORMAT_FLOAT] // 000000002964: EBF32000 800D2927 tbuffer_load_format_xyzw v[45:48], v40, s[52:55], 0 idxen format:[BUF_DATA_FORMAT_32_32_32_32,BUF_NUM_FORMAT_FLOAT] // 00000000296C: EBF32000 800D2D28 s_waitcnt vmcnt(0) // 000000002974: BF8C0F70 v_subrev_f32 v39, v43, v47 // 000000002978: 0A4E5F2B v_subrev_f32 v40, v42, v46 // 00000000297C: 0A505D2A v_mad_f32 v46, v7, v39, v43 // 000000002980: D282002E 04AE4F07 v_subrev_f32 v45, v41, v45 // 000000002988: 0A5A5B29 v_mad_f32 v47, v7, v40, v42 // 00000000298C: D282002F 04AA5107 v_mac_f32 v43, v6, v39 // 000000002994: 3E564F06 v_sub_f32 v39, v26, v46 // 000000002998: 084E5D1A v_mad_f32 v49, v7, v45, v41 // 00000000299C: D2820031 04A65B07 v_mac_f32 v42, v6, v40 // 0000000029A4: 3E545106 v_sub_f32 v40, v25, v47 // 0000000029A8: 08505F19 v_sub_f32 v50, v35, v43 // 0000000029AC: 08645723 v_mul_legacy_f32 v51, v39, v39 // 0000000029B0: 0E664F27 v_subrev_f32 v48, v44, v48 // 0000000029B4: 0A60612C v_mac_f32 v41, v6, v45 // 0000000029B8: 3E525B06 v_sub_f32 v45, v24, v49 // 0000000029BC: 085A6318 v_sub_f32 v52, v34, v42 // 0000000029C0: 08685522 v_mac_f32 v51, v40, v40 // 0000000029C4: 3E665128 v_mul_legacy_f32 v53, v50, v50 // 0000000029C8: 0E6A6532 v_mac_f32 v44, v7, v48 // 0000000029CC: 3E586107 v_sub_f32 v48, v33, v41 // 0000000029D0: 08605321 v_mac_f32 v51, v45, v45 // 0000000029D4: 3E665B2D v_mac_f32 v53, v52, v52 // 0000000029D8: 3E6A6934 v_mul_legacy_f32 v54, v39, v50 // 0000000029DC: 0E6C6527 v_mac_f32 v53, v48, v48 // 0000000029E0: 3E6A6130 v_max_legacy_f32 v44, 0, v44 // 0000000029E4: 1C585880 v_mac_f32 v54, v52, v40 // 0000000029E8: 3E6C5134 v_add_f32 v51, 0x34000000, v51 // 0000000029EC: 066666FF 34000000 v_mad_legacy_f32 v53, -v44, v44, v53 // 0000000029F4: D2800035 24D6592C v_mac_f32 v54, v48, v45 // 0000000029FC: 3E6C5B30 v_mad_legacy_f32 v55, -v44, v44, v51 // 000000002A00: D2800037 24CE592C v_mad_legacy_f32 v54, -v44, v44, v54 // 000000002A08: D2800036 24DA592C v_mul_legacy_f32 v56, v53, v55 // 000000002A10: 0E706F35 v_mad_legacy_f32 v56, v54, v54, -v56 // 000000002A14: D2800038 84E26D36 v_subrev_f32 v53, v53, v54 // 000000002A1C: 0A6A6D35 v_sub_f32 v54, v54, v55 // 000000002A20: 086C6F36 v_sqrt_f32 v55, v56 // 000000002A24: 7E6E6738 v_add_f32 v54, v53, v54 // 000000002A28: 066C6D35 v_add_f32 v57, v55, v53 // 000000002A2C: 06726B37 v_rcp_f32 v58, v54 // 000000002A30: 7E745536 v_min_legacy_f32 v57, 0, v57 // 000000002A34: 1A727280 v_mad_f32 v59, -v57, v58, 1.0 // 000000002A38: D282003B 23CA7539 v_mul_legacy_f32 v60, v54, v59 // 000000002A40: 0E787736 v_mul_legacy_f32 v61, v44, v44 // 000000002A44: 0E7A592C v_rcp_f32 v60, v60 // 000000002A48: 7E78553C v_mul_f32 v57, v57, v58 // 000000002A4C: 10727539 v_mul_legacy_f32 v58, v61, v54 // 000000002A50: 0E746D3D v_mad_f32 v60, -v55, v60, 1.0 // 000000002A54: D282003C 23CA7937 v_cmp_gt_f32 s[46:47], v55, v53 // 000000002A5C: D008002E 00026B37 v_cmp_lt_f32 s[50:51], v57, 1.0 // 000000002A64: D0020032 0001E539 v_mul_legacy_f32 v53, 0xbeb851ec, v58 // 000000002A6C: 0E6A74FF BEB851EC v_rcp_f32 v55, v60 // 000000002A74: 7E6E553C v_cmp_gt_f32 vcc, v56, v53 // 000000002A78: 7C086B38 s_mov_b32 s3, 0xb4000000 // 000000002A7C: BE8303FF B4000000 v_subrev_f32 v50, v39, v50 // 000000002A84: 0A646527 v_mul_f32 v53, v59, v55 // 000000002A88: 106A6F3B v_cmp_lt_f32 s[52:53], v54, s3 // 000000002A8C: D0020034 00000736 v_subrev_f32 v52, v40, v52 // 000000002A94: 0A686928 v_mad_f32 v50, v50, v53, v39 // 000000002A98: D2820032 049E6B32 v_subrev_f32 v48, v45, v48 // 000000002AA0: 0A60612D v_mad_f32 v52, v52, v53, v40 // 000000002AA4: D2820034 04A26B34 v_mul_legacy_f32 v54, v50, v50 // 000000002AAC: 0E6C6532 s_and_b64 s[46:47], s[50:51], s[46:47] // wrscc // 000000002AB0: 87AE2E32 v_mad_f32 v48, v48, v53, v45 // 000000002AB4: D2820030 04B66B30 v_mac_f32 v54, v52, v52 // 000000002ABC: 3E6C6934 s_and_b64 vcc, s[46:47], vcc // wrscc // 000000002AC0: 87EA6A2E v_mac_f32 v54, v48, v48 // 000000002AC4: 3E6C6130 s_and_b64 vcc, vcc, s[52:53] // wrscc // 000000002AC8: 87EA346A v_add_f32 v53, 0x34000000, v54 // 000000002ACC: 066A6CFF 34000000 v_cndmask_b32 v51, v51, v53, vcc // 000000002AD4: 00666B33 v_rsq_f32 v51, v51 // 000000002AD8: 7E665D33 v_sub_f32 v41, v49, v41 // 000000002ADC: 08525331 v_sub_f32 v42, v47, v42 // 000000002AE0: 0854552F v_sub_f32 v43, v46, v43 // 000000002AE4: 0856572E v_cndmask_b32 v45, v45, v48, vcc // 000000002AE8: 005A612D v_cndmask_b32 v40, v40, v52, vcc // 000000002AEC: 00506928 v_cndmask_b32 v39, v39, v50, vcc // 000000002AF0: 004E6527 v_mul_legacy_f32 v53, v44, v51 // 000000002AF4: 0E6A672C v_mad_f32 v44, v44, v51, -1.0 // 000000002AF8: D282002C 03CE672C v_add_f32 v41, v31, v41 // 000000002B00: 0652531F v_add_f32 v42, v36, v42 // 000000002B04: 06545524 v_add_f32 v43, v37, v43 // 000000002B08: 06565725 v_add_f32 v48, v49, v48 // 000000002B0C: 06606131 v_add_f32 v47, v47, v52 // 000000002B10: 065E692F v_add_f32 v46, v46, v50 // 000000002B14: 065C652E v_mad_f32 v45, v45, v44, v28 // 000000002B18: D282002D 0472592D v_mad_f32 v40, v40, v44, v29 // 000000002B20: D2820028 04765928 v_mad_f32 v39, v39, v44, v30 // 000000002B28: D2820027 047A5927 v_cndmask_b32 v41, v31, v41, s[48:49] // 000000002B30: D2000029 00C2531F v_cndmask_b32 v42, v36, v42, s[48:49] // 000000002B38: D200002A 00C25524 v_cndmask_b32 v43, v37, v43, s[48:49] // 000000002B40: D200002B 00C25725 v_cmp_gt_f32 s[46:47], v53, 1.0 // 000000002B48: D008002E 0001E535 v_cndmask_b32 v24, v24, v48, vcc // 000000002B50: 00306118 v_cndmask_b32 v25, v25, v47, vcc // 000000002B54: 00325F19 v_cndmask_b32 v26, v26, v46, vcc // 000000002B58: 00345D1A v_cndmask_b32 v28, v28, v45, s[46:47] // 000000002B5C: D200001C 00BA5B1C v_cndmask_b32 v29, v29, v40, s[46:47] // 000000002B64: D200001D 00BA511D v_cndmask_b32 v30, v30, v39, s[46:47] // 000000002B6C: D200001E 00BA4F1E v_cndmask_b32 v31, v31, v41, s[46:47] // 000000002B74: D200001F 00BA531F v_cndmask_b32 v36, v36, v42, s[46:47] // 000000002B7C: D2000024 00BA5524 v_cndmask_b32 v37, v37, v43, s[46:47] // 000000002B84: D2000025 00BA5725 v_addc_u32 v38, vcc, v38, 0, s[46:47] // 000000002B8C: D2506A26 00B90126 v_add_i32 v27, vcc, 1, v27 // 000000002B94: 4A363681 s_branch label_0A51 // 000000002B98: BF82FF6A label_0AE7: s_mov_b64 exec, s[44:45] // 000000002B9C: BEFE042C v_cmp_ne_u32 vcc, 0, v38 // 000000002BA0: 7D8A4C80 s_and_saveexec_b64 s[44:45], vcc // wrscc // 000000002BA4: BEAC246A v_cvt_f32_u32 v11, v38 // 000000002BA8: 7E160D26 s_cbranch_execz label_0B2F // 000000002BAC: BF880043 v_rcp_f32 v11, v11 // 000000002BB0: 7E16550B s_and_saveexec_b64 s[46:47], s[48:49] // wrscc // 000000002BB4: BEAE2430 v_mov_b32 v24, 0 // 000000002BB8: 7E300280 s_cbranch_execz label_0B23 // 000000002BBC: BF880033 ds_read_b32 v24, v24 offset:92 // 000000002BC0: D8D8005C 18000018 v_mul_legacy_f32 v25, v30, v30 // 000000002BC8: 0E323D1E v_mac_f32 v25, v29, v29 // 000000002BCC: 3E323B1D v_mac_f32 v25, v28, v28 // 000000002BD0: 3E32391C v_add_f32 v26, 0x34000000, v25 // 000000002BD4: 063432FF 34000000 v_rsq_f32 v26, v26 // 000000002BDC: 7E345D1A v_mul_legacy_f32 v27, v28, v26 // 000000002BE0: 0E36351C v_mul_legacy_f32 v38, v29, v26 // 000000002BE4: 0E4C351D v_mul_legacy_f32 v39, v30, v26 // 000000002BE8: 0E4E351E s_waitcnt vmcnt(0) // 000000002BEC: BF8C0F70 v_sub_f32 v40, v4, v33 // 000000002BF0: 08504304 v_sub_f32 v41, v3, v34 // 000000002BF4: 08524503 v_sub_f32 v42, v2, v35 // 000000002BF8: 08544702 v_mad_legacy_f32 v40, -v31, v11, v40 // 000000002BFC: D2800028 24A2171F v_mad_legacy_f32 v41, -v36, v11, v41 // 000000002C04: D2800029 24A61724 v_mad_legacy_f32 v42, -v37, v11, v42 // 000000002C0C: D280002A 24AA1725 v_mul_legacy_f32 v31, v39, v42 // 000000002C14: 0E3E5527 v_mac_f32 v31, v41, v38 // 000000002C18: 3E3E4D29 v_mac_f32 v31, v40, v27 // 000000002C1C: 3E3E3728 v_mad_legacy_f32 v40, -v31, v27, v40 // 000000002C20: D2800028 24A2371F v_mad_legacy_f32 v41, -v31, v38, v41 // 000000002C28: D2800029 24A64D1F v_mad_legacy_f32 v42, -v31, v39, v42 // 000000002C30: D280002A 24AA4F1F v_mul_legacy_f32 v27, v42, v42 // 000000002C38: 0E36552A v_mac_f32 v27, v41, v41 // 000000002C3C: 3E365329 v_mac_f32 v27, v40, v40 // 000000002C40: 3E365128 s_waitcnt lgkmcnt(0) // 000000002C44: BF8C007F v_mul_legacy_f32 v24, -v24, v25 // 000000002C48: D20E0018 20023318 v_mul_legacy_f32 v24, v26, v24 // 000000002C50: 0E30311A v_mul_legacy_f32 v24, v11, v24 // 000000002C54: 0E30310B v_add_f32 v25, 0x34000000, v27 // 000000002C58: 063236FF 34000000 v_rsq_f32 v25, v25 // 000000002C60: 7E325D19 v_mul_legacy_f32 v24, v25, v24 // 000000002C64: 0E303119 v_max_legacy_f32 v24, -1.0, v24 // 000000002C68: 1C3030F3 v_mad_legacy_f32 v25, -v40, v24, v33 // 000000002C6C: D2800019 24863128 v_mad_legacy_f32 v26, -v41, v24, v34 // 000000002C74: D280001A 248A3129 v_mad_legacy_f32 v27, -v42, v24, v35 // 000000002C7C: D280001B 248E312A buffer_store_dwordx3 v[25:27], v32, s[16:19], 0 offen // 000000002C84: E07C1000 80041920 label_0B23: s_mov_b64 exec, s[46:47] // 000000002C8C: BEFE042E v_mac_f32 v4, v28, v11 // 000000002C90: 3E08171C v_mac_f32 v3, v29, v11 // 000000002C94: 3E06171D v_mac_f32 v2, v30, v11 // 000000002C98: 3E04171E ds_write_b32 v1, v4 offset:408 // 000000002C9C: D8340198 00000401 ds_write_b32 v1, v3 offset:8284 // 000000002CA4: D834205C 00000301 ds_write_b32 v1, v2 offset:16160 // 000000002CAC: D8343F20 00000201 ds_write_b32 v1, v23 offset:24036 // 000000002CB4: D8345DE4 00001701 label_0B2F: s_mov_b64 exec, s[44:45] // 000000002CBC: BEFE042C v_mov_b32 v11, v5 // 000000002CC0: 7E160305 v_mov_b32 v5, v10 // 000000002CC4: 7E0A030A v_mov_b32 v4, v9 // 000000002CC8: 7E080309 v_mov_b32 v3, v8 // 000000002CCC: 7E060308 v_mov_b32 v2, v7 // 000000002CD0: 7E040307 v_mov_b32 v1, v6 // 000000002CD4: 7E020306 v_mov_b32 v10, v22 // 000000002CD8: 7E140316 v_mov_b32 v9, v21 // 000000002CDC: 7E120315 v_mov_b32 v8, v20 // 000000002CE0: 7E100314 v_mov_b32 v7, v19 // 000000002CE4: 7E0E0313 v_mov_b32 v6, v18 // 000000002CE8: 7E0C0312 s_branch label_081A // 000000002CEC: BF82FCDE label_0B3C: s_mov_b64 exec, s[42:43] // 000000002CF0: BEFE042A label_0B3D: s_andn2_b64 exec, s[40:41], exec // wrscc // 000000002CF4: 8AFE7E28 v_mov_b32 v11, 0 // 000000002CF8: 7E160280 s_cbranch_execz label_0D15 // 000000002CFC: BF8801D5 ds_read2_b32 v[12:13], v11 offset0:22 offset1:23 // 000000002D00: D8DC1716 0C00000B ds_read2_b32 v[14:15], v11 offset1:56 // 000000002D08: D8DC3800 0E00000B ds_read2_b32 v[16:17], v11 offset0:57 offset1:13 // 000000002D10: D8DC0D39 1000000B ds_read_b32 v11, v11 offset:56 // 000000002D18: D8D80038 0B00000B s_mov_b64 s[42:43], exec // 000000002D20: BEAA047E v_mov_b32 v18, v7 // 000000002D24: 7E240307 v_mov_b32 v62, v7 // 000000002D28: 7E7C0307 v_mov_b32 v7, v8 // 000000002D2C: 7E0E0308 v_mov_b32 v8, v62 // 000000002D30: 7E10033E label_0B4D: s_waitcnt lgkmcnt(2) // 000000002D34: BF8C027F v_cmp_ge_u32 vcc, v18, v14 // 000000002D38: 7D8C1D12 s_andn2_b64 exec, exec, vcc // wrscc // 000000002D3C: 8AFE6A7E s_cbranch_execz label_0D09 // 000000002D40: BF8801B8 v_lshlrev_b32 v19, 2, v18 // 000000002D44: 34262482 ds_read_b32 v20, v19 offset:408 // 000000002D48: D8D80198 14000013 v_add_i32 v21, vcc, 0x00000400, v18 // 000000002D50: 4A2A24FF 00000400 ds_read_b32 v22, v19 offset:8284 // 000000002D58: D8D8205C 16000013 ds_read_b32 v23, v19 offset:16160 // 000000002D60: D8D83F20 17000013 ds_read_b32 v24, v19 offset:24036 // 000000002D68: D8D85DE4 18000013 s_mov_b64 s[44:45], exec // 000000002D70: BEAC047E s_mov_b64 s[46:47], exec // 000000002D74: BEAE047E v_mov_b32 v32, 0 // 000000002D78: 7E400280 v_mov_b32 v25, 0 // 000000002D7C: 7E320280 v_mov_b32 v31, 0 // 000000002D80: 7E3E0280 v_mov_b32 v26, 0 // 000000002D84: 7E340280 v_mov_b32 v30, 0 // 000000002D88: 7E3C0280 v_mov_b32 v27, 0 // 000000002D8C: 7E360280 v_mov_b32 v62, 0 // 000000002D90: 7E7C0280 v_mov_b32 v29, 0 // 000000002D94: 7E3A0280 v_mov_b32 v28, 0 // 000000002D98: 7E380280 s_movk_i32 s48, 0x0000 // 000000002D9C: B0300000 s_movk_i32 s49, 0x0000 // 000000002DA0: B0310000 label_0B69: s_waitcnt lgkmcnt(5) // 000000002DA4: BF8C057F v_cmp_ge_u32 vcc, v25, v17 // 000000002DA8: 7D8C2319 v_cmp_gt_f32 s[50:51], v13, 0 // 000000002DAC: D0080032 0001010D s_andn2_b64 s[48:49], s[48:49], exec // wrscc // 000000002DB4: 8AB07E30 s_nop 0x0000 // 000000002DB8: BF800000 s_or_b64 s[48:49], s[50:51], s[48:49] // wrscc // 000000002DBC: 88B03032 s_and_saveexec_b64 s[52:53], vcc // wrscc // 000000002DC0: BEB4246A s_andn2_b64 s[46:47], s[46:47], exec // wrscc // 000000002DC4: 8AAE7E2E s_cbranch_scc0 label_0C59 // 000000002DC8: BF8400E6 s_and_b64 exec, s[52:53], s[46:47] // wrscc // 000000002DCC: 87FE2E34 s_waitcnt lgkmcnt(4) // 000000002DD0: BF8C047F v_add_i32 v5, vcc, v11, v25 // 000000002DD4: 4A0A330B s_load_dwordx8 s[52:59], s[0:1], 0x14 // 000000002DD8: C0DA0114 s_waitcnt lgkmcnt(0) // 000000002DDC: BF8C007F tbuffer_load_format_xy v[5:6], v5, s[52:55], 0 idxen format:[BUF_DATA_FORMAT_32_32,BUF_NUM_FORMAT_FLOAT] // 000000002DE0: EBD92000 800D0505 s_waitcnt vmcnt(0) // 000000002DE8: BF8C0F70 v_add_i32 v7, vcc, v15, v5 // 000000002DEC: 4A0E0B0F v_add_i32 v5, vcc, v16, v5 // 000000002DF0: 4A0A0B10 v_add_i32 v8, vcc, v15, v6 // 000000002DF4: 4A100D0F v_add_i32 v6, vcc, v16, v6 // 000000002DF8: 4A0C0D10 tbuffer_load_format_xyzw v[33:36], v7, s[56:59], 0 idxen format:[BUF_DATA_FORMAT_32_32_32_32,BUF_NUM_FORMAT_FLOAT] // 000000002DFC: EBF32000 800E2107 tbuffer_load_format_xyzw v[37:40], v5, s[56:59], 0 idxen format:[BUF_DATA_FORMAT_32_32_32_32,BUF_NUM_FORMAT_FLOAT] // 000000002E04: EBF32000 800E2505 tbuffer_load_format_xyzw v[41:44], v8, s[56:59], 0 idxen format:[BUF_DATA_FORMAT_32_32_32_32,BUF_NUM_FORMAT_FLOAT] // 000000002E0C: EBF32000 800E2908 tbuffer_load_format_xyzw v[5:8], v6, s[56:59], 0 idxen format:[BUF_DATA_FORMAT_32_32_32_32,BUF_NUM_FORMAT_FLOAT] // 000000002E14: EBF32000 800E0506 s_waitcnt vmcnt(2) // 000000002E1C: BF8C0F72 v_subrev_f32 v37, v33, v37 // 000000002E20: 0A4A4B21 v_subrev_f32 v38, v34, v38 // 000000002E24: 0A4C4D22 v_subrev_f32 v39, v35, v39 // 000000002E28: 0A4E4F23 v_subrev_f32 v40, v36, v40 // 000000002E2C: 0A505124 v_mad_f32 v45, v9, v37, v33 // 000000002E30: D282002D 04864B09 v_mad_f32 v46, v9, v38, v34 // 000000002E38: D282002E 048A4D09 v_mad_f32 v47, v9, v39, v35 // 000000002E40: D282002F 048E4F09 v_mac_f32 v36, v9, v40 // 000000002E48: 3E485109 s_waitcnt vmcnt(0) // 000000002E4C: BF8C0F70 v_subrev_f32 v5, v41, v5 // 000000002E50: 0A0A0B29 v_subrev_f32 v6, v42, v6 // 000000002E54: 0A0C0D2A v_subrev_f32 v7, v43, v7 // 000000002E58: 0A0E0F2B v_subrev_f32 v8, v44, v8 // 000000002E5C: 0A10112C v_mad_f32 v40, v9, v5, v41 // 000000002E60: D2820028 04A60B09 v_mad_f32 v48, v9, v6, v42 // 000000002E68: D2820030 04AA0D09 v_mad_f32 v49, v9, v7, v43 // 000000002E70: D2820031 04AE0F09 v_mac_f32 v44, v9, v8 // 000000002E78: 3E581109 v_max_legacy_f32 v8, 0, v36 // 000000002E7C: 1C104880 v_add_f32 v36, -v45, v40 div:2 // 000000002E80: D2060024 3802512D v_add_f32 v50, -v46, v48 div:2 // 000000002E88: D2060032 3802612E v_add_f32 v51, -v47, v49 div:2 // 000000002E90: D2060033 3802632F v_max_legacy_f32 v44, 0, v44 // 000000002E98: 1C585880 v_subrev_f32 v44, v8, v44 // 000000002E9C: 0A585908 v_max_f32 v52, v44, v44 div:2 // 000000002EA0: D2200034 1802592C v_mul_legacy_f32 v53, v51, v51 // 000000002EA8: 0E6A6733 v_mac_f32 v53, v50, v50 // 000000002EAC: 3E6A6532 v_mac_f32 v53, v36, v36 // 000000002EB0: 3E6A4924 v_mad_legacy_f32 v54, -v52, v52, v53 // 000000002EB4: D2800036 24D66934 v_cmp_le_f32 s[52:53], v54, 0 // 000000002EBC: D0060034 00010136 v_addc_u32 v55, vcc, v25, 0, s[52:53] // 000000002EC4: D2506A37 00D10119 s_mov_b64 s[54:55], exec // 000000002ECC: BEB6047E s_andn2_b64 exec, s[54:55], s[52:53] // wrscc // 000000002ED0: 8AFE3436 v_rsq_f32 v56, v53 // 000000002ED4: 7E705D35 s_cbranch_execz label_0C31 // 000000002ED8: BF88007A v_mul_legacy_f32 v53, v53, v56 // 000000002EDC: 0E6A7135 v_add_f32 v57, v45, v40 // 000000002EE0: 0672512D v_add_f32 v58, v46, v48 // 000000002EE4: 0674612E v_add_f32 v59, v47, v49 // 000000002EE8: 0676632F v_mac_f32 v8, 0.5, v44 // 000000002EEC: 3E1058F0 v_rsq_f32 v44, v54 // 000000002EF0: 7E585D36 v_mul_legacy_f32 v8, v44, v8 // 000000002EF4: 0E10112C v_mul_legacy_f32 v8, v53, v8 // 000000002EF8: 0E101135 v_mul_legacy_f32 v36, v36, v56 // 000000002EFC: 0E487124 v_mul_legacy_f32 v50, v50, v56 // 000000002F00: 0E647132 v_mul_legacy_f32 v51, v51, v56 // 000000002F04: 0E667133 v_mul_legacy_f32 v44, v52, v44 // 000000002F08: 0E585934 v_mad_f32 v54, v57, -0.5, v20 // 000000002F0C: D2820036 0451E339 v_mad_f32 v57, v58, -0.5, v22 // 000000002F14: D2820039 0459E33A v_mad_f32 v58, v59, -0.5, v23 // 000000002F1C: D282003A 045DE33B v_mul_legacy_f32 v59, v51, v58 // 000000002F24: 0E767533 v_mac_f32 v59, v57, v50 // 000000002F28: 3E766539 v_mac_f32 v59, v54, v36 // 000000002F2C: 3E764936 v_mac_f32 v8, v59, v44 // 000000002F30: 3E10593B v_max_legacy_f32 v8, 0, v8 // 000000002F34: 1C101080 v_mul_legacy_f32 v60, v58, v58 // 000000002F38: 0E78753A v_mac_f32 v60, v57, v57 // 000000002F3C: 3E787339 v_mac_f32 v60, v54, v54 // 000000002F40: 3E786D36 v_mad_legacy_f32 v60, -v59, v59, v60 // 000000002F44: D280003C 24F2773B v_mul_legacy_f32 v61, v8, v8 // 000000002F4C: 0E7A1108 v_cmp_gt_f32 s[56:57], v60, v61 // 000000002F50: D0080038 00027B3C v_addc_u32 v25, vcc, v25, 1, s[52:53] // 000000002F58: D2506A19 00D10319 v_cndmask_b32 v25, v55, v25, s[56:57] // 000000002F60: D2000019 00E23337 s_mov_b64 s[52:53], exec // 000000002F68: BEB4047E s_andn2_b64 exec, s[52:53], s[56:57] // wrscc // 000000002F6C: 8AFE3834 v_mul_legacy_f32 v52, v52, v56 // 000000002F70: 0E687134 s_cbranch_execz label_0C26 // 000000002F74: BF880048 v_mad_legacy_f32 v52, -v52, v52, 1.0 // 000000002F78: D2800034 23CA6934 v_max_legacy_f32 v55, 0x34000000, v60 // 000000002F80: 1C6E78FF 34000000 v_mul_legacy_f32 v44, v44, v55 // 000000002F88: 0E586F2C v_rsq_f32 v55, v55 // 000000002F8C: 7E6E5D37 v_mad_f32 v44, v44, v55, v59 // 000000002F90: D282002C 04EE6F2C v_cmp_gt_f32 vcc, v53, abs(v44) // 000000002F98: D008026A 00025935 v_mad_legacy_f32 v54, -v44, v36, v54 // 000000002FA0: D2800036 24DA492C v_mad_legacy_f32 v57, -v44, v50, v57 // 000000002FA8: D2800039 24E6652C v_mad_legacy_f32 v58, -v44, v51, v58 // 000000002FB0: D280003A 24EA672C v_mul_legacy_f32 v8, v8, v55 // 000000002FB8: 0E106F08 v_mad_legacy_f32 v52, v8, v52, -v52 // 000000002FBC: D2800034 84D26908 v_mad_f32 v8, v54, v52, v26 // 000000002FC4: D2820008 046A6936 v_mad_f32 v36, v57, v52, v27 // 000000002FCC: D2820024 046E6939 v_mad_f32 v44, v58, v52, v28 // 000000002FD4: D282002C 0472693A v_mac_f32 v33, v10, v37 // 000000002FDC: 3E424B0A v_mac_f32 v34, v10, v38 // 000000002FE0: 3E444D0A v_mac_f32 v35, v10, v39 // 000000002FE4: 3E464F0A v_mac_f32 v41, v10, v5 // 000000002FE8: 3E520B0A v_mac_f32 v42, v10, v6 // 000000002FEC: 3E540D0A v_mac_f32 v43, v10, v7 // 000000002FF0: 3E560F0A v_sub_f32 v5, v45, v33 // 000000002FF4: 080A432D v_sub_f32 v6, v46, v34 // 000000002FF8: 080C452E v_sub_f32 v7, v47, v35 // 000000002FFC: 080E472F v_sub_f32 v33, v40, v41 // 000000003000: 08425328 v_sub_f32 v34, v48, v42 // 000000003004: 08445530 v_sub_f32 v35, v49, v43 // 000000003008: 08465731 v_subrev_f32 v33, v5, v33 // 00000000300C: 0A424305 v_subrev_f32 v34, v6, v34 // 000000003010: 0A444506 v_subrev_f32 v35, v7, v35 // 000000003014: 0A464707 v_mad_f32 v37, v59, 0.5, 0.5 // 000000003018: D2820025 03C1E13B v_mac_f32 v5, v37, v33 // 000000003020: 3E0A4325 v_mac_f32 v6, v37, v34 // 000000003024: 3E0C4525 v_mac_f32 v7, v37, v35 // 000000003028: 3E0E4725 v_add_f32 v5, v29, v5 // 00000000302C: 060A0B1D v_add_f32 v6, v30, v6 // 000000003030: 060C0D1E v_add_f32 v7, v31, v7 // 000000003034: 060E0F1F v_cndmask_b32 v5, v29, v5, s[50:51] // 000000003038: D2000005 00CA0B1D v_cndmask_b32 v6, v30, v6, s[50:51] // 000000003040: D2000006 00CA0D1E v_cndmask_b32 v7, v31, v7, s[50:51] // 000000003048: D2000007 00CA0F1F v_cndmask_b32 v8, v26, v8, vcc // 000000003050: 0010111A v_cndmask_b32 v26, v27, v36, vcc // 000000003054: 0034491B v_cndmask_b32 v27, v28, v44, vcc // 000000003058: 0036591C v_cndmask_b32 v5, v29, v5, vcc // 00000000305C: 000A0B1D v_cndmask_b32 v6, v30, v6, vcc // 000000003060: 000C0D1E v_cndmask_b32 v7, v31, v7, vcc // 000000003064: 000E0F1F v_addc_u32 v28, vcc, v32, 0, vcc // 000000003068: D2506A1C 01A90120 v_add_i32 v25, vcc, 1, v25 // 000000003070: 4A323281 v_mov_b32 v62, v25 // 000000003074: 7E7C0319 v_mov_b32 v25, v5 // 000000003078: 7E320305 v_mov_b32 v5, v62 // 00000000307C: 7E0A033E v_mov_b32 v62, v8 // 000000003080: 7E7C0308 v_mov_b32 v8, v27 // 000000003084: 7E10031B v_mov_b32 v27, v7 // 000000003088: 7E360307 v_mov_b32 v7, v26 // 00000000308C: 7E0E031A v_mov_b32 v26, v6 // 000000003090: 7E340306 v_mov_b32 v6, v62 // 000000003094: 7E0C033E label_0C26: s_andn2_b64 exec, s[52:53], exec // wrscc // 000000003098: 8AFE7E34 v_mov_b32 v5, v25 // 00000000309C: 7E0A0319 s_cbranch_execz label_0C30 // 0000000030A0: BF880007 v_mov_b32 v6, v26 // 0000000030A4: 7E0C031A v_mov_b32 v7, v27 // 0000000030A8: 7E0E031B v_mov_b32 v8, v28 // 0000000030AC: 7E10031C v_mov_b32 v25, v29 // 0000000030B0: 7E32031D v_mov_b32 v26, v30 // 0000000030B4: 7E34031E v_mov_b32 v27, v31 // 0000000030B8: 7E36031F v_mov_b32 v28, v32 // 0000000030BC: 7E380320 label_0C30: s_mov_b64 exec, s[52:53] // 0000000030C0: BEFE0434 label_0C31: s_andn2_b64 exec, s[54:55], exec // wrscc // 0000000030C4: 8AFE7E36 v_mov_b32 v5, v55 // 0000000030C8: 7E0A0337 s_cbranch_execz label_0C3B // 0000000030CC: BF880007 v_mov_b32 v6, v26 // 0000000030D0: 7E0C031A v_mov_b32 v7, v27 // 0000000030D4: 7E0E031B v_mov_b32 v8, v28 // 0000000030D8: 7E10031C v_mov_b32 v25, v29 // 0000000030DC: 7E32031D v_mov_b32 v26, v30 // 0000000030E0: 7E34031E v_mov_b32 v27, v31 // 0000000030E4: 7E36031F v_mov_b32 v28, v32 // 0000000030E8: 7E380320 label_0C3B: s_mov_b64 exec, s[54:55] // 0000000030EC: BEFE0436 buffer_load_dword v29, v0, s[92:95], s96 offset:44 // 0000000030F0: E030002C 60171D00 buffer_load_dword v30, v0, s[92:95], s96 // 0000000030F8: E0300000 60171E00 buffer_load_dword v31, v0, s[92:95], s96 offset:36 // 000000003100: E0300024 60171F00 buffer_load_dword v32, v0, s[92:95], s96 offset:4 // 000000003108: E0300004 60172000 v_mov_b32 v62, v5 // 000000003110: 7E7C0305 s_waitcnt vmcnt(3) // 000000003114: BF8C0F73 v_mov_b32 v5, v29 // 000000003118: 7E0A031D v_mov_b32 v29, v25 // 00000000311C: 7E3A0319 v_mov_b32 v25, v62 // 000000003120: 7E32033E v_mov_b32 v62, v6 // 000000003124: 7E7C0306 s_waitcnt vmcnt(2) // 000000003128: BF8C0F72 v_mov_b32 v6, v30 // 00000000312C: 7E0C031E v_mov_b32 v30, v26 // 000000003130: 7E3C031A v_mov_b32 v26, v62 // 000000003134: 7E34033E v_mov_b32 v62, v7 // 000000003138: 7E7C0307 s_waitcnt vmcnt(1) // 00000000313C: BF8C0F71 v_mov_b32 v7, v31 // 000000003140: 7E0E031F v_mov_b32 v31, v27 // 000000003144: 7E3E031B v_mov_b32 v27, v62 // 000000003148: 7E36033E v_mov_b32 v62, v8 // 00000000314C: 7E7C0308 s_waitcnt vmcnt(0) // 000000003150: BF8C0F70 v_mov_b32 v8, v32 // 000000003154: 7E100320 v_mov_b32 v32, v28 // 000000003158: 7E40031C v_mov_b32 v28, v62 // 00000000315C: 7E38033E s_branch label_0B69 // 000000003160: BF82FF10 label_0C59: s_mov_b64 exec, s[44:45] // 000000003164: BEFE042C v_mov_b32 v25, 0 // 000000003168: 7E320280 ds_read_b32 v25, v25 offset:60 // 00000000316C: D8D8003C 19000019 s_mov_b64 s[44:45], exec // 000000003174: BEAC047E v_mov_b32 v62, 0 // 000000003178: 7E7C0280 v_mov_b32 v33, v32 // 00000000317C: 7E420320 v_mov_b32 v32, v31 // 000000003180: 7E40031F v_mov_b32 v31, v30 // 000000003184: 7E3E031E v_mov_b32 v30, v29 // 000000003188: 7E3C031D v_mov_b32 v29, v28 // 00000000318C: 7E3A031C v_mov_b32 v28, v27 // 000000003190: 7E38031B v_mov_b32 v27, v26 // 000000003194: 7E36031A v_mov_b32 v26, 0 // 000000003198: 7E340280 label_0C67: s_waitcnt lgkmcnt(0) // 00000000319C: BF8C007F v_cmp_ge_u32 vcc, v26, v25 // 0000000031A0: 7D8C331A s_andn2_b64 exec, exec, vcc // wrscc // 0000000031A4: 8AFE6A7E s_cbranch_execz label_0CAC // 0000000031A8: BF880041 v_add_i32 v34, vcc, v15, v26 // 0000000031AC: 4A44350F v_add_i32 v35, vcc, v16, v26 // 0000000031B0: 4A463510 s_load_dwordx4 s[52:55], s[0:1], 0x18 // 0000000031B4: C09A0118 s_waitcnt lgkmcnt(0) // 0000000031B8: BF8C007F tbuffer_load_format_xyzw v[36:39], v34, s[52:55], 0 idxen format:[BUF_DATA_FORMAT_32_32_32_32,BUF_NUM_FORMAT_FLOAT] // 0000000031BC: EBF32000 800D2422 tbuffer_load_format_xyzw v[40:43], v35, s[52:55], 0 idxen format:[BUF_DATA_FORMAT_32_32_32_32,BUF_NUM_FORMAT_FLOAT] // 0000000031C4: EBF32000 800D2823 s_waitcnt vmcnt(0) // 0000000031CC: BF8C0F70 v_subrev_f32 v34, v36, v40 // 0000000031D0: 0A445124 v_subrev_f32 v35, v37, v41 // 0000000031D4: 0A465325 v_subrev_f32 v40, v38, v42 // 0000000031D8: 0A505526 v_subrev_f32 v41, v39, v43 // 0000000031DC: 0A525727 v_mad_f32 v42, v9, v34, v36 // 0000000031E0: D282002A 04924509 v_mad_f32 v43, v9, v35, v37 // 0000000031E8: D282002B 04964709 v_mad_f32 v44, v9, v40, v38 // 0000000031F0: D282002C 049A5109 v_mac_f32 v39, v9, v41 // 0000000031F8: 3E4E5309 v_sub_f32 v41, v20, v42 // 0000000031FC: 08525514 v_sub_f32 v45, v22, v43 // 000000003200: 085A5716 v_sub_f32 v46, v23, v44 // 000000003204: 085C5917 v_mul_legacy_f32 v47, v46, v46 // 000000003208: 0E5E5D2E v_mac_f32 v47, v45, v45 // 00000000320C: 3E5E5B2D v_mac_f32 v47, v41, v41 // 000000003210: 3E5E5329 v_max_legacy_f32 v39, 0, v39 // 000000003214: 1C4E4E80 v_add_f32 v47, 0x34000000, v47 // 000000003218: 065E5EFF 34000000 v_rsq_f32 v47, v47 // 000000003220: 7E5E5D2F v_mul_legacy_f32 v48, v39, v47 // 000000003224: 0E605F27 v_mad_f32 v39, v39, v47, -1.0 // 000000003228: D2820027 03CE5F27 v_mad_f32 v41, v41, v39, v27 // 000000003230: D2820029 046E4F29 v_mad_f32 v45, v45, v39, v28 // 000000003238: D282002D 04724F2D v_mad_f32 v39, v46, v39, v29 // 000000003240: D2820027 04764F2E v_mac_f32 v36, v10, v34 // 000000003248: 3E48450A v_mac_f32 v37, v10, v35 // 00000000324C: 3E4A470A v_mac_f32 v38, v10, v40 // 000000003250: 3E4C510A v_sub_f32 v34, v42, v36 // 000000003254: 0844492A v_sub_f32 v35, v43, v37 // 000000003258: 08464B2B v_sub_f32 v36, v44, v38 // 00000000325C: 08484D2C v_add_f32 v34, v30, v34 // 000000003260: 0644451E v_add_f32 v35, v31, v35 // 000000003264: 0646471F v_add_f32 v36, v32, v36 // 000000003268: 06484920 v_cndmask_b32 v34, v30, v34, s[48:49] // 00000000326C: D2000022 00C2451E v_cndmask_b32 v35, v31, v35, s[48:49] // 000000003274: D2000023 00C2471F v_cndmask_b32 v36, v32, v36, s[48:49] // 00000000327C: D2000024 00C24920 v_cmp_lt_f32 vcc, 1.0, v48 // 000000003284: 7C0260F2 v_cndmask_b32 v27, v27, v41, vcc // 000000003288: 0036531B v_cndmask_b32 v28, v28, v45, vcc // 00000000328C: 00385B1C v_cndmask_b32 v29, v29, v39, vcc // 000000003290: 003A4F1D v_cndmask_b32 v30, v30, v34, vcc // 000000003294: 003C451E v_cndmask_b32 v31, v31, v35, vcc // 000000003298: 003E471F v_cndmask_b32 v32, v32, v36, vcc // 00000000329C: 00404920 v_addc_u32 v33, vcc, v33, 0, vcc // 0000000032A0: D2506A21 01A90121 v_add_i32 v26, vcc, 1, v26 // 0000000032A8: 4A343481 s_branch label_0C67 // 0000000032AC: BF82FFBB label_0CAC: s_mov_b64 exec, s[44:45] // 0000000032B0: BEFE042C v_cmp_ne_u32 vcc, 0, v33 // 0000000032B4: 7D8A4280 s_and_saveexec_b64 s[44:45], vcc // wrscc // 0000000032B8: BEAC246A v_cvt_f32_u32 v25, v33 // 0000000032BC: 7E320D21 s_cbranch_execz label_0D06 // 0000000032C0: BF880055 v_rcp_f32 v25, v25 // 0000000032C4: 7E325519 s_and_saveexec_b64 s[46:47], s[48:49] // wrscc // 0000000032C8: BEAE2430 v_add_i32 v18, vcc, v6, v18 // 0000000032CC: 4A242506 s_cbranch_execz label_0CED // 0000000032D0: BF880038 v_lshlrev_b32 v18, 4, v18 // 0000000032D4: 34242484 buffer_load_dwordx4 v[33:36], v18, s[16:19], 0 offen // 0000000032D8: E0381000 80042112 v_mul_legacy_f32 v26, v29, v29 // 0000000032E0: 0E343B1D v_mac_f32 v26, v28, v28 // 0000000032E4: 3E34391C v_mac_f32 v26, v27, v27 // 0000000032E8: 3E34371B v_add_f32 v37, 0x34000000, v26 // 0000000032EC: 064A34FF 34000000 v_rsq_f32 v37, v37 // 0000000032F4: 7E4A5D25 s_waitcnt vmcnt(0) // 0000000032F8: BF8C0F70 v_sub_f32 v38, v23, v35 // 0000000032FC: 084C4717 v_mul_legacy_f32 v39, v29, v37 // 000000003300: 0E4E4B1D v_sub_f32 v40, v22, v34 // 000000003304: 08504516 v_mad_legacy_f32 v38, -v32, v25, v38 // 000000003308: D2800026 249A3320 v_mov_b32 v32, 0 // 000000003310: 7E400280 v_mul_legacy_f32 v41, v28, v37 // 000000003314: 0E524B1C v_sub_f32 v42, v20, v33 // 000000003318: 08544314 v_mad_legacy_f32 v40, -v31, v25, v40 // 00000000331C: D2800028 24A2331F v_mul_legacy_f32 v31, v39, v38 // 000000003324: 0E3E4D27 ds_read_b32 v32, v32 offset:92 // 000000003328: D8D8005C 20000020 v_mul_legacy_f32 v43, v27, v37 // 000000003330: 0E564B1B v_mad_legacy_f32 v42, -v30, v25, v42 // 000000003334: D280002A 24AA331E v_mac_f32 v31, v40, v41 // 00000000333C: 3E3E5328 v_mac_f32 v31, v42, v43 // 000000003340: 3E3E572A v_mad_legacy_f32 v38, -v31, v39, v38 // 000000003344: D2800026 249A4F1F v_mad_legacy_f32 v40, -v31, v41, v40 // 00000000334C: D2800028 24A2531F v_mul_legacy_f32 v30, v38, v38 // 000000003354: 0E3C4D26 v_mad_legacy_f32 v42, -v31, v43, v42 // 000000003358: D280002A 24AA571F v_mac_f32 v30, v40, v40 // 000000003360: 3E3C5128 v_mac_f32 v30, v42, v42 // 000000003364: 3E3C552A s_waitcnt lgkmcnt(0) // 000000003368: BF8C007F v_mul_legacy_f32 v26, -v32, v26 // 00000000336C: D20E001A 20023520 v_mul_legacy_f32 v26, v37, v26 // 000000003374: 0E343525 v_add_f32 v30, 0x34000000, v30 // 000000003378: 063C3CFF 34000000 v_mul_legacy_f32 v26, v25, v26 // 000000003380: 0E343519 v_rsq_f32 v30, v30 // 000000003384: 7E3C5D1E v_mul_legacy_f32 v26, v30, v26 // 000000003388: 0E34351E v_max_legacy_f32 v26, -1.0, v26 // 00000000338C: 1C3434F3 v_mad_legacy_f32 v30, -v42, v26, v33 // 000000003390: D280001E 2486352A v_mad_legacy_f32 v31, -v40, v26, v34 // 000000003398: D280001F 248A3528 v_mad_legacy_f32 v32, -v38, v26, v35 // 0000000033A0: D2800020 248E3526 v_mov_b32 v33, v36 // 0000000033A8: 7E420324 buffer_store_dwordx4 v[30:33], v18, s[16:19], 0 offen // 0000000033AC: E0781000 80041E12 label_0CED: s_mov_b64 exec, s[46:47] // 0000000033B4: BEFE042E v_mov_b32 v18, 0 // 0000000033B8: 7E240280 ds_read_b32 v18, v18 offset:88 // 0000000033BC: D8D80058 12000012 v_mul_legacy_f32 v26, v29, v29 // 0000000033C4: 0E343B1D v_mac_f32 v26, v28, v28 // 0000000033C8: 3E34391C v_mac_f32 v26, v27, v27 // 0000000033CC: 3E34371B v_mac_f32 v20, v27, v25 // 0000000033D0: 3E28331B s_waitcnt lgkmcnt(0) // 0000000033D4: BF8C007F v_mad_f32 v18, v18, v26, 1.0 // 0000000033D8: D2820012 03CA3512 v_mac_f32 v22, v28, v25 // 0000000033E0: 3E2C331C v_rcp_f32 v18, v18 // 0000000033E4: 7E245512 ds_write_b32 v19, v20 offset:408 // 0000000033E8: D8340198 00001413 v_mac_f32 v23, v29, v25 // 0000000033F0: 3E2E331D v_mul_f32 v18, v24, v18 // 0000000033F4: 10242518 v_cmp_lt_f32 vcc, 0, v12 // 0000000033F8: 7C021880 ds_write_b32 v19, v22 offset:8284 // 0000000033FC: D834205C 00001613 v_cndmask_b32 v18, v24, v18, vcc // 000000003404: 00242518 ds_write_b32 v19, v23 offset:16160 // 000000003408: D8343F20 00001713 ds_write_b32 v19, v18 offset:24036 // 000000003410: D8345DE4 00001213 label_0D06: s_mov_b64 exec, s[44:45] // 000000003418: BEFE042C v_mov_b32 v18, v21 // 00000000341C: 7E240315 s_branch label_0B4D // 000000003420: BF82FE44 label_0D09: s_mov_b64 exec, s[42:43] // 000000003424: BEFE042A v_mov_b32 v62, v8 // 000000003428: 7E7C0308 v_mov_b32 v8, v6 // 00000000342C: 7E100306 v_mov_b32 v6, v4 // 000000003430: 7E0C0304 v_mov_b32 v4, v2 // 000000003434: 7E080302 v_mov_b32 v2, v9 // 000000003438: 7E040309 v_mov_b32 v9, v7 // 00000000343C: 7E120307 v_mov_b32 v7, v5 // 000000003440: 7E0E0305 v_mov_b32 v5, v3 // 000000003444: 7E0A0303 v_mov_b32 v3, v1 // 000000003448: 7E060301 v_mov_b32 v1, v10 // 00000000344C: 7E02030A v_mov_b32 v10, v62 // 000000003450: 7E14033E label_0D15: s_mov_b64 exec, s[40:41] // 000000003454: BEFE0428 s_waitcnt lgkmcnt(0) // 000000003458: BF8C007F v_mov_b32 v11, 0 // 00000000345C: 7E160280 ds_read_b32 v11, v11 offset:80 // 000000003460: D8D80050 0B00000B s_waitcnt lgkmcnt(0) // 000000003468: BF8C007F v_cmp_ne_u32 vcc, 0, v11 // 00000000346C: 7D8A1680 s_and_b64 exec, s[40:41], vcc // wrscc // 000000003470: 87FE6A28 v_mov_b32 v12, 0 // 000000003474: 7E180280 s_cbranch_execz label_104F // 000000003478: BF880330 ds_read2_b32 v[12:13], v12 offset0:22 offset1:23 // 00000000347C: D8DC1716 0C00000C s_mov_b64 s[42:43], exec // 000000003484: BEAA047E v_mov_b32 v24, 0 // 000000003488: 7E300280 v_mov_b32 v23, 0 // 00000000348C: 7E2E0280 label_0D24: buffer_store_dword v24, v0, s[92:95], s96 offset:48 // 000000003490: E0700030 60171800 v_cmp_ge_u32 vcc, v24, v11 // 000000003498: 7D8C1718 s_andn2_b64 exec, exec, vcc // wrscc // 00000000349C: 8AFE6A7E s_cbranch_execz label_1046 // 0000000034A0: BF88031D s_load_dwordx4 s[44:47], s[0:1], 0x44 // 0000000034A4: C0960144 s_waitcnt lgkmcnt(0) // 0000000034A8: BF8C007F tbuffer_load_format_x v16, v24, s[44:47], 0 idxen format:[BUF_DATA_FORMAT_32,BUF_NUM_FORMAT_FLOAT] // 0000000034AC: EBA02000 800B1018 s_waitcnt vmcnt(0) // 0000000034B4: BF8C0F70 s_barrier // 0000000034B8: BF8A0000 v_mov_b32 v17, 0 // 0000000034BC: 7E220280 ds_read2_b32 v[18:19], v17 offset0:56 offset1:57 // 0000000034C0: D8DC3938 12000011 ds_read2_b32 v[20:21], v17 offset0:23 offset1:13 // 0000000034C8: D8DC0D17 14000011 ds_read_b32 v17, v17 offset:56 // 0000000034D0: D8D80038 11000011 v_lshlrev_b32 v16, 2, v16 // 0000000034D8: 34202082 v_add_i32 v22, vcc, v6, v23 // 0000000034DC: 4A2C2F06 v_add_i32 v14, vcc, v23, v16 // 0000000034E0: 4A1C2117 buffer_store_dword v14, v0, s[92:95], s96 offset:28 // 0000000034E4: E070001C 60170E00 s_mov_b64 s[44:45], exec // 0000000034EC: BEAC047E v_mov_b32 v16, v22 // 0000000034F0: 7E200316 v_mov_b32 v15, v10 // 0000000034F4: 7E1E030A v_mov_b32 v10, v8 // 0000000034F8: 7E140308 v_mov_b32 v8, v6 // 0000000034FC: 7E100306 v_mov_b32 v6, v4 // 000000003500: 7E0C0304 v_mov_b32 v4, v24 // 000000003504: 7E080318 v_mov_b32 v62, v9 // 000000003508: 7E7C0309 v_mov_b32 v9, v7 // 00000000350C: 7E120307 v_mov_b32 v7, v5 // 000000003510: 7E0E0305 v_mov_b32 v5, v3 // 000000003514: 7E0A0303 v_mov_b32 v3, v14 // 000000003518: 7E06030E v_mov_b32 v14, v62 // 00000000351C: 7E1C033E label_0D48: buffer_store_dword v16, v0, s[92:95], s96 offset:24 // 000000003520: E0700018 60171000 v_cmp_ge_u32 vcc, v16, v3 // 000000003528: 7D8C0710 s_andn2_b64 exec, exec, vcc // wrscc // 00000000352C: 8AFE6A7E s_cbranch_execz label_103A // 000000003530: BF8802ED v_lshrrev_b32 v22, 1, v16 // 000000003534: 2C2C2081 s_load_dwordx8 s[48:55], s[0:1], 0x48 // 000000003538: C0D80148 s_waitcnt lgkmcnt(0) // 00000000353C: BF8C007F tbuffer_load_format_xyzw v[22:25], v22, s[48:51], 0 idxen format:[BUF_DATA_FORMAT_32_32_32_32,BUF_NUM_FORMAT_FLOAT] // 000000003540: EBF32000 800C1616 v_and_b32 v26, 1, v16 // 000000003548: 36342081 v_cmp_ne_i32 vcc, 0, v26 // 00000000354C: 7D0A3480 s_waitcnt vmcnt(0) // 000000003550: BF8C0F70 v_lshrrev_b32 v26, 16, v23 // 000000003554: 2C342E90 v_lshrrev_b32 v27, 16, v25 // 000000003558: 2C363290 v_cndmask_b32 v26, v26, v27, vcc // 00000000355C: 0034371A tbuffer_load_format_xyzw v[26:29], v26, s[52:55], 0 idxen format:[BUF_DATA_FORMAT_32_32_32_32,BUF_NUM_FORMAT_FLOAT] // 000000003560: EBF32000 800D1A1A s_waitcnt vmcnt(0) // 000000003568: BF8C0F70 buffer_store_dword v28, v0, s[92:95], s96 offset:20 // 00000000356C: E0700014 60171C00 buffer_store_dword v27, v0, s[92:95], s96 offset:8 // 000000003574: E0700008 60171B00 buffer_store_dword v26, v0, s[92:95], s96 offset:12 // 00000000357C: E070000C 60171A00 v_lshrrev_b32 v30, 16, v22 // 000000003584: 2C3C2C90 v_lshrrev_b32 v31, 16, v24 // 000000003588: 2C3E3090 v_bfe_u32 v22, v22, 0, 16 // 00000000358C: D2900016 02410116 v_bfe_u32 v24, v24, 0, 16 // 000000003594: D2900018 02410118 v_cndmask_b32 v30, v30, v31, vcc // 00000000359C: 003C3F1E v_cndmask_b32 v22, v22, v24, vcc // 0000000035A0: 002C3116 v_bfe_u32 v23, v23, 0, 16 // 0000000035A4: D2900017 02410117 v_bfe_u32 v24, v25, 0, 16 // 0000000035AC: D2900018 02410119 v_lshlrev_b32 v25, 2, v30 // 0000000035B4: 34323C82 buffer_store_dword v25, v0, s[92:95], s96 offset:16 // 0000000035B8: E0700010 60171900 ds_read_b32 v31, v25 offset:408 // 0000000035C0: D8D80198 1F000019 ds_read_b32 v32, v25 offset:8284 // 0000000035C8: D8D8205C 20000019 ds_read_b32 v33, v25 offset:16160 // 0000000035D0: D8D83F20 21000019 v_cndmask_b32 v23, v23, v24, vcc // 0000000035D8: 002E3117 v_lshlrev_b32 v24, 2, v22 // 0000000035DC: 34302C82 buffer_store_dword v24, v0, s[92:95], s96 offset:68 // 0000000035E0: E0700044 60171800 ds_read_b32 v34, v24 offset:408 // 0000000035E8: D8D80198 22000018 ds_read_b32 v35, v24 offset:8284 // 0000000035F0: D8D8205C 23000018 ds_read_b32 v36, v24 offset:16160 // 0000000035F8: D8D83F20 24000018 v_lshlrev_b32 v37, 2, v23 // 000000003600: 344A2E82 buffer_store_dword v37, v0, s[92:95], s96 offset:64 // 000000003604: E0700040 60172500 ds_read_b32 v38, v37 offset:408 // 00000000360C: D8D80198 26000025 ds_read_b32 v39, v37 offset:8284 // 000000003614: D8D8205C 27000025 ds_read_b32 v40, v37 offset:16160 // 00000000361C: D8D83F20 28000025 s_waitcnt lgkmcnt(8) // 000000003624: BF8C087F v_mul_legacy_f32 v31, v27, v31 // 000000003628: 0E3E3F1B s_waitcnt lgkmcnt(7) // 00000000362C: BF8C077F v_mul_legacy_f32 v41, v27, v32 // 000000003630: 0E52411B s_waitcnt lgkmcnt(6) // 000000003634: BF8C067F v_mul_legacy_f32 v42, v27, v33 // 000000003638: 0E54431B s_waitcnt lgkmcnt(5) // 00000000363C: BF8C057F v_mac_f32 v31, v34, v26 // 000000003640: 3E3E3522 s_waitcnt lgkmcnt(4) // 000000003644: BF8C047F v_mac_f32 v41, v35, v26 // 000000003648: 3E523523 s_waitcnt lgkmcnt(3) // 00000000364C: BF8C037F v_mac_f32 v42, v36, v26 // 000000003650: 3E543524 s_waitcnt lgkmcnt(2) // 000000003654: BF8C027F v_mac_f32 v31, v38, v28 // 000000003658: 3E3E3926 s_waitcnt lgkmcnt(1) // 00000000365C: BF8C017F v_mac_f32 v41, v39, v28 // 000000003660: 3E523927 s_waitcnt lgkmcnt(0) // 000000003664: BF8C007F v_mac_f32 v42, v40, v28 // 000000003668: 3E543928 s_mov_b64 s[46:47], exec // 00000000366C: BEAE047E s_mov_b64 s[48:49], exec // 000000003670: BEB0047E v_mov_b32 v46, 0 // 000000003674: 7E5C0280 v_mov_b32 v34, v15 // 000000003678: 7E44030F v_mov_b32 v15, v5 // 00000000367C: 7E1E0305 v_mov_b32 v5, v26 // 000000003680: 7E0A031A v_mov_b32 v26, v9 // 000000003684: 7E340309 v_mov_b32 v9, v16 // 000000003688: 7E120310 v_mov_b32 v16, v6 // 00000000368C: 7E200306 v_mov_b32 v6, v37 // 000000003690: 7E0C0325 v_mov_b32 v37, 0 // 000000003694: 7E4A0280 v_mov_b32 v45, 0 // 000000003698: 7E5A0280 v_mov_b32 v38, 0 // 00000000369C: 7E4C0280 v_mov_b32 v44, 0 // 0000000036A0: 7E580280 v_mov_b32 v39, 0 // 0000000036A4: 7E4E0280 v_mov_b32 v43, 0 // 0000000036A8: 7E560280 v_mov_b32 v40, 0 // 0000000036AC: 7E500280 v_mov_b32 v62, v14 // 0000000036B0: 7E7C030E v_mov_b32 v14, v4 // 0000000036B4: 7E1C0304 v_mov_b32 v4, v27 // 0000000036B8: 7E08031B v_mov_b32 v27, v10 // 0000000036BC: 7E36030A v_mov_b32 v10, v3 // 0000000036C0: 7E140303 v_mov_b32 v3, v28 // 0000000036C4: 7E06031C v_mov_b32 v28, v62 // 0000000036C8: 7E38033E v_mov_b32 v62, v8 // 0000000036CC: 7E7C0308 v_mov_b32 v8, v24 // 0000000036D0: 7E100318 v_mov_b32 v24, v7 // 0000000036D4: 7E300307 v_mov_b32 v7, v25 // 0000000036D8: 7E0E0319 v_mov_b32 v25, v62 // 0000000036DC: 7E32033E s_movk_i32 s50, 0x0000 // 0000000036E0: B0320000 s_movk_i32 s51, 0x0000 // 0000000036E4: B0330000 label_0DBA: v_cmp_ge_u32 vcc, v37, v21 // 0000000036E8: 7D8C2B25 v_cmp_gt_f32 s[52:53], v20, 0 // 0000000036EC: D0080034 00010114 s_andn2_b64 s[50:51], s[50:51], exec // wrscc // 0000000036F4: 8AB27E32 s_nop 0x0000 // 0000000036F8: BF800000 s_or_b64 s[50:51], s[52:53], s[50:51] // wrscc // 0000000036FC: 88B23234 s_and_saveexec_b64 s[54:55], vcc // wrscc // 000000003700: BEB6246A s_andn2_b64 s[48:49], s[48:49], exec // wrscc // 000000003704: 8AB07E30 s_cbranch_scc0 label_0ECE // 000000003708: BF84010B s_and_b64 exec, s[54:55], s[48:49] // wrscc // 00000000370C: 87FE3036 v_add_i32 v0, vcc, v17, v37 // 000000003710: 4A004B11 tbuffer_load_format_xy v[3:4], v0, s[24:27], 0 idxen format:[BUF_DATA_FORMAT_32_32,BUF_NUM_FORMAT_FLOAT] // 000000003714: EBD92000 80060300 s_waitcnt vmcnt(0) // 00000000371C: BF8C0F70 v_add_i32 v0, vcc, v18, v3 // 000000003720: 4A000712 v_add_i32 v3, vcc, v19, v3 // 000000003724: 4A060713 v_add_i32 v5, vcc, v18, v4 // 000000003728: 4A0A0912 v_add_i32 v4, vcc, v19, v4 // 00000000372C: 4A080913 tbuffer_load_format_xyzw v[6:9], v0, s[28:31], 0 idxen format:[BUF_DATA_FORMAT_32_32_32_32,BUF_NUM_FORMAT_FLOAT] // 000000003730: EBF32000 80070600 tbuffer_load_format_xyzw v[24:27], v3, s[28:31], 0 idxen format:[BUF_DATA_FORMAT_32_32_32_32,BUF_NUM_FORMAT_FLOAT] // 000000003738: EBF32000 80071803 tbuffer_load_format_xyzw v[47:50], v5, s[28:31], 0 idxen format:[BUF_DATA_FORMAT_32_32_32_32,BUF_NUM_FORMAT_FLOAT] // 000000003740: EBF32000 80072F05 tbuffer_load_format_xyzw v[51:54], v4, s[28:31], 0 idxen format:[BUF_DATA_FORMAT_32_32_32_32,BUF_NUM_FORMAT_FLOAT] // 000000003748: EBF32000 80073304 s_waitcnt vmcnt(2) // 000000003750: BF8C0F72 v_subrev_f32 v0, v6, v24 // 000000003754: 0A003106 v_subrev_f32 v3, v7, v25 // 000000003758: 0A063307 v_subrev_f32 v4, v8, v26 // 00000000375C: 0A083508 v_subrev_f32 v5, v9, v27 // 000000003760: 0A0A3709 v_mad_f32 v10, v2, v0, v6 // 000000003764: D282000A 041A0102 v_mad_f32 v14, v2, v3, v7 // 00000000376C: D282000E 041E0702 v_mad_f32 v15, v2, v4, v8 // 000000003774: D282000F 04220902 v_mac_f32 v9, v2, v5 // 00000000377C: 3E120B02 s_waitcnt vmcnt(0) // 000000003780: BF8C0F70 v_subrev_f32 v5, v47, v51 // 000000003784: 0A0A672F v_subrev_f32 v16, v48, v52 // 000000003788: 0A206930 v_subrev_f32 v24, v49, v53 // 00000000378C: 0A306B31 v_subrev_f32 v25, v50, v54 // 000000003790: 0A326D32 v_mad_f32 v26, v2, v5, v47 // 000000003794: D282001A 04BE0B02 v_mad_f32 v27, v2, v16, v48 // 00000000379C: D282001B 04C22102 v_mad_f32 v28, v2, v24, v49 // 0000000037A4: D282001C 04C63102 v_mac_f32 v50, v2, v25 // 0000000037AC: 3E643302 v_max_legacy_f32 v9, 0, v9 // 0000000037B0: 1C121280 v_add_f32 v25, -v10, v26 div:2 // 0000000037B4: D2060019 3802350A v_add_f32 v34, -v14, v27 div:2 // 0000000037BC: D2060022 3802370E v_add_f32 v51, -v15, v28 div:2 // 0000000037C4: D2060033 3802390F v_max_legacy_f32 v50, 0, v50 // 0000000037CC: 1C646480 v_subrev_f32 v50, v9, v50 // 0000000037D0: 0A646509 v_max_f32 v52, v50, v50 div:2 // 0000000037D4: D2200034 18026532 v_mul_legacy_f32 v53, v51, v51 // 0000000037DC: 0E6A6733 v_mac_f32 v53, v34, v34 // 0000000037E0: 3E6A4522 v_mac_f32 v53, v25, v25 // 0000000037E4: 3E6A3319 v_mad_legacy_f32 v54, -v52, v52, v53 // 0000000037E8: D2800036 24D66934 v_cmp_le_f32 s[54:55], v54, 0 // 0000000037F0: D0060036 00010136 v_addc_u32 v55, vcc, v37, 0, s[54:55] // 0000000037F8: D2506A37 00D90125 s_mov_b64 s[56:57], exec // 000000003800: BEB8047E s_andn2_b64 exec, s[56:57], s[54:55] // wrscc // 000000003804: 8AFE3638 v_rsq_f32 v56, v53 // 000000003808: 7E705D35 s_cbranch_execz label_0E7F // 00000000380C: BF88007B v_mul_legacy_f32 v53, v53, v56 // 000000003810: 0E6A7135 v_add_f32 v57, v10, v26 // 000000003814: 0672350A v_add_f32 v58, v14, v27 // 000000003818: 0674370E v_add_f32 v59, v15, v28 // 00000000381C: 0676390F v_mac_f32 v9, 0.5, v50 // 000000003820: 3E1264F0 v_rsq_f32 v50, v54 // 000000003824: 7E645D36 v_mul_legacy_f32 v9, v50, v9 // 000000003828: 0E121332 v_mul_legacy_f32 v9, v53, v9 // 00000000382C: 0E121335 v_mul_legacy_f32 v25, v25, v56 // 000000003830: 0E327119 v_mul_legacy_f32 v34, v34, v56 // 000000003834: 0E447122 v_mul_legacy_f32 v51, v51, v56 // 000000003838: 0E667133 v_mul_legacy_f32 v50, v52, v50 // 00000000383C: 0E646534 v_mad_f32 v54, v57, -0.5, v31 // 000000003840: D2820036 047DE339 v_mad_f32 v57, v58, -0.5, v41 // 000000003848: D2820039 04A5E33A v_mad_f32 v58, v59, -0.5, v42 // 000000003850: D282003A 04A9E33B v_mul_legacy_f32 v59, v51, v58 // 000000003858: 0E767533 v_mac_f32 v59, v57, v34 // 00000000385C: 3E764539 v_mac_f32 v59, v54, v25 // 000000003860: 3E763336 v_mac_f32 v9, v59, v50 // 000000003864: 3E12653B v_max_legacy_f32 v9, 0, v9 // 000000003868: 1C121280 v_mul_legacy_f32 v60, v58, v58 // 00000000386C: 0E78753A v_mac_f32 v60, v57, v57 // 000000003870: 3E787339 v_mac_f32 v60, v54, v54 // 000000003874: 3E786D36 v_mad_legacy_f32 v60, -v59, v59, v60 // 000000003878: D280003C 24F2773B v_mul_legacy_f32 v61, v9, v9 // 000000003880: 0E7A1309 v_cmp_gt_f32 s[58:59], v60, v61 // 000000003884: D008003A 00027B3C v_addc_u32 v37, vcc, v37, 1, s[54:55] // 00000000388C: D2506A25 00D90325 v_cndmask_b32 v37, v55, v37, s[58:59] // 000000003894: D2000025 00EA4B37 s_mov_b64 s[54:55], exec // 00000000389C: BEB6047E s_andn2_b64 exec, s[54:55], s[58:59] // wrscc // 0000000038A0: 8AFE3A36 v_mul_legacy_f32 v52, v52, v56 // 0000000038A4: 0E687134 s_cbranch_execz label_0E74 // 0000000038A8: BF880049 v_mad_legacy_f32 v52, -v52, v52, 1.0 // 0000000038AC: D2800034 23CA6934 v_max_legacy_f32 v55, 0x34000000, v60 // 0000000038B4: 1C6E78FF 34000000 v_mul_legacy_f32 v50, v50, v55 // 0000000038BC: 0E646F32 v_rsq_f32 v55, v55 // 0000000038C0: 7E6E5D37 v_mad_f32 v50, v50, v55, v59 // 0000000038C4: D2820032 04EE6F32 v_cmp_gt_f32 vcc, v53, abs(v50) // 0000000038CC: D008026A 00026535 v_mad_legacy_f32 v54, -v50, v25, v54 // 0000000038D4: D2800036 24DA3332 v_mad_legacy_f32 v57, -v50, v34, v57 // 0000000038DC: D2800039 24E64532 v_mad_legacy_f32 v58, -v50, v51, v58 // 0000000038E4: D280003A 24EA6732 v_mul_legacy_f32 v9, v9, v55 // 0000000038EC: 0E126F09 v_mad_legacy_f32 v52, v9, v52, -v52 // 0000000038F0: D2800034 84D26909 v_mad_f32 v9, v54, v52, v38 // 0000000038F8: D2820009 049A6936 v_mad_f32 v25, v57, v52, v39 // 000000003900: D2820019 049E6939 v_mad_f32 v34, v58, v52, v40 // 000000003908: D2820022 04A2693A v_mac_f32 v6, v1, v0 // 000000003910: 3E0C0101 v_mac_f32 v7, v1, v3 // 000000003914: 3E0E0701 v_mac_f32 v8, v1, v4 // 000000003918: 3E100901 v_mac_f32 v47, v1, v5 // 00000000391C: 3E5E0B01 v_mac_f32 v48, v1, v16 // 000000003920: 3E602101 v_mac_f32 v49, v1, v24 // 000000003924: 3E623101 v_sub_f32 v0, v10, v6 // 000000003928: 08000D0A v_sub_f32 v3, v14, v7 // 00000000392C: 08060F0E v_sub_f32 v4, v15, v8 // 000000003930: 0808110F v_sub_f32 v5, v26, v47 // 000000003934: 080A5F1A v_sub_f32 v6, v27, v48 // 000000003938: 080C611B v_sub_f32 v7, v28, v49 // 00000000393C: 080E631C v_subrev_f32 v5, v0, v5 // 000000003940: 0A0A0B00 v_subrev_f32 v6, v3, v6 // 000000003944: 0A0C0D03 v_subrev_f32 v7, v4, v7 // 000000003948: 0A0E0F04 v_mad_f32 v8, v59, 0.5, 0.5 // 00000000394C: D2820008 03C1E13B v_mac_f32 v0, v8, v5 // 000000003954: 3E000B08 v_mac_f32 v3, v8, v6 // 000000003958: 3E060D08 v_mac_f32 v4, v8, v7 // 00000000395C: 3E080F08 v_add_f32 v0, v43, v0 // 000000003960: 0600012B v_add_f32 v3, v44, v3 // 000000003964: 0606072C v_add_f32 v4, v45, v4 // 000000003968: 0608092D v_cndmask_b32 v0, v43, v0, s[52:53] // 00000000396C: D2000000 00D2012B v_cndmask_b32 v3, v44, v3, s[52:53] // 000000003974: D2000003 00D2072C v_cndmask_b32 v4, v45, v4, s[52:53] // 00000000397C: D2000004 00D2092D v_cndmask_b32 v5, v38, v9, vcc // 000000003984: 000A1326 v_cndmask_b32 v6, v39, v25, vcc // 000000003988: 000C3327 v_cndmask_b32 v7, v40, v34, vcc // 00000000398C: 000E4528 v_cndmask_b32 v0, v43, v0, vcc // 000000003990: 0000012B v_cndmask_b32 v3, v44, v3, vcc // 000000003994: 0006072C v_cndmask_b32 v4, v45, v4, vcc // 000000003998: 0008092D v_addc_u32 v8, vcc, v46, 0, vcc // 00000000399C: D2506A08 01A9012E v_add_i32 v9, vcc, 1, v37 // 0000000039A4: 4A124A81 v_mov_b32 v62, v9 // 0000000039A8: 7E7C0309 v_mov_b32 v9, v8 // 0000000039AC: 7E120308 v_mov_b32 v8, v4 // 0000000039B0: 7E100304 v_mov_b32 v4, v6 // 0000000039B4: 7E080306 v_mov_b32 v6, v0 // 0000000039B8: 7E0C0300 v_mov_b32 v0, v62 // 0000000039BC: 7E00033E v_mov_b32 v62, v5 // 0000000039C0: 7E7C0305 v_mov_b32 v5, v7 // 0000000039C4: 7E0A0307 v_mov_b32 v7, v3 // 0000000039C8: 7E0E0303 v_mov_b32 v3, v62 // 0000000039CC: 7E06033E label_0E74: s_andn2_b64 exec, s[54:55], exec // wrscc // 0000000039D0: 8AFE7E36 v_mov_b32 v0, v37 // 0000000039D4: 7E000325 s_cbranch_execz label_0E7E // 0000000039D8: BF880007 v_mov_b32 v3, v38 // 0000000039DC: 7E060326 v_mov_b32 v4, v39 // 0000000039E0: 7E080327 v_mov_b32 v5, v40 // 0000000039E4: 7E0A0328 v_mov_b32 v6, v43 // 0000000039E8: 7E0C032B v_mov_b32 v7, v44 // 0000000039EC: 7E0E032C v_mov_b32 v8, v45 // 0000000039F0: 7E10032D v_mov_b32 v9, v46 // 0000000039F4: 7E12032E label_0E7E: s_mov_b64 exec, s[54:55] // 0000000039F8: BEFE0436 label_0E7F: s_andn2_b64 exec, s[56:57], exec // wrscc // 0000000039FC: 8AFE7E38 v_mov_b32 v0, v55 // 000000003A00: 7E000337 s_cbranch_execz label_0E89 // 000000003A04: BF880007 v_mov_b32 v3, v38 // 000000003A08: 7E060326 v_mov_b32 v4, v39 // 000000003A0C: 7E080327 v_mov_b32 v5, v40 // 000000003A10: 7E0A0328 v_mov_b32 v6, v43 // 000000003A14: 7E0C032B v_mov_b32 v7, v44 // 000000003A18: 7E0E032C v_mov_b32 v8, v45 // 000000003A1C: 7E10032D v_mov_b32 v9, v46 // 000000003A20: 7E12032E label_0E89: s_mov_b64 exec, s[56:57] // 000000003A24: BEFE0438 buffer_load_dword v10, v0, s[92:95], s96 offset:52 // 000000003A28: E0300034 60170A00 buffer_load_dword v14, v0, s[92:95], s96 offset:20 // 000000003A30: E0300014 60170E00 buffer_load_dword v15, v0, s[92:95], s96 offset:8 // 000000003A38: E0300008 60170F00 buffer_load_dword v16, v0, s[92:95], s96 offset:12 // 000000003A40: E030000C 60171000 buffer_load_dword v24, v0, s[92:95], s96 offset:64 // 000000003A48: E0300040 60171800 buffer_load_dword v25, v0, s[92:95], s96 offset:16 // 000000003A50: E0300010 60171900 buffer_load_dword v26, v0, s[92:95], s96 offset:68 // 000000003A58: E0300044 60171A00 buffer_load_dword v27, v0, s[92:95], s96 offset:24 // 000000003A60: E0300018 60171B00 buffer_load_dword v28, v0, s[92:95], s96 offset:28 // 000000003A68: E030001C 60171C00 buffer_load_dword v34, v0, s[92:95], s96 offset:48 // 000000003A70: E0300030 60172200 buffer_load_dword v37, v0, s[92:95], s96 offset:56 // 000000003A78: E0300038 60172500 buffer_load_dword v38, v0, s[92:95], s96 offset:32 // 000000003A80: E0300020 60172600 buffer_load_dword v39, v0, s[92:95], s96 offset:40 // 000000003A88: E0300028 60172700 buffer_load_dword v40, v0, s[92:95], s96 offset:60 // 000000003A90: E030003C 60172800 buffer_load_dword v43, v0, s[92:95], s96 offset:44 // 000000003A98: E030002C 60172B00 buffer_load_dword v44, v0, s[92:95], s96 // 000000003AA0: E0300000 60172C00 buffer_load_dword v45, v0, s[92:95], s96 offset:36 // 000000003AA8: E0300024 60172D00 buffer_load_dword v46, v0, s[92:95], s96 offset:4 // 000000003AB0: E0300004 60172E00 v_mov_b32 v62, v0 // 000000003AB8: 7E7C0300 v_mov_b32 v0, v10 // 000000003ABC: 7E00030A s_waitcnt vmcnt(9) // 000000003AC0: BF8C0F79 v_mov_b32 v10, v28 // 000000003AC4: 7E14031C s_waitcnt vmcnt(1) // 000000003AC8: BF8C0F71 v_mov_b32 v28, v45 // 000000003ACC: 7E38032D v_mov_b32 v45, v8 // 000000003AD0: 7E5A0308 v_mov_b32 v8, v26 // 000000003AD4: 7E10031A v_mov_b32 v26, v43 // 000000003AD8: 7E34032B v_mov_b32 v43, v6 // 000000003ADC: 7E560306 v_mov_b32 v6, v24 // 000000003AE0: 7E0C0318 v_mov_b32 v24, v39 // 000000003AE4: 7E300327 v_mov_b32 v39, v4 // 000000003AE8: 7E4E0304 v_mov_b32 v4, v15 // 000000003AEC: 7E08030F v_mov_b32 v15, v37 // 000000003AF0: 7E1E0325 v_mov_b32 v37, v62 // 000000003AF4: 7E4A033E v_mov_b32 v62, v3 // 000000003AF8: 7E7C0303 v_mov_b32 v3, v14 // 000000003AFC: 7E06030E v_mov_b32 v14, v34 // 000000003B00: 7E1C0322 s_waitcnt vmcnt(0) // 000000003B04: BF8C0F70 v_mov_b32 v34, v46 // 000000003B08: 7E44032E v_mov_b32 v46, v9 // 000000003B0C: 7E5C0309 v_mov_b32 v9, v27 // 000000003B10: 7E12031B v_mov_b32 v27, v44 // 000000003B14: 7E36032C v_mov_b32 v44, v7 // 000000003B18: 7E580307 v_mov_b32 v7, v25 // 000000003B1C: 7E0E0319 v_mov_b32 v25, v40 // 000000003B20: 7E320328 v_mov_b32 v40, v5 // 000000003B24: 7E500305 v_mov_b32 v5, v16 // 000000003B28: 7E0A0310 v_mov_b32 v16, v38 // 000000003B2C: 7E200326 v_mov_b32 v38, v62 // 000000003B30: 7E4C033E s_branch label_0DBA // 000000003B34: BF82FEEC label_0ECE: s_mov_b64 exec, s[46:47] // 000000003B38: BEFE042E v_mov_b32 v37, 0 // 000000003B3C: 7E4A0280 ds_read_b32 v37, v37 offset:60 // 000000003B40: D8D8003C 25000025 s_mov_b64 s[46:47], exec // 000000003B48: BEAE047E v_mov_b32 v62, 0 // 000000003B4C: 7E7C0280 v_mov_b32 v47, v46 // 000000003B50: 7E5E032E v_mov_b32 v46, v45 // 000000003B54: 7E5C032D v_mov_b32 v45, v44 // 000000003B58: 7E5A032C v_mov_b32 v44, v43 // 000000003B5C: 7E58032B v_mov_b32 v43, v40 // 000000003B60: 7E560328 v_mov_b32 v40, v39 // 000000003B64: 7E500327 v_mov_b32 v39, v38 // 000000003B68: 7E4E0326 v_mov_b32 v38, 0 // 000000003B6C: 7E4C0280 label_0EDC: s_waitcnt lgkmcnt(0) // 000000003B70: BF8C007F v_cmp_ge_u32 vcc, v38, v37 // 000000003B74: 7D8C4B26 s_andn2_b64 exec, exec, vcc // wrscc // 000000003B78: 8AFE6A7E s_cbranch_execz label_0F2A // 000000003B7C: BF88004A v_add_i32 v34, vcc, v18, v38 // 000000003B80: 4A444D12 v_add_i32 v48, vcc, v19, v38 // 000000003B84: 4A604D13 s_load_dwordx4 s[52:55], s[0:1], 0x18 // 000000003B88: C09A0118 s_waitcnt lgkmcnt(0) // 000000003B8C: BF8C007F tbuffer_load_format_xyzw v[49:52], v34, s[52:55], 0 idxen format:[BUF_DATA_FORMAT_32_32_32_32,BUF_NUM_FORMAT_FLOAT] // 000000003B90: EBF32000 800D3122 tbuffer_load_format_xyzw v[53:56], v48, s[52:55], 0 idxen format:[BUF_DATA_FORMAT_32_32_32_32,BUF_NUM_FORMAT_FLOAT] // 000000003B98: EBF32000 800D3530 s_waitcnt vmcnt(0) // 000000003BA0: BF8C0F70 v_subrev_f32 v34, v49, v53 // 000000003BA4: 0A446B31 v_subrev_f32 v48, v50, v54 // 000000003BA8: 0A606D32 v_subrev_f32 v53, v51, v55 // 000000003BAC: 0A6A6F33 v_subrev_f32 v54, v52, v56 // 000000003BB0: 0A6C7134 v_mad_f32 v55, v2, v34, v49 // 000000003BB4: D2820037 04C64502 v_mad_f32 v56, v2, v48, v50 // 000000003BBC: D2820038 04CA6102 v_mad_f32 v57, v2, v53, v51 // 000000003BC4: D2820039 04CE6B02 v_mac_f32 v52, v2, v54 // 000000003BCC: 3E686D02 v_sub_f32 v54, v31, v55 // 000000003BD0: 086C6F1F v_sub_f32 v58, v41, v56 // 000000003BD4: 08747129 v_sub_f32 v59, v42, v57 // 000000003BD8: 0876732A v_mul_legacy_f32 v60, v59, v59 // 000000003BDC: 0E78773B v_mac_f32 v60, v58, v58 // 000000003BE0: 3E78753A v_mac_f32 v60, v54, v54 // 000000003BE4: 3E786D36 v_max_legacy_f32 v52, 0, v52 // 000000003BE8: 1C686880 v_add_f32 v60, 0x34000000, v60 // 000000003BEC: 067878FF 34000000 v_rsq_f32 v60, v60 // 000000003BF4: 7E785D3C v_mul_legacy_f32 v61, v52, v60 // 000000003BF8: 0E7A7934 v_mad_f32 v52, v52, v60, -1.0 // 000000003BFC: D2820034 03CE7934 v_mad_f32 v54, v54, v52, v39 // 000000003C04: D2820036 049E6936 v_mad_f32 v58, v58, v52, v40 // 000000003C0C: D282003A 04A2693A v_mad_f32 v52, v59, v52, v43 // 000000003C14: D2820034 04AE693B v_mac_f32 v49, v1, v34 // 000000003C1C: 3E624501 v_mac_f32 v50, v1, v48 // 000000003C20: 3E646101 v_mac_f32 v51, v1, v53 // 000000003C24: 3E666B01 v_sub_f32 v34, v55, v49 // 000000003C28: 08446337 v_sub_f32 v48, v56, v50 // 000000003C2C: 08606538 v_sub_f32 v49, v57, v51 // 000000003C30: 08626739 v_add_f32 v34, v44, v34 // 000000003C34: 0644452C v_add_f32 v48, v45, v48 // 000000003C38: 0660612D v_add_f32 v49, v46, v49 // 000000003C3C: 0662632E v_cndmask_b32 v34, v44, v34, s[50:51] // 000000003C40: D2000022 00CA452C v_cndmask_b32 v48, v45, v48, s[50:51] // 000000003C48: D2000030 00CA612D v_cndmask_b32 v49, v46, v49, s[50:51] // 000000003C50: D2000031 00CA632E v_cmp_lt_f32 vcc, 1.0, v61 // 000000003C58: 7C027AF2 v_cndmask_b32 v39, v39, v54, vcc // 000000003C5C: 004E6D27 v_cndmask_b32 v40, v40, v58, vcc // 000000003C60: 00507528 v_cndmask_b32 v43, v43, v52, vcc // 000000003C64: 0056692B v_cndmask_b32 v34, v44, v34, vcc // 000000003C68: 0044452C v_cndmask_b32 v44, v45, v48, vcc // 000000003C6C: 0058612D v_cndmask_b32 v45, v46, v49, vcc // 000000003C70: 005A632E v_addc_u32 v46, vcc, v47, 0, vcc // 000000003C74: D2506A2E 01A9012F v_add_i32 v38, vcc, 1, v38 // 000000003C7C: 4A4C4C81 buffer_load_dword v47, v0, s[92:95], s96 offset:4 // 000000003C80: E0300004 60172F00 v_mov_b32 v62, v34 // 000000003C88: 7E7C0322 s_waitcnt vmcnt(0) // 000000003C8C: BF8C0F70 v_mov_b32 v34, v47 // 000000003C90: 7E44032F v_mov_b32 v47, v46 // 000000003C94: 7E5E032E v_mov_b32 v46, v45 // 000000003C98: 7E5C032D v_mov_b32 v45, v44 // 000000003C9C: 7E5A032C v_mov_b32 v44, v62 // 000000003CA0: 7E58033E s_branch label_0EDC // 000000003CA4: BF82FFB2 label_0F2A: s_mov_b64 exec, s[46:47] // 000000003CA8: BEFE042E v_cmp_ne_u32 vcc, 0, v47 // 000000003CAC: 7D8A5E80 s_and_saveexec_b64 s[46:47], vcc // wrscc // 000000003CB0: BEAE246A v_cvt_f32_u32 v37, v47 // 000000003CB4: 7E4A0D2F s_cbranch_execz label_102B // 000000003CB8: BF8800FC v_rcp_f32 v37, v37 // 000000003CBC: 7E4A5525 ds_read_b32 v38, v8 offset:408 // 000000003CC0: D8D80198 26000008 ds_read_b32 v47, v8 offset:24036 // 000000003CC8: D8D85DE4 2F000008 ds_read_b32 v48, v7 offset:408 // 000000003CD0: D8D80198 30000007 ds_read_b32 v49, v7 offset:24036 // 000000003CD8: D8D85DE4 31000007 ds_read_b32 v50, v6 offset:408 // 000000003CE0: D8D80198 32000006 ds_read_b32 v51, v6 offset:8284 // 000000003CE8: D8D8205C 33000006 ds_read_b32 v52, v6 offset:16160 // 000000003CF0: D8D83F20 34000006 ds_read_b32 v53, v6 offset:24036 // 000000003CF8: D8D85DE4 35000006 v_mul_legacy_f32 v54, v39, v37 // 000000003D00: 0E6C4B27 v_mul_legacy_f32 v55, v40, v37 // 000000003D04: 0E6E4B28 v_mul_legacy_f32 v56, v43, v37 // 000000003D08: 0E704B2B s_waitcnt lgkmcnt(6) // 000000003D0C: BF8C067F v_cmp_neq_f32 vcc, 0, v47 // 000000003D10: 7C1A5E80 s_and_saveexec_b64 s[48:49], vcc // wrscc // 000000003D14: BEB0246A v_mac_f32 v38, v54, v5 // 000000003D18: 3E4C0B36 v_mac_f32 v35, v55, v5 // 000000003D1C: 3E460B37 v_mac_f32 v36, v56, v5 // 000000003D20: 3E480B38 ds_write_b32 v8, v38 offset:408 // 000000003D24: D8340198 00002608 ds_write_b32 v8, v35 offset:8284 // 000000003D2C: D834205C 00002308 ds_write_b32 v8, v36 offset:16160 // 000000003D34: D8343F20 00002408 ds_write_b32 v8, v47 offset:24036 // 000000003D3C: D8345DE4 00002F08 s_mov_b64 exec, s[48:49] // 000000003D44: BEFE0430 s_waitcnt lgkmcnt(4) // 000000003D48: BF8C047F v_cmp_neq_f32 vcc, 0, v49 // 000000003D4C: 7C1A6280 s_and_b64 exec, s[48:49], vcc // wrscc // 000000003D50: 87FE6A30 v_mac_f32 v48, v54, v4 // 000000003D54: 3E600936 v_mac_f32 v32, v55, v4 // 000000003D58: 3E400937 v_mac_f32 v33, v56, v4 // 000000003D5C: 3E420938 ds_write_b32 v7, v48 offset:408 // 000000003D60: D8340198 00003007 ds_write_b32 v7, v32 offset:8284 // 000000003D68: D834205C 00002007 ds_write_b32 v7, v33 offset:16160 // 000000003D70: D8343F20 00002107 ds_write_b32 v7, v49 offset:24036 // 000000003D78: D8345DE4 00003107 s_mov_b64 exec, s[48:49] // 000000003D80: BEFE0430 s_waitcnt lgkmcnt(0) // 000000003D84: BF8C007F v_cmp_neq_f32 vcc, 0, v53 // 000000003D88: 7C1A6A80 s_and_b64 exec, s[48:49], vcc // wrscc // 000000003D8C: 87FE6A30 v_mac_f32 v50, v54, v3 // 000000003D90: 3E640736 v_mac_f32 v51, v55, v3 // 000000003D94: 3E660737 v_mac_f32 v52, v56, v3 // 000000003D98: 3E680738 ds_write_b32 v6, v50 offset:408 // 000000003D9C: D8340198 00003206 ds_write_b32 v6, v51 offset:8284 // 000000003DA4: D834205C 00003306 ds_write_b32 v6, v52 offset:16160 // 000000003DAC: D8343F20 00003406 ds_write_b32 v6, v53 offset:24036 // 000000003DB4: D8345DE4 00003506 s_mov_b64 exec, s[48:49] // 000000003DBC: BEFE0430 v_cmp_lt_f32 vcc, 0, v13 // 000000003DC0: 7C021A80 s_and_b64 exec, s[48:49], vcc // wrscc // 000000003DC4: 87FE6A30 v_add_i32 v30, vcc, v27, v30 // 000000003DC8: 4A3C3D1B s_cbranch_execz label_0FE4 // 000000003DCC: BF880070 v_add_i32 v22, vcc, v27, v22 // 000000003DD0: 4A2C2D1B v_lshlrev_b32 v30, 4, v30 // 000000003DD4: 343C3C84 v_add_i32 v23, vcc, v27, v23 // 000000003DD8: 4A2E2F1B v_lshlrev_b32 v22, 4, v22 // 000000003DDC: 342C2C84 v_lshlrev_b32 v23, 4, v23 // 000000003DE0: 342E2E84 buffer_load_dwordx3 v[47:49], v30, s[16:19], 0 offen // 000000003DE4: E03C1000 80042F1E buffer_load_dwordx3 v[50:52], v22, s[16:19], 0 offen // 000000003DEC: E03C1000 80043216 buffer_load_dwordx3 v[53:55], v23, s[16:19], 0 offen // 000000003DF4: E03C1000 80043517 v_mul_legacy_f32 v32, v43, v43 // 000000003DFC: 0E40572B s_waitcnt vmcnt(2) // 000000003E00: BF8C0F72 v_mul_legacy_f32 v33, v4, v49 // 000000003E04: 0E426304 v_mac_f32 v32, v40, v40 // 000000003E08: 3E405128 v_mul_legacy_f32 v35, v4, v48 // 000000003E0C: 0E466104 s_waitcnt vmcnt(1) // 000000003E10: BF8C0F71 v_mac_f32 v33, v52, v5 // 000000003E14: 3E420B34 v_mac_f32 v32, v39, v39 // 000000003E18: 3E404F27 v_mul_legacy_f32 v36, v4, v47 // 000000003E1C: 0E485F04 v_mac_f32 v35, v51, v5 // 000000003E20: 3E460B33 s_waitcnt vmcnt(0) // 000000003E24: BF8C0F70 v_mac_f32 v33, v55, v3 // 000000003E28: 3E420737 v_add_f32 v38, 0x34000000, v32 // 000000003E2C: 064C40FF 34000000 v_mac_f32 v36, v50, v5 // 000000003E34: 3E480B32 v_mac_f32 v35, v54, v3 // 000000003E38: 3E460736 v_rsq_f32 v38, v38 // 000000003E3C: 7E4C5D26 v_sub_f32 v33, v42, v33 // 000000003E40: 0842432A v_mac_f32 v36, v53, v3 // 000000003E44: 3E480735 v_mul_legacy_f32 v42, v43, v38 // 000000003E48: 0E544D2B v_sub_f32 v35, v41, v35 // 000000003E4C: 08464729 v_mad_legacy_f32 v33, -v46, v37, v33 // 000000003E50: D2800021 24864B2E v_mov_b32 v41, 0 // 000000003E58: 7E520280 v_mul_legacy_f32 v46, v40, v38 // 000000003E5C: 0E5C4D28 v_sub_f32 v31, v31, v36 // 000000003E60: 083E491F v_mad_legacy_f32 v35, -v45, v37, v35 // 000000003E64: D2800023 248E4B2D v_mul_legacy_f32 v36, v42, v33 // 000000003E6C: 0E48432A ds_read_b32 v41, v41 offset:92 // 000000003E70: D8D8005C 29000029 v_mul_legacy_f32 v45, v39, v38 // 000000003E78: 0E5A4D27 v_mad_legacy_f32 v31, -v44, v37, v31 // 000000003E7C: D280001F 247E4B2C v_mac_f32 v36, v35, v46 // 000000003E84: 3E485D23 v_mac_f32 v36, v31, v45 // 000000003E88: 3E485B1F v_mad_legacy_f32 v33, -v36, v42, v33 // 000000003E8C: D2800021 24865524 v_mad_legacy_f32 v35, -v36, v46, v35 // 000000003E94: D2800023 248E5D24 v_mul_legacy_f32 v42, v33, v33 // 000000003E9C: 0E544321 v_mad_legacy_f32 v31, -v36, v45, v31 // 000000003EA0: D280001F 247E5B24 v_mac_f32 v42, v35, v35 // 000000003EA8: 3E544723 v_mac_f32 v42, v31, v31 // 000000003EAC: 3E543F1F s_waitcnt lgkmcnt(0) // 000000003EB0: BF8C007F v_mul_legacy_f32 v32, -v41, v32 // 000000003EB4: D20E0020 20024129 v_mul_legacy_f32 v32, v38, v32 // 000000003EBC: 0E404126 v_add_f32 v36, 0x34000000, v42 // 000000003EC0: 064854FF 34000000 v_mul_legacy_f32 v32, v37, v32 // 000000003EC8: 0E404125 v_rsq_f32 v36, v36 // 000000003ECC: 7E485D24 v_mul_legacy_f32 v32, v36, v32 // 000000003ED0: 0E404124 v_max_legacy_f32 v32, -1.0, v32 // 000000003ED4: 1C4040F3 v_mul_legacy_f32 v31, v31, v32 // 000000003ED8: 0E3E411F v_mul_legacy_f32 v35, v35, v32 // 000000003EDC: 0E464123 v_mul_legacy_f32 v32, v33, v32 // 000000003EE0: 0E404121 v_mul_legacy_f32 v31, -v29, v31 // 000000003EE4: D20E001F 20023F1D v_mul_legacy_f32 v33, -v29, v35 // 000000003EEC: D20E0021 2002471D v_mul_legacy_f32 v29, -v29, v32 // 000000003EF4: D20E001D 2002411D buffer_load_dwordx4 v[44:47], v22, s[16:19], 0 offen // 000000003EFC: E0381000 80042C16 s_waitcnt vmcnt(0) // 000000003F04: BF8C0F70 v_cmp_neq_f32 vcc, 0, v47 // 000000003F08: 7C1A5E80 s_and_saveexec_b64 s[50:51], vcc // wrscc // 000000003F0C: BEB2246A v_mac_f32 v44, v31, v5 // 000000003F10: 3E580B1F v_mac_f32 v45, v33, v5 // 000000003F14: 3E5A0B21 v_mac_f32 v46, v29, v5 // 000000003F18: 3E5C0B1D buffer_store_dwordx4 v[44:47], v22, s[16:19], 0 offen // 000000003F1C: E0781000 80042C16 s_mov_b64 exec, s[50:51] // 000000003F24: BEFE0432 buffer_load_dwordx4 v[44:47], v30, s[16:19], 0 offen // 000000003F28: E0381000 80042C1E s_waitcnt vmcnt(0) // 000000003F30: BF8C0F70 v_cmp_neq_f32 vcc, 0, v47 // 000000003F34: 7C1A5E80 s_and_b64 exec, s[50:51], vcc // wrscc // 000000003F38: 87FE6A32 v_mac_f32 v44, v31, v4 // 000000003F3C: 3E58091F v_mac_f32 v45, v33, v4 // 000000003F40: 3E5A0921 v_mac_f32 v46, v29, v4 // 000000003F44: 3E5C091D buffer_store_dwordx4 v[44:47], v30, s[16:19], 0 offen // 000000003F48: E0781000 80042C1E s_mov_b64 exec, s[50:51] // 000000003F50: BEFE0432 buffer_load_dwordx4 v[44:47], v23, s[16:19], 0 offen // 000000003F54: E0381000 80042C17 s_waitcnt vmcnt(0) // 000000003F5C: BF8C0F70 v_cmp_neq_f32 vcc, 0, v47 // 000000003F60: 7C1A5E80 s_and_b64 exec, s[50:51], vcc // wrscc // 000000003F64: 87FE6A32 v_mac_f32 v44, v31, v3 // 000000003F68: 3E58071F s_cbranch_execz label_0FE4 // 000000003F6C: BF880008 v_mac_f32 v45, v33, v3 // 000000003F70: 3E5A0721 v_mac_f32 v46, v29, v3 // 000000003F74: 3E5C071D v_mov_b32 v29, v44 // 000000003F78: 7E3A032C v_mov_b32 v30, v45 // 000000003F7C: 7E3C032D v_mov_b32 v31, v46 // 000000003F80: 7E3E032E v_mov_b32 v32, v47 // 000000003F84: 7E40032F buffer_store_dwordx4 v[29:32], v23, s[16:19], 0 offen // 000000003F88: E0781000 80041D17 label_0FE4: s_mov_b64 exec, s[48:49] // 000000003F90: BEFE0430 v_cmp_lt_f32 vcc, 0, v12 // 000000003F94: 7C021880 s_and_b64 exec, s[48:49], vcc // wrscc // 000000003F98: 87FE6A30 v_mul_legacy_f32 v22, v43, v43 // 000000003F9C: 0E2C572B s_cbranch_execz label_102B // 000000003FA0: BF880042 v_mac_f32 v22, v40, v40 // 000000003FA4: 3E2C5128 v_mac_f32 v22, v39, v39 // 000000003FA8: 3E2C4F27 v_mul_legacy_f32 v23, v37, v37 // 000000003FAC: 0E2E4B25 v_mul_legacy_f32 v22, v22, v23 // 000000003FB0: 0E2C2F16 v_mov_b32 v23, 0 // 000000003FB4: 7E2E0280 ds_read_b32 v23, v23 offset:88 // 000000003FB8: D8D80058 17000017 ds_read_b32 v29, v8 offset:24036 // 000000003FC0: D8D85DE4 1D000008 ds_read_b32 v30, v7 offset:408 // 000000003FC8: D8D80198 1E000007 ds_read_b32 v31, v7 offset:8284 // 000000003FD0: D8D8205C 1F000007 s_waitcnt lgkmcnt(3) // 000000003FD8: BF8C037F v_mad_f32 v22, v23, v22, 1.0 // 000000003FDC: D2820016 03CA2D17 ds_read_b32 v23, v7 offset:16160 // 000000003FE4: D8D83F20 17000007 ds_read_b32 v32, v7 offset:24036 // 000000003FEC: D8D85DE4 20000007 ds_read_b32 v33, v6 offset:408 // 000000003FF4: D8D80198 21000006 ds_read_b32 v35, v6 offset:8284 // 000000003FFC: D8D8205C 23000006 ds_read_b32 v36, v6 offset:16160 // 000000004004: D8D83F20 24000006 ds_read_b32 v37, v6 offset:24036 // 00000000400C: D8D85DE4 25000006 v_rcp_f32 v22, v22 // 000000004014: 7E2C5516 v_add_f32 v22, -1.0, v22 // 000000004018: 062C2CF3 v_mad_f32 v5, v5, v22, 1.0 // 00000000401C: D2820005 03CA2D05 v_mad_f32 v4, v4, v22, 1.0 // 000000004024: D2820004 03CA2D04 v_mad_f32 v3, v3, v22, 1.0 // 00000000402C: D2820003 03CA2D03 s_waitcnt lgkmcnt(8) // 000000004034: BF8C087F v_mul_legacy_f32 v5, v29, v5 // 000000004038: 0E0A0B1D ds_write_b32 v8, v5 offset:24036 // 00000000403C: D8345DE4 00000508 s_waitcnt lgkmcnt(8) // 000000004044: BF8C087F ds_write_b32 v7, v30 offset:408 // 000000004048: D8340198 00001E07 s_waitcnt lgkmcnt(8) // 000000004050: BF8C087F ds_write_b32 v7, v31 offset:8284 // 000000004054: D834205C 00001F07 s_waitcnt lgkmcnt(8) // 00000000405C: BF8C087F ds_write_b32 v7, v23 offset:16160 // 000000004060: D8343F20 00001707 s_waitcnt lgkmcnt(8) // 000000004068: BF8C087F v_mul_legacy_f32 v4, v32, v4 // 00000000406C: 0E080920 ds_write_b32 v7, v4 offset:24036 // 000000004070: D8345DE4 00000407 s_waitcnt lgkmcnt(8) // 000000004078: BF8C087F ds_write_b32 v6, v33 offset:408 // 00000000407C: D8340198 00002106 s_waitcnt lgkmcnt(8) // 000000004084: BF8C087F ds_write_b32 v6, v35 offset:8284 // 000000004088: D834205C 00002306 s_waitcnt lgkmcnt(8) // 000000004090: BF8C087F ds_write_b32 v6, v36 offset:16160 // 000000004094: D8343F20 00002406 s_waitcnt lgkmcnt(8) // 00000000409C: BF8C087F v_mul_legacy_f32 v3, v37, v3 // 0000000040A0: 0E060725 ds_write_b32 v6, v3 offset:24036 // 0000000040A4: D8345DE4 00000306 label_102B: s_mov_b64 exec, s[46:47] // 0000000040AC: BEFE042E v_add_i32 v3, vcc, 0x00001000, v9 // 0000000040B0: 4A0612FF 00001000 v_mov_b32 v9, v26 // 0000000040B8: 7E12031A v_mov_b32 v8, v25 // 0000000040BC: 7E100319 v_mov_b32 v7, v24 // 0000000040C0: 7E0E0318 v_mov_b32 v6, v16 // 0000000040C4: 7E0C0310 v_mov_b32 v5, v15 // 0000000040C8: 7E0A030F v_mov_b32 v4, v14 // 0000000040CC: 7E08030E v_mov_b32 v16, v3 // 0000000040D0: 7E200303 v_mov_b32 v15, v34 // 0000000040D4: 7E1E0322 v_mov_b32 v14, v28 // 0000000040D8: 7E1C031C v_mov_b32 v3, v10 // 0000000040DC: 7E06030A v_mov_b32 v10, v27 // 0000000040E0: 7E14031B s_branch label_0D48 // 0000000040E4: BF82FD0E label_103A: s_mov_b64 exec, s[44:45] // 0000000040E8: BEFE042C v_add_i32 v24, vcc, 1, v4 // 0000000040EC: 4A300881 v_mov_b32 v23, v3 // 0000000040F0: 7E2E0303 v_mov_b32 v4, v6 // 0000000040F4: 7E080306 v_mov_b32 v3, v5 // 0000000040F8: 7E060305 v_mov_b32 v6, v8 // 0000000040FC: 7E0C0308 v_mov_b32 v5, v7 // 000000004100: 7E0A0307 v_mov_b32 v8, v10 // 000000004104: 7E10030A v_mov_b32 v7, v9 // 000000004108: 7E0E0309 v_mov_b32 v10, v15 // 00000000410C: 7E14030F v_mov_b32 v9, v14 // 000000004110: 7E12030E s_branch label_0D24 // 000000004114: BF82FCDE label_1046: s_mov_b64 exec, s[42:43] // 000000004118: BEFE042A v_mov_b32 v2, v4 // 00000000411C: 7E040304 v_mov_b32 v1, v3 // 000000004120: 7E020303 v_mov_b32 v4, v6 // 000000004124: 7E080306 v_mov_b32 v3, v5 // 000000004128: 7E060305 v_mov_b32 v6, v8 // 00000000412C: 7E0C0308 v_mov_b32 v5, v7 // 000000004130: 7E0A0307 v_mov_b32 v8, v10 // 000000004134: 7E10030A v_mov_b32 v7, v9 // 000000004138: 7E0E0309 label_104F: s_andn2_b64 exec, s[40:41], exec // wrscc // 00000000413C: 8AFE7E28 v_mov_b32 v2, v4 // 000000004140: 7E040304 s_cbranch_execz label_1059 // 000000004144: BF880007 v_mov_b32 v1, v3 // 000000004148: 7E020303 v_mov_b32 v4, v6 // 00000000414C: 7E080306 v_mov_b32 v3, v5 // 000000004150: 7E060305 v_mov_b32 v6, v8 // 000000004154: 7E0C0308 v_mov_b32 v5, v7 // 000000004158: 7E0A0307 v_mov_b32 v8, v10 // 00000000415C: 7E10030A v_mov_b32 v7, v9 // 000000004160: 7E0E0309 label_1059: s_mov_b64 exec, s[40:41] // 000000004164: BEFE0428 v_mov_b32 v9, 0 // 000000004168: 7E120280 ds_read2_b32 v[9:10], v9 offset0:24 offset1:62 // 00000000416C: D8DC3E18 09000009 s_waitcnt lgkmcnt(0) // 000000004174: BF8C007F v_min_legacy_f32 v9, v9, v10 // 000000004178: 1A121509 v_cmp_lt_f32 vcc, 0, v9 // 00000000417C: 7C021280 s_and_b64 exec, s[40:41], vcc // wrscc // 000000004180: 87FE6A28 s_cbranch_execz label_28D1 // 000000004184: BF88186F v_mov_b32 v9, 0 // 000000004188: 7E120280 ds_read2_b32 v[9:10], v9 offset0:25 // 00000000418C: D8DC0019 09000009 v_cmp_lt_u32 s[42:43], v8, 3 // 000000004194: D182002A 00010708 s_and_saveexec_b64 s[44:45], s[42:43] // wrscc // 00000000419C: BEAC242A ds_read2_b32 v[11:12], v1 offset0:63 offset1:64 // 0000000041A0: D8DC403F 0B000001 s_waitcnt lgkmcnt(0) // 0000000041A8: BF8C007F v_add_f32 v13, v11, v12 // 0000000041AC: 061A190B v_madmk_f32 v12, v13, 0x38d1b717, v12 // 0000000041B0: 4018190D 38D1B717 v_madmk_f32 v11, v13, 0x38d1b717, v11 // 0000000041B8: 4016170D 38D1B717 v_add_f32 v16, v12, v11 // 0000000041C0: 0620170C ds_write_b32 v4, v16 offset:32720 // 0000000041C4: D8347FD0 00001004 s_andn2_b64 exec, s[44:45], exec // wrscc // 0000000041CC: 8AFE7E2C v_mov_b32 v12, 0 // 0000000041D0: 7E180280 v_mov_b32 v16, 0 // 0000000041D4: 7E200280 s_waitcnt vmcnt(0) & lgkmcnt(0) // 0000000041D8: BF8C0070 s_barrier // 0000000041DC: BF8A0000 s_and_b64 exec, s[44:45], s[42:43] // wrscc // 0000000041E0: 87FE2A2C v_mov_b32 v13, 0x00007fd0 // 0000000041E4: 7E1A02FF 00007FD0 s_cbranch_execz label_10A3 // 0000000041EC: BF880027 ds_read2_b32 v[14:15], v13 offset1:1 // 0000000041F0: D8DC0100 0E00000D s_movk_i32 s3, 0x7fd4 // 0000000041F8: B0037FD4 s_waitcnt lgkmcnt(0) // 0000000041FC: BF8C007F v_cmp_gt_f32 vcc, v14, v15 // 000000004200: 7C081F0E v_mov_b32 v14, 0x00007fd4 // 000000004204: 7E1C02FF 00007FD4 v_cndmask_b32 v13, v13, v14, vcc // 00000000420C: 001A1D0D v_mov_b32 v14, 0 // 000000004210: 7E1C0280 ds_read_b32 v13, v13 // 000000004214: D8D80000 0D00000D ds_read_b32 v15, v14 offset:32728 // 00000000421C: D8D87FD8 0F00000E ds_read_b32 v14, v14 offset:96 // 000000004224: D8D80060 0E00000E s_waitcnt lgkmcnt(1) // 00000000422C: BF8C017F v_cmp_ngt_f32 s[42:43], v13, v15 // 000000004230: D016002A 00021F0D v_cndmask_b32 v13, 0, -1, vcc // 000000004238: D200000D 01A98280 v_cndmask_b32 v13, -2, v13, s[42:43] // 000000004240: D200000D 00AA1AC2 v_add_i32 v13, vcc, v8, v13 // 000000004248: 4A1A1B08 v_lshrrev_b32 v15, 30, v13 // 00000000424C: 2C1E1A9E v_rcp_f32 v11, v16 // 000000004250: 7E165510 v_add_i32 v13, vcc, v13, v15 // 000000004254: 4A1A1F0D v_mul_f32 v11, 0x42fe0000, v11 // 000000004258: 101616FF 42FE0000 s_waitcnt lgkmcnt(0) // 000000004260: BF8C007F v_rcp_f32 v14, v14 // 000000004264: 7E1C550E v_min_legacy_f32 v11, v11, v14 // 000000004268: 1A161D0B v_lshlrev_b32 v13, 2, v13 // 00000000426C: 341A1A82 v_mul_legacy_f32 v12, v12, v11 // 000000004270: 0E18170C v_add_i32 v14, vcc, 0x00007fa8, v13 // 000000004274: 4A1C1AFF 00007FA8 ds_write2_b32 v14, v11, v12 offset0:3 // 00000000427C: D8380003 000C0B0E ds_write_b32 v13, v8 offset:32704 // 000000004284: D8347FC0 0000080D label_10A3: s_mov_b64 exec, s[44:45] // 00000000428C: BEFE042C s_waitcnt lgkmcnt(0) // 000000004290: BF8C007F s_barrier // 000000004294: BF8A0000 v_mov_b32 v11, 0 // 000000004298: 7E160280 ds_read2_b32 v[11:12], v11 offset0:28 offset1:73 // 00000000429C: D8DC491C 0B00000B v_lshlrev_b32 v13, 1, v9 // 0000000042A4: 341A1281 s_waitcnt lgkmcnt(0) // 0000000042A8: BF8C007F v_add_i32 v13, vcc, v11, v13 // 0000000042AC: 4A1A1B0B v_cmp_ne_u32 vcc, 0, v12 // 0000000042B0: 7D8A1880 s_and_saveexec_b64 s[42:43], vcc // wrscc // 0000000042B4: BEAA246A s_cbranch_execz label_10C2 // 0000000042B8: BF880013 s_mov_b64 s[44:45], exec // 0000000042BC: BEAC047E s_mov_b64 s[46:47], exec // 0000000042C0: BEAE047E v_mov_b32 v12, v8 // 0000000042C4: 7E180308 label_10B2: s_movk_i32 s3, 0x4103 // 0000000042C8: B0034103 v_cmp_ge_i32 s[48:49], v12, s3 // 0000000042CC: D10C0030 0000070C s_and_saveexec_b64 s[48:49], s[48:49] // wrscc // 0000000042D4: BEB02430 s_andn2_b64 s[46:47], s[46:47], exec // wrscc // 0000000042D8: 8AAE7E2E s_cbranch_scc0 label_10C2 // 0000000042DC: BF84000A s_mov_b64 exec, s[46:47] // 0000000042E0: BEFE042E v_add_i32 v14, vcc, v13, v12 // 0000000042E4: 4A1C190D v_mov_b32 v15, -1 // 0000000042E8: 7E1E02C1 s_load_dwordx4 s[48:51], s[0:1], 0x58 // 0000000042EC: C0980158 s_waitcnt lgkmcnt(0) // 0000000042F0: BF8C007F buffer_store_dword v15, v14, s[48:51], 0 idxen // 0000000042F4: E0702000 800C0F0E v_add_i32 v12, vcc, 0x00000400, v12 // 0000000042FC: 4A1818FF 00000400 s_branch label_10B2 // 000000004304: BF82FFF0 label_10C2: s_mov_b64 exec, s[42:43] // 000000004308: BEFE042A v_mov_b32 v12, 0x00007fb8 // 00000000430C: 7E1802FF 00007FB8 ds_read2_b32 v[14:15], v12 offset1:1 // 000000004314: D8DC0100 0E00000C v_mov_b32 v16, 0x00007fac // 00000000431C: 7E2002FF 00007FAC ds_read2_b32 v[16:17], v16 offset1:1 // 000000004324: D8DC0100 10000010 ds_read2_b32 v[18:19], v12 offset0:3 offset1:4 // 00000000432C: D8DC0403 1200000C v_mov_b32 v12, 0 // 000000004334: 7E180280 ds_read_b32 v12, v12 offset:104 // 000000004338: D8D80068 0C00000C s_mov_b64 s[42:43], exec // 000000004340: BEAA047E v_mov_b32 v20, v8 // 000000004344: 7E280308 s_nop 0x0000 // 000000004348: BF800000 s_nop 0x0000 // 00000000434C: BF800000 label_10D4: v_cmp_ge_i32 vcc, v20, v9 // 000000004350: 7D0C1314 s_andn2_b64 exec, exec, vcc // wrscc // 000000004354: 8AFE6A7E s_cbranch_execz label_1112 // 000000004358: BF88003B s_waitcnt lgkmcnt(0) // 00000000435C: BF8C007F v_add_i32 v21, vcc, v12, v20 // 000000004360: 4A2A290C s_load_dwordx4 s[44:47], s[0:1], 0x38 // 000000004364: C0960138 s_waitcnt lgkmcnt(0) // 000000004368: BF8C007F tbuffer_load_format_x v21, v21, s[44:47], 0 idxen format:[BUF_DATA_FORMAT_32,BUF_NUM_FORMAT_FLOAT] // 00000000436C: EBA02000 800B1515 v_readfirstlane_b32 s3, v18 // 000000004374: 7E060512 v_readfirstlane_b32 s44, v19 // 000000004378: 7E580513 v_cmp_ne_i32 vcc, -1, v12 // 00000000437C: 7D0A18C1 s_waitcnt vmcnt(0) // 000000004380: BF8C0F70 v_cndmask_b32 v21, v20, v21, vcc // 000000004384: 002A2B14 v_lshlrev_b32 v22, 2, v21 // 000000004388: 342C2A82 s_lshl_b32 s3, s3, 4 // wrscc // 00000000438C: 8F038403 s_lshl_b32 s44, s44, 4 // wrscc // 000000004390: 8F2C842C ds_read_b32 v23, v22 offset:24036 // 000000004394: D8D85DE4 17000016 s_buffer_load_dwordx4 s[48:51], s[4:7], s3 // 00000000439C: C2980403 s_buffer_load_dwordx4 s[44:47], s[4:7], s44 // 0000000043A0: C296042C ds_read_b32 v24, v22 offset:16160 // 0000000043A4: D8D83F20 18000016 ds_read_b32 v25, v22 offset:8284 // 0000000043AC: D8D8205C 19000016 ds_read_b32 v22, v22 offset:408 // 0000000043B4: D8D80198 16000016 s_waitcnt lgkmcnt(0) // 0000000043BC: BF8C007F v_mul_legacy_f32 v26, s51, v23 // 0000000043C0: 0E342E33 v_mul_legacy_f32 v23, s47, v23 // 0000000043C4: 0E2E2E2F v_mac_f32 v26, s50, v24 // 0000000043C8: 3E343032 v_mac_f32 v23, s46, v24 // 0000000043CC: 3E2E302E v_mac_f32 v26, s49, v25 // 0000000043D0: 3E343231 v_mac_f32 v23, s45, v25 // 0000000043D4: 3E2E322D v_mac_f32 v26, s48, v22 // 0000000043D8: 3E342C30 v_mac_f32 v23, s44, v22 // 0000000043DC: 3E2E2C2C v_mad_f32 v22, v26, v14, v16 // 0000000043E0: D2820016 04421D1A v_mad_f32 v23, v23, v15, v17 // 0000000043E8: D2820017 04461F17 s_mov_b32 s3, 0x42ff0000 // 0000000043F0: BE8303FF 42FF0000 v_med3_f32 v23, v23, s3, 0 // 0000000043F8: D2AE0017 02000717 v_med3_f32 v22, v22, s3, 0 // 000000004400: D2AE0016 02000716 v_cvt_i32_f32 v23, v23 // 000000004408: 7E2E1117 v_cvt_i32_f32 v22, v22 // 00000000440C: 7E2C1116 v_lshlrev_b32 v23, 23, v23 // 000000004410: 342E2E97 v_lshlrev_b32 v22, 16, v22 // 000000004414: 342C2C90 v_add_i32 v22, vcc, v23, v22 // 000000004418: 4A2C2D17 v_add_i32 v22, vcc, 0x00810000, v22 // 00000000441C: 4A2C2CFF 00810000 v_add_i32 v23, vcc, v11, v20 // 000000004424: 4A2E290B v_or_b32 v21, v21, v22 // 000000004428: 382A2D15 s_load_dwordx4 s[44:47], s[0:1], 0x58 // 00000000442C: C0960158 s_waitcnt lgkmcnt(0) // 000000004430: BF8C007F buffer_store_dword v21, v23, s[44:47], 0 idxen // 000000004434: E0702000 800B1517 v_add_i32 v20, vcc, 0x00000400, v20 // 00000000443C: 4A2828FF 00000400 s_branch label_10D4 // 000000004444: BF82FFC2 label_1112: s_mov_b64 exec, s[42:43] // 000000004448: BEFE042A s_waitcnt vmcnt(0) & lgkmcnt(0) // 00000000444C: BF8C0070 s_barrier // 000000004450: BF8A0000 v_mov_b32 v11, 0 // 000000004454: 7E160280 ds_read2_b32 v[11:12], v11 offset0:27 offset1:28 // 000000004458: D8DC1C1B 0B00000B s_waitcnt lgkmcnt(0) // 000000004460: BF8C007F v_add_i32 v20, vcc, v9, v12 // 000000004464: 4A281909 s_mov_b64 s[42:43], exec // 000000004468: BEAA047E v_mov_b32 v21, v8 // 00000000446C: 7E2A0308 label_111C: v_cmp_ge_i32 vcc, v21, v10 // 000000004470: 7D0C1515 s_andn2_b64 exec, exec, vcc // wrscc // 000000004474: 8AFE6A7E s_cbranch_execz label_1130 // 000000004478: BF880011 v_lshlrev_b32 v22, 2, v21 // 00000000447C: 342C2A82 ds_read_b32 v27, v22 offset:408 // 000000004480: D8D80198 1B000016 ds_read_b32 v28, v22 offset:8284 // 000000004488: D8D8205C 1C000016 ds_read_b32 v29, v22 offset:16160 // 000000004490: D8D83F20 1D000016 ds_read_b32 v30, v22 offset:24036 // 000000004498: D8D85DE4 1E000016 v_add_i32 v26, vcc, v11, v21 // 0000000044A0: 4A342B0B v_add_i32 v21, vcc, 0x00000400, v21 // 0000000044A4: 4A2A2AFF 00000400 s_load_dwordx4 s[44:47], s[0:1], 0x54 // 0000000044AC: C0960154 s_waitcnt lgkmcnt(0) // 0000000044B0: BF8C007F buffer_store_dwordx4 v[27:30], v26, s[44:47], 0 idxen // 0000000044B4: E0782000 800B1B1A s_branch label_111C // 0000000044BC: BF82FFEC label_1130: s_mov_b64 exec, s[42:43] // 0000000044C0: BEFE042A s_waitcnt vmcnt(0) // 0000000044C4: BF8C0F70 s_barrier // 0000000044C8: BF8A0000 v_add_i32 v11, vcc, 31, v9 // 0000000044CC: 4A16129F v_bfe_u32 v21, v11, 5, 5 // 0000000044D0: D2900015 02150B0B v_lshrrev_b32 v11, 10, v11 // 0000000044D8: 2C16168A v_cmp_gt_u32 s[42:43], v21, v5 // 0000000044DC: D188002A 00020B15 v_addc_u32 v22, vcc, v11, 0, s[42:43] // 0000000044E4: D2506A16 00A9010B v_cndmask_b32 v23, 1, 0, s[42:43] // 0000000044EC: D2000017 00A90081 v_mul_lo_i32 v23, v21, v23 // 0000000044F4: D2D60017 00022F15 v_mul_lo_i32 v24, v5, v22 // 0000000044FC: D2D60018 00022D05 v_add_i32 v23, vcc, v23, v24 // 000000004504: 4A2E3117 v_lshlrev_b32 v23, 5, v23 // 000000004508: 342E2E85 v_lshlrev_b32 v22, 5, v22 // 00000000450C: 342C2C85 v_add_i32 v22, vcc, v23, v22 // 000000004510: 4A2C2D17 v_min_u32 v22, v9, v22 // 000000004514: 262C2D09 v_bfi_b32 v23, 31, v8, v23 // 000000004518: D2940017 045E109F s_mov_b64 s[44:45], exec // 000000004520: BEAC047E s_mov_b64 s[46:47], exec // 000000004524: BEAE047E v_mov_b32 v25, 0 // 000000004528: 7E320280 v_mov_b32 v24, 0 // 00000000452C: 7E300280 v_mov_b32 v26, v23 // 000000004530: 7E340317 s_movk_i32 s48, 0x0000 // 000000004534: B0300000 s_movk_i32 s49, 0x0000 // 000000004538: B0310000 s_movk_i32 s50, 0x0000 // 00000000453C: B0320000 s_movk_i32 s51, 0x0000 // 000000004540: B0330000 s_movk_i32 s52, 0x0000 // 000000004544: B0340000 s_movk_i32 s53, 0x0000 // 000000004548: B0350000 s_movk_i32 s54, 0x0000 // 00000000454C: B0360000 s_movk_i32 s55, 0x0000 // 000000004550: B0370000 s_movk_i32 s56, 0x0000 // 000000004554: B0380000 s_movk_i32 s57, 0x0000 // 000000004558: B0390000 s_movk_i32 s58, 0x0000 // 00000000455C: B03A0000 s_movk_i32 s59, 0x0000 // 000000004560: B03B0000 s_movk_i32 s60, 0x0000 // 000000004564: B03C0000 s_movk_i32 s61, 0x0000 // 000000004568: B03D0000 s_movk_i32 s62, 0x0000 // 00000000456C: B03E0000 s_movk_i32 s63, 0x0000 // 000000004570: B03F0000 s_nop 0x0000 // 000000004574: BF800000 s_nop 0x0000 // 000000004578: BF800000 s_nop 0x0000 // 00000000457C: BF800000 label_1160: v_cmp_ge_u32 s[64:65], v25, v11 // 000000004580: D18C0040 00021719 v_mov_b32 v27, 0x00000c00 // 000000004588: 7E3602FF 00000C00 s_movk_i32 s3, 0x03ff // 000000004590: B00303FF v_mov_b32 v28, 0x00000800 // 000000004594: 7E3802FF 00000800 s_movk_i32 s66, 0x07ff // 00000000459C: B04207FF v_mov_b32 v29, 0x00000400 // 0000000045A0: 7E3A02FF 00000400 v_and_b32 v30, 1, v8 // 0000000045A8: 363C1081 v_and_b32 v31, 2, v8 // 0000000045AC: 363E1082 v_and_b32 v32, 0x000003e0, v8 // 0000000045B0: 364010FF 000003E0 v_and_b32 v33, 4, v8 // 0000000045B8: 36421084 v_and_b32 v34, 8, v8 // 0000000045BC: 36441088 v_bfi_b32 v27, s3, v8, v27 // 0000000045C0: D294001B 046E1003 v_bfi_b32 v28, s66, v8, v28 // 0000000045C8: D294001C 04721042 v_bfi_b32 v29, s3, v8, v29 // 0000000045D0: D294001D 04761003 v_add_i32 v30, vcc, -1, v30 // 0000000045D8: 4A3C3CC1 v_cmp_eq_i32 s[66:67], v31, 0 // 0000000045DC: D1040042 0001011F s_andn2_b64 vcc, s[58:59], exec // wrscc // 0000000045E4: 8AEA7E3A s_or_b64 s[58:59], s[66:67], vcc // wrscc // 0000000045E8: 88BA6A42 v_lshlrev_b32 v31, 2, v32 // 0000000045EC: 343E4082 v_cmp_eq_i32 s[68:69], v33, 0 // 0000000045F0: D1040044 00010121 s_andn2_b64 vcc, s[60:61], exec // wrscc // 0000000045F8: 8AEA7E3C s_or_b64 s[60:61], s[68:69], vcc // wrscc // 0000000045FC: 88BC6A44 v_cmp_eq_i32 s[70:71], v34, 0 // 000000004600: D1040046 00010122 s_andn2_b64 vcc, s[62:63], exec // wrscc // 000000004608: 8AEA7E3E s_or_b64 s[62:63], s[70:71], vcc // wrscc // 00000000460C: 88BE6A46 v_cmp_lt_u32 s[72:73], v2, 16 // 000000004610: D1820048 00012102 s_andn2_b64 vcc, s[48:49], exec // wrscc // 000000004618: 8AEA7E30 s_or_b64 s[48:49], s[72:73], vcc // wrscc // 00000000461C: 88B06A48 v_cmp_lt_u32 s[74:75], v2, 8 // 000000004620: D182004A 00011102 s_andn2_b64 vcc, s[50:51], exec // wrscc // 000000004628: 8AEA7E32 s_or_b64 s[50:51], s[74:75], vcc // wrscc // 00000000462C: 88B26A4A v_cmp_lt_u32 s[76:77], v2, 4 // 000000004630: D182004C 00010902 s_andn2_b64 vcc, s[52:53], exec // wrscc // 000000004638: 8AEA7E34 s_or_b64 s[52:53], s[76:77], vcc // wrscc // 00000000463C: 88B46A4C v_cmp_lt_u32 s[78:79], v2, 2 // 000000004640: D182004E 00010502 s_andn2_b64 vcc, s[54:55], exec // wrscc // 000000004648: 8AEA7E36 s_or_b64 s[54:55], s[78:79], vcc // wrscc // 00000000464C: 88B66A4E v_cmp_lt_u32 s[80:81], v2, 1 // 000000004650: D1820050 00010302 s_andn2_b64 vcc, s[56:57], exec // wrscc // 000000004658: 8AEA7E38 s_or_b64 s[56:57], s[80:81], vcc // wrscc // 00000000465C: 88B86A50 v_lshlrev_b32 v27, 2, v27 // 000000004660: 34363682 v_lshlrev_b32 v28, 2, v28 // 000000004664: 34383882 v_lshlrev_b32 v29, 2, v29 // 000000004668: 343A3A82 s_and_saveexec_b64 s[64:65], s[64:65] // wrscc // 00000000466C: BEC02440 s_andn2_b64 s[46:47], s[46:47], exec // wrscc // 000000004670: 8AAE7E2E s_cbranch_scc0 label_128F // 000000004674: BF8400F1 s_and_b64 exec, s[64:65], s[46:47] // wrscc // 000000004678: 87FE2E40 v_add_i32 v32, vcc, v12, v26 // 00000000467C: 4A40350C s_load_dwordx4 s[84:87], s[0:1], 0x58 // 000000004680: C0AA0158 s_waitcnt lgkmcnt(0) // 000000004684: BF8C007F buffer_load_dword v32, v32, s[84:87], 0 idxen // 000000004688: E0302000 80152020 v_cmp_gt_u32 vcc, v22, v26 // 000000004690: 7D883516 s_waitcnt vmcnt(0) // 000000004694: BF8C0F70 v_cndmask_b32 v32, -1, v32, vcc // 000000004698: 004040C1 v_bfe_u32 v33, v32, 16, 1 // 00000000469C: D2900021 02052120 v_lshrrev_b32 v32, 16, v32 // 0000000046A4: 2C404090 v_cmp_ne_i32 vcc, 0, v33 // 0000000046A8: 7D0A4280 v_and_b32 v33, 2, v32 // 0000000046AC: 36424082 v_cndmask_b32 v34, 0, -1, vcc // 0000000046B0: D2000022 01A98280 v_cmp_ne_i32 vcc, 0, v33 // 0000000046B8: 7D0A4280 v_and_b32 v33, 4, v32 // 0000000046BC: 36424084 v_bfm_b32 v35, 1, v8 // 0000000046C0: 3C461081 v_lshl_b32 v34, v34, v8 // 0000000046C4: 32441122 v_cndmask_b32 v36, 0, -1, vcc // 0000000046C8: D2000024 01A98280 v_cmp_ne_i32 vcc, 0, v33 // 0000000046D0: 7D0A4280 v_and_b32 v32, 8, v32 // 0000000046D4: 36404088 v_bfi_b32 v33, v35, v34, 0 // 0000000046D8: D2940021 02024523 v_lshl_b32 v34, v36, v8 // 0000000046E0: 32441124 v_cndmask_b32 v36, 0, -1, vcc // 0000000046E4: D2000024 01A98280 v_cmp_ne_i32 vcc, 0, v32 // 0000000046EC: 7D0A4080 v_bfi_b32 v32, v35, v34, 0 // 0000000046F0: D2940020 02024523 v_lshl_b32 v34, v36, v8 // 0000000046F8: 32441124 v_cndmask_b32 v36, 0, -1, vcc // 0000000046FC: D2000024 01A98280 ds_write_b32 v4, v33 offset:408 // 000000004704: D8340198 00002104 v_bfi_b32 v33, v35, v34, 0 // 00000000470C: D2940021 02024523 v_lshl_b32 v34, v36, v8 // 000000004714: 32441124 ds_write_b32 v29, v32 offset:408 // 000000004718: D8340198 0000201D v_bfi_b32 v32, v35, v34, 0 // 000000004720: D2940020 02024523 ds_write_b32 v28, v33 offset:408 // 000000004728: D8340198 0000211C ds_write_b32 v27, v32 offset:408 // 000000004730: D8340198 0000201B s_waitcnt lgkmcnt(0) // 000000004738: BF8C007F s_barrier // 00000000473C: BF8A0000 s_and_saveexec_b64 s[64:65], s[72:73] // wrscc // 000000004740: BEC02448 s_cbranch_execz label_11EF // 000000004744: BF88001D ds_read2_b32 v[32:33], v4 offset0:102 offset1:118 // 000000004748: D8DC7666 20000004 ds_read_b32 v34, v29 offset:408 // 000000004750: D8D80198 2200001D ds_read_b32 v35, v28 offset:408 // 000000004758: D8D80198 2300001C ds_read_b32 v36, v27 offset:408 // 000000004760: D8D80198 2400001B v_add_i32 v37, vcc, 0x000011d8, v4 // 000000004768: 4A4A08FF 000011D8 ds_read2st64_b32 v[37:38], v37 offset1:16 // 000000004770: D8E01000 25000025 ds_read_b32 v39, v4 offset:12760 // 000000004778: D8D831D8 27000004 s_waitcnt lgkmcnt(5) // 000000004780: BF8C057F v_or_b32 v32, v32, v33 // 000000004784: 38404320 s_waitcnt lgkmcnt(1) // 000000004788: BF8C017F v_or_b32 v33, v34, v37 // 00000000478C: 38424B22 v_or_b32 v34, v35, v38 // 000000004790: 38444D23 s_waitcnt lgkmcnt(0) // 000000004794: BF8C007F v_or_b32 v35, v36, v39 // 000000004798: 38464F24 ds_write_b32 v4, v32 offset:408 // 00000000479C: D8340198 00002004 ds_write_b32 v29, v33 offset:408 // 0000000047A4: D8340198 0000211D ds_write_b32 v28, v34 offset:408 // 0000000047AC: D8340198 0000221C ds_write_b32 v27, v35 offset:408 // 0000000047B4: D8340198 0000231B label_11EF: s_waitcnt lgkmcnt(0) // 0000000047BC: BF8C007F s_barrier // 0000000047C0: BF8A0000 s_and_b64 exec, s[64:65], s[74:75] // wrscc // 0000000047C4: 87FE4A40 s_cbranch_execz label_1210 // 0000000047C8: BF88001D ds_read2_b32 v[32:33], v4 offset0:102 offset1:110 // 0000000047CC: D8DC6E66 20000004 ds_read_b32 v34, v29 offset:408 // 0000000047D4: D8D80198 2200001D ds_read_b32 v35, v28 offset:408 // 0000000047DC: D8D80198 2300001C ds_read_b32 v36, v27 offset:408 // 0000000047E4: D8D80198 2400001B v_add_i32 v37, vcc, 0x000011b8, v4 // 0000000047EC: 4A4A08FF 000011B8 ds_read2st64_b32 v[37:38], v37 offset1:16 // 0000000047F4: D8E01000 25000025 ds_read_b32 v39, v4 offset:12728 // 0000000047FC: D8D831B8 27000004 s_waitcnt lgkmcnt(5) // 000000004804: BF8C057F v_or_b32 v32, v32, v33 // 000000004808: 38404320 s_waitcnt lgkmcnt(1) // 00000000480C: BF8C017F v_or_b32 v33, v34, v37 // 000000004810: 38424B22 v_or_b32 v34, v35, v38 // 000000004814: 38444D23 s_waitcnt lgkmcnt(0) // 000000004818: BF8C007F v_or_b32 v35, v36, v39 // 00000000481C: 38464F24 ds_write_b32 v4, v32 offset:408 // 000000004820: D8340198 00002004 ds_write_b32 v29, v33 offset:408 // 000000004828: D8340198 0000211D ds_write_b32 v28, v34 offset:408 // 000000004830: D8340198 0000221C ds_write_b32 v27, v35 offset:408 // 000000004838: D8340198 0000231B label_1210: s_waitcnt lgkmcnt(0) // 000000004840: BF8C007F s_barrier // 000000004844: BF8A0000 s_and_b64 exec, s[64:65], s[76:77] // wrscc // 000000004848: 87FE4C40 s_cbranch_execz label_1231 // 00000000484C: BF88001D ds_read2_b32 v[32:33], v4 offset0:102 offset1:106 // 000000004850: D8DC6A66 20000004 ds_read_b32 v34, v29 offset:408 // 000000004858: D8D80198 2200001D ds_read_b32 v35, v28 offset:408 // 000000004860: D8D80198 2300001C ds_read_b32 v36, v27 offset:408 // 000000004868: D8D80198 2400001B v_add_i32 v37, vcc, 0x000011a8, v4 // 000000004870: 4A4A08FF 000011A8 ds_read2st64_b32 v[37:38], v37 offset1:16 // 000000004878: D8E01000 25000025 ds_read_b32 v39, v4 offset:12712 // 000000004880: D8D831A8 27000004 s_waitcnt lgkmcnt(5) // 000000004888: BF8C057F v_or_b32 v32, v32, v33 // 00000000488C: 38404320 s_waitcnt lgkmcnt(1) // 000000004890: BF8C017F v_or_b32 v33, v34, v37 // 000000004894: 38424B22 v_or_b32 v34, v35, v38 // 000000004898: 38444D23 s_waitcnt lgkmcnt(0) // 00000000489C: BF8C007F v_or_b32 v35, v36, v39 // 0000000048A0: 38464F24 ds_write_b32 v4, v32 offset:408 // 0000000048A4: D8340198 00002004 ds_write_b32 v29, v33 offset:408 // 0000000048AC: D8340198 0000211D ds_write_b32 v28, v34 offset:408 // 0000000048B4: D8340198 0000221C ds_write_b32 v27, v35 offset:408 // 0000000048BC: D8340198 0000231B label_1231: s_waitcnt lgkmcnt(0) // 0000000048C4: BF8C007F s_barrier // 0000000048C8: BF8A0000 s_and_b64 exec, s[64:65], s[78:79] // wrscc // 0000000048CC: 87FE4E40 s_cbranch_execz label_1252 // 0000000048D0: BF88001D ds_read2_b32 v[32:33], v4 offset0:102 offset1:104 // 0000000048D4: D8DC6866 20000004 ds_read_b32 v34, v29 offset:408 // 0000000048DC: D8D80198 2200001D ds_read_b32 v35, v28 offset:408 // 0000000048E4: D8D80198 2300001C ds_read_b32 v36, v27 offset:408 // 0000000048EC: D8D80198 2400001B v_add_i32 v37, vcc, 0x000011a0, v4 // 0000000048F4: 4A4A08FF 000011A0 ds_read2st64_b32 v[37:38], v37 offset1:16 // 0000000048FC: D8E01000 25000025 ds_read_b32 v39, v4 offset:12704 // 000000004904: D8D831A0 27000004 s_waitcnt lgkmcnt(5) // 00000000490C: BF8C057F v_or_b32 v32, v32, v33 // 000000004910: 38404320 s_waitcnt lgkmcnt(1) // 000000004914: BF8C017F v_or_b32 v33, v34, v37 // 000000004918: 38424B22 v_or_b32 v34, v35, v38 // 00000000491C: 38444D23 s_waitcnt lgkmcnt(0) // 000000004920: BF8C007F v_or_b32 v35, v36, v39 // 000000004924: 38464F24 ds_write_b32 v4, v32 offset:408 // 000000004928: D8340198 00002004 ds_write_b32 v29, v33 offset:408 // 000000004930: D8340198 0000211D ds_write_b32 v28, v34 offset:408 // 000000004938: D8340198 0000221C ds_write_b32 v27, v35 offset:408 // 000000004940: D8340198 0000231B label_1252: s_waitcnt lgkmcnt(0) // 000000004948: BF8C007F s_barrier // 00000000494C: BF8A0000 s_and_b64 exec, s[64:65], s[80:81] // wrscc // 000000004950: 87FE5040 s_cbranch_execz label_1273 // 000000004954: BF88001D ds_read2_b32 v[32:33], v4 offset0:102 offset1:103 // 000000004958: D8DC6766 20000004 ds_read_b32 v34, v29 offset:408 // 000000004960: D8D80198 2200001D ds_read_b32 v35, v28 offset:408 // 000000004968: D8D80198 2300001C ds_read_b32 v36, v27 offset:408 // 000000004970: D8D80198 2400001B v_add_i32 v37, vcc, 0x0000119c, v4 // 000000004978: 4A4A08FF 0000119C ds_read2st64_b32 v[37:38], v37 offset1:16 // 000000004980: D8E01000 25000025 ds_read_b32 v39, v4 offset:12700 // 000000004988: D8D8319C 27000004 s_waitcnt lgkmcnt(5) // 000000004990: BF8C057F v_or_b32 v32, v32, v33 // 000000004994: 38404320 s_waitcnt lgkmcnt(1) // 000000004998: BF8C017F v_or_b32 v33, v34, v37 // 00000000499C: 38424B22 v_or_b32 v34, v35, v38 // 0000000049A0: 38444D23 s_waitcnt lgkmcnt(0) // 0000000049A4: BF8C007F v_or_b32 v35, v36, v39 // 0000000049A8: 38464F24 ds_write_b32 v4, v32 offset:408 // 0000000049AC: D8340198 00002004 ds_write_b32 v29, v33 offset:408 // 0000000049B4: D8340198 0000211D ds_write_b32 v28, v34 offset:408 // 0000000049BC: D8340198 0000221C ds_write_b32 v27, v35 offset:408 // 0000000049C4: D8340198 0000231B label_1273: s_mov_b64 exec, s[64:65] // 0000000049CC: BEFE0440 s_waitcnt lgkmcnt(0) // 0000000049D0: BF8C007F s_barrier // 0000000049D4: BF8A0000 v_add_i32 v27, vcc, 0x00000198, v31 // 0000000049D8: 4A363EFF 00000198 ds_read2st64_b32 v[28:29], v27 offset1:16 // 0000000049E0: D8E01000 1C00001B ds_read2st64_b32 v[31:32], v27 offset0:32 offset1:48 // 0000000049E8: D8E03020 1F00001B v_cndmask_b32 v27, 0, -1, s[66:67] // 0000000049F0: D200001B 01098280 s_waitcnt lgkmcnt(1) // 0000000049F8: BF8C017F v_xor_b32 v28, v30, v28 // 0000000049FC: 3A38391E v_xor_b32 v27, v27, v29 // 000000004A00: 3A363B1B v_cndmask_b32 v29, 0, -1, s[68:69] // 000000004A04: D200001D 01118280 v_and_b32 v27, v28, v27 // 000000004A0C: 3636371C s_waitcnt lgkmcnt(0) // 000000004A10: BF8C007F v_xor_b32 v28, v29, v31 // 000000004A14: 3A383F1D v_cndmask_b32 v29, 0, -1, s[70:71] // 000000004A18: D200001D 01198280 v_and_b32 v27, v27, v28 // 000000004A20: 3636391B v_xor_b32 v28, v29, v32 // 000000004A24: 3A38411D v_and_b32 v27, v27, v28 // 000000004A28: 3636391B v_bcnt_u32_b32 v24, v27, v24 // 000000004A2C: 4430311B v_add_i32 v25, vcc, 1, v25 // 000000004A30: 4A323281 v_add_i32 v26, vcc, 32, v26 // 000000004A34: 4A3434A0 s_branch label_1160 // 000000004A38: BF82FED1 label_128F: s_mov_b64 exec, s[44:45] // 000000004A3C: BEFE042C v_cmp_ne_u32 vcc, 0, v21 // 000000004A40: 7D8A2A80 s_and_saveexec_b64 s[44:45], vcc // wrscc // 000000004A44: BEAC246A v_add_i32 v25, vcc, v12, v26 // 000000004A48: 4A32350C s_cbranch_execz label_139E // 000000004A4C: BF88010A s_and_saveexec_b64 s[46:47], s[42:43] // wrscc // 000000004A50: BEAE242A s_cbranch_execz label_12C4 // 000000004A54: BF88002E s_load_dwordx4 s[64:67], s[0:1], 0x58 // 000000004A58: C0A00158 s_waitcnt lgkmcnt(0) // 000000004A5C: BF8C007F buffer_load_dword v25, v25, s[64:67], 0 idxen // 000000004A60: E0302000 80101919 v_cmp_gt_u32 vcc, v22, v26 // 000000004A68: 7D883516 s_waitcnt vmcnt(0) // 000000004A6C: BF8C0F70 v_cndmask_b32 v25, -1, v25, vcc // 000000004A70: 003232C1 v_bfe_u32 v26, v25, 16, 1 // 000000004A74: D290001A 02052119 v_lshrrev_b32 v25, 16, v25 // 000000004A7C: 2C323290 v_cmp_ne_i32 vcc, 0, v26 // 000000004A80: 7D0A3480 v_and_b32 v26, 2, v25 // 000000004A84: 36343282 v_cndmask_b32 v32, 0, -1, vcc // 000000004A88: D2000020 01A98280 v_cmp_ne_i32 vcc, 0, v26 // 000000004A90: 7D0A3480 v_and_b32 v26, 4, v25 // 000000004A94: 36343284 v_bfm_b32 v33, 1, v8 // 000000004A98: 3C421081 v_lshl_b32 v32, v32, v8 // 000000004A9C: 32401120 v_cndmask_b32 v34, 0, -1, vcc // 000000004AA0: D2000022 01A98280 v_cmp_ne_i32 vcc, 0, v26 // 000000004AA8: 7D0A3480 v_and_b32 v25, 8, v25 // 000000004AAC: 36323288 v_bfi_b32 v26, v33, v32, 0 // 000000004AB0: D294001A 02024121 v_lshl_b32 v32, v34, v8 // 000000004AB8: 32401122 v_cndmask_b32 v34, 0, -1, vcc // 000000004ABC: D2000022 01A98280 v_cmp_ne_i32 vcc, 0, v25 // 000000004AC4: 7D0A3280 v_bfi_b32 v25, v33, v32, 0 // 000000004AC8: D2940019 02024121 v_lshl_b32 v32, v34, v8 // 000000004AD0: 32401122 v_cndmask_b32 v34, 0, -1, vcc // 000000004AD4: D2000022 01A98280 ds_write_b32 v4, v26 offset:408 // 000000004ADC: D8340198 00001A04 v_bfi_b32 v26, v33, v32, 0 // 000000004AE4: D294001A 02024121 v_lshl_b32 v32, v34, v8 // 000000004AEC: 32401122 ds_write_b32 v29, v25 offset:408 // 000000004AF0: D8340198 0000191D v_bfi_b32 v25, v33, v32, 0 // 000000004AF8: D2940019 02024121 ds_write_b32 v28, v26 offset:408 // 000000004B00: D8340198 00001A1C ds_write_b32 v27, v25 offset:408 // 000000004B08: D8340198 0000191B label_12C4: s_waitcnt lgkmcnt(0) // 000000004B10: BF8C007F s_barrier // 000000004B14: BF8A0000 s_and_b64 exec, s[46:47], s[42:43] // wrscc // 000000004B18: 87FE2A2E s_cbranch_execz label_12E7 // 000000004B1C: BF88001F s_and_saveexec_b64 s[64:65], s[48:49] // wrscc // 000000004B20: BEC02430 s_cbranch_execz label_12E7 // 000000004B24: BF88001D ds_read2_b32 v[25:26], v4 offset0:102 offset1:118 // 000000004B28: D8DC7666 19000004 ds_read_b32 v32, v29 offset:408 // 000000004B30: D8D80198 2000001D ds_read_b32 v33, v28 offset:408 // 000000004B38: D8D80198 2100001C ds_read_b32 v34, v27 offset:408 // 000000004B40: D8D80198 2200001B v_add_i32 v35, vcc, 0x000011d8, v4 // 000000004B48: 4A4608FF 000011D8 ds_read2st64_b32 v[35:36], v35 offset1:16 // 000000004B50: D8E01000 23000023 ds_read_b32 v37, v4 offset:12760 // 000000004B58: D8D831D8 25000004 s_waitcnt lgkmcnt(5) // 000000004B60: BF8C057F v_or_b32 v25, v25, v26 // 000000004B64: 38323519 s_waitcnt lgkmcnt(1) // 000000004B68: BF8C017F v_or_b32 v26, v32, v35 // 000000004B6C: 38344720 v_or_b32 v32, v33, v36 // 000000004B70: 38404921 s_waitcnt lgkmcnt(0) // 000000004B74: BF8C007F v_or_b32 v33, v34, v37 // 000000004B78: 38424B22 ds_write_b32 v4, v25 offset:408 // 000000004B7C: D8340198 00001904 ds_write_b32 v29, v26 offset:408 // 000000004B84: D8340198 00001A1D ds_write_b32 v28, v32 offset:408 // 000000004B8C: D8340198 0000201C ds_write_b32 v27, v33 offset:408 // 000000004B94: D8340198 0000211B label_12E7: s_waitcnt lgkmcnt(0) // 000000004B9C: BF8C007F s_barrier // 000000004BA0: BF8A0000 s_and_b64 exec, s[46:47], s[42:43] // wrscc // 000000004BA4: 87FE2A2E s_cbranch_execz label_130A // 000000004BA8: BF88001F s_and_saveexec_b64 s[64:65], s[50:51] // wrscc // 000000004BAC: BEC02432 s_cbranch_execz label_130A // 000000004BB0: BF88001D ds_read2_b32 v[25:26], v4 offset0:102 offset1:110 // 000000004BB4: D8DC6E66 19000004 ds_read_b32 v32, v29 offset:408 // 000000004BBC: D8D80198 2000001D ds_read_b32 v33, v28 offset:408 // 000000004BC4: D8D80198 2100001C ds_read_b32 v34, v27 offset:408 // 000000004BCC: D8D80198 2200001B v_add_i32 v35, vcc, 0x000011b8, v4 // 000000004BD4: 4A4608FF 000011B8 ds_read2st64_b32 v[35:36], v35 offset1:16 // 000000004BDC: D8E01000 23000023 ds_read_b32 v37, v4 offset:12728 // 000000004BE4: D8D831B8 25000004 s_waitcnt lgkmcnt(5) // 000000004BEC: BF8C057F v_or_b32 v25, v25, v26 // 000000004BF0: 38323519 s_waitcnt lgkmcnt(1) // 000000004BF4: BF8C017F v_or_b32 v26, v32, v35 // 000000004BF8: 38344720 v_or_b32 v32, v33, v36 // 000000004BFC: 38404921 s_waitcnt lgkmcnt(0) // 000000004C00: BF8C007F v_or_b32 v33, v34, v37 // 000000004C04: 38424B22 ds_write_b32 v4, v25 offset:408 // 000000004C08: D8340198 00001904 ds_write_b32 v29, v26 offset:408 // 000000004C10: D8340198 00001A1D ds_write_b32 v28, v32 offset:408 // 000000004C18: D8340198 0000201C ds_write_b32 v27, v33 offset:408 // 000000004C20: D8340198 0000211B label_130A: s_waitcnt lgkmcnt(0) // 000000004C28: BF8C007F s_barrier // 000000004C2C: BF8A0000 s_and_b64 exec, s[46:47], s[42:43] // wrscc // 000000004C30: 87FE2A2E s_cbranch_execz label_132D // 000000004C34: BF88001F s_and_saveexec_b64 s[64:65], s[52:53] // wrscc // 000000004C38: BEC02434 s_cbranch_execz label_132D // 000000004C3C: BF88001D ds_read2_b32 v[25:26], v4 offset0:102 offset1:106 // 000000004C40: D8DC6A66 19000004 ds_read_b32 v32, v29 offset:408 // 000000004C48: D8D80198 2000001D ds_read_b32 v33, v28 offset:408 // 000000004C50: D8D80198 2100001C ds_read_b32 v34, v27 offset:408 // 000000004C58: D8D80198 2200001B v_add_i32 v35, vcc, 0x000011a8, v4 // 000000004C60: 4A4608FF 000011A8 ds_read2st64_b32 v[35:36], v35 offset1:16 // 000000004C68: D8E01000 23000023 ds_read_b32 v37, v4 offset:12712 // 000000004C70: D8D831A8 25000004 s_waitcnt lgkmcnt(5) // 000000004C78: BF8C057F v_or_b32 v25, v25, v26 // 000000004C7C: 38323519 s_waitcnt lgkmcnt(1) // 000000004C80: BF8C017F v_or_b32 v26, v32, v35 // 000000004C84: 38344720 v_or_b32 v32, v33, v36 // 000000004C88: 38404921 s_waitcnt lgkmcnt(0) // 000000004C8C: BF8C007F v_or_b32 v33, v34, v37 // 000000004C90: 38424B22 ds_write_b32 v4, v25 offset:408 // 000000004C94: D8340198 00001904 ds_write_b32 v29, v26 offset:408 // 000000004C9C: D8340198 00001A1D ds_write_b32 v28, v32 offset:408 // 000000004CA4: D8340198 0000201C ds_write_b32 v27, v33 offset:408 // 000000004CAC: D8340198 0000211B label_132D: s_waitcnt lgkmcnt(0) // 000000004CB4: BF8C007F s_barrier // 000000004CB8: BF8A0000 s_and_b64 exec, s[46:47], s[42:43] // wrscc // 000000004CBC: 87FE2A2E s_cbranch_execz label_1350 // 000000004CC0: BF88001F s_and_saveexec_b64 s[64:65], s[54:55] // wrscc // 000000004CC4: BEC02436 s_cbranch_execz label_1350 // 000000004CC8: BF88001D ds_read2_b32 v[25:26], v4 offset0:102 offset1:104 // 000000004CCC: D8DC6866 19000004 ds_read_b32 v32, v29 offset:408 // 000000004CD4: D8D80198 2000001D ds_read_b32 v33, v28 offset:408 // 000000004CDC: D8D80198 2100001C ds_read_b32 v34, v27 offset:408 // 000000004CE4: D8D80198 2200001B v_add_i32 v35, vcc, 0x000011a0, v4 // 000000004CEC: 4A4608FF 000011A0 ds_read2st64_b32 v[35:36], v35 offset1:16 // 000000004CF4: D8E01000 23000023 ds_read_b32 v37, v4 offset:12704 // 000000004CFC: D8D831A0 25000004 s_waitcnt lgkmcnt(5) // 000000004D04: BF8C057F v_or_b32 v25, v25, v26 // 000000004D08: 38323519 s_waitcnt lgkmcnt(1) // 000000004D0C: BF8C017F v_or_b32 v26, v32, v35 // 000000004D10: 38344720 v_or_b32 v32, v33, v36 // 000000004D14: 38404921 s_waitcnt lgkmcnt(0) // 000000004D18: BF8C007F v_or_b32 v33, v34, v37 // 000000004D1C: 38424B22 ds_write_b32 v4, v25 offset:408 // 000000004D20: D8340198 00001904 ds_write_b32 v29, v26 offset:408 // 000000004D28: D8340198 00001A1D ds_write_b32 v28, v32 offset:408 // 000000004D30: D8340198 0000201C ds_write_b32 v27, v33 offset:408 // 000000004D38: D8340198 0000211B label_1350: s_waitcnt lgkmcnt(0) // 000000004D40: BF8C007F s_barrier // 000000004D44: BF8A0000 s_and_b64 exec, s[46:47], s[42:43] // wrscc // 000000004D48: 87FE2A2E s_cbranch_execz label_1373 // 000000004D4C: BF88001F s_and_saveexec_b64 s[64:65], s[56:57] // wrscc // 000000004D50: BEC02438 s_cbranch_execz label_1373 // 000000004D54: BF88001D ds_read2_b32 v[25:26], v4 offset0:102 offset1:103 // 000000004D58: D8DC6766 19000004 ds_read_b32 v32, v29 offset:408 // 000000004D60: D8D80198 2000001D ds_read_b32 v33, v28 offset:408 // 000000004D68: D8D80198 2100001C ds_read_b32 v34, v27 offset:408 // 000000004D70: D8D80198 2200001B v_add_i32 v35, vcc, 0x0000119c, v4 // 000000004D78: 4A4608FF 0000119C ds_read2st64_b32 v[35:36], v35 offset1:16 // 000000004D80: D8E01000 23000023 ds_read_b32 v37, v4 offset:12700 // 000000004D88: D8D8319C 25000004 s_waitcnt lgkmcnt(5) // 000000004D90: BF8C057F v_or_b32 v25, v25, v26 // 000000004D94: 38323519 s_waitcnt lgkmcnt(1) // 000000004D98: BF8C017F v_or_b32 v26, v32, v35 // 000000004D9C: 38344720 v_or_b32 v32, v33, v36 // 000000004DA0: 38404921 s_waitcnt lgkmcnt(0) // 000000004DA4: BF8C007F v_or_b32 v33, v34, v37 // 000000004DA8: 38424B22 ds_write_b32 v4, v25 offset:408 // 000000004DAC: D8340198 00001904 ds_write_b32 v29, v26 offset:408 // 000000004DB4: D8340198 00001A1D ds_write_b32 v28, v32 offset:408 // 000000004DBC: D8340198 0000201C ds_write_b32 v27, v33 offset:408 // 000000004DC4: D8340198 0000211B label_1373: s_waitcnt lgkmcnt(0) // 000000004DCC: BF8C007F s_barrier // 000000004DD0: BF8A0000 s_and_b64 exec, s[46:47], s[42:43] // wrscc // 000000004DD4: 87FE2A2E v_add_i32 v25, vcc, 0x00000198, v31 // 000000004DD8: 4A323EFF 00000198 s_cbranch_execz label_1385 // 000000004DE0: BF88000C ds_read2st64_b32 v[32:33], v25 offset1:16 // 000000004DE4: D8E01000 20000019 ds_read2st64_b32 v[25:26], v25 offset0:32 offset1:48 // 000000004DEC: D8E03020 19000019 s_waitcnt lgkmcnt(1) // 000000004DF4: BF8C017F v_mov_b32 v62, v32 // 000000004DF8: 7E7C0320 s_waitcnt lgkmcnt(0) // 000000004DFC: BF8C007F v_mov_b32 v32, v25 // 000000004E00: 7E400319 v_mov_b32 v25, v62 // 000000004E04: 7E32033E v_mov_b32 v62, v33 // 000000004E08: 7E7C0321 v_mov_b32 v33, v26 // 000000004E0C: 7E42031A v_mov_b32 v26, v62 // 000000004E10: 7E34033E label_1385: s_andn2_b64 exec, s[46:47], exec // wrscc // 000000004E14: 8AFE7E2E v_mov_b32 v33, 0 // 000000004E18: 7E420280 v_mov_b32 v25, 0 // 000000004E1C: 7E320280 v_mov_b32 v62, 0 // 000000004E20: 7E7C0280 v_mov_b32 v32, 0 // 000000004E24: 7E400280 v_mov_b32 v26, 0 // 000000004E28: 7E340280 s_mov_b64 exec, s[46:47] // 000000004E2C: BEFE042E v_xor_b32 v25, v30, v25 // 000000004E30: 3A32331E v_cndmask_b32 v34, 0, -1, s[58:59] // 000000004E34: D2000022 00E98280 v_xor_b32 v26, v34, v26 // 000000004E3C: 3A343522 v_and_b32 v25, v25, v26 // 000000004E40: 36323519 v_cndmask_b32 v26, 0, -1, s[60:61] // 000000004E44: D200001A 00F18280 v_xor_b32 v26, v26, v32 // 000000004E4C: 3A34411A v_cndmask_b32 v32, 0, -1, s[62:63] // 000000004E50: D2000020 00F98280 v_xor_b32 v32, v32, v33 // 000000004E58: 3A404320 v_and_b32 v25, v25, v26 // 000000004E5C: 36323519 v_and_b32 v25, v32, v25 // 000000004E60: 36323320 v_bcnt_u32_b32 v25, v25, 0 // 000000004E64: D2440019 00010119 v_cndmask_b32 v25, 0, v25, s[42:43] // 000000004E6C: D2000019 00AA3280 v_add_i32 v24, vcc, v24, v25 // 000000004E74: 4A303318 label_139E: s_and_b64 exec, s[44:45], s[48:49] // wrscc // 000000004E78: 87FE302C v_lshlrev_b32 v25, 2, v3 // 000000004E7C: 34320682 ds_write_b32 v25, v24 offset:16796 // 000000004E80: D834419C 00001819 s_mov_b64 exec, s[44:45] // 000000004E88: BEFE042C s_waitcnt lgkmcnt(0) // 000000004E8C: BF8C007F s_barrier // 000000004E90: BF8A0000 v_cmp_eq_u32 vcc, 0, v8 // 000000004E94: 7D841080 s_and_b64 exec, s[44:45], vcc // wrscc // 000000004E98: 87FE6A2C v_mov_b32 v24, 0 // 000000004E9C: 7E300280 ds_write_b32 v24, v24 offset:16792 // 000000004EA0: D8344198 00001818 ds_write_b32 v24, v24 offset:18844 // 000000004EA8: D834499C 00001818 s_mov_b64 exec, s[44:45] // 000000004EB0: BEFE042C s_movk_i32 s3, 0x0200 // 000000004EB4: B0030200 v_cmp_lt_u32 s[46:47], v8, s3 // 000000004EB8: D182002E 00000708 v_cmp_ge_u32 s[64:65], v8, 1 // 000000004EC0: D18C0040 00010308 s_and_b64 exec, s[44:45], s[46:47] // wrscc // 000000004EC8: 87FE2E2C s_cbranch_execz label_13C4 // 000000004ECC: BF880010 s_and_saveexec_b64 s[66:67], s[64:65] // wrscc // 000000004ED0: BEC22440 v_add_i32 v24, vcc, 0x00004198, v4 // 000000004ED4: 4A3008FF 00004198 ds_read2_b32 v[24:25], v24 offset0:1 // 000000004EDC: D8DC0001 18000018 s_waitcnt lgkmcnt(0) // 000000004EE4: BF8C007F v_add_i32 v24, vcc, v24, v25 // 000000004EE8: 4A303318 ds_write_b32 v4, v24 offset:18848 // 000000004EEC: D83449A0 00001804 s_andn2_b64 exec, s[66:67], exec // wrscc // 000000004EF4: 8AFE7E42 v_mov_b32 v24, 0 // 000000004EF8: 7E300280 ds_read_b32 v25, v24 offset:16796 // 000000004EFC: D8D8419C 19000018 s_waitcnt lgkmcnt(0) // 000000004F04: BF8C007F ds_write_b32 v24, v25 offset:18848 // 000000004F08: D83449A0 00001918 label_13C4: s_mov_b64 exec, s[44:45] // 000000004F10: BEFE042C s_waitcnt lgkmcnt(0) // 000000004F14: BF8C007F s_barrier // 000000004F18: BF8A0000 v_cmp_ge_u32 s[66:67], v8, 2 // 000000004F1C: D18C0042 00010508 s_and_b64 exec, s[44:45], s[46:47] // wrscc // 000000004F24: 87FE2E2C s_cbranch_execz label_13D9 // 000000004F28: BF88000E s_and_saveexec_b64 s[68:69], s[66:67] // wrscc // 000000004F2C: BEC42442 v_add_i32 v24, vcc, 0x00004998, v4 // 000000004F30: 4A3008FF 00004998 ds_read2_b32 v[24:25], v24 offset0:2 // 000000004F38: D8DC0002 18000018 s_waitcnt lgkmcnt(0) // 000000004F40: BF8C007F v_add_i32 v24, vcc, v24, v25 // 000000004F44: 4A303318 s_andn2_b64 exec, s[68:69], exec // wrscc // 000000004F48: 8AFE7E44 ds_read_b32 v24, v4 offset:18848 // 000000004F4C: D8D849A0 18000004 s_mov_b64 exec, s[68:69] // 000000004F54: BEFE0444 s_waitcnt lgkmcnt(0) // 000000004F58: BF8C007F ds_write_b32 v4, v24 offset:16796 // 000000004F5C: D834419C 00001804 label_13D9: s_mov_b64 exec, s[44:45] // 000000004F64: BEFE042C s_waitcnt lgkmcnt(0) // 000000004F68: BF8C007F s_barrier // 000000004F6C: BF8A0000 v_cmp_ge_u32 s[68:69], v8, 4 // 000000004F70: D18C0044 00010908 s_and_b64 exec, s[44:45], s[46:47] // wrscc // 000000004F78: 87FE2E2C s_cbranch_execz label_13EE // 000000004F7C: BF88000E s_and_saveexec_b64 s[70:71], s[68:69] // wrscc // 000000004F80: BEC62444 v_add_i32 v24, vcc, 0x0000418c, v4 // 000000004F84: 4A3008FF 0000418C ds_read2_b32 v[24:25], v24 offset0:4 // 000000004F8C: D8DC0004 18000018 s_waitcnt lgkmcnt(0) // 000000004F94: BF8C007F v_add_i32 v24, vcc, v24, v25 // 000000004F98: 4A303318 s_andn2_b64 exec, s[70:71], exec // wrscc // 000000004F9C: 8AFE7E46 ds_read_b32 v24, v4 offset:16796 // 000000004FA0: D8D8419C 18000004 s_mov_b64 exec, s[70:71] // 000000004FA8: BEFE0446 s_waitcnt lgkmcnt(0) // 000000004FAC: BF8C007F ds_write_b32 v4, v24 offset:18848 // 000000004FB0: D83449A0 00001804 label_13EE: s_mov_b64 exec, s[44:45] // 000000004FB8: BEFE042C s_waitcnt lgkmcnt(0) // 000000004FBC: BF8C007F s_barrier // 000000004FC0: BF8A0000 v_cmp_ge_u32 s[70:71], v8, 8 // 000000004FC4: D18C0046 00011108 s_and_b64 exec, s[44:45], s[46:47] // wrscc // 000000004FCC: 87FE2E2C s_cbranch_execz label_1403 // 000000004FD0: BF88000E s_and_saveexec_b64 s[72:73], s[70:71] // wrscc // 000000004FD4: BEC82446 v_add_i32 v24, vcc, 0x00004980, v4 // 000000004FD8: 4A3008FF 00004980 ds_read2_b32 v[24:25], v24 offset0:8 // 000000004FE0: D8DC0008 18000018 s_waitcnt lgkmcnt(0) // 000000004FE8: BF8C007F v_add_i32 v24, vcc, v24, v25 // 000000004FEC: 4A303318 s_andn2_b64 exec, s[72:73], exec // wrscc // 000000004FF0: 8AFE7E48 ds_read_b32 v24, v4 offset:18848 // 000000004FF4: D8D849A0 18000004 s_mov_b64 exec, s[72:73] // 000000004FFC: BEFE0448 s_waitcnt lgkmcnt(0) // 000000005000: BF8C007F ds_write_b32 v4, v24 offset:16796 // 000000005004: D834419C 00001804 label_1403: s_mov_b64 exec, s[44:45] // 00000000500C: BEFE042C s_waitcnt lgkmcnt(0) // 000000005010: BF8C007F s_barrier // 000000005014: BF8A0000 v_cmp_ge_u32 s[72:73], v8, 16 // 000000005018: D18C0048 00012108 s_and_b64 exec, s[44:45], s[46:47] // wrscc // 000000005020: 87FE2E2C s_cbranch_execz label_1418 // 000000005024: BF88000E s_and_saveexec_b64 s[74:75], s[72:73] // wrscc // 000000005028: BECA2448 v_add_i32 v24, vcc, 0x0000415c, v4 // 00000000502C: 4A3008FF 0000415C ds_read2_b32 v[24:25], v24 offset0:16 // 000000005034: D8DC0010 18000018 s_waitcnt lgkmcnt(0) // 00000000503C: BF8C007F v_add_i32 v24, vcc, v24, v25 // 000000005040: 4A303318 s_andn2_b64 exec, s[74:75], exec // wrscc // 000000005044: 8AFE7E4A ds_read_b32 v24, v4 offset:16796 // 000000005048: D8D8419C 18000004 s_mov_b64 exec, s[74:75] // 000000005050: BEFE044A s_waitcnt lgkmcnt(0) // 000000005054: BF8C007F ds_write_b32 v4, v24 offset:18848 // 000000005058: D83449A0 00001804 label_1418: s_mov_b64 exec, s[44:45] // 000000005060: BEFE042C s_waitcnt lgkmcnt(0) // 000000005064: BF8C007F s_barrier // 000000005068: BF8A0000 v_cmp_ge_u32 s[74:75], v8, 32 // 00000000506C: D18C004A 00014108 s_and_b64 exec, s[44:45], s[46:47] // wrscc // 000000005074: 87FE2E2C s_cbranch_execz label_142D // 000000005078: BF88000E s_and_saveexec_b64 s[76:77], s[74:75] // wrscc // 00000000507C: BECC244A v_add_i32 v24, vcc, 0x00004920, v4 // 000000005080: 4A3008FF 00004920 ds_read2_b32 v[24:25], v24 offset0:32 // 000000005088: D8DC0020 18000018 s_waitcnt lgkmcnt(0) // 000000005090: BF8C007F v_add_i32 v24, vcc, v24, v25 // 000000005094: 4A303318 s_andn2_b64 exec, s[76:77], exec // wrscc // 000000005098: 8AFE7E4C ds_read_b32 v24, v4 offset:18848 // 00000000509C: D8D849A0 18000004 s_mov_b64 exec, s[76:77] // 0000000050A4: BEFE044C s_waitcnt lgkmcnt(0) // 0000000050A8: BF8C007F ds_write_b32 v4, v24 offset:16796 // 0000000050AC: D834419C 00001804 label_142D: s_mov_b64 exec, s[44:45] // 0000000050B4: BEFE042C s_waitcnt lgkmcnt(0) // 0000000050B8: BF8C007F s_barrier // 0000000050BC: BF8A0000 v_cmp_ge_u32 s[76:77], v8, 64 // 0000000050C0: D18C004C 00018108 s_and_b64 exec, s[44:45], s[46:47] // wrscc // 0000000050C8: 87FE2E2C s_cbranch_execz label_1442 // 0000000050CC: BF88000E s_and_saveexec_b64 s[78:79], s[76:77] // wrscc // 0000000050D0: BECE244C v_add_i32 v24, vcc, 0x0000409c, v4 // 0000000050D4: 4A3008FF 0000409C ds_read2_b32 v[24:25], v24 offset0:64 // 0000000050DC: D8DC0040 18000018 s_waitcnt lgkmcnt(0) // 0000000050E4: BF8C007F v_add_i32 v24, vcc, v24, v25 // 0000000050E8: 4A303318 s_andn2_b64 exec, s[78:79], exec // wrscc // 0000000050EC: 8AFE7E4E ds_read_b32 v24, v4 offset:16796 // 0000000050F0: D8D8419C 18000004 s_mov_b64 exec, s[78:79] // 0000000050F8: BEFE044E s_waitcnt lgkmcnt(0) // 0000000050FC: BF8C007F ds_write_b32 v4, v24 offset:18848 // 000000005100: D83449A0 00001804 label_1442: s_mov_b64 exec, s[44:45] // 000000005108: BEFE042C s_waitcnt lgkmcnt(0) // 00000000510C: BF8C007F s_barrier // 000000005110: BF8A0000 s_movk_i32 s3, 0x0080 // 000000005114: B0030080 v_cmp_ge_u32 s[78:79], v8, s3 // 000000005118: D18C004E 00000708 s_and_b64 exec, s[44:45], s[46:47] // wrscc // 000000005120: 87FE2E2C s_cbranch_execz label_1458 // 000000005124: BF88000E s_and_saveexec_b64 s[80:81], s[78:79] // wrscc // 000000005128: BED0244E v_add_i32 v24, vcc, 0x000047a0, v4 // 00000000512C: 4A3008FF 000047A0 ds_read2_b32 v[24:25], v24 offset0:128 // 000000005134: D8DC0080 18000018 s_waitcnt lgkmcnt(0) // 00000000513C: BF8C007F v_add_i32 v24, vcc, v24, v25 // 000000005140: 4A303318 s_andn2_b64 exec, s[80:81], exec // wrscc // 000000005144: 8AFE7E50 ds_read_b32 v24, v4 offset:18848 // 000000005148: D8D849A0 18000004 s_mov_b64 exec, s[80:81] // 000000005150: BEFE0450 s_waitcnt lgkmcnt(0) // 000000005154: BF8C007F ds_write_b32 v4, v24 offset:16796 // 000000005158: D834419C 00001804 label_1458: s_mov_b64 exec, s[44:45] // 000000005160: BEFE042C s_waitcnt lgkmcnt(0) // 000000005164: BF8C007F s_barrier // 000000005168: BF8A0000 s_movk_i32 s3, 0x0100 // 00000000516C: B0030100 v_cmp_ge_u32 s[80:81], v8, s3 // 000000005170: D18C0050 00000708 s_and_b64 exec, s[44:45], s[46:47] // wrscc // 000000005178: 87FE2E2C s_cbranch_execz label_146E // 00000000517C: BF88000E s_and_saveexec_b64 s[82:83], s[80:81] // wrscc // 000000005180: BED22450 v_add_i32 v24, vcc, 0x00003d9c, v4 // 000000005184: 4A3008FF 00003D9C ds_read2st64_b32 v[24:25], v24 offset0:4 // 00000000518C: D8E00004 18000018 s_waitcnt lgkmcnt(0) // 000000005194: BF8C007F v_add_i32 v24, vcc, v24, v25 // 000000005198: 4A303318 s_andn2_b64 exec, s[82:83], exec // wrscc // 00000000519C: 8AFE7E52 ds_read_b32 v24, v4 offset:16796 // 0000000051A0: D8D8419C 18000004 s_mov_b64 exec, s[82:83] // 0000000051A8: BEFE0452 s_waitcnt lgkmcnt(0) // 0000000051AC: BF8C007F ds_write_b32 v4, v24 offset:18848 // 0000000051B0: D83449A0 00001804 label_146E: s_mov_b64 exec, s[44:45] // 0000000051B8: BEFE042C s_waitcnt lgkmcnt(0) // 0000000051BC: BF8C007F s_barrier // 0000000051C0: BF8A0000 s_mov_b64 s[44:45], exec // 0000000051C4: BEAC047E s_mov_b64 s[82:83], exec // 0000000051C8: BED2047E v_mov_b32 v24, 0 // 0000000051CC: 7E300280 v_mov_b32 v25, v23 // 0000000051D0: 7E320317 label_1475: v_cmp_ge_u32 vcc, v24, v11 // 0000000051D4: 7D8C1718 v_lshlrev_b32 v26, 2, v3 // 0000000051D8: 34340682 s_and_saveexec_b64 s[84:85], vcc // wrscc // 0000000051DC: BED4246A s_andn2_b64 s[82:83], s[82:83], exec // wrscc // 0000000051E0: 8AD27E52 s_cbranch_scc0 label_159B // 0000000051E4: BF840121 s_and_b64 exec, s[84:85], s[82:83] // wrscc // 0000000051E8: 87FE5254 v_add_i32 v32, vcc, v12, v25 // 0000000051EC: 4A40330C s_load_dwordx4 s[84:87], s[0:1], 0x58 // 0000000051F0: C0AA0158 s_waitcnt lgkmcnt(0) // 0000000051F4: BF8C007F buffer_load_dword v32, v32, s[84:87], 0 idxen // 0000000051F8: E0302000 80152020 v_cmp_gt_u32 s[84:85], v22, v25 // 000000005200: D1880054 00023316 s_waitcnt vmcnt(0) // 000000005208: BF8C0F70 v_cndmask_b32 v32, -1, v32, s[84:85] // 00000000520C: D2000020 015240C1 v_bfe_u32 v33, v32, 16, 1 // 000000005214: D2900021 02052120 v_lshrrev_b32 v34, 16, v32 // 00000000521C: 2C444090 v_and_b32 v35, 2, v34 // 000000005220: 36464482 v_cmp_ne_i32 vcc, 0, v33 // 000000005224: 7D0A4280 v_and_b32 v36, 4, v34 // 000000005228: 36484484 v_cndmask_b32 v37, 0, -1, vcc // 00000000522C: D2000025 01A98280 v_cmp_ne_i32 vcc, 0, v35 // 000000005234: 7D0A4680 v_and_b32 v34, 8, v34 // 000000005238: 36444488 v_bfm_b32 v38, 1, v8 // 00000000523C: 3C4C1081 v_lshl_b32 v37, v37, v8 // 000000005240: 324A1125 v_cndmask_b32 v39, 0, -1, vcc // 000000005244: D2000027 01A98280 v_cmp_ne_i32 vcc, 0, v36 // 00000000524C: 7D0A4880 v_bfi_b32 v37, v38, v37, 0 // 000000005250: D2940025 02024B26 v_lshl_b32 v39, v39, v8 // 000000005258: 324E1127 v_cndmask_b32 v40, 0, -1, vcc // 00000000525C: D2000028 01A98280 v_cmp_ne_i32 vcc, 0, v34 // 000000005264: 7D0A4480 v_bfi_b32 v39, v38, v39, 0 // 000000005268: D2940027 02024F26 v_lshl_b32 v40, v40, v8 // 000000005270: 32501128 v_cndmask_b32 v41, 0, -1, vcc // 000000005274: D2000029 01A98280 ds_write_b32 v4, v37 offset:408 // 00000000527C: D8340198 00002504 v_bfi_b32 v37, v38, v40, 0 // 000000005284: D2940025 02025126 v_lshl_b32 v40, v41, v8 // 00000000528C: 32501129 ds_write_b32 v29, v39 offset:408 // 000000005290: D8340198 0000271D v_bfi_b32 v38, v38, v40, 0 // 000000005298: D2940026 02025126 ds_write_b32 v28, v37 offset:408 // 0000000052A0: D8340198 0000251C ds_write_b32 v27, v38 offset:408 // 0000000052A8: D8340198 0000261B s_waitcnt lgkmcnt(0) // 0000000052B0: BF8C007F s_barrier // 0000000052B4: BF8A0000 s_and_saveexec_b64 s[86:87], s[48:49] // wrscc // 0000000052B8: BED62430 s_cbranch_execz label_14CD // 0000000052BC: BF88001D ds_read2_b32 v[37:38], v4 offset0:102 offset1:118 // 0000000052C0: D8DC7666 25000004 ds_read_b32 v39, v29 offset:408 // 0000000052C8: D8D80198 2700001D ds_read_b32 v40, v28 offset:408 // 0000000052D0: D8D80198 2800001C ds_read_b32 v41, v27 offset:408 // 0000000052D8: D8D80198 2900001B v_add_i32 v42, vcc, 0x000011d8, v4 // 0000000052E0: 4A5408FF 000011D8 ds_read2st64_b32 v[42:43], v42 offset1:16 // 0000000052E8: D8E01000 2A00002A ds_read_b32 v44, v4 offset:12760 // 0000000052F0: D8D831D8 2C000004 s_waitcnt lgkmcnt(5) // 0000000052F8: BF8C057F v_or_b32 v37, v37, v38 // 0000000052FC: 384A4D25 s_waitcnt lgkmcnt(1) // 000000005300: BF8C017F v_or_b32 v38, v39, v42 // 000000005304: 384C5527 v_or_b32 v39, v40, v43 // 000000005308: 384E5728 s_waitcnt lgkmcnt(0) // 00000000530C: BF8C007F v_or_b32 v40, v41, v44 // 000000005310: 38505929 ds_write_b32 v4, v37 offset:408 // 000000005314: D8340198 00002504 ds_write_b32 v29, v38 offset:408 // 00000000531C: D8340198 0000261D ds_write_b32 v28, v39 offset:408 // 000000005324: D8340198 0000271C ds_write_b32 v27, v40 offset:408 // 00000000532C: D8340198 0000281B label_14CD: s_waitcnt lgkmcnt(0) // 000000005334: BF8C007F s_barrier // 000000005338: BF8A0000 s_and_b64 exec, s[86:87], s[50:51] // wrscc // 00000000533C: 87FE3256 s_cbranch_execz label_14EE // 000000005340: BF88001D ds_read2_b32 v[37:38], v4 offset0:102 offset1:110 // 000000005344: D8DC6E66 25000004 ds_read_b32 v39, v29 offset:408 // 00000000534C: D8D80198 2700001D ds_read_b32 v40, v28 offset:408 // 000000005354: D8D80198 2800001C ds_read_b32 v41, v27 offset:408 // 00000000535C: D8D80198 2900001B v_add_i32 v42, vcc, 0x000011b8, v4 // 000000005364: 4A5408FF 000011B8 ds_read2st64_b32 v[42:43], v42 offset1:16 // 00000000536C: D8E01000 2A00002A ds_read_b32 v44, v4 offset:12728 // 000000005374: D8D831B8 2C000004 s_waitcnt lgkmcnt(5) // 00000000537C: BF8C057F v_or_b32 v37, v37, v38 // 000000005380: 384A4D25 s_waitcnt lgkmcnt(1) // 000000005384: BF8C017F v_or_b32 v38, v39, v42 // 000000005388: 384C5527 v_or_b32 v39, v40, v43 // 00000000538C: 384E5728 s_waitcnt lgkmcnt(0) // 000000005390: BF8C007F v_or_b32 v40, v41, v44 // 000000005394: 38505929 ds_write_b32 v4, v37 offset:408 // 000000005398: D8340198 00002504 ds_write_b32 v29, v38 offset:408 // 0000000053A0: D8340198 0000261D ds_write_b32 v28, v39 offset:408 // 0000000053A8: D8340198 0000271C ds_write_b32 v27, v40 offset:408 // 0000000053B0: D8340198 0000281B label_14EE: s_waitcnt lgkmcnt(0) // 0000000053B8: BF8C007F s_barrier // 0000000053BC: BF8A0000 s_and_b64 exec, s[86:87], s[52:53] // wrscc // 0000000053C0: 87FE3456 s_cbranch_execz label_150F // 0000000053C4: BF88001D ds_read2_b32 v[37:38], v4 offset0:102 offset1:106 // 0000000053C8: D8DC6A66 25000004 ds_read_b32 v39, v29 offset:408 // 0000000053D0: D8D80198 2700001D ds_read_b32 v40, v28 offset:408 // 0000000053D8: D8D80198 2800001C ds_read_b32 v41, v27 offset:408 // 0000000053E0: D8D80198 2900001B v_add_i32 v42, vcc, 0x000011a8, v4 // 0000000053E8: 4A5408FF 000011A8 ds_read2st64_b32 v[42:43], v42 offset1:16 // 0000000053F0: D8E01000 2A00002A ds_read_b32 v44, v4 offset:12712 // 0000000053F8: D8D831A8 2C000004 s_waitcnt lgkmcnt(5) // 000000005400: BF8C057F v_or_b32 v37, v37, v38 // 000000005404: 384A4D25 s_waitcnt lgkmcnt(1) // 000000005408: BF8C017F v_or_b32 v38, v39, v42 // 00000000540C: 384C5527 v_or_b32 v39, v40, v43 // 000000005410: 384E5728 s_waitcnt lgkmcnt(0) // 000000005414: BF8C007F v_or_b32 v40, v41, v44 // 000000005418: 38505929 ds_write_b32 v4, v37 offset:408 // 00000000541C: D8340198 00002504 ds_write_b32 v29, v38 offset:408 // 000000005424: D8340198 0000261D ds_write_b32 v28, v39 offset:408 // 00000000542C: D8340198 0000271C ds_write_b32 v27, v40 offset:408 // 000000005434: D8340198 0000281B label_150F: s_waitcnt lgkmcnt(0) // 00000000543C: BF8C007F s_barrier // 000000005440: BF8A0000 s_and_b64 exec, s[86:87], s[54:55] // wrscc // 000000005444: 87FE3656 s_cbranch_execz label_1530 // 000000005448: BF88001D ds_read2_b32 v[37:38], v4 offset0:102 offset1:104 // 00000000544C: D8DC6866 25000004 ds_read_b32 v39, v29 offset:408 // 000000005454: D8D80198 2700001D ds_read_b32 v40, v28 offset:408 // 00000000545C: D8D80198 2800001C ds_read_b32 v41, v27 offset:408 // 000000005464: D8D80198 2900001B v_add_i32 v42, vcc, 0x000011a0, v4 // 00000000546C: 4A5408FF 000011A0 ds_read2st64_b32 v[42:43], v42 offset1:16 // 000000005474: D8E01000 2A00002A ds_read_b32 v44, v4 offset:12704 // 00000000547C: D8D831A0 2C000004 s_waitcnt lgkmcnt(5) // 000000005484: BF8C057F v_or_b32 v37, v37, v38 // 000000005488: 384A4D25 s_waitcnt lgkmcnt(1) // 00000000548C: BF8C017F v_or_b32 v38, v39, v42 // 000000005490: 384C5527 v_or_b32 v39, v40, v43 // 000000005494: 384E5728 s_waitcnt lgkmcnt(0) // 000000005498: BF8C007F v_or_b32 v40, v41, v44 // 00000000549C: 38505929 ds_write_b32 v4, v37 offset:408 // 0000000054A0: D8340198 00002504 ds_write_b32 v29, v38 offset:408 // 0000000054A8: D8340198 0000261D ds_write_b32 v28, v39 offset:408 // 0000000054B0: D8340198 0000271C ds_write_b32 v27, v40 offset:408 // 0000000054B8: D8340198 0000281B label_1530: s_waitcnt lgkmcnt(0) // 0000000054C0: BF8C007F s_barrier // 0000000054C4: BF8A0000 s_and_b64 exec, s[86:87], s[56:57] // wrscc // 0000000054C8: 87FE3856 s_cbranch_execz label_1551 // 0000000054CC: BF88001D ds_read2_b32 v[37:38], v4 offset0:102 offset1:103 // 0000000054D0: D8DC6766 25000004 ds_read_b32 v39, v29 offset:408 // 0000000054D8: D8D80198 2700001D ds_read_b32 v40, v28 offset:408 // 0000000054E0: D8D80198 2800001C ds_read_b32 v41, v27 offset:408 // 0000000054E8: D8D80198 2900001B v_add_i32 v42, vcc, 0x0000119c, v4 // 0000000054F0: 4A5408FF 0000119C ds_read2st64_b32 v[42:43], v42 offset1:16 // 0000000054F8: D8E01000 2A00002A ds_read_b32 v44, v4 offset:12700 // 000000005500: D8D8319C 2C000004 s_waitcnt lgkmcnt(5) // 000000005508: BF8C057F v_or_b32 v37, v37, v38 // 00000000550C: 384A4D25 s_waitcnt lgkmcnt(1) // 000000005510: BF8C017F v_or_b32 v38, v39, v42 // 000000005514: 384C5527 v_or_b32 v39, v40, v43 // 000000005518: 384E5728 s_waitcnt lgkmcnt(0) // 00000000551C: BF8C007F v_or_b32 v40, v41, v44 // 000000005520: 38505929 ds_write_b32 v4, v37 offset:408 // 000000005524: D8340198 00002504 ds_write_b32 v29, v38 offset:408 // 00000000552C: D8340198 0000261D ds_write_b32 v28, v39 offset:408 // 000000005534: D8340198 0000271C ds_write_b32 v27, v40 offset:408 // 00000000553C: D8340198 0000281B label_1551: s_mov_b64 exec, s[86:87] // 000000005544: BEFE0456 s_waitcnt lgkmcnt(0) // 000000005548: BF8C007F s_barrier // 00000000554C: BF8A0000 v_add_i32 v37, vcc, 0x00000198, v31 // 000000005550: 4A4A3EFF 00000198 ds_read2st64_b32 v[38:39], v37 offset1:16 // 000000005558: D8E01000 26000025 ds_read2st64_b32 v[40:41], v37 offset0:32 offset1:48 // 000000005560: D8E03020 28000025 v_lshrrev_b32 v37, 11, v32 // 000000005568: 2C4A408B s_movk_i32 s3, 0x01e0 // 00000000556C: B00301E0 v_bfi_b32 v37, s3, v37, 0 // 000000005570: D2940025 02024A03 v_add_i32 v37, vcc, v5, v37 // 000000005578: 4A4A4B05 v_lshlrev_b32 v37, 2, v37 // 00000000557C: 344A4A82 ds_read_b32 v37, v37 offset:18844 // 000000005580: D8D8499C 25000025 s_and_saveexec_b64 s[84:85], s[84:85] // wrscc // 000000005588: BED42454 v_add_i32 v33, vcc, -1, v33 // 00000000558C: 4A4242C1 s_cbranch_execz label_1580 // 000000005590: BF88001B s_waitcnt lgkmcnt(2) // 000000005594: BF8C027F v_xor_b32 v33, v38, v33 // 000000005598: 3A424326 v_cmp_eq_i32 vcc, 0, v35 // 00000000559C: 7D044680 v_cndmask_b32 v35, 0, -1, vcc // 0000000055A0: D2000023 01A98280 v_xor_b32 v35, v39, v35 // 0000000055A8: 3A464727 v_and_b32 v33, v33, v35 // 0000000055AC: 36424721 v_cmp_eq_i32 vcc, 0, v36 // 0000000055B0: 7D044880 v_cndmask_b32 v35, 0, -1, vcc // 0000000055B4: D2000023 01A98280 s_waitcnt lgkmcnt(1) // 0000000055BC: BF8C017F v_xor_b32 v35, v40, v35 // 0000000055C0: 3A464728 v_and_b32 v33, v33, v35 // 0000000055C4: 36424721 v_cmp_eq_i32 vcc, 0, v34 // 0000000055C8: 7D044480 v_cndmask_b32 v34, 0, -1, vcc // 0000000055CC: D2000022 01A98280 v_xor_b32 v34, v41, v34 // 0000000055D4: 3A444529 v_and_b32 v33, v33, v34 // 0000000055D8: 36424521 v_bfe_u32 v33, v33, 0, v8 // 0000000055DC: D2900021 04210121 s_waitcnt lgkmcnt(0) // 0000000055E4: BF8C007F v_bcnt_u32_b32 v33, v33, v37 // 0000000055E8: 44424B21 v_add_i32 v33, vcc, v20, v33 // 0000000055EC: 4A424314 s_load_dwordx4 s[88:91], s[0:1], 0x58 // 0000000055F0: C0AC0158 s_waitcnt lgkmcnt(0) // 0000000055F4: BF8C007F buffer_store_dword v32, v33, s[88:91], 0 idxen // 0000000055F8: E0702000 80162021 label_1580: s_waitcnt vmcnt(0) & lgkmcnt(0) // 000000005600: BF8C0070 s_barrier // 000000005604: BF8A0000 s_and_b64 exec, s[84:85], s[48:49] // wrscc // 000000005608: 87FE3054 s_cbranch_execz label_1597 // 00000000560C: BF880013 ds_read_b32 v32, v26 offset:18844 // 000000005610: D8D8499C 2000001A v_xor_b32 v33, v30, v38 // 000000005618: 3A424D1E v_cndmask_b32 v34, 0, -1, s[58:59] // 00000000561C: D2000022 00E98280 v_xor_b32 v34, v34, v39 // 000000005624: 3A444F22 v_and_b32 v33, v33, v34 // 000000005628: 36424521 v_cndmask_b32 v34, 0, -1, s[60:61] // 00000000562C: D2000022 00F18280 v_xor_b32 v34, v34, v40 // 000000005634: 3A445122 v_and_b32 v33, v33, v34 // 000000005638: 36424521 v_cndmask_b32 v34, 0, -1, s[62:63] // 00000000563C: D2000022 00F98280 v_xor_b32 v34, v34, v41 // 000000005644: 3A445322 v_and_b32 v33, v33, v34 // 000000005648: 36424521 s_waitcnt lgkmcnt(0) // 00000000564C: BF8C007F v_bcnt_u32_b32 v32, v33, v32 // 000000005650: 44404121 ds_write_b32 v26, v32 offset:18844 // 000000005654: D834499C 0000201A label_1597: s_mov_b64 exec, s[84:85] // 00000000565C: BEFE0454 v_add_i32 v24, vcc, 1, v24 // 000000005660: 4A303081 v_add_i32 v25, vcc, 32, v25 // 000000005664: 4A3232A0 s_branch label_1475 // 000000005668: BF82FEDA label_159B: s_mov_b64 exec, s[44:45] // 00000000566C: BEFE042C v_cmp_ne_u32 vcc, 0, v21 // 000000005670: 7D8A2A80 s_and_saveexec_b64 s[44:45], vcc // wrscc // 000000005674: BEAC246A v_add_i32 v24, vcc, v12, v25 // 000000005678: 4A30330C s_cbranch_execz label_16D7 // 00000000567C: BF880137 s_load_dwordx4 s[84:87], s[0:1], 0x58 // 000000005680: C0AA0158 s_waitcnt lgkmcnt(0) // 000000005684: BF8C007F buffer_load_dword v24, v24, s[84:87], 0 idxen // 000000005688: E0302000 80151818 v_cmp_gt_u32 s[82:83], v22, v25 // 000000005690: D1880052 00023316 s_waitcnt vmcnt(0) // 000000005698: BF8C0F70 v_cndmask_b32 v24, -1, v24, s[82:83] // 00000000569C: D2000018 014A30C1 s_and_saveexec_b64 s[84:85], s[42:43] // wrscc // 0000000056A4: BED4242A v_bfm_b32 v25, 1, v8 // 0000000056A8: 3C321081 s_cbranch_execz label_15D2 // 0000000056AC: BF880026 v_bfe_u32 v32, v24, 16, 1 // 0000000056B0: D2900020 02052118 v_cmp_ne_i32 vcc, 0, v32 // 0000000056B8: 7D0A4080 v_cndmask_b32 v32, 0, -1, vcc // 0000000056BC: D2000020 01A98280 v_lshl_b32 v32, v32, v8 // 0000000056C4: 32401120 v_bfi_b32 v32, v25, v32, 0 // 0000000056C8: D2940020 02024119 v_lshrrev_b32 v33, 16, v24 // 0000000056D0: 2C423090 v_and_b32 v34, 2, v33 // 0000000056D4: 36444282 v_cmp_ne_i32 vcc, 0, v34 // 0000000056D8: 7D0A4480 v_cndmask_b32 v34, 0, -1, vcc // 0000000056DC: D2000022 01A98280 v_lshl_b32 v34, v34, v8 // 0000000056E4: 32441122 v_bfi_b32 v34, v25, v34, 0 // 0000000056E8: D2940022 02024519 v_and_b32 v35, 4, v33 // 0000000056F0: 36464284 v_cmp_ne_i32 vcc, 0, v35 // 0000000056F4: 7D0A4680 v_cndmask_b32 v35, 0, -1, vcc // 0000000056F8: D2000023 01A98280 v_lshl_b32 v35, v35, v8 // 000000005700: 32461123 v_bfi_b32 v35, v25, v35, 0 // 000000005704: D2940023 02024719 v_and_b32 v33, 8, v33 // 00000000570C: 36424288 v_cmp_ne_i32 vcc, 0, v33 // 000000005710: 7D0A4280 v_cndmask_b32 v33, 0, -1, vcc // 000000005714: D2000021 01A98280 v_lshl_b32 v33, v33, v8 // 00000000571C: 32421121 v_bfi_b32 v25, v25, v33, 0 // 000000005720: D2940019 02024319 ds_write_b32 v4, v32 offset:408 // 000000005728: D8340198 00002004 ds_write_b32 v29, v34 offset:408 // 000000005730: D8340198 0000221D ds_write_b32 v28, v35 offset:408 // 000000005738: D8340198 0000231C ds_write_b32 v27, v25 offset:408 // 000000005740: D8340198 0000191B label_15D2: s_waitcnt lgkmcnt(0) // 000000005748: BF8C007F s_barrier // 00000000574C: BF8A0000 s_and_b64 exec, s[84:85], s[42:43] // wrscc // 000000005750: 87FE2A54 s_cbranch_execz label_15F5 // 000000005754: BF88001F s_and_saveexec_b64 s[86:87], s[48:49] // wrscc // 000000005758: BED62430 s_cbranch_execz label_15F5 // 00000000575C: BF88001D ds_read2_b32 v[32:33], v4 offset0:102 offset1:118 // 000000005760: D8DC7666 20000004 ds_read_b32 v25, v29 offset:408 // 000000005768: D8D80198 1900001D ds_read_b32 v34, v28 offset:408 // 000000005770: D8D80198 2200001C ds_read_b32 v35, v27 offset:408 // 000000005778: D8D80198 2300001B v_add_i32 v36, vcc, 0x000011d8, v4 // 000000005780: 4A4808FF 000011D8 ds_read2st64_b32 v[36:37], v36 offset1:16 // 000000005788: D8E01000 24000024 ds_read_b32 v38, v4 offset:12760 // 000000005790: D8D831D8 26000004 s_waitcnt lgkmcnt(5) // 000000005798: BF8C057F v_or_b32 v32, v32, v33 // 00000000579C: 38404320 s_waitcnt lgkmcnt(1) // 0000000057A0: BF8C017F v_or_b32 v25, v25, v36 // 0000000057A4: 38324919 v_or_b32 v33, v34, v37 // 0000000057A8: 38424B22 s_waitcnt lgkmcnt(0) // 0000000057AC: BF8C007F v_or_b32 v34, v35, v38 // 0000000057B0: 38444D23 ds_write_b32 v4, v32 offset:408 // 0000000057B4: D8340198 00002004 ds_write_b32 v29, v25 offset:408 // 0000000057BC: D8340198 0000191D ds_write_b32 v28, v33 offset:408 // 0000000057C4: D8340198 0000211C ds_write_b32 v27, v34 offset:408 // 0000000057CC: D8340198 0000221B label_15F5: s_waitcnt lgkmcnt(0) // 0000000057D4: BF8C007F s_barrier // 0000000057D8: BF8A0000 s_and_b64 exec, s[84:85], s[42:43] // wrscc // 0000000057DC: 87FE2A54 s_cbranch_execz label_1618 // 0000000057E0: BF88001F s_and_saveexec_b64 s[86:87], s[50:51] // wrscc // 0000000057E4: BED62432 s_cbranch_execz label_1618 // 0000000057E8: BF88001D ds_read2_b32 v[32:33], v4 offset0:102 offset1:110 // 0000000057EC: D8DC6E66 20000004 ds_read_b32 v25, v29 offset:408 // 0000000057F4: D8D80198 1900001D ds_read_b32 v34, v28 offset:408 // 0000000057FC: D8D80198 2200001C ds_read_b32 v35, v27 offset:408 // 000000005804: D8D80198 2300001B v_add_i32 v36, vcc, 0x000011b8, v4 // 00000000580C: 4A4808FF 000011B8 ds_read2st64_b32 v[36:37], v36 offset1:16 // 000000005814: D8E01000 24000024 ds_read_b32 v38, v4 offset:12728 // 00000000581C: D8D831B8 26000004 s_waitcnt lgkmcnt(5) // 000000005824: BF8C057F v_or_b32 v32, v32, v33 // 000000005828: 38404320 s_waitcnt lgkmcnt(1) // 00000000582C: BF8C017F v_or_b32 v25, v25, v36 // 000000005830: 38324919 v_or_b32 v33, v34, v37 // 000000005834: 38424B22 s_waitcnt lgkmcnt(0) // 000000005838: BF8C007F v_or_b32 v34, v35, v38 // 00000000583C: 38444D23 ds_write_b32 v4, v32 offset:408 // 000000005840: D8340198 00002004 ds_write_b32 v29, v25 offset:408 // 000000005848: D8340198 0000191D ds_write_b32 v28, v33 offset:408 // 000000005850: D8340198 0000211C ds_write_b32 v27, v34 offset:408 // 000000005858: D8340198 0000221B label_1618: s_waitcnt lgkmcnt(0) // 000000005860: BF8C007F s_barrier // 000000005864: BF8A0000 s_and_b64 exec, s[84:85], s[42:43] // wrscc // 000000005868: 87FE2A54 s_cbranch_execz label_163B // 00000000586C: BF88001F s_and_saveexec_b64 s[86:87], s[52:53] // wrscc // 000000005870: BED62434 s_cbranch_execz label_163B // 000000005874: BF88001D ds_read2_b32 v[32:33], v4 offset0:102 offset1:106 // 000000005878: D8DC6A66 20000004 ds_read_b32 v25, v29 offset:408 // 000000005880: D8D80198 1900001D ds_read_b32 v34, v28 offset:408 // 000000005888: D8D80198 2200001C ds_read_b32 v35, v27 offset:408 // 000000005890: D8D80198 2300001B v_add_i32 v36, vcc, 0x000011a8, v4 // 000000005898: 4A4808FF 000011A8 ds_read2st64_b32 v[36:37], v36 offset1:16 // 0000000058A0: D8E01000 24000024 ds_read_b32 v38, v4 offset:12712 // 0000000058A8: D8D831A8 26000004 s_waitcnt lgkmcnt(5) // 0000000058B0: BF8C057F v_or_b32 v32, v32, v33 // 0000000058B4: 38404320 s_waitcnt lgkmcnt(1) // 0000000058B8: BF8C017F v_or_b32 v25, v25, v36 // 0000000058BC: 38324919 v_or_b32 v33, v34, v37 // 0000000058C0: 38424B22 s_waitcnt lgkmcnt(0) // 0000000058C4: BF8C007F v_or_b32 v34, v35, v38 // 0000000058C8: 38444D23 ds_write_b32 v4, v32 offset:408 // 0000000058CC: D8340198 00002004 ds_write_b32 v29, v25 offset:408 // 0000000058D4: D8340198 0000191D ds_write_b32 v28, v33 offset:408 // 0000000058DC: D8340198 0000211C ds_write_b32 v27, v34 offset:408 // 0000000058E4: D8340198 0000221B label_163B: s_waitcnt lgkmcnt(0) // 0000000058EC: BF8C007F s_barrier // 0000000058F0: BF8A0000 s_and_b64 exec, s[84:85], s[42:43] // wrscc // 0000000058F4: 87FE2A54 s_cbranch_execz label_165E // 0000000058F8: BF88001F s_and_saveexec_b64 s[86:87], s[54:55] // wrscc // 0000000058FC: BED62436 s_cbranch_execz label_165E // 000000005900: BF88001D ds_read2_b32 v[32:33], v4 offset0:102 offset1:104 // 000000005904: D8DC6866 20000004 ds_read_b32 v25, v29 offset:408 // 00000000590C: D8D80198 1900001D ds_read_b32 v34, v28 offset:408 // 000000005914: D8D80198 2200001C ds_read_b32 v35, v27 offset:408 // 00000000591C: D8D80198 2300001B v_add_i32 v36, vcc, 0x000011a0, v4 // 000000005924: 4A4808FF 000011A0 ds_read2st64_b32 v[36:37], v36 offset1:16 // 00000000592C: D8E01000 24000024 ds_read_b32 v38, v4 offset:12704 // 000000005934: D8D831A0 26000004 s_waitcnt lgkmcnt(5) // 00000000593C: BF8C057F v_or_b32 v32, v32, v33 // 000000005940: 38404320 s_waitcnt lgkmcnt(1) // 000000005944: BF8C017F v_or_b32 v25, v25, v36 // 000000005948: 38324919 v_or_b32 v33, v34, v37 // 00000000594C: 38424B22 s_waitcnt lgkmcnt(0) // 000000005950: BF8C007F v_or_b32 v34, v35, v38 // 000000005954: 38444D23 ds_write_b32 v4, v32 offset:408 // 000000005958: D8340198 00002004 ds_write_b32 v29, v25 offset:408 // 000000005960: D8340198 0000191D ds_write_b32 v28, v33 offset:408 // 000000005968: D8340198 0000211C ds_write_b32 v27, v34 offset:408 // 000000005970: D8340198 0000221B label_165E: s_waitcnt lgkmcnt(0) // 000000005978: BF8C007F s_barrier // 00000000597C: BF8A0000 s_and_b64 exec, s[84:85], s[42:43] // wrscc // 000000005980: 87FE2A54 s_cbranch_execz label_1681 // 000000005984: BF88001F s_and_saveexec_b64 s[86:87], s[56:57] // wrscc // 000000005988: BED62438 s_cbranch_execz label_1681 // 00000000598C: BF88001D ds_read2_b32 v[32:33], v4 offset0:102 offset1:103 // 000000005990: D8DC6766 20000004 ds_read_b32 v25, v29 offset:408 // 000000005998: D8D80198 1900001D ds_read_b32 v34, v28 offset:408 // 0000000059A0: D8D80198 2200001C ds_read_b32 v35, v27 offset:408 // 0000000059A8: D8D80198 2300001B v_add_i32 v36, vcc, 0x0000119c, v4 // 0000000059B0: 4A4808FF 0000119C ds_read2st64_b32 v[36:37], v36 offset1:16 // 0000000059B8: D8E01000 24000024 ds_read_b32 v38, v4 offset:12700 // 0000000059C0: D8D8319C 26000004 s_waitcnt lgkmcnt(5) // 0000000059C8: BF8C057F v_or_b32 v32, v32, v33 // 0000000059CC: 38404320 s_waitcnt lgkmcnt(1) // 0000000059D0: BF8C017F v_or_b32 v25, v25, v36 // 0000000059D4: 38324919 v_or_b32 v33, v34, v37 // 0000000059D8: 38424B22 s_waitcnt lgkmcnt(0) // 0000000059DC: BF8C007F v_or_b32 v34, v35, v38 // 0000000059E0: 38444D23 ds_write_b32 v4, v32 offset:408 // 0000000059E4: D8340198 00002004 ds_write_b32 v29, v25 offset:408 // 0000000059EC: D8340198 0000191D ds_write_b32 v28, v33 offset:408 // 0000000059F4: D8340198 0000211C ds_write_b32 v27, v34 offset:408 // 0000000059FC: D8340198 0000221B label_1681: s_waitcnt lgkmcnt(0) // 000000005A04: BF8C007F s_barrier // 000000005A08: BF8A0000 s_and_b64 exec, s[84:85], s[42:43] // wrscc // 000000005A0C: 87FE2A54 v_add_i32 v25, vcc, 0x00000198, v31 // 000000005A10: 4A323EFF 00000198 s_cbranch_execz label_16B1 // 000000005A18: BF88002A ds_read2st64_b32 v[32:33], v25 offset1:16 // 000000005A1C: D8E01000 20000019 ds_read2st64_b32 v[34:35], v25 offset0:32 offset1:48 // 000000005A24: D8E03020 22000019 v_lshrrev_b32 v25, 16, v24 // 000000005A2C: 2C323090 v_lshrrev_b32 v36, 11, v24 // 000000005A30: 2C48308B s_movk_i32 s3, 0x01e0 // 000000005A34: B00301E0 v_and_b32 v37, 2, v25 // 000000005A38: 364A3282 v_bfi_b32 v36, s3, v36, 0 // 000000005A3C: D2940024 02024803 v_bfe_u32 v38, v24, 16, 1 // 000000005A44: D2900026 02052118 v_cmp_eq_i32 s[86:87], v37, 0 // 000000005A4C: D1040056 00010125 v_and_b32 v37, 4, v25 // 000000005A54: 364A3284 v_add_i32 v36, vcc, v5, v36 // 000000005A58: 4A484905 v_add_i32 v38, vcc, -1, v38 // 000000005A5C: 4A4C4CC1 v_cndmask_b32 v39, 0, -1, s[86:87] // 000000005A60: D2000027 01598280 v_cmp_eq_i32 vcc, 0, v37 // 000000005A68: 7D044A80 v_and_b32 v25, 8, v25 // 000000005A6C: 36323288 v_lshlrev_b32 v36, 2, v36 // 000000005A70: 34484882 ds_read_b32 v36, v36 offset:18844 // 000000005A74: D8D8499C 24000024 s_waitcnt lgkmcnt(2) // 000000005A7C: BF8C027F v_xor_b32 v37, v32, v38 // 000000005A80: 3A4A4D20 v_xor_b32 v38, v33, v39 // 000000005A84: 3A4C4F21 v_cndmask_b32 v39, 0, -1, vcc // 000000005A88: D2000027 01A98280 v_cmp_eq_i32 vcc, 0, v25 // 000000005A90: 7D043280 s_waitcnt lgkmcnt(1) // 000000005A94: BF8C017F v_xor_b32 v25, v34, v39 // 000000005A98: 3A324F22 v_cndmask_b32 v39, 0, -1, vcc // 000000005A9C: D2000027 01A98280 v_and_b32 v37, v37, v38 // 000000005AA4: 364A4D25 v_xor_b32 v38, v35, v39 // 000000005AA8: 3A4C4F23 v_and_b32 v25, v25, v37 // 000000005AAC: 36324B19 v_and_b32 v25, v38, v25 // 000000005AB0: 36323326 v_bfe_u32 v25, v25, 0, v8 // 000000005AB4: D2900019 04210119 s_waitcnt lgkmcnt(0) // 000000005ABC: BF8C007F v_bcnt_u32_b32 v25, v25, v36 // 000000005AC0: 44324919 label_16B1: s_andn2_b64 exec, s[84:85], exec // wrscc // 000000005AC4: 8AFE7E54 v_mov_b32 v33, 0 // 000000005AC8: 7E420280 v_mov_b32 v35, 0 // 000000005ACC: 7E460280 v_mov_b32 v25, 0 // 000000005AD0: 7E320280 v_mov_b32 v62, 0 // 000000005AD4: 7E7C0280 v_mov_b32 v34, 0 // 000000005AD8: 7E440280 v_mov_b32 v32, 0 // 000000005ADC: 7E400280 s_and_b64 exec, s[84:85], s[82:83] // wrscc // 000000005AE0: 87FE5254 v_add_i32 v25, vcc, v20, v25 // 000000005AE4: 4A323314 s_load_dwordx4 s[88:91], s[0:1], 0x58 // 000000005AE8: C0AC0158 s_waitcnt lgkmcnt(0) // 000000005AEC: BF8C007F buffer_store_dword v24, v25, s[88:91], 0 idxen // 000000005AF0: E0702000 80161819 s_waitcnt vmcnt(0) // 000000005AF8: BF8C0F70 s_barrier // 000000005AFC: BF8A0000 s_and_b64 exec, s[84:85], s[42:43] // wrscc // 000000005B00: 87FE2A54 s_cbranch_execz label_16D7 // 000000005B04: BF880015 s_and_saveexec_b64 s[82:83], s[48:49] // wrscc // 000000005B08: BED22430 s_cbranch_execz label_16D7 // 000000005B0C: BF880013 ds_read_b32 v24, v26 offset:18844 // 000000005B10: D8D8499C 1800001A v_xor_b32 v25, v30, v32 // 000000005B18: 3A32411E v_cndmask_b32 v32, 0, -1, s[58:59] // 000000005B1C: D2000020 00E98280 v_xor_b32 v32, v32, v33 // 000000005B24: 3A404320 v_and_b32 v25, v25, v32 // 000000005B28: 36324119 v_cndmask_b32 v32, 0, -1, s[60:61] // 000000005B2C: D2000020 00F18280 v_xor_b32 v32, v32, v34 // 000000005B34: 3A404520 v_cndmask_b32 v33, 0, -1, s[62:63] // 000000005B38: D2000021 00F98280 v_xor_b32 v33, v33, v35 // 000000005B40: 3A424721 v_and_b32 v25, v25, v32 // 000000005B44: 36324119 v_and_b32 v25, v33, v25 // 000000005B48: 36323321 s_waitcnt lgkmcnt(0) // 000000005B4C: BF8C007F v_bcnt_u32_b32 v24, v25, v24 // 000000005B50: 44303119 ds_write_b32 v26, v24 offset:18844 // 000000005B54: D834499C 0000181A label_16D7: s_mov_b64 exec, s[44:45] // 000000005B5C: BEFE042C s_mov_b64 s[44:45], exec // 000000005B60: BEAC047E v_mov_b32 v25, 0 // 000000005B64: 7E320280 v_mov_b32 v24, 0 // 000000005B68: 7E300280 v_mov_b32 v32, v23 // 000000005B6C: 7E400317 s_nop 0x0000 // 000000005B70: BF800000 s_nop 0x0000 // 000000005B74: BF800000 label_16DE: v_cmp_ge_u32 vcc, v25, v11 // 000000005B78: 7D8C1719 s_andn2_b64 exec, exec, vcc // wrscc // 000000005B7C: 8AFE6A7E s_cbranch_execz label_17D1 // 000000005B80: BF8800F0 v_add_i32 v33, vcc, v20, v32 // 000000005B84: 4A424114 s_load_dwordx4 s[84:87], s[0:1], 0x58 // 000000005B88: C0AA0158 s_waitcnt lgkmcnt(0) // 000000005B8C: BF8C007F buffer_load_dword v33, v33, s[84:87], 0 idxen // 000000005B90: E0302000 80152121 v_cmp_gt_u32 vcc, v22, v32 // 000000005B98: 7D884116 s_waitcnt vmcnt(0) // 000000005B9C: BF8C0F70 v_cndmask_b32 v33, -1, v33, vcc // 000000005BA0: 004242C1 v_bfe_u32 v34, v33, 20, 1 // 000000005BA4: D2900022 02052921 v_lshrrev_b32 v33, 20, v33 // 000000005BAC: 2C424294 v_cmp_ne_i32 vcc, 0, v34 // 000000005BB0: 7D0A4480 v_and_b32 v34, 2, v33 // 000000005BB4: 36444282 v_cndmask_b32 v35, 0, -1, vcc // 000000005BB8: D2000023 01A98280 v_cmp_ne_i32 vcc, 0, v34 // 000000005BC0: 7D0A4480 v_and_b32 v34, 4, v33 // 000000005BC4: 36444284 v_bfm_b32 v36, 1, v8 // 000000005BC8: 3C481081 v_lshl_b32 v35, v35, v8 // 000000005BCC: 32461123 v_cndmask_b32 v37, 0, -1, vcc // 000000005BD0: D2000025 01A98280 v_cmp_ne_i32 vcc, 0, v34 // 000000005BD8: 7D0A4480 v_and_b32 v33, 8, v33 // 000000005BDC: 36424288 v_bfi_b32 v34, v36, v35, 0 // 000000005BE0: D2940022 02024724 v_lshl_b32 v35, v37, v8 // 000000005BE8: 32461125 v_cndmask_b32 v37, 0, -1, vcc // 000000005BEC: D2000025 01A98280 v_cmp_ne_i32 vcc, 0, v33 // 000000005BF4: 7D0A4280 v_bfi_b32 v33, v36, v35, 0 // 000000005BF8: D2940021 02024724 v_lshl_b32 v35, v37, v8 // 000000005C00: 32461125 v_cndmask_b32 v37, 0, -1, vcc // 000000005C04: D2000025 01A98280 ds_write_b32 v4, v34 offset:408 // 000000005C0C: D8340198 00002204 v_bfi_b32 v34, v36, v35, 0 // 000000005C14: D2940022 02024724 v_lshl_b32 v35, v37, v8 // 000000005C1C: 32461125 ds_write_b32 v29, v33 offset:408 // 000000005C20: D8340198 0000211D v_bfi_b32 v33, v36, v35, 0 // 000000005C28: D2940021 02024724 ds_write_b32 v28, v34 offset:408 // 000000005C30: D8340198 0000221C ds_write_b32 v27, v33 offset:408 // 000000005C38: D8340198 0000211B s_waitcnt lgkmcnt(0) // 000000005C40: BF8C007F s_barrier // 000000005C44: BF8A0000 s_and_saveexec_b64 s[82:83], s[48:49] // wrscc // 000000005C48: BED22430 s_cbranch_execz label_1731 // 000000005C4C: BF88001D ds_read2_b32 v[33:34], v4 offset0:102 offset1:118 // 000000005C50: D8DC7666 21000004 ds_read_b32 v35, v29 offset:408 // 000000005C58: D8D80198 2300001D ds_read_b32 v36, v28 offset:408 // 000000005C60: D8D80198 2400001C ds_read_b32 v37, v27 offset:408 // 000000005C68: D8D80198 2500001B v_add_i32 v38, vcc, 0x000011d8, v4 // 000000005C70: 4A4C08FF 000011D8 ds_read2st64_b32 v[38:39], v38 offset1:16 // 000000005C78: D8E01000 26000026 ds_read_b32 v40, v4 offset:12760 // 000000005C80: D8D831D8 28000004 s_waitcnt lgkmcnt(5) // 000000005C88: BF8C057F v_or_b32 v33, v33, v34 // 000000005C8C: 38424521 s_waitcnt lgkmcnt(1) // 000000005C90: BF8C017F v_or_b32 v34, v35, v38 // 000000005C94: 38444D23 v_or_b32 v35, v36, v39 // 000000005C98: 38464F24 s_waitcnt lgkmcnt(0) // 000000005C9C: BF8C007F v_or_b32 v36, v37, v40 // 000000005CA0: 38485125 ds_write_b32 v4, v33 offset:408 // 000000005CA4: D8340198 00002104 ds_write_b32 v29, v34 offset:408 // 000000005CAC: D8340198 0000221D ds_write_b32 v28, v35 offset:408 // 000000005CB4: D8340198 0000231C ds_write_b32 v27, v36 offset:408 // 000000005CBC: D8340198 0000241B label_1731: s_waitcnt lgkmcnt(0) // 000000005CC4: BF8C007F s_barrier // 000000005CC8: BF8A0000 s_and_b64 exec, s[82:83], s[50:51] // wrscc // 000000005CCC: 87FE3252 s_cbranch_execz label_1752 // 000000005CD0: BF88001D ds_read2_b32 v[33:34], v4 offset0:102 offset1:110 // 000000005CD4: D8DC6E66 21000004 ds_read_b32 v35, v29 offset:408 // 000000005CDC: D8D80198 2300001D ds_read_b32 v36, v28 offset:408 // 000000005CE4: D8D80198 2400001C ds_read_b32 v37, v27 offset:408 // 000000005CEC: D8D80198 2500001B v_add_i32 v38, vcc, 0x000011b8, v4 // 000000005CF4: 4A4C08FF 000011B8 ds_read2st64_b32 v[38:39], v38 offset1:16 // 000000005CFC: D8E01000 26000026 ds_read_b32 v40, v4 offset:12728 // 000000005D04: D8D831B8 28000004 s_waitcnt lgkmcnt(5) // 000000005D0C: BF8C057F v_or_b32 v33, v33, v34 // 000000005D10: 38424521 s_waitcnt lgkmcnt(1) // 000000005D14: BF8C017F v_or_b32 v34, v35, v38 // 000000005D18: 38444D23 v_or_b32 v35, v36, v39 // 000000005D1C: 38464F24 s_waitcnt lgkmcnt(0) // 000000005D20: BF8C007F v_or_b32 v36, v37, v40 // 000000005D24: 38485125 ds_write_b32 v4, v33 offset:408 // 000000005D28: D8340198 00002104 ds_write_b32 v29, v34 offset:408 // 000000005D30: D8340198 0000221D ds_write_b32 v28, v35 offset:408 // 000000005D38: D8340198 0000231C ds_write_b32 v27, v36 offset:408 // 000000005D40: D8340198 0000241B label_1752: s_waitcnt lgkmcnt(0) // 000000005D48: BF8C007F s_barrier // 000000005D4C: BF8A0000 s_and_b64 exec, s[82:83], s[52:53] // wrscc // 000000005D50: 87FE3452 s_cbranch_execz label_1773 // 000000005D54: BF88001D ds_read2_b32 v[33:34], v4 offset0:102 offset1:106 // 000000005D58: D8DC6A66 21000004 ds_read_b32 v35, v29 offset:408 // 000000005D60: D8D80198 2300001D ds_read_b32 v36, v28 offset:408 // 000000005D68: D8D80198 2400001C ds_read_b32 v37, v27 offset:408 // 000000005D70: D8D80198 2500001B v_add_i32 v38, vcc, 0x000011a8, v4 // 000000005D78: 4A4C08FF 000011A8 ds_read2st64_b32 v[38:39], v38 offset1:16 // 000000005D80: D8E01000 26000026 ds_read_b32 v40, v4 offset:12712 // 000000005D88: D8D831A8 28000004 s_waitcnt lgkmcnt(5) // 000000005D90: BF8C057F v_or_b32 v33, v33, v34 // 000000005D94: 38424521 s_waitcnt lgkmcnt(1) // 000000005D98: BF8C017F v_or_b32 v34, v35, v38 // 000000005D9C: 38444D23 v_or_b32 v35, v36, v39 // 000000005DA0: 38464F24 s_waitcnt lgkmcnt(0) // 000000005DA4: BF8C007F v_or_b32 v36, v37, v40 // 000000005DA8: 38485125 ds_write_b32 v4, v33 offset:408 // 000000005DAC: D8340198 00002104 ds_write_b32 v29, v34 offset:408 // 000000005DB4: D8340198 0000221D ds_write_b32 v28, v35 offset:408 // 000000005DBC: D8340198 0000231C ds_write_b32 v27, v36 offset:408 // 000000005DC4: D8340198 0000241B label_1773: s_waitcnt lgkmcnt(0) // 000000005DCC: BF8C007F s_barrier // 000000005DD0: BF8A0000 s_and_b64 exec, s[82:83], s[54:55] // wrscc // 000000005DD4: 87FE3652 s_cbranch_execz label_1794 // 000000005DD8: BF88001D ds_read2_b32 v[33:34], v4 offset0:102 offset1:104 // 000000005DDC: D8DC6866 21000004 ds_read_b32 v35, v29 offset:408 // 000000005DE4: D8D80198 2300001D ds_read_b32 v36, v28 offset:408 // 000000005DEC: D8D80198 2400001C ds_read_b32 v37, v27 offset:408 // 000000005DF4: D8D80198 2500001B v_add_i32 v38, vcc, 0x000011a0, v4 // 000000005DFC: 4A4C08FF 000011A0 ds_read2st64_b32 v[38:39], v38 offset1:16 // 000000005E04: D8E01000 26000026 ds_read_b32 v40, v4 offset:12704 // 000000005E0C: D8D831A0 28000004 s_waitcnt lgkmcnt(5) // 000000005E14: BF8C057F v_or_b32 v33, v33, v34 // 000000005E18: 38424521 s_waitcnt lgkmcnt(1) // 000000005E1C: BF8C017F v_or_b32 v34, v35, v38 // 000000005E20: 38444D23 v_or_b32 v35, v36, v39 // 000000005E24: 38464F24 s_waitcnt lgkmcnt(0) // 000000005E28: BF8C007F v_or_b32 v36, v37, v40 // 000000005E2C: 38485125 ds_write_b32 v4, v33 offset:408 // 000000005E30: D8340198 00002104 ds_write_b32 v29, v34 offset:408 // 000000005E38: D8340198 0000221D ds_write_b32 v28, v35 offset:408 // 000000005E40: D8340198 0000231C ds_write_b32 v27, v36 offset:408 // 000000005E48: D8340198 0000241B label_1794: s_waitcnt lgkmcnt(0) // 000000005E50: BF8C007F s_barrier // 000000005E54: BF8A0000 s_and_b64 exec, s[82:83], s[56:57] // wrscc // 000000005E58: 87FE3852 s_cbranch_execz label_17B5 // 000000005E5C: BF88001D ds_read2_b32 v[33:34], v4 offset0:102 offset1:103 // 000000005E60: D8DC6766 21000004 ds_read_b32 v35, v29 offset:408 // 000000005E68: D8D80198 2300001D ds_read_b32 v36, v28 offset:408 // 000000005E70: D8D80198 2400001C ds_read_b32 v37, v27 offset:408 // 000000005E78: D8D80198 2500001B v_add_i32 v38, vcc, 0x0000119c, v4 // 000000005E80: 4A4C08FF 0000119C ds_read2st64_b32 v[38:39], v38 offset1:16 // 000000005E88: D8E01000 26000026 ds_read_b32 v40, v4 offset:12700 // 000000005E90: D8D8319C 28000004 s_waitcnt lgkmcnt(5) // 000000005E98: BF8C057F v_or_b32 v33, v33, v34 // 000000005E9C: 38424521 s_waitcnt lgkmcnt(1) // 000000005EA0: BF8C017F v_or_b32 v34, v35, v38 // 000000005EA4: 38444D23 v_or_b32 v35, v36, v39 // 000000005EA8: 38464F24 s_waitcnt lgkmcnt(0) // 000000005EAC: BF8C007F v_or_b32 v36, v37, v40 // 000000005EB0: 38485125 ds_write_b32 v4, v33 offset:408 // 000000005EB4: D8340198 00002104 ds_write_b32 v29, v34 offset:408 // 000000005EBC: D8340198 0000221D ds_write_b32 v28, v35 offset:408 // 000000005EC4: D8340198 0000231C ds_write_b32 v27, v36 offset:408 // 000000005ECC: D8340198 0000241B label_17B5: s_mov_b64 exec, s[82:83] // 000000005ED4: BEFE0452 s_waitcnt lgkmcnt(0) // 000000005ED8: BF8C007F s_barrier // 000000005EDC: BF8A0000 v_add_i32 v33, vcc, 0x00000198, v31 // 000000005EE0: 4A423EFF 00000198 ds_read2st64_b32 v[34:35], v33 offset1:16 // 000000005EE8: D8E01000 22000021 ds_read2st64_b32 v[36:37], v33 offset0:32 offset1:48 // 000000005EF0: D8E03020 24000021 v_cndmask_b32 v33, 0, -1, s[58:59] // 000000005EF8: D2000021 00E98280 s_waitcnt lgkmcnt(1) // 000000005F00: BF8C017F v_xor_b32 v34, v30, v34 // 000000005F04: 3A44451E v_xor_b32 v33, v33, v35 // 000000005F08: 3A424721 v_cndmask_b32 v35, 0, -1, s[60:61] // 000000005F0C: D2000023 00F18280 v_and_b32 v33, v34, v33 // 000000005F14: 36424322 s_waitcnt lgkmcnt(0) // 000000005F18: BF8C007F v_xor_b32 v34, v35, v36 // 000000005F1C: 3A444923 v_cndmask_b32 v35, 0, -1, s[62:63] // 000000005F20: D2000023 00F98280 v_and_b32 v33, v33, v34 // 000000005F28: 36424521 v_xor_b32 v34, v35, v37 // 000000005F2C: 3A444B23 v_and_b32 v33, v33, v34 // 000000005F30: 36424521 v_bcnt_u32_b32 v24, v33, v24 // 000000005F34: 44303121 v_add_i32 v25, vcc, 1, v25 // 000000005F38: 4A323281 v_add_i32 v32, vcc, 32, v32 // 000000005F3C: 4A4040A0 s_branch label_16DE // 000000005F40: BF82FF0D label_17D1: s_mov_b64 exec, s[44:45] // 000000005F44: BEFE042C v_cmp_ne_u32 vcc, 0, v21 // 000000005F48: 7D8A2A80 s_and_saveexec_b64 s[44:45], vcc // wrscc // 000000005F4C: BEAC246A v_add_i32 v25, vcc, v20, v32 // 000000005F50: 4A324114 s_cbranch_execz label_18DD // 000000005F54: BF880107 s_and_saveexec_b64 s[82:83], s[42:43] // wrscc // 000000005F58: BED2242A s_cbranch_execz label_1806 // 000000005F5C: BF88002E s_load_dwordx4 s[84:87], s[0:1], 0x58 // 000000005F60: C0AA0158 s_waitcnt lgkmcnt(0) // 000000005F64: BF8C007F buffer_load_dword v25, v25, s[84:87], 0 idxen // 000000005F68: E0302000 80151919 v_cmp_gt_u32 vcc, v22, v32 // 000000005F70: 7D884116 s_waitcnt vmcnt(0) // 000000005F74: BF8C0F70 v_cndmask_b32 v25, -1, v25, vcc // 000000005F78: 003232C1 v_bfe_u32 v32, v25, 20, 1 // 000000005F7C: D2900020 02052919 v_lshrrev_b32 v25, 20, v25 // 000000005F84: 2C323294 v_cmp_ne_i32 vcc, 0, v32 // 000000005F88: 7D0A4080 v_and_b32 v32, 2, v25 // 000000005F8C: 36403282 v_cndmask_b32 v33, 0, -1, vcc // 000000005F90: D2000021 01A98280 v_cmp_ne_i32 vcc, 0, v32 // 000000005F98: 7D0A4080 v_and_b32 v32, 4, v25 // 000000005F9C: 36403284 v_bfm_b32 v34, 1, v8 // 000000005FA0: 3C441081 v_lshl_b32 v33, v33, v8 // 000000005FA4: 32421121 v_cndmask_b32 v35, 0, -1, vcc // 000000005FA8: D2000023 01A98280 v_cmp_ne_i32 vcc, 0, v32 // 000000005FB0: 7D0A4080 v_and_b32 v25, 8, v25 // 000000005FB4: 36323288 v_bfi_b32 v32, v34, v33, 0 // 000000005FB8: D2940020 02024322 v_lshl_b32 v33, v35, v8 // 000000005FC0: 32421123 v_cndmask_b32 v35, 0, -1, vcc // 000000005FC4: D2000023 01A98280 v_cmp_ne_i32 vcc, 0, v25 // 000000005FCC: 7D0A3280 v_bfi_b32 v25, v34, v33, 0 // 000000005FD0: D2940019 02024322 v_lshl_b32 v33, v35, v8 // 000000005FD8: 32421123 v_cndmask_b32 v35, 0, -1, vcc // 000000005FDC: D2000023 01A98280 ds_write_b32 v4, v32 offset:408 // 000000005FE4: D8340198 00002004 v_bfi_b32 v32, v34, v33, 0 // 000000005FEC: D2940020 02024322 v_lshl_b32 v33, v35, v8 // 000000005FF4: 32421123 ds_write_b32 v29, v25 offset:408 // 000000005FF8: D8340198 0000191D v_bfi_b32 v25, v34, v33, 0 // 000000006000: D2940019 02024322 ds_write_b32 v28, v32 offset:408 // 000000006008: D8340198 0000201C ds_write_b32 v27, v25 offset:408 // 000000006010: D8340198 0000191B label_1806: s_waitcnt lgkmcnt(0) // 000000006018: BF8C007F s_barrier // 00000000601C: BF8A0000 s_and_b64 exec, s[82:83], s[42:43] // wrscc // 000000006020: 87FE2A52 s_cbranch_execz label_1829 // 000000006024: BF88001F s_and_saveexec_b64 s[84:85], s[48:49] // wrscc // 000000006028: BED42430 s_cbranch_execz label_1829 // 00000000602C: BF88001D ds_read2_b32 v[32:33], v4 offset0:102 offset1:118 // 000000006030: D8DC7666 20000004 ds_read_b32 v25, v29 offset:408 // 000000006038: D8D80198 1900001D ds_read_b32 v34, v28 offset:408 // 000000006040: D8D80198 2200001C ds_read_b32 v35, v27 offset:408 // 000000006048: D8D80198 2300001B v_add_i32 v36, vcc, 0x000011d8, v4 // 000000006050: 4A4808FF 000011D8 ds_read2st64_b32 v[36:37], v36 offset1:16 // 000000006058: D8E01000 24000024 ds_read_b32 v38, v4 offset:12760 // 000000006060: D8D831D8 26000004 s_waitcnt lgkmcnt(5) // 000000006068: BF8C057F v_or_b32 v32, v32, v33 // 00000000606C: 38404320 s_waitcnt lgkmcnt(1) // 000000006070: BF8C017F v_or_b32 v25, v25, v36 // 000000006074: 38324919 v_or_b32 v33, v34, v37 // 000000006078: 38424B22 s_waitcnt lgkmcnt(0) // 00000000607C: BF8C007F v_or_b32 v34, v35, v38 // 000000006080: 38444D23 ds_write_b32 v4, v32 offset:408 // 000000006084: D8340198 00002004 ds_write_b32 v29, v25 offset:408 // 00000000608C: D8340198 0000191D ds_write_b32 v28, v33 offset:408 // 000000006094: D8340198 0000211C ds_write_b32 v27, v34 offset:408 // 00000000609C: D8340198 0000221B label_1829: s_waitcnt lgkmcnt(0) // 0000000060A4: BF8C007F s_barrier // 0000000060A8: BF8A0000 s_and_b64 exec, s[82:83], s[42:43] // wrscc // 0000000060AC: 87FE2A52 s_cbranch_execz label_184C // 0000000060B0: BF88001F s_and_saveexec_b64 s[84:85], s[50:51] // wrscc // 0000000060B4: BED42432 s_cbranch_execz label_184C // 0000000060B8: BF88001D ds_read2_b32 v[32:33], v4 offset0:102 offset1:110 // 0000000060BC: D8DC6E66 20000004 ds_read_b32 v25, v29 offset:408 // 0000000060C4: D8D80198 1900001D ds_read_b32 v34, v28 offset:408 // 0000000060CC: D8D80198 2200001C ds_read_b32 v35, v27 offset:408 // 0000000060D4: D8D80198 2300001B v_add_i32 v36, vcc, 0x000011b8, v4 // 0000000060DC: 4A4808FF 000011B8 ds_read2st64_b32 v[36:37], v36 offset1:16 // 0000000060E4: D8E01000 24000024 ds_read_b32 v38, v4 offset:12728 // 0000000060EC: D8D831B8 26000004 s_waitcnt lgkmcnt(5) // 0000000060F4: BF8C057F v_or_b32 v32, v32, v33 // 0000000060F8: 38404320 s_waitcnt lgkmcnt(1) // 0000000060FC: BF8C017F v_or_b32 v25, v25, v36 // 000000006100: 38324919 v_or_b32 v33, v34, v37 // 000000006104: 38424B22 s_waitcnt lgkmcnt(0) // 000000006108: BF8C007F v_or_b32 v34, v35, v38 // 00000000610C: 38444D23 ds_write_b32 v4, v32 offset:408 // 000000006110: D8340198 00002004 ds_write_b32 v29, v25 offset:408 // 000000006118: D8340198 0000191D ds_write_b32 v28, v33 offset:408 // 000000006120: D8340198 0000211C ds_write_b32 v27, v34 offset:408 // 000000006128: D8340198 0000221B label_184C: s_waitcnt lgkmcnt(0) // 000000006130: BF8C007F s_barrier // 000000006134: BF8A0000 s_and_b64 exec, s[82:83], s[42:43] // wrscc // 000000006138: 87FE2A52 s_cbranch_execz label_186F // 00000000613C: BF88001F s_and_saveexec_b64 s[84:85], s[52:53] // wrscc // 000000006140: BED42434 s_cbranch_execz label_186F // 000000006144: BF88001D ds_read2_b32 v[32:33], v4 offset0:102 offset1:106 // 000000006148: D8DC6A66 20000004 ds_read_b32 v25, v29 offset:408 // 000000006150: D8D80198 1900001D ds_read_b32 v34, v28 offset:408 // 000000006158: D8D80198 2200001C ds_read_b32 v35, v27 offset:408 // 000000006160: D8D80198 2300001B v_add_i32 v36, vcc, 0x000011a8, v4 // 000000006168: 4A4808FF 000011A8 ds_read2st64_b32 v[36:37], v36 offset1:16 // 000000006170: D8E01000 24000024 ds_read_b32 v38, v4 offset:12712 // 000000006178: D8D831A8 26000004 s_waitcnt lgkmcnt(5) // 000000006180: BF8C057F v_or_b32 v32, v32, v33 // 000000006184: 38404320 s_waitcnt lgkmcnt(1) // 000000006188: BF8C017F v_or_b32 v25, v25, v36 // 00000000618C: 38324919 v_or_b32 v33, v34, v37 // 000000006190: 38424B22 s_waitcnt lgkmcnt(0) // 000000006194: BF8C007F v_or_b32 v34, v35, v38 // 000000006198: 38444D23 ds_write_b32 v4, v32 offset:408 // 00000000619C: D8340198 00002004 ds_write_b32 v29, v25 offset:408 // 0000000061A4: D8340198 0000191D ds_write_b32 v28, v33 offset:408 // 0000000061AC: D8340198 0000211C ds_write_b32 v27, v34 offset:408 // 0000000061B4: D8340198 0000221B label_186F: s_waitcnt lgkmcnt(0) // 0000000061BC: BF8C007F s_barrier // 0000000061C0: BF8A0000 s_and_b64 exec, s[82:83], s[42:43] // wrscc // 0000000061C4: 87FE2A52 s_cbranch_execz label_1892 // 0000000061C8: BF88001F s_and_saveexec_b64 s[84:85], s[54:55] // wrscc // 0000000061CC: BED42436 s_cbranch_execz label_1892 // 0000000061D0: BF88001D ds_read2_b32 v[32:33], v4 offset0:102 offset1:104 // 0000000061D4: D8DC6866 20000004 ds_read_b32 v25, v29 offset:408 // 0000000061DC: D8D80198 1900001D ds_read_b32 v34, v28 offset:408 // 0000000061E4: D8D80198 2200001C ds_read_b32 v35, v27 offset:408 // 0000000061EC: D8D80198 2300001B v_add_i32 v36, vcc, 0x000011a0, v4 // 0000000061F4: 4A4808FF 000011A0 ds_read2st64_b32 v[36:37], v36 offset1:16 // 0000000061FC: D8E01000 24000024 ds_read_b32 v38, v4 offset:12704 // 000000006204: D8D831A0 26000004 s_waitcnt lgkmcnt(5) // 00000000620C: BF8C057F v_or_b32 v32, v32, v33 // 000000006210: 38404320 s_waitcnt lgkmcnt(1) // 000000006214: BF8C017F v_or_b32 v25, v25, v36 // 000000006218: 38324919 v_or_b32 v33, v34, v37 // 00000000621C: 38424B22 s_waitcnt lgkmcnt(0) // 000000006220: BF8C007F v_or_b32 v34, v35, v38 // 000000006224: 38444D23 ds_write_b32 v4, v32 offset:408 // 000000006228: D8340198 00002004 ds_write_b32 v29, v25 offset:408 // 000000006230: D8340198 0000191D ds_write_b32 v28, v33 offset:408 // 000000006238: D8340198 0000211C ds_write_b32 v27, v34 offset:408 // 000000006240: D8340198 0000221B label_1892: s_waitcnt lgkmcnt(0) // 000000006248: BF8C007F s_barrier // 00000000624C: BF8A0000 s_and_b64 exec, s[82:83], s[42:43] // wrscc // 000000006250: 87FE2A52 s_cbranch_execz label_18B5 // 000000006254: BF88001F s_and_saveexec_b64 s[84:85], s[56:57] // wrscc // 000000006258: BED42438 s_cbranch_execz label_18B5 // 00000000625C: BF88001D ds_read2_b32 v[32:33], v4 offset0:102 offset1:103 // 000000006260: D8DC6766 20000004 ds_read_b32 v25, v29 offset:408 // 000000006268: D8D80198 1900001D ds_read_b32 v34, v28 offset:408 // 000000006270: D8D80198 2200001C ds_read_b32 v35, v27 offset:408 // 000000006278: D8D80198 2300001B v_add_i32 v36, vcc, 0x0000119c, v4 // 000000006280: 4A4808FF 0000119C ds_read2st64_b32 v[36:37], v36 offset1:16 // 000000006288: D8E01000 24000024 ds_read_b32 v38, v4 offset:12700 // 000000006290: D8D8319C 26000004 s_waitcnt lgkmcnt(5) // 000000006298: BF8C057F v_or_b32 v32, v32, v33 // 00000000629C: 38404320 s_waitcnt lgkmcnt(1) // 0000000062A0: BF8C017F v_or_b32 v25, v25, v36 // 0000000062A4: 38324919 v_or_b32 v33, v34, v37 // 0000000062A8: 38424B22 s_waitcnt lgkmcnt(0) // 0000000062AC: BF8C007F v_or_b32 v34, v35, v38 // 0000000062B0: 38444D23 ds_write_b32 v4, v32 offset:408 // 0000000062B4: D8340198 00002004 ds_write_b32 v29, v25 offset:408 // 0000000062BC: D8340198 0000191D ds_write_b32 v28, v33 offset:408 // 0000000062C4: D8340198 0000211C ds_write_b32 v27, v34 offset:408 // 0000000062CC: D8340198 0000221B label_18B5: s_waitcnt lgkmcnt(0) // 0000000062D4: BF8C007F s_barrier // 0000000062D8: BF8A0000 s_and_b64 exec, s[82:83], s[42:43] // wrscc // 0000000062DC: 87FE2A52 v_add_i32 v25, vcc, 0x00000198, v31 // 0000000062E0: 4A323EFF 00000198 ds_read2st64_b32 v[32:33], v25 offset1:16 // 0000000062E8: D8E01000 20000019 ds_read2st64_b32 v[34:35], v25 offset0:32 offset1:48 // 0000000062F0: D8E03020 22000019 s_waitcnt lgkmcnt(1) // 0000000062F8: BF8C017F v_mov_b32 v25, v32 // 0000000062FC: 7E320320 v_mov_b32 v32, v33 // 000000006300: 7E400321 s_waitcnt lgkmcnt(0) // 000000006304: BF8C007F v_mov_b32 v33, v34 // 000000006308: 7E420322 v_mov_b32 v34, v35 // 00000000630C: 7E440323 s_andn2_b64 exec, s[82:83], exec // wrscc // 000000006310: 8AFE7E52 v_mov_b32 v34, 0 // 000000006314: 7E440280 v_mov_b32 v25, 0 // 000000006318: 7E320280 v_mov_b32 v62, 0 // 00000000631C: 7E7C0280 v_mov_b32 v33, 0 // 000000006320: 7E420280 v_mov_b32 v32, 0 // 000000006324: 7E400280 s_mov_b64 exec, s[82:83] // 000000006328: BEFE0452 v_xor_b32 v25, v30, v25 // 00000000632C: 3A32331E v_cndmask_b32 v35, 0, -1, s[58:59] // 000000006330: D2000023 00E98280 v_xor_b32 v32, v35, v32 // 000000006338: 3A404123 v_and_b32 v25, v25, v32 // 00000000633C: 36324119 v_cndmask_b32 v32, 0, -1, s[60:61] // 000000006340: D2000020 00F18280 v_xor_b32 v32, v32, v33 // 000000006348: 3A404320 v_cndmask_b32 v33, 0, -1, s[62:63] // 00000000634C: D2000021 00F98280 v_xor_b32 v33, v33, v34 // 000000006354: 3A424521 v_and_b32 v25, v25, v32 // 000000006358: 36324119 v_and_b32 v25, v33, v25 // 00000000635C: 36323321 v_bcnt_u32_b32 v25, v25, 0 // 000000006360: D2440019 00010119 v_cndmask_b32 v25, 0, v25, s[42:43] // 000000006368: D2000019 00AA3280 v_add_i32 v24, vcc, v24, v25 // 000000006370: 4A303318 label_18DD: s_and_b64 exec, s[44:45], s[48:49] // wrscc // 000000006374: 87FE302C ds_write_b32 v26, v24 offset:16796 // 000000006378: D834419C 0000181A s_mov_b64 exec, s[44:45] // 000000006380: BEFE042C s_waitcnt lgkmcnt(0) // 000000006384: BF8C007F s_barrier // 000000006388: BF8A0000 v_cmp_eq_u32 vcc, 0, v8 // 00000000638C: 7D841080 s_and_b64 exec, s[44:45], vcc // wrscc // 000000006390: 87FE6A2C v_mov_b32 v24, 0 // 000000006394: 7E300280 ds_write_b32 v24, v24 offset:16792 // 000000006398: D8344198 00001818 ds_write_b32 v24, v24 offset:18844 // 0000000063A0: D834499C 00001818 s_and_b64 exec, s[44:45], s[46:47] // wrscc // 0000000063A8: 87FE2E2C s_cbranch_execz label_18FC // 0000000063AC: BF880010 s_and_saveexec_b64 s[82:83], s[64:65] // wrscc // 0000000063B0: BED22440 v_add_i32 v24, vcc, 0x00004198, v4 // 0000000063B4: 4A3008FF 00004198 ds_read2_b32 v[24:25], v24 offset0:1 // 0000000063BC: D8DC0001 18000018 s_waitcnt lgkmcnt(0) // 0000000063C4: BF8C007F v_add_i32 v24, vcc, v24, v25 // 0000000063C8: 4A303318 ds_write_b32 v4, v24 offset:18848 // 0000000063CC: D83449A0 00001804 s_andn2_b64 exec, s[82:83], exec // wrscc // 0000000063D4: 8AFE7E52 v_mov_b32 v24, 0 // 0000000063D8: 7E300280 ds_read_b32 v25, v24 offset:16796 // 0000000063DC: D8D8419C 19000018 s_waitcnt lgkmcnt(0) // 0000000063E4: BF8C007F ds_write_b32 v24, v25 offset:18848 // 0000000063E8: D83449A0 00001918 label_18FC: s_waitcnt lgkmcnt(0) // 0000000063F0: BF8C007F s_barrier // 0000000063F4: BF8A0000 s_and_b64 exec, s[44:45], s[46:47] // wrscc // 0000000063F8: 87FE2E2C s_cbranch_execz label_190E // 0000000063FC: BF88000E s_and_saveexec_b64 s[82:83], s[66:67] // wrscc // 000000006400: BED22442 v_add_i32 v24, vcc, 0x00004998, v4 // 000000006404: 4A3008FF 00004998 ds_read2_b32 v[24:25], v24 offset0:2 // 00000000640C: D8DC0002 18000018 s_waitcnt lgkmcnt(0) // 000000006414: BF8C007F v_add_i32 v24, vcc, v24, v25 // 000000006418: 4A303318 s_andn2_b64 exec, s[82:83], exec // wrscc // 00000000641C: 8AFE7E52 ds_read_b32 v24, v4 offset:18848 // 000000006420: D8D849A0 18000004 s_mov_b64 exec, s[82:83] // 000000006428: BEFE0452 s_waitcnt lgkmcnt(0) // 00000000642C: BF8C007F ds_write_b32 v4, v24 offset:16796 // 000000006430: D834419C 00001804 label_190E: s_waitcnt lgkmcnt(0) // 000000006438: BF8C007F s_barrier // 00000000643C: BF8A0000 s_and_b64 exec, s[44:45], s[46:47] // wrscc // 000000006440: 87FE2E2C s_cbranch_execz label_1920 // 000000006444: BF88000E s_and_saveexec_b64 s[82:83], s[68:69] // wrscc // 000000006448: BED22444 v_add_i32 v24, vcc, 0x0000418c, v4 // 00000000644C: 4A3008FF 0000418C ds_read2_b32 v[24:25], v24 offset0:4 // 000000006454: D8DC0004 18000018 s_waitcnt lgkmcnt(0) // 00000000645C: BF8C007F v_add_i32 v24, vcc, v24, v25 // 000000006460: 4A303318 s_andn2_b64 exec, s[82:83], exec // wrscc // 000000006464: 8AFE7E52 ds_read_b32 v24, v4 offset:16796 // 000000006468: D8D8419C 18000004 s_mov_b64 exec, s[82:83] // 000000006470: BEFE0452 s_waitcnt lgkmcnt(0) // 000000006474: BF8C007F ds_write_b32 v4, v24 offset:18848 // 000000006478: D83449A0 00001804 label_1920: s_waitcnt lgkmcnt(0) // 000000006480: BF8C007F s_barrier // 000000006484: BF8A0000 s_and_b64 exec, s[44:45], s[46:47] // wrscc // 000000006488: 87FE2E2C s_cbranch_execz label_1932 // 00000000648C: BF88000E s_and_saveexec_b64 s[82:83], s[70:71] // wrscc // 000000006490: BED22446 v_add_i32 v24, vcc, 0x00004980, v4 // 000000006494: 4A3008FF 00004980 ds_read2_b32 v[24:25], v24 offset0:8 // 00000000649C: D8DC0008 18000018 s_waitcnt lgkmcnt(0) // 0000000064A4: BF8C007F v_add_i32 v24, vcc, v24, v25 // 0000000064A8: 4A303318 s_andn2_b64 exec, s[82:83], exec // wrscc // 0000000064AC: 8AFE7E52 ds_read_b32 v24, v4 offset:18848 // 0000000064B0: D8D849A0 18000004 s_mov_b64 exec, s[82:83] // 0000000064B8: BEFE0452 s_waitcnt lgkmcnt(0) // 0000000064BC: BF8C007F ds_write_b32 v4, v24 offset:16796 // 0000000064C0: D834419C 00001804 label_1932: s_waitcnt lgkmcnt(0) // 0000000064C8: BF8C007F s_barrier // 0000000064CC: BF8A0000 s_and_b64 exec, s[44:45], s[46:47] // wrscc // 0000000064D0: 87FE2E2C s_cbranch_execz label_1944 // 0000000064D4: BF88000E s_and_saveexec_b64 s[82:83], s[72:73] // wrscc // 0000000064D8: BED22448 v_add_i32 v24, vcc, 0x0000415c, v4 // 0000000064DC: 4A3008FF 0000415C ds_read2_b32 v[24:25], v24 offset0:16 // 0000000064E4: D8DC0010 18000018 s_waitcnt lgkmcnt(0) // 0000000064EC: BF8C007F v_add_i32 v24, vcc, v24, v25 // 0000000064F0: 4A303318 s_andn2_b64 exec, s[82:83], exec // wrscc // 0000000064F4: 8AFE7E52 ds_read_b32 v24, v4 offset:16796 // 0000000064F8: D8D8419C 18000004 s_mov_b64 exec, s[82:83] // 000000006500: BEFE0452 s_waitcnt lgkmcnt(0) // 000000006504: BF8C007F ds_write_b32 v4, v24 offset:18848 // 000000006508: D83449A0 00001804 label_1944: s_waitcnt lgkmcnt(0) // 000000006510: BF8C007F s_barrier // 000000006514: BF8A0000 s_and_b64 exec, s[44:45], s[46:47] // wrscc // 000000006518: 87FE2E2C s_cbranch_execz label_1956 // 00000000651C: BF88000E s_and_saveexec_b64 s[82:83], s[74:75] // wrscc // 000000006520: BED2244A v_add_i32 v24, vcc, 0x00004920, v4 // 000000006524: 4A3008FF 00004920 ds_read2_b32 v[24:25], v24 offset0:32 // 00000000652C: D8DC0020 18000018 s_waitcnt lgkmcnt(0) // 000000006534: BF8C007F v_add_i32 v24, vcc, v24, v25 // 000000006538: 4A303318 s_andn2_b64 exec, s[82:83], exec // wrscc // 00000000653C: 8AFE7E52 ds_read_b32 v24, v4 offset:18848 // 000000006540: D8D849A0 18000004 s_mov_b64 exec, s[82:83] // 000000006548: BEFE0452 s_waitcnt lgkmcnt(0) // 00000000654C: BF8C007F ds_write_b32 v4, v24 offset:16796 // 000000006550: D834419C 00001804 label_1956: s_waitcnt lgkmcnt(0) // 000000006558: BF8C007F s_barrier // 00000000655C: BF8A0000 s_and_b64 exec, s[44:45], s[46:47] // wrscc // 000000006560: 87FE2E2C s_cbranch_execz label_1968 // 000000006564: BF88000E s_and_saveexec_b64 s[82:83], s[76:77] // wrscc // 000000006568: BED2244C v_add_i32 v24, vcc, 0x0000409c, v4 // 00000000656C: 4A3008FF 0000409C ds_read2_b32 v[24:25], v24 offset0:64 // 000000006574: D8DC0040 18000018 s_waitcnt lgkmcnt(0) // 00000000657C: BF8C007F v_add_i32 v24, vcc, v24, v25 // 000000006580: 4A303318 s_andn2_b64 exec, s[82:83], exec // wrscc // 000000006584: 8AFE7E52 ds_read_b32 v24, v4 offset:16796 // 000000006588: D8D8419C 18000004 s_mov_b64 exec, s[82:83] // 000000006590: BEFE0452 s_waitcnt lgkmcnt(0) // 000000006594: BF8C007F ds_write_b32 v4, v24 offset:18848 // 000000006598: D83449A0 00001804 label_1968: s_waitcnt lgkmcnt(0) // 0000000065A0: BF8C007F s_barrier // 0000000065A4: BF8A0000 s_and_b64 exec, s[44:45], s[46:47] // wrscc // 0000000065A8: 87FE2E2C s_cbranch_execz label_197A // 0000000065AC: BF88000E s_and_saveexec_b64 s[82:83], s[78:79] // wrscc // 0000000065B0: BED2244E v_add_i32 v24, vcc, 0x000047a0, v4 // 0000000065B4: 4A3008FF 000047A0 ds_read2_b32 v[24:25], v24 offset0:128 // 0000000065BC: D8DC0080 18000018 s_waitcnt lgkmcnt(0) // 0000000065C4: BF8C007F v_add_i32 v24, vcc, v24, v25 // 0000000065C8: 4A303318 s_andn2_b64 exec, s[82:83], exec // wrscc // 0000000065CC: 8AFE7E52 ds_read_b32 v24, v4 offset:18848 // 0000000065D0: D8D849A0 18000004 s_mov_b64 exec, s[82:83] // 0000000065D8: BEFE0452 s_waitcnt lgkmcnt(0) // 0000000065DC: BF8C007F ds_write_b32 v4, v24 offset:16796 // 0000000065E0: D834419C 00001804 label_197A: s_waitcnt lgkmcnt(0) // 0000000065E8: BF8C007F s_barrier // 0000000065EC: BF8A0000 s_and_b64 exec, s[44:45], s[46:47] // wrscc // 0000000065F0: 87FE2E2C s_cbranch_execz label_198C // 0000000065F4: BF88000E s_and_saveexec_b64 s[82:83], s[80:81] // wrscc // 0000000065F8: BED22450 v_add_i32 v24, vcc, 0x00003d9c, v4 // 0000000065FC: 4A3008FF 00003D9C ds_read2st64_b32 v[24:25], v24 offset0:4 // 000000006604: D8E00004 18000018 s_waitcnt lgkmcnt(0) // 00000000660C: BF8C007F v_add_i32 v24, vcc, v24, v25 // 000000006610: 4A303318 s_andn2_b64 exec, s[82:83], exec // wrscc // 000000006614: 8AFE7E52 ds_read_b32 v24, v4 offset:16796 // 000000006618: D8D8419C 18000004 s_mov_b64 exec, s[82:83] // 000000006620: BEFE0452 s_waitcnt lgkmcnt(0) // 000000006624: BF8C007F ds_write_b32 v4, v24 offset:18848 // 000000006628: D83449A0 00001804 label_198C: s_mov_b64 exec, s[44:45] // 000000006630: BEFE042C s_waitcnt lgkmcnt(0) // 000000006634: BF8C007F s_barrier // 000000006638: BF8A0000 s_mov_b64 s[44:45], exec // 00000000663C: BEAC047E v_mov_b32 v24, 0 // 000000006640: 7E300280 v_mov_b32 v25, v23 // 000000006644: 7E320317 label_1992: v_cmp_ge_u32 vcc, v24, v11 // 000000006648: 7D8C1718 s_andn2_b64 exec, exec, vcc // wrscc // 00000000664C: 8AFE6A7E s_cbranch_execz label_1AB5 // 000000006650: BF880120 v_add_i32 v32, vcc, v20, v25 // 000000006654: 4A403314 s_load_dwordx4 s[84:87], s[0:1], 0x58 // 000000006658: C0AA0158 s_waitcnt lgkmcnt(0) // 00000000665C: BF8C007F buffer_load_dword v32, v32, s[84:87], 0 idxen // 000000006660: E0302000 80152020 v_cmp_gt_u32 s[82:83], v22, v25 // 000000006668: D1880052 00023316 s_waitcnt vmcnt(0) // 000000006670: BF8C0F70 v_cndmask_b32 v32, -1, v32, s[82:83] // 000000006674: D2000020 014A40C1 v_bfe_u32 v33, v32, 20, 1 // 00000000667C: D2900021 02052920 v_lshrrev_b32 v34, 20, v32 // 000000006684: 2C444094 v_and_b32 v35, 2, v34 // 000000006688: 36464482 v_cmp_ne_i32 vcc, 0, v33 // 00000000668C: 7D0A4280 v_and_b32 v36, 4, v34 // 000000006690: 36484484 v_cndmask_b32 v37, 0, -1, vcc // 000000006694: D2000025 01A98280 v_cmp_ne_i32 vcc, 0, v35 // 00000000669C: 7D0A4680 v_and_b32 v34, 8, v34 // 0000000066A0: 36444488 v_bfm_b32 v38, 1, v8 // 0000000066A4: 3C4C1081 v_lshl_b32 v37, v37, v8 // 0000000066A8: 324A1125 v_cndmask_b32 v39, 0, -1, vcc // 0000000066AC: D2000027 01A98280 v_cmp_ne_i32 vcc, 0, v36 // 0000000066B4: 7D0A4880 v_bfi_b32 v37, v38, v37, 0 // 0000000066B8: D2940025 02024B26 v_lshl_b32 v39, v39, v8 // 0000000066C0: 324E1127 v_cndmask_b32 v40, 0, -1, vcc // 0000000066C4: D2000028 01A98280 v_cmp_ne_i32 vcc, 0, v34 // 0000000066CC: 7D0A4480 v_bfi_b32 v39, v38, v39, 0 // 0000000066D0: D2940027 02024F26 v_lshl_b32 v40, v40, v8 // 0000000066D8: 32501128 v_cndmask_b32 v41, 0, -1, vcc // 0000000066DC: D2000029 01A98280 ds_write_b32 v4, v37 offset:408 // 0000000066E4: D8340198 00002504 v_bfi_b32 v37, v38, v40, 0 // 0000000066EC: D2940025 02025126 v_lshl_b32 v40, v41, v8 // 0000000066F4: 32501129 ds_write_b32 v29, v39 offset:408 // 0000000066F8: D8340198 0000271D v_bfi_b32 v38, v38, v40, 0 // 000000006700: D2940026 02025126 ds_write_b32 v28, v37 offset:408 // 000000006708: D8340198 0000251C ds_write_b32 v27, v38 offset:408 // 000000006710: D8340198 0000261B s_waitcnt lgkmcnt(0) // 000000006718: BF8C007F s_barrier // 00000000671C: BF8A0000 s_and_saveexec_b64 s[84:85], s[48:49] // wrscc // 000000006720: BED42430 s_cbranch_execz label_19E7 // 000000006724: BF88001D ds_read2_b32 v[37:38], v4 offset0:102 offset1:118 // 000000006728: D8DC7666 25000004 ds_read_b32 v39, v29 offset:408 // 000000006730: D8D80198 2700001D ds_read_b32 v40, v28 offset:408 // 000000006738: D8D80198 2800001C ds_read_b32 v41, v27 offset:408 // 000000006740: D8D80198 2900001B v_add_i32 v42, vcc, 0x000011d8, v4 // 000000006748: 4A5408FF 000011D8 ds_read2st64_b32 v[42:43], v42 offset1:16 // 000000006750: D8E01000 2A00002A ds_read_b32 v44, v4 offset:12760 // 000000006758: D8D831D8 2C000004 s_waitcnt lgkmcnt(5) // 000000006760: BF8C057F v_or_b32 v37, v37, v38 // 000000006764: 384A4D25 s_waitcnt lgkmcnt(1) // 000000006768: BF8C017F v_or_b32 v38, v39, v42 // 00000000676C: 384C5527 v_or_b32 v39, v40, v43 // 000000006770: 384E5728 s_waitcnt lgkmcnt(0) // 000000006774: BF8C007F v_or_b32 v40, v41, v44 // 000000006778: 38505929 ds_write_b32 v4, v37 offset:408 // 00000000677C: D8340198 00002504 ds_write_b32 v29, v38 offset:408 // 000000006784: D8340198 0000261D ds_write_b32 v28, v39 offset:408 // 00000000678C: D8340198 0000271C ds_write_b32 v27, v40 offset:408 // 000000006794: D8340198 0000281B label_19E7: s_waitcnt lgkmcnt(0) // 00000000679C: BF8C007F s_barrier // 0000000067A0: BF8A0000 s_and_b64 exec, s[84:85], s[50:51] // wrscc // 0000000067A4: 87FE3254 s_cbranch_execz label_1A08 // 0000000067A8: BF88001D ds_read2_b32 v[37:38], v4 offset0:102 offset1:110 // 0000000067AC: D8DC6E66 25000004 ds_read_b32 v39, v29 offset:408 // 0000000067B4: D8D80198 2700001D ds_read_b32 v40, v28 offset:408 // 0000000067BC: D8D80198 2800001C ds_read_b32 v41, v27 offset:408 // 0000000067C4: D8D80198 2900001B v_add_i32 v42, vcc, 0x000011b8, v4 // 0000000067CC: 4A5408FF 000011B8 ds_read2st64_b32 v[42:43], v42 offset1:16 // 0000000067D4: D8E01000 2A00002A ds_read_b32 v44, v4 offset:12728 // 0000000067DC: D8D831B8 2C000004 s_waitcnt lgkmcnt(5) // 0000000067E4: BF8C057F v_or_b32 v37, v37, v38 // 0000000067E8: 384A4D25 s_waitcnt lgkmcnt(1) // 0000000067EC: BF8C017F v_or_b32 v38, v39, v42 // 0000000067F0: 384C5527 v_or_b32 v39, v40, v43 // 0000000067F4: 384E5728 s_waitcnt lgkmcnt(0) // 0000000067F8: BF8C007F v_or_b32 v40, v41, v44 // 0000000067FC: 38505929 ds_write_b32 v4, v37 offset:408 // 000000006800: D8340198 00002504 ds_write_b32 v29, v38 offset:408 // 000000006808: D8340198 0000261D ds_write_b32 v28, v39 offset:408 // 000000006810: D8340198 0000271C ds_write_b32 v27, v40 offset:408 // 000000006818: D8340198 0000281B label_1A08: s_waitcnt lgkmcnt(0) // 000000006820: BF8C007F s_barrier // 000000006824: BF8A0000 s_and_b64 exec, s[84:85], s[52:53] // wrscc // 000000006828: 87FE3454 s_cbranch_execz label_1A29 // 00000000682C: BF88001D ds_read2_b32 v[37:38], v4 offset0:102 offset1:106 // 000000006830: D8DC6A66 25000004 ds_read_b32 v39, v29 offset:408 // 000000006838: D8D80198 2700001D ds_read_b32 v40, v28 offset:408 // 000000006840: D8D80198 2800001C ds_read_b32 v41, v27 offset:408 // 000000006848: D8D80198 2900001B v_add_i32 v42, vcc, 0x000011a8, v4 // 000000006850: 4A5408FF 000011A8 ds_read2st64_b32 v[42:43], v42 offset1:16 // 000000006858: D8E01000 2A00002A ds_read_b32 v44, v4 offset:12712 // 000000006860: D8D831A8 2C000004 s_waitcnt lgkmcnt(5) // 000000006868: BF8C057F v_or_b32 v37, v37, v38 // 00000000686C: 384A4D25 s_waitcnt lgkmcnt(1) // 000000006870: BF8C017F v_or_b32 v38, v39, v42 // 000000006874: 384C5527 v_or_b32 v39, v40, v43 // 000000006878: 384E5728 s_waitcnt lgkmcnt(0) // 00000000687C: BF8C007F v_or_b32 v40, v41, v44 // 000000006880: 38505929 ds_write_b32 v4, v37 offset:408 // 000000006884: D8340198 00002504 ds_write_b32 v29, v38 offset:408 // 00000000688C: D8340198 0000261D ds_write_b32 v28, v39 offset:408 // 000000006894: D8340198 0000271C ds_write_b32 v27, v40 offset:408 // 00000000689C: D8340198 0000281B label_1A29: s_waitcnt lgkmcnt(0) // 0000000068A4: BF8C007F s_barrier // 0000000068A8: BF8A0000 s_and_b64 exec, s[84:85], s[54:55] // wrscc // 0000000068AC: 87FE3654 s_cbranch_execz label_1A4A // 0000000068B0: BF88001D ds_read2_b32 v[37:38], v4 offset0:102 offset1:104 // 0000000068B4: D8DC6866 25000004 ds_read_b32 v39, v29 offset:408 // 0000000068BC: D8D80198 2700001D ds_read_b32 v40, v28 offset:408 // 0000000068C4: D8D80198 2800001C ds_read_b32 v41, v27 offset:408 // 0000000068CC: D8D80198 2900001B v_add_i32 v42, vcc, 0x000011a0, v4 // 0000000068D4: 4A5408FF 000011A0 ds_read2st64_b32 v[42:43], v42 offset1:16 // 0000000068DC: D8E01000 2A00002A ds_read_b32 v44, v4 offset:12704 // 0000000068E4: D8D831A0 2C000004 s_waitcnt lgkmcnt(5) // 0000000068EC: BF8C057F v_or_b32 v37, v37, v38 // 0000000068F0: 384A4D25 s_waitcnt lgkmcnt(1) // 0000000068F4: BF8C017F v_or_b32 v38, v39, v42 // 0000000068F8: 384C5527 v_or_b32 v39, v40, v43 // 0000000068FC: 384E5728 s_waitcnt lgkmcnt(0) // 000000006900: BF8C007F v_or_b32 v40, v41, v44 // 000000006904: 38505929 ds_write_b32 v4, v37 offset:408 // 000000006908: D8340198 00002504 ds_write_b32 v29, v38 offset:408 // 000000006910: D8340198 0000261D ds_write_b32 v28, v39 offset:408 // 000000006918: D8340198 0000271C ds_write_b32 v27, v40 offset:408 // 000000006920: D8340198 0000281B label_1A4A: s_waitcnt lgkmcnt(0) // 000000006928: BF8C007F s_barrier // 00000000692C: BF8A0000 s_and_b64 exec, s[84:85], s[56:57] // wrscc // 000000006930: 87FE3854 s_cbranch_execz label_1A6B // 000000006934: BF88001D ds_read2_b32 v[37:38], v4 offset0:102 offset1:103 // 000000006938: D8DC6766 25000004 ds_read_b32 v39, v29 offset:408 // 000000006940: D8D80198 2700001D ds_read_b32 v40, v28 offset:408 // 000000006948: D8D80198 2800001C ds_read_b32 v41, v27 offset:408 // 000000006950: D8D80198 2900001B v_add_i32 v42, vcc, 0x0000119c, v4 // 000000006958: 4A5408FF 0000119C ds_read2st64_b32 v[42:43], v42 offset1:16 // 000000006960: D8E01000 2A00002A ds_read_b32 v44, v4 offset:12700 // 000000006968: D8D8319C 2C000004 s_waitcnt lgkmcnt(5) // 000000006970: BF8C057F v_or_b32 v37, v37, v38 // 000000006974: 384A4D25 s_waitcnt lgkmcnt(1) // 000000006978: BF8C017F v_or_b32 v38, v39, v42 // 00000000697C: 384C5527 v_or_b32 v39, v40, v43 // 000000006980: 384E5728 s_waitcnt lgkmcnt(0) // 000000006984: BF8C007F v_or_b32 v40, v41, v44 // 000000006988: 38505929 ds_write_b32 v4, v37 offset:408 // 00000000698C: D8340198 00002504 ds_write_b32 v29, v38 offset:408 // 000000006994: D8340198 0000261D ds_write_b32 v28, v39 offset:408 // 00000000699C: D8340198 0000271C ds_write_b32 v27, v40 offset:408 // 0000000069A4: D8340198 0000281B label_1A6B: s_mov_b64 exec, s[84:85] // 0000000069AC: BEFE0454 s_waitcnt lgkmcnt(0) // 0000000069B0: BF8C007F s_barrier // 0000000069B4: BF8A0000 v_add_i32 v37, vcc, 0x00000198, v31 // 0000000069B8: 4A4A3EFF 00000198 ds_read2st64_b32 v[38:39], v37 offset1:16 // 0000000069C0: D8E01000 26000025 ds_read2st64_b32 v[40:41], v37 offset0:32 offset1:48 // 0000000069C8: D8E03020 28000025 v_lshrrev_b32 v37, 15, v32 // 0000000069D0: 2C4A408F s_movk_i32 s3, 0x01e0 // 0000000069D4: B00301E0 v_bfi_b32 v37, s3, v37, 0 // 0000000069D8: D2940025 02024A03 v_add_i32 v37, vcc, v5, v37 // 0000000069E0: 4A4A4B05 v_lshlrev_b32 v37, 2, v37 // 0000000069E4: 344A4A82 ds_read_b32 v37, v37 offset:18844 // 0000000069E8: D8D8499C 25000025 s_and_saveexec_b64 s[82:83], s[82:83] // wrscc // 0000000069F0: BED22452 v_add_i32 v33, vcc, -1, v33 // 0000000069F4: 4A4242C1 s_cbranch_execz label_1A9A // 0000000069F8: BF88001B s_waitcnt lgkmcnt(2) // 0000000069FC: BF8C027F v_xor_b32 v33, v38, v33 // 000000006A00: 3A424326 v_cmp_eq_i32 vcc, 0, v35 // 000000006A04: 7D044680 v_cndmask_b32 v35, 0, -1, vcc // 000000006A08: D2000023 01A98280 v_xor_b32 v35, v39, v35 // 000000006A10: 3A464727 v_and_b32 v33, v33, v35 // 000000006A14: 36424721 v_cmp_eq_i32 vcc, 0, v36 // 000000006A18: 7D044880 v_cndmask_b32 v35, 0, -1, vcc // 000000006A1C: D2000023 01A98280 s_waitcnt lgkmcnt(1) // 000000006A24: BF8C017F v_xor_b32 v35, v40, v35 // 000000006A28: 3A464728 v_and_b32 v33, v33, v35 // 000000006A2C: 36424721 v_cmp_eq_i32 vcc, 0, v34 // 000000006A30: 7D044480 v_cndmask_b32 v34, 0, -1, vcc // 000000006A34: D2000022 01A98280 v_xor_b32 v34, v41, v34 // 000000006A3C: 3A444529 v_and_b32 v33, v33, v34 // 000000006A40: 36424521 v_bfe_u32 v33, v33, 0, v8 // 000000006A44: D2900021 04210121 s_waitcnt lgkmcnt(0) // 000000006A4C: BF8C007F v_bcnt_u32_b32 v33, v33, v37 // 000000006A50: 44424B21 v_add_i32 v33, vcc, v12, v33 // 000000006A54: 4A42430C s_load_dwordx4 s[84:87], s[0:1], 0x58 // 000000006A58: C0AA0158 s_waitcnt lgkmcnt(0) // 000000006A5C: BF8C007F buffer_store_dword v32, v33, s[84:87], 0 idxen // 000000006A60: E0702000 80152021 label_1A9A: s_waitcnt vmcnt(0) & lgkmcnt(0) // 000000006A68: BF8C0070 s_barrier // 000000006A6C: BF8A0000 s_and_b64 exec, s[82:83], s[48:49] // wrscc // 000000006A70: 87FE3052 s_cbranch_execz label_1AB1 // 000000006A74: BF880013 ds_read_b32 v32, v26 offset:18844 // 000000006A78: D8D8499C 2000001A v_xor_b32 v33, v30, v38 // 000000006A80: 3A424D1E v_cndmask_b32 v34, 0, -1, s[58:59] // 000000006A84: D2000022 00E98280 v_xor_b32 v34, v34, v39 // 000000006A8C: 3A444F22 v_and_b32 v33, v33, v34 // 000000006A90: 36424521 v_cndmask_b32 v34, 0, -1, s[60:61] // 000000006A94: D2000022 00F18280 v_xor_b32 v34, v34, v40 // 000000006A9C: 3A445122 v_and_b32 v33, v33, v34 // 000000006AA0: 36424521 v_cndmask_b32 v34, 0, -1, s[62:63] // 000000006AA4: D2000022 00F98280 v_xor_b32 v34, v34, v41 // 000000006AAC: 3A445322 v_and_b32 v33, v33, v34 // 000000006AB0: 36424521 s_waitcnt lgkmcnt(0) // 000000006AB4: BF8C007F v_bcnt_u32_b32 v32, v33, v32 // 000000006AB8: 44404121 ds_write_b32 v26, v32 offset:18844 // 000000006ABC: D834499C 0000201A label_1AB1: s_mov_b64 exec, s[82:83] // 000000006AC4: BEFE0452 v_add_i32 v24, vcc, 1, v24 // 000000006AC8: 4A303081 v_add_i32 v25, vcc, 32, v25 // 000000006ACC: 4A3232A0 s_branch label_1992 // 000000006AD0: BF82FEDD label_1AB5: s_mov_b64 exec, s[44:45] // 000000006AD4: BEFE042C v_cmp_ne_u32 vcc, 0, v21 // 000000006AD8: 7D8A2A80 s_and_saveexec_b64 s[44:45], vcc // wrscc // 000000006ADC: BEAC246A v_add_i32 v24, vcc, v20, v25 // 000000006AE0: 4A303314 s_cbranch_execz label_1BF4 // 000000006AE4: BF88013A s_load_dwordx4 s[84:87], s[0:1], 0x58 // 000000006AE8: C0AA0158 s_waitcnt lgkmcnt(0) // 000000006AEC: BF8C007F buffer_load_dword v24, v24, s[84:87], 0 idxen // 000000006AF0: E0302000 80151818 v_cmp_gt_u32 s[82:83], v22, v25 // 000000006AF8: D1880052 00023316 s_waitcnt vmcnt(0) // 000000006B00: BF8C0F70 v_cndmask_b32 v24, -1, v24, s[82:83] // 000000006B04: D2000018 014A30C1 v_lshrrev_b32 v25, 20, v24 // 000000006B0C: 2C323094 s_and_saveexec_b64 s[84:85], s[42:43] // wrscc // 000000006B10: BED4242A v_bfm_b32 v32, 1, v8 // 000000006B14: 3C401081 s_cbranch_execz label_1AEC // 000000006B18: BF880025 v_bfe_u32 v33, v24, 20, 1 // 000000006B1C: D2900021 02052918 v_cmp_ne_i32 vcc, 0, v33 // 000000006B24: 7D0A4280 v_cndmask_b32 v33, 0, -1, vcc // 000000006B28: D2000021 01A98280 v_lshl_b32 v33, v33, v8 // 000000006B30: 32421121 v_bfi_b32 v33, v32, v33, 0 // 000000006B34: D2940021 02024320 v_and_b32 v34, 2, v25 // 000000006B3C: 36443282 v_cmp_ne_i32 vcc, 0, v34 // 000000006B40: 7D0A4480 v_cndmask_b32 v34, 0, -1, vcc // 000000006B44: D2000022 01A98280 v_lshl_b32 v34, v34, v8 // 000000006B4C: 32441122 v_bfi_b32 v34, v32, v34, 0 // 000000006B50: D2940022 02024520 v_and_b32 v35, 4, v25 // 000000006B58: 36463284 v_cmp_ne_i32 vcc, 0, v35 // 000000006B5C: 7D0A4680 v_cndmask_b32 v35, 0, -1, vcc // 000000006B60: D2000023 01A98280 v_lshl_b32 v35, v35, v8 // 000000006B68: 32461123 v_bfi_b32 v35, v32, v35, 0 // 000000006B6C: D2940023 02024720 v_and_b32 v36, 8, v25 // 000000006B74: 36483288 v_cmp_ne_i32 vcc, 0, v36 // 000000006B78: 7D0A4880 v_cndmask_b32 v36, 0, -1, vcc // 000000006B7C: D2000024 01A98280 v_lshl_b32 v36, v36, v8 // 000000006B84: 32481124 v_bfi_b32 v32, v32, v36, 0 // 000000006B88: D2940020 02024920 ds_write_b32 v4, v33 offset:408 // 000000006B90: D8340198 00002104 ds_write_b32 v29, v34 offset:408 // 000000006B98: D8340198 0000221D ds_write_b32 v28, v35 offset:408 // 000000006BA0: D8340198 0000231C ds_write_b32 v27, v32 offset:408 // 000000006BA8: D8340198 0000201B label_1AEC: s_waitcnt lgkmcnt(0) // 000000006BB0: BF8C007F s_barrier // 000000006BB4: BF8A0000 s_and_b64 exec, s[84:85], s[42:43] // wrscc // 000000006BB8: 87FE2A54 s_cbranch_execz label_1B0F // 000000006BBC: BF88001F s_and_saveexec_b64 s[86:87], s[48:49] // wrscc // 000000006BC0: BED62430 s_cbranch_execz label_1B0F // 000000006BC4: BF88001D ds_read2_b32 v[32:33], v4 offset0:102 offset1:118 // 000000006BC8: D8DC7666 20000004 ds_read_b32 v34, v29 offset:408 // 000000006BD0: D8D80198 2200001D ds_read_b32 v35, v28 offset:408 // 000000006BD8: D8D80198 2300001C ds_read_b32 v36, v27 offset:408 // 000000006BE0: D8D80198 2400001B v_add_i32 v37, vcc, 0x000011d8, v4 // 000000006BE8: 4A4A08FF 000011D8 ds_read2st64_b32 v[37:38], v37 offset1:16 // 000000006BF0: D8E01000 25000025 ds_read_b32 v39, v4 offset:12760 // 000000006BF8: D8D831D8 27000004 s_waitcnt lgkmcnt(5) // 000000006C00: BF8C057F v_or_b32 v32, v32, v33 // 000000006C04: 38404320 s_waitcnt lgkmcnt(1) // 000000006C08: BF8C017F v_or_b32 v33, v34, v37 // 000000006C0C: 38424B22 v_or_b32 v34, v35, v38 // 000000006C10: 38444D23 s_waitcnt lgkmcnt(0) // 000000006C14: BF8C007F v_or_b32 v35, v36, v39 // 000000006C18: 38464F24 ds_write_b32 v4, v32 offset:408 // 000000006C1C: D8340198 00002004 ds_write_b32 v29, v33 offset:408 // 000000006C24: D8340198 0000211D ds_write_b32 v28, v34 offset:408 // 000000006C2C: D8340198 0000221C ds_write_b32 v27, v35 offset:408 // 000000006C34: D8340198 0000231B label_1B0F: s_waitcnt lgkmcnt(0) // 000000006C3C: BF8C007F s_barrier // 000000006C40: BF8A0000 s_and_b64 exec, s[84:85], s[42:43] // wrscc // 000000006C44: 87FE2A54 s_cbranch_execz label_1B32 // 000000006C48: BF88001F s_and_saveexec_b64 s[86:87], s[50:51] // wrscc // 000000006C4C: BED62432 s_cbranch_execz label_1B32 // 000000006C50: BF88001D ds_read2_b32 v[32:33], v4 offset0:102 offset1:110 // 000000006C54: D8DC6E66 20000004 ds_read_b32 v34, v29 offset:408 // 000000006C5C: D8D80198 2200001D ds_read_b32 v35, v28 offset:408 // 000000006C64: D8D80198 2300001C ds_read_b32 v36, v27 offset:408 // 000000006C6C: D8D80198 2400001B v_add_i32 v37, vcc, 0x000011b8, v4 // 000000006C74: 4A4A08FF 000011B8 ds_read2st64_b32 v[37:38], v37 offset1:16 // 000000006C7C: D8E01000 25000025 ds_read_b32 v39, v4 offset:12728 // 000000006C84: D8D831B8 27000004 s_waitcnt lgkmcnt(5) // 000000006C8C: BF8C057F v_or_b32 v32, v32, v33 // 000000006C90: 38404320 s_waitcnt lgkmcnt(1) // 000000006C94: BF8C017F v_or_b32 v33, v34, v37 // 000000006C98: 38424B22 v_or_b32 v34, v35, v38 // 000000006C9C: 38444D23 s_waitcnt lgkmcnt(0) // 000000006CA0: BF8C007F v_or_b32 v35, v36, v39 // 000000006CA4: 38464F24 ds_write_b32 v4, v32 offset:408 // 000000006CA8: D8340198 00002004 ds_write_b32 v29, v33 offset:408 // 000000006CB0: D8340198 0000211D ds_write_b32 v28, v34 offset:408 // 000000006CB8: D8340198 0000221C ds_write_b32 v27, v35 offset:408 // 000000006CC0: D8340198 0000231B label_1B32: s_waitcnt lgkmcnt(0) // 000000006CC8: BF8C007F s_barrier // 000000006CCC: BF8A0000 s_and_b64 exec, s[84:85], s[42:43] // wrscc // 000000006CD0: 87FE2A54 s_cbranch_execz label_1B55 // 000000006CD4: BF88001F s_and_saveexec_b64 s[86:87], s[52:53] // wrscc // 000000006CD8: BED62434 s_cbranch_execz label_1B55 // 000000006CDC: BF88001D ds_read2_b32 v[32:33], v4 offset0:102 offset1:106 // 000000006CE0: D8DC6A66 20000004 ds_read_b32 v34, v29 offset:408 // 000000006CE8: D8D80198 2200001D ds_read_b32 v35, v28 offset:408 // 000000006CF0: D8D80198 2300001C ds_read_b32 v36, v27 offset:408 // 000000006CF8: D8D80198 2400001B v_add_i32 v37, vcc, 0x000011a8, v4 // 000000006D00: 4A4A08FF 000011A8 ds_read2st64_b32 v[37:38], v37 offset1:16 // 000000006D08: D8E01000 25000025 ds_read_b32 v39, v4 offset:12712 // 000000006D10: D8D831A8 27000004 s_waitcnt lgkmcnt(5) // 000000006D18: BF8C057F v_or_b32 v32, v32, v33 // 000000006D1C: 38404320 s_waitcnt lgkmcnt(1) // 000000006D20: BF8C017F v_or_b32 v33, v34, v37 // 000000006D24: 38424B22 v_or_b32 v34, v35, v38 // 000000006D28: 38444D23 s_waitcnt lgkmcnt(0) // 000000006D2C: BF8C007F v_or_b32 v35, v36, v39 // 000000006D30: 38464F24 ds_write_b32 v4, v32 offset:408 // 000000006D34: D8340198 00002004 ds_write_b32 v29, v33 offset:408 // 000000006D3C: D8340198 0000211D ds_write_b32 v28, v34 offset:408 // 000000006D44: D8340198 0000221C ds_write_b32 v27, v35 offset:408 // 000000006D4C: D8340198 0000231B label_1B55: s_waitcnt lgkmcnt(0) // 000000006D54: BF8C007F s_barrier // 000000006D58: BF8A0000 s_and_b64 exec, s[84:85], s[42:43] // wrscc // 000000006D5C: 87FE2A54 s_cbranch_execz label_1B78 // 000000006D60: BF88001F s_and_saveexec_b64 s[86:87], s[54:55] // wrscc // 000000006D64: BED62436 s_cbranch_execz label_1B78 // 000000006D68: BF88001D ds_read2_b32 v[32:33], v4 offset0:102 offset1:104 // 000000006D6C: D8DC6866 20000004 ds_read_b32 v34, v29 offset:408 // 000000006D74: D8D80198 2200001D ds_read_b32 v35, v28 offset:408 // 000000006D7C: D8D80198 2300001C ds_read_b32 v36, v27 offset:408 // 000000006D84: D8D80198 2400001B v_add_i32 v37, vcc, 0x000011a0, v4 // 000000006D8C: 4A4A08FF 000011A0 ds_read2st64_b32 v[37:38], v37 offset1:16 // 000000006D94: D8E01000 25000025 ds_read_b32 v39, v4 offset:12704 // 000000006D9C: D8D831A0 27000004 s_waitcnt lgkmcnt(5) // 000000006DA4: BF8C057F v_or_b32 v32, v32, v33 // 000000006DA8: 38404320 s_waitcnt lgkmcnt(1) // 000000006DAC: BF8C017F v_or_b32 v33, v34, v37 // 000000006DB0: 38424B22 v_or_b32 v34, v35, v38 // 000000006DB4: 38444D23 s_waitcnt lgkmcnt(0) // 000000006DB8: BF8C007F v_or_b32 v35, v36, v39 // 000000006DBC: 38464F24 ds_write_b32 v4, v32 offset:408 // 000000006DC0: D8340198 00002004 ds_write_b32 v29, v33 offset:408 // 000000006DC8: D8340198 0000211D ds_write_b32 v28, v34 offset:408 // 000000006DD0: D8340198 0000221C ds_write_b32 v27, v35 offset:408 // 000000006DD8: D8340198 0000231B label_1B78: s_waitcnt lgkmcnt(0) // 000000006DE0: BF8C007F s_barrier // 000000006DE4: BF8A0000 s_and_b64 exec, s[84:85], s[42:43] // wrscc // 000000006DE8: 87FE2A54 s_cbranch_execz label_1B9B // 000000006DEC: BF88001F s_and_saveexec_b64 s[86:87], s[56:57] // wrscc // 000000006DF0: BED62438 s_cbranch_execz label_1B9B // 000000006DF4: BF88001D ds_read2_b32 v[32:33], v4 offset0:102 offset1:103 // 000000006DF8: D8DC6766 20000004 ds_read_b32 v34, v29 offset:408 // 000000006E00: D8D80198 2200001D ds_read_b32 v35, v28 offset:408 // 000000006E08: D8D80198 2300001C ds_read_b32 v36, v27 offset:408 // 000000006E10: D8D80198 2400001B v_add_i32 v37, vcc, 0x0000119c, v4 // 000000006E18: 4A4A08FF 0000119C ds_read2st64_b32 v[37:38], v37 offset1:16 // 000000006E20: D8E01000 25000025 ds_read_b32 v39, v4 offset:12700 // 000000006E28: D8D8319C 27000004 s_waitcnt lgkmcnt(5) // 000000006E30: BF8C057F v_or_b32 v32, v32, v33 // 000000006E34: 38404320 s_waitcnt lgkmcnt(1) // 000000006E38: BF8C017F v_or_b32 v33, v34, v37 // 000000006E3C: 38424B22 v_or_b32 v34, v35, v38 // 000000006E40: 38444D23 s_waitcnt lgkmcnt(0) // 000000006E44: BF8C007F v_or_b32 v35, v36, v39 // 000000006E48: 38464F24 ds_write_b32 v4, v32 offset:408 // 000000006E4C: D8340198 00002004 ds_write_b32 v29, v33 offset:408 // 000000006E54: D8340198 0000211D ds_write_b32 v28, v34 offset:408 // 000000006E5C: D8340198 0000221C ds_write_b32 v27, v35 offset:408 // 000000006E64: D8340198 0000231B label_1B9B: s_waitcnt lgkmcnt(0) // 000000006E6C: BF8C007F s_barrier // 000000006E70: BF8A0000 s_and_b64 exec, s[84:85], s[42:43] // wrscc // 000000006E74: 87FE2A54 v_add_i32 v32, vcc, 0x00000198, v31 // 000000006E78: 4A403EFF 00000198 s_cbranch_execz label_1BCE // 000000006E80: BF88002D ds_read2st64_b32 v[33:34], v32 offset1:16 // 000000006E84: D8E01000 21000020 ds_read2st64_b32 v[35:36], v32 offset0:32 offset1:48 // 000000006E8C: D8E03020 23000020 v_lshrrev_b32 v32, 15, v24 // 000000006E94: 2C40308F s_movk_i32 s3, 0x01e0 // 000000006E98: B00301E0 v_and_b32 v37, 2, v25 // 000000006E9C: 364A3282 v_bfi_b32 v32, s3, v32, 0 // 000000006EA0: D2940020 02024003 v_bfe_u32 v38, v24, 20, 1 // 000000006EA8: D2900026 02052918 v_cmp_eq_i32 s[86:87], v37, 0 // 000000006EB0: D1040056 00010125 v_and_b32 v37, 4, v25 // 000000006EB8: 364A3284 v_add_i32 v32, vcc, v5, v32 // 000000006EBC: 4A404105 v_add_i32 v38, vcc, -1, v38 // 000000006EC0: 4A4C4CC1 v_cndmask_b32 v39, 0, -1, s[86:87] // 000000006EC4: D2000027 01598280 v_cmp_eq_i32 vcc, 0, v37 // 000000006ECC: 7D044A80 v_and_b32 v25, 8, v25 // 000000006ED0: 36323288 v_lshlrev_b32 v32, 2, v32 // 000000006ED4: 34404082 ds_read_b32 v32, v32 offset:18844 // 000000006ED8: D8D8499C 20000020 s_waitcnt lgkmcnt(2) // 000000006EE0: BF8C027F v_xor_b32 v37, v33, v38 // 000000006EE4: 3A4A4D21 v_xor_b32 v38, v34, v39 // 000000006EE8: 3A4C4F22 v_cndmask_b32 v39, 0, -1, vcc // 000000006EEC: D2000027 01A98280 v_cmp_eq_i32 vcc, 0, v25 // 000000006EF4: 7D043280 s_waitcnt lgkmcnt(1) // 000000006EF8: BF8C017F v_xor_b32 v25, v35, v39 // 000000006EFC: 3A324F23 v_cndmask_b32 v39, 0, -1, vcc // 000000006F00: D2000027 01A98280 v_and_b32 v37, v37, v38 // 000000006F08: 364A4D25 v_xor_b32 v38, v36, v39 // 000000006F0C: 3A4C4F24 v_and_b32 v25, v25, v37 // 000000006F10: 36324B19 v_and_b32 v25, v38, v25 // 000000006F14: 36323326 v_bfe_u32 v25, v25, 0, v8 // 000000006F18: D2900019 04210119 s_waitcnt lgkmcnt(0) // 000000006F20: BF8C007F v_bcnt_u32_b32 v25, v25, v32 // 000000006F24: 44324119 v_mov_b32 v32, v33 // 000000006F28: 7E400321 v_mov_b32 v33, v34 // 000000006F2C: 7E420322 v_mov_b32 v34, v35 // 000000006F30: 7E440323 v_mov_b32 v35, v36 // 000000006F34: 7E460324 label_1BCE: s_andn2_b64 exec, s[84:85], exec // wrscc // 000000006F38: 8AFE7E54 v_mov_b32 v33, 0 // 000000006F3C: 7E420280 v_mov_b32 v35, 0 // 000000006F40: 7E460280 v_mov_b32 v25, 0 // 000000006F44: 7E320280 v_mov_b32 v62, 0 // 000000006F48: 7E7C0280 v_mov_b32 v34, 0 // 000000006F4C: 7E440280 v_mov_b32 v32, 0 // 000000006F50: 7E400280 s_and_b64 exec, s[84:85], s[82:83] // wrscc // 000000006F54: 87FE5254 v_add_i32 v25, vcc, v12, v25 // 000000006F58: 4A32330C s_load_dwordx4 s[88:91], s[0:1], 0x58 // 000000006F5C: C0AC0158 s_waitcnt lgkmcnt(0) // 000000006F60: BF8C007F buffer_store_dword v24, v25, s[88:91], 0 idxen // 000000006F64: E0702000 80161819 s_waitcnt vmcnt(0) // 000000006F6C: BF8C0F70 s_barrier // 000000006F70: BF8A0000 s_and_b64 exec, s[84:85], s[42:43] // wrscc // 000000006F74: 87FE2A54 s_cbranch_execz label_1BF4 // 000000006F78: BF880015 s_and_saveexec_b64 s[82:83], s[48:49] // wrscc // 000000006F7C: BED22430 s_cbranch_execz label_1BF4 // 000000006F80: BF880013 ds_read_b32 v24, v26 offset:18844 // 000000006F84: D8D8499C 1800001A v_xor_b32 v25, v30, v32 // 000000006F8C: 3A32411E v_cndmask_b32 v32, 0, -1, s[58:59] // 000000006F90: D2000020 00E98280 v_xor_b32 v32, v32, v33 // 000000006F98: 3A404320 v_and_b32 v25, v25, v32 // 000000006F9C: 36324119 v_cndmask_b32 v32, 0, -1, s[60:61] // 000000006FA0: D2000020 00F18280 v_xor_b32 v32, v32, v34 // 000000006FA8: 3A404520 v_cndmask_b32 v33, 0, -1, s[62:63] // 000000006FAC: D2000021 00F98280 v_xor_b32 v33, v33, v35 // 000000006FB4: 3A424721 v_and_b32 v25, v25, v32 // 000000006FB8: 36324119 v_and_b32 v25, v33, v25 // 000000006FBC: 36323321 s_waitcnt lgkmcnt(0) // 000000006FC0: BF8C007F v_bcnt_u32_b32 v24, v25, v24 // 000000006FC4: 44303119 ds_write_b32 v26, v24 offset:18844 // 000000006FC8: D834499C 0000181A label_1BF4: s_mov_b64 exec, s[44:45] // 000000006FD0: BEFE042C s_mov_b64 s[44:45], exec // 000000006FD4: BEAC047E v_mov_b32 v25, 0 // 000000006FD8: 7E320280 v_mov_b32 v24, 0 // 000000006FDC: 7E300280 v_mov_b32 v32, v23 // 000000006FE0: 7E400317 s_nop 0x0000 // 000000006FE4: BF800000 label_1BFA: v_cmp_ge_u32 vcc, v25, v11 // 000000006FE8: 7D8C1719 s_andn2_b64 exec, exec, vcc // wrscc // 000000006FEC: 8AFE6A7E s_cbranch_execz label_1CED // 000000006FF0: BF8800F0 v_add_i32 v33, vcc, v12, v32 // 000000006FF4: 4A42410C s_load_dwordx4 s[84:87], s[0:1], 0x58 // 000000006FF8: C0AA0158 s_waitcnt lgkmcnt(0) // 000000006FFC: BF8C007F buffer_load_dword v33, v33, s[84:87], 0 idxen // 000000007000: E0302000 80152121 v_cmp_gt_u32 vcc, v22, v32 // 000000007008: 7D884116 s_waitcnt vmcnt(0) // 00000000700C: BF8C0F70 v_cndmask_b32 v33, -1, v33, vcc // 000000007010: 004242C1 v_bfe_u32 v34, v33, 24, 1 // 000000007014: D2900022 02053121 v_lshrrev_b32 v33, 24, v33 // 00000000701C: 2C424298 v_cmp_ne_i32 vcc, 0, v34 // 000000007020: 7D0A4480 v_and_b32 v34, 2, v33 // 000000007024: 36444282 v_cndmask_b32 v35, 0, -1, vcc // 000000007028: D2000023 01A98280 v_cmp_ne_i32 vcc, 0, v34 // 000000007030: 7D0A4480 v_and_b32 v34, 4, v33 // 000000007034: 36444284 v_bfm_b32 v36, 1, v8 // 000000007038: 3C481081 v_lshl_b32 v35, v35, v8 // 00000000703C: 32461123 v_cndmask_b32 v37, 0, -1, vcc // 000000007040: D2000025 01A98280 v_cmp_ne_i32 vcc, 0, v34 // 000000007048: 7D0A4480 v_and_b32 v33, 8, v33 // 00000000704C: 36424288 v_bfi_b32 v34, v36, v35, 0 // 000000007050: D2940022 02024724 v_lshl_b32 v35, v37, v8 // 000000007058: 32461125 v_cndmask_b32 v37, 0, -1, vcc // 00000000705C: D2000025 01A98280 v_cmp_ne_i32 vcc, 0, v33 // 000000007064: 7D0A4280 v_bfi_b32 v33, v36, v35, 0 // 000000007068: D2940021 02024724 v_lshl_b32 v35, v37, v8 // 000000007070: 32461125 v_cndmask_b32 v37, 0, -1, vcc // 000000007074: D2000025 01A98280 ds_write_b32 v4, v34 offset:408 // 00000000707C: D8340198 00002204 v_bfi_b32 v34, v36, v35, 0 // 000000007084: D2940022 02024724 v_lshl_b32 v35, v37, v8 // 00000000708C: 32461125 ds_write_b32 v29, v33 offset:408 // 000000007090: D8340198 0000211D v_bfi_b32 v33, v36, v35, 0 // 000000007098: D2940021 02024724 ds_write_b32 v28, v34 offset:408 // 0000000070A0: D8340198 0000221C ds_write_b32 v27, v33 offset:408 // 0000000070A8: D8340198 0000211B s_waitcnt lgkmcnt(0) // 0000000070B0: BF8C007F s_barrier // 0000000070B4: BF8A0000 s_and_saveexec_b64 s[82:83], s[48:49] // wrscc // 0000000070B8: BED22430 s_cbranch_execz label_1C4D // 0000000070BC: BF88001D ds_read2_b32 v[33:34], v4 offset0:102 offset1:118 // 0000000070C0: D8DC7666 21000004 ds_read_b32 v35, v29 offset:408 // 0000000070C8: D8D80198 2300001D ds_read_b32 v36, v28 offset:408 // 0000000070D0: D8D80198 2400001C ds_read_b32 v37, v27 offset:408 // 0000000070D8: D8D80198 2500001B v_add_i32 v38, vcc, 0x000011d8, v4 // 0000000070E0: 4A4C08FF 000011D8 ds_read2st64_b32 v[38:39], v38 offset1:16 // 0000000070E8: D8E01000 26000026 ds_read_b32 v40, v4 offset:12760 // 0000000070F0: D8D831D8 28000004 s_waitcnt lgkmcnt(5) // 0000000070F8: BF8C057F v_or_b32 v33, v33, v34 // 0000000070FC: 38424521 s_waitcnt lgkmcnt(1) // 000000007100: BF8C017F v_or_b32 v34, v35, v38 // 000000007104: 38444D23 v_or_b32 v35, v36, v39 // 000000007108: 38464F24 s_waitcnt lgkmcnt(0) // 00000000710C: BF8C007F v_or_b32 v36, v37, v40 // 000000007110: 38485125 ds_write_b32 v4, v33 offset:408 // 000000007114: D8340198 00002104 ds_write_b32 v29, v34 offset:408 // 00000000711C: D8340198 0000221D ds_write_b32 v28, v35 offset:408 // 000000007124: D8340198 0000231C ds_write_b32 v27, v36 offset:408 // 00000000712C: D8340198 0000241B label_1C4D: s_waitcnt lgkmcnt(0) // 000000007134: BF8C007F s_barrier // 000000007138: BF8A0000 s_and_b64 exec, s[82:83], s[50:51] // wrscc // 00000000713C: 87FE3252 s_cbranch_execz label_1C6E // 000000007140: BF88001D ds_read2_b32 v[33:34], v4 offset0:102 offset1:110 // 000000007144: D8DC6E66 21000004 ds_read_b32 v35, v29 offset:408 // 00000000714C: D8D80198 2300001D ds_read_b32 v36, v28 offset:408 // 000000007154: D8D80198 2400001C ds_read_b32 v37, v27 offset:408 // 00000000715C: D8D80198 2500001B v_add_i32 v38, vcc, 0x000011b8, v4 // 000000007164: 4A4C08FF 000011B8 ds_read2st64_b32 v[38:39], v38 offset1:16 // 00000000716C: D8E01000 26000026 ds_read_b32 v40, v4 offset:12728 // 000000007174: D8D831B8 28000004 s_waitcnt lgkmcnt(5) // 00000000717C: BF8C057F v_or_b32 v33, v33, v34 // 000000007180: 38424521 s_waitcnt lgkmcnt(1) // 000000007184: BF8C017F v_or_b32 v34, v35, v38 // 000000007188: 38444D23 v_or_b32 v35, v36, v39 // 00000000718C: 38464F24 s_waitcnt lgkmcnt(0) // 000000007190: BF8C007F v_or_b32 v36, v37, v40 // 000000007194: 38485125 ds_write_b32 v4, v33 offset:408 // 000000007198: D8340198 00002104 ds_write_b32 v29, v34 offset:408 // 0000000071A0: D8340198 0000221D ds_write_b32 v28, v35 offset:408 // 0000000071A8: D8340198 0000231C ds_write_b32 v27, v36 offset:408 // 0000000071B0: D8340198 0000241B label_1C6E: s_waitcnt lgkmcnt(0) // 0000000071B8: BF8C007F s_barrier // 0000000071BC: BF8A0000 s_and_b64 exec, s[82:83], s[52:53] // wrscc // 0000000071C0: 87FE3452 s_cbranch_execz label_1C8F // 0000000071C4: BF88001D ds_read2_b32 v[33:34], v4 offset0:102 offset1:106 // 0000000071C8: D8DC6A66 21000004 ds_read_b32 v35, v29 offset:408 // 0000000071D0: D8D80198 2300001D ds_read_b32 v36, v28 offset:408 // 0000000071D8: D8D80198 2400001C ds_read_b32 v37, v27 offset:408 // 0000000071E0: D8D80198 2500001B v_add_i32 v38, vcc, 0x000011a8, v4 // 0000000071E8: 4A4C08FF 000011A8 ds_read2st64_b32 v[38:39], v38 offset1:16 // 0000000071F0: D8E01000 26000026 ds_read_b32 v40, v4 offset:12712 // 0000000071F8: D8D831A8 28000004 s_waitcnt lgkmcnt(5) // 000000007200: BF8C057F v_or_b32 v33, v33, v34 // 000000007204: 38424521 s_waitcnt lgkmcnt(1) // 000000007208: BF8C017F v_or_b32 v34, v35, v38 // 00000000720C: 38444D23 v_or_b32 v35, v36, v39 // 000000007210: 38464F24 s_waitcnt lgkmcnt(0) // 000000007214: BF8C007F v_or_b32 v36, v37, v40 // 000000007218: 38485125 ds_write_b32 v4, v33 offset:408 // 00000000721C: D8340198 00002104 ds_write_b32 v29, v34 offset:408 // 000000007224: D8340198 0000221D ds_write_b32 v28, v35 offset:408 // 00000000722C: D8340198 0000231C ds_write_b32 v27, v36 offset:408 // 000000007234: D8340198 0000241B label_1C8F: s_waitcnt lgkmcnt(0) // 00000000723C: BF8C007F s_barrier // 000000007240: BF8A0000 s_and_b64 exec, s[82:83], s[54:55] // wrscc // 000000007244: 87FE3652 s_cbranch_execz label_1CB0 // 000000007248: BF88001D ds_read2_b32 v[33:34], v4 offset0:102 offset1:104 // 00000000724C: D8DC6866 21000004 ds_read_b32 v35, v29 offset:408 // 000000007254: D8D80198 2300001D ds_read_b32 v36, v28 offset:408 // 00000000725C: D8D80198 2400001C ds_read_b32 v37, v27 offset:408 // 000000007264: D8D80198 2500001B v_add_i32 v38, vcc, 0x000011a0, v4 // 00000000726C: 4A4C08FF 000011A0 ds_read2st64_b32 v[38:39], v38 offset1:16 // 000000007274: D8E01000 26000026 ds_read_b32 v40, v4 offset:12704 // 00000000727C: D8D831A0 28000004 s_waitcnt lgkmcnt(5) // 000000007284: BF8C057F v_or_b32 v33, v33, v34 // 000000007288: 38424521 s_waitcnt lgkmcnt(1) // 00000000728C: BF8C017F v_or_b32 v34, v35, v38 // 000000007290: 38444D23 v_or_b32 v35, v36, v39 // 000000007294: 38464F24 s_waitcnt lgkmcnt(0) // 000000007298: BF8C007F v_or_b32 v36, v37, v40 // 00000000729C: 38485125 ds_write_b32 v4, v33 offset:408 // 0000000072A0: D8340198 00002104 ds_write_b32 v29, v34 offset:408 // 0000000072A8: D8340198 0000221D ds_write_b32 v28, v35 offset:408 // 0000000072B0: D8340198 0000231C ds_write_b32 v27, v36 offset:408 // 0000000072B8: D8340198 0000241B label_1CB0: s_waitcnt lgkmcnt(0) // 0000000072C0: BF8C007F s_barrier // 0000000072C4: BF8A0000 s_and_b64 exec, s[82:83], s[56:57] // wrscc // 0000000072C8: 87FE3852 s_cbranch_execz label_1CD1 // 0000000072CC: BF88001D ds_read2_b32 v[33:34], v4 offset0:102 offset1:103 // 0000000072D0: D8DC6766 21000004 ds_read_b32 v35, v29 offset:408 // 0000000072D8: D8D80198 2300001D ds_read_b32 v36, v28 offset:408 // 0000000072E0: D8D80198 2400001C ds_read_b32 v37, v27 offset:408 // 0000000072E8: D8D80198 2500001B v_add_i32 v38, vcc, 0x0000119c, v4 // 0000000072F0: 4A4C08FF 0000119C ds_read2st64_b32 v[38:39], v38 offset1:16 // 0000000072F8: D8E01000 26000026 ds_read_b32 v40, v4 offset:12700 // 000000007300: D8D8319C 28000004 s_waitcnt lgkmcnt(5) // 000000007308: BF8C057F v_or_b32 v33, v33, v34 // 00000000730C: 38424521 s_waitcnt lgkmcnt(1) // 000000007310: BF8C017F v_or_b32 v34, v35, v38 // 000000007314: 38444D23 v_or_b32 v35, v36, v39 // 000000007318: 38464F24 s_waitcnt lgkmcnt(0) // 00000000731C: BF8C007F v_or_b32 v36, v37, v40 // 000000007320: 38485125 ds_write_b32 v4, v33 offset:408 // 000000007324: D8340198 00002104 ds_write_b32 v29, v34 offset:408 // 00000000732C: D8340198 0000221D ds_write_b32 v28, v35 offset:408 // 000000007334: D8340198 0000231C ds_write_b32 v27, v36 offset:408 // 00000000733C: D8340198 0000241B label_1CD1: s_mov_b64 exec, s[82:83] // 000000007344: BEFE0452 s_waitcnt lgkmcnt(0) // 000000007348: BF8C007F s_barrier // 00000000734C: BF8A0000 v_add_i32 v33, vcc, 0x00000198, v31 // 000000007350: 4A423EFF 00000198 ds_read2st64_b32 v[34:35], v33 offset1:16 // 000000007358: D8E01000 22000021 ds_read2st64_b32 v[36:37], v33 offset0:32 offset1:48 // 000000007360: D8E03020 24000021 v_cndmask_b32 v33, 0, -1, s[58:59] // 000000007368: D2000021 00E98280 s_waitcnt lgkmcnt(1) // 000000007370: BF8C017F v_xor_b32 v34, v30, v34 // 000000007374: 3A44451E v_xor_b32 v33, v33, v35 // 000000007378: 3A424721 v_cndmask_b32 v35, 0, -1, s[60:61] // 00000000737C: D2000023 00F18280 v_and_b32 v33, v34, v33 // 000000007384: 36424322 s_waitcnt lgkmcnt(0) // 000000007388: BF8C007F v_xor_b32 v34, v35, v36 // 00000000738C: 3A444923 v_cndmask_b32 v35, 0, -1, s[62:63] // 000000007390: D2000023 00F98280 v_and_b32 v33, v33, v34 // 000000007398: 36424521 v_xor_b32 v34, v35, v37 // 00000000739C: 3A444B23 v_and_b32 v33, v33, v34 // 0000000073A0: 36424521 v_bcnt_u32_b32 v24, v33, v24 // 0000000073A4: 44303121 v_add_i32 v25, vcc, 1, v25 // 0000000073A8: 4A323281 v_add_i32 v32, vcc, 32, v32 // 0000000073AC: 4A4040A0 s_branch label_1BFA // 0000000073B0: BF82FF0D label_1CED: s_mov_b64 exec, s[44:45] // 0000000073B4: BEFE042C v_cmp_ne_u32 vcc, 0, v21 // 0000000073B8: 7D8A2A80 s_and_saveexec_b64 s[44:45], vcc // wrscc // 0000000073BC: BEAC246A v_add_i32 v25, vcc, v12, v32 // 0000000073C0: 4A32410C s_cbranch_execz label_1DF9 // 0000000073C4: BF880107 s_and_saveexec_b64 s[82:83], s[42:43] // wrscc // 0000000073C8: BED2242A s_cbranch_execz label_1D22 // 0000000073CC: BF88002E s_load_dwordx4 s[84:87], s[0:1], 0x58 // 0000000073D0: C0AA0158 s_waitcnt lgkmcnt(0) // 0000000073D4: BF8C007F buffer_load_dword v25, v25, s[84:87], 0 idxen // 0000000073D8: E0302000 80151919 v_cmp_gt_u32 vcc, v22, v32 // 0000000073E0: 7D884116 s_waitcnt vmcnt(0) // 0000000073E4: BF8C0F70 v_cndmask_b32 v25, -1, v25, vcc // 0000000073E8: 003232C1 v_bfe_u32 v32, v25, 24, 1 // 0000000073EC: D2900020 02053119 v_lshrrev_b32 v25, 24, v25 // 0000000073F4: 2C323298 v_cmp_ne_i32 vcc, 0, v32 // 0000000073F8: 7D0A4080 v_and_b32 v32, 2, v25 // 0000000073FC: 36403282 v_cndmask_b32 v33, 0, -1, vcc // 000000007400: D2000021 01A98280 v_cmp_ne_i32 vcc, 0, v32 // 000000007408: 7D0A4080 v_and_b32 v32, 4, v25 // 00000000740C: 36403284 v_bfm_b32 v34, 1, v8 // 000000007410: 3C441081 v_lshl_b32 v33, v33, v8 // 000000007414: 32421121 v_cndmask_b32 v35, 0, -1, vcc // 000000007418: D2000023 01A98280 v_cmp_ne_i32 vcc, 0, v32 // 000000007420: 7D0A4080 v_and_b32 v25, 8, v25 // 000000007424: 36323288 v_bfi_b32 v32, v34, v33, 0 // 000000007428: D2940020 02024322 v_lshl_b32 v33, v35, v8 // 000000007430: 32421123 v_cndmask_b32 v35, 0, -1, vcc // 000000007434: D2000023 01A98280 v_cmp_ne_i32 vcc, 0, v25 // 00000000743C: 7D0A3280 v_bfi_b32 v25, v34, v33, 0 // 000000007440: D2940019 02024322 v_lshl_b32 v33, v35, v8 // 000000007448: 32421123 v_cndmask_b32 v35, 0, -1, vcc // 00000000744C: D2000023 01A98280 ds_write_b32 v4, v32 offset:408 // 000000007454: D8340198 00002004 v_bfi_b32 v32, v34, v33, 0 // 00000000745C: D2940020 02024322 v_lshl_b32 v33, v35, v8 // 000000007464: 32421123 ds_write_b32 v29, v25 offset:408 // 000000007468: D8340198 0000191D v_bfi_b32 v25, v34, v33, 0 // 000000007470: D2940019 02024322 ds_write_b32 v28, v32 offset:408 // 000000007478: D8340198 0000201C ds_write_b32 v27, v25 offset:408 // 000000007480: D8340198 0000191B label_1D22: s_waitcnt lgkmcnt(0) // 000000007488: BF8C007F s_barrier // 00000000748C: BF8A0000 s_and_b64 exec, s[82:83], s[42:43] // wrscc // 000000007490: 87FE2A52 s_cbranch_execz label_1D45 // 000000007494: BF88001F s_and_saveexec_b64 s[84:85], s[48:49] // wrscc // 000000007498: BED42430 s_cbranch_execz label_1D45 // 00000000749C: BF88001D ds_read2_b32 v[32:33], v4 offset0:102 offset1:118 // 0000000074A0: D8DC7666 20000004 ds_read_b32 v25, v29 offset:408 // 0000000074A8: D8D80198 1900001D ds_read_b32 v34, v28 offset:408 // 0000000074B0: D8D80198 2200001C ds_read_b32 v35, v27 offset:408 // 0000000074B8: D8D80198 2300001B v_add_i32 v36, vcc, 0x000011d8, v4 // 0000000074C0: 4A4808FF 000011D8 ds_read2st64_b32 v[36:37], v36 offset1:16 // 0000000074C8: D8E01000 24000024 ds_read_b32 v38, v4 offset:12760 // 0000000074D0: D8D831D8 26000004 s_waitcnt lgkmcnt(5) // 0000000074D8: BF8C057F v_or_b32 v32, v32, v33 // 0000000074DC: 38404320 s_waitcnt lgkmcnt(1) // 0000000074E0: BF8C017F v_or_b32 v25, v25, v36 // 0000000074E4: 38324919 v_or_b32 v33, v34, v37 // 0000000074E8: 38424B22 s_waitcnt lgkmcnt(0) // 0000000074EC: BF8C007F v_or_b32 v34, v35, v38 // 0000000074F0: 38444D23 ds_write_b32 v4, v32 offset:408 // 0000000074F4: D8340198 00002004 ds_write_b32 v29, v25 offset:408 // 0000000074FC: D8340198 0000191D ds_write_b32 v28, v33 offset:408 // 000000007504: D8340198 0000211C ds_write_b32 v27, v34 offset:408 // 00000000750C: D8340198 0000221B label_1D45: s_waitcnt lgkmcnt(0) // 000000007514: BF8C007F s_barrier // 000000007518: BF8A0000 s_and_b64 exec, s[82:83], s[42:43] // wrscc // 00000000751C: 87FE2A52 s_cbranch_execz label_1D68 // 000000007520: BF88001F s_and_saveexec_b64 s[84:85], s[50:51] // wrscc // 000000007524: BED42432 s_cbranch_execz label_1D68 // 000000007528: BF88001D ds_read2_b32 v[32:33], v4 offset0:102 offset1:110 // 00000000752C: D8DC6E66 20000004 ds_read_b32 v25, v29 offset:408 // 000000007534: D8D80198 1900001D ds_read_b32 v34, v28 offset:408 // 00000000753C: D8D80198 2200001C ds_read_b32 v35, v27 offset:408 // 000000007544: D8D80198 2300001B v_add_i32 v36, vcc, 0x000011b8, v4 // 00000000754C: 4A4808FF 000011B8 ds_read2st64_b32 v[36:37], v36 offset1:16 // 000000007554: D8E01000 24000024 ds_read_b32 v38, v4 offset:12728 // 00000000755C: D8D831B8 26000004 s_waitcnt lgkmcnt(5) // 000000007564: BF8C057F v_or_b32 v32, v32, v33 // 000000007568: 38404320 s_waitcnt lgkmcnt(1) // 00000000756C: BF8C017F v_or_b32 v25, v25, v36 // 000000007570: 38324919 v_or_b32 v33, v34, v37 // 000000007574: 38424B22 s_waitcnt lgkmcnt(0) // 000000007578: BF8C007F v_or_b32 v34, v35, v38 // 00000000757C: 38444D23 ds_write_b32 v4, v32 offset:408 // 000000007580: D8340198 00002004 ds_write_b32 v29, v25 offset:408 // 000000007588: D8340198 0000191D ds_write_b32 v28, v33 offset:408 // 000000007590: D8340198 0000211C ds_write_b32 v27, v34 offset:408 // 000000007598: D8340198 0000221B label_1D68: s_waitcnt lgkmcnt(0) // 0000000075A0: BF8C007F s_barrier // 0000000075A4: BF8A0000 s_and_b64 exec, s[82:83], s[42:43] // wrscc // 0000000075A8: 87FE2A52 s_cbranch_execz label_1D8B // 0000000075AC: BF88001F s_and_saveexec_b64 s[84:85], s[52:53] // wrscc // 0000000075B0: BED42434 s_cbranch_execz label_1D8B // 0000000075B4: BF88001D ds_read2_b32 v[32:33], v4 offset0:102 offset1:106 // 0000000075B8: D8DC6A66 20000004 ds_read_b32 v25, v29 offset:408 // 0000000075C0: D8D80198 1900001D ds_read_b32 v34, v28 offset:408 // 0000000075C8: D8D80198 2200001C ds_read_b32 v35, v27 offset:408 // 0000000075D0: D8D80198 2300001B v_add_i32 v36, vcc, 0x000011a8, v4 // 0000000075D8: 4A4808FF 000011A8 ds_read2st64_b32 v[36:37], v36 offset1:16 // 0000000075E0: D8E01000 24000024 ds_read_b32 v38, v4 offset:12712 // 0000000075E8: D8D831A8 26000004 s_waitcnt lgkmcnt(5) // 0000000075F0: BF8C057F v_or_b32 v32, v32, v33 // 0000000075F4: 38404320 s_waitcnt lgkmcnt(1) // 0000000075F8: BF8C017F v_or_b32 v25, v25, v36 // 0000000075FC: 38324919 v_or_b32 v33, v34, v37 // 000000007600: 38424B22 s_waitcnt lgkmcnt(0) // 000000007604: BF8C007F v_or_b32 v34, v35, v38 // 000000007608: 38444D23 ds_write_b32 v4, v32 offset:408 // 00000000760C: D8340198 00002004 ds_write_b32 v29, v25 offset:408 // 000000007614: D8340198 0000191D ds_write_b32 v28, v33 offset:408 // 00000000761C: D8340198 0000211C ds_write_b32 v27, v34 offset:408 // 000000007624: D8340198 0000221B label_1D8B: s_waitcnt lgkmcnt(0) // 00000000762C: BF8C007F s_barrier // 000000007630: BF8A0000 s_and_b64 exec, s[82:83], s[42:43] // wrscc // 000000007634: 87FE2A52 s_cbranch_execz label_1DAE // 000000007638: BF88001F s_and_saveexec_b64 s[84:85], s[54:55] // wrscc // 00000000763C: BED42436 s_cbranch_execz label_1DAE // 000000007640: BF88001D ds_read2_b32 v[32:33], v4 offset0:102 offset1:104 // 000000007644: D8DC6866 20000004 ds_read_b32 v25, v29 offset:408 // 00000000764C: D8D80198 1900001D ds_read_b32 v34, v28 offset:408 // 000000007654: D8D80198 2200001C ds_read_b32 v35, v27 offset:408 // 00000000765C: D8D80198 2300001B v_add_i32 v36, vcc, 0x000011a0, v4 // 000000007664: 4A4808FF 000011A0 ds_read2st64_b32 v[36:37], v36 offset1:16 // 00000000766C: D8E01000 24000024 ds_read_b32 v38, v4 offset:12704 // 000000007674: D8D831A0 26000004 s_waitcnt lgkmcnt(5) // 00000000767C: BF8C057F v_or_b32 v32, v32, v33 // 000000007680: 38404320 s_waitcnt lgkmcnt(1) // 000000007684: BF8C017F v_or_b32 v25, v25, v36 // 000000007688: 38324919 v_or_b32 v33, v34, v37 // 00000000768C: 38424B22 s_waitcnt lgkmcnt(0) // 000000007690: BF8C007F v_or_b32 v34, v35, v38 // 000000007694: 38444D23 ds_write_b32 v4, v32 offset:408 // 000000007698: D8340198 00002004 ds_write_b32 v29, v25 offset:408 // 0000000076A0: D8340198 0000191D ds_write_b32 v28, v33 offset:408 // 0000000076A8: D8340198 0000211C ds_write_b32 v27, v34 offset:408 // 0000000076B0: D8340198 0000221B label_1DAE: s_waitcnt lgkmcnt(0) // 0000000076B8: BF8C007F s_barrier // 0000000076BC: BF8A0000 s_and_b64 exec, s[82:83], s[42:43] // wrscc // 0000000076C0: 87FE2A52 s_cbranch_execz label_1DD1 // 0000000076C4: BF88001F s_and_saveexec_b64 s[84:85], s[56:57] // wrscc // 0000000076C8: BED42438 s_cbranch_execz label_1DD1 // 0000000076CC: BF88001D ds_read2_b32 v[32:33], v4 offset0:102 offset1:103 // 0000000076D0: D8DC6766 20000004 ds_read_b32 v25, v29 offset:408 // 0000000076D8: D8D80198 1900001D ds_read_b32 v34, v28 offset:408 // 0000000076E0: D8D80198 2200001C ds_read_b32 v35, v27 offset:408 // 0000000076E8: D8D80198 2300001B v_add_i32 v36, vcc, 0x0000119c, v4 // 0000000076F0: 4A4808FF 0000119C ds_read2st64_b32 v[36:37], v36 offset1:16 // 0000000076F8: D8E01000 24000024 ds_read_b32 v38, v4 offset:12700 // 000000007700: D8D8319C 26000004 s_waitcnt lgkmcnt(5) // 000000007708: BF8C057F v_or_b32 v32, v32, v33 // 00000000770C: 38404320 s_waitcnt lgkmcnt(1) // 000000007710: BF8C017F v_or_b32 v25, v25, v36 // 000000007714: 38324919 v_or_b32 v33, v34, v37 // 000000007718: 38424B22 s_waitcnt lgkmcnt(0) // 00000000771C: BF8C007F v_or_b32 v34, v35, v38 // 000000007720: 38444D23 ds_write_b32 v4, v32 offset:408 // 000000007724: D8340198 00002004 ds_write_b32 v29, v25 offset:408 // 00000000772C: D8340198 0000191D ds_write_b32 v28, v33 offset:408 // 000000007734: D8340198 0000211C ds_write_b32 v27, v34 offset:408 // 00000000773C: D8340198 0000221B label_1DD1: s_waitcnt lgkmcnt(0) // 000000007744: BF8C007F s_barrier // 000000007748: BF8A0000 s_and_b64 exec, s[82:83], s[42:43] // wrscc // 00000000774C: 87FE2A52 v_add_i32 v25, vcc, 0x00000198, v31 // 000000007750: 4A323EFF 00000198 ds_read2st64_b32 v[32:33], v25 offset1:16 // 000000007758: D8E01000 20000019 ds_read2st64_b32 v[34:35], v25 offset0:32 offset1:48 // 000000007760: D8E03020 22000019 s_waitcnt lgkmcnt(1) // 000000007768: BF8C017F v_mov_b32 v25, v32 // 00000000776C: 7E320320 v_mov_b32 v32, v33 // 000000007770: 7E400321 s_waitcnt lgkmcnt(0) // 000000007774: BF8C007F v_mov_b32 v33, v34 // 000000007778: 7E420322 v_mov_b32 v34, v35 // 00000000777C: 7E440323 s_andn2_b64 exec, s[82:83], exec // wrscc // 000000007780: 8AFE7E52 v_mov_b32 v34, 0 // 000000007784: 7E440280 v_mov_b32 v25, 0 // 000000007788: 7E320280 v_mov_b32 v62, 0 // 00000000778C: 7E7C0280 v_mov_b32 v33, 0 // 000000007790: 7E420280 v_mov_b32 v32, 0 // 000000007794: 7E400280 s_mov_b64 exec, s[82:83] // 000000007798: BEFE0452 v_xor_b32 v25, v30, v25 // 00000000779C: 3A32331E v_cndmask_b32 v35, 0, -1, s[58:59] // 0000000077A0: D2000023 00E98280 v_xor_b32 v32, v35, v32 // 0000000077A8: 3A404123 v_and_b32 v25, v25, v32 // 0000000077AC: 36324119 v_cndmask_b32 v32, 0, -1, s[60:61] // 0000000077B0: D2000020 00F18280 v_xor_b32 v32, v32, v33 // 0000000077B8: 3A404320 v_cndmask_b32 v33, 0, -1, s[62:63] // 0000000077BC: D2000021 00F98280 v_xor_b32 v33, v33, v34 // 0000000077C4: 3A424521 v_and_b32 v25, v25, v32 // 0000000077C8: 36324119 v_and_b32 v25, v33, v25 // 0000000077CC: 36323321 v_bcnt_u32_b32 v25, v25, 0 // 0000000077D0: D2440019 00010119 v_cndmask_b32 v25, 0, v25, s[42:43] // 0000000077D8: D2000019 00AA3280 v_add_i32 v24, vcc, v24, v25 // 0000000077E0: 4A303318 label_1DF9: s_and_b64 exec, s[44:45], s[48:49] // wrscc // 0000000077E4: 87FE302C ds_write_b32 v26, v24 offset:16796 // 0000000077E8: D834419C 0000181A s_mov_b64 exec, s[44:45] // 0000000077F0: BEFE042C s_waitcnt lgkmcnt(0) // 0000000077F4: BF8C007F s_barrier // 0000000077F8: BF8A0000 v_cmp_eq_u32 vcc, 0, v8 // 0000000077FC: 7D841080 s_and_b64 exec, s[44:45], vcc // wrscc // 000000007800: 87FE6A2C v_mov_b32 v24, 0 // 000000007804: 7E300280 ds_write_b32 v24, v24 offset:16792 // 000000007808: D8344198 00001818 ds_write_b32 v24, v24 offset:18844 // 000000007810: D834499C 00001818 s_and_b64 exec, s[44:45], s[46:47] // wrscc // 000000007818: 87FE2E2C s_cbranch_execz label_1E18 // 00000000781C: BF880010 s_and_saveexec_b64 s[82:83], s[64:65] // wrscc // 000000007820: BED22440 v_add_i32 v24, vcc, 0x00004198, v4 // 000000007824: 4A3008FF 00004198 ds_read2_b32 v[24:25], v24 offset0:1 // 00000000782C: D8DC0001 18000018 s_waitcnt lgkmcnt(0) // 000000007834: BF8C007F v_add_i32 v24, vcc, v24, v25 // 000000007838: 4A303318 ds_write_b32 v4, v24 offset:18848 // 00000000783C: D83449A0 00001804 s_andn2_b64 exec, s[82:83], exec // wrscc // 000000007844: 8AFE7E52 v_mov_b32 v24, 0 // 000000007848: 7E300280 ds_read_b32 v25, v24 offset:16796 // 00000000784C: D8D8419C 19000018 s_waitcnt lgkmcnt(0) // 000000007854: BF8C007F ds_write_b32 v24, v25 offset:18848 // 000000007858: D83449A0 00001918 label_1E18: s_waitcnt lgkmcnt(0) // 000000007860: BF8C007F s_barrier // 000000007864: BF8A0000 s_and_b64 exec, s[44:45], s[46:47] // wrscc // 000000007868: 87FE2E2C s_cbranch_execz label_1E2A // 00000000786C: BF88000E s_and_saveexec_b64 s[82:83], s[66:67] // wrscc // 000000007870: BED22442 v_add_i32 v24, vcc, 0x00004998, v4 // 000000007874: 4A3008FF 00004998 ds_read2_b32 v[24:25], v24 offset0:2 // 00000000787C: D8DC0002 18000018 s_waitcnt lgkmcnt(0) // 000000007884: BF8C007F v_add_i32 v24, vcc, v24, v25 // 000000007888: 4A303318 s_andn2_b64 exec, s[82:83], exec // wrscc // 00000000788C: 8AFE7E52 ds_read_b32 v24, v4 offset:18848 // 000000007890: D8D849A0 18000004 s_mov_b64 exec, s[82:83] // 000000007898: BEFE0452 s_waitcnt lgkmcnt(0) // 00000000789C: BF8C007F ds_write_b32 v4, v24 offset:16796 // 0000000078A0: D834419C 00001804 label_1E2A: s_waitcnt lgkmcnt(0) // 0000000078A8: BF8C007F s_barrier // 0000000078AC: BF8A0000 s_and_b64 exec, s[44:45], s[46:47] // wrscc // 0000000078B0: 87FE2E2C s_cbranch_execz label_1E3C // 0000000078B4: BF88000E s_and_saveexec_b64 s[82:83], s[68:69] // wrscc // 0000000078B8: BED22444 v_add_i32 v24, vcc, 0x0000418c, v4 // 0000000078BC: 4A3008FF 0000418C ds_read2_b32 v[24:25], v24 offset0:4 // 0000000078C4: D8DC0004 18000018 s_waitcnt lgkmcnt(0) // 0000000078CC: BF8C007F v_add_i32 v24, vcc, v24, v25 // 0000000078D0: 4A303318 s_andn2_b64 exec, s[82:83], exec // wrscc // 0000000078D4: 8AFE7E52 ds_read_b32 v24, v4 offset:16796 // 0000000078D8: D8D8419C 18000004 s_mov_b64 exec, s[82:83] // 0000000078E0: BEFE0452 s_waitcnt lgkmcnt(0) // 0000000078E4: BF8C007F ds_write_b32 v4, v24 offset:18848 // 0000000078E8: D83449A0 00001804 label_1E3C: s_waitcnt lgkmcnt(0) // 0000000078F0: BF8C007F s_barrier // 0000000078F4: BF8A0000 s_and_b64 exec, s[44:45], s[46:47] // wrscc // 0000000078F8: 87FE2E2C s_cbranch_execz label_1E4E // 0000000078FC: BF88000E s_and_saveexec_b64 s[82:83], s[70:71] // wrscc // 000000007900: BED22446 v_add_i32 v24, vcc, 0x00004980, v4 // 000000007904: 4A3008FF 00004980 ds_read2_b32 v[24:25], v24 offset0:8 // 00000000790C: D8DC0008 18000018 s_waitcnt lgkmcnt(0) // 000000007914: BF8C007F v_add_i32 v24, vcc, v24, v25 // 000000007918: 4A303318 s_andn2_b64 exec, s[82:83], exec // wrscc // 00000000791C: 8AFE7E52 ds_read_b32 v24, v4 offset:18848 // 000000007920: D8D849A0 18000004 s_mov_b64 exec, s[82:83] // 000000007928: BEFE0452 s_waitcnt lgkmcnt(0) // 00000000792C: BF8C007F ds_write_b32 v4, v24 offset:16796 // 000000007930: D834419C 00001804 label_1E4E: s_waitcnt lgkmcnt(0) // 000000007938: BF8C007F s_barrier // 00000000793C: BF8A0000 s_and_b64 exec, s[44:45], s[46:47] // wrscc // 000000007940: 87FE2E2C s_cbranch_execz label_1E60 // 000000007944: BF88000E s_and_saveexec_b64 s[82:83], s[72:73] // wrscc // 000000007948: BED22448 v_add_i32 v24, vcc, 0x0000415c, v4 // 00000000794C: 4A3008FF 0000415C ds_read2_b32 v[24:25], v24 offset0:16 // 000000007954: D8DC0010 18000018 s_waitcnt lgkmcnt(0) // 00000000795C: BF8C007F v_add_i32 v24, vcc, v24, v25 // 000000007960: 4A303318 s_andn2_b64 exec, s[82:83], exec // wrscc // 000000007964: 8AFE7E52 ds_read_b32 v24, v4 offset:16796 // 000000007968: D8D8419C 18000004 s_mov_b64 exec, s[82:83] // 000000007970: BEFE0452 s_waitcnt lgkmcnt(0) // 000000007974: BF8C007F ds_write_b32 v4, v24 offset:18848 // 000000007978: D83449A0 00001804 label_1E60: s_waitcnt lgkmcnt(0) // 000000007980: BF8C007F s_barrier // 000000007984: BF8A0000 s_and_b64 exec, s[44:45], s[46:47] // wrscc // 000000007988: 87FE2E2C s_cbranch_execz label_1E72 // 00000000798C: BF88000E s_and_saveexec_b64 s[82:83], s[74:75] // wrscc // 000000007990: BED2244A v_add_i32 v24, vcc, 0x00004920, v4 // 000000007994: 4A3008FF 00004920 ds_read2_b32 v[24:25], v24 offset0:32 // 00000000799C: D8DC0020 18000018 s_waitcnt lgkmcnt(0) // 0000000079A4: BF8C007F v_add_i32 v24, vcc, v24, v25 // 0000000079A8: 4A303318 s_andn2_b64 exec, s[82:83], exec // wrscc // 0000000079AC: 8AFE7E52 ds_read_b32 v24, v4 offset:18848 // 0000000079B0: D8D849A0 18000004 s_mov_b64 exec, s[82:83] // 0000000079B8: BEFE0452 s_waitcnt lgkmcnt(0) // 0000000079BC: BF8C007F ds_write_b32 v4, v24 offset:16796 // 0000000079C0: D834419C 00001804 label_1E72: s_waitcnt lgkmcnt(0) // 0000000079C8: BF8C007F s_barrier // 0000000079CC: BF8A0000 s_and_b64 exec, s[44:45], s[46:47] // wrscc // 0000000079D0: 87FE2E2C s_cbranch_execz label_1E84 // 0000000079D4: BF88000E s_and_saveexec_b64 s[82:83], s[76:77] // wrscc // 0000000079D8: BED2244C v_add_i32 v24, vcc, 0x0000409c, v4 // 0000000079DC: 4A3008FF 0000409C ds_read2_b32 v[24:25], v24 offset0:64 // 0000000079E4: D8DC0040 18000018 s_waitcnt lgkmcnt(0) // 0000000079EC: BF8C007F v_add_i32 v24, vcc, v24, v25 // 0000000079F0: 4A303318 s_andn2_b64 exec, s[82:83], exec // wrscc // 0000000079F4: 8AFE7E52 ds_read_b32 v24, v4 offset:16796 // 0000000079F8: D8D8419C 18000004 s_mov_b64 exec, s[82:83] // 000000007A00: BEFE0452 s_waitcnt lgkmcnt(0) // 000000007A04: BF8C007F ds_write_b32 v4, v24 offset:18848 // 000000007A08: D83449A0 00001804 label_1E84: s_waitcnt lgkmcnt(0) // 000000007A10: BF8C007F s_barrier // 000000007A14: BF8A0000 s_and_b64 exec, s[44:45], s[46:47] // wrscc // 000000007A18: 87FE2E2C s_cbranch_execz label_1E96 // 000000007A1C: BF88000E s_and_saveexec_b64 s[82:83], s[78:79] // wrscc // 000000007A20: BED2244E v_add_i32 v24, vcc, 0x000047a0, v4 // 000000007A24: 4A3008FF 000047A0 ds_read2_b32 v[24:25], v24 offset0:128 // 000000007A2C: D8DC0080 18000018 s_waitcnt lgkmcnt(0) // 000000007A34: BF8C007F v_add_i32 v24, vcc, v24, v25 // 000000007A38: 4A303318 s_andn2_b64 exec, s[82:83], exec // wrscc // 000000007A3C: 8AFE7E52 ds_read_b32 v24, v4 offset:18848 // 000000007A40: D8D849A0 18000004 s_mov_b64 exec, s[82:83] // 000000007A48: BEFE0452 s_waitcnt lgkmcnt(0) // 000000007A4C: BF8C007F ds_write_b32 v4, v24 offset:16796 // 000000007A50: D834419C 00001804 label_1E96: s_waitcnt lgkmcnt(0) // 000000007A58: BF8C007F s_barrier // 000000007A5C: BF8A0000 s_and_b64 exec, s[44:45], s[46:47] // wrscc // 000000007A60: 87FE2E2C s_cbranch_execz label_1EA8 // 000000007A64: BF88000E s_and_saveexec_b64 s[82:83], s[80:81] // wrscc // 000000007A68: BED22450 v_add_i32 v24, vcc, 0x00003d9c, v4 // 000000007A6C: 4A3008FF 00003D9C ds_read2st64_b32 v[24:25], v24 offset0:4 // 000000007A74: D8E00004 18000018 s_waitcnt lgkmcnt(0) // 000000007A7C: BF8C007F v_add_i32 v24, vcc, v24, v25 // 000000007A80: 4A303318 s_andn2_b64 exec, s[82:83], exec // wrscc // 000000007A84: 8AFE7E52 ds_read_b32 v24, v4 offset:16796 // 000000007A88: D8D8419C 18000004 s_mov_b64 exec, s[82:83] // 000000007A90: BEFE0452 s_waitcnt lgkmcnt(0) // 000000007A94: BF8C007F ds_write_b32 v4, v24 offset:18848 // 000000007A98: D83449A0 00001804 label_1EA8: s_mov_b64 exec, s[44:45] // 000000007AA0: BEFE042C s_waitcnt lgkmcnt(0) // 000000007AA4: BF8C007F s_barrier // 000000007AA8: BF8A0000 s_mov_b64 s[44:45], exec // 000000007AAC: BEAC047E v_mov_b32 v24, 0 // 000000007AB0: 7E300280 v_mov_b32 v25, v23 // 000000007AB4: 7E320317 label_1EAE: v_cmp_ge_u32 vcc, v24, v11 // 000000007AB8: 7D8C1718 s_andn2_b64 exec, exec, vcc // wrscc // 000000007ABC: 8AFE6A7E s_cbranch_execz label_1FD1 // 000000007AC0: BF880120 v_add_i32 v32, vcc, v12, v25 // 000000007AC4: 4A40330C s_load_dwordx4 s[84:87], s[0:1], 0x58 // 000000007AC8: C0AA0158 s_waitcnt lgkmcnt(0) // 000000007ACC: BF8C007F buffer_load_dword v32, v32, s[84:87], 0 idxen // 000000007AD0: E0302000 80152020 v_cmp_gt_u32 s[82:83], v22, v25 // 000000007AD8: D1880052 00023316 s_waitcnt vmcnt(0) // 000000007AE0: BF8C0F70 v_cndmask_b32 v32, -1, v32, s[82:83] // 000000007AE4: D2000020 014A40C1 v_bfe_u32 v33, v32, 24, 1 // 000000007AEC: D2900021 02053120 v_lshrrev_b32 v34, 24, v32 // 000000007AF4: 2C444098 v_and_b32 v35, 2, v34 // 000000007AF8: 36464482 v_cmp_ne_i32 vcc, 0, v33 // 000000007AFC: 7D0A4280 v_and_b32 v36, 4, v34 // 000000007B00: 36484484 v_cndmask_b32 v37, 0, -1, vcc // 000000007B04: D2000025 01A98280 v_cmp_ne_i32 vcc, 0, v35 // 000000007B0C: 7D0A4680 v_and_b32 v34, 8, v34 // 000000007B10: 36444488 v_bfm_b32 v38, 1, v8 // 000000007B14: 3C4C1081 v_lshl_b32 v37, v37, v8 // 000000007B18: 324A1125 v_cndmask_b32 v39, 0, -1, vcc // 000000007B1C: D2000027 01A98280 v_cmp_ne_i32 vcc, 0, v36 // 000000007B24: 7D0A4880 v_bfi_b32 v37, v38, v37, 0 // 000000007B28: D2940025 02024B26 v_lshl_b32 v39, v39, v8 // 000000007B30: 324E1127 v_cndmask_b32 v40, 0, -1, vcc // 000000007B34: D2000028 01A98280 v_cmp_ne_i32 vcc, 0, v34 // 000000007B3C: 7D0A4480 v_bfi_b32 v39, v38, v39, 0 // 000000007B40: D2940027 02024F26 v_lshl_b32 v40, v40, v8 // 000000007B48: 32501128 v_cndmask_b32 v41, 0, -1, vcc // 000000007B4C: D2000029 01A98280 ds_write_b32 v4, v37 offset:408 // 000000007B54: D8340198 00002504 v_bfi_b32 v37, v38, v40, 0 // 000000007B5C: D2940025 02025126 v_lshl_b32 v40, v41, v8 // 000000007B64: 32501129 ds_write_b32 v29, v39 offset:408 // 000000007B68: D8340198 0000271D v_bfi_b32 v38, v38, v40, 0 // 000000007B70: D2940026 02025126 ds_write_b32 v28, v37 offset:408 // 000000007B78: D8340198 0000251C ds_write_b32 v27, v38 offset:408 // 000000007B80: D8340198 0000261B s_waitcnt lgkmcnt(0) // 000000007B88: BF8C007F s_barrier // 000000007B8C: BF8A0000 s_and_saveexec_b64 s[84:85], s[48:49] // wrscc // 000000007B90: BED42430 s_cbranch_execz label_1F03 // 000000007B94: BF88001D ds_read2_b32 v[37:38], v4 offset0:102 offset1:118 // 000000007B98: D8DC7666 25000004 ds_read_b32 v39, v29 offset:408 // 000000007BA0: D8D80198 2700001D ds_read_b32 v40, v28 offset:408 // 000000007BA8: D8D80198 2800001C ds_read_b32 v41, v27 offset:408 // 000000007BB0: D8D80198 2900001B v_add_i32 v42, vcc, 0x000011d8, v4 // 000000007BB8: 4A5408FF 000011D8 ds_read2st64_b32 v[42:43], v42 offset1:16 // 000000007BC0: D8E01000 2A00002A ds_read_b32 v44, v4 offset:12760 // 000000007BC8: D8D831D8 2C000004 s_waitcnt lgkmcnt(5) // 000000007BD0: BF8C057F v_or_b32 v37, v37, v38 // 000000007BD4: 384A4D25 s_waitcnt lgkmcnt(1) // 000000007BD8: BF8C017F v_or_b32 v38, v39, v42 // 000000007BDC: 384C5527 v_or_b32 v39, v40, v43 // 000000007BE0: 384E5728 s_waitcnt lgkmcnt(0) // 000000007BE4: BF8C007F v_or_b32 v40, v41, v44 // 000000007BE8: 38505929 ds_write_b32 v4, v37 offset:408 // 000000007BEC: D8340198 00002504 ds_write_b32 v29, v38 offset:408 // 000000007BF4: D8340198 0000261D ds_write_b32 v28, v39 offset:408 // 000000007BFC: D8340198 0000271C ds_write_b32 v27, v40 offset:408 // 000000007C04: D8340198 0000281B label_1F03: s_waitcnt lgkmcnt(0) // 000000007C0C: BF8C007F s_barrier // 000000007C10: BF8A0000 s_and_b64 exec, s[84:85], s[50:51] // wrscc // 000000007C14: 87FE3254 s_cbranch_execz label_1F24 // 000000007C18: BF88001D ds_read2_b32 v[37:38], v4 offset0:102 offset1:110 // 000000007C1C: D8DC6E66 25000004 ds_read_b32 v39, v29 offset:408 // 000000007C24: D8D80198 2700001D ds_read_b32 v40, v28 offset:408 // 000000007C2C: D8D80198 2800001C ds_read_b32 v41, v27 offset:408 // 000000007C34: D8D80198 2900001B v_add_i32 v42, vcc, 0x000011b8, v4 // 000000007C3C: 4A5408FF 000011B8 ds_read2st64_b32 v[42:43], v42 offset1:16 // 000000007C44: D8E01000 2A00002A ds_read_b32 v44, v4 offset:12728 // 000000007C4C: D8D831B8 2C000004 s_waitcnt lgkmcnt(5) // 000000007C54: BF8C057F v_or_b32 v37, v37, v38 // 000000007C58: 384A4D25 s_waitcnt lgkmcnt(1) // 000000007C5C: BF8C017F v_or_b32 v38, v39, v42 // 000000007C60: 384C5527 v_or_b32 v39, v40, v43 // 000000007C64: 384E5728 s_waitcnt lgkmcnt(0) // 000000007C68: BF8C007F v_or_b32 v40, v41, v44 // 000000007C6C: 38505929 ds_write_b32 v4, v37 offset:408 // 000000007C70: D8340198 00002504 ds_write_b32 v29, v38 offset:408 // 000000007C78: D8340198 0000261D ds_write_b32 v28, v39 offset:408 // 000000007C80: D8340198 0000271C ds_write_b32 v27, v40 offset:408 // 000000007C88: D8340198 0000281B label_1F24: s_waitcnt lgkmcnt(0) // 000000007C90: BF8C007F s_barrier // 000000007C94: BF8A0000 s_and_b64 exec, s[84:85], s[52:53] // wrscc // 000000007C98: 87FE3454 s_cbranch_execz label_1F45 // 000000007C9C: BF88001D ds_read2_b32 v[37:38], v4 offset0:102 offset1:106 // 000000007CA0: D8DC6A66 25000004 ds_read_b32 v39, v29 offset:408 // 000000007CA8: D8D80198 2700001D ds_read_b32 v40, v28 offset:408 // 000000007CB0: D8D80198 2800001C ds_read_b32 v41, v27 offset:408 // 000000007CB8: D8D80198 2900001B v_add_i32 v42, vcc, 0x000011a8, v4 // 000000007CC0: 4A5408FF 000011A8 ds_read2st64_b32 v[42:43], v42 offset1:16 // 000000007CC8: D8E01000 2A00002A ds_read_b32 v44, v4 offset:12712 // 000000007CD0: D8D831A8 2C000004 s_waitcnt lgkmcnt(5) // 000000007CD8: BF8C057F v_or_b32 v37, v37, v38 // 000000007CDC: 384A4D25 s_waitcnt lgkmcnt(1) // 000000007CE0: BF8C017F v_or_b32 v38, v39, v42 // 000000007CE4: 384C5527 v_or_b32 v39, v40, v43 // 000000007CE8: 384E5728 s_waitcnt lgkmcnt(0) // 000000007CEC: BF8C007F v_or_b32 v40, v41, v44 // 000000007CF0: 38505929 ds_write_b32 v4, v37 offset:408 // 000000007CF4: D8340198 00002504 ds_write_b32 v29, v38 offset:408 // 000000007CFC: D8340198 0000261D ds_write_b32 v28, v39 offset:408 // 000000007D04: D8340198 0000271C ds_write_b32 v27, v40 offset:408 // 000000007D0C: D8340198 0000281B label_1F45: s_waitcnt lgkmcnt(0) // 000000007D14: BF8C007F s_barrier // 000000007D18: BF8A0000 s_and_b64 exec, s[84:85], s[54:55] // wrscc // 000000007D1C: 87FE3654 s_cbranch_execz label_1F66 // 000000007D20: BF88001D ds_read2_b32 v[37:38], v4 offset0:102 offset1:104 // 000000007D24: D8DC6866 25000004 ds_read_b32 v39, v29 offset:408 // 000000007D2C: D8D80198 2700001D ds_read_b32 v40, v28 offset:408 // 000000007D34: D8D80198 2800001C ds_read_b32 v41, v27 offset:408 // 000000007D3C: D8D80198 2900001B v_add_i32 v42, vcc, 0x000011a0, v4 // 000000007D44: 4A5408FF 000011A0 ds_read2st64_b32 v[42:43], v42 offset1:16 // 000000007D4C: D8E01000 2A00002A ds_read_b32 v44, v4 offset:12704 // 000000007D54: D8D831A0 2C000004 s_waitcnt lgkmcnt(5) // 000000007D5C: BF8C057F v_or_b32 v37, v37, v38 // 000000007D60: 384A4D25 s_waitcnt lgkmcnt(1) // 000000007D64: BF8C017F v_or_b32 v38, v39, v42 // 000000007D68: 384C5527 v_or_b32 v39, v40, v43 // 000000007D6C: 384E5728 s_waitcnt lgkmcnt(0) // 000000007D70: BF8C007F v_or_b32 v40, v41, v44 // 000000007D74: 38505929 ds_write_b32 v4, v37 offset:408 // 000000007D78: D8340198 00002504 ds_write_b32 v29, v38 offset:408 // 000000007D80: D8340198 0000261D ds_write_b32 v28, v39 offset:408 // 000000007D88: D8340198 0000271C ds_write_b32 v27, v40 offset:408 // 000000007D90: D8340198 0000281B label_1F66: s_waitcnt lgkmcnt(0) // 000000007D98: BF8C007F s_barrier // 000000007D9C: BF8A0000 s_and_b64 exec, s[84:85], s[56:57] // wrscc // 000000007DA0: 87FE3854 s_cbranch_execz label_1F87 // 000000007DA4: BF88001D ds_read2_b32 v[37:38], v4 offset0:102 offset1:103 // 000000007DA8: D8DC6766 25000004 ds_read_b32 v39, v29 offset:408 // 000000007DB0: D8D80198 2700001D ds_read_b32 v40, v28 offset:408 // 000000007DB8: D8D80198 2800001C ds_read_b32 v41, v27 offset:408 // 000000007DC0: D8D80198 2900001B v_add_i32 v42, vcc, 0x0000119c, v4 // 000000007DC8: 4A5408FF 0000119C ds_read2st64_b32 v[42:43], v42 offset1:16 // 000000007DD0: D8E01000 2A00002A ds_read_b32 v44, v4 offset:12700 // 000000007DD8: D8D8319C 2C000004 s_waitcnt lgkmcnt(5) // 000000007DE0: BF8C057F v_or_b32 v37, v37, v38 // 000000007DE4: 384A4D25 s_waitcnt lgkmcnt(1) // 000000007DE8: BF8C017F v_or_b32 v38, v39, v42 // 000000007DEC: 384C5527 v_or_b32 v39, v40, v43 // 000000007DF0: 384E5728 s_waitcnt lgkmcnt(0) // 000000007DF4: BF8C007F v_or_b32 v40, v41, v44 // 000000007DF8: 38505929 ds_write_b32 v4, v37 offset:408 // 000000007DFC: D8340198 00002504 ds_write_b32 v29, v38 offset:408 // 000000007E04: D8340198 0000261D ds_write_b32 v28, v39 offset:408 // 000000007E0C: D8340198 0000271C ds_write_b32 v27, v40 offset:408 // 000000007E14: D8340198 0000281B label_1F87: s_mov_b64 exec, s[84:85] // 000000007E1C: BEFE0454 s_waitcnt lgkmcnt(0) // 000000007E20: BF8C007F s_barrier // 000000007E24: BF8A0000 v_add_i32 v37, vcc, 0x00000198, v31 // 000000007E28: 4A4A3EFF 00000198 ds_read2st64_b32 v[38:39], v37 offset1:16 // 000000007E30: D8E01000 26000025 ds_read2st64_b32 v[40:41], v37 offset0:32 offset1:48 // 000000007E38: D8E03020 28000025 v_lshrrev_b32 v37, 19, v32 // 000000007E40: 2C4A4093 s_movk_i32 s3, 0x01e0 // 000000007E44: B00301E0 v_bfi_b32 v37, s3, v37, 0 // 000000007E48: D2940025 02024A03 v_add_i32 v37, vcc, v5, v37 // 000000007E50: 4A4A4B05 v_lshlrev_b32 v37, 2, v37 // 000000007E54: 344A4A82 ds_read_b32 v37, v37 offset:18844 // 000000007E58: D8D8499C 25000025 s_and_saveexec_b64 s[82:83], s[82:83] // wrscc // 000000007E60: BED22452 v_add_i32 v33, vcc, -1, v33 // 000000007E64: 4A4242C1 s_cbranch_execz label_1FB6 // 000000007E68: BF88001B s_waitcnt lgkmcnt(2) // 000000007E6C: BF8C027F v_xor_b32 v33, v38, v33 // 000000007E70: 3A424326 v_cmp_eq_i32 vcc, 0, v35 // 000000007E74: 7D044680 v_cndmask_b32 v35, 0, -1, vcc // 000000007E78: D2000023 01A98280 v_xor_b32 v35, v39, v35 // 000000007E80: 3A464727 v_and_b32 v33, v33, v35 // 000000007E84: 36424721 v_cmp_eq_i32 vcc, 0, v36 // 000000007E88: 7D044880 v_cndmask_b32 v35, 0, -1, vcc // 000000007E8C: D2000023 01A98280 s_waitcnt lgkmcnt(1) // 000000007E94: BF8C017F v_xor_b32 v35, v40, v35 // 000000007E98: 3A464728 v_and_b32 v33, v33, v35 // 000000007E9C: 36424721 v_cmp_eq_i32 vcc, 0, v34 // 000000007EA0: 7D044480 v_cndmask_b32 v34, 0, -1, vcc // 000000007EA4: D2000022 01A98280 v_xor_b32 v34, v41, v34 // 000000007EAC: 3A444529 v_and_b32 v33, v33, v34 // 000000007EB0: 36424521 v_bfe_u32 v33, v33, 0, v8 // 000000007EB4: D2900021 04210121 s_waitcnt lgkmcnt(0) // 000000007EBC: BF8C007F v_bcnt_u32_b32 v33, v33, v37 // 000000007EC0: 44424B21 v_add_i32 v33, vcc, v20, v33 // 000000007EC4: 4A424314 s_load_dwordx4 s[84:87], s[0:1], 0x58 // 000000007EC8: C0AA0158 s_waitcnt lgkmcnt(0) // 000000007ECC: BF8C007F buffer_store_dword v32, v33, s[84:87], 0 idxen // 000000007ED0: E0702000 80152021 label_1FB6: s_waitcnt vmcnt(0) & lgkmcnt(0) // 000000007ED8: BF8C0070 s_barrier // 000000007EDC: BF8A0000 s_and_b64 exec, s[82:83], s[48:49] // wrscc // 000000007EE0: 87FE3052 s_cbranch_execz label_1FCD // 000000007EE4: BF880013 ds_read_b32 v32, v26 offset:18844 // 000000007EE8: D8D8499C 2000001A v_xor_b32 v33, v30, v38 // 000000007EF0: 3A424D1E v_cndmask_b32 v34, 0, -1, s[58:59] // 000000007EF4: D2000022 00E98280 v_xor_b32 v34, v34, v39 // 000000007EFC: 3A444F22 v_and_b32 v33, v33, v34 // 000000007F00: 36424521 v_cndmask_b32 v34, 0, -1, s[60:61] // 000000007F04: D2000022 00F18280 v_xor_b32 v34, v34, v40 // 000000007F0C: 3A445122 v_and_b32 v33, v33, v34 // 000000007F10: 36424521 v_cndmask_b32 v34, 0, -1, s[62:63] // 000000007F14: D2000022 00F98280 v_xor_b32 v34, v34, v41 // 000000007F1C: 3A445322 v_and_b32 v33, v33, v34 // 000000007F20: 36424521 s_waitcnt lgkmcnt(0) // 000000007F24: BF8C007F v_bcnt_u32_b32 v32, v33, v32 // 000000007F28: 44404121 ds_write_b32 v26, v32 offset:18844 // 000000007F2C: D834499C 0000201A label_1FCD: s_mov_b64 exec, s[82:83] // 000000007F34: BEFE0452 v_add_i32 v24, vcc, 1, v24 // 000000007F38: 4A303081 v_add_i32 v25, vcc, 32, v25 // 000000007F3C: 4A3232A0 s_branch label_1EAE // 000000007F40: BF82FEDD label_1FD1: s_mov_b64 exec, s[44:45] // 000000007F44: BEFE042C v_cmp_ne_u32 vcc, 0, v21 // 000000007F48: 7D8A2A80 s_and_saveexec_b64 s[44:45], vcc // wrscc // 000000007F4C: BEAC246A v_add_i32 v24, vcc, v12, v25 // 000000007F50: 4A30330C s_cbranch_execz label_210D // 000000007F54: BF880137 s_load_dwordx4 s[84:87], s[0:1], 0x58 // 000000007F58: C0AA0158 s_waitcnt lgkmcnt(0) // 000000007F5C: BF8C007F buffer_load_dword v24, v24, s[84:87], 0 idxen // 000000007F60: E0302000 80151818 v_cmp_gt_u32 s[82:83], v22, v25 // 000000007F68: D1880052 00023316 s_waitcnt vmcnt(0) // 000000007F70: BF8C0F70 v_cndmask_b32 v24, -1, v24, s[82:83] // 000000007F74: D2000018 014A30C1 s_and_saveexec_b64 s[84:85], s[42:43] // wrscc // 000000007F7C: BED4242A v_bfm_b32 v25, 1, v8 // 000000007F80: 3C321081 s_cbranch_execz label_2008 // 000000007F84: BF880026 v_bfe_u32 v32, v24, 24, 1 // 000000007F88: D2900020 02053118 v_cmp_ne_i32 vcc, 0, v32 // 000000007F90: 7D0A4080 v_cndmask_b32 v32, 0, -1, vcc // 000000007F94: D2000020 01A98280 v_lshl_b32 v32, v32, v8 // 000000007F9C: 32401120 v_bfi_b32 v32, v25, v32, 0 // 000000007FA0: D2940020 02024119 v_lshrrev_b32 v33, 24, v24 // 000000007FA8: 2C423098 v_and_b32 v34, 2, v33 // 000000007FAC: 36444282 v_cmp_ne_i32 vcc, 0, v34 // 000000007FB0: 7D0A4480 v_cndmask_b32 v34, 0, -1, vcc // 000000007FB4: D2000022 01A98280 v_lshl_b32 v34, v34, v8 // 000000007FBC: 32441122 v_bfi_b32 v34, v25, v34, 0 // 000000007FC0: D2940022 02024519 v_and_b32 v35, 4, v33 // 000000007FC8: 36464284 v_cmp_ne_i32 vcc, 0, v35 // 000000007FCC: 7D0A4680 v_cndmask_b32 v35, 0, -1, vcc // 000000007FD0: D2000023 01A98280 v_lshl_b32 v35, v35, v8 // 000000007FD8: 32461123 v_bfi_b32 v35, v25, v35, 0 // 000000007FDC: D2940023 02024719 v_and_b32 v33, 8, v33 // 000000007FE4: 36424288 v_cmp_ne_i32 vcc, 0, v33 // 000000007FE8: 7D0A4280 v_cndmask_b32 v33, 0, -1, vcc // 000000007FEC: D2000021 01A98280 v_lshl_b32 v33, v33, v8 // 000000007FF4: 32421121 v_bfi_b32 v25, v25, v33, 0 // 000000007FF8: D2940019 02024319 ds_write_b32 v4, v32 offset:408 // 000000008000: D8340198 00002004 ds_write_b32 v29, v34 offset:408 // 000000008008: D8340198 0000221D ds_write_b32 v28, v35 offset:408 // 000000008010: D8340198 0000231C ds_write_b32 v27, v25 offset:408 // 000000008018: D8340198 0000191B label_2008: s_waitcnt lgkmcnt(0) // 000000008020: BF8C007F s_barrier // 000000008024: BF8A0000 s_and_b64 exec, s[84:85], s[42:43] // wrscc // 000000008028: 87FE2A54 s_cbranch_execz label_202B // 00000000802C: BF88001F s_and_saveexec_b64 s[86:87], s[48:49] // wrscc // 000000008030: BED62430 s_cbranch_execz label_202B // 000000008034: BF88001D ds_read2_b32 v[32:33], v4 offset0:102 offset1:118 // 000000008038: D8DC7666 20000004 ds_read_b32 v25, v29 offset:408 // 000000008040: D8D80198 1900001D ds_read_b32 v34, v28 offset:408 // 000000008048: D8D80198 2200001C ds_read_b32 v35, v27 offset:408 // 000000008050: D8D80198 2300001B v_add_i32 v36, vcc, 0x000011d8, v4 // 000000008058: 4A4808FF 000011D8 ds_read2st64_b32 v[36:37], v36 offset1:16 // 000000008060: D8E01000 24000024 ds_read_b32 v38, v4 offset:12760 // 000000008068: D8D831D8 26000004 s_waitcnt lgkmcnt(5) // 000000008070: BF8C057F v_or_b32 v32, v32, v33 // 000000008074: 38404320 s_waitcnt lgkmcnt(1) // 000000008078: BF8C017F v_or_b32 v25, v25, v36 // 00000000807C: 38324919 v_or_b32 v33, v34, v37 // 000000008080: 38424B22 s_waitcnt lgkmcnt(0) // 000000008084: BF8C007F v_or_b32 v34, v35, v38 // 000000008088: 38444D23 ds_write_b32 v4, v32 offset:408 // 00000000808C: D8340198 00002004 ds_write_b32 v29, v25 offset:408 // 000000008094: D8340198 0000191D ds_write_b32 v28, v33 offset:408 // 00000000809C: D8340198 0000211C ds_write_b32 v27, v34 offset:408 // 0000000080A4: D8340198 0000221B label_202B: s_waitcnt lgkmcnt(0) // 0000000080AC: BF8C007F s_barrier // 0000000080B0: BF8A0000 s_and_b64 exec, s[84:85], s[42:43] // wrscc // 0000000080B4: 87FE2A54 s_cbranch_execz label_204E // 0000000080B8: BF88001F s_and_saveexec_b64 s[86:87], s[50:51] // wrscc // 0000000080BC: BED62432 s_cbranch_execz label_204E // 0000000080C0: BF88001D ds_read2_b32 v[32:33], v4 offset0:102 offset1:110 // 0000000080C4: D8DC6E66 20000004 ds_read_b32 v25, v29 offset:408 // 0000000080CC: D8D80198 1900001D ds_read_b32 v34, v28 offset:408 // 0000000080D4: D8D80198 2200001C ds_read_b32 v35, v27 offset:408 // 0000000080DC: D8D80198 2300001B v_add_i32 v36, vcc, 0x000011b8, v4 // 0000000080E4: 4A4808FF 000011B8 ds_read2st64_b32 v[36:37], v36 offset1:16 // 0000000080EC: D8E01000 24000024 ds_read_b32 v38, v4 offset:12728 // 0000000080F4: D8D831B8 26000004 s_waitcnt lgkmcnt(5) // 0000000080FC: BF8C057F v_or_b32 v32, v32, v33 // 000000008100: 38404320 s_waitcnt lgkmcnt(1) // 000000008104: BF8C017F v_or_b32 v25, v25, v36 // 000000008108: 38324919 v_or_b32 v33, v34, v37 // 00000000810C: 38424B22 s_waitcnt lgkmcnt(0) // 000000008110: BF8C007F v_or_b32 v34, v35, v38 // 000000008114: 38444D23 ds_write_b32 v4, v32 offset:408 // 000000008118: D8340198 00002004 ds_write_b32 v29, v25 offset:408 // 000000008120: D8340198 0000191D ds_write_b32 v28, v33 offset:408 // 000000008128: D8340198 0000211C ds_write_b32 v27, v34 offset:408 // 000000008130: D8340198 0000221B label_204E: s_waitcnt lgkmcnt(0) // 000000008138: BF8C007F s_barrier // 00000000813C: BF8A0000 s_and_b64 exec, s[84:85], s[42:43] // wrscc // 000000008140: 87FE2A54 s_cbranch_execz label_2071 // 000000008144: BF88001F s_and_saveexec_b64 s[86:87], s[52:53] // wrscc // 000000008148: BED62434 s_cbranch_execz label_2071 // 00000000814C: BF88001D ds_read2_b32 v[32:33], v4 offset0:102 offset1:106 // 000000008150: D8DC6A66 20000004 ds_read_b32 v25, v29 offset:408 // 000000008158: D8D80198 1900001D ds_read_b32 v34, v28 offset:408 // 000000008160: D8D80198 2200001C ds_read_b32 v35, v27 offset:408 // 000000008168: D8D80198 2300001B v_add_i32 v36, vcc, 0x000011a8, v4 // 000000008170: 4A4808FF 000011A8 ds_read2st64_b32 v[36:37], v36 offset1:16 // 000000008178: D8E01000 24000024 ds_read_b32 v38, v4 offset:12712 // 000000008180: D8D831A8 26000004 s_waitcnt lgkmcnt(5) // 000000008188: BF8C057F v_or_b32 v32, v32, v33 // 00000000818C: 38404320 s_waitcnt lgkmcnt(1) // 000000008190: BF8C017F v_or_b32 v25, v25, v36 // 000000008194: 38324919 v_or_b32 v33, v34, v37 // 000000008198: 38424B22 s_waitcnt lgkmcnt(0) // 00000000819C: BF8C007F v_or_b32 v34, v35, v38 // 0000000081A0: 38444D23 ds_write_b32 v4, v32 offset:408 // 0000000081A4: D8340198 00002004 ds_write_b32 v29, v25 offset:408 // 0000000081AC: D8340198 0000191D ds_write_b32 v28, v33 offset:408 // 0000000081B4: D8340198 0000211C ds_write_b32 v27, v34 offset:408 // 0000000081BC: D8340198 0000221B label_2071: s_waitcnt lgkmcnt(0) // 0000000081C4: BF8C007F s_barrier // 0000000081C8: BF8A0000 s_and_b64 exec, s[84:85], s[42:43] // wrscc // 0000000081CC: 87FE2A54 s_cbranch_execz label_2094 // 0000000081D0: BF88001F s_and_saveexec_b64 s[86:87], s[54:55] // wrscc // 0000000081D4: BED62436 s_cbranch_execz label_2094 // 0000000081D8: BF88001D ds_read2_b32 v[32:33], v4 offset0:102 offset1:104 // 0000000081DC: D8DC6866 20000004 ds_read_b32 v25, v29 offset:408 // 0000000081E4: D8D80198 1900001D ds_read_b32 v34, v28 offset:408 // 0000000081EC: D8D80198 2200001C ds_read_b32 v35, v27 offset:408 // 0000000081F4: D8D80198 2300001B v_add_i32 v36, vcc, 0x000011a0, v4 // 0000000081FC: 4A4808FF 000011A0 ds_read2st64_b32 v[36:37], v36 offset1:16 // 000000008204: D8E01000 24000024 ds_read_b32 v38, v4 offset:12704 // 00000000820C: D8D831A0 26000004 s_waitcnt lgkmcnt(5) // 000000008214: BF8C057F v_or_b32 v32, v32, v33 // 000000008218: 38404320 s_waitcnt lgkmcnt(1) // 00000000821C: BF8C017F v_or_b32 v25, v25, v36 // 000000008220: 38324919 v_or_b32 v33, v34, v37 // 000000008224: 38424B22 s_waitcnt lgkmcnt(0) // 000000008228: BF8C007F v_or_b32 v34, v35, v38 // 00000000822C: 38444D23 ds_write_b32 v4, v32 offset:408 // 000000008230: D8340198 00002004 ds_write_b32 v29, v25 offset:408 // 000000008238: D8340198 0000191D ds_write_b32 v28, v33 offset:408 // 000000008240: D8340198 0000211C ds_write_b32 v27, v34 offset:408 // 000000008248: D8340198 0000221B label_2094: s_waitcnt lgkmcnt(0) // 000000008250: BF8C007F s_barrier // 000000008254: BF8A0000 s_and_b64 exec, s[84:85], s[42:43] // wrscc // 000000008258: 87FE2A54 s_cbranch_execz label_20B7 // 00000000825C: BF88001F s_and_saveexec_b64 s[86:87], s[56:57] // wrscc // 000000008260: BED62438 s_cbranch_execz label_20B7 // 000000008264: BF88001D ds_read2_b32 v[32:33], v4 offset0:102 offset1:103 // 000000008268: D8DC6766 20000004 ds_read_b32 v25, v29 offset:408 // 000000008270: D8D80198 1900001D ds_read_b32 v34, v28 offset:408 // 000000008278: D8D80198 2200001C ds_read_b32 v35, v27 offset:408 // 000000008280: D8D80198 2300001B v_add_i32 v36, vcc, 0x0000119c, v4 // 000000008288: 4A4808FF 0000119C ds_read2st64_b32 v[36:37], v36 offset1:16 // 000000008290: D8E01000 24000024 ds_read_b32 v38, v4 offset:12700 // 000000008298: D8D8319C 26000004 s_waitcnt lgkmcnt(5) // 0000000082A0: BF8C057F v_or_b32 v32, v32, v33 // 0000000082A4: 38404320 s_waitcnt lgkmcnt(1) // 0000000082A8: BF8C017F v_or_b32 v25, v25, v36 // 0000000082AC: 38324919 v_or_b32 v33, v34, v37 // 0000000082B0: 38424B22 s_waitcnt lgkmcnt(0) // 0000000082B4: BF8C007F v_or_b32 v34, v35, v38 // 0000000082B8: 38444D23 ds_write_b32 v4, v32 offset:408 // 0000000082BC: D8340198 00002004 ds_write_b32 v29, v25 offset:408 // 0000000082C4: D8340198 0000191D ds_write_b32 v28, v33 offset:408 // 0000000082CC: D8340198 0000211C ds_write_b32 v27, v34 offset:408 // 0000000082D4: D8340198 0000221B label_20B7: s_waitcnt lgkmcnt(0) // 0000000082DC: BF8C007F s_barrier // 0000000082E0: BF8A0000 s_and_b64 exec, s[84:85], s[42:43] // wrscc // 0000000082E4: 87FE2A54 v_add_i32 v25, vcc, 0x00000198, v31 // 0000000082E8: 4A323EFF 00000198 s_cbranch_execz label_20E7 // 0000000082F0: BF88002A ds_read2st64_b32 v[32:33], v25 offset1:16 // 0000000082F4: D8E01000 20000019 ds_read2st64_b32 v[34:35], v25 offset0:32 offset1:48 // 0000000082FC: D8E03020 22000019 v_lshrrev_b32 v25, 24, v24 // 000000008304: 2C323098 v_lshrrev_b32 v36, 19, v24 // 000000008308: 2C483093 s_movk_i32 s3, 0x01e0 // 00000000830C: B00301E0 v_and_b32 v37, 2, v25 // 000000008310: 364A3282 v_bfi_b32 v36, s3, v36, 0 // 000000008314: D2940024 02024803 v_bfe_u32 v38, v24, 24, 1 // 00000000831C: D2900026 02053118 v_cmp_eq_i32 s[86:87], v37, 0 // 000000008324: D1040056 00010125 v_and_b32 v37, 4, v25 // 00000000832C: 364A3284 v_add_i32 v36, vcc, v5, v36 // 000000008330: 4A484905 v_add_i32 v38, vcc, -1, v38 // 000000008334: 4A4C4CC1 v_cndmask_b32 v39, 0, -1, s[86:87] // 000000008338: D2000027 01598280 v_cmp_eq_i32 vcc, 0, v37 // 000000008340: 7D044A80 v_and_b32 v25, 8, v25 // 000000008344: 36323288 v_lshlrev_b32 v36, 2, v36 // 000000008348: 34484882 ds_read_b32 v36, v36 offset:18844 // 00000000834C: D8D8499C 24000024 s_waitcnt lgkmcnt(2) // 000000008354: BF8C027F v_xor_b32 v37, v32, v38 // 000000008358: 3A4A4D20 v_xor_b32 v38, v33, v39 // 00000000835C: 3A4C4F21 v_cndmask_b32 v39, 0, -1, vcc // 000000008360: D2000027 01A98280 v_cmp_eq_i32 vcc, 0, v25 // 000000008368: 7D043280 s_waitcnt lgkmcnt(1) // 00000000836C: BF8C017F v_xor_b32 v25, v34, v39 // 000000008370: 3A324F22 v_cndmask_b32 v39, 0, -1, vcc // 000000008374: D2000027 01A98280 v_and_b32 v37, v37, v38 // 00000000837C: 364A4D25 v_xor_b32 v38, v35, v39 // 000000008380: 3A4C4F23 v_and_b32 v25, v25, v37 // 000000008384: 36324B19 v_and_b32 v25, v38, v25 // 000000008388: 36323326 v_bfe_u32 v25, v25, 0, v8 // 00000000838C: D2900019 04210119 s_waitcnt lgkmcnt(0) // 000000008394: BF8C007F v_bcnt_u32_b32 v25, v25, v36 // 000000008398: 44324919 label_20E7: s_andn2_b64 exec, s[84:85], exec // wrscc // 00000000839C: 8AFE7E54 v_mov_b32 v33, 0 // 0000000083A0: 7E420280 v_mov_b32 v35, 0 // 0000000083A4: 7E460280 v_mov_b32 v25, 0 // 0000000083A8: 7E320280 v_mov_b32 v62, 0 // 0000000083AC: 7E7C0280 v_mov_b32 v34, 0 // 0000000083B0: 7E440280 v_mov_b32 v32, 0 // 0000000083B4: 7E400280 s_and_b64 exec, s[84:85], s[82:83] // wrscc // 0000000083B8: 87FE5254 v_add_i32 v25, vcc, v20, v25 // 0000000083BC: 4A323314 s_load_dwordx4 s[88:91], s[0:1], 0x58 // 0000000083C0: C0AC0158 s_waitcnt lgkmcnt(0) // 0000000083C4: BF8C007F buffer_store_dword v24, v25, s[88:91], 0 idxen // 0000000083C8: E0702000 80161819 s_waitcnt vmcnt(0) // 0000000083D0: BF8C0F70 s_barrier // 0000000083D4: BF8A0000 s_and_b64 exec, s[84:85], s[42:43] // wrscc // 0000000083D8: 87FE2A54 s_cbranch_execz label_210D // 0000000083DC: BF880015 s_and_saveexec_b64 s[82:83], s[48:49] // wrscc // 0000000083E0: BED22430 s_cbranch_execz label_210D // 0000000083E4: BF880013 ds_read_b32 v24, v26 offset:18844 // 0000000083E8: D8D8499C 1800001A v_xor_b32 v25, v30, v32 // 0000000083F0: 3A32411E v_cndmask_b32 v32, 0, -1, s[58:59] // 0000000083F4: D2000020 00E98280 v_xor_b32 v32, v32, v33 // 0000000083FC: 3A404320 v_and_b32 v25, v25, v32 // 000000008400: 36324119 v_cndmask_b32 v32, 0, -1, s[60:61] // 000000008404: D2000020 00F18280 v_xor_b32 v32, v32, v34 // 00000000840C: 3A404520 v_cndmask_b32 v33, 0, -1, s[62:63] // 000000008410: D2000021 00F98280 v_xor_b32 v33, v33, v35 // 000000008418: 3A424721 v_and_b32 v25, v25, v32 // 00000000841C: 36324119 v_and_b32 v25, v33, v25 // 000000008420: 36323321 s_waitcnt lgkmcnt(0) // 000000008424: BF8C007F v_bcnt_u32_b32 v24, v25, v24 // 000000008428: 44303119 ds_write_b32 v26, v24 offset:18844 // 00000000842C: D834499C 0000181A label_210D: s_mov_b64 exec, s[44:45] // 000000008434: BEFE042C s_mov_b64 s[44:45], exec // 000000008438: BEAC047E v_mov_b32 v25, 0 // 00000000843C: 7E320280 v_mov_b32 v24, 0 // 000000008440: 7E300280 v_mov_b32 v32, v23 // 000000008444: 7E400317 label_2112: v_cmp_ge_u32 vcc, v25, v11 // 000000008448: 7D8C1719 s_andn2_b64 exec, exec, vcc // wrscc // 00000000844C: 8AFE6A7E s_cbranch_execz label_2205 // 000000008450: BF8800F0 v_add_i32 v33, vcc, v20, v32 // 000000008454: 4A424114 s_load_dwordx4 s[84:87], s[0:1], 0x58 // 000000008458: C0AA0158 s_waitcnt lgkmcnt(0) // 00000000845C: BF8C007F buffer_load_dword v33, v33, s[84:87], 0 idxen // 000000008460: E0302000 80152121 v_cmp_gt_u32 vcc, v22, v32 // 000000008468: 7D884116 s_waitcnt vmcnt(0) // 00000000846C: BF8C0F70 v_cndmask_b32 v33, -1, v33, vcc // 000000008470: 004242C1 v_bfe_u32 v34, v33, 28, 1 // 000000008474: D2900022 02053921 v_lshrrev_b32 v33, 28, v33 // 00000000847C: 2C42429C v_cmp_ne_i32 vcc, 0, v34 // 000000008480: 7D0A4480 v_and_b32 v34, 2, v33 // 000000008484: 36444282 v_cndmask_b32 v35, 0, -1, vcc // 000000008488: D2000023 01A98280 v_cmp_ne_i32 vcc, 0, v34 // 000000008490: 7D0A4480 v_and_b32 v34, 4, v33 // 000000008494: 36444284 v_bfm_b32 v36, 1, v8 // 000000008498: 3C481081 v_lshl_b32 v35, v35, v8 // 00000000849C: 32461123 v_cndmask_b32 v37, 0, -1, vcc // 0000000084A0: D2000025 01A98280 v_cmp_ne_i32 vcc, 0, v34 // 0000000084A8: 7D0A4480 v_and_b32 v33, 8, v33 // 0000000084AC: 36424288 v_bfi_b32 v34, v36, v35, 0 // 0000000084B0: D2940022 02024724 v_lshl_b32 v35, v37, v8 // 0000000084B8: 32461125 v_cndmask_b32 v37, 0, -1, vcc // 0000000084BC: D2000025 01A98280 v_cmp_ne_i32 vcc, 0, v33 // 0000000084C4: 7D0A4280 v_bfi_b32 v33, v36, v35, 0 // 0000000084C8: D2940021 02024724 v_lshl_b32 v35, v37, v8 // 0000000084D0: 32461125 v_cndmask_b32 v37, 0, -1, vcc // 0000000084D4: D2000025 01A98280 ds_write_b32 v4, v34 offset:408 // 0000000084DC: D8340198 00002204 v_bfi_b32 v34, v36, v35, 0 // 0000000084E4: D2940022 02024724 v_lshl_b32 v35, v37, v8 // 0000000084EC: 32461125 ds_write_b32 v29, v33 offset:408 // 0000000084F0: D8340198 0000211D v_bfi_b32 v33, v36, v35, 0 // 0000000084F8: D2940021 02024724 ds_write_b32 v28, v34 offset:408 // 000000008500: D8340198 0000221C ds_write_b32 v27, v33 offset:408 // 000000008508: D8340198 0000211B s_waitcnt lgkmcnt(0) // 000000008510: BF8C007F s_barrier // 000000008514: BF8A0000 s_and_saveexec_b64 s[82:83], s[48:49] // wrscc // 000000008518: BED22430 s_cbranch_execz label_2165 // 00000000851C: BF88001D ds_read2_b32 v[33:34], v4 offset0:102 offset1:118 // 000000008520: D8DC7666 21000004 ds_read_b32 v35, v29 offset:408 // 000000008528: D8D80198 2300001D ds_read_b32 v36, v28 offset:408 // 000000008530: D8D80198 2400001C ds_read_b32 v37, v27 offset:408 // 000000008538: D8D80198 2500001B v_add_i32 v38, vcc, 0x000011d8, v4 // 000000008540: 4A4C08FF 000011D8 ds_read2st64_b32 v[38:39], v38 offset1:16 // 000000008548: D8E01000 26000026 ds_read_b32 v40, v4 offset:12760 // 000000008550: D8D831D8 28000004 s_waitcnt lgkmcnt(5) // 000000008558: BF8C057F v_or_b32 v33, v33, v34 // 00000000855C: 38424521 s_waitcnt lgkmcnt(1) // 000000008560: BF8C017F v_or_b32 v34, v35, v38 // 000000008564: 38444D23 v_or_b32 v35, v36, v39 // 000000008568: 38464F24 s_waitcnt lgkmcnt(0) // 00000000856C: BF8C007F v_or_b32 v36, v37, v40 // 000000008570: 38485125 ds_write_b32 v4, v33 offset:408 // 000000008574: D8340198 00002104 ds_write_b32 v29, v34 offset:408 // 00000000857C: D8340198 0000221D ds_write_b32 v28, v35 offset:408 // 000000008584: D8340198 0000231C ds_write_b32 v27, v36 offset:408 // 00000000858C: D8340198 0000241B label_2165: s_waitcnt lgkmcnt(0) // 000000008594: BF8C007F s_barrier // 000000008598: BF8A0000 s_and_b64 exec, s[82:83], s[50:51] // wrscc // 00000000859C: 87FE3252 s_cbranch_execz label_2186 // 0000000085A0: BF88001D ds_read2_b32 v[33:34], v4 offset0:102 offset1:110 // 0000000085A4: D8DC6E66 21000004 ds_read_b32 v35, v29 offset:408 // 0000000085AC: D8D80198 2300001D ds_read_b32 v36, v28 offset:408 // 0000000085B4: D8D80198 2400001C ds_read_b32 v37, v27 offset:408 // 0000000085BC: D8D80198 2500001B v_add_i32 v38, vcc, 0x000011b8, v4 // 0000000085C4: 4A4C08FF 000011B8 ds_read2st64_b32 v[38:39], v38 offset1:16 // 0000000085CC: D8E01000 26000026 ds_read_b32 v40, v4 offset:12728 // 0000000085D4: D8D831B8 28000004 s_waitcnt lgkmcnt(5) // 0000000085DC: BF8C057F v_or_b32 v33, v33, v34 // 0000000085E0: 38424521 s_waitcnt lgkmcnt(1) // 0000000085E4: BF8C017F v_or_b32 v34, v35, v38 // 0000000085E8: 38444D23 v_or_b32 v35, v36, v39 // 0000000085EC: 38464F24 s_waitcnt lgkmcnt(0) // 0000000085F0: BF8C007F v_or_b32 v36, v37, v40 // 0000000085F4: 38485125 ds_write_b32 v4, v33 offset:408 // 0000000085F8: D8340198 00002104 ds_write_b32 v29, v34 offset:408 // 000000008600: D8340198 0000221D ds_write_b32 v28, v35 offset:408 // 000000008608: D8340198 0000231C ds_write_b32 v27, v36 offset:408 // 000000008610: D8340198 0000241B label_2186: s_waitcnt lgkmcnt(0) // 000000008618: BF8C007F s_barrier // 00000000861C: BF8A0000 s_and_b64 exec, s[82:83], s[52:53] // wrscc // 000000008620: 87FE3452 s_cbranch_execz label_21A7 // 000000008624: BF88001D ds_read2_b32 v[33:34], v4 offset0:102 offset1:106 // 000000008628: D8DC6A66 21000004 ds_read_b32 v35, v29 offset:408 // 000000008630: D8D80198 2300001D ds_read_b32 v36, v28 offset:408 // 000000008638: D8D80198 2400001C ds_read_b32 v37, v27 offset:408 // 000000008640: D8D80198 2500001B v_add_i32 v38, vcc, 0x000011a8, v4 // 000000008648: 4A4C08FF 000011A8 ds_read2st64_b32 v[38:39], v38 offset1:16 // 000000008650: D8E01000 26000026 ds_read_b32 v40, v4 offset:12712 // 000000008658: D8D831A8 28000004 s_waitcnt lgkmcnt(5) // 000000008660: BF8C057F v_or_b32 v33, v33, v34 // 000000008664: 38424521 s_waitcnt lgkmcnt(1) // 000000008668: BF8C017F v_or_b32 v34, v35, v38 // 00000000866C: 38444D23 v_or_b32 v35, v36, v39 // 000000008670: 38464F24 s_waitcnt lgkmcnt(0) // 000000008674: BF8C007F v_or_b32 v36, v37, v40 // 000000008678: 38485125 ds_write_b32 v4, v33 offset:408 // 00000000867C: D8340198 00002104 ds_write_b32 v29, v34 offset:408 // 000000008684: D8340198 0000221D ds_write_b32 v28, v35 offset:408 // 00000000868C: D8340198 0000231C ds_write_b32 v27, v36 offset:408 // 000000008694: D8340198 0000241B label_21A7: s_waitcnt lgkmcnt(0) // 00000000869C: BF8C007F s_barrier // 0000000086A0: BF8A0000 s_and_b64 exec, s[82:83], s[54:55] // wrscc // 0000000086A4: 87FE3652 s_cbranch_execz label_21C8 // 0000000086A8: BF88001D ds_read2_b32 v[33:34], v4 offset0:102 offset1:104 // 0000000086AC: D8DC6866 21000004 ds_read_b32 v35, v29 offset:408 // 0000000086B4: D8D80198 2300001D ds_read_b32 v36, v28 offset:408 // 0000000086BC: D8D80198 2400001C ds_read_b32 v37, v27 offset:408 // 0000000086C4: D8D80198 2500001B v_add_i32 v38, vcc, 0x000011a0, v4 // 0000000086CC: 4A4C08FF 000011A0 ds_read2st64_b32 v[38:39], v38 offset1:16 // 0000000086D4: D8E01000 26000026 ds_read_b32 v40, v4 offset:12704 // 0000000086DC: D8D831A0 28000004 s_waitcnt lgkmcnt(5) // 0000000086E4: BF8C057F v_or_b32 v33, v33, v34 // 0000000086E8: 38424521 s_waitcnt lgkmcnt(1) // 0000000086EC: BF8C017F v_or_b32 v34, v35, v38 // 0000000086F0: 38444D23 v_or_b32 v35, v36, v39 // 0000000086F4: 38464F24 s_waitcnt lgkmcnt(0) // 0000000086F8: BF8C007F v_or_b32 v36, v37, v40 // 0000000086FC: 38485125 ds_write_b32 v4, v33 offset:408 // 000000008700: D8340198 00002104 ds_write_b32 v29, v34 offset:408 // 000000008708: D8340198 0000221D ds_write_b32 v28, v35 offset:408 // 000000008710: D8340198 0000231C ds_write_b32 v27, v36 offset:408 // 000000008718: D8340198 0000241B label_21C8: s_waitcnt lgkmcnt(0) // 000000008720: BF8C007F s_barrier // 000000008724: BF8A0000 s_and_b64 exec, s[82:83], s[56:57] // wrscc // 000000008728: 87FE3852 s_cbranch_execz label_21E9 // 00000000872C: BF88001D ds_read2_b32 v[33:34], v4 offset0:102 offset1:103 // 000000008730: D8DC6766 21000004 ds_read_b32 v35, v29 offset:408 // 000000008738: D8D80198 2300001D ds_read_b32 v36, v28 offset:408 // 000000008740: D8D80198 2400001C ds_read_b32 v37, v27 offset:408 // 000000008748: D8D80198 2500001B v_add_i32 v38, vcc, 0x0000119c, v4 // 000000008750: 4A4C08FF 0000119C ds_read2st64_b32 v[38:39], v38 offset1:16 // 000000008758: D8E01000 26000026 ds_read_b32 v40, v4 offset:12700 // 000000008760: D8D8319C 28000004 s_waitcnt lgkmcnt(5) // 000000008768: BF8C057F v_or_b32 v33, v33, v34 // 00000000876C: 38424521 s_waitcnt lgkmcnt(1) // 000000008770: BF8C017F v_or_b32 v34, v35, v38 // 000000008774: 38444D23 v_or_b32 v35, v36, v39 // 000000008778: 38464F24 s_waitcnt lgkmcnt(0) // 00000000877C: BF8C007F v_or_b32 v36, v37, v40 // 000000008780: 38485125 ds_write_b32 v4, v33 offset:408 // 000000008784: D8340198 00002104 ds_write_b32 v29, v34 offset:408 // 00000000878C: D8340198 0000221D ds_write_b32 v28, v35 offset:408 // 000000008794: D8340198 0000231C ds_write_b32 v27, v36 offset:408 // 00000000879C: D8340198 0000241B label_21E9: s_mov_b64 exec, s[82:83] // 0000000087A4: BEFE0452 s_waitcnt lgkmcnt(0) // 0000000087A8: BF8C007F s_barrier // 0000000087AC: BF8A0000 v_add_i32 v33, vcc, 0x00000198, v31 // 0000000087B0: 4A423EFF 00000198 ds_read2st64_b32 v[34:35], v33 offset1:16 // 0000000087B8: D8E01000 22000021 ds_read2st64_b32 v[36:37], v33 offset0:32 offset1:48 // 0000000087C0: D8E03020 24000021 v_cndmask_b32 v33, 0, -1, s[58:59] // 0000000087C8: D2000021 00E98280 s_waitcnt lgkmcnt(1) // 0000000087D0: BF8C017F v_xor_b32 v34, v30, v34 // 0000000087D4: 3A44451E v_xor_b32 v33, v33, v35 // 0000000087D8: 3A424721 v_cndmask_b32 v35, 0, -1, s[60:61] // 0000000087DC: D2000023 00F18280 v_and_b32 v33, v34, v33 // 0000000087E4: 36424322 s_waitcnt lgkmcnt(0) // 0000000087E8: BF8C007F v_xor_b32 v34, v35, v36 // 0000000087EC: 3A444923 v_cndmask_b32 v35, 0, -1, s[62:63] // 0000000087F0: D2000023 00F98280 v_and_b32 v33, v33, v34 // 0000000087F8: 36424521 v_xor_b32 v34, v35, v37 // 0000000087FC: 3A444B23 v_and_b32 v33, v33, v34 // 000000008800: 36424521 v_bcnt_u32_b32 v24, v33, v24 // 000000008804: 44303121 v_add_i32 v25, vcc, 1, v25 // 000000008808: 4A323281 v_add_i32 v32, vcc, 32, v32 // 00000000880C: 4A4040A0 s_branch label_2112 // 000000008810: BF82FF0D label_2205: s_mov_b64 exec, s[44:45] // 000000008814: BEFE042C v_cmp_ne_u32 vcc, 0, v21 // 000000008818: 7D8A2A80 s_and_saveexec_b64 s[44:45], vcc // wrscc // 00000000881C: BEAC246A v_add_i32 v25, vcc, v20, v32 // 000000008820: 4A324114 s_cbranch_execz label_2311 // 000000008824: BF880107 s_and_saveexec_b64 s[82:83], s[42:43] // wrscc // 000000008828: BED2242A s_cbranch_execz label_223A // 00000000882C: BF88002E s_load_dwordx4 s[84:87], s[0:1], 0x58 // 000000008830: C0AA0158 s_waitcnt lgkmcnt(0) // 000000008834: BF8C007F buffer_load_dword v25, v25, s[84:87], 0 idxen // 000000008838: E0302000 80151919 v_cmp_gt_u32 vcc, v22, v32 // 000000008840: 7D884116 s_waitcnt vmcnt(0) // 000000008844: BF8C0F70 v_cndmask_b32 v25, -1, v25, vcc // 000000008848: 003232C1 v_bfe_u32 v32, v25, 28, 1 // 00000000884C: D2900020 02053919 v_lshrrev_b32 v25, 28, v25 // 000000008854: 2C32329C v_cmp_ne_i32 vcc, 0, v32 // 000000008858: 7D0A4080 v_and_b32 v32, 2, v25 // 00000000885C: 36403282 v_cndmask_b32 v33, 0, -1, vcc // 000000008860: D2000021 01A98280 v_cmp_ne_i32 vcc, 0, v32 // 000000008868: 7D0A4080 v_and_b32 v32, 4, v25 // 00000000886C: 36403284 v_bfm_b32 v34, 1, v8 // 000000008870: 3C441081 v_lshl_b32 v33, v33, v8 // 000000008874: 32421121 v_cndmask_b32 v35, 0, -1, vcc // 000000008878: D2000023 01A98280 v_cmp_ne_i32 vcc, 0, v32 // 000000008880: 7D0A4080 v_and_b32 v25, 8, v25 // 000000008884: 36323288 v_bfi_b32 v32, v34, v33, 0 // 000000008888: D2940020 02024322 v_lshl_b32 v33, v35, v8 // 000000008890: 32421123 v_cndmask_b32 v35, 0, -1, vcc // 000000008894: D2000023 01A98280 v_cmp_ne_i32 vcc, 0, v25 // 00000000889C: 7D0A3280 v_bfi_b32 v25, v34, v33, 0 // 0000000088A0: D2940019 02024322 v_lshl_b32 v33, v35, v8 // 0000000088A8: 32421123 v_cndmask_b32 v35, 0, -1, vcc // 0000000088AC: D2000023 01A98280 ds_write_b32 v4, v32 offset:408 // 0000000088B4: D8340198 00002004 v_bfi_b32 v32, v34, v33, 0 // 0000000088BC: D2940020 02024322 v_lshl_b32 v33, v35, v8 // 0000000088C4: 32421123 ds_write_b32 v29, v25 offset:408 // 0000000088C8: D8340198 0000191D v_bfi_b32 v25, v34, v33, 0 // 0000000088D0: D2940019 02024322 ds_write_b32 v28, v32 offset:408 // 0000000088D8: D8340198 0000201C ds_write_b32 v27, v25 offset:408 // 0000000088E0: D8340198 0000191B label_223A: s_waitcnt lgkmcnt(0) // 0000000088E8: BF8C007F s_barrier // 0000000088EC: BF8A0000 s_and_b64 exec, s[82:83], s[42:43] // wrscc // 0000000088F0: 87FE2A52 s_cbranch_execz label_225D // 0000000088F4: BF88001F s_and_saveexec_b64 s[84:85], s[48:49] // wrscc // 0000000088F8: BED42430 s_cbranch_execz label_225D // 0000000088FC: BF88001D ds_read2_b32 v[32:33], v4 offset0:102 offset1:118 // 000000008900: D8DC7666 20000004 ds_read_b32 v25, v29 offset:408 // 000000008908: D8D80198 1900001D ds_read_b32 v34, v28 offset:408 // 000000008910: D8D80198 2200001C ds_read_b32 v35, v27 offset:408 // 000000008918: D8D80198 2300001B v_add_i32 v36, vcc, 0x000011d8, v4 // 000000008920: 4A4808FF 000011D8 ds_read2st64_b32 v[36:37], v36 offset1:16 // 000000008928: D8E01000 24000024 ds_read_b32 v38, v4 offset:12760 // 000000008930: D8D831D8 26000004 s_waitcnt lgkmcnt(5) // 000000008938: BF8C057F v_or_b32 v32, v32, v33 // 00000000893C: 38404320 s_waitcnt lgkmcnt(1) // 000000008940: BF8C017F v_or_b32 v25, v25, v36 // 000000008944: 38324919 v_or_b32 v33, v34, v37 // 000000008948: 38424B22 s_waitcnt lgkmcnt(0) // 00000000894C: BF8C007F v_or_b32 v34, v35, v38 // 000000008950: 38444D23 ds_write_b32 v4, v32 offset:408 // 000000008954: D8340198 00002004 ds_write_b32 v29, v25 offset:408 // 00000000895C: D8340198 0000191D ds_write_b32 v28, v33 offset:408 // 000000008964: D8340198 0000211C ds_write_b32 v27, v34 offset:408 // 00000000896C: D8340198 0000221B label_225D: s_waitcnt lgkmcnt(0) // 000000008974: BF8C007F s_barrier // 000000008978: BF8A0000 s_and_b64 exec, s[82:83], s[42:43] // wrscc // 00000000897C: 87FE2A52 s_cbranch_execz label_2280 // 000000008980: BF88001F s_and_saveexec_b64 s[84:85], s[50:51] // wrscc // 000000008984: BED42432 s_cbranch_execz label_2280 // 000000008988: BF88001D ds_read2_b32 v[32:33], v4 offset0:102 offset1:110 // 00000000898C: D8DC6E66 20000004 ds_read_b32 v25, v29 offset:408 // 000000008994: D8D80198 1900001D ds_read_b32 v34, v28 offset:408 // 00000000899C: D8D80198 2200001C ds_read_b32 v35, v27 offset:408 // 0000000089A4: D8D80198 2300001B v_add_i32 v36, vcc, 0x000011b8, v4 // 0000000089AC: 4A4808FF 000011B8 ds_read2st64_b32 v[36:37], v36 offset1:16 // 0000000089B4: D8E01000 24000024 ds_read_b32 v38, v4 offset:12728 // 0000000089BC: D8D831B8 26000004 s_waitcnt lgkmcnt(5) // 0000000089C4: BF8C057F v_or_b32 v32, v32, v33 // 0000000089C8: 38404320 s_waitcnt lgkmcnt(1) // 0000000089CC: BF8C017F v_or_b32 v25, v25, v36 // 0000000089D0: 38324919 v_or_b32 v33, v34, v37 // 0000000089D4: 38424B22 s_waitcnt lgkmcnt(0) // 0000000089D8: BF8C007F v_or_b32 v34, v35, v38 // 0000000089DC: 38444D23 ds_write_b32 v4, v32 offset:408 // 0000000089E0: D8340198 00002004 ds_write_b32 v29, v25 offset:408 // 0000000089E8: D8340198 0000191D ds_write_b32 v28, v33 offset:408 // 0000000089F0: D8340198 0000211C ds_write_b32 v27, v34 offset:408 // 0000000089F8: D8340198 0000221B label_2280: s_waitcnt lgkmcnt(0) // 000000008A00: BF8C007F s_barrier // 000000008A04: BF8A0000 s_and_b64 exec, s[82:83], s[42:43] // wrscc // 000000008A08: 87FE2A52 s_cbranch_execz label_22A3 // 000000008A0C: BF88001F s_and_saveexec_b64 s[84:85], s[52:53] // wrscc // 000000008A10: BED42434 s_cbranch_execz label_22A3 // 000000008A14: BF88001D ds_read2_b32 v[32:33], v4 offset0:102 offset1:106 // 000000008A18: D8DC6A66 20000004 ds_read_b32 v25, v29 offset:408 // 000000008A20: D8D80198 1900001D ds_read_b32 v34, v28 offset:408 // 000000008A28: D8D80198 2200001C ds_read_b32 v35, v27 offset:408 // 000000008A30: D8D80198 2300001B v_add_i32 v36, vcc, 0x000011a8, v4 // 000000008A38: 4A4808FF 000011A8 ds_read2st64_b32 v[36:37], v36 offset1:16 // 000000008A40: D8E01000 24000024 ds_read_b32 v38, v4 offset:12712 // 000000008A48: D8D831A8 26000004 s_waitcnt lgkmcnt(5) // 000000008A50: BF8C057F v_or_b32 v32, v32, v33 // 000000008A54: 38404320 s_waitcnt lgkmcnt(1) // 000000008A58: BF8C017F v_or_b32 v25, v25, v36 // 000000008A5C: 38324919 v_or_b32 v33, v34, v37 // 000000008A60: 38424B22 s_waitcnt lgkmcnt(0) // 000000008A64: BF8C007F v_or_b32 v34, v35, v38 // 000000008A68: 38444D23 ds_write_b32 v4, v32 offset:408 // 000000008A6C: D8340198 00002004 ds_write_b32 v29, v25 offset:408 // 000000008A74: D8340198 0000191D ds_write_b32 v28, v33 offset:408 // 000000008A7C: D8340198 0000211C ds_write_b32 v27, v34 offset:408 // 000000008A84: D8340198 0000221B label_22A3: s_waitcnt lgkmcnt(0) // 000000008A8C: BF8C007F s_barrier // 000000008A90: BF8A0000 s_and_b64 exec, s[82:83], s[42:43] // wrscc // 000000008A94: 87FE2A52 s_cbranch_execz label_22C6 // 000000008A98: BF88001F s_and_saveexec_b64 s[84:85], s[54:55] // wrscc // 000000008A9C: BED42436 s_cbranch_execz label_22C6 // 000000008AA0: BF88001D ds_read2_b32 v[32:33], v4 offset0:102 offset1:104 // 000000008AA4: D8DC6866 20000004 ds_read_b32 v25, v29 offset:408 // 000000008AAC: D8D80198 1900001D ds_read_b32 v34, v28 offset:408 // 000000008AB4: D8D80198 2200001C ds_read_b32 v35, v27 offset:408 // 000000008ABC: D8D80198 2300001B v_add_i32 v36, vcc, 0x000011a0, v4 // 000000008AC4: 4A4808FF 000011A0 ds_read2st64_b32 v[36:37], v36 offset1:16 // 000000008ACC: D8E01000 24000024 ds_read_b32 v38, v4 offset:12704 // 000000008AD4: D8D831A0 26000004 s_waitcnt lgkmcnt(5) // 000000008ADC: BF8C057F v_or_b32 v32, v32, v33 // 000000008AE0: 38404320 s_waitcnt lgkmcnt(1) // 000000008AE4: BF8C017F v_or_b32 v25, v25, v36 // 000000008AE8: 38324919 v_or_b32 v33, v34, v37 // 000000008AEC: 38424B22 s_waitcnt lgkmcnt(0) // 000000008AF0: BF8C007F v_or_b32 v34, v35, v38 // 000000008AF4: 38444D23 ds_write_b32 v4, v32 offset:408 // 000000008AF8: D8340198 00002004 ds_write_b32 v29, v25 offset:408 // 000000008B00: D8340198 0000191D ds_write_b32 v28, v33 offset:408 // 000000008B08: D8340198 0000211C ds_write_b32 v27, v34 offset:408 // 000000008B10: D8340198 0000221B label_22C6: s_waitcnt lgkmcnt(0) // 000000008B18: BF8C007F s_barrier // 000000008B1C: BF8A0000 s_and_b64 exec, s[82:83], s[42:43] // wrscc // 000000008B20: 87FE2A52 s_cbranch_execz label_22E9 // 000000008B24: BF88001F s_and_saveexec_b64 s[84:85], s[56:57] // wrscc // 000000008B28: BED42438 s_cbranch_execz label_22E9 // 000000008B2C: BF88001D ds_read2_b32 v[32:33], v4 offset0:102 offset1:103 // 000000008B30: D8DC6766 20000004 ds_read_b32 v25, v29 offset:408 // 000000008B38: D8D80198 1900001D ds_read_b32 v34, v28 offset:408 // 000000008B40: D8D80198 2200001C ds_read_b32 v35, v27 offset:408 // 000000008B48: D8D80198 2300001B v_add_i32 v36, vcc, 0x0000119c, v4 // 000000008B50: 4A4808FF 0000119C ds_read2st64_b32 v[36:37], v36 offset1:16 // 000000008B58: D8E01000 24000024 ds_read_b32 v38, v4 offset:12700 // 000000008B60: D8D8319C 26000004 s_waitcnt lgkmcnt(5) // 000000008B68: BF8C057F v_or_b32 v32, v32, v33 // 000000008B6C: 38404320 s_waitcnt lgkmcnt(1) // 000000008B70: BF8C017F v_or_b32 v25, v25, v36 // 000000008B74: 38324919 v_or_b32 v33, v34, v37 // 000000008B78: 38424B22 s_waitcnt lgkmcnt(0) // 000000008B7C: BF8C007F v_or_b32 v34, v35, v38 // 000000008B80: 38444D23 ds_write_b32 v4, v32 offset:408 // 000000008B84: D8340198 00002004 ds_write_b32 v29, v25 offset:408 // 000000008B8C: D8340198 0000191D ds_write_b32 v28, v33 offset:408 // 000000008B94: D8340198 0000211C ds_write_b32 v27, v34 offset:408 // 000000008B9C: D8340198 0000221B label_22E9: s_waitcnt lgkmcnt(0) // 000000008BA4: BF8C007F s_barrier // 000000008BA8: BF8A0000 s_and_b64 exec, s[82:83], s[42:43] // wrscc // 000000008BAC: 87FE2A52 v_add_i32 v25, vcc, 0x00000198, v31 // 000000008BB0: 4A323EFF 00000198 ds_read2st64_b32 v[32:33], v25 offset1:16 // 000000008BB8: D8E01000 20000019 ds_read2st64_b32 v[34:35], v25 offset0:32 offset1:48 // 000000008BC0: D8E03020 22000019 s_waitcnt lgkmcnt(1) // 000000008BC8: BF8C017F v_mov_b32 v25, v32 // 000000008BCC: 7E320320 v_mov_b32 v32, v33 // 000000008BD0: 7E400321 s_waitcnt lgkmcnt(0) // 000000008BD4: BF8C007F v_mov_b32 v33, v34 // 000000008BD8: 7E420322 v_mov_b32 v34, v35 // 000000008BDC: 7E440323 s_andn2_b64 exec, s[82:83], exec // wrscc // 000000008BE0: 8AFE7E52 v_mov_b32 v34, 0 // 000000008BE4: 7E440280 v_mov_b32 v25, 0 // 000000008BE8: 7E320280 v_mov_b32 v62, 0 // 000000008BEC: 7E7C0280 v_mov_b32 v33, 0 // 000000008BF0: 7E420280 v_mov_b32 v32, 0 // 000000008BF4: 7E400280 s_mov_b64 exec, s[82:83] // 000000008BF8: BEFE0452 v_xor_b32 v25, v30, v25 // 000000008BFC: 3A32331E v_cndmask_b32 v35, 0, -1, s[58:59] // 000000008C00: D2000023 00E98280 v_xor_b32 v32, v35, v32 // 000000008C08: 3A404123 v_and_b32 v25, v25, v32 // 000000008C0C: 36324119 v_cndmask_b32 v32, 0, -1, s[60:61] // 000000008C10: D2000020 00F18280 v_xor_b32 v32, v32, v33 // 000000008C18: 3A404320 v_cndmask_b32 v33, 0, -1, s[62:63] // 000000008C1C: D2000021 00F98280 v_xor_b32 v33, v33, v34 // 000000008C24: 3A424521 v_and_b32 v25, v25, v32 // 000000008C28: 36324119 v_and_b32 v25, v33, v25 // 000000008C2C: 36323321 v_bcnt_u32_b32 v25, v25, 0 // 000000008C30: D2440019 00010119 v_cndmask_b32 v25, 0, v25, s[42:43] // 000000008C38: D2000019 00AA3280 v_add_i32 v24, vcc, v24, v25 // 000000008C40: 4A303318 label_2311: s_and_b64 exec, s[44:45], s[48:49] // wrscc // 000000008C44: 87FE302C ds_write_b32 v26, v24 offset:16796 // 000000008C48: D834419C 0000181A s_mov_b64 exec, s[44:45] // 000000008C50: BEFE042C s_waitcnt lgkmcnt(0) // 000000008C54: BF8C007F s_barrier // 000000008C58: BF8A0000 v_cmp_eq_u32 vcc, 0, v8 // 000000008C5C: 7D841080 s_and_b64 exec, s[44:45], vcc // wrscc // 000000008C60: 87FE6A2C v_mov_b32 v24, 0 // 000000008C64: 7E300280 ds_write_b32 v24, v24 offset:16792 // 000000008C68: D8344198 00001818 ds_write_b32 v24, v24 offset:18844 // 000000008C70: D834499C 00001818 s_and_b64 exec, s[44:45], s[46:47] // wrscc // 000000008C78: 87FE2E2C s_cbranch_execz label_2330 // 000000008C7C: BF880010 s_and_saveexec_b64 s[64:65], s[64:65] // wrscc // 000000008C80: BEC02440 v_add_i32 v24, vcc, 0x00004198, v4 // 000000008C84: 4A3008FF 00004198 ds_read2_b32 v[24:25], v24 offset0:1 // 000000008C8C: D8DC0001 18000018 s_waitcnt lgkmcnt(0) // 000000008C94: BF8C007F v_add_i32 v24, vcc, v24, v25 // 000000008C98: 4A303318 ds_write_b32 v4, v24 offset:18848 // 000000008C9C: D83449A0 00001804 s_andn2_b64 exec, s[64:65], exec // wrscc // 000000008CA4: 8AFE7E40 v_mov_b32 v24, 0 // 000000008CA8: 7E300280 ds_read_b32 v25, v24 offset:16796 // 000000008CAC: D8D8419C 19000018 s_waitcnt lgkmcnt(0) // 000000008CB4: BF8C007F ds_write_b32 v24, v25 offset:18848 // 000000008CB8: D83449A0 00001918 label_2330: s_waitcnt lgkmcnt(0) // 000000008CC0: BF8C007F s_barrier // 000000008CC4: BF8A0000 s_and_b64 exec, s[44:45], s[46:47] // wrscc // 000000008CC8: 87FE2E2C s_cbranch_execz label_2342 // 000000008CCC: BF88000E s_and_saveexec_b64 s[64:65], s[66:67] // wrscc // 000000008CD0: BEC02442 v_add_i32 v24, vcc, 0x00004998, v4 // 000000008CD4: 4A3008FF 00004998 ds_read2_b32 v[24:25], v24 offset0:2 // 000000008CDC: D8DC0002 18000018 s_waitcnt lgkmcnt(0) // 000000008CE4: BF8C007F v_add_i32 v24, vcc, v24, v25 // 000000008CE8: 4A303318 s_andn2_b64 exec, s[64:65], exec // wrscc // 000000008CEC: 8AFE7E40 ds_read_b32 v24, v4 offset:18848 // 000000008CF0: D8D849A0 18000004 s_mov_b64 exec, s[64:65] // 000000008CF8: BEFE0440 s_waitcnt lgkmcnt(0) // 000000008CFC: BF8C007F ds_write_b32 v4, v24 offset:16796 // 000000008D00: D834419C 00001804 label_2342: s_waitcnt lgkmcnt(0) // 000000008D08: BF8C007F s_barrier // 000000008D0C: BF8A0000 s_and_b64 exec, s[44:45], s[46:47] // wrscc // 000000008D10: 87FE2E2C s_cbranch_execz label_2354 // 000000008D14: BF88000E s_and_saveexec_b64 s[64:65], s[68:69] // wrscc // 000000008D18: BEC02444 v_add_i32 v24, vcc, 0x0000418c, v4 // 000000008D1C: 4A3008FF 0000418C ds_read2_b32 v[24:25], v24 offset0:4 // 000000008D24: D8DC0004 18000018 s_waitcnt lgkmcnt(0) // 000000008D2C: BF8C007F v_add_i32 v24, vcc, v24, v25 // 000000008D30: 4A303318 s_andn2_b64 exec, s[64:65], exec // wrscc // 000000008D34: 8AFE7E40 ds_read_b32 v24, v4 offset:16796 // 000000008D38: D8D8419C 18000004 s_mov_b64 exec, s[64:65] // 000000008D40: BEFE0440 s_waitcnt lgkmcnt(0) // 000000008D44: BF8C007F ds_write_b32 v4, v24 offset:18848 // 000000008D48: D83449A0 00001804 label_2354: s_waitcnt lgkmcnt(0) // 000000008D50: BF8C007F s_barrier // 000000008D54: BF8A0000 s_and_b64 exec, s[44:45], s[46:47] // wrscc // 000000008D58: 87FE2E2C s_cbranch_execz label_2366 // 000000008D5C: BF88000E s_and_saveexec_b64 s[64:65], s[70:71] // wrscc // 000000008D60: BEC02446 v_add_i32 v24, vcc, 0x00004980, v4 // 000000008D64: 4A3008FF 00004980 ds_read2_b32 v[24:25], v24 offset0:8 // 000000008D6C: D8DC0008 18000018 s_waitcnt lgkmcnt(0) // 000000008D74: BF8C007F v_add_i32 v24, vcc, v24, v25 // 000000008D78: 4A303318 s_andn2_b64 exec, s[64:65], exec // wrscc // 000000008D7C: 8AFE7E40 ds_read_b32 v24, v4 offset:18848 // 000000008D80: D8D849A0 18000004 s_mov_b64 exec, s[64:65] // 000000008D88: BEFE0440 s_waitcnt lgkmcnt(0) // 000000008D8C: BF8C007F ds_write_b32 v4, v24 offset:16796 // 000000008D90: D834419C 00001804 label_2366: s_waitcnt lgkmcnt(0) // 000000008D98: BF8C007F s_barrier // 000000008D9C: BF8A0000 s_and_b64 exec, s[44:45], s[46:47] // wrscc // 000000008DA0: 87FE2E2C s_cbranch_execz label_2378 // 000000008DA4: BF88000E s_and_saveexec_b64 s[64:65], s[72:73] // wrscc // 000000008DA8: BEC02448 v_add_i32 v24, vcc, 0x0000415c, v4 // 000000008DAC: 4A3008FF 0000415C ds_read2_b32 v[24:25], v24 offset0:16 // 000000008DB4: D8DC0010 18000018 s_waitcnt lgkmcnt(0) // 000000008DBC: BF8C007F v_add_i32 v24, vcc, v24, v25 // 000000008DC0: 4A303318 s_andn2_b64 exec, s[64:65], exec // wrscc // 000000008DC4: 8AFE7E40 ds_read_b32 v24, v4 offset:16796 // 000000008DC8: D8D8419C 18000004 s_mov_b64 exec, s[64:65] // 000000008DD0: BEFE0440 s_waitcnt lgkmcnt(0) // 000000008DD4: BF8C007F ds_write_b32 v4, v24 offset:18848 // 000000008DD8: D83449A0 00001804 label_2378: s_waitcnt lgkmcnt(0) // 000000008DE0: BF8C007F s_barrier // 000000008DE4: BF8A0000 s_and_b64 exec, s[44:45], s[46:47] // wrscc // 000000008DE8: 87FE2E2C s_cbranch_execz label_238A // 000000008DEC: BF88000E s_and_saveexec_b64 s[64:65], s[74:75] // wrscc // 000000008DF0: BEC0244A v_add_i32 v24, vcc, 0x00004920, v4 // 000000008DF4: 4A3008FF 00004920 ds_read2_b32 v[24:25], v24 offset0:32 // 000000008DFC: D8DC0020 18000018 s_waitcnt lgkmcnt(0) // 000000008E04: BF8C007F v_add_i32 v24, vcc, v24, v25 // 000000008E08: 4A303318 s_andn2_b64 exec, s[64:65], exec // wrscc // 000000008E0C: 8AFE7E40 ds_read_b32 v24, v4 offset:18848 // 000000008E10: D8D849A0 18000004 s_mov_b64 exec, s[64:65] // 000000008E18: BEFE0440 s_waitcnt lgkmcnt(0) // 000000008E1C: BF8C007F ds_write_b32 v4, v24 offset:16796 // 000000008E20: D834419C 00001804 label_238A: s_waitcnt lgkmcnt(0) // 000000008E28: BF8C007F s_barrier // 000000008E2C: BF8A0000 s_and_b64 exec, s[44:45], s[46:47] // wrscc // 000000008E30: 87FE2E2C s_cbranch_execz label_239C // 000000008E34: BF88000E s_and_saveexec_b64 s[64:65], s[76:77] // wrscc // 000000008E38: BEC0244C v_add_i32 v24, vcc, 0x0000409c, v4 // 000000008E3C: 4A3008FF 0000409C ds_read2_b32 v[24:25], v24 offset0:64 // 000000008E44: D8DC0040 18000018 s_waitcnt lgkmcnt(0) // 000000008E4C: BF8C007F v_add_i32 v24, vcc, v24, v25 // 000000008E50: 4A303318 s_andn2_b64 exec, s[64:65], exec // wrscc // 000000008E54: 8AFE7E40 ds_read_b32 v24, v4 offset:16796 // 000000008E58: D8D8419C 18000004 s_mov_b64 exec, s[64:65] // 000000008E60: BEFE0440 s_waitcnt lgkmcnt(0) // 000000008E64: BF8C007F ds_write_b32 v4, v24 offset:18848 // 000000008E68: D83449A0 00001804 label_239C: s_waitcnt lgkmcnt(0) // 000000008E70: BF8C007F s_barrier // 000000008E74: BF8A0000 s_and_b64 exec, s[44:45], s[46:47] // wrscc // 000000008E78: 87FE2E2C s_cbranch_execz label_23AE // 000000008E7C: BF88000E s_and_saveexec_b64 s[64:65], s[78:79] // wrscc // 000000008E80: BEC0244E v_add_i32 v24, vcc, 0x000047a0, v4 // 000000008E84: 4A3008FF 000047A0 ds_read2_b32 v[24:25], v24 offset0:128 // 000000008E8C: D8DC0080 18000018 s_waitcnt lgkmcnt(0) // 000000008E94: BF8C007F v_add_i32 v24, vcc, v24, v25 // 000000008E98: 4A303318 s_andn2_b64 exec, s[64:65], exec // wrscc // 000000008E9C: 8AFE7E40 ds_read_b32 v24, v4 offset:18848 // 000000008EA0: D8D849A0 18000004 s_mov_b64 exec, s[64:65] // 000000008EA8: BEFE0440 s_waitcnt lgkmcnt(0) // 000000008EAC: BF8C007F ds_write_b32 v4, v24 offset:16796 // 000000008EB0: D834419C 00001804 label_23AE: s_waitcnt lgkmcnt(0) // 000000008EB8: BF8C007F s_barrier // 000000008EBC: BF8A0000 s_and_b64 exec, s[44:45], s[46:47] // wrscc // 000000008EC0: 87FE2E2C s_cbranch_execz label_23C0 // 000000008EC4: BF88000E s_and_saveexec_b64 s[46:47], s[80:81] // wrscc // 000000008EC8: BEAE2450 v_add_i32 v24, vcc, 0x00003d9c, v4 // 000000008ECC: 4A3008FF 00003D9C ds_read2st64_b32 v[24:25], v24 offset0:4 // 000000008ED4: D8E00004 18000018 s_waitcnt lgkmcnt(0) // 000000008EDC: BF8C007F v_add_i32 v24, vcc, v24, v25 // 000000008EE0: 4A303318 s_andn2_b64 exec, s[46:47], exec // wrscc // 000000008EE4: 8AFE7E2E ds_read_b32 v24, v4 offset:16796 // 000000008EE8: D8D8419C 18000004 s_mov_b64 exec, s[46:47] // 000000008EF0: BEFE042E s_waitcnt lgkmcnt(0) // 000000008EF4: BF8C007F ds_write_b32 v4, v24 offset:18848 // 000000008EF8: D83449A0 00001804 label_23C0: s_mov_b64 exec, s[44:45] // 000000008F00: BEFE042C s_waitcnt lgkmcnt(0) // 000000008F04: BF8C007F s_barrier // 000000008F08: BF8A0000 s_mov_b64 s[44:45], exec // 000000008F0C: BEAC047E v_mov_b32 v62, 0 // 000000008F10: 7E7C0280 v_mov_b32 v24, v23 // 000000008F14: 7E300317 v_mov_b32 v23, 0 // 000000008F18: 7E2E0280 s_nop 0x0000 // 000000008F1C: BF800000 label_23C8: v_cmp_ge_u32 vcc, v23, v11 // 000000008F20: 7D8C1717 s_andn2_b64 exec, exec, vcc // wrscc // 000000008F24: 8AFE6A7E s_cbranch_execz label_24EB // 000000008F28: BF880120 v_add_i32 v25, vcc, v20, v24 // 000000008F2C: 4A323114 s_load_dwordx4 s[64:67], s[0:1], 0x58 // 000000008F30: C0A00158 s_waitcnt lgkmcnt(0) // 000000008F34: BF8C007F buffer_load_dword v25, v25, s[64:67], 0 idxen // 000000008F38: E0302000 80101919 v_cmp_gt_u32 s[46:47], v22, v24 // 000000008F40: D188002E 00023116 s_waitcnt vmcnt(0) // 000000008F48: BF8C0F70 v_cndmask_b32 v25, -1, v25, s[46:47] // 000000008F4C: D2000019 00BA32C1 v_bfe_u32 v32, v25, 28, 1 // 000000008F54: D2900020 02053919 v_lshrrev_b32 v33, 28, v25 // 000000008F5C: 2C42329C v_and_b32 v34, 2, v33 // 000000008F60: 36444282 v_cmp_ne_i32 vcc, 0, v32 // 000000008F64: 7D0A4080 v_and_b32 v35, 4, v33 // 000000008F68: 36464284 v_cndmask_b32 v36, 0, -1, vcc // 000000008F6C: D2000024 01A98280 v_cmp_ne_i32 vcc, 0, v34 // 000000008F74: 7D0A4480 v_and_b32 v33, 8, v33 // 000000008F78: 36424288 v_bfm_b32 v37, 1, v8 // 000000008F7C: 3C4A1081 v_lshl_b32 v36, v36, v8 // 000000008F80: 32481124 v_cndmask_b32 v38, 0, -1, vcc // 000000008F84: D2000026 01A98280 v_cmp_ne_i32 vcc, 0, v35 // 000000008F8C: 7D0A4680 v_bfi_b32 v36, v37, v36, 0 // 000000008F90: D2940024 02024925 v_lshl_b32 v38, v38, v8 // 000000008F98: 324C1126 v_cndmask_b32 v39, 0, -1, vcc // 000000008F9C: D2000027 01A98280 v_cmp_ne_i32 vcc, 0, v33 // 000000008FA4: 7D0A4280 v_bfi_b32 v38, v37, v38, 0 // 000000008FA8: D2940026 02024D25 v_lshl_b32 v39, v39, v8 // 000000008FB0: 324E1127 v_cndmask_b32 v40, 0, -1, vcc // 000000008FB4: D2000028 01A98280 ds_write_b32 v4, v36 offset:408 // 000000008FBC: D8340198 00002404 v_bfi_b32 v36, v37, v39, 0 // 000000008FC4: D2940024 02024F25 v_lshl_b32 v39, v40, v8 // 000000008FCC: 324E1128 ds_write_b32 v29, v38 offset:408 // 000000008FD0: D8340198 0000261D v_bfi_b32 v37, v37, v39, 0 // 000000008FD8: D2940025 02024F25 ds_write_b32 v28, v36 offset:408 // 000000008FE0: D8340198 0000241C ds_write_b32 v27, v37 offset:408 // 000000008FE8: D8340198 0000251B s_waitcnt lgkmcnt(0) // 000000008FF0: BF8C007F s_barrier // 000000008FF4: BF8A0000 s_and_saveexec_b64 s[64:65], s[48:49] // wrscc // 000000008FF8: BEC02430 s_cbranch_execz label_241D // 000000008FFC: BF88001D ds_read2_b32 v[36:37], v4 offset0:102 offset1:118 // 000000009000: D8DC7666 24000004 ds_read_b32 v38, v29 offset:408 // 000000009008: D8D80198 2600001D ds_read_b32 v39, v28 offset:408 // 000000009010: D8D80198 2700001C ds_read_b32 v40, v27 offset:408 // 000000009018: D8D80198 2800001B v_add_i32 v41, vcc, 0x000011d8, v4 // 000000009020: 4A5208FF 000011D8 ds_read2st64_b32 v[41:42], v41 offset1:16 // 000000009028: D8E01000 29000029 ds_read_b32 v43, v4 offset:12760 // 000000009030: D8D831D8 2B000004 s_waitcnt lgkmcnt(5) // 000000009038: BF8C057F v_or_b32 v36, v36, v37 // 00000000903C: 38484B24 s_waitcnt lgkmcnt(1) // 000000009040: BF8C017F v_or_b32 v37, v38, v41 // 000000009044: 384A5326 v_or_b32 v38, v39, v42 // 000000009048: 384C5527 s_waitcnt lgkmcnt(0) // 00000000904C: BF8C007F v_or_b32 v39, v40, v43 // 000000009050: 384E5728 ds_write_b32 v4, v36 offset:408 // 000000009054: D8340198 00002404 ds_write_b32 v29, v37 offset:408 // 00000000905C: D8340198 0000251D ds_write_b32 v28, v38 offset:408 // 000000009064: D8340198 0000261C ds_write_b32 v27, v39 offset:408 // 00000000906C: D8340198 0000271B label_241D: s_waitcnt lgkmcnt(0) // 000000009074: BF8C007F s_barrier // 000000009078: BF8A0000 s_and_b64 exec, s[64:65], s[50:51] // wrscc // 00000000907C: 87FE3240 s_cbranch_execz label_243E // 000000009080: BF88001D ds_read2_b32 v[36:37], v4 offset0:102 offset1:110 // 000000009084: D8DC6E66 24000004 ds_read_b32 v38, v29 offset:408 // 00000000908C: D8D80198 2600001D ds_read_b32 v39, v28 offset:408 // 000000009094: D8D80198 2700001C ds_read_b32 v40, v27 offset:408 // 00000000909C: D8D80198 2800001B v_add_i32 v41, vcc, 0x000011b8, v4 // 0000000090A4: 4A5208FF 000011B8 ds_read2st64_b32 v[41:42], v41 offset1:16 // 0000000090AC: D8E01000 29000029 ds_read_b32 v43, v4 offset:12728 // 0000000090B4: D8D831B8 2B000004 s_waitcnt lgkmcnt(5) // 0000000090BC: BF8C057F v_or_b32 v36, v36, v37 // 0000000090C0: 38484B24 s_waitcnt lgkmcnt(1) // 0000000090C4: BF8C017F v_or_b32 v37, v38, v41 // 0000000090C8: 384A5326 v_or_b32 v38, v39, v42 // 0000000090CC: 384C5527 s_waitcnt lgkmcnt(0) // 0000000090D0: BF8C007F v_or_b32 v39, v40, v43 // 0000000090D4: 384E5728 ds_write_b32 v4, v36 offset:408 // 0000000090D8: D8340198 00002404 ds_write_b32 v29, v37 offset:408 // 0000000090E0: D8340198 0000251D ds_write_b32 v28, v38 offset:408 // 0000000090E8: D8340198 0000261C ds_write_b32 v27, v39 offset:408 // 0000000090F0: D8340198 0000271B label_243E: s_waitcnt lgkmcnt(0) // 0000000090F8: BF8C007F s_barrier // 0000000090FC: BF8A0000 s_and_b64 exec, s[64:65], s[52:53] // wrscc // 000000009100: 87FE3440 s_cbranch_execz label_245F // 000000009104: BF88001D ds_read2_b32 v[36:37], v4 offset0:102 offset1:106 // 000000009108: D8DC6A66 24000004 ds_read_b32 v38, v29 offset:408 // 000000009110: D8D80198 2600001D ds_read_b32 v39, v28 offset:408 // 000000009118: D8D80198 2700001C ds_read_b32 v40, v27 offset:408 // 000000009120: D8D80198 2800001B v_add_i32 v41, vcc, 0x000011a8, v4 // 000000009128: 4A5208FF 000011A8 ds_read2st64_b32 v[41:42], v41 offset1:16 // 000000009130: D8E01000 29000029 ds_read_b32 v43, v4 offset:12712 // 000000009138: D8D831A8 2B000004 s_waitcnt lgkmcnt(5) // 000000009140: BF8C057F v_or_b32 v36, v36, v37 // 000000009144: 38484B24 s_waitcnt lgkmcnt(1) // 000000009148: BF8C017F v_or_b32 v37, v38, v41 // 00000000914C: 384A5326 v_or_b32 v38, v39, v42 // 000000009150: 384C5527 s_waitcnt lgkmcnt(0) // 000000009154: BF8C007F v_or_b32 v39, v40, v43 // 000000009158: 384E5728 ds_write_b32 v4, v36 offset:408 // 00000000915C: D8340198 00002404 ds_write_b32 v29, v37 offset:408 // 000000009164: D8340198 0000251D ds_write_b32 v28, v38 offset:408 // 00000000916C: D8340198 0000261C ds_write_b32 v27, v39 offset:408 // 000000009174: D8340198 0000271B label_245F: s_waitcnt lgkmcnt(0) // 00000000917C: BF8C007F s_barrier // 000000009180: BF8A0000 s_and_b64 exec, s[64:65], s[54:55] // wrscc // 000000009184: 87FE3640 s_cbranch_execz label_2480 // 000000009188: BF88001D ds_read2_b32 v[36:37], v4 offset0:102 offset1:104 // 00000000918C: D8DC6866 24000004 ds_read_b32 v38, v29 offset:408 // 000000009194: D8D80198 2600001D ds_read_b32 v39, v28 offset:408 // 00000000919C: D8D80198 2700001C ds_read_b32 v40, v27 offset:408 // 0000000091A4: D8D80198 2800001B v_add_i32 v41, vcc, 0x000011a0, v4 // 0000000091AC: 4A5208FF 000011A0 ds_read2st64_b32 v[41:42], v41 offset1:16 // 0000000091B4: D8E01000 29000029 ds_read_b32 v43, v4 offset:12704 // 0000000091BC: D8D831A0 2B000004 s_waitcnt lgkmcnt(5) // 0000000091C4: BF8C057F v_or_b32 v36, v36, v37 // 0000000091C8: 38484B24 s_waitcnt lgkmcnt(1) // 0000000091CC: BF8C017F v_or_b32 v37, v38, v41 // 0000000091D0: 384A5326 v_or_b32 v38, v39, v42 // 0000000091D4: 384C5527 s_waitcnt lgkmcnt(0) // 0000000091D8: BF8C007F v_or_b32 v39, v40, v43 // 0000000091DC: 384E5728 ds_write_b32 v4, v36 offset:408 // 0000000091E0: D8340198 00002404 ds_write_b32 v29, v37 offset:408 // 0000000091E8: D8340198 0000251D ds_write_b32 v28, v38 offset:408 // 0000000091F0: D8340198 0000261C ds_write_b32 v27, v39 offset:408 // 0000000091F8: D8340198 0000271B label_2480: s_waitcnt lgkmcnt(0) // 000000009200: BF8C007F s_barrier // 000000009204: BF8A0000 s_and_b64 exec, s[64:65], s[56:57] // wrscc // 000000009208: 87FE3840 s_cbranch_execz label_24A1 // 00000000920C: BF88001D ds_read2_b32 v[36:37], v4 offset0:102 offset1:103 // 000000009210: D8DC6766 24000004 ds_read_b32 v38, v29 offset:408 // 000000009218: D8D80198 2600001D ds_read_b32 v39, v28 offset:408 // 000000009220: D8D80198 2700001C ds_read_b32 v40, v27 offset:408 // 000000009228: D8D80198 2800001B v_add_i32 v41, vcc, 0x0000119c, v4 // 000000009230: 4A5208FF 0000119C ds_read2st64_b32 v[41:42], v41 offset1:16 // 000000009238: D8E01000 29000029 ds_read_b32 v43, v4 offset:12700 // 000000009240: D8D8319C 2B000004 s_waitcnt lgkmcnt(5) // 000000009248: BF8C057F v_or_b32 v36, v36, v37 // 00000000924C: 38484B24 s_waitcnt lgkmcnt(1) // 000000009250: BF8C017F v_or_b32 v37, v38, v41 // 000000009254: 384A5326 v_or_b32 v38, v39, v42 // 000000009258: 384C5527 s_waitcnt lgkmcnt(0) // 00000000925C: BF8C007F v_or_b32 v39, v40, v43 // 000000009260: 384E5728 ds_write_b32 v4, v36 offset:408 // 000000009264: D8340198 00002404 ds_write_b32 v29, v37 offset:408 // 00000000926C: D8340198 0000251D ds_write_b32 v28, v38 offset:408 // 000000009274: D8340198 0000261C ds_write_b32 v27, v39 offset:408 // 00000000927C: D8340198 0000271B label_24A1: s_mov_b64 exec, s[64:65] // 000000009284: BEFE0440 s_waitcnt lgkmcnt(0) // 000000009288: BF8C007F s_barrier // 00000000928C: BF8A0000 v_add_i32 v36, vcc, 0x00000198, v31 // 000000009290: 4A483EFF 00000198 ds_read2st64_b32 v[37:38], v36 offset1:16 // 000000009298: D8E01000 25000024 ds_read2st64_b32 v[39:40], v36 offset0:32 offset1:48 // 0000000092A0: D8E03020 27000024 v_lshrrev_b32 v36, 23, v25 // 0000000092A8: 2C483297 s_movk_i32 s3, 0x01e0 // 0000000092AC: B00301E0 v_bfi_b32 v36, s3, v36, 0 // 0000000092B0: D2940024 02024803 v_add_i32 v36, vcc, v5, v36 // 0000000092B8: 4A484905 v_lshlrev_b32 v36, 2, v36 // 0000000092BC: 34484882 ds_read_b32 v36, v36 offset:18844 // 0000000092C0: D8D8499C 24000024 s_and_saveexec_b64 s[46:47], s[46:47] // wrscc // 0000000092C8: BEAE242E v_add_i32 v32, vcc, -1, v32 // 0000000092CC: 4A4040C1 s_cbranch_execz label_24D0 // 0000000092D0: BF88001B s_waitcnt lgkmcnt(2) // 0000000092D4: BF8C027F v_xor_b32 v32, v37, v32 // 0000000092D8: 3A404125 v_cmp_eq_i32 vcc, 0, v34 // 0000000092DC: 7D044480 v_cndmask_b32 v34, 0, -1, vcc // 0000000092E0: D2000022 01A98280 v_xor_b32 v34, v38, v34 // 0000000092E8: 3A444526 v_and_b32 v32, v32, v34 // 0000000092EC: 36404520 v_cmp_eq_i32 vcc, 0, v35 // 0000000092F0: 7D044680 v_cndmask_b32 v34, 0, -1, vcc // 0000000092F4: D2000022 01A98280 s_waitcnt lgkmcnt(1) // 0000000092FC: BF8C017F v_xor_b32 v34, v39, v34 // 000000009300: 3A444527 v_and_b32 v32, v32, v34 // 000000009304: 36404520 v_cmp_eq_i32 vcc, 0, v33 // 000000009308: 7D044280 v_cndmask_b32 v33, 0, -1, vcc // 00000000930C: D2000021 01A98280 v_xor_b32 v33, v40, v33 // 000000009314: 3A424328 v_and_b32 v32, v32, v33 // 000000009318: 36404320 v_bfe_u32 v32, v32, 0, v8 // 00000000931C: D2900020 04210120 s_waitcnt lgkmcnt(0) // 000000009324: BF8C007F v_bcnt_u32_b32 v32, v32, v36 // 000000009328: 44404920 v_add_i32 v32, vcc, v12, v32 // 00000000932C: 4A40410C s_load_dwordx4 s[64:67], s[0:1], 0x58 // 000000009330: C0A00158 s_waitcnt lgkmcnt(0) // 000000009334: BF8C007F buffer_store_dword v25, v32, s[64:67], 0 idxen // 000000009338: E0702000 80101920 label_24D0: s_waitcnt vmcnt(0) & lgkmcnt(0) // 000000009340: BF8C0070 s_barrier // 000000009344: BF8A0000 s_and_b64 exec, s[46:47], s[48:49] // wrscc // 000000009348: 87FE302E s_cbranch_execz label_24E7 // 00000000934C: BF880013 ds_read_b32 v25, v26 offset:18844 // 000000009350: D8D8499C 1900001A v_xor_b32 v32, v30, v37 // 000000009358: 3A404B1E v_cndmask_b32 v33, 0, -1, s[58:59] // 00000000935C: D2000021 00E98280 v_xor_b32 v33, v33, v38 // 000000009364: 3A424D21 v_and_b32 v32, v32, v33 // 000000009368: 36404320 v_cndmask_b32 v33, 0, -1, s[60:61] // 00000000936C: D2000021 00F18280 v_xor_b32 v33, v33, v39 // 000000009374: 3A424F21 v_and_b32 v32, v32, v33 // 000000009378: 36404320 v_cndmask_b32 v33, 0, -1, s[62:63] // 00000000937C: D2000021 00F98280 v_xor_b32 v33, v33, v40 // 000000009384: 3A425121 v_and_b32 v32, v32, v33 // 000000009388: 36404320 s_waitcnt lgkmcnt(0) // 00000000938C: BF8C007F v_bcnt_u32_b32 v25, v32, v25 // 000000009390: 44323320 ds_write_b32 v26, v25 offset:18844 // 000000009394: D834499C 0000191A label_24E7: s_mov_b64 exec, s[46:47] // 00000000939C: BEFE042E v_add_i32 v23, vcc, 1, v23 // 0000000093A0: 4A2E2E81 v_add_i32 v24, vcc, 32, v24 // 0000000093A4: 4A3030A0 s_branch label_23C8 // 0000000093A8: BF82FEDD label_24EB: s_mov_b64 exec, s[44:45] // 0000000093AC: BEFE042C v_cmp_ne_u32 vcc, 0, v21 // 0000000093B0: 7D8A2A80 s_and_saveexec_b64 s[44:45], vcc // wrscc // 0000000093B4: BEAC246A v_add_i32 v11, vcc, v20, v24 // 0000000093B8: 4A163114 s_cbranch_execz label_262A // 0000000093BC: BF88013A s_load_dwordx4 s[64:67], s[0:1], 0x58 // 0000000093C0: C0A00158 s_waitcnt lgkmcnt(0) // 0000000093C4: BF8C007F buffer_load_dword v11, v11, s[64:67], 0 idxen // 0000000093C8: E0302000 80100B0B v_cmp_gt_u32 s[46:47], v22, v24 // 0000000093D0: D188002E 00023116 s_waitcnt vmcnt(0) // 0000000093D8: BF8C0F70 v_cndmask_b32 v11, -1, v11, s[46:47] // 0000000093DC: D200000B 00BA16C1 v_lshrrev_b32 v20, 28, v11 // 0000000093E4: 2C28169C s_and_saveexec_b64 s[64:65], s[42:43] // wrscc // 0000000093E8: BEC0242A v_bfm_b32 v21, 1, v8 // 0000000093EC: 3C2A1081 s_cbranch_execz label_2522 // 0000000093F0: BF880025 v_bfe_u32 v22, v11, 28, 1 // 0000000093F4: D2900016 0205390B v_cmp_ne_i32 vcc, 0, v22 // 0000000093FC: 7D0A2C80 v_cndmask_b32 v22, 0, -1, vcc // 000000009400: D2000016 01A98280 v_lshl_b32 v22, v22, v8 // 000000009408: 322C1116 v_bfi_b32 v22, v21, v22, 0 // 00000000940C: D2940016 02022D15 v_and_b32 v23, 2, v20 // 000000009414: 362E2882 v_cmp_ne_i32 vcc, 0, v23 // 000000009418: 7D0A2E80 v_cndmask_b32 v23, 0, -1, vcc // 00000000941C: D2000017 01A98280 v_lshl_b32 v23, v23, v8 // 000000009424: 322E1117 v_bfi_b32 v23, v21, v23, 0 // 000000009428: D2940017 02022F15 v_and_b32 v24, 4, v20 // 000000009430: 36302884 v_cmp_ne_i32 vcc, 0, v24 // 000000009434: 7D0A3080 v_cndmask_b32 v24, 0, -1, vcc // 000000009438: D2000018 01A98280 v_lshl_b32 v24, v24, v8 // 000000009440: 32301118 v_bfi_b32 v24, v21, v24, 0 // 000000009444: D2940018 02023115 v_and_b32 v25, 8, v20 // 00000000944C: 36322888 v_cmp_ne_i32 vcc, 0, v25 // 000000009450: 7D0A3280 v_cndmask_b32 v25, 0, -1, vcc // 000000009454: D2000019 01A98280 v_lshl_b32 v25, v25, v8 // 00000000945C: 32321119 v_bfi_b32 v21, v21, v25, 0 // 000000009460: D2940015 02023315 ds_write_b32 v4, v22 offset:408 // 000000009468: D8340198 00001604 ds_write_b32 v29, v23 offset:408 // 000000009470: D8340198 0000171D ds_write_b32 v28, v24 offset:408 // 000000009478: D8340198 0000181C ds_write_b32 v27, v21 offset:408 // 000000009480: D8340198 0000151B label_2522: s_waitcnt lgkmcnt(0) // 000000009488: BF8C007F s_barrier // 00000000948C: BF8A0000 s_and_b64 exec, s[64:65], s[42:43] // wrscc // 000000009490: 87FE2A40 s_cbranch_execz label_2545 // 000000009494: BF88001F s_and_saveexec_b64 s[66:67], s[48:49] // wrscc // 000000009498: BEC22430 s_cbranch_execz label_2545 // 00000000949C: BF88001D ds_read2_b32 v[21:22], v4 offset0:102 offset1:118 // 0000000094A0: D8DC7666 15000004 ds_read_b32 v23, v29 offset:408 // 0000000094A8: D8D80198 1700001D ds_read_b32 v24, v28 offset:408 // 0000000094B0: D8D80198 1800001C ds_read_b32 v25, v27 offset:408 // 0000000094B8: D8D80198 1900001B v_add_i32 v32, vcc, 0x000011d8, v4 // 0000000094C0: 4A4008FF 000011D8 ds_read2st64_b32 v[32:33], v32 offset1:16 // 0000000094C8: D8E01000 20000020 ds_read_b32 v34, v4 offset:12760 // 0000000094D0: D8D831D8 22000004 s_waitcnt lgkmcnt(5) // 0000000094D8: BF8C057F v_or_b32 v21, v21, v22 // 0000000094DC: 382A2D15 s_waitcnt lgkmcnt(1) // 0000000094E0: BF8C017F v_or_b32 v22, v23, v32 // 0000000094E4: 382C4117 v_or_b32 v23, v24, v33 // 0000000094E8: 382E4318 s_waitcnt lgkmcnt(0) // 0000000094EC: BF8C007F v_or_b32 v24, v25, v34 // 0000000094F0: 38304519 ds_write_b32 v4, v21 offset:408 // 0000000094F4: D8340198 00001504 ds_write_b32 v29, v22 offset:408 // 0000000094FC: D8340198 0000161D ds_write_b32 v28, v23 offset:408 // 000000009504: D8340198 0000171C ds_write_b32 v27, v24 offset:408 // 00000000950C: D8340198 0000181B label_2545: s_waitcnt lgkmcnt(0) // 000000009514: BF8C007F s_barrier // 000000009518: BF8A0000 s_and_b64 exec, s[64:65], s[42:43] // wrscc // 00000000951C: 87FE2A40 s_cbranch_execz label_2568 // 000000009520: BF88001F s_and_saveexec_b64 s[50:51], s[50:51] // wrscc // 000000009524: BEB22432 s_cbranch_execz label_2568 // 000000009528: BF88001D ds_read2_b32 v[21:22], v4 offset0:102 offset1:110 // 00000000952C: D8DC6E66 15000004 ds_read_b32 v23, v29 offset:408 // 000000009534: D8D80198 1700001D ds_read_b32 v24, v28 offset:408 // 00000000953C: D8D80198 1800001C ds_read_b32 v25, v27 offset:408 // 000000009544: D8D80198 1900001B v_add_i32 v32, vcc, 0x000011b8, v4 // 00000000954C: 4A4008FF 000011B8 ds_read2st64_b32 v[32:33], v32 offset1:16 // 000000009554: D8E01000 20000020 ds_read_b32 v34, v4 offset:12728 // 00000000955C: D8D831B8 22000004 s_waitcnt lgkmcnt(5) // 000000009564: BF8C057F v_or_b32 v21, v21, v22 // 000000009568: 382A2D15 s_waitcnt lgkmcnt(1) // 00000000956C: BF8C017F v_or_b32 v22, v23, v32 // 000000009570: 382C4117 v_or_b32 v23, v24, v33 // 000000009574: 382E4318 s_waitcnt lgkmcnt(0) // 000000009578: BF8C007F v_or_b32 v24, v25, v34 // 00000000957C: 38304519 ds_write_b32 v4, v21 offset:408 // 000000009580: D8340198 00001504 ds_write_b32 v29, v22 offset:408 // 000000009588: D8340198 0000161D ds_write_b32 v28, v23 offset:408 // 000000009590: D8340198 0000171C ds_write_b32 v27, v24 offset:408 // 000000009598: D8340198 0000181B label_2568: s_waitcnt lgkmcnt(0) // 0000000095A0: BF8C007F s_barrier // 0000000095A4: BF8A0000 s_and_b64 exec, s[64:65], s[42:43] // wrscc // 0000000095A8: 87FE2A40 s_cbranch_execz label_258B // 0000000095AC: BF88001F s_and_saveexec_b64 s[50:51], s[52:53] // wrscc // 0000000095B0: BEB22434 s_cbranch_execz label_258B // 0000000095B4: BF88001D ds_read2_b32 v[21:22], v4 offset0:102 offset1:106 // 0000000095B8: D8DC6A66 15000004 ds_read_b32 v23, v29 offset:408 // 0000000095C0: D8D80198 1700001D ds_read_b32 v24, v28 offset:408 // 0000000095C8: D8D80198 1800001C ds_read_b32 v25, v27 offset:408 // 0000000095D0: D8D80198 1900001B v_add_i32 v32, vcc, 0x000011a8, v4 // 0000000095D8: 4A4008FF 000011A8 ds_read2st64_b32 v[32:33], v32 offset1:16 // 0000000095E0: D8E01000 20000020 ds_read_b32 v34, v4 offset:12712 // 0000000095E8: D8D831A8 22000004 s_waitcnt lgkmcnt(5) // 0000000095F0: BF8C057F v_or_b32 v21, v21, v22 // 0000000095F4: 382A2D15 s_waitcnt lgkmcnt(1) // 0000000095F8: BF8C017F v_or_b32 v22, v23, v32 // 0000000095FC: 382C4117 v_or_b32 v23, v24, v33 // 000000009600: 382E4318 s_waitcnt lgkmcnt(0) // 000000009604: BF8C007F v_or_b32 v24, v25, v34 // 000000009608: 38304519 ds_write_b32 v4, v21 offset:408 // 00000000960C: D8340198 00001504 ds_write_b32 v29, v22 offset:408 // 000000009614: D8340198 0000161D ds_write_b32 v28, v23 offset:408 // 00000000961C: D8340198 0000171C ds_write_b32 v27, v24 offset:408 // 000000009624: D8340198 0000181B label_258B: s_waitcnt lgkmcnt(0) // 00000000962C: BF8C007F s_barrier // 000000009630: BF8A0000 s_and_b64 exec, s[64:65], s[42:43] // wrscc // 000000009634: 87FE2A40 s_cbranch_execz label_25AE // 000000009638: BF88001F s_and_saveexec_b64 s[50:51], s[54:55] // wrscc // 00000000963C: BEB22436 s_cbranch_execz label_25AE // 000000009640: BF88001D ds_read2_b32 v[21:22], v4 offset0:102 offset1:104 // 000000009644: D8DC6866 15000004 ds_read_b32 v23, v29 offset:408 // 00000000964C: D8D80198 1700001D ds_read_b32 v24, v28 offset:408 // 000000009654: D8D80198 1800001C ds_read_b32 v25, v27 offset:408 // 00000000965C: D8D80198 1900001B v_add_i32 v32, vcc, 0x000011a0, v4 // 000000009664: 4A4008FF 000011A0 ds_read2st64_b32 v[32:33], v32 offset1:16 // 00000000966C: D8E01000 20000020 ds_read_b32 v34, v4 offset:12704 // 000000009674: D8D831A0 22000004 s_waitcnt lgkmcnt(5) // 00000000967C: BF8C057F v_or_b32 v21, v21, v22 // 000000009680: 382A2D15 s_waitcnt lgkmcnt(1) // 000000009684: BF8C017F v_or_b32 v22, v23, v32 // 000000009688: 382C4117 v_or_b32 v23, v24, v33 // 00000000968C: 382E4318 s_waitcnt lgkmcnt(0) // 000000009690: BF8C007F v_or_b32 v24, v25, v34 // 000000009694: 38304519 ds_write_b32 v4, v21 offset:408 // 000000009698: D8340198 00001504 ds_write_b32 v29, v22 offset:408 // 0000000096A0: D8340198 0000161D ds_write_b32 v28, v23 offset:408 // 0000000096A8: D8340198 0000171C ds_write_b32 v27, v24 offset:408 // 0000000096B0: D8340198 0000181B label_25AE: s_waitcnt lgkmcnt(0) // 0000000096B8: BF8C007F s_barrier // 0000000096BC: BF8A0000 s_and_b64 exec, s[64:65], s[42:43] // wrscc // 0000000096C0: 87FE2A40 s_cbranch_execz label_25D1 // 0000000096C4: BF88001F s_and_saveexec_b64 s[50:51], s[56:57] // wrscc // 0000000096C8: BEB22438 s_cbranch_execz label_25D1 // 0000000096CC: BF88001D ds_read2_b32 v[21:22], v4 offset0:102 offset1:103 // 0000000096D0: D8DC6766 15000004 ds_read_b32 v23, v29 offset:408 // 0000000096D8: D8D80198 1700001D ds_read_b32 v24, v28 offset:408 // 0000000096E0: D8D80198 1800001C ds_read_b32 v25, v27 offset:408 // 0000000096E8: D8D80198 1900001B v_add_i32 v32, vcc, 0x0000119c, v4 // 0000000096F0: 4A4008FF 0000119C ds_read2st64_b32 v[32:33], v32 offset1:16 // 0000000096F8: D8E01000 20000020 ds_read_b32 v34, v4 offset:12700 // 000000009700: D8D8319C 22000004 s_waitcnt lgkmcnt(5) // 000000009708: BF8C057F v_or_b32 v21, v21, v22 // 00000000970C: 382A2D15 s_waitcnt lgkmcnt(1) // 000000009710: BF8C017F v_or_b32 v22, v23, v32 // 000000009714: 382C4117 v_or_b32 v23, v24, v33 // 000000009718: 382E4318 s_waitcnt lgkmcnt(0) // 00000000971C: BF8C007F v_or_b32 v24, v25, v34 // 000000009720: 38304519 ds_write_b32 v4, v21 offset:408 // 000000009724: D8340198 00001504 ds_write_b32 v29, v22 offset:408 // 00000000972C: D8340198 0000161D ds_write_b32 v28, v23 offset:408 // 000000009734: D8340198 0000171C ds_write_b32 v27, v24 offset:408 // 00000000973C: D8340198 0000181B label_25D1: s_waitcnt lgkmcnt(0) // 000000009744: BF8C007F s_barrier // 000000009748: BF8A0000 s_and_b64 exec, s[64:65], s[42:43] // wrscc // 00000000974C: 87FE2A40 v_add_i32 v21, vcc, 0x00000198, v31 // 000000009750: 4A2A3EFF 00000198 s_cbranch_execz label_2605 // 000000009758: BF88002E ds_read2st64_b32 v[22:23], v21 offset1:16 // 00000000975C: D8E01000 16000015 ds_read2st64_b32 v[24:25], v21 offset0:32 offset1:48 // 000000009764: D8E03020 18000015 v_lshrrev_b32 v21, 23, v11 // 00000000976C: 2C2A1697 s_movk_i32 s3, 0x01e0 // 000000009770: B00301E0 v_and_b32 v27, 2, v20 // 000000009774: 36362882 v_bfi_b32 v21, s3, v21, 0 // 000000009778: D2940015 02022A03 v_bfe_u32 v28, v11, 28, 1 // 000000009780: D290001C 0205390B v_cmp_eq_i32 s[50:51], v27, 0 // 000000009788: D1040032 0001011B v_and_b32 v27, 4, v20 // 000000009790: 36362884 v_add_i32 v21, vcc, v5, v21 // 000000009794: 4A2A2B05 v_add_i32 v28, vcc, -1, v28 // 000000009798: 4A3838C1 v_cndmask_b32 v29, 0, -1, s[50:51] // 00000000979C: D200001D 00C98280 v_cmp_eq_i32 vcc, 0, v27 // 0000000097A4: 7D043680 v_and_b32 v20, 8, v20 // 0000000097A8: 36282888 v_lshlrev_b32 v21, 2, v21 // 0000000097AC: 342A2A82 ds_read_b32 v21, v21 offset:18844 // 0000000097B0: D8D8499C 15000015 s_waitcnt lgkmcnt(2) // 0000000097B8: BF8C027F v_xor_b32 v27, v22, v28 // 0000000097BC: 3A363916 v_xor_b32 v28, v23, v29 // 0000000097C0: 3A383B17 v_cndmask_b32 v29, 0, -1, vcc // 0000000097C4: D200001D 01A98280 v_cmp_eq_i32 vcc, 0, v20 // 0000000097CC: 7D042880 s_waitcnt lgkmcnt(1) // 0000000097D0: BF8C017F v_xor_b32 v20, v24, v29 // 0000000097D4: 3A283B18 v_cndmask_b32 v29, 0, -1, vcc // 0000000097D8: D200001D 01A98280 v_and_b32 v27, v27, v28 // 0000000097E0: 3636391B v_xor_b32 v28, v25, v29 // 0000000097E4: 3A383B19 v_and_b32 v20, v20, v27 // 0000000097E8: 36283714 v_and_b32 v20, v28, v20 // 0000000097EC: 3628291C v_bfe_u32 v20, v20, 0, v8 // 0000000097F0: D2900014 04210114 s_waitcnt lgkmcnt(0) // 0000000097F8: BF8C007F v_bcnt_u32_b32 v27, v20, v21 // 0000000097FC: 44362B14 v_mov_b32 v62, v22 // 000000009800: 7E7C0316 v_mov_b32 v22, v23 // 000000009804: 7E2C0317 v_mov_b32 v23, v24 // 000000009808: 7E2E0318 v_mov_b32 v24, v25 // 00000000980C: 7E300319 v_mov_b32 v25, v62 // 000000009810: 7E32033E label_2605: s_andn2_b64 exec, s[64:65], exec // wrscc // 000000009814: 8AFE7E40 v_mov_b32 v24, 0 // 000000009818: 7E300280 v_mov_b32 v23, 0 // 00000000981C: 7E2E0280 v_mov_b32 v22, 0 // 000000009820: 7E2C0280 v_mov_b32 v25, 0 // 000000009824: 7E320280 v_mov_b32 v27, 0 // 000000009828: 7E360280 s_and_b64 exec, s[64:65], s[46:47] // wrscc // 00000000982C: 87FE2E40 v_add_i32 v20, vcc, v12, v27 // 000000009830: 4A28370C s_load_dwordx4 s[52:55], s[0:1], 0x58 // 000000009834: C09A0158 s_waitcnt lgkmcnt(0) // 000000009838: BF8C007F buffer_store_dword v11, v20, s[52:55], 0 idxen // 00000000983C: E0702000 800D0B14 s_waitcnt vmcnt(0) // 000000009844: BF8C0F70 s_barrier // 000000009848: BF8A0000 s_and_b64 exec, s[64:65], s[42:43] // wrscc // 00000000984C: 87FE2A40 s_cbranch_execz label_262A // 000000009850: BF880015 s_and_saveexec_b64 s[42:43], s[48:49] // wrscc // 000000009854: BEAA2430 s_cbranch_execz label_262A // 000000009858: BF880013 ds_read_b32 v11, v26 offset:18844 // 00000000985C: D8D8499C 0B00001A v_xor_b32 v20, v30, v25 // 000000009864: 3A28331E v_cndmask_b32 v21, 0, -1, s[58:59] // 000000009868: D2000015 00E98280 v_xor_b32 v21, v21, v22 // 000000009870: 3A2A2D15 v_and_b32 v20, v20, v21 // 000000009874: 36282B14 v_cndmask_b32 v21, 0, -1, s[60:61] // 000000009878: D2000015 00F18280 v_xor_b32 v21, v21, v23 // 000000009880: 3A2A2F15 v_cndmask_b32 v22, 0, -1, s[62:63] // 000000009884: D2000016 00F98280 v_xor_b32 v22, v22, v24 // 00000000988C: 3A2C3116 v_and_b32 v20, v20, v21 // 000000009890: 36282B14 v_and_b32 v20, v22, v20 // 000000009894: 36282916 s_waitcnt lgkmcnt(0) // 000000009898: BF8C007F v_bcnt_u32_b32 v11, v20, v11 // 00000000989C: 44161714 ds_write_b32 v26, v11 offset:18844 // 0000000098A0: D834499C 00000B1A label_262A: s_mov_b64 exec, s[44:45] // 0000000098A8: BEFE042C s_mov_b64 s[42:43], exec // 0000000098AC: BEAA047E v_mov_b32 v11, v8 // 0000000098B0: 7E160308 label_262D: v_cmp_ge_i32 vcc, v11, v9 // 0000000098B4: 7D0C130B s_andn2_b64 exec, exec, vcc // wrscc // 0000000098B8: 8AFE6A7E s_cbranch_execz label_2650 // 0000000098BC: BF880020 v_add_i32 v20, vcc, v11, v12 // 0000000098C0: 4A28190B v_cmp_ne_i32 s[44:45], v11, 0 // 0000000098C4: D10A002C 0001010B v_add_i32 v21, vcc, -1, v20 // 0000000098CC: 4A2A28C1 s_load_dwordx4 s[48:51], s[0:1], 0x58 // 0000000098D0: C0980158 s_waitcnt lgkmcnt(0) // 0000000098D4: BF8C007F buffer_load_dword v20, v20, s[48:51], 0 idxen // 0000000098D8: E0302000 800C1414 buffer_load_dword v21, v21, s[48:51], 0 idxen // 0000000098E0: E0302000 800C1515 s_waitcnt vmcnt(1) // 0000000098E8: BF8C0F71 v_ashrrev_i32 v20, 16, v20 // 0000000098EC: 30282890 v_add_i32 v22, vcc, -1, v20 // 0000000098F0: 4A2C28C1 s_waitcnt vmcnt(0) // 0000000098F4: BF8C0F70 v_ashrrev_i32 v21, 16, v21 // 0000000098F8: 302A2A90 v_cndmask_b32 v21, v22, v21, s[44:45] // 0000000098FC: D2000015 00B22B16 v_cmp_ne_i32 vcc, v20, v21 // 000000009904: 7D0A2B14 s_and_saveexec_b64 s[44:45], vcc // wrscc // 000000009908: BEAC246A v_add_i32 v21, vcc, v13, v21 // 00000000990C: 4A2A2B0D v_add_i32 v20, vcc, v13, v20 // 000000009910: 4A28290D v_add_i32 v21, vcc, 1, v21 // 000000009914: 4A2A2A81 s_load_dwordx4 s[48:51], s[0:1], 0x58 // 000000009918: C0980158 s_waitcnt lgkmcnt(0) // 00000000991C: BF8C007F buffer_store_dword v11, v20, s[48:51], 0 idxen // 000000009920: E0702000 800C0B14 buffer_store_dword v11, v21, s[48:51], 0 idxen // 000000009928: E0702000 800C0B15 s_mov_b64 exec, s[44:45] // 000000009930: BEFE042C v_add_i32 v11, vcc, 0x00000400, v11 // 000000009934: 4A1616FF 00000400 s_branch label_262D // 00000000993C: BF82FFDD label_2650: s_mov_b64 exec, s[42:43] // 000000009940: BEFE042A v_mov_b32 v11, 0 // 000000009944: 7E160280 ds_read2_b32 v[11:12], v11 offset0:27 offset1:28 // 000000009948: D8DC1C1B 0B00000B s_mov_b64 s[42:43], exec // 000000009950: BEAA047E v_mov_b32 v20, v8 // 000000009954: 7E280308 s_nop 0x0000 // 000000009958: BF800000 s_nop 0x0000 // 00000000995C: BF800000 label_2658: v_cmp_ge_i32 vcc, v20, v9 // 000000009960: 7D0C1314 s_andn2_b64 exec, exec, vcc // wrscc // 000000009964: 8AFE6A7E s_cbranch_execz label_2674 // 000000009968: BF880019 s_waitcnt lgkmcnt(0) // 00000000996C: BF8C007F v_add_i32 v21, vcc, v12, v20 // 000000009970: 4A2A290C v_lshlrev_b32 v22, 2, v20 // 000000009974: 342C2882 v_add_i32 v20, vcc, 0x00000400, v20 // 000000009978: 4A2828FF 00000400 s_load_dwordx8 s[44:51], s[0:1], 0x54 // 000000009980: C0D60154 s_waitcnt lgkmcnt(0) // 000000009984: BF8C007F buffer_load_dword v21, v21, s[48:51], 0 idxen // 000000009988: E0302000 800C1515 s_waitcnt vmcnt(0) // 000000009990: BF8C0F70 v_bfe_u32 v21, v21, 0, 16 // 000000009994: D2900015 02410115 v_add_i32 v21, vcc, v11, v21 // 00000000999C: 4A2A2B0B buffer_load_dwordx4 v[23:26], v21, s[44:47], 0 idxen // 0000000099A0: E0382000 800B1715 s_waitcnt vmcnt(0) // 0000000099A8: BF8C0F70 ds_write_b32 v22, v23 offset:408 // 0000000099AC: D8340198 00001716 ds_write_b32 v22, v24 offset:8284 // 0000000099B4: D834205C 00001816 ds_write_b32 v22, v25 offset:16160 // 0000000099BC: D8343F20 00001916 ds_write_b32 v22, v26 offset:24036 // 0000000099C4: D8345DE4 00001A16 s_branch label_2658 // 0000000099CC: BF82FFE4 label_2674: s_mov_b64 exec, s[42:43] // 0000000099D0: BEFE042A s_waitcnt vmcnt(0) & lgkmcnt(0) // 0000000099D4: BF8C0070 s_barrier // 0000000099D8: BF8A0000 v_mov_b32 v11, 0 // 0000000099DC: 7E160280 ds_read2_b32 v[20:21], v11 offset0:24 offset1:28 // 0000000099E0: D8DC1C18 1400000B ds_read_b32 v11, v11 offset:288 // 0000000099E8: D8D80120 0B00000B s_waitcnt lgkmcnt(1) // 0000000099F0: BF8C017F v_mul_legacy_f32 v12, v20, v20 // 0000000099F4: 0E182914 s_mov_b64 s[42:43], exec // 0000000099F8: BEAA047E v_mov_b32 v22, v8 // 0000000099FC: 7E2C0308 label_2680: v_cmp_ge_i32 vcc, v22, v9 // 000000009A00: 7D0C1316 s_andn2_b64 exec, exec, vcc // wrscc // 000000009A04: 8AFE6A7E s_cbranch_execz label_2894 // 000000009A08: BF880211 v_readfirstlane_b32 s3, v19 // 000000009A0C: 7E060513 v_readfirstlane_b32 s44, v18 // 000000009A10: 7E580512 v_lshlrev_b32 v23, 2, v22 // 000000009A14: 342E2C82 s_lshl_b32 s3, s3, 4 // wrscc // 000000009A18: 8F038403 ds_read_b32 v24, v23 offset:24036 // 000000009A1C: D8D85DE4 18000017 s_buffer_load_dwordx4 s[48:51], s[4:7], s3 // 000000009A24: C2980403 s_lshl_b32 s3, s44, 4 // wrscc // 000000009A28: 8F03842C ds_read_b32 v25, v23 offset:16160 // 000000009A2C: D8D83F20 19000017 s_buffer_load_dwordx4 s[44:47], s[4:7], s3 // 000000009A34: C2960403 ds_read_b32 v26, v23 offset:8284 // 000000009A38: D8D8205C 1A000017 ds_read_b32 v23, v23 offset:408 // 000000009A40: D8D80198 17000017 s_waitcnt lgkmcnt(0) // 000000009A48: BF8C007F v_mul_legacy_f32 v27, s51, v24 // 000000009A4C: 0E363033 v_mul_legacy_f32 v28, s47, v24 // 000000009A50: 0E38302F v_mac_f32 v27, s50, v25 // 000000009A54: 3E363232 v_mac_f32 v28, s46, v25 // 000000009A58: 3E38322E v_mac_f32 v27, s49, v26 // 000000009A5C: 3E363431 v_mac_f32 v28, s45, v26 // 000000009A60: 3E38342D v_mac_f32 v27, s48, v23 // 000000009A64: 3E362E30 v_mac_f32 v28, s44, v23 // 000000009A68: 3E382E2C v_mad_f32 v27, v27, v15, v17 // 000000009A6C: D282001B 04461F1B s_mov_b32 s3, 0x42ff0000 // 000000009A74: BE8303FF 42FF0000 v_mad_f32 v28, v28, v14, v16 // 000000009A7C: D282001C 04421D1C v_med3_f32 v27, v27, s3, 0 // 000000009A84: D2AE001B 0200071B v_med3_f32 v28, v28, s3, 0 // 000000009A8C: D2AE001C 0200071C v_cvt_i32_f32 v27, v27 // 000000009A94: 7E36111B v_cvt_i32_f32 v28, v28 // 000000009A98: 7E38111C v_lshlrev_b32 v27, 7, v27 // 000000009A9C: 34363687 v_add_i32 v27, vcc, v28, v27 // 000000009AA0: 4A36371C v_add_i32 v28, vcc, v21, v22 // 000000009AA4: 4A382D15 v_add_i32 v27, vcc, v13, v27 // 000000009AA8: 4A36370D v_add_i32 v29, vcc, 2, v27 // 000000009AAC: 4A3A3682 v_add_i32 v30, vcc, 1, v27 // 000000009AB0: 4A3C3681 v_add_i32 v31, vcc, 3, v27 // 000000009AB4: 4A3E3683 buffer_load_dword v28, v28, s[32:35], 0 idxen // 000000009AB8: E0302000 80081C1C buffer_load_dword v29, v29, s[32:35], 0 idxen // 000000009AC0: E0302000 80081D1D buffer_load_dword v30, v30, s[32:35], 0 idxen // 000000009AC8: E0302000 80081E1E buffer_load_dword v32, v27, s[32:35], 0 idxen // 000000009AD0: E0302000 8008201B buffer_load_dword v31, v31, s[32:35], 0 idxen // 000000009AD8: E0302000 80081F1F s_waitcnt vmcnt(4) // 000000009AE0: BF8C0F74 v_and_b32 v28, 0x0000ffff, v28 // 000000009AE4: 363838FF 0000FFFF v_add_i32 v33, vcc, 0x00000400, v22 // 000000009AEC: 4A422CFF 00000400 v_add_i32 v34, vcc, v11, v28 // 000000009AF4: 4A44390B s_waitcnt vmcnt(1) // 000000009AF8: BF8C0F71 v_min3_u32 v32, v32, v30, v29 // 000000009AFC: D2A60020 04763D20 s_waitcnt vmcnt(0) // 000000009B04: BF8C0F70 v_max3_i32 v29, v30, v29, v31 // 000000009B08: D2AA001D 047E3B1E s_mov_b64 s[44:45], exec // 000000009B10: BEAC047E s_mov_b64 s[46:47], exec // 000000009B14: BEAE047E v_mov_b32 v62, 0 // 000000009B18: 7E7C0280 v_mov_b32 v36, v32 // 000000009B1C: 7E480320 v_mov_b32 v32, 0 // 000000009B20: 7E400280 v_mov_b32 v31, 0 // 000000009B24: 7E3E0280 v_mov_b32 v35, 0x34000000 // 000000009B28: 7E4602FF 34000000 v_mov_b32 v30, 0 // 000000009B30: 7E3C0280 s_nop 0x0000 // 000000009B34: BF800000 s_nop 0x0000 // 000000009B38: BF800000 s_nop 0x0000 // 000000009B3C: BF800000 label_26D0: v_max_i32 v37, 0, v29 // 000000009B40: 244A3A80 v_cmp_ge_u32 vcc, v36, v37 // 000000009B44: 7D8C4B24 s_load_dwordx4 s[48:51], s[0:1], 0x34 // 000000009B48: C0980134 s_waitcnt lgkmcnt(0) // 000000009B4C: BF8C007F tbuffer_load_format_xyz v[37:39], v34, s[48:51], 0 idxen format:[BUF_DATA_FORMAT_32_32_32,BUF_NUM_FORMAT_FLOAT] // 000000009B50: EBEA2000 800C2522 v_add_f32 v40, 0x34000000, v24 // 000000009B58: 065030FF 34000000 s_and_saveexec_b64 s[48:49], vcc // wrscc // 000000009B60: BEB0246A s_andn2_b64 s[46:47], s[46:47], exec // wrscc // 000000009B64: 8AAE7E2E s_cbranch_scc0 label_2750 // 000000009B68: BF840075 s_and_b64 exec, s[48:49], s[46:47] // wrscc // 000000009B6C: 87FE2E30 v_cmp_ne_i32 vcc, v22, v36 // 000000009B70: 7D0A4916 s_and_saveexec_b64 s[48:49], vcc // wrscc // 000000009B74: BEB0246A v_lshlrev_b32 v41, 2, v36 // 000000009B78: 34524882 s_cbranch_execz label_2744 // 000000009B7C: BF880064 ds_read_b32 v42, v41 offset:408 // 000000009B80: D8D80198 2A000029 ds_read_b32 v43, v41 offset:8284 // 000000009B88: D8D8205C 2B000029 ds_read_b32 v44, v41 offset:16160 // 000000009B90: D8D83F20 2C000029 ds_read_b32 v41, v41 offset:24036 // 000000009B98: D8D85DE4 29000029 s_waitcnt lgkmcnt(3) // 000000009BA0: BF8C037F v_sub_f32 v42, v23, v42 // 000000009BA4: 08545517 s_waitcnt lgkmcnt(2) // 000000009BA8: BF8C027F v_sub_f32 v43, v26, v43 // 000000009BAC: 0856571A s_waitcnt lgkmcnt(1) // 000000009BB0: BF8C017F v_sub_f32 v44, v25, v44 // 000000009BB4: 08585919 v_mul_legacy_f32 v45, v44, v44 // 000000009BB8: 0E5A592C v_mac_f32 v45, v43, v43 // 000000009BBC: 3E5A572B v_mac_f32 v45, v42, v42 // 000000009BC0: 3E5A552A v_cmp_gt_f32 s[50:51], v45, v12 // 000000009BC4: D0080032 0002192D v_cndmask_b32 v46, 0, 1.0, s[50:51] // 000000009BCC: D200002E 00C9E480 v_addc_u32 v47, vcc, v36, 0, s[50:51] // 000000009BD4: D2506A2F 00C90124 s_mov_b64 s[52:53], exec // 000000009BDC: BEB4047E s_andn2_b64 exec, s[52:53], s[50:51] // wrscc // 000000009BE0: 8AFE3234 v_cmp_ne_i32 vcc, -1, v11 // 000000009BE4: 7D0A16C1 s_cbranch_execz label_273E // 000000009BE8: BF880043 s_and_saveexec_b64 s[54:55], vcc // wrscc // 000000009BEC: BEB6246A v_addc_u32 v48, vcc, v36, v21, s[50:51] // 000000009BF0: D2506A30 00CA2B24 s_cbranch_execz label_2724 // 000000009BF8: BF880025 v_addc_u32 v36, vcc, v36, 1, s[50:51] // 000000009BFC: D2506A24 00C90324 buffer_load_dword v48, v48, s[32:35], 0 idxen // 000000009C04: E0302000 80083030 s_waitcnt vmcnt(0) // 000000009C0C: BF8C0F70 v_bfe_u32 v48, v48, 0, 16 // 000000009C10: D2900030 02410130 v_add_i32 v48, vcc, v11, v48 // 000000009C18: 4A60610B s_load_dwordx4 s[56:59], s[0:1], 0x34 // 000000009C1C: C09C0134 s_waitcnt lgkmcnt(0) // 000000009C20: BF8C007F tbuffer_load_format_xyz v[48:50], v48, s[56:59], 0 idxen format:[BUF_DATA_FORMAT_32_32_32,BUF_NUM_FORMAT_FLOAT] // 000000009C24: EBEA2000 800E3030 s_waitcnt vmcnt(0) // 000000009C2C: BF8C0F70 v_sub_f32 v37, v37, v48 // 000000009C30: 084A6125 v_sub_f32 v38, v38, v49 // 000000009C34: 084C6326 v_sub_f32 v39, v39, v50 // 000000009C38: 084E6527 v_mul_legacy_f32 v39, v39, v39 // 000000009C3C: 0E4E4F27 v_mac_f32 v39, v38, v38 // 000000009C40: 3E4E4D26 v_mad_f32 v38, v37, v37, v39 // 000000009C44: D2820026 049E4B25 v_cmp_ge_f32 vcc, v12, v38 // 000000009C4C: 7C0C4D0C v_cndmask_b32 v37, 0, 1.0, vcc // 000000009C50: D2000025 01A9E480 v_cndmask_b32 v36, v47, v36, vcc // 000000009C58: 0048492F s_mov_b64 s[50:51], exec // 000000009C5C: BEB2047E s_andn2_b64 exec, s[50:51], vcc // wrscc // 000000009C60: 8AFE6A32 v_add_f32 v38, 0x34000000, v38 // 000000009C64: 064C4CFF 34000000 v_rcp_f32 v38, v38 // 000000009C6C: 7E4C5526 v_mul_f32 v38, v12, v38 // 000000009C70: 104C4D0C v_rsq_f32 v38, v38 // 000000009C74: 7E4C5D26 v_add_f32 v38, -1.0, v38 // 000000009C78: 064C4CF3 v_min_legacy_f32 v38, 1.0, v38 // 000000009C7C: 1A4C4CF2 s_mov_b64 exec, s[50:51] // 000000009C80: BEFE0432 v_mov_b32 v62, v38 // 000000009C84: 7E7C0326 v_mov_b32 v38, v37 // 000000009C88: 7E4C0325 v_mov_b32 v37, v62 // 000000009C8C: 7E4A033E label_2724: s_andn2_b64 exec, s[54:55], exec // wrscc // 000000009C90: 8AFE7E36 s_waitcnt vmcnt(0) // 000000009C94: BF8C0F70 v_mov_b32 v38, 0 // 000000009C98: 7E4C0280 v_mov_b32 v37, 1.0 // 000000009C9C: 7E4A02F2 v_mov_b32 v36, v47 // 000000009CA0: 7E48032F s_mov_b64 exec, s[54:55] // 000000009CA4: BEFE0436 v_cmp_eq_u32 vcc, 0, v38 // 000000009CA8: 7D844C80 s_and_b64 exec, s[54:55], vcc // wrscc // 000000009CAC: 87FE6A36 v_add_f32 v39, 0x34000000, v45 // 000000009CB0: 064E5AFF 34000000 s_cbranch_execz label_273D // 000000009CB8: BF88000E v_rsq_f32 v39, v39 // 000000009CBC: 7E4E5D27 v_mad_f32 v39, v20, v39, -1.0 // 000000009CC0: D2820027 03CE4F14 v_max_legacy_f32 v39, 0, v39 // 000000009CC8: 1C4E4E80 v_mul_legacy_f32 v45, v39, v39 // 000000009CCC: 0E5A4F27 v_mul_legacy_f32 v37, v37, v45 // 000000009CD0: 0E4A5B25 s_waitcnt lgkmcnt(0) // 000000009CD4: BF8C007F v_add_f32 v40, v40, v41 // 000000009CD8: 06505328 v_rcp_f32 v40, v40 // 000000009CDC: 7E505528 v_mul_f32 v37, v37, v40 // 000000009CE0: 104A5125 v_mac_f32 v30, v37, v42 // 000000009CE4: 3E3C5525 v_mac_f32 v31, v37, v43 // 000000009CE8: 3E3E5725 v_mac_f32 v32, v37, v44 // 000000009CEC: 3E405925 v_add_f32 v35, v35, v39 // 000000009CF0: 06464F23 label_273D: s_mov_b64 exec, s[54:55] // 000000009CF4: BEFE0436 label_273E: s_andn2_b64 exec, s[52:53], exec // wrscc // 000000009CF8: 8AFE7E34 s_waitcnt vmcnt(0) // 000000009CFC: BF8C0F70 v_mov_b32 v38, 0 // 000000009D00: 7E4C0280 v_mov_b32 v36, v47 // 000000009D04: 7E48032F s_mov_b64 exec, s[52:53] // 000000009D08: BEFE0434 v_mov_b32 v37, v46 // 000000009D0C: 7E4A032E label_2744: s_andn2_b64 exec, s[48:49], exec // wrscc // 000000009D10: 8AFE7E30 v_mov_b32 v62, 0 // 000000009D14: 7E7C0280 s_waitcnt vmcnt(0) // 000000009D18: BF8C0F70 v_mov_b32 v38, 0 // 000000009D1C: 7E4C0280 v_mov_b32 v37, 0 // 000000009D20: 7E4A0280 s_mov_b64 exec, s[48:49] // 000000009D24: BEFE0430 v_cmp_eq_u32 vcc, 0, v38 // 000000009D28: 7D844C80 v_addc_u32 v38, vcc, v36, 0, vcc // 000000009D2C: D2506A26 01A90124 v_cmp_eq_u32 vcc, 0, v37 // 000000009D34: 7D844A80 v_cndmask_b32 v36, v36, v38, vcc // 000000009D38: 00484D24 s_branch label_26D0 // 000000009D3C: BF82FF80 label_2750: s_mov_b64 exec, s[44:45] // 000000009D40: BEFE042C v_add_i32 v29, vcc, 0x00000082, v27 // 000000009D44: 4A3A36FF 00000082 v_add_i32 v34, vcc, 0x00000081, v27 // 000000009D4C: 4A4436FF 00000081 v_add_i32 v36, vcc, 0x00000080, v27 // 000000009D54: 4A4836FF 00000080 v_add_i32 v41, vcc, 0x00000083, v27 // 000000009D5C: 4A5236FF 00000083 buffer_load_dword v29, v29, s[32:35], 0 idxen // 000000009D64: E0302000 80081D1D buffer_load_dword v34, v34, s[32:35], 0 idxen // 000000009D6C: E0302000 80082222 buffer_load_dword v36, v36, s[32:35], 0 idxen // 000000009D74: E0302000 80082424 buffer_load_dword v41, v41, s[32:35], 0 idxen // 000000009D7C: E0302000 80082929 s_waitcnt vmcnt(1) // 000000009D84: BF8C0F71 v_min3_u32 v36, v36, v34, v29 // 000000009D88: D2A60024 04764524 s_waitcnt vmcnt(0) // 000000009D90: BF8C0F70 v_max3_i32 v29, v34, v29, v41 // 000000009D94: D2AA001D 04A63B22 s_mov_b64 s[44:45], exec // 000000009D9C: BEAC047E s_mov_b64 s[46:47], exec // 000000009DA0: BEAE047E v_mov_b32 v34, v35 // 000000009DA4: 7E440323 v_mov_b32 v35, v36 // 000000009DA8: 7E460324 s_nop 0x0000 // 000000009DAC: BF800000 s_nop 0x0000 // 000000009DB0: BF800000 s_nop 0x0000 // 000000009DB4: BF800000 label_276E: v_max_i32 v36, 0, v29 // 000000009DB8: 24483A80 v_cmp_ge_u32 vcc, v35, v36 // 000000009DBC: 7D8C4923 s_and_saveexec_b64 s[48:49], vcc // wrscc // 000000009DC0: BEB0246A s_andn2_b64 s[46:47], s[46:47], exec // wrscc // 000000009DC4: 8AAE7E2E s_cbranch_scc0 label_27E6 // 000000009DC8: BF840073 s_and_b64 exec, s[48:49], s[46:47] // wrscc // 000000009DCC: 87FE2E30 v_cmp_ne_i32 vcc, v22, v35 // 000000009DD0: 7D0A4716 s_and_saveexec_b64 s[48:49], vcc // wrscc // 000000009DD4: BEB0246A v_lshlrev_b32 v36, 2, v35 // 000000009DD8: 34484682 s_cbranch_execz label_27DB // 000000009DDC: BF880063 ds_read_b32 v41, v36 offset:408 // 000000009DE0: D8D80198 29000024 ds_read_b32 v42, v36 offset:8284 // 000000009DE8: D8D8205C 2A000024 ds_read_b32 v43, v36 offset:16160 // 000000009DF0: D8D83F20 2B000024 ds_read_b32 v36, v36 offset:24036 // 000000009DF8: D8D85DE4 24000024 s_waitcnt lgkmcnt(3) // 000000009E00: BF8C037F v_sub_f32 v41, v23, v41 // 000000009E04: 08525317 s_waitcnt lgkmcnt(2) // 000000009E08: BF8C027F v_sub_f32 v42, v26, v42 // 000000009E0C: 0854551A s_waitcnt lgkmcnt(1) // 000000009E10: BF8C017F v_sub_f32 v43, v25, v43 // 000000009E14: 08565719 v_mul_legacy_f32 v44, v43, v43 // 000000009E18: 0E58572B v_mac_f32 v44, v42, v42 // 000000009E1C: 3E58552A v_mac_f32 v44, v41, v41 // 000000009E20: 3E585329 v_cmp_gt_f32 s[50:51], v44, v12 // 000000009E24: D0080032 0002192C v_cndmask_b32 v45, 0, 1.0, s[50:51] // 000000009E2C: D200002D 00C9E480 v_addc_u32 v46, vcc, v35, 0, s[50:51] // 000000009E34: D2506A2E 00C90123 s_mov_b64 s[52:53], exec // 000000009E3C: BEB4047E s_andn2_b64 exec, s[52:53], s[50:51] // wrscc // 000000009E40: 8AFE3234 v_cmp_ne_i32 vcc, -1, v11 // 000000009E44: 7D0A16C1 s_cbranch_execz label_27D5 // 000000009E48: BF880042 s_and_saveexec_b64 s[54:55], vcc // wrscc // 000000009E4C: BEB6246A v_addc_u32 v47, vcc, v35, v21, s[50:51] // 000000009E50: D2506A2F 00CA2B23 s_cbranch_execz label_27BA // 000000009E58: BF880023 v_addc_u32 v35, vcc, v35, 1, s[50:51] // 000000009E5C: D2506A23 00C90323 buffer_load_dword v47, v47, s[32:35], 0 idxen // 000000009E64: E0302000 80082F2F s_waitcnt vmcnt(0) // 000000009E6C: BF8C0F70 v_bfe_u32 v47, v47, 0, 16 // 000000009E70: D290002F 0241012F v_add_i32 v47, vcc, v11, v47 // 000000009E78: 4A5E5F0B s_load_dwordx4 s[56:59], s[0:1], 0x34 // 000000009E7C: C09C0134 s_waitcnt lgkmcnt(0) // 000000009E80: BF8C007F tbuffer_load_format_xyz v[47:49], v47, s[56:59], 0 idxen format:[BUF_DATA_FORMAT_32_32_32,BUF_NUM_FORMAT_FLOAT] // 000000009E84: EBEA2000 800E2F2F s_waitcnt vmcnt(0) // 000000009E8C: BF8C0F70 v_sub_f32 v47, v37, v47 // 000000009E90: 085E5F25 v_sub_f32 v48, v38, v48 // 000000009E94: 08606126 v_sub_f32 v49, v39, v49 // 000000009E98: 08626327 v_mul_legacy_f32 v49, v49, v49 // 000000009E9C: 0E626331 v_mac_f32 v49, v48, v48 // 000000009EA0: 3E626130 v_mac_f32 v49, v47, v47 // 000000009EA4: 3E625F2F v_cmp_ge_f32 vcc, v12, v49 // 000000009EA8: 7C0C630C v_cndmask_b32 v47, 0, 1.0, vcc // 000000009EAC: D200002F 01A9E480 v_cndmask_b32 v35, v46, v35, vcc // 000000009EB4: 0046472E s_mov_b64 s[50:51], exec // 000000009EB8: BEB2047E s_andn2_b64 exec, s[50:51], vcc // wrscc // 000000009EBC: 8AFE6A32 v_add_f32 v46, 0x34000000, v49 // 000000009EC0: 065C62FF 34000000 v_rcp_f32 v46, v46 // 000000009EC8: 7E5C552E v_mul_f32 v46, v12, v46 // 000000009ECC: 105C5D0C v_rsq_f32 v46, v46 // 000000009ED0: 7E5C5D2E v_add_f32 v46, -1.0, v46 // 000000009ED4: 065C5CF3 v_min_legacy_f32 v46, 1.0, v46 // 000000009ED8: 1A5C5CF2 s_andn2_b64 exec, s[50:51], exec // wrscc // 000000009EDC: 8AFE7E32 v_mov_b32 v46, v49 // 000000009EE0: 7E5C0331 s_mov_b64 exec, s[50:51] // 000000009EE4: BEFE0432 label_27BA: s_andn2_b64 exec, s[54:55], exec // wrscc // 000000009EE8: 8AFE7E36 v_mov_b32 v62, v46 // 000000009EEC: 7E7C032E v_mov_b32 v46, 1.0 // 000000009EF0: 7E5C02F2 v_mov_b32 v47, 0 // 000000009EF4: 7E5E0280 v_mov_b32 v35, v62 // 000000009EF8: 7E46033E s_mov_b64 exec, s[54:55] // 000000009EFC: BEFE0436 v_cmp_eq_u32 vcc, 0, v47 // 000000009F00: 7D845E80 s_and_b64 exec, s[54:55], vcc // wrscc // 000000009F04: 87FE6A36 v_add_f32 v44, 0x34000000, v44 // 000000009F08: 065858FF 34000000 s_cbranch_execz label_27D3 // 000000009F10: BF88000E v_rsq_f32 v44, v44 // 000000009F14: 7E585D2C v_mad_f32 v44, v20, v44, -1.0 // 000000009F18: D282002C 03CE5914 v_max_legacy_f32 v44, 0, v44 // 000000009F20: 1C585880 v_mul_legacy_f32 v48, v44, v44 // 000000009F24: 0E60592C v_mul_legacy_f32 v46, v46, v48 // 000000009F28: 0E5C612E s_waitcnt lgkmcnt(0) // 000000009F2C: BF8C007F v_add_f32 v36, v40, v36 // 000000009F30: 06484928 v_rcp_f32 v36, v36 // 000000009F34: 7E485524 v_mul_f32 v36, v46, v36 // 000000009F38: 1048492E v_mac_f32 v30, v36, v41 // 000000009F3C: 3E3C5324 v_mac_f32 v31, v36, v42 // 000000009F40: 3E3E5524 v_mac_f32 v32, v36, v43 // 000000009F44: 3E405724 v_add_f32 v34, v34, v44 // 000000009F48: 06445922 label_27D3: s_mov_b64 exec, s[54:55] // 000000009F4C: BEFE0436 v_mov_b32 v41, v47 // 000000009F50: 7E52032F label_27D5: s_andn2_b64 exec, s[52:53], exec // wrscc // 000000009F54: 8AFE7E34 v_mov_b32 v41, 0 // 000000009F58: 7E520280 v_mov_b32 v35, v46 // 000000009F5C: 7E46032E s_mov_b64 exec, s[52:53] // 000000009F60: BEFE0434 s_waitcnt lgkmcnt(0) // 000000009F64: BF8C007F v_mov_b32 v36, v45 // 000000009F68: 7E48032D label_27DB: s_andn2_b64 exec, s[48:49], exec // wrscc // 000000009F6C: 8AFE7E30 v_mov_b32 v62, 0 // 000000009F70: 7E7C0280 v_mov_b32 v41, 0 // 000000009F74: 7E520280 v_mov_b32 v36, 0 // 000000009F78: 7E480280 s_mov_b64 exec, s[48:49] // 000000009F7C: BEFE0430 v_cmp_eq_u32 vcc, 0, v41 // 000000009F80: 7D845280 v_addc_u32 v41, vcc, v35, 0, vcc // 000000009F84: D2506A29 01A90123 v_cmp_eq_u32 vcc, 0, v36 // 000000009F8C: 7D844880 v_cndmask_b32 v35, v35, v41, vcc // 000000009F90: 00465323 s_branch label_276E // 000000009F94: BF82FF88 label_27E6: s_mov_b64 exec, s[44:45] // 000000009F98: BEFE042C v_add_i32 v29, vcc, 0x00000102, v27 // 000000009F9C: 4A3A36FF 00000102 v_add_i32 v35, vcc, 0x00000101, v27 // 000000009FA4: 4A4636FF 00000101 v_add_i32 v36, vcc, 0x00000100, v27 // 000000009FAC: 4A4836FF 00000100 v_add_i32 v27, vcc, 0x00000103, v27 // 000000009FB4: 4A3636FF 00000103 buffer_load_dword v29, v29, s[32:35], 0 idxen // 000000009FBC: E0302000 80081D1D buffer_load_dword v35, v35, s[32:35], 0 idxen // 000000009FC4: E0302000 80082323 buffer_load_dword v36, v36, s[32:35], 0 idxen // 000000009FCC: E0302000 80082424 buffer_load_dword v27, v27, s[32:35], 0 idxen // 000000009FD4: E0302000 80081B1B s_waitcnt vmcnt(1) // 000000009FDC: BF8C0F71 v_min3_u32 v36, v36, v35, v29 // 000000009FE0: D2A60024 04764724 s_waitcnt vmcnt(0) // 000000009FE8: BF8C0F70 v_max3_i32 v27, v35, v29, v27 // 000000009FEC: D2AA001B 046E3B23 s_mov_b64 s[44:45], exec // 000000009FF4: BEAC047E s_mov_b64 s[46:47], exec // 000000009FF8: BEAE047E v_mov_b32 v29, v30 // 000000009FFC: 7E3A031E v_mov_b32 v30, v31 // 00000000A000: 7E3C031F v_mov_b32 v31, v32 // 00000000A004: 7E3E0320 v_mov_b32 v32, v34 // 00000000A008: 7E400322 v_mov_b32 v34, v36 // 00000000A00C: 7E440324 label_2804: v_max_i32 v35, 0, v27 // 00000000A010: 24463680 v_cmp_ge_u32 vcc, v34, v35 // 00000000A014: 7D8C4722 s_and_saveexec_b64 s[48:49], vcc // wrscc // 00000000A018: BEB0246A s_andn2_b64 s[46:47], s[46:47], exec // wrscc // 00000000A01C: 8AAE7E2E s_cbranch_scc0 label_287C // 00000000A020: BF840073 s_and_b64 exec, s[48:49], s[46:47] // wrscc // 00000000A024: 87FE2E30 v_cmp_ne_i32 vcc, v22, v34 // 00000000A028: 7D0A4516 s_and_saveexec_b64 s[48:49], vcc // wrscc // 00000000A02C: BEB0246A v_lshlrev_b32 v35, 2, v34 // 00000000A030: 34464482 s_cbranch_execz label_2871 // 00000000A034: BF880063 ds_read_b32 v36, v35 offset:408 // 00000000A038: D8D80198 24000023 ds_read_b32 v41, v35 offset:8284 // 00000000A040: D8D8205C 29000023 ds_read_b32 v42, v35 offset:16160 // 00000000A048: D8D83F20 2A000023 ds_read_b32 v35, v35 offset:24036 // 00000000A050: D8D85DE4 23000023 s_waitcnt lgkmcnt(3) // 00000000A058: BF8C037F v_sub_f32 v36, v23, v36 // 00000000A05C: 08484917 s_waitcnt lgkmcnt(2) // 00000000A060: BF8C027F v_sub_f32 v41, v26, v41 // 00000000A064: 0852531A s_waitcnt lgkmcnt(1) // 00000000A068: BF8C017F v_sub_f32 v42, v25, v42 // 00000000A06C: 08545519 v_mul_legacy_f32 v43, v42, v42 // 00000000A070: 0E56552A v_mac_f32 v43, v41, v41 // 00000000A074: 3E565329 v_mac_f32 v43, v36, v36 // 00000000A078: 3E564924 v_cmp_gt_f32 s[50:51], v43, v12 // 00000000A07C: D0080032 0002192B v_cndmask_b32 v44, 0, 1.0, s[50:51] // 00000000A084: D200002C 00C9E480 v_addc_u32 v45, vcc, v34, 0, s[50:51] // 00000000A08C: D2506A2D 00C90122 s_mov_b64 s[52:53], exec // 00000000A094: BEB4047E s_andn2_b64 exec, s[52:53], s[50:51] // wrscc // 00000000A098: 8AFE3234 v_cmp_ne_i32 vcc, -1, v11 // 00000000A09C: 7D0A16C1 s_cbranch_execz label_286B // 00000000A0A0: BF880042 s_and_saveexec_b64 s[54:55], vcc // wrscc // 00000000A0A4: BEB6246A v_addc_u32 v46, vcc, v34, v21, s[50:51] // 00000000A0A8: D2506A2E 00CA2B22 s_cbranch_execz label_2850 // 00000000A0B0: BF880023 v_addc_u32 v34, vcc, v34, 1, s[50:51] // 00000000A0B4: D2506A22 00C90322 buffer_load_dword v46, v46, s[32:35], 0 idxen // 00000000A0BC: E0302000 80082E2E s_waitcnt vmcnt(0) // 00000000A0C4: BF8C0F70 v_bfe_u32 v46, v46, 0, 16 // 00000000A0C8: D290002E 0241012E v_add_i32 v46, vcc, v11, v46 // 00000000A0D0: 4A5C5D0B s_load_dwordx4 s[56:59], s[0:1], 0x34 // 00000000A0D4: C09C0134 s_waitcnt lgkmcnt(0) // 00000000A0D8: BF8C007F tbuffer_load_format_xyz v[46:48], v46, s[56:59], 0 idxen format:[BUF_DATA_FORMAT_32_32_32,BUF_NUM_FORMAT_FLOAT] // 00000000A0DC: EBEA2000 800E2E2E s_waitcnt vmcnt(0) // 00000000A0E4: BF8C0F70 v_sub_f32 v46, v37, v46 // 00000000A0E8: 085C5D25 v_sub_f32 v47, v38, v47 // 00000000A0EC: 085E5F26 v_sub_f32 v48, v39, v48 // 00000000A0F0: 08606127 v_mul_legacy_f32 v48, v48, v48 // 00000000A0F4: 0E606130 v_mac_f32 v48, v47, v47 // 00000000A0F8: 3E605F2F v_mac_f32 v48, v46, v46 // 00000000A0FC: 3E605D2E v_cmp_ge_f32 vcc, v12, v48 // 00000000A100: 7C0C610C v_cndmask_b32 v46, 0, 1.0, vcc // 00000000A104: D200002E 01A9E480 v_cndmask_b32 v34, v45, v34, vcc // 00000000A10C: 0044452D s_mov_b64 s[50:51], exec // 00000000A110: BEB2047E s_andn2_b64 exec, s[50:51], vcc // wrscc // 00000000A114: 8AFE6A32 v_add_f32 v45, 0x34000000, v48 // 00000000A118: 065A60FF 34000000 v_rcp_f32 v45, v45 // 00000000A120: 7E5A552D v_mul_f32 v45, v12, v45 // 00000000A124: 105A5B0C v_rsq_f32 v45, v45 // 00000000A128: 7E5A5D2D v_add_f32 v45, -1.0, v45 // 00000000A12C: 065A5AF3 v_min_legacy_f32 v45, 1.0, v45 // 00000000A130: 1A5A5AF2 s_andn2_b64 exec, s[50:51], exec // wrscc // 00000000A134: 8AFE7E32 v_mov_b32 v45, v48 // 00000000A138: 7E5A0330 s_mov_b64 exec, s[50:51] // 00000000A13C: BEFE0432 label_2850: s_andn2_b64 exec, s[54:55], exec // wrscc // 00000000A140: 8AFE7E36 v_mov_b32 v62, v45 // 00000000A144: 7E7C032D v_mov_b32 v45, 1.0 // 00000000A148: 7E5A02F2 v_mov_b32 v46, 0 // 00000000A14C: 7E5C0280 v_mov_b32 v34, v62 // 00000000A150: 7E44033E s_mov_b64 exec, s[54:55] // 00000000A154: BEFE0436 v_cmp_eq_u32 vcc, 0, v46 // 00000000A158: 7D845C80 s_and_b64 exec, s[54:55], vcc // wrscc // 00000000A15C: 87FE6A36 v_add_f32 v43, 0x34000000, v43 // 00000000A160: 065656FF 34000000 s_cbranch_execz label_2869 // 00000000A168: BF88000E v_rsq_f32 v43, v43 // 00000000A16C: 7E565D2B v_mad_f32 v43, v20, v43, -1.0 // 00000000A170: D282002B 03CE5714 v_max_legacy_f32 v43, 0, v43 // 00000000A178: 1C565680 v_mul_legacy_f32 v47, v43, v43 // 00000000A17C: 0E5E572B v_mul_legacy_f32 v45, v45, v47 // 00000000A180: 0E5A5F2D s_waitcnt lgkmcnt(0) // 00000000A184: BF8C007F v_add_f32 v35, v40, v35 // 00000000A188: 06464728 v_rcp_f32 v35, v35 // 00000000A18C: 7E465523 v_mul_f32 v35, v45, v35 // 00000000A190: 1046472D v_mac_f32 v29, v35, v36 // 00000000A194: 3E3A4923 v_mac_f32 v30, v35, v41 // 00000000A198: 3E3C5323 v_mac_f32 v31, v35, v42 // 00000000A19C: 3E3E5523 v_add_f32 v32, v32, v43 // 00000000A1A0: 06405720 label_2869: s_mov_b64 exec, s[54:55] // 00000000A1A4: BEFE0436 v_mov_b32 v36, v46 // 00000000A1A8: 7E48032E label_286B: s_andn2_b64 exec, s[52:53], exec // wrscc // 00000000A1AC: 8AFE7E34 v_mov_b32 v36, 0 // 00000000A1B0: 7E480280 v_mov_b32 v34, v45 // 00000000A1B4: 7E44032D s_mov_b64 exec, s[52:53] // 00000000A1B8: BEFE0434 s_waitcnt lgkmcnt(0) // 00000000A1BC: BF8C007F v_mov_b32 v35, v44 // 00000000A1C0: 7E46032C label_2871: s_andn2_b64 exec, s[48:49], exec // wrscc // 00000000A1C4: 8AFE7E30 v_mov_b32 v62, 0 // 00000000A1C8: 7E7C0280 v_mov_b32 v36, 0 // 00000000A1CC: 7E480280 v_mov_b32 v35, 0 // 00000000A1D0: 7E460280 s_mov_b64 exec, s[48:49] // 00000000A1D4: BEFE0430 v_cmp_eq_u32 vcc, 0, v36 // 00000000A1D8: 7D844880 v_addc_u32 v36, vcc, v34, 0, vcc // 00000000A1DC: D2506A24 01A90122 v_cmp_eq_u32 vcc, 0, v35 // 00000000A1E4: 7D844680 v_cndmask_b32 v34, v34, v36, vcc // 00000000A1E8: 00444922 s_branch label_2804 // 00000000A1EC: BF82FF88 label_287C: s_mov_b64 exec, s[44:45] // 00000000A1F0: BEFE042C v_mov_b32 v22, 0 // 00000000A1F4: 7E2C0280 ds_read2_b32 v[22:23], v22 offset0:62 offset1:27 // 00000000A1F8: D8DC1B3E 16000016 s_waitcnt lgkmcnt(0) // 00000000A200: BF8C007F v_add_i32 v23, vcc, v28, v23 // 00000000A204: 4A2E2F1C s_load_dwordx4 s[44:47], s[0:1], 0x54 // 00000000A208: C0960154 s_waitcnt lgkmcnt(0) // 00000000A20C: BF8C007F buffer_load_dwordx3 v[25:27], v23, s[44:47], 0 idxen // 00000000A210: E03C2000 800B1917 v_mul_legacy_f32 v22, v24, v22 // 00000000A218: 0E2C2D18 v_rcp_f32 v24, v32 // 00000000A21C: 7E305520 v_mul_f32 v22, v22, v24 // 00000000A220: 102C3116 s_waitcnt vmcnt(0) // 00000000A224: BF8C0F70 v_mad_f32 v24, v29, v22, v25 // 00000000A228: D2820018 04662D1D v_mad_f32 v25, v30, v22, v26 // 00000000A230: D2820019 046A2D1E v_mad_f32 v26, v31, v22, v27 // 00000000A238: D282001A 046E2D1F buffer_store_dwordx3 v[24:26], v23, s[44:47], 0 idxen // 00000000A240: E07C2000 800B1817 v_mov_b32 v22, v33 // 00000000A248: 7E2C0321 s_branch label_2680 // 00000000A24C: BF82FDEC label_2894: s_mov_b64 exec, s[42:43] // 00000000A250: BEFE042A s_waitcnt vmcnt(0) & lgkmcnt(0) // 00000000A254: BF8C0070 s_barrier // 00000000A258: BF8A0000 v_mov_b32 v11, 0 // 00000000A25C: 7E160280 ds_read_b32 v11, v11 offset:108 // 00000000A260: D8D8006C 0B00000B s_mov_b64 s[42:43], exec // 00000000A268: BEAA047E v_mov_b32 v12, v8 // 00000000A26C: 7E180308 s_nop 0x0000 // 00000000A270: BF800000 s_nop 0x0000 // 00000000A274: BF800000 label_289E: v_cmp_ge_i32 vcc, v12, v10 // 00000000A278: 7D0C150C s_andn2_b64 exec, exec, vcc // wrscc // 00000000A27C: 8AFE6A7E s_cbranch_execz label_28B4 // 00000000A280: BF880013 s_waitcnt lgkmcnt(0) // 00000000A284: BF8C007F v_add_i32 v14, vcc, v11, v12 // 00000000A288: 4A1C190B v_lshlrev_b32 v15, 2, v12 // 00000000A28C: 341E1882 v_add_i32 v12, vcc, 0x00000400, v12 // 00000000A290: 4A1818FF 00000400 s_load_dwordx4 s[44:47], s[0:1], 0x54 // 00000000A298: C0960154 s_waitcnt lgkmcnt(0) // 00000000A29C: BF8C007F buffer_load_dwordx4 v[16:19], v14, s[44:47], 0 idxen // 00000000A2A0: E0382000 800B100E s_waitcnt vmcnt(0) // 00000000A2A8: BF8C0F70 ds_write_b32 v15, v16 offset:408 // 00000000A2AC: D8340198 0000100F ds_write_b32 v15, v17 offset:8284 // 00000000A2B4: D834205C 0000110F ds_write_b32 v15, v18 offset:16160 // 00000000A2BC: D8343F20 0000120F ds_write_b32 v15, v19 offset:24036 // 00000000A2C4: D8345DE4 0000130F s_branch label_289E // 00000000A2CC: BF82FFEA label_28B4: s_mov_b64 exec, s[42:43] // 00000000A2D0: BEFE042A v_mov_b32 v10, 0 // 00000000A2D4: 7E140280 ds_read_b32 v10, v10 offset:112 // 00000000A2D8: D8D80070 0A00000A s_mov_b64 s[42:43], exec // 00000000A2E0: BEAA047E s_waitcnt lgkmcnt(1) // 00000000A2E4: BF8C017F v_mov_b32 v11, v8 // 00000000A2E8: 7E160308 s_nop 0x0000 // 00000000A2EC: BF800000 label_28BC: v_cmp_ge_i32 vcc, v11, v9 // 00000000A2F0: 7D0C130B s_andn2_b64 exec, exec, vcc // wrscc // 00000000A2F4: 8AFE6A7E s_cbranch_execz label_28D1 // 00000000A2F8: BF880012 s_waitcnt lgkmcnt(0) // 00000000A2FC: BF8C007F v_add_i32 v12, vcc, v10, v11 // 00000000A300: 4A18170A s_load_dwordx4 s[44:47], s[0:1], 0x58 // 00000000A304: C0960158 s_waitcnt lgkmcnt(0) // 00000000A308: BF8C007F buffer_load_dword v12, v12, s[44:47], 0 idxen // 00000000A30C: E0302000 800B0C0C s_waitcnt vmcnt(0) // 00000000A314: BF8C0F70 v_lshrrev_b32 v12, 16, v12 // 00000000A318: 2C181890 v_add_i32 v12, vcc, v13, v12 // 00000000A31C: 4A18190D v_mov_b32 v14, -1 // 00000000A320: 7E1C02C1 v_add_i32 v15, vcc, 1, v12 // 00000000A324: 4A1E1881 buffer_store_dword v14, v12, s[44:47], 0 idxen // 00000000A328: E0702000 800B0E0C buffer_store_dword v14, v15, s[44:47], 0 idxen // 00000000A330: E0702000 800B0E0F v_add_i32 v11, vcc, 0x00000400, v11 // 00000000A338: 4A1616FF 00000400 s_branch label_28BC // 00000000A340: BF82FFEB label_28D1: s_mov_b64 exec, s[40:41] // 00000000A344: BEFE0428 v_cmp_eq_u32 vcc, 0, v8 // 00000000A348: 7D841080 s_and_b64 exec, s[40:41], vcc // wrscc // 00000000A34C: 87FE6A28 v_mov_b32 v9, 0 // 00000000A350: 7E120280 s_waitcnt lgkmcnt(0) // 00000000A354: BF8C007F ds_read2_b32 v[10:11], v9 offset0:34 offset1:70 // 00000000A358: D8DC4622 0A000009 s_waitcnt lgkmcnt(0) // 00000000A360: BF8C007F v_mul_legacy_f32 v10, 0x447a0000, v10 // 00000000A364: 0E1414FF 447A0000 v_cvt_u32_f32 v10, v10 // 00000000A36C: 7E140F0A v_max_u32 v10, 1, v10 // 00000000A370: 28141481 v_add_i32 v10, vcc, v10, v11 // 00000000A374: 4A14170A ds_write_b32 v9, v10 offset:280 // 00000000A378: D8340118 00000A09 s_mov_b64 exec, s[40:41] // 00000000A380: BEFE0428 s_waitcnt vmcnt(0) & lgkmcnt(0) // 00000000A384: BF8C0070 s_barrier // 00000000A388: BF8A0000 v_mov_b32 v9, 0 // 00000000A38C: 7E120280 ds_read2_b32 v[9:10], v9 offset0:70 offset1:29 // 00000000A390: D8DC1D46 09000009 s_waitcnt lgkmcnt(0) // 00000000A398: BF8C007F v_cmp_ge_u32 vcc, v9, v10 // 00000000A39C: 7D8C1509 s_and_b64 exec, s[40:41], vcc // wrscc // 00000000A3A0: 87FE6A28 v_mov_b32 v9, 0 // 00000000A3A4: 7E120280 s_cbranch_execz label_2926 // 00000000A3A8: BF88003B ds_read_b32 v9, v9 // 00000000A3AC: D8D80000 09000009 s_mov_b64 s[42:43], exec // 00000000A3B4: BEAA047E v_mov_b32 v10, 0 // 00000000A3B8: 7E140280 v_mov_b32 v11, v8 // 00000000A3BC: 7E160308 label_28F0: s_waitcnt lgkmcnt(0) // 00000000A3C0: BF8C007F v_cmp_ge_u32 vcc, v11, v9 // 00000000A3C4: 7D8C130B s_andn2_b64 exec, exec, vcc // wrscc // 00000000A3C8: 8AFE6A7E s_cbranch_execz label_290B // 00000000A3CC: BF880017 v_add_i32 v12, vcc, v6, v11 // 00000000A3D0: 4A181706 v_lshlrev_b32 v12, 4, v12 // 00000000A3D4: 34181884 buffer_load_dwordx3 v[12:14], v12, s[16:19], 0 offen // 00000000A3D8: E03C1000 80040C0C v_lshlrev_b32 v15, 2, v11 // 00000000A3E0: 341E1682 ds_read_b32 v16, v15 offset:408 // 00000000A3E4: D8D80198 1000000F ds_read_b32 v17, v15 offset:8284 // 00000000A3EC: D8D8205C 1100000F ds_read_b32 v15, v15 offset:16160 // 00000000A3F4: D8D83F20 0F00000F s_waitcnt vmcnt(0) & lgkmcnt(2) // 00000000A3FC: BF8C0270 v_sub_f32 v12, v16, v12 // 00000000A400: 08181910 s_waitcnt lgkmcnt(1) // 00000000A404: BF8C017F v_sub_f32 v13, v17, v13 // 00000000A408: 081A1B11 s_waitcnt lgkmcnt(0) // 00000000A40C: BF8C007F v_sub_f32 v14, v15, v14 // 00000000A410: 081C1D0F v_max3_f32 v12, abs(v12), abs(v13), abs(v14) // 00000000A414: D2A8070C 043A1B0C v_add_i32 v11, vcc, 0x00000400, v11 // 00000000A41C: 4A1616FF 00000400 v_max_legacy_f32 v10, v10, v12 // 00000000A424: 1C14190A s_branch label_28F0 // 00000000A428: BF82FFE5 label_290B: s_mov_b64 exec, s[42:43] // 00000000A42C: BEFE042A v_cmp_eq_u32 vcc, 0, v8 // 00000000A430: 7D841080 s_and_saveexec_b64 s[42:43], vcc // wrscc // 00000000A434: BEAA246A v_mov_b32 v9, 0 // 00000000A438: 7E120280 ds_read_b32 v11, v9 offset:276 // 00000000A43C: D8D80114 0B000009 s_waitcnt lgkmcnt(0) // 00000000A444: BF8C007F v_add_i32 v11, vcc, 1, v11 // 00000000A448: 4A161681 ds_write_b32 v9, v11 offset:276 // 00000000A44C: D8340114 00000B09 ds_read2_b32 v[11:12], v9 offset0:29 offset1:70 // 00000000A454: D8DC461D 0B000009 s_waitcnt lgkmcnt(0) // 00000000A45C: BF8C007F v_sub_i32 v11, vcc, v12, v11 // 00000000A460: 4C16170C ds_write_b32 v9, v11 offset:280 // 00000000A464: D8340118 00000B09 s_mov_b64 exec, s[42:43] // 00000000A46C: BEFE042A v_mov_b32 v9, 0 // 00000000A470: 7E120280 ds_read2_b32 v[11:12], v9 offset0:31 offset1:34 // 00000000A474: D8DC221F 0B000009 s_waitcnt lgkmcnt(0) // 00000000A47C: BF8C007F v_mul_legacy_f32 v9, v11, v12 // 00000000A480: 0E12190B v_cmp_gt_f32 vcc, v10, v9 // 00000000A484: 7C08130A s_and_b64 exec, s[42:43], vcc // wrscc // 00000000A488: 87FE6A2A v_mov_b32 v9, 0 // 00000000A48C: 7E120280 ds_write_b32 v9, v9 offset:276 // 00000000A490: D8340114 00000909 label_2926: s_mov_b64 exec, s[40:41] // 00000000A498: BEFE0428 v_add_i32 v7, vcc, 1, v7 // 00000000A49C: 4A0E0E81 v_mov_b32 v62, v7 // 00000000A4A0: 7E7C0307 v_mov_b32 v7, v8 // 00000000A4A4: 7E0E0308 v_mov_b32 v8, v62 // 00000000A4A8: 7E10033E s_branch label_0119 // 00000000A4AC: BF82D7ED label_292C: s_mov_b64 exec, s[36:37] // 00000000A4B0: BEFE0424 s_waitcnt vmcnt(0) // 00000000A4B4: BF8C0F70 s_barrier // 00000000A4B8: BF8A0000 v_mov_b32 v0, 0 // 00000000A4BC: 7E000280 ds_read2_b32 v[0:1], v0 offset1:1 // 00000000A4C0: D8DC0100 00000000 s_mov_b64 s[4:5], exec // 00000000A4C8: BE84047E v_mov_b32 v2, v7 // 00000000A4CC: 7E040307 s_nop 0x0000 // 00000000A4D0: BF800000 s_nop 0x0000 // 00000000A4D4: BF800000 label_2936: v_lshlrev_b32 v3, 2, v2 // 00000000A4D8: 34060482 s_waitcnt lgkmcnt(0) // 00000000A4DC: BF8C007F v_cmp_ge_u32 vcc, v2, v0 // 00000000A4E0: 7D8C0102 s_andn2_b64 exec, exec, vcc // wrscc // 00000000A4E4: 8AFE6A7E s_cbranch_execz label_294B // 00000000A4E8: BF880010 ds_read_b32 v9, v3 offset:408 // 00000000A4EC: D8D80198 09000003 ds_read_b32 v10, v3 offset:8284 // 00000000A4F4: D8D8205C 0A000003 ds_read_b32 v11, v3 offset:16160 // 00000000A4FC: D8D83F20 0B000003 ds_read_b32 v12, v3 offset:24036 // 00000000A504: D8D85DE4 0C000003 v_add_i32 v8, vcc, v1, v2 // 00000000A50C: 4A100501 v_add_i32 v2, vcc, 0x00000400, v2 // 00000000A510: 4A0404FF 00000400 v_lshlrev_b32 v8, 4, v8 // 00000000A518: 34101084 s_waitcnt lgkmcnt(0) // 00000000A51C: BF8C007F buffer_store_dwordx4 v[9:12], v8, s[16:19], 0 offen // 00000000A520: E0781000 80040908 s_branch label_2936 // 00000000A528: BF82FFEB label_294B: s_mov_b64 exec, s[4:5] // 00000000A52C: BEFE0404 s_branch label_508A // 00000000A530: BF82273D label_294D: v_mov_b32 v2, 0 // 00000000A534: 7E040280 s_movk_i32 s3, 0x00c0 // 00000000A538: B00300C0 v_and_b32 v6, 31, v0 // 00000000A53C: 360C009F buffer_store_dword v6, v0, s[92:95], s96 offset:32 // 00000000A540: E0700020 60170600 ds_read_b32 v2, v2 offset:4 // 00000000A548: D8D80004 02000002 s_waitcnt lgkmcnt(0) // 00000000A550: BF8C007F buffer_store_dword v2, v0, s[92:95], s96 offset:44 // 00000000A554: E070002C 60170200 v_cmp_lt_u32 s[8:9], v0, s3 // 00000000A55C: D1820008 00000700 v_cmp_eq_i32 vcc, 0, v6 // 00000000A564: 7D040C80 v_lshlrev_b32 v7, 5, v0 // 00000000A568: 340E0085 s_movk_i32 s3, 0x03e0 // 00000000A56C: B00303E0 v_lshrrev_b32 v8, 5, v0 // 00000000A570: 2C100085 buffer_store_dword v8, v0, s[92:95], s96 offset:40 // 00000000A574: E0700028 60170800 v_bfi_b32 v7, s3, v7, 0 // 00000000A57C: D2940007 02020E03 s_and_b64 s[10:11], s[8:9], vcc // wrscc // 00000000A584: 878A6A08 v_add_i32 v7, vcc, v8, v7 // 00000000A588: 4A0E0F08 buffer_store_dword v7, v0, s[92:95], s96 offset:36 // 00000000A58C: E0700024 60170700 s_mov_b64 s[12:13], exec // 00000000A594: BE8C047E s_mov_b64 s[14:15], exec // 00000000A598: BE8E047E v_mov_b32 v9, 0 // 00000000A59C: 7E120280 v_mov_b32 v62, v0 // 00000000A5A0: 7E7C0300 v_mov_b32 v0, v6 // 00000000A5A4: 7E000306 v_mov_b32 v6, v5 // 00000000A5A8: 7E0C0305 v_mov_b32 v5, v4 // 00000000A5AC: 7E0A0304 v_mov_b32 v4, v1 // 00000000A5B0: 7E080301 v_mov_b32 v1, v7 // 00000000A5B4: 7E020307 v_mov_b32 v7, v3 // 00000000A5B8: 7E0E0303 v_mov_b32 v3, v2 // 00000000A5BC: 7E060302 v_mov_b32 v2, v8 // 00000000A5C0: 7E040308 v_mov_b32 v8, v62 // 00000000A5C4: 7E10033E label_2972: buffer_store_dword v9, v0, s[92:95], s96 offset:48 // 00000000A5C8: E0700030 60170900 v_mov_b32 v10, 0 // 00000000A5D0: 7E140280 ds_read_b32 v10, v10 offset:144 // 00000000A5D4: D8D80090 0A00000A s_waitcnt lgkmcnt(0) // 00000000A5DC: BF8C007F v_cmp_ge_u32 vcc, v9, v10 // 00000000A5E0: 7D8C1509 s_and_saveexec_b64 s[16:17], vcc // wrscc // 00000000A5E4: BE90246A s_andn2_b64 s[14:15], s[14:15], exec // wrscc // 00000000A5E8: 8A8E7E0E s_cbranch_scc0 label_5086 // 00000000A5EC: BF84270A s_and_b64 exec, s[16:17], s[14:15] // wrscc // 00000000A5F0: 87FE0E10 v_cvt_f32_u32 v11, v9 // 00000000A5F4: 7E160D09 v_cvt_f32_u32 v10, v10 // 00000000A5F8: 7E140D0A v_rcp_f32 v10, v10 // 00000000A5FC: 7E14550A v_add_f32 v12, 1.0, v11 // 00000000A600: 061816F2 v_mul_f32 v10, v12, v10 // 00000000A604: 1014150C buffer_store_dword v10, v0, s[92:95], s96 offset:28 // 00000000A608: E070001C 60170A00 v_cmp_eq_u32 vcc, 0, v8 // 00000000A610: 7D841080 s_and_saveexec_b64 s[16:17], vcc // wrscc // 00000000A614: BE90246A v_mov_b32 v12, 0 // 00000000A618: 7E180280 s_cbranch_execz label_29BE // 00000000A61C: BF880036 ds_read_b32 v13, v12 offset:140 // 00000000A620: D8D8008C 0D00000C s_load_dwordx4 s[20:23], s[0:1], 0x04 // 00000000A628: C08A0104 s_waitcnt lgkmcnt(0) // 00000000A62C: BF8C007F v_add_i32 v13, vcc, v9, v13 // 00000000A630: 4A1A1B09 tbuffer_load_format_xyzw v[14:17], v13, s[20:23], 0 idxen format:[BUF_DATA_FORMAT_32_32_32_32,BUF_NUM_FORMAT_FLOAT] // 00000000A634: EBF32000 80050E0D tbuffer_load_format_xyzw v[18:21], v13, s[20:23], 0 idxen offset:16 format:[BUF_DATA_FORMAT_32_32_32_32,BUF_NUM_FORMAT_FLOAT] // 00000000A63C: EBF32010 8005120D tbuffer_load_format_xyzw v[22:25], v13, s[20:23], 0 idxen offset:32 format:[BUF_DATA_FORMAT_32_32_32_32,BUF_NUM_FORMAT_FLOAT] // 00000000A644: EBF32020 8005160D tbuffer_load_format_xyzw v[26:29], v13, s[20:23], 0 idxen offset:48 format:[BUF_DATA_FORMAT_32_32_32_32,BUF_NUM_FORMAT_FLOAT] // 00000000A64C: EBF32030 80051A0D tbuffer_load_format_xyzw v[30:33], v13, s[20:23], 0 idxen offset:64 format:[BUF_DATA_FORMAT_32_32_32_32,BUF_NUM_FORMAT_FLOAT] // 00000000A654: EBF32040 80051E0D tbuffer_load_format_xyzw v[34:37], v13, s[20:23], 0 idxen offset:80 format:[BUF_DATA_FORMAT_32_32_32_32,BUF_NUM_FORMAT_FLOAT] // 00000000A65C: EBF32050 8005220D tbuffer_load_format_xyzw v[38:41], v13, s[20:23], 0 idxen offset:96 format:[BUF_DATA_FORMAT_32_32_32_32,BUF_NUM_FORMAT_FLOAT] // 00000000A664: EBF32060 8005260D s_waitcnt vmcnt(6) // 00000000A66C: BF8C0F76 ds_write2_b32 v12, v14, v15 offset0:74 offset1:75 // 00000000A670: D8384B4A 000F0E0C ds_write2_b32 v12, v16, v17 offset0:76 offset1:77 // 00000000A678: D8384D4C 0011100C s_waitcnt vmcnt(5) // 00000000A680: BF8C0F75 ds_write2_b32 v12, v18, v19 offset0:78 offset1:79 // 00000000A684: D8384F4E 0013120C ds_write2_b32 v12, v20, v21 offset0:80 offset1:81 // 00000000A68C: D8385150 0015140C s_waitcnt vmcnt(4) // 00000000A694: BF8C0F74 ds_write2_b32 v12, v22, v23 offset0:82 offset1:83 // 00000000A698: D8385352 0017160C ds_write2_b32 v12, v24, v25 offset0:84 offset1:85 // 00000000A6A0: D8385554 0019180C s_waitcnt vmcnt(3) // 00000000A6A8: BF8C0F73 ds_write2_b32 v12, v26, v27 offset0:86 offset1:87 // 00000000A6AC: D8385756 001B1A0C ds_write2_b32 v12, v28, v29 offset0:88 offset1:89 // 00000000A6B4: D8385958 001D1C0C s_waitcnt vmcnt(2) // 00000000A6BC: BF8C0F72 ds_write2_b32 v12, v30, v31 offset0:90 offset1:91 // 00000000A6C0: D8385B5A 001F1E0C ds_write2_b32 v12, v32, v33 offset0:92 offset1:93 // 00000000A6C8: D8385D5C 0021200C s_waitcnt vmcnt(1) // 00000000A6D0: BF8C0F71 ds_write2_b32 v12, v34, v35 offset0:94 offset1:95 // 00000000A6D4: D8385F5E 0023220C ds_write2_b32 v12, v36, v37 offset0:96 offset1:97 // 00000000A6DC: D8386160 0025240C s_waitcnt vmcnt(0) // 00000000A6E4: BF8C0F70 ds_write2_b32 v12, v38, v39 offset0:98 offset1:99 // 00000000A6E8: D8386362 0027260C ds_write2_b32 v12, v40, v41 offset0:100 offset1:101 // 00000000A6F0: D8386564 0029280C label_29BE: s_mov_b64 exec, s[16:17] // 00000000A6F8: BEFE0410 s_waitcnt vmcnt(0) & lgkmcnt(0) // 00000000A6FC: BF8C0070 s_barrier // 00000000A700: BF8A0000 v_mov_b32 v12, 0 // 00000000A704: 7E180280 ds_read2_b32 v[13:14], v12 offset1:101 // 00000000A708: D8DC6500 0D00000C ds_read2_b32 v[15:16], v12 offset0:77 offset1:78 // 00000000A710: D8DC4E4D 0F00000C ds_read2_b32 v[17:18], v12 offset0:79 offset1:89 // 00000000A718: D8DC594F 1100000C ds_read2_b32 v[19:20], v12 offset0:90 offset1:91 // 00000000A720: D8DC5B5A 1300000C ds_read2_b32 v[21:22], v12 offset0:92 offset1:80 // 00000000A728: D8DC505C 1500000C ds_read2_b32 v[23:24], v12 offset0:81 offset1:82 // 00000000A730: D8DC5251 1700000C ds_read2_b32 v[25:26], v12 offset0:83 offset1:93 // 00000000A738: D8DC5D53 1900000C ds_read2_b32 v[27:28], v12 offset0:94 offset1:95 // 00000000A740: D8DC5F5E 1B00000C ds_read2_b32 v[29:30], v12 offset0:96 offset1:84 // 00000000A748: D8DC5460 1D00000C ds_read2_b32 v[31:32], v12 offset0:85 offset1:86 // 00000000A750: D8DC5655 1F00000C ds_read2_b32 v[33:34], v12 offset0:87 offset1:97 // 00000000A758: D8DC6157 2100000C ds_read2_b32 v[35:36], v12 offset0:88 offset1:80 // 00000000A760: D8DC5058 2300000C ds_read2_b32 v[37:38], v12 offset0:83 offset1:86 // 00000000A768: D8DC5653 2500000C s_mov_b64 s[16:17], exec // 00000000A770: BE90047E v_mov_b32 v12, v8 // 00000000A774: 7E180308 label_29DE: s_waitcnt lgkmcnt(12) // 00000000A778: BF8C0C7F v_cmp_ge_u32 vcc, v12, v13 // 00000000A77C: 7D8C1B0C s_andn2_b64 exec, exec, vcc // wrscc // 00000000A780: 8AFE6A7E s_cbranch_execz label_2A43 // 00000000A784: BF880061 s_load_dwordx4 s[20:23], s[0:1], 0x50 // 00000000A788: C08A0150 v_add_i32 v39, vcc, v3, v12 // 00000000A78C: 4A4E1903 v_lshlrev_b32 v39, 4, v39 // 00000000A790: 344E4E84 v_add_i32 v40, vcc, v7, v12 // 00000000A794: 4A501907 v_lshlrev_b32 v40, 4, v40 // 00000000A798: 34505084 s_waitcnt lgkmcnt(0) // 00000000A79C: BF8C007F buffer_load_dwordx4 v[41:44], v39, s[20:23], 0 offen // 00000000A7A0: E0381000 80052927 buffer_load_dwordx4 v[45:48], v40, s[20:23], 0 offen // 00000000A7A8: E0381000 80052D28 s_waitcnt vmcnt(1) // 00000000A7B0: BF8C0F71 v_cmp_eq_f32 vcc, 0, v44 // 00000000A7B4: 7C045880 s_waitcnt vmcnt(0) // 00000000A7B8: BF8C0F70 v_cndmask_b32 v44, v44, v48, vcc // 00000000A7BC: 0058612C v_cmp_lt_f32 vcc, 0, v44 // 00000000A7C0: 7C025880 s_and_saveexec_b64 s[18:19], vcc // wrscc // 00000000A7C4: BE92246A v_cmp_ne_u32 vcc, 0, v14 // 00000000A7C8: 7D8A1C80 s_cbranch_execz label_2A32 // 00000000A7CC: BF88003E s_and_saveexec_b64 s[24:25], vcc // wrscc // 00000000A7D0: BE98246A v_add_f32 v49, v15, v41 // 00000000A7D4: 0662530F s_cbranch_execz label_2A0E // 00000000A7D8: BF880017 v_add_f32 v50, v16, v42 // 00000000A7DC: 06645510 v_add_f32 v51, v17, v43 // 00000000A7E0: 06665711 v_mac_f32 v49, v41, v18 // 00000000A7E4: 3E622529 v_mac_f32 v50, v41, v21 // 00000000A7E8: 3E642B29 v_mac_f32 v49, v45, v22 // 00000000A7EC: 3E622D2D v_mac_f32 v50, v45, v25 // 00000000A7F0: 3E64332D v_mac_f32 v49, v42, v19 // 00000000A7F4: 3E62272A v_mac_f32 v49, v46, v23 // 00000000A7F8: 3E622F2E v_mac_f32 v49, v43, v20 // 00000000A7FC: 3E62292B v_mac_f32 v49, v47, v24 // 00000000A800: 3E62312F v_mac_f32 v50, v42, v26 // 00000000A804: 3E64352A v_mac_f32 v50, v46, v30 // 00000000A808: 3E643D2E v_mac_f32 v50, v43, v27 // 00000000A80C: 3E64372B v_mac_f32 v50, v47, v31 // 00000000A810: 3E643F2F v_mac_f32 v51, v41, v28 // 00000000A814: 3E663929 v_mac_f32 v51, v45, v32 // 00000000A818: 3E66412D v_mac_f32 v51, v42, v29 // 00000000A81C: 3E663B2A v_mac_f32 v51, v46, v33 // 00000000A820: 3E66432E v_mac_f32 v51, v43, v34 // 00000000A824: 3E66452B v_mad_f32 v45, v47, v35, v51 // 00000000A828: D282002D 04CE472F v_mov_b32 v46, v49 // 00000000A830: 7E5C0331 v_mov_b32 v47, v50 // 00000000A834: 7E5E0332 label_2A0E: s_andn2_b64 exec, s[24:25], exec // wrscc // 00000000A838: 8AFE7E18 v_sub_f32 v45, v41, v45 // 00000000A83C: 085A5B29 s_cbranch_execz label_2A20 // 00000000A840: BF88000F v_sub_f32 v46, v42, v46 // 00000000A844: 085C5D2A v_sub_f32 v47, v43, v47 // 00000000A848: 085E5F2B v_mad_f32 v45, v45, v36, v15 // 00000000A84C: D282002D 043E492D v_add_f32 v45, v41, v45 // 00000000A854: 065A5B29 v_mad_f32 v46, v46, v37, v16 // 00000000A858: D282002E 04424B2E v_add_f32 v46, v42, v46 // 00000000A860: 065C5D2A v_mad_f32 v47, v47, v38, v17 // 00000000A864: D282002F 04464D2F v_add_f32 v47, v43, v47 // 00000000A86C: 065E5F2B v_mov_b32 v62, v47 // 00000000A870: 7E7C032F v_mov_b32 v47, v46 // 00000000A874: 7E5E032E v_mov_b32 v46, v45 // 00000000A878: 7E5C032D v_mov_b32 v45, v62 // 00000000A87C: 7E5A033E label_2A20: s_mov_b64 exec, s[24:25] // 00000000A880: BEFE0418 v_mov_b32 v49, 0 // 00000000A884: 7E620280 ds_read2_b32 v[50:51], v49 offset0:74 offset1:75 // 00000000A888: D8DC4B4A 32000031 ds_read_b32 v49, v49 offset:304 // 00000000A890: D8D80130 31000031 s_waitcnt lgkmcnt(1) // 00000000A898: BF8C017F v_add_f32 v41, v41, v50 // 00000000A89C: 06526529 v_add_f32 v42, v42, v51 // 00000000A8A0: 0654672A s_waitcnt lgkmcnt(0) // 00000000A8A4: BF8C007F v_add_f32 v43, v43, v49 // 00000000A8A8: 0656632B v_mov_b32 v62, v46 // 00000000A8AC: 7E7C032E v_mov_b32 v46, v42 // 00000000A8B0: 7E5C032A v_mov_b32 v42, v47 // 00000000A8B4: 7E54032F v_mov_b32 v47, v43 // 00000000A8B8: 7E5E032B v_mov_b32 v43, v45 // 00000000A8BC: 7E56032D v_mov_b32 v45, v41 // 00000000A8C0: 7E5A0329 v_mov_b32 v41, v62 // 00000000A8C4: 7E52033E label_2A32: s_andn2_b64 exec, s[18:19], exec // wrscc // 00000000A8C8: 8AFE7E12 v_mov_b32 v45, v41 // 00000000A8CC: 7E5A0329 v_mov_b32 v46, v42 // 00000000A8D0: 7E5C032A v_mov_b32 v47, v43 // 00000000A8D4: 7E5E032B s_mov_b64 exec, s[18:19] // 00000000A8D8: BEFE0412 buffer_store_dwordx4 v[41:44], v39, s[20:23], 0 offen // 00000000A8DC: E0781000 80052927 s_nop 0x0000 // 00000000A8E4: BF800000 v_mov_b32 v41, v45 // 00000000A8E8: 7E52032D v_mov_b32 v42, v46 // 00000000A8EC: 7E54032E v_mov_b32 v43, v47 // 00000000A8F0: 7E56032F v_mov_b32 v44, v48 // 00000000A8F4: 7E580330 buffer_store_dwordx4 v[41:44], v40, s[20:23], 0 offen // 00000000A8F8: E0781000 80052928 v_add_i32 v12, vcc, 0x00000400, v12 // 00000000A900: 4A1818FF 00000400 s_branch label_29DE // 00000000A908: BF82FF9B label_2A43: s_mov_b64 exec, s[16:17] // 00000000A90C: BEFE0410 v_mov_b32 v12, 0 // 00000000A910: 7E180280 ds_read_b32 v13, v12 offset:220 // 00000000A914: D8D800DC 0D00000C s_waitcnt vmcnt(0) & lgkmcnt(0) // 00000000A91C: BF8C0070 s_barrier // 00000000A920: BF8A0000 ds_read2_b32 v[14:15], v12 offset0:34 // 00000000A924: D8DC0022 0E00000C v_not_b32 v12, v8 // 00000000A92C: 7E186F08 v_and_b32 v12, 3, v12 // 00000000A930: 36181883 s_waitcnt lgkmcnt(0) // 00000000A934: BF8C007F v_mul_legacy_f32 v14, v14, v14 // 00000000A938: 0E1C1D0E v_cmp_ne_i32 vcc, 0, v12 // 00000000A93C: 7D0A1880 v_cndmask_b32 v12, 0, v14, vcc // 00000000A940: 00181C80 s_mov_b64 s[16:17], exec // 00000000A944: BE90047E s_mov_b64 s[18:19], exec // 00000000A948: BE92047E v_mov_b32 v14, v8 // 00000000A94C: 7E1C0308 label_2A54: v_lshlrev_b32 v16, 2, v15 // 00000000A950: 34201E82 v_cmp_ge_u32 vcc, v14, v16 // 00000000A954: 7D8C210E s_and_saveexec_b64 s[20:21], vcc // wrscc // 00000000A958: BE94246A s_andn2_b64 s[18:19], s[18:19], exec // wrscc // 00000000A95C: 8A927E12 s_cbranch_scc0 label_2A75 // 00000000A960: BF84001C s_and_b64 exec, s[20:21], s[18:19] // wrscc // 00000000A964: 87FE1214 v_lshrrev_b32 v16, 2, v14 // 00000000A968: 2C201C82 v_add_i32 v16, vcc, v3, v16 // 00000000A96C: 4A202103 s_load_dwordx4 s[20:23], s[0:1], 0x50 // 00000000A970: C08A0150 v_lshlrev_b32 v16, 4, v16 // 00000000A974: 34202084 s_waitcnt lgkmcnt(0) // 00000000A978: BF8C007F buffer_load_dwordx4 v[17:20], v16, s[20:23], 0 offen // 00000000A97C: E0381000 80051110 s_waitcnt vmcnt(0) // 00000000A984: BF8C0F70 v_cmp_lt_f32 vcc, 0, v20 // 00000000A988: 7C022880 s_and_saveexec_b64 s[24:25], vcc // wrscc // 00000000A98C: BE98246A s_cbranch_execz label_2A71 // 00000000A990: BF88000C s_load_dwordx4 s[28:31], s[0:1], 0x30 // 00000000A994: C08E0130 v_add_i32 v21, vcc, v13, v14 // 00000000A998: 4A2A1D0D s_waitcnt lgkmcnt(0) // 00000000A99C: BF8C007F tbuffer_load_format_xyzw v[21:24], v21, s[28:31], 0 idxen format:[BUF_DATA_FORMAT_32_32_32_32,BUF_NUM_FORMAT_FLOAT] // 00000000A9A0: EBF32000 80071515 s_waitcnt vmcnt(0) // 00000000A9A8: BF8C0F70 v_mac_f32 v17, v21, v12 // 00000000A9AC: 3E221915 v_mac_f32 v18, v22, v12 // 00000000A9B0: 3E241916 v_mac_f32 v19, v23, v12 // 00000000A9B4: 3E261917 v_mac_f32 v20, v24, v12 // 00000000A9B8: 3E281918 buffer_store_dwordx4 v[17:20], v16, s[20:23], 0 offen // 00000000A9BC: E0781000 80051110 label_2A71: s_mov_b64 exec, s[24:25] // 00000000A9C4: BEFE0418 v_add_i32 v14, vcc, 0x00000400, v14 // 00000000A9C8: 4A1C1CFF 00000400 s_branch label_2A54 // 00000000A9D0: BF82FFDF label_2A75: s_mov_b64 exec, s[16:17] // 00000000A9D4: BEFE0410 s_waitcnt vmcnt(0) // 00000000A9D8: BF8C0F70 s_barrier // 00000000A9DC: BF8A0000 v_mov_b32 v12, 0 // 00000000A9E0: 7E180280 ds_read2_b32 v[13:14], v12 offset0:38 offset1:39 // 00000000A9E4: D8DC2726 0D00000C ds_read2_b32 v[15:16], v12 offset0:40 offset1:34 // 00000000A9EC: D8DC2228 0F00000C s_waitcnt lgkmcnt(1) // 00000000A9F4: BF8C017F v_cmp_eq_f32 s[16:17], v13, 0 // 00000000A9F8: D0040010 0001010D v_cmp_eq_f32 vcc, 0, v14 // 00000000AA00: 7C041C80 s_and_b64 vcc, s[16:17], vcc // wrscc // 00000000AA04: 87EA6A10 s_mov_b64 s[16:17], exec // 00000000AA08: BE90047E s_andn2_b64 exec, s[16:17], vcc // wrscc // 00000000AA0C: 8AFE6A10 v_mov_b32 v12, 0 // 00000000AA10: 7E180280 s_cbranch_execz label_2C84 // 00000000AA14: BF8801FE ds_read2_b32 v[17:18], v12 offset0:98 offset1:99 // 00000000AA18: D8DC6362 1100000C ds_read_b32 v19, v12 offset:400 // 00000000AA20: D8D80190 1300000C s_waitcnt lgkmcnt(0) // 00000000AA28: BF8C007F s_barrier // 00000000AA2C: BF8A0000 ds_read2_b32 v[20:21], v12 offset0:9 offset1:10 // 00000000AA30: D8DC0A09 1400000C ds_read2_b32 v[22:23], v12 offset0:101 offset1:41 // 00000000AA38: D8DC2965 1600000C ds_read2_b32 v[24:25], v12 offset0:42 offset1:43 // 00000000AA40: D8DC2B2A 1800000C ds_read2_b32 v[26:27], v12 offset0:44 offset1:45 // 00000000AA48: D8DC2D2C 1A00000C ds_read2_b32 v[28:29], v12 offset0:46 offset1:47 // 00000000AA50: D8DC2F2E 1C00000C ds_read2_b32 v[30:31], v12 offset0:48 offset1:49 // 00000000AA58: D8DC3130 1E00000C s_mov_b64 s[18:19], exec // 00000000AA60: BE92047E v_mov_b32 v12, v8 // 00000000AA64: 7E180308 v_mov_b32 v32, v4 // 00000000AA68: 7E400304 label_2A9B: s_waitcnt lgkmcnt(5) // 00000000AA6C: BF8C057F v_cmp_ge_u32 vcc, v12, v20 // 00000000AA70: 7D8C290C s_andn2_b64 exec, exec, vcc // wrscc // 00000000AA74: 8AFE6A7E s_cbranch_execz label_2C82 // 00000000AA78: BF8801E3 s_load_dwordx4 s[20:23], s[0:1], 0x40 // 00000000AA7C: C08A0140 v_add_i32 v33, vcc, 1, v32 // 00000000AA80: 4A424081 v_add_i32 v34, vcc, 2, v32 // 00000000AA84: 4A444082 v_lshrrev_b32 v35, 1, v32 // 00000000AA88: 2C464081 v_lshrrev_b32 v33, 1, v33 // 00000000AA8C: 2C424281 v_lshrrev_b32 v34, 1, v34 // 00000000AA90: 2C444481 v_add_i32 v35, vcc, v21, v35 // 00000000AA94: 4A464715 v_add_i32 v33, vcc, v21, v33 // 00000000AA98: 4A424315 v_add_i32 v34, vcc, v21, v34 // 00000000AA9C: 4A444515 s_waitcnt lgkmcnt(0) // 00000000AAA0: BF8C007F tbuffer_load_format_x v35, v35, s[20:23], 0 idxen format:[BUF_DATA_FORMAT_32,BUF_NUM_FORMAT_FLOAT] // 00000000AAA4: EBA02000 80052323 tbuffer_load_format_x v33, v33, s[20:23], 0 idxen format:[BUF_DATA_FORMAT_32,BUF_NUM_FORMAT_FLOAT] // 00000000AAAC: EBA02000 80052121 tbuffer_load_format_x v34, v34, s[20:23], 0 idxen format:[BUF_DATA_FORMAT_32,BUF_NUM_FORMAT_FLOAT] // 00000000AAB4: EBA02000 80052222 v_and_b32 v36, 1, v32 // 00000000AABC: 36484081 v_cmp_ne_i32 s[20:21], v36, 0 // 00000000AAC0: D10A0014 00010124 s_waitcnt vmcnt(2) // 00000000AAC8: BF8C0F72 v_bfe_u32 v36, v35, 0, 16 // 00000000AACC: D2900024 02410123 v_lshrrev_b32 v35, 16, v35 // 00000000AAD4: 2C464690 s_waitcnt vmcnt(1) // 00000000AAD8: BF8C0F71 v_lshrrev_b32 v37, 16, v33 // 00000000AADC: 2C4A4290 v_bfe_u32 v33, v33, 0, 16 // 00000000AAE0: D2900021 02410121 s_waitcnt vmcnt(0) // 00000000AAE8: BF8C0F70 v_bfe_u32 v38, v34, 0, 16 // 00000000AAEC: D2900026 02410122 v_lshrrev_b32 v34, 16, v34 // 00000000AAF4: 2C444490 s_load_dwordx4 s[24:27], s[0:1], 0x50 // 00000000AAF8: C08C0150 v_cndmask_b32 v35, v36, v35, s[20:21] // 00000000AAFC: D2000023 00524724 v_cndmask_b32 v33, v37, v33, s[20:21] // 00000000AB04: D2000021 00524325 v_cndmask_b32 v34, v38, v34, s[20:21] // 00000000AB0C: D2000022 00524526 v_add_i32 v36, vcc, v3, v35 // 00000000AB14: 4A484703 v_add_i32 v37, vcc, v3, v33 // 00000000AB18: 4A4A4303 v_add_i32 v38, vcc, v3, v34 // 00000000AB1C: 4A4C4503 v_add_i32 v35, vcc, v7, v35 // 00000000AB20: 4A464707 v_add_i32 v33, vcc, v7, v33 // 00000000AB24: 4A424307 v_lshlrev_b32 v36, 4, v36 // 00000000AB28: 34484884 v_lshlrev_b32 v37, 4, v37 // 00000000AB2C: 344A4A84 v_lshlrev_b32 v38, 4, v38 // 00000000AB30: 344C4C84 v_add_i32 v34, vcc, v7, v34 // 00000000AB34: 4A444507 v_lshlrev_b32 v35, 4, v35 // 00000000AB38: 34464684 v_lshlrev_b32 v33, 4, v33 // 00000000AB3C: 34424284 v_lshlrev_b32 v34, 4, v34 // 00000000AB40: 34444484 s_waitcnt lgkmcnt(0) // 00000000AB44: BF8C007F buffer_load_dwordx4 v[39:42], v36, s[24:27], 0 offen // 00000000AB48: E0381000 80062724 buffer_load_dwordx4 v[43:46], v37, s[24:27], 0 offen // 00000000AB50: E0381000 80062B25 buffer_load_dwordx4 v[47:50], v38, s[24:27], 0 offen // 00000000AB58: E0381000 80062F26 buffer_load_dwordx3 v[51:53], v35, s[24:27], 0 offen // 00000000AB60: E03C1000 80063323 buffer_load_dwordx3 v[54:56], v33, s[24:27], 0 offen // 00000000AB68: E03C1000 80063621 buffer_load_dwordx3 v[33:35], v34, s[24:27], 0 offen // 00000000AB70: E03C1000 80062122 s_waitcnt vmcnt(4) // 00000000AB78: BF8C0F74 v_add_f32 v57, v41, v45 // 00000000AB7C: 06725B29 s_waitcnt vmcnt(1) // 00000000AB80: BF8C0F71 v_add_f32 v51, v51, v54 // 00000000AB84: 06666D33 v_subrev_f32 v54, v40, v48 // 00000000AB88: 0A6C6128 v_subrev_f32 v58, v39, v43 // 00000000AB8C: 0A745727 v_add_f32 v59, v40, v44 // 00000000AB90: 06765928 v_add_f32 v57, v49, v57 // 00000000AB94: 06727331 v_add_f32 v52, v52, v55 // 00000000AB98: 06686F34 v_add_f32 v53, v53, v56 // 00000000AB9C: 066A7135 s_waitcnt vmcnt(0) // 00000000ABA0: BF8C0F70 v_add_f32 v33, v33, v51 // 00000000ABA4: 06426721 v_mov_b32 v51, 0x3eaaaaab // 00000000ABA8: 7E6602FF 3EAAAAAB v_subrev_f32 v55, v39, v47 // 00000000ABB0: 0A6E5F27 v_subrev_f32 v40, v40, v44 // 00000000ABB4: 0A505928 v_subrev_f32 v44, v41, v45 // 00000000ABB8: 0A585B29 v_mul_legacy_f32 v45, v54, v58 // 00000000ABBC: 0E5A7536 v_add_f32 v43, v39, v43 // 00000000ABC0: 06565727 v_add_f32 v48, v48, v59 // 00000000ABC4: 06607730 v_add_f32 v34, v34, v52 // 00000000ABC8: 06446922 v_add_f32 v35, v35, v53 // 00000000ABCC: 06466B23 v_mul_legacy_f32 v52, v57, v51 // 00000000ABD0: 0E686739 v_mad_legacy_f32 v53, -v33, v51, v17 // 00000000ABD4: D2800035 24466721 v_subrev_f32 v41, v41, v49 // 00000000ABDC: 0A526329 v_mul_legacy_f32 v49, v55, v44 // 00000000ABE0: 0E625937 v_mad_legacy_f32 v45, v55, v40, -v45 // 00000000ABE4: D280002D 84B65137 v_add_f32 v43, v47, v43 // 00000000ABEC: 0656572F v_mul_legacy_f32 v47, v48, v51 // 00000000ABF0: 0E5E6730 v_mul_legacy_f32 v55, v35, v51 // 00000000ABF4: 0E6E6723 v_mad_legacy_f32 v56, -v34, v51, v18 // 00000000ABF8: D2800038 244A6722 v_mac_f32 v52, v53, v25 // 00000000AC00: 3E683335 v_mul_legacy_f32 v40, v41, v40 // 00000000AC04: 0E505129 v_mad_legacy_f32 v49, v41, v58, -v49 // 00000000AC08: D2800031 84C67529 v_mul_legacy_f32 v41, v45, v45 // 00000000AC10: 0E525B2D v_mul_legacy_f32 v58, v51, v43 // 00000000AC14: 0E745733 v_mul_legacy_f32 v34, v34, v51 // 00000000AC18: 0E446722 v_mad_legacy_f32 v55, v57, v51, -v55 // 00000000AC1C: D2800037 84DE6739 v_mad_legacy_f32 v35, -v35, v51, v19 // 00000000AC24: D2800023 244E6723 v_mac_f32 v47, v53, v24 // 00000000AC2C: 3E5E3135 v_mac_f32 v52, v56, v28 // 00000000AC30: 3E683938 v_mad_legacy_f32 v40, v54, v44, -v40 // 00000000AC34: D2800028 84A25936 v_mac_f32 v41, v49, v49 // 00000000AC3C: 3E526331 v_mul_legacy_f32 v33, v33, v51 // 00000000AC40: 0E426721 v_mad_legacy_f32 v34, v48, v51, -v34 // 00000000AC44: D2800022 848A6730 v_add_f32 v44, v19, v55 // 00000000AC4C: 06586F13 v_mac_f32 v58, v53, v23 // 00000000AC50: 3E742F35 v_mac_f32 v47, v56, v27 // 00000000AC54: 3E5E3738 v_mac_f32 v52, v35, v31 // 00000000AC58: 3E683F23 v_cmp_ne_i32 vcc, 0, v22 // 00000000AC5C: 7D0A2C80 v_mac_f32 v41, v40, v40 // 00000000AC60: 3E525128 v_mad_legacy_f32 v33, v43, v51, -v33 // 00000000AC64: D2800021 8486672B v_add_f32 v34, v18, v34 // 00000000AC6C: 06444512 v_mac_f32 v58, v56, v26 // 00000000AC70: 3E743538 v_mac_f32 v47, v35, v30 // 00000000AC74: 3E5E3D23 v_cndmask_b32 v43, v44, v52, vcc // 00000000AC78: 0056692C v_rsq_f32 v44, v41 // 00000000AC7C: 7E585D29 v_add_f32 v33, v17, v33 // 00000000AC80: 06424311 v_mac_f32 v58, v35, v29 // 00000000AC84: 3E743B23 v_cndmask_b32 v34, v34, v47, vcc // 00000000AC88: 00445F22 v_mul_f32 v35, v45, v44 // 00000000AC8C: 1046592D v_mul_legacy_f32 v45, v43, v43 // 00000000AC90: 0E5A572B v_cndmask_b32 v33, v33, v58, vcc // 00000000AC94: 00427521 v_mul_f32 v47, v49, v44 // 00000000AC98: 105E5931 v_mac_f32 v45, v34, v34 // 00000000AC9C: 3E5A4522 v_mul_legacy_f32 v48, v43, v35 // 00000000ACA0: 0E60472B v_mul_f32 v40, v40, v44 // 00000000ACA4: 10505928 v_mac_f32 v45, v33, v33 // 00000000ACA8: 3E5A4321 v_mac_f32 v48, v47, v34 // 00000000ACAC: 3E60452F v_mac_f32 v48, v40, v33 // 00000000ACB0: 3E604328 v_rsq_f32 v44, v45 // 00000000ACB4: 7E585D2D v_mul_legacy_f32 v48, v44, v48 // 00000000ACB8: 0E60612C v_mul_legacy_f32 v49, v34, v40 // 00000000ACBC: 0E625122 v_mul_legacy_f32 v51, v33, v35 // 00000000ACC0: 0E664721 v_mad_legacy_f32 v49, v33, v47, -v49 // 00000000ACC4: D2800031 84C65F21 v_mul_legacy_f32 v52, v34, v44 // 00000000ACCC: 0E685922 v_mad_legacy_f32 v53, -v48, v48, 1.0 clamp // 00000000ACD0: D2800835 23CA6130 v_mad_legacy_f32 v51, v43, v40, -v51 // 00000000ACD8: D2800033 84CE512B v_mul_legacy_f32 v40, v43, v44 // 00000000ACE0: 0E50592B v_mul_legacy_f32 v54, v49, v52 // 00000000ACE4: 0E6C6931 v_mul_legacy_f32 v55, v14, v48 // 00000000ACE8: 0E6E610E v_sqrt_f32 v53, v53 // 00000000ACEC: 7E6A6735 v_mul_legacy_f32 v48, v13, abs(v48) // 00000000ACF0: D20E0230 0002610D v_mul_legacy_f32 v47, v43, v47 // 00000000ACF8: 0E5E5F2B v_mad_legacy_f32 v54, v51, v40, -v54 // 00000000ACFC: D2800036 84DA5133 v_mul_legacy_f32 v53, v53, v55 // 00000000AD04: 0E6A6F35 v_sqrt_f32 v55, v45 // 00000000AD08: 7E6E672D v_mul_legacy_f32 v56, v33, v48 // 00000000AD0C: 0E706121 v_mad_legacy_f32 v47, v34, v35, -v47 // 00000000AD10: D280002F 84BE4722 v_mul_legacy_f32 v33, v33, v44 // 00000000AD18: 0E425921 v_mul_legacy_f32 v35, v54, v53 // 00000000AD1C: 0E466B36 v_mul_legacy_f32 v44, v55, v56 // 00000000AD20: 0E587137 v_rcp_f32 v54, v16 // 00000000AD24: 7E6C5510 v_mul_legacy_f32 v40, v47, v40 // 00000000AD28: 0E50512F v_mul_legacy_f32 v51, v51, v33 // 00000000AD2C: 0E664333 v_mul_legacy_f32 v35, v55, v35 // 00000000AD30: 0E464737 v_mul_f32 v44, v44, v54 // 00000000AD34: 10586D2C v_mad_legacy_f32 v40, v49, v33, -v40 // 00000000AD38: D2800028 84A24331 v_mad_legacy_f32 v51, v47, v52, -v51 // 00000000AD40: D2800033 84CE692F v_mul_legacy_f32 v33, v34, v48 // 00000000AD48: 0E426122 v_mul_legacy_f32 v34, v43, v48 // 00000000AD4C: 0E44612B v_mac_f32 v44, v35, v54 // 00000000AD50: 3E586D23 v_mul_legacy_f32 v35, v40, v53 // 00000000AD54: 0E466B28 v_mul_legacy_f32 v40, v51, v53 // 00000000AD58: 0E506B33 v_mul_legacy_f32 v33, v55, v33 // 00000000AD5C: 0E424337 v_mul_legacy_f32 v34, v55, v34 // 00000000AD60: 0E444537 v_mul_legacy_f32 v43, v15, v44 // 00000000AD64: 0E56590F v_sqrt_f32 v41, v41 // 00000000AD68: 7E526729 s_mov_b32 s3, 0x34000000 // 00000000AD6C: BE8303FF 34000000 v_mul_legacy_f32 v35, v55, v35 // 00000000AD74: 0E464737 v_mul_legacy_f32 v40, v55, v40 // 00000000AD78: 0E505137 v_mul_f32 v33, v33, v54 // 00000000AD7C: 10426D21 v_mul_f32 v34, v34, v54 // 00000000AD80: 10446D22 v_mul_legacy_f32 v43, v41, v43 // 00000000AD84: 0E565729 v_cmp_gt_f32 vcc, s3, v45 // 00000000AD88: 7C085A03 v_mov_b32 v44, 0x80000000 // 00000000AD8C: 7E5802FF 80000000 v_mac_f32 v33, v35, v54 // 00000000AD94: 3E426D23 v_mac_f32 v34, v40, v54 // 00000000AD98: 3E446D28 v_cndmask_b32 v35, -v43, v44, vcc // 00000000AD9C: D2000023 21AA592B v_mul_legacy_f32 v33, v15, v33 // 00000000ADA4: 0E42430F v_mul_legacy_f32 v34, v15, v34 // 00000000ADA8: 0E44450F v_mad_f32 v40, v35, v42, v39 // 00000000ADAC: D2820028 049E5523 v_mul_legacy_f32 v33, v41, v33 // 00000000ADB4: 0E424329 v_mul_legacy_f32 v34, v41, v34 // 00000000ADB8: 0E444529 v_cndmask_b32 v33, -v33, v44, vcc // 00000000ADBC: D2000021 21AA5921 v_cndmask_b32 v34, -v34, v44, vcc // 00000000ADC4: D2000022 21AA5922 v_mov_b32 v41, v39 // 00000000ADCC: 7E520327 buffer_atomic_cmpswap v[40:41], v36, s[24:27], 0 offen glc // 00000000ADD0: E0C45000 80062824 s_mov_b64 s[20:21], exec // 00000000ADD8: BE94047E s_mov_b64 s[22:23], exec // 00000000ADDC: BE96047E label_2B78: s_waitcnt vmcnt(0) // 00000000ADE0: BF8C0F70 v_cmp_eq_i32 vcc, v39, v40 // 00000000ADE4: 7D045127 s_and_saveexec_b64 s[28:29], vcc // wrscc // 00000000ADE8: BE9C246A s_andn2_b64 s[22:23], s[22:23], exec // wrscc // 00000000ADEC: 8A967E16 s_cbranch_scc0 label_2B88 // 00000000ADF0: BF84000B s_mov_b64 exec, s[22:23] // 00000000ADF4: BEFE0416 v_mad_f32 v39, v35, v42, v40 // 00000000ADF8: D2820027 04A25523 v_mov_b32 v43, v39 // 00000000AE00: 7E560327 v_mov_b32 v44, v40 // 00000000AE04: 7E580328 buffer_atomic_cmpswap v[43:44], v36, s[24:27], 0 offen glc // 00000000AE08: E0C45000 80062B24 v_mov_b32 v39, v40 // 00000000AE10: 7E4E0328 s_waitcnt vmcnt(0) // 00000000AE14: BF8C0F70 v_mov_b32 v40, v43 // 00000000AE18: 7E50032B s_branch label_2B78 // 00000000AE1C: BF82FFF0 label_2B88: s_mov_b64 exec, s[20:21] // 00000000AE20: BEFE0414 v_bfi_b32 v39, -16, v36, 4 // 00000000AE24: D2940027 021248D0 buffer_load_dword v40, v39, s[24:27], 0 offen // 00000000AE2C: E0301000 80062827 s_waitcnt vmcnt(0) // 00000000AE34: BF8C0F70 v_mad_f32 v41, v33, v42, v40 // 00000000AE38: D2820029 04A25521 v_mov_b32 v43, v41 // 00000000AE40: 7E560329 v_mov_b32 v44, v40 // 00000000AE44: 7E580328 buffer_atomic_cmpswap v[43:44], v39, s[24:27], 0 offen glc // 00000000AE48: E0C45000 80062B27 s_mov_b64 s[20:21], exec // 00000000AE50: BE94047E s_mov_b64 s[22:23], exec // 00000000AE54: BE96047E s_waitcnt vmcnt(0) // 00000000AE58: BF8C0F70 v_mov_b32 v41, v43 // 00000000AE5C: 7E52032B s_nop 0x0000 // 00000000AE60: BF800000 s_nop 0x0000 // 00000000AE64: BF800000 label_2B9A: v_cmp_eq_i32 vcc, v40, v41 // 00000000AE68: 7D045328 s_and_saveexec_b64 s[28:29], vcc // wrscc // 00000000AE6C: BE9C246A s_andn2_b64 s[22:23], s[22:23], exec // wrscc // 00000000AE70: 8A967E16 s_cbranch_scc0 label_2BA9 // 00000000AE74: BF84000B s_mov_b64 exec, s[22:23] // 00000000AE78: BEFE0416 v_mad_f32 v40, v33, v42, v41 // 00000000AE7C: D2820028 04A65521 v_mov_b32 v43, v40 // 00000000AE84: 7E560328 v_mov_b32 v44, v41 // 00000000AE88: 7E580329 buffer_atomic_cmpswap v[43:44], v39, s[24:27], 0 offen glc // 00000000AE8C: E0C45000 80062B27 v_mov_b32 v40, v41 // 00000000AE94: 7E500329 s_waitcnt vmcnt(0) // 00000000AE98: BF8C0F70 v_mov_b32 v41, v43 // 00000000AE9C: 7E52032B s_branch label_2B9A // 00000000AEA0: BF82FFF1 label_2BA9: s_mov_b64 exec, s[20:21] // 00000000AEA4: BEFE0414 v_bfi_b32 v36, -16, v36, 8 // 00000000AEA8: D2940024 022248D0 buffer_load_dword v39, v36, s[24:27], 0 offen // 00000000AEB0: E0301000 80062724 s_waitcnt vmcnt(0) // 00000000AEB8: BF8C0F70 v_mad_f32 v40, v34, v42, v39 // 00000000AEBC: D2820028 049E5522 v_mov_b32 v41, v39 // 00000000AEC4: 7E520327 buffer_atomic_cmpswap v[40:41], v36, s[24:27], 0 offen glc // 00000000AEC8: E0C45000 80062824 s_mov_b64 s[20:21], exec // 00000000AED0: BE94047E s_mov_b64 s[22:23], exec // 00000000AED4: BE96047E s_nop 0x0000 // 00000000AED8: BF800000 s_nop 0x0000 // 00000000AEDC: BF800000 label_2BB8: s_waitcnt vmcnt(0) // 00000000AEE0: BF8C0F70 v_cmp_eq_i32 vcc, v39, v40 // 00000000AEE4: 7D045127 s_and_saveexec_b64 s[28:29], vcc // wrscc // 00000000AEE8: BE9C246A s_andn2_b64 s[22:23], s[22:23], exec // wrscc // 00000000AEEC: 8A967E16 s_cbranch_scc0 label_2BC8 // 00000000AEF0: BF84000B s_mov_b64 exec, s[22:23] // 00000000AEF4: BEFE0416 v_mad_f32 v39, v34, v42, v40 // 00000000AEF8: D2820027 04A25522 v_mov_b32 v43, v39 // 00000000AF00: 7E560327 v_mov_b32 v44, v40 // 00000000AF04: 7E580328 buffer_atomic_cmpswap v[43:44], v36, s[24:27], 0 offen glc // 00000000AF08: E0C45000 80062B24 v_mov_b32 v39, v40 // 00000000AF10: 7E4E0328 s_waitcnt vmcnt(0) // 00000000AF14: BF8C0F70 v_mov_b32 v40, v43 // 00000000AF18: 7E50032B s_branch label_2BB8 // 00000000AF1C: BF82FFF0 label_2BC8: s_mov_b64 exec, s[20:21] // 00000000AF20: BEFE0414 buffer_load_dword v36, v37, s[24:27], 0 offen // 00000000AF24: E0301000 80062425 s_waitcnt vmcnt(0) // 00000000AF2C: BF8C0F70 v_mad_f32 v39, v35, v46, v36 // 00000000AF30: D2820027 04925D23 v_mov_b32 v40, v36 // 00000000AF38: 7E500324 buffer_atomic_cmpswap v[39:40], v37, s[24:27], 0 offen glc // 00000000AF3C: E0C45000 80062725 s_mov_b64 s[20:21], exec // 00000000AF44: BE94047E s_mov_b64 s[22:23], exec // 00000000AF48: BE96047E s_nop 0x0000 // 00000000AF4C: BF800000 s_nop 0x0000 // 00000000AF50: BF800000 s_nop 0x0000 // 00000000AF54: BF800000 label_2BD6: s_waitcnt vmcnt(0) // 00000000AF58: BF8C0F70 v_cmp_eq_i32 vcc, v36, v39 // 00000000AF5C: 7D044F24 s_and_saveexec_b64 s[28:29], vcc // wrscc // 00000000AF60: BE9C246A s_andn2_b64 s[22:23], s[22:23], exec // wrscc // 00000000AF64: 8A967E16 s_cbranch_scc0 label_2BE6 // 00000000AF68: BF84000B s_mov_b64 exec, s[22:23] // 00000000AF6C: BEFE0416 v_mad_f32 v36, v35, v46, v39 // 00000000AF70: D2820024 049E5D23 v_mov_b32 v40, v36 // 00000000AF78: 7E500324 v_mov_b32 v41, v39 // 00000000AF7C: 7E520327 buffer_atomic_cmpswap v[40:41], v37, s[24:27], 0 offen glc // 00000000AF80: E0C45000 80062825 v_mov_b32 v36, v39 // 00000000AF88: 7E480327 s_waitcnt vmcnt(0) // 00000000AF8C: BF8C0F70 v_mov_b32 v39, v40 // 00000000AF90: 7E4E0328 s_branch label_2BD6 // 00000000AF94: BF82FFF0 label_2BE6: s_mov_b64 exec, s[20:21] // 00000000AF98: BEFE0414 v_bfi_b32 v36, -16, v37, 4 // 00000000AF9C: D2940024 02124AD0 buffer_load_dword v39, v36, s[24:27], 0 offen // 00000000AFA4: E0301000 80062724 s_waitcnt vmcnt(0) // 00000000AFAC: BF8C0F70 v_mad_f32 v40, v33, v46, v39 // 00000000AFB0: D2820028 049E5D21 v_mov_b32 v41, v39 // 00000000AFB8: 7E520327 buffer_atomic_cmpswap v[40:41], v36, s[24:27], 0 offen glc // 00000000AFBC: E0C45000 80062824 s_mov_b64 s[20:21], exec // 00000000AFC4: BE94047E s_mov_b64 s[22:23], exec // 00000000AFC8: BE96047E s_nop 0x0000 // 00000000AFCC: BF800000 label_2BF4: s_waitcnt vmcnt(0) // 00000000AFD0: BF8C0F70 v_cmp_eq_i32 vcc, v39, v40 // 00000000AFD4: 7D045127 s_and_saveexec_b64 s[28:29], vcc // wrscc // 00000000AFD8: BE9C246A s_andn2_b64 s[22:23], s[22:23], exec // wrscc // 00000000AFDC: 8A967E16 s_cbranch_scc0 label_2C04 // 00000000AFE0: BF84000B s_mov_b64 exec, s[22:23] // 00000000AFE4: BEFE0416 v_mad_f32 v39, v33, v46, v40 // 00000000AFE8: D2820027 04A25D21 v_mov_b32 v41, v39 // 00000000AFF0: 7E520327 v_mov_b32 v42, v40 // 00000000AFF4: 7E540328 buffer_atomic_cmpswap v[41:42], v36, s[24:27], 0 offen glc // 00000000AFF8: E0C45000 80062924 v_mov_b32 v39, v40 // 00000000B000: 7E4E0328 s_waitcnt vmcnt(0) // 00000000B004: BF8C0F70 v_mov_b32 v40, v41 // 00000000B008: 7E500329 s_branch label_2BF4 // 00000000B00C: BF82FFF0 label_2C04: s_mov_b64 exec, s[20:21] // 00000000B010: BEFE0414 v_bfi_b32 v36, -16, v37, 8 // 00000000B014: D2940024 02224AD0 buffer_load_dword v37, v36, s[24:27], 0 offen // 00000000B01C: E0301000 80062524 s_waitcnt vmcnt(0) // 00000000B024: BF8C0F70 v_mad_f32 v39, v34, v46, v37 // 00000000B028: D2820027 04965D22 v_mov_b32 v40, v37 // 00000000B030: 7E500325 buffer_atomic_cmpswap v[39:40], v36, s[24:27], 0 offen glc // 00000000B034: E0C45000 80062724 s_mov_b64 s[20:21], exec // 00000000B03C: BE94047E s_mov_b64 s[22:23], exec // 00000000B040: BE96047E s_nop 0x0000 // 00000000B044: BF800000 label_2C12: s_waitcnt vmcnt(0) // 00000000B048: BF8C0F70 v_cmp_eq_i32 vcc, v37, v39 // 00000000B04C: 7D044F25 s_and_saveexec_b64 s[28:29], vcc // wrscc // 00000000B050: BE9C246A s_andn2_b64 s[22:23], s[22:23], exec // wrscc // 00000000B054: 8A967E16 s_cbranch_scc0 label_2C22 // 00000000B058: BF84000B s_mov_b64 exec, s[22:23] // 00000000B05C: BEFE0416 v_mad_f32 v37, v34, v46, v39 // 00000000B060: D2820025 049E5D22 v_mov_b32 v40, v37 // 00000000B068: 7E500325 v_mov_b32 v41, v39 // 00000000B06C: 7E520327 buffer_atomic_cmpswap v[40:41], v36, s[24:27], 0 offen glc // 00000000B070: E0C45000 80062824 v_mov_b32 v37, v39 // 00000000B078: 7E4A0327 s_waitcnt vmcnt(0) // 00000000B07C: BF8C0F70 v_mov_b32 v39, v40 // 00000000B080: 7E4E0328 s_branch label_2C12 // 00000000B084: BF82FFF0 label_2C22: s_mov_b64 exec, s[20:21] // 00000000B088: BEFE0414 buffer_load_dword v36, v38, s[24:27], 0 offen // 00000000B08C: E0301000 80062426 s_waitcnt vmcnt(0) // 00000000B094: BF8C0F70 v_mad_f32 v37, v35, v50, v36 // 00000000B098: D2820025 04926523 v_mov_b32 v39, v37 // 00000000B0A0: 7E4E0325 v_mov_b32 v40, v36 // 00000000B0A4: 7E500324 buffer_atomic_cmpswap v[39:40], v38, s[24:27], 0 offen glc // 00000000B0A8: E0C45000 80062726 s_mov_b64 s[20:21], exec // 00000000B0B0: BE94047E s_mov_b64 s[22:23], exec // 00000000B0B4: BE96047E s_waitcnt vmcnt(0) // 00000000B0B8: BF8C0F70 v_mov_b32 v37, v39 // 00000000B0BC: 7E4A0327 label_2C30: v_cmp_eq_i32 vcc, v36, v37 // 00000000B0C0: 7D044B24 s_and_saveexec_b64 s[28:29], vcc // wrscc // 00000000B0C4: BE9C246A s_andn2_b64 s[22:23], s[22:23], exec // wrscc // 00000000B0C8: 8A967E16 s_cbranch_scc0 label_2C3F // 00000000B0CC: BF84000B s_mov_b64 exec, s[22:23] // 00000000B0D0: BEFE0416 v_mad_f32 v36, v35, v50, v37 // 00000000B0D4: D2820024 04966523 v_mov_b32 v39, v36 // 00000000B0DC: 7E4E0324 v_mov_b32 v40, v37 // 00000000B0E0: 7E500325 buffer_atomic_cmpswap v[39:40], v38, s[24:27], 0 offen glc // 00000000B0E4: E0C45000 80062726 v_mov_b32 v36, v37 // 00000000B0EC: 7E480325 s_waitcnt vmcnt(0) // 00000000B0F0: BF8C0F70 v_mov_b32 v37, v39 // 00000000B0F4: 7E4A0327 s_branch label_2C30 // 00000000B0F8: BF82FFF1 label_2C3F: s_mov_b64 exec, s[20:21] // 00000000B0FC: BEFE0414 v_bfi_b32 v35, -16, v38, 4 // 00000000B100: D2940023 02124CD0 buffer_load_dword v36, v35, s[24:27], 0 offen // 00000000B108: E0301000 80062423 s_waitcnt vmcnt(0) // 00000000B110: BF8C0F70 v_mad_f32 v37, v33, v50, v36 // 00000000B114: D2820025 04926521 v_mov_b32 v39, v37 // 00000000B11C: 7E4E0325 v_mov_b32 v40, v36 // 00000000B120: 7E500324 buffer_atomic_cmpswap v[39:40], v35, s[24:27], 0 offen glc // 00000000B124: E0C45000 80062723 s_mov_b64 s[20:21], exec // 00000000B12C: BE94047E s_mov_b64 s[22:23], exec // 00000000B130: BE96047E s_waitcnt vmcnt(0) // 00000000B134: BF8C0F70 v_mov_b32 v37, v39 // 00000000B138: 7E4A0327 label_2C4F: v_cmp_eq_i32 vcc, v36, v37 // 00000000B13C: 7D044B24 s_and_saveexec_b64 s[28:29], vcc // wrscc // 00000000B140: BE9C246A s_andn2_b64 s[22:23], s[22:23], exec // wrscc // 00000000B144: 8A967E16 s_cbranch_scc0 label_2C5E // 00000000B148: BF84000B s_mov_b64 exec, s[22:23] // 00000000B14C: BEFE0416 v_mad_f32 v36, v33, v50, v37 // 00000000B150: D2820024 04966521 v_mov_b32 v39, v36 // 00000000B158: 7E4E0324 v_mov_b32 v40, v37 // 00000000B15C: 7E500325 buffer_atomic_cmpswap v[39:40], v35, s[24:27], 0 offen glc // 00000000B160: E0C45000 80062723 v_mov_b32 v36, v37 // 00000000B168: 7E480325 s_waitcnt vmcnt(0) // 00000000B16C: BF8C0F70 v_mov_b32 v37, v39 // 00000000B170: 7E4A0327 s_branch label_2C4F // 00000000B174: BF82FFF1 label_2C5E: s_mov_b64 exec, s[20:21] // 00000000B178: BEFE0414 v_bfi_b32 v33, -16, v38, 8 // 00000000B17C: D2940021 02224CD0 buffer_load_dword v35, v33, s[24:27], 0 offen // 00000000B184: E0301000 80062321 s_waitcnt vmcnt(0) // 00000000B18C: BF8C0F70 v_mad_f32 v36, v34, v50, v35 // 00000000B190: D2820024 048E6522 v_mov_b32 v37, v35 // 00000000B198: 7E4A0323 buffer_atomic_cmpswap v[36:37], v33, s[24:27], 0 offen glc // 00000000B19C: E0C45000 80062421 s_mov_b64 s[20:21], exec // 00000000B1A4: BE94047E s_mov_b64 s[22:23], exec // 00000000B1A8: BE96047E s_nop 0x0000 // 00000000B1AC: BF800000 label_2C6C: s_waitcnt vmcnt(0) // 00000000B1B0: BF8C0F70 v_cmp_eq_i32 vcc, v35, v36 // 00000000B1B4: 7D044923 s_and_saveexec_b64 s[28:29], vcc // wrscc // 00000000B1B8: BE9C246A s_andn2_b64 s[22:23], s[22:23], exec // wrscc // 00000000B1BC: 8A967E16 s_cbranch_scc0 label_2C7C // 00000000B1C0: BF84000B s_mov_b64 exec, s[22:23] // 00000000B1C4: BEFE0416 v_mad_f32 v35, v34, v50, v36 // 00000000B1C8: D2820023 04926522 v_mov_b32 v37, v35 // 00000000B1D0: 7E4A0323 v_mov_b32 v38, v36 // 00000000B1D4: 7E4C0324 buffer_atomic_cmpswap v[37:38], v33, s[24:27], 0 offen glc // 00000000B1D8: E0C45000 80062521 v_mov_b32 v35, v36 // 00000000B1E0: 7E460324 s_waitcnt vmcnt(0) // 00000000B1E4: BF8C0F70 v_mov_b32 v36, v37 // 00000000B1E8: 7E480325 s_branch label_2C6C // 00000000B1EC: BF82FFF0 label_2C7C: s_mov_b64 exec, s[20:21] // 00000000B1F0: BEFE0414 v_add_i32 v12, vcc, 0x00000400, v12 // 00000000B1F4: 4A1818FF 00000400 v_add_i32 v32, vcc, 0x00000c00, v32 // 00000000B1FC: 4A4040FF 00000C00 s_branch label_2A9B // 00000000B204: BF82FE19 label_2C82: s_waitcnt lgkmcnt(0) // 00000000B208: BF8C007F s_barrier // 00000000B20C: BF8A0000 label_2C84: s_mov_b64 exec, s[16:17] // 00000000B210: BEFE0410 v_mov_b32 v12, 0 // 00000000B214: 7E180280 ds_read_b32 v12, v12 offset:204 // 00000000B218: D8D800CC 0C00000C s_waitcnt lgkmcnt(0) // 00000000B220: BF8C007F v_cmp_ne_i32 vcc, -1, v12 // 00000000B224: 7D0A18C1 s_and_b64 exec, s[16:17], vcc // wrscc // 00000000B228: 87FE6A10 v_mov_b32 v12, 0 // 00000000B22C: 7E180280 s_cbranch_execz label_2CD0 // 00000000B230: BF880043 ds_read2_b32 v[13:14], v12 offset0:11 offset1:12 // 00000000B234: D8DC0C0B 0D00000C ds_read2_b32 v[15:16], v12 offset0:50 offset1:51 // 00000000B23C: D8DC3332 0F00000C ds_read2_b32 v[17:18], v12 offset0:52 // 00000000B244: D8DC0034 1100000C s_mov_b64 s[18:19], exec // 00000000B24C: BE92047E v_mov_b32 v12, v8 // 00000000B250: 7E180308 s_nop 0x0000 // 00000000B254: BF800000 s_nop 0x0000 // 00000000B258: BF800000 s_nop 0x0000 // 00000000B25C: BF800000 label_2C98: s_waitcnt lgkmcnt(0) // 00000000B260: BF8C007F v_cmp_ge_u32 vcc, v12, v18 // 00000000B264: 7D8C250C s_andn2_b64 exec, exec, vcc // wrscc // 00000000B268: 8AFE6A7E s_cbranch_execz label_2CD0 // 00000000B26C: BF880034 s_load_dwordx4 s[20:23], s[0:1], 0x28 // 00000000B270: C08A0128 s_load_dwordx4 s[24:27], s[0:1], 0x50 // 00000000B274: C08C0150 v_add_i32 v19, vcc, v12, v16 // 00000000B278: 4A26210C v_add_i32 v20, vcc, v12, v17 // 00000000B27C: 4A28230C v_add_i32 v21, vcc, v3, v12 // 00000000B280: 4A2A1903 v_lshlrev_b32 v21, 4, v21 // 00000000B284: 342A2A84 s_waitcnt lgkmcnt(0) // 00000000B288: BF8C007F tbuffer_load_format_xyzw v[22:25], v19, s[20:23], 0 idxen format:[BUF_DATA_FORMAT_32_32_32_32,BUF_NUM_FORMAT_FLOAT] // 00000000B28C: EBF32000 80051613 tbuffer_load_format_xyzw v[26:29], v20, s[20:23], 0 idxen format:[BUF_DATA_FORMAT_32_32_32_32,BUF_NUM_FORMAT_FLOAT] // 00000000B294: EBF32000 80051A14 buffer_load_dwordx4 v[30:33], v21, s[24:27], 0 offen // 00000000B29C: E0381000 80061E15 s_waitcnt vmcnt(1) // 00000000B2A4: BF8C0F71 v_subrev_f32 v19, v24, v28 // 00000000B2A8: 0A263918 v_subrev_f32 v20, v23, v27 // 00000000B2AC: 0A283717 v_mac_f32 v24, v19, v10 // 00000000B2B0: 3E301513 v_subrev_f32 v19, v22, v26 // 00000000B2B4: 0A263516 v_mac_f32 v23, v20, v10 // 00000000B2B8: 3E2E1514 s_waitcnt vmcnt(0) // 00000000B2BC: BF8C0F70 v_sub_f32 v20, v24, v32 // 00000000B2C0: 08284118 v_mac_f32 v22, v19, v10 // 00000000B2C4: 3E2C1513 v_sub_f32 v19, v23, v31 // 00000000B2C8: 08263F17 v_mul_legacy_f32 v23, v20, v20 // 00000000B2CC: 0E2E2914 v_subrev_f32 v24, v25, v29 // 00000000B2D0: 0A303B19 v_sub_f32 v22, v22, v30 // 00000000B2D4: 082C3D16 v_mac_f32 v23, v19, v19 // 00000000B2D8: 3E2E2713 v_mac_f32 v25, v24, v10 // 00000000B2DC: 3E321518 v_mac_f32 v23, v22, v22 // 00000000B2E0: 3E2E2D16 v_mad_legacy_f32 v24, v25, -v13, -v14 // 00000000B2E4: D2800018 C43A1B19 v_add_f32 v23, 0x34000000, v23 // 00000000B2EC: 062E2EFF 34000000 v_min_legacy_f32 v24, 0, v24 // 00000000B2F4: 1A303080 v_rsq_f32 v23, v23 // 00000000B2F8: 7E2E5D17 v_mad_f32 v23, v24, v23, 1.0 // 00000000B2FC: D2820017 03CA2F18 v_max_legacy_f32 v23, 0, v23 // 00000000B304: 1C2E2E80 v_mul_legacy_f32 v23, v15, v23 // 00000000B308: 0E2E2F0F v_cmp_nle_f32 vcc, 0, v24 // 00000000B30C: 7C183080 v_mad_f32 v24, v23, v22, v30 // 00000000B310: D2820018 047A2D17 v_mad_f32 v25, v23, v19, v31 // 00000000B318: D2820019 047E2717 v_mad_f32 v26, v23, v20, v32 // 00000000B320: D282001A 04822917 v_cndmask_b32 v27, 0, v33, vcc // 00000000B328: 00364280 buffer_store_dwordx4 v[24:27], v21, s[24:27], 0 offen // 00000000B32C: E0781000 80061815 v_add_i32 v12, vcc, 0x00000400, v12 // 00000000B334: 4A1818FF 00000400 s_branch label_2C98 // 00000000B33C: BF82FFC8 label_2CD0: s_mov_b64 exec, s[16:17] // 00000000B340: BEFE0410 v_mov_b32 v12, 0 // 00000000B344: 7E180280 ds_read2_b32 v[12:13], v12 offset0:37 offset1:6 // 00000000B348: D8DC0625 0C00000C s_waitcnt lgkmcnt(0) // 00000000B350: BF8C007F v_cmp_eq_f32 s[16:17], v12, 0 // 00000000B354: D0040010 0001010C v_cmp_eq_i32 vcc, 0, v13 // 00000000B35C: 7D041A80 s_or_b64 vcc, s[16:17], vcc // wrscc // 00000000B360: 88EA6A10 s_mov_b64 s[16:17], exec // 00000000B364: BE90047E s_andn2_b64 exec, s[16:17], vcc // wrscc // 00000000B368: 8AFE6A10 v_mov_b32 v14, 0 // 00000000B36C: 7E1C0280 s_cbranch_execz label_2D32 // 00000000B370: BF880055 ds_read2_b32 v[15:16], v14 offset1:7 // 00000000B374: D8DC0700 0F00000E ds_read_b32 v14, v14 offset:32 // 00000000B37C: D8D80020 0E00000E s_waitcnt lgkmcnt(1) // 00000000B384: BF8C017F v_cvt_f32_u32 v17, v15 // 00000000B388: 7E220D0F v_cvt_f32_u32 v18, v13 // 00000000B38C: 7E240D0D v_mul_legacy_f32 v12, v12, v17 // 00000000B390: 0E18230C v_rcp_f32 v17, v18 // 00000000B394: 7E225512 v_mul_f32 v12, v12, v17 // 00000000B398: 1018230C s_mov_b64 s[18:19], exec // 00000000B39C: BE92047E v_mov_b32 v17, v8 // 00000000B3A0: 7E220308 label_2CE9: v_cmp_ge_u32 vcc, v17, v15 // 00000000B3A4: 7D8C1F11 s_andn2_b64 exec, exec, vcc // wrscc // 00000000B3A8: 8AFE6A7E s_cbranch_execz label_2D32 // 00000000B3AC: BF880046 v_add_i32 v18, vcc, v3, v17 // 00000000B3B0: 4A242303 s_mov_b64 s[20:21], exec // 00000000B3B4: BE94047E s_mov_b64 s[22:23], exec // 00000000B3B8: BE96047E v_mov_b32 v22, 0 // 00000000B3BC: 7E2C0280 v_mov_b32 v21, 0 // 00000000B3C0: 7E2A0280 v_mov_b32 v30, 0 // 00000000B3C4: 7E3C0280 v_mov_b32 v19, v17 // 00000000B3C8: 7E260311 label_2CF3: v_cmp_ge_u32 s[24:25], v19, v13 // 00000000B3CC: D18C0018 00021B13 s_load_dwordx4 s[28:31], s[0:1], 0x50 // 00000000B3D4: C08E0150 v_lshlrev_b32 v23, 4, v18 // 00000000B3D8: 342E2484 s_waitcnt lgkmcnt(0) // 00000000B3DC: BF8C007F buffer_load_dwordx4 v[24:27], v23, s[28:31], 0 offen // 00000000B3E0: E0381000 80071817 s_and_saveexec_b64 s[24:25], s[24:25] // wrscc // 00000000B3E8: BE982418 s_andn2_b64 s[22:23], s[22:23], exec // wrscc // 00000000B3EC: 8A967E16 s_cbranch_scc0 label_2D24 // 00000000B3F0: BF840027 s_mov_b64 exec, s[22:23] // 00000000B3F4: BEFE0416 s_load_dwordx4 s[24:27], s[0:1], 0x10 // 00000000B3F8: C08C0110 v_add_i32 v23, vcc, v16, v19 // 00000000B3FC: 4A2E2710 v_add_i32 v19, vcc, v15, v19 // 00000000B400: 4A26270F s_waitcnt lgkmcnt(0) // 00000000B404: BF8C007F tbuffer_load_format_x v23, v23, s[24:27], 0 idxen format:[BUF_DATA_FORMAT_32,BUF_NUM_FORMAT_FLOAT] // 00000000B408: EBA02000 80061717 s_waitcnt vmcnt(0) // 00000000B410: BF8C0F70 v_bfe_u32 v27, v23, 0, 16 // 00000000B414: D290001B 02410117 v_add_i32 v27, vcc, v3, v27 // 00000000B41C: 4A363703 v_lshlrev_b32 v27, 4, v27 // 00000000B420: 34363684 v_lshrrev_b32 v23, 16, v23 // 00000000B424: 2C2E2E90 v_cvt_f32_u32 v23, v23 // 00000000B428: 7E2E0D17 v_mul_legacy_f32 v23, v14, v23 // 00000000B42C: 0E2E2F0E buffer_load_dwordx3 v[27:29], v27, s[28:31], 0 offen // 00000000B430: E03C1000 80071B1B s_waitcnt vmcnt(0) // 00000000B438: BF8C0F70 v_subrev_f32 v24, v24, v27 // 00000000B43C: 0A303718 v_subrev_f32 v25, v25, v28 // 00000000B440: 0A323919 v_subrev_f32 v26, v26, v29 // 00000000B444: 0A343B1A v_madak_f32 v27, v24, v24, 0x34000000 // 00000000B448: 42363118 34000000 v_mac_f32 v27, v25, v25 // 00000000B450: 3E363319 v_mac_f32 v27, v26, v26 // 00000000B454: 3E36351A v_rsq_f32 v27, v27 // 00000000B458: 7E365D1B v_mad_legacy_f32 v23, -v23, v27, 1.0 // 00000000B45C: D2800017 23CA3717 v_mad_f32 v24, v24, v23, v30 // 00000000B464: D2820018 047A2F18 v_mad_f32 v25, v25, v23, v21 // 00000000B46C: D2820019 04562F19 v_mad_f32 v26, v26, v23, v22 // 00000000B474: D282001A 045A2F1A v_cmp_lt_f32 vcc, 0, v23 // 00000000B47C: 7C022E80 v_cndmask_b32 v30, v30, v24, vcc // 00000000B480: 003C311E v_cndmask_b32 v21, v21, v25, vcc // 00000000B484: 002A3315 v_cndmask_b32 v22, v22, v26, vcc // 00000000B488: 002C3516 s_branch label_2CF3 // 00000000B48C: BF82FFCF label_2D24: s_mov_b64 exec, s[20:21] // 00000000B490: BEFE0414 s_waitcnt vmcnt(0) // 00000000B494: BF8C0F70 v_mad_f32 v18, v30, v12, v24 // 00000000B498: D2820012 0462191E v_mad_f32 v19, v21, v12, v25 // 00000000B4A0: D2820013 04661915 v_mad_f32 v20, v22, v12, v26 // 00000000B4A8: D2820014 046A1916 v_mov_b32 v21, v27 // 00000000B4B0: 7E2A031B buffer_store_dwordx4 v[18:21], v23, s[28:31], 0 offen // 00000000B4B4: E0781000 80071217 v_add_i32 v17, vcc, 0x00000400, v17 // 00000000B4BC: 4A2222FF 00000400 s_branch label_2CE9 // 00000000B4C4: BF82FFB7 label_2D32: s_mov_b64 exec, s[16:17] // 00000000B4C8: BEFE0410 s_mov_b64 s[16:17], exec // 00000000B4CC: BE90047E s_mov_b64 s[18:19], exec // 00000000B4D0: BE92047E v_mov_b32 v12, 0 // 00000000B4D4: 7E180280 label_2D36: v_mov_b32 v13, 0 // 00000000B4D8: 7E1A0280 ds_read_b32 v13, v13 offset:8 // 00000000B4DC: D8D80008 0D00000D s_waitcnt lgkmcnt(0) // 00000000B4E4: BF8C007F v_cmp_ge_u32 vcc, v12, v13 // 00000000B4E8: 7D8C1B0C s_and_saveexec_b64 s[20:21], vcc // wrscc // 00000000B4EC: BE94246A s_andn2_b64 s[18:19], s[18:19], exec // wrscc // 00000000B4F0: 8A927E12 s_cbranch_scc0 label_2DAC // 00000000B4F4: BF84006E s_and_b64 exec, s[20:21], s[18:19] // wrscc // 00000000B4F8: 87FE1214 v_mov_b32 v13, 0 // 00000000B4FC: 7E1A0280 ds_read2_b32 v[14:15], v13 offset0:3 offset1:4 // 00000000B500: D8DC0403 0E00000D s_load_dwordx4 s[20:23], s[0:1], 0x08 // 00000000B508: C08A0108 s_waitcnt lgkmcnt(0) // 00000000B50C: BF8C007F v_add_i32 v14, vcc, v12, v14 // 00000000B510: 4A1C1D0C tbuffer_load_format_xyzw v[16:19], v14, s[20:23], 0 idxen format:[BUF_DATA_FORMAT_32_32_32_32,BUF_NUM_FORMAT_FLOAT] // 00000000B514: EBF32000 8005100E tbuffer_load_format_xy v[20:21], v14, s[20:23], 0 idxen offset:16 format:[BUF_DATA_FORMAT_32_32,BUF_NUM_FORMAT_FLOAT] // 00000000B51C: EBD92010 8005140E ds_read2_b32 v[22:23], v13 offset0:5 offset1:71 // 00000000B524: D8DC4705 1600000D ds_read_b32 v13, v13 offset:20 // 00000000B52C: D8D80014 0D00000D s_waitcnt vmcnt(1) & lgkmcnt(1) // 00000000B534: BF8C0171 v_mul_legacy_f32 v14, v16, v23 // 00000000B538: 0E1C2F10 v_mul_legacy_f32 v16, v17, v23 // 00000000B53C: 0E202F11 s_waitcnt vmcnt(0) // 00000000B540: BF8C0F70 v_add_i32 v15, vcc, v15, v20 // 00000000B544: 4A1E290F s_waitcnt lgkmcnt(0) // 00000000B548: BF8C007F v_add_i32 v13, vcc, v13, v20 // 00000000B54C: 4A1A290D s_barrier // 00000000B550: BF8A0000 s_mov_b64 s[20:21], exec // 00000000B554: BE94047E v_mov_b32 v17, v8 // 00000000B558: 7E220308 label_2D57: v_cmp_ge_u32 vcc, v17, v21 // 00000000B55C: 7D8C2B11 s_andn2_b64 exec, exec, vcc // wrscc // 00000000B560: 8AFE6A7E s_cbranch_execz label_2DA9 // 00000000B564: BF88004F s_load_dwordx4 s[24:27], s[0:1], 0x0c // 00000000B568: C08C010C s_load_dwordx4 s[28:31], s[0:1], 0x50 // 00000000B56C: C08E0150 s_load_dwordx4 s[32:35], s[0:1], 0x3c // 00000000B570: C090013C v_add_i32 v20, vcc, v15, v17 // 00000000B574: 4A28230F s_mov_b32 s3, 0x34000000 // 00000000B578: BE8303FF 34000000 v_exp_f32 v24, v16 // 00000000B580: 7E304B10 v_sub_f32 v24, 1.0, v24 // 00000000B584: 083030F2 v_add_i32 v25, vcc, v13, v17 // 00000000B588: 4A32230D v_exp_f32 v26, v14 // 00000000B58C: 7E344B0E v_sub_f32 v26, 1.0, v26 // 00000000B590: 083434F2 v_cmp_ne_i32 s[22:23], v22, -1 // 00000000B594: D10A0016 00018316 v_add_i32 v17, vcc, 0x00000400, v17 // 00000000B59C: 4A2222FF 00000400 s_waitcnt lgkmcnt(0) // 00000000B5A4: BF8C007F tbuffer_load_format_xy v[27:28], v20, s[24:27], 0 idxen format:[BUF_DATA_FORMAT_32_32,BUF_NUM_FORMAT_FLOAT] // 00000000B5A8: EBD92000 80061B14 tbuffer_load_format_x v20, v25, s[32:35], 0 idxen format:[BUF_DATA_FORMAT_32,BUF_NUM_FORMAT_FLOAT] // 00000000B5B0: EBA02000 80081419 s_waitcnt vmcnt(1) // 00000000B5B8: BF8C0F71 v_bfe_u32 v25, v28, 0, 16 // 00000000B5BC: D2900019 0241011C v_add_i32 v25, vcc, v3, v25 // 00000000B5C4: 4A323303 v_lshlrev_b32 v25, 4, v25 // 00000000B5C8: 34323284 v_lshrrev_b32 v28, 16, v28 // 00000000B5CC: 2C383890 v_add_i32 v28, vcc, v3, v28 // 00000000B5D0: 4A383903 v_lshlrev_b32 v28, 4, v28 // 00000000B5D4: 34383884 v_cmp_lt_f32 vcc, s3, v27 // 00000000B5D8: 7C023603 s_waitcnt vmcnt(0) // 00000000B5DC: BF8C0F70 v_mul_legacy_f32 v20, v23, v20 // 00000000B5E0: 0E282917 v_exp_f32 v20, v20 // 00000000B5E4: 7E284B14 v_sub_f32 v20, 1.0, v20 // 00000000B5E8: 082828F2 v_cndmask_b32 v20, v26, v20, s[22:23] // 00000000B5EC: D2000014 005A291A buffer_load_dwordx4 v[29:32], v25, s[28:31], 0 offen // 00000000B5F4: E0381000 80071D19 buffer_load_dwordx4 v[33:36], v28, s[28:31], 0 offen // 00000000B5FC: E0381000 8007211C s_waitcnt vmcnt(0) // 00000000B604: BF8C0F70 v_subrev_f32 v26, v29, v33 // 00000000B608: 0A34431D v_subrev_f32 v37, v30, v34 // 00000000B60C: 0A4A451E v_subrev_f32 v38, v31, v35 // 00000000B610: 0A4C471F v_madak_f32 v39, v26, v26, 0x34000000 // 00000000B614: 424E351A 34000000 v_mac_f32 v39, v37, v37 // 00000000B61C: 3E4E4B25 v_mac_f32 v39, v38, v38 // 00000000B620: 3E4E4D26 v_rsq_f32 v39, v39 // 00000000B624: 7E4E5D27 v_mad_f32 v27, v27, v39, -1.0 // 00000000B628: D282001B 03CE4F1B v_cndmask_b32 v27, 0, v27, vcc // 00000000B630: 00363680 v_min_legacy_f32 v39, v19, -v27 // 00000000B634: D21A0027 40023713 v_max_legacy_f32 v39, v18, v39 // 00000000B63C: 1C4E4F12 v_mac_f32 v27, v24, v39 // 00000000B640: 3E364F18 v_mul_legacy_f32 v20, v27, v20 // 00000000B644: 0E28291B v_add_f32 v24, 0x34000000, v32 // 00000000B648: 063040FF 34000000 v_add_f32 v24, v36, v24 // 00000000B650: 06303124 v_rcp_f32 v24, v24 // 00000000B654: 7E305518 v_mul_f32 v20, v20, v24 // 00000000B658: 10283114 v_mul_legacy_f32 v24, -v32, v20 // 00000000B65C: D20E0018 20022920 v_mac_f32 v29, v24, v26 // 00000000B664: 3E3A3518 v_mac_f32 v30, v24, v37 // 00000000B668: 3E3C4B18 v_mac_f32 v31, v24, v38 // 00000000B66C: 3E3E4D18 buffer_store_dwordx4 v[29:32], v25, s[28:31], 0 offen // 00000000B670: E0781000 80071D19 v_mul_legacy_f32 v20, v36, v20 // 00000000B678: 0E282924 v_mad_f32 v24, v20, v26, v33 // 00000000B67C: D2820018 04863514 v_mad_f32 v25, v20, v37, v34 // 00000000B684: D2820019 048A4B14 v_mad_f32 v26, v20, v38, v35 // 00000000B68C: D282001A 048E4D14 v_mov_b32 v27, v36 // 00000000B694: 7E360324 buffer_store_dwordx4 v[24:27], v28, s[28:31], 0 offen // 00000000B698: E0781000 8007181C s_branch label_2D57 // 00000000B6A0: BF82FFAE label_2DA9: s_mov_b64 exec, s[20:21] // 00000000B6A4: BEFE0414 v_add_i32 v12, vcc, 1, v12 // 00000000B6A8: 4A181881 s_branch label_2D36 // 00000000B6AC: BF82FF8A label_2DAC: s_mov_b64 exec, s[16:17] // 00000000B6B0: BEFE0410 s_waitcnt vmcnt(0) // 00000000B6B4: BF8C0F70 s_barrier // 00000000B6B8: BF8A0000 v_mov_b32 v12, 0 // 00000000B6BC: 7E180280 ds_read_b32 v12, v12 offset:212 // 00000000B6C0: D8D800D4 0C00000C s_waitcnt lgkmcnt(0) // 00000000B6C8: BF8C007F v_cmp_ne_i32 vcc, -1, v12 // 00000000B6CC: 7D0A18C1 s_and_saveexec_b64 s[16:17], vcc // wrscc // 00000000B6D0: BE90246A v_mov_b32 v13, 0 // 00000000B6D4: 7E1A0280 s_cbranch_execz label_2DF0 // 00000000B6D8: BF880039 ds_read2_b32 v[13:14], v13 offset1:54 // 00000000B6DC: D8DC3600 0D00000D s_mov_b64 s[18:19], exec // 00000000B6E4: BE92047E v_mov_b32 v15, v8 // 00000000B6E8: 7E1E0308 label_2DBB: s_waitcnt lgkmcnt(0) // 00000000B6EC: BF8C007F v_cmp_ge_u32 vcc, v15, v13 // 00000000B6F0: 7D8C1B0F s_andn2_b64 exec, exec, vcc // wrscc // 00000000B6F4: 8AFE6A7E s_cbranch_execz label_2DEE // 00000000B6F8: BF88002F s_load_dwordx4 s[20:23], s[0:1], 0x2c // 00000000B6FC: C08A012C s_load_dwordx4 s[24:27], s[0:1], 0x50 // 00000000B700: C08C0150 v_add_i32 v16, vcc, v12, v15 // 00000000B704: 4A201F0C v_add_i32 v17, vcc, v14, v15 // 00000000B708: 4A221F0E v_add_i32 v18, vcc, v3, v15 // 00000000B70C: 4A241F03 v_lshlrev_b32 v18, 4, v18 // 00000000B710: 34242484 s_waitcnt lgkmcnt(0) // 00000000B714: BF8C007F tbuffer_load_format_xyzw v[19:22], v16, s[20:23], 0 idxen format:[BUF_DATA_FORMAT_32_32_32_32,BUF_NUM_FORMAT_FLOAT] // 00000000B718: EBF32000 80051310 tbuffer_load_format_xyzw v[23:26], v17, s[20:23], 0 idxen format:[BUF_DATA_FORMAT_32_32_32_32,BUF_NUM_FORMAT_FLOAT] // 00000000B720: EBF32000 80051711 buffer_load_dwordx4 v[27:30], v18, s[24:27], 0 offen // 00000000B728: E0381000 80061B12 s_waitcnt vmcnt(1) // 00000000B730: BF8C0F71 v_subrev_f32 v16, v21, v25 // 00000000B734: 0A203315 v_subrev_f32 v17, v20, v24 // 00000000B738: 0A223114 v_mac_f32 v21, v16, v10 // 00000000B73C: 3E2A1510 v_subrev_f32 v16, v19, v23 // 00000000B740: 0A202F13 v_mac_f32 v20, v17, v10 // 00000000B744: 3E281511 s_waitcnt vmcnt(0) // 00000000B748: BF8C0F70 v_sub_f32 v17, v21, v29 // 00000000B74C: 08223B15 v_mac_f32 v19, v16, v10 // 00000000B750: 3E261510 v_sub_f32 v16, v20, v28 // 00000000B754: 08203914 v_mul_legacy_f32 v20, v17, v17 // 00000000B758: 0E282311 v_sub_f32 v19, v19, v27 // 00000000B75C: 08263713 v_mac_f32 v20, v16, v16 // 00000000B760: 3E282110 v_mac_f32 v20, v19, v19 // 00000000B764: 3E282713 v_subrev_f32 v21, v22, v26 // 00000000B768: 0A2A3516 v_add_f32 v20, 0x34000000, v20 // 00000000B76C: 062828FF 34000000 v_mac_f32 v22, v21, v10 // 00000000B774: 3E2C1515 v_rsq_f32 v20, v20 // 00000000B778: 7E285D14 v_mad_legacy_f32 v20, -v22, v20, 1.0 // 00000000B77C: D2800014 23CA2916 v_min_legacy_f32 v20, 0, v20 // 00000000B784: 1A282880 v_mad_f32 v21, v20, v19, v27 // 00000000B788: D2820015 046E2714 v_mad_f32 v22, v20, v16, v28 // 00000000B790: D2820016 04722114 v_mad_f32 v23, v20, v17, v29 // 00000000B798: D2820017 04762314 v_mov_b32 v24, v30 // 00000000B7A0: 7E30031E buffer_store_dwordx4 v[21:24], v18, s[24:27], 0 offen // 00000000B7A4: E0781000 80061512 v_add_i32 v15, vcc, 0x00000400, v15 // 00000000B7AC: 4A1E1EFF 00000400 s_branch label_2DBB // 00000000B7B4: BF82FFCD label_2DEE: s_waitcnt vmcnt(0) // 00000000B7B8: BF8C0F70 s_barrier // 00000000B7BC: BF8A0000 label_2DF0: s_and_b64 exec, s[16:17], s[8:9] // wrscc // 00000000B7C0: 87FE0810 v_mov_b32 v12, 0 // 00000000B7C4: 7E180280 s_cbranch_execz label_2E24 // 00000000B7C8: BF880031 ds_read_b32 v12, v12 // 00000000B7CC: D8D80000 0C00000C s_waitcnt lgkmcnt(0) // 00000000B7D4: BF8C007F v_add_i32 v13, vcc, -1, v12 // 00000000B7D8: 4A1A18C1 s_load_dwordx4 s[20:23], s[0:1], 0x50 // 00000000B7DC: C08A0150 v_min_u32 v13, v0, v13 // 00000000B7E0: 261A1B00 v_add_i32 v14, vcc, v3, v13 // 00000000B7E4: 4A1C1B03 v_lshrrev_b32 v15, 6, v8 // 00000000B7E8: 2C1E1086 v_lshlrev_b32 v14, 4, v14 // 00000000B7EC: 341C1C84 tbuffer_load_format_xyzw v[15:18], v15, s[4:7], 0 idxen format:[BUF_DATA_FORMAT_32_32_32_32,BUF_NUM_FORMAT_FLOAT] // 00000000B7F0: EBF32000 80010F0F s_waitcnt lgkmcnt(0) // 00000000B7F8: BF8C007F buffer_load_dwordx4 v[19:22], v14, s[20:23], 0 offen // 00000000B7FC: E0381000 8005130E s_waitcnt vmcnt(0) // 00000000B804: BF8C0F70 v_mul_legacy_f32 v14, v22, v18 // 00000000B808: 0E1C2516 v_mac_f32 v14, v21, v17 // 00000000B80C: 3E1C2315 v_mac_f32 v14, v20, v16 // 00000000B810: 3E1C2114 v_and_b32 v20, 32, v8 // 00000000B814: 362810A0 v_mac_f32 v14, v19, v15 // 00000000B818: 3E1C1F13 v_cmp_ne_i32 s[18:19], v20, 0 // 00000000B81C: D10A0012 00010114 v_cndmask_b32 v14, v14, -v14, s[18:19] // 00000000B824: D200000E 404A1D0E ds_write_b32 v6, v14 offset:31912 // 00000000B82C: D8347CA8 00000E06 s_mov_b64 s[24:25], exec // 00000000B834: BE98047E label_2E0E: v_add_i32 v13, vcc, 32, v13 // 00000000B838: 4A1A1AA0 v_cmp_ge_u32 vcc, v13, v12 // 00000000B83C: 7D8C190D s_andn2_b64 exec, exec, vcc // wrscc // 00000000B840: 8AFE6A7E s_cbranch_execz label_2E24 // 00000000B844: BF880012 v_add_i32 v14, vcc, v3, v13 // 00000000B848: 4A1C1B03 v_lshlrev_b32 v14, 4, v14 // 00000000B84C: 341C1C84 buffer_load_dwordx4 v[19:22], v14, s[20:23], 0 offen // 00000000B850: E0381000 8005130E ds_read_b32 v14, v6 offset:31912 // 00000000B858: D8D87CA8 0E000006 s_waitcnt vmcnt(0) // 00000000B860: BF8C0F70 v_mul_legacy_f32 v22, v18, v22 // 00000000B864: 0E2C2D12 v_mac_f32 v22, v21, v17 // 00000000B868: 3E2C2315 v_mac_f32 v22, v20, v16 // 00000000B86C: 3E2C2114 v_mac_f32 v22, v19, v15 // 00000000B870: 3E2C1F13 v_cndmask_b32 v19, v22, -v22, s[18:19] // 00000000B874: D2000013 404A2D16 s_waitcnt lgkmcnt(0) // 00000000B87C: BF8C007F v_max_legacy_f32 v14, v14, v19 // 00000000B880: 1C1C270E ds_write_b32 v6, v14 offset:31912 // 00000000B884: D8347CA8 00000E06 s_branch label_2E0E // 00000000B88C: BF82FFEA label_2E24: s_mov_b64 exec, s[16:17] // 00000000B890: BEFE0410 s_waitcnt lgkmcnt(0) // 00000000B894: BF8C007F s_barrier // 00000000B898: BF8A0000 s_movk_i32 s3, 0x00b0 // 00000000B89C: B00300B0 v_cmp_lt_u32 s[18:19], v8, s3 // 00000000B8A0: D1820012 00000708 s_and_b64 exec, s[16:17], s[18:19] // wrscc // 00000000B8A8: 87FE1210 v_add_i32 v12, vcc, 0x00007ca8, v6 // 00000000B8AC: 4A180CFF 00007CA8 ds_read2_b32 v[12:13], v12 offset1:16 // 00000000B8B4: D8DC1000 0C00000C s_waitcnt lgkmcnt(0) // 00000000B8BC: BF8C007F v_max_legacy_f32 v12, v12, v13 // 00000000B8C0: 1C181B0C ds_write_b32 v6, v12 offset:31912 // 00000000B8C4: D8347CA8 00000C06 s_waitcnt lgkmcnt(0) // 00000000B8CC: BF8C007F s_barrier // 00000000B8D0: BF8A0000 s_and_b64 exec, s[16:17], s[18:19] // wrscc // 00000000B8D4: 87FE1210 v_add_i32 v12, vcc, 0x00007ca8, v6 // 00000000B8D8: 4A180CFF 00007CA8 ds_read2_b32 v[12:13], v12 offset1:8 // 00000000B8E0: D8DC0800 0C00000C s_waitcnt lgkmcnt(0) // 00000000B8E8: BF8C007F v_max_legacy_f32 v12, v12, v13 // 00000000B8EC: 1C181B0C ds_write_b32 v6, v12 offset:31912 // 00000000B8F0: D8347CA8 00000C06 s_waitcnt lgkmcnt(0) // 00000000B8F8: BF8C007F s_barrier // 00000000B8FC: BF8A0000 s_and_b64 exec, s[16:17], s[18:19] // wrscc // 00000000B900: 87FE1210 v_add_i32 v12, vcc, 0x00007ca8, v6 // 00000000B904: 4A180CFF 00007CA8 ds_read2_b32 v[12:13], v12 offset1:4 // 00000000B90C: D8DC0400 0C00000C s_waitcnt lgkmcnt(0) // 00000000B914: BF8C007F v_max_legacy_f32 v12, v12, v13 // 00000000B918: 1C181B0C ds_write_b32 v6, v12 offset:31912 // 00000000B91C: D8347CA8 00000C06 s_waitcnt lgkmcnt(0) // 00000000B924: BF8C007F s_barrier // 00000000B928: BF8A0000 s_and_b64 exec, s[16:17], s[18:19] // wrscc // 00000000B92C: 87FE1210 v_add_i32 v12, vcc, 0x00007ca8, v6 // 00000000B930: 4A180CFF 00007CA8 ds_read2_b32 v[12:13], v12 offset1:2 // 00000000B938: D8DC0200 0C00000C s_waitcnt lgkmcnt(0) // 00000000B940: BF8C007F v_max_legacy_f32 v12, v12, v13 // 00000000B944: 1C181B0C ds_write_b32 v6, v12 offset:31912 // 00000000B948: D8347CA8 00000C06 s_waitcnt lgkmcnt(0) // 00000000B950: BF8C007F s_barrier // 00000000B954: BF8A0000 s_and_b64 exec, s[16:17], s[18:19] // wrscc // 00000000B958: 87FE1210 v_add_i32 v12, vcc, 0x00007ca8, v6 // 00000000B95C: 4A180CFF 00007CA8 ds_read2_b32 v[12:13], v12 offset1:1 // 00000000B964: D8DC0100 0C00000C s_waitcnt lgkmcnt(0) // 00000000B96C: BF8C007F v_max_legacy_f32 v12, v12, v13 // 00000000B970: 1C181B0C ds_write_b32 v6, v12 offset:31912 // 00000000B974: D8347CA8 00000C06 s_waitcnt lgkmcnt(0) // 00000000B97C: BF8C007F s_barrier // 00000000B980: BF8A0000 s_and_b64 exec, s[16:17], s[10:11] // wrscc // 00000000B984: 87FE0A10 ds_read_b32 v12, v6 offset:31912 // 00000000B988: D8D87CA8 0C000006 v_lshlrev_b32 v13, 2, v2 // 00000000B990: 341A0482 s_waitcnt lgkmcnt(0) // 00000000B994: BF8C007F ds_write_b32 v13, v12 offset:252 // 00000000B998: D83400FC 00000C0D s_mov_b64 exec, s[16:17] // 00000000B9A0: BEFE0410 s_waitcnt lgkmcnt(0) // 00000000B9A4: BF8C007F s_barrier // 00000000B9A8: BF8A0000 v_mov_b32 v12, 0 // 00000000B9AC: 7E180280 ds_read2_b32 v[12:13], v12 offset0:36 offset1:17 // 00000000B9B0: D8DC1124 0C00000C s_waitcnt lgkmcnt(0) // 00000000B9B8: BF8C007F v_cvt_f32_u32 v12, v12 // 00000000B9BC: 7E180D0C v_rcp_f32 v12, v12 // 00000000B9C0: 7E18550C v_mul_f32 v11, v11, v12 // 00000000B9C4: 1016190B buffer_store_dword v11, v0, s[92:95], s96 offset:24 // 00000000B9C8: E0700018 60170B00 v_cmp_ne_u32 vcc, 0, v13 // 00000000B9D0: 7D8A1A80 s_and_saveexec_b64 s[16:17], vcc // wrscc // 00000000B9D4: BE90246A v_mov_b32 v12, 0 // 00000000B9D8: 7E180280 s_cbranch_execz label_2F32 // 00000000B9DC: BF8800BA ds_read2_b32 v[14:15], v12 offset0:23 // 00000000B9E0: D8DC0017 0E00000C ds_read2_b32 v[16:17], v12 offset0:18 offset1:58 // 00000000B9E8: D8DC3A12 1000000C ds_read_b32 v12, v12 offset:236 // 00000000B9F0: D8D800EC 0C00000C s_mov_b64 s[18:19], exec // 00000000B9F8: BE92047E v_mov_b32 v18, v8 // 00000000B9FC: 7E240308 label_2E80: s_waitcnt lgkmcnt(2) // 00000000BA00: BF8C027F v_cmp_ge_u32 vcc, v18, v15 // 00000000BA04: 7D8C1F12 s_andn2_b64 exec, exec, vcc // wrscc // 00000000BA08: 8AFE6A7E s_cbranch_execz label_2F32 // 00000000BA0C: BF8800AE v_add_i32 v19, vcc, v3, v18 // 00000000BA10: 4A262503 s_mov_b64 s[20:21], exec // 00000000BA14: BE94047E s_mov_b64 s[22:23], exec // 00000000BA18: BE96047E v_mov_b32 v22, 0 // 00000000BA1C: 7E2C0280 v_mov_b32 v24, 0 // 00000000BA20: 7E300280 v_mov_b32 v20, 0 // 00000000BA24: 7E280280 v_mov_b32 v62, 0 // 00000000BA28: 7E7C0280 v_mov_b32 v23, 0 // 00000000BA2C: 7E2E0280 v_mov_b32 v21, 0 // 00000000BA30: 7E2A0280 label_2E8D: v_cmp_ge_u32 s[24:25], v20, v13 // 00000000BA34: D18C0018 00021B14 s_load_dwordx4 s[28:31], s[0:1], 0x50 // 00000000BA3C: C08E0150 v_lshlrev_b32 v25, 4, v19 // 00000000BA40: 34322684 s_waitcnt lgkmcnt(0) // 00000000BA44: BF8C007F buffer_load_dwordx4 v[26:29], v25, s[28:31], 0 offen // 00000000BA48: E0381000 80071A19 s_and_saveexec_b64 s[24:25], s[24:25] // wrscc // 00000000BA50: BE982418 s_andn2_b64 s[22:23], s[22:23], exec // wrscc // 00000000BA54: 8A967E16 s_cbranch_scc0 label_2EEC // 00000000BA58: BF840055 s_and_b64 exec, s[24:25], s[22:23] // wrscc // 00000000BA5C: 87FE1618 s_load_dwordx8 s[24:31], s[0:1], 0x1c // 00000000BA60: C0CC011C v_add_i32 v25, vcc, v16, v20 // 00000000BA64: 4A322910 s_waitcnt lgkmcnt(0) // 00000000BA68: BF8C007F tbuffer_load_format_x v25, v25, s[24:27], 0 idxen format:[BUF_DATA_FORMAT_32,BUF_NUM_FORMAT_FLOAT] // 00000000BA6C: EBA02000 80061919 s_waitcnt vmcnt(0) // 00000000BA74: BF8C0F70 v_ffbl_b32 v29, v25 // 00000000BA78: 7E3A7519 v_add_i32 v30, vcc, v17, v29 // 00000000BA7C: 4A3C3B11 v_add_i32 v29, vcc, v12, v29 // 00000000BA80: 4A3A3B0C tbuffer_load_format_xyzw v[31:34], v29, s[28:31], 0 idxen format:[BUF_DATA_FORMAT_32_32_32_32,BUF_NUM_FORMAT_FLOAT] // 00000000BA84: EBF32000 80071F1D tbuffer_load_format_xyzw v[35:38], v30, s[28:31], 0 idxen format:[BUF_DATA_FORMAT_32_32_32_32,BUF_NUM_FORMAT_FLOAT] // 00000000BA8C: EBF32000 8007231E s_waitcnt vmcnt(0) // 00000000BA94: BF8C0F70 v_subrev_f32 v29, v37, v33 // 00000000BA98: 0A3A4325 v_subrev_f32 v30, v36, v32 // 00000000BA9C: 0A3C4124 v_mac_f32 v37, v10, v29 // 00000000BAA0: 3E4A3B0A v_subrev_f32 v29, v35, v31 // 00000000BAA4: 0A3A3F23 v_mac_f32 v36, v10, v30 // 00000000BAA8: 3E483D0A v_mul_legacy_f32 v30, v28, v37 // 00000000BAAC: 0E3C4B1C v_subrev_f32 v31, v38, v34 // 00000000BAB0: 0A3E4526 v_mac_f32 v35, v10, v29 // 00000000BAB4: 3E463B0A v_mac_f32 v30, v27, v36 // 00000000BAB8: 3E3C491B v_mac_f32 v38, v10, v31 // 00000000BABC: 3E4C3F0A v_mac_f32 v30, v26, v35 // 00000000BAC0: 3E3C471A v_add_f32 v31, v38, v30 // 00000000BAC4: 063E3D26 s_mov_b64 s[24:25], exec // 00000000BAC8: BE98047E s_mov_b64 s[26:27], exec // 00000000BACC: BE9A047E v_mov_b32 v29, v36 // 00000000BAD0: 7E3A0324 v_mov_b32 v30, v37 // 00000000BAD4: 7E3C0325 v_mov_b32 v32, v25 // 00000000BAD8: 7E400319 v_mov_b32 v25, v35 // 00000000BADC: 7E320323 label_2EB8: v_add_i32 v33, vcc, -1, v32 // 00000000BAE0: 4A4240C1 v_and_b32 v32, v32, v33 // 00000000BAE4: 36404320 v_cmp_lt_f32 s[32:33], v31, 0 // 00000000BAE8: D0020020 0001011F v_cmp_ne_i32 vcc, 0, v32 // 00000000BAF0: 7D0A4080 s_and_b64 s[32:33], s[32:33], vcc // wrscc // 00000000BAF4: 87A06A20 s_mov_b64 vcc, exec // 00000000BAF8: BEEA047E s_andn2_b64 exec, vcc, s[32:33] // wrscc // 00000000BAFC: 8AFE206A s_andn2_b64 s[26:27], s[26:27], exec // wrscc // 00000000BB00: 8A9A7E1A s_cbranch_scc0 label_2EDD // 00000000BB04: BF84001B s_mov_b64 exec, s[26:27] // 00000000BB08: BEFE041A v_ffbl_b32 v33, v32 // 00000000BB0C: 7E427520 v_add_i32 v34, vcc, v17, v33 // 00000000BB10: 4A444311 v_add_i32 v33, vcc, v12, v33 // 00000000BB14: 4A42430C tbuffer_load_format_xyzw v[35:38], v33, s[28:31], 0 idxen format:[BUF_DATA_FORMAT_32_32_32_32,BUF_NUM_FORMAT_FLOAT] // 00000000BB18: EBF32000 80072321 tbuffer_load_format_xyzw v[39:42], v34, s[28:31], 0 idxen format:[BUF_DATA_FORMAT_32_32_32_32,BUF_NUM_FORMAT_FLOAT] // 00000000BB20: EBF32000 80072722 s_waitcnt vmcnt(0) // 00000000BB28: BF8C0F70 v_subrev_f32 v33, v39, v35 // 00000000BB2C: 0A424727 v_subrev_f32 v34, v40, v36 // 00000000BB30: 0A444928 v_subrev_f32 v35, v41, v37 // 00000000BB34: 0A464B29 v_subrev_f32 v36, v42, v38 // 00000000BB38: 0A484D2A v_mac_f32 v39, v10, v33 // 00000000BB3C: 3E4E430A v_mac_f32 v40, v10, v34 // 00000000BB40: 3E50450A v_mac_f32 v41, v10, v35 // 00000000BB44: 3E52470A v_mac_f32 v42, v10, v36 // 00000000BB48: 3E54490A v_mul_legacy_f32 v33, v28, v41 // 00000000BB4C: 0E42531C v_mac_f32 v33, v27, v40 // 00000000BB50: 3E42511B v_mac_f32 v33, v26, v39 // 00000000BB54: 3E424F1A v_add_f32 v33, v42, v33 // 00000000BB58: 0642432A v_cmp_gt_f32 vcc, v33, v31 // 00000000BB5C: 7C083F21 v_cndmask_b32 v25, v25, v39, vcc // 00000000BB60: 00324F19 v_cndmask_b32 v29, v29, v40, vcc // 00000000BB64: 003A511D v_cndmask_b32 v30, v30, v41, vcc // 00000000BB68: 003C531E v_cndmask_b32 v31, v31, v33, vcc // 00000000BB6C: 003E431F s_branch label_2EB8 // 00000000BB70: BF82FFDB label_2EDD: s_mov_b64 exec, s[24:25] // 00000000BB74: BEFE0418 v_mad_legacy_f32 v25, -v25, v31, v21 // 00000000BB78: D2800019 24563F19 v_mad_legacy_f32 v26, -v29, v31, v22 // 00000000BB80: D280001A 245A3F1D v_mad_legacy_f32 v27, -v30, v31, v23 // 00000000BB88: D280001B 245E3F1E v_cmp_gt_f32 vcc, 0, v31 // 00000000BB90: 7C083E80 v_cndmask_b32 v21, v21, v25, vcc // 00000000BB94: 002A3315 v_cndmask_b32 v22, v22, v26, vcc // 00000000BB98: 002C3516 v_cndmask_b32 v23, v23, v27, vcc // 00000000BB9C: 002E3717 v_addc_u32 v24, vcc, v24, 0, vcc // 00000000BBA0: D2506A18 01A90118 v_add_i32 v20, vcc, 1, v20 // 00000000BBA8: 4A282881 s_branch label_2E8D // 00000000BBAC: BF82FFA1 label_2EEC: s_mov_b64 exec, s[20:21] // 00000000BBB0: BEFE0414 v_cmp_ne_u32 vcc, 0, v24 // 00000000BBB4: 7D8A3080 s_and_saveexec_b64 s[20:21], vcc // wrscc // 00000000BBB8: BE94246A v_cvt_f32_u32 v19, v24 // 00000000BBBC: 7E260D18 s_cbranch_execz label_2F2E // 00000000BBC0: BF88003D v_rcp_f32 v19, v19 // 00000000BBC4: 7E265513 v_cmp_lt_f32 vcc, 0, v14 // 00000000BBC8: 7C021C80 s_and_saveexec_b64 s[22:23], vcc // wrscc // 00000000BBCC: BE96246A v_add_i32 v20, vcc, v7, v18 // 00000000BBD0: 4A282507 s_cbranch_execz label_2F23 // 00000000BBD4: BF88002D v_lshlrev_b32 v20, 4, v20 // 00000000BBD8: 34282884 buffer_load_dwordx4 v[30:33], v20, s[28:31], 0 offen // 00000000BBDC: E0381000 80071E14 v_mul_legacy_f32 v24, v23, v23 // 00000000BBE4: 0E302F17 v_mac_f32 v24, v22, v22 // 00000000BBE8: 3E302D16 v_mac_f32 v24, v21, v21 // 00000000BBEC: 3E302B15 v_add_f32 v34, 0x34000000, v24 // 00000000BBF0: 064430FF 34000000 v_rsq_f32 v34, v34 // 00000000BBF8: 7E445D22 v_mul_legacy_f32 v35, v23, v34 // 00000000BBFC: 0E464517 s_waitcnt vmcnt(0) // 00000000BC00: BF8C0F70 v_sub_f32 v36, v28, v32 // 00000000BC04: 0848411C v_mul_legacy_f32 v37, v22, v34 // 00000000BC08: 0E4A4516 v_sub_f32 v38, v27, v31 // 00000000BC0C: 084C3F1B v_mul_legacy_f32 v39, v35, v36 // 00000000BC10: 0E4E4923 v_mul_legacy_f32 v40, v21, v34 // 00000000BC14: 0E504515 v_sub_f32 v41, v26, v30 // 00000000BC18: 08523D1A v_mac_f32 v39, v38, v37 // 00000000BC1C: 3E4E4B26 v_mac_f32 v39, v41, v40 // 00000000BC20: 3E4E5129 v_mad_legacy_f32 v36, -v39, v35, v36 // 00000000BC24: D2800024 24924727 v_mad_legacy_f32 v38, -v39, v37, v38 // 00000000BC2C: D2800026 249A4B27 v_mul_legacy_f32 v35, v36, v36 // 00000000BC34: 0E464924 v_mad_legacy_f32 v41, -v39, v40, v41 // 00000000BC38: D2800029 24A65127 v_mac_f32 v35, v38, v38 // 00000000BC40: 3E464D26 v_mac_f32 v35, v41, v41 // 00000000BC44: 3E465329 v_mul_legacy_f32 v24, -v14, v24 // 00000000BC48: D20E0018 2002310E v_mul_legacy_f32 v24, v34, v24 // 00000000BC50: 0E303122 v_add_f32 v34, 0x34000000, v35 // 00000000BC54: 064446FF 34000000 v_mul_legacy_f32 v24, v19, v24 // 00000000BC5C: 0E303113 v_rsq_f32 v34, v34 // 00000000BC60: 7E445D22 v_mul_legacy_f32 v24, v34, v24 // 00000000BC64: 0E303122 v_max_legacy_f32 v24, -1.0, v24 // 00000000BC68: 1C3030F3 v_mad_legacy_f32 v30, -v41, v24, v30 // 00000000BC6C: D280001E 247A3129 v_mad_legacy_f32 v31, -v38, v24, v31 // 00000000BC74: D280001F 247E3126 v_mad_legacy_f32 v32, -v36, v24, v32 // 00000000BC7C: D2800020 24823124 buffer_store_dwordx4 v[30:33], v20, s[28:31], 0 offen // 00000000BC84: E0781000 80071E14 label_2F23: s_mov_b64 exec, s[22:23] // 00000000BC8C: BEFE0416 s_waitcnt vmcnt(0) // 00000000BC90: BF8C0F70 v_mad_f32 v20, v21, v19, v26 // 00000000BC94: D2820014 046A2715 v_mad_f32 v21, v22, v19, v27 // 00000000BC9C: D2820015 046E2716 v_mad_f32 v22, v23, v19, v28 // 00000000BCA4: D2820016 04722717 v_mov_b32 v23, v29 // 00000000BCAC: 7E2E031D buffer_store_dwordx4 v[20:23], v25, s[28:31], 0 offen // 00000000BCB0: E0781000 80071419 label_2F2E: s_mov_b64 exec, s[20:21] // 00000000BCB8: BEFE0414 v_add_i32 v18, vcc, 0x00000400, v18 // 00000000BCBC: 4A2424FF 00000400 s_branch label_2E80 // 00000000BCC4: BF82FF4E label_2F32: s_mov_b64 exec, s[16:17] // 00000000BCC8: BEFE0410 s_waitcnt lgkmcnt(0) // 00000000BCCC: BF8C007F v_mov_b32 v12, 0 // 00000000BCD0: 7E180280 ds_read_b32 v12, v12 offset:76 // 00000000BCD4: D8D8004C 0C00000C s_waitcnt lgkmcnt(0) // 00000000BCDC: BF8C007F v_cmp_ne_u32 vcc, 0, v12 // 00000000BCE0: 7D8A1880 s_and_b64 exec, s[16:17], vcc // wrscc // 00000000BCE4: 87FE6A10 s_cbranch_execz label_3001 // 00000000BCE8: BF8800C6 s_waitcnt vmcnt(0) // 00000000BCEC: BF8C0F70 s_barrier // 00000000BCF0: BF8A0000 v_mov_b32 v12, 0 // 00000000BCF4: 7E180280 ds_read2_b32 v[13:14], v12 offset1:19 // 00000000BCF8: D8DC1300 0D00000C ds_read2_b32 v[15:16], v12 offset0:60 offset1:61 // 00000000BD00: D8DC3D3C 0F00000C s_mov_b64 s[18:19], exec // 00000000BD08: BE92047E v_mov_b32 v12, v8 // 00000000BD0C: 7E180308 label_2F44: s_waitcnt lgkmcnt(1) // 00000000BD10: BF8C017F v_cmp_ge_u32 vcc, v12, v13 // 00000000BD14: 7D8C1B0C s_andn2_b64 exec, exec, vcc // wrscc // 00000000BD18: 8AFE6A7E s_cbranch_execz label_2FFF // 00000000BD1C: BF8800B7 v_add_i32 v17, vcc, v3, v12 // 00000000BD20: 4A221903 s_mov_b64 s[20:21], exec // 00000000BD24: BE94047E s_mov_b64 s[22:23], exec // 00000000BD28: BE96047E v_mov_b32 v21, 0 // 00000000BD2C: 7E2A0280 v_mov_b32 v24, 0x7f7fffff // 00000000BD30: 7E3002FF 7F7FFFFF v_mov_b32 v18, 0 // 00000000BD38: 7E240280 v_mov_b32 v23, 0 // 00000000BD3C: 7E2E0280 v_mov_b32 v19, 0 // 00000000BD40: 7E260280 v_mov_b32 v62, 0 // 00000000BD44: 7E7C0280 v_mov_b32 v22, 0 // 00000000BD48: 7E2C0280 v_mov_b32 v20, 0 // 00000000BD4C: 7E280280 label_2F54: v_cmp_ge_u32 s[24:25], v21, v14 // 00000000BD50: D18C0018 00021D15 s_load_dwordx4 s[28:31], s[0:1], 0x50 // 00000000BD58: C08E0150 v_lshlrev_b32 v25, 4, v17 // 00000000BD5C: 34322284 s_waitcnt lgkmcnt(0) // 00000000BD60: BF8C007F buffer_load_dwordx3 v[26:28], v25, s[28:31], 0 offen // 00000000BD64: E03C1000 80071A19 s_and_saveexec_b64 s[24:25], s[24:25] // wrscc // 00000000BD6C: BE982418 s_andn2_b64 s[22:23], s[22:23], exec // wrscc // 00000000BD70: 8A967E16 s_cbranch_scc0 label_2FEF // 00000000BD74: BF840091 s_mov_b64 exec, s[22:23] // 00000000BD78: BEFE0416 s_load_dwordx4 s[24:27], s[0:1], 0x24 // 00000000BD7C: C08C0124 v_add_i32 v25, vcc, v15, v22 // 00000000BD80: 4A322D0F v_add_i32 v29, vcc, v16, v22 // 00000000BD84: 4A3A2D10 v_add_i32 v30, vcc, 1, v25 // 00000000BD88: 4A3C3281 v_add_i32 v31, vcc, 1, v29 // 00000000BD8C: 4A3E3A81 v_add_i32 v32, vcc, 2, v25 // 00000000BD90: 4A403282 v_add_i32 v33, vcc, 2, v29 // 00000000BD94: 4A423A82 s_waitcnt lgkmcnt(0) // 00000000BD98: BF8C007F tbuffer_load_format_xyz v[34:36], v25, s[24:27], 0 idxen format:[BUF_DATA_FORMAT_32_32_32,BUF_NUM_FORMAT_FLOAT] // 00000000BD9C: EBEA2000 80062219 tbuffer_load_format_xyz v[37:39], v29, s[24:27], 0 idxen format:[BUF_DATA_FORMAT_32_32_32,BUF_NUM_FORMAT_FLOAT] // 00000000BDA4: EBEA2000 8006251D tbuffer_load_format_xyz v[40:42], v30, s[24:27], 0 idxen format:[BUF_DATA_FORMAT_32_32_32,BUF_NUM_FORMAT_FLOAT] // 00000000BDAC: EBEA2000 8006281E tbuffer_load_format_xyz v[29:31], v31, s[24:27], 0 idxen format:[BUF_DATA_FORMAT_32_32_32,BUF_NUM_FORMAT_FLOAT] // 00000000BDB4: EBEA2000 80061D1F tbuffer_load_format_xyz v[43:45], v32, s[24:27], 0 idxen format:[BUF_DATA_FORMAT_32_32_32,BUF_NUM_FORMAT_FLOAT] // 00000000BDBC: EBEA2000 80062B20 tbuffer_load_format_xyz v[46:48], v33, s[24:27], 0 idxen format:[BUF_DATA_FORMAT_32_32_32,BUF_NUM_FORMAT_FLOAT] // 00000000BDC4: EBEA2000 80062E21 s_waitcnt vmcnt(4) // 00000000BDCC: BF8C0F74 v_subrev_f32 v25, v34, v37 // 00000000BDD0: 0A324B22 v_subrev_f32 v32, v35, v38 // 00000000BDD4: 0A404D23 v_subrev_f32 v33, v36, v39 // 00000000BDD8: 0A424F24 v_mac_f32 v34, v25, v10 // 00000000BDDC: 3E441519 v_mac_f32 v35, v32, v10 // 00000000BDE0: 3E461520 v_mac_f32 v36, v33, v10 // 00000000BDE4: 3E481521 s_waitcnt vmcnt(2) // 00000000BDE8: BF8C0F72 v_subrev_f32 v25, v40, v29 // 00000000BDEC: 0A323B28 v_subrev_f32 v29, v41, v30 // 00000000BDF0: 0A3A3D29 v_subrev_f32 v30, v42, v31 // 00000000BDF4: 0A3C3F2A v_mac_f32 v40, v25, v10 // 00000000BDF8: 3E501519 v_mac_f32 v41, v29, v10 // 00000000BDFC: 3E52151D v_mac_f32 v42, v30, v10 // 00000000BE00: 3E54151E s_waitcnt vmcnt(0) // 00000000BE04: BF8C0F70 v_subrev_f32 v25, v43, v46 // 00000000BE08: 0A325D2B v_subrev_f32 v29, v44, v47 // 00000000BE0C: 0A3A5F2C v_subrev_f32 v30, v45, v48 // 00000000BE10: 0A3C612D v_mac_f32 v43, v25, v10 // 00000000BE14: 3E561519 v_mac_f32 v44, v29, v10 // 00000000BE18: 3E58151D v_mac_f32 v45, v30, v10 // 00000000BE1C: 3E5A151E v_subrev_f32 v25, v34, v40 // 00000000BE20: 0A325122 v_subrev_f32 v29, v35, v41 // 00000000BE24: 0A3A5323 v_subrev_f32 v30, v36, v42 // 00000000BE28: 0A3C5524 v_subrev_f32 v31, v34, v43 // 00000000BE2C: 0A3E5722 v_subrev_f32 v32, v35, v44 // 00000000BE30: 0A405923 v_subrev_f32 v33, v36, v45 // 00000000BE34: 0A425B24 v_mul_legacy_f32 v37, v30, v32 // 00000000BE38: 0E4A411E v_mul_legacy_f32 v38, v25, v33 // 00000000BE3C: 0E4C4319 v_mul_legacy_f32 v39, v29, v31 // 00000000BE40: 0E4E3F1D v_mad_legacy_f32 v37, v29, v33, -v37 // 00000000BE44: D2800025 8496431D v_mad_legacy_f32 v38, v30, v31, -v38 // 00000000BE4C: D2800026 849A3F1E v_mad_legacy_f32 v39, v25, v32, -v39 // 00000000BE54: D2800027 849E4119 v_mul_legacy_f32 v40, v39, v39 // 00000000BE5C: 0E504F27 v_mac_f32 v40, v38, v38 // 00000000BE60: 3E504D26 v_mac_f32 v40, v37, v37 // 00000000BE64: 3E504B25 v_rsq_f32 v40, v40 // 00000000BE68: 7E505D28 v_mul_legacy_f32 v37, v37, v40 // 00000000BE6C: 0E4A5125 v_mul_legacy_f32 v38, v38, v40 // 00000000BE70: 0E4C5126 v_mul_legacy_f32 v39, v39, v40 // 00000000BE74: 0E4E5127 v_mul_legacy_f32 v40, v30, v33 // 00000000BE78: 0E50431E v_mac_f32 v40, v29, v32 // 00000000BE7C: 3E50411D v_mac_f32 v40, v25, v31 // 00000000BE80: 3E503F19 v_mul_legacy_f32 v41, v30, v30 // 00000000BE84: 0E523D1E v_mac_f32 v41, v29, v29 // 00000000BE88: 3E523B1D v_mac_f32 v41, v25, v25 // 00000000BE8C: 3E523319 v_mul_legacy_f32 v42, v33, v33 // 00000000BE90: 0E544321 v_mac_f32 v42, v32, v32 // 00000000BE94: 3E544120 v_mac_f32 v42, v31, v31 // 00000000BE98: 3E543F1F v_mul_legacy_f32 v43, v40, v40 // 00000000BE9C: 0E565128 v_mad_legacy_f32 v43, v41, v42, -v43 // 00000000BEA0: D280002B 84AE5529 v_add_f32 v44, v41, v42 // 00000000BEA8: 06585529 v_mac_f32 v44, -2.0, v40 // 00000000BEAC: 3E5850F5 v_sub_f32 v26, v26, v34 // 00000000BEB0: 0834451A v_sub_f32 v27, v27, v35 // 00000000BEB4: 0836471B v_sub_f32 v28, v28, v36 // 00000000BEB8: 0838491C v_mul_legacy_f32 v34, v30, v28 // 00000000BEBC: 0E44391E v_mac_f32 v34, v27, v29 // 00000000BEC0: 3E443B1B v_mac_f32 v34, v26, v25 // 00000000BEC4: 3E44331A v_mul_legacy_f32 v35, v33, v28 // 00000000BEC8: 0E463921 v_mac_f32 v35, v27, v32 // 00000000BECC: 3E46411B v_mac_f32 v35, v26, v31 // 00000000BED0: 3E463F1A v_mul_legacy_f32 v36, v39, v28 // 00000000BED4: 0E483927 v_mac_f32 v36, v27, v38 // 00000000BED8: 3E484D1B v_mac_f32 v36, v26, v37 // 00000000BEDC: 3E484B1A v_mul_legacy_f32 v45, v40, v35 // 00000000BEE0: 0E5A4728 v_mul_legacy_f32 v46, v40, v34 // 00000000BEE4: 0E5C4528 v_mad_legacy_f32 v45, v42, v34, -v45 // 00000000BEE8: D280002D 84B6452A v_mad_legacy_f32 v46, v41, v35, -v46 // 00000000BEF0: D280002E 84BA4729 v_rcp_f32 v43, v43 // 00000000BEF8: 7E56552B v_mul_legacy_f32 v45, v43, v45 // 00000000BEFC: 0E5A5B2B v_rcp_f32 v41, v41 // 00000000BF00: 7E525529 v_mul_legacy_f32 v41, v41, v34 // 00000000BF04: 0E524529 v_cmp_lt_f32 vcc, 0, v46 // 00000000BF08: 7C025C80 v_cndmask_b32 v41, v41, v45, vcc // 00000000BF0C: 00525B29 v_mul_legacy_f32 v43, v43, v46 // 00000000BF10: 0E565D2B v_rcp_f32 v45, v42 // 00000000BF14: 7E5A552A v_mul_legacy_f32 v45, v45, v35 // 00000000BF18: 0E5A472D v_cmp_lt_f32 vcc, 0, v41 // 00000000BF1C: 7C025280 v_cndmask_b32 v43, v45, v43, vcc // 00000000BF20: 0056572D v_add_f32 v45, v41, v43 // 00000000BF24: 065A5729 v_subrev_f32 v40, v40, v42 // 00000000BF28: 0A505528 v_add_f32 v34, v34, v40 // 00000000BF2C: 06445122 v_subrev_f32 v34, v35, v34 // 00000000BF30: 0A444523 v_rcp_f32 v35, v44 // 00000000BF34: 7E46552C v_mul_legacy_f32 v34, v35, v34 // 00000000BF38: 0E444523 v_cmp_lt_f32 vcc, 1.0, v45 // 00000000BF3C: 7C025AF2 v_cndmask_b32 v34, v41, v34, vcc // 00000000BF40: 00444529 v_max_f32 v34, v34, v34 clamp // 00000000BF44: D2200822 00024522 v_sub_f32 v35, 1.0, v34 // 00000000BF4C: 084644F2 v_min_legacy_f32 v35, v43, v35 // 00000000BF50: 1A46472B v_max_legacy_f32 v35, 0, v35 // 00000000BF54: 1C464680 v_mul_legacy_f32 v31, v31, v35 // 00000000BF58: 0E3E471F v_mul_legacy_f32 v32, v32, v35 // 00000000BF5C: 0E404720 v_mul_legacy_f32 v33, v33, v35 // 00000000BF60: 0E424721 v_mac_f32 v31, v25, v34 // 00000000BF64: 3E3E4519 v_mac_f32 v32, v29, v34 // 00000000BF68: 3E40451D v_mac_f32 v33, v30, v34 // 00000000BF6C: 3E42451E v_sub_f32 v25, v26, v31 // 00000000BF70: 08323F1A v_sub_f32 v26, v27, v32 // 00000000BF74: 0834411B v_sub_f32 v27, v28, v33 // 00000000BF78: 0836431C v_mul_legacy_f32 v27, v27, v27 // 00000000BF7C: 0E36371B v_mac_f32 v27, v26, v26 // 00000000BF80: 3E36351A v_mac_f32 v27, v25, v25 // 00000000BF84: 3E363319 v_cmp_gt_f32 vcc, 0, v36 // 00000000BF88: 7C084880 v_mul_legacy_f32 v25, 0x3f800347, v27 // 00000000BF8C: 0E3236FF 3F800347 v_cndmask_b32 v25, v27, v25, vcc // 00000000BF94: 0032331B v_cmp_gt_f32 vcc, v24, v25 // 00000000BF98: 7C083318 v_cndmask_b32 v18, v18, v37, vcc // 00000000BF9C: 00244B12 v_cndmask_b32 v19, v19, v38, vcc // 00000000BFA0: 00264D13 v_cndmask_b32 v20, v20, v39, vcc // 00000000BFA4: 00284F14 v_cndmask_b32 v23, v23, v36, vcc // 00000000BFA8: 002E4917 v_cndmask_b32 v24, v24, v25, vcc // 00000000BFAC: 00303318 v_add_i32 v21, vcc, 1, v21 // 00000000BFB0: 4A2A2A81 v_add_i32 v22, vcc, 3, v22 // 00000000BFB4: 4A2C2C83 s_branch label_2F54 // 00000000BFB8: BF82FF65 label_2FEF: s_mov_b64 exec, s[20:21] // 00000000BFBC: BEFE0414 v_cmp_gt_f32 vcc, 0, v23 // 00000000BFC0: 7C082E80 s_and_saveexec_b64 s[20:21], vcc // wrscc // 00000000BFC4: BE94246A s_waitcnt vmcnt(0) // 00000000BFC8: BF8C0F70 v_mad_legacy_f32 v17, -v18, v23, v26 // 00000000BFCC: D2800011 246A2F12 v_mad_legacy_f32 v18, -v19, v23, v27 // 00000000BFD4: D2800012 246E2F13 v_mad_legacy_f32 v19, -v20, v23, v28 // 00000000BFDC: D2800013 24722F14 buffer_store_dwordx3 v[17:19], v25, s[28:31], 0 offen // 00000000BFE4: E07C1000 80071119 s_mov_b64 exec, s[20:21] // 00000000BFEC: BEFE0414 v_add_i32 v12, vcc, 0x00000400, v12 // 00000000BFF0: 4A1818FF 00000400 s_branch label_2F44 // 00000000BFF8: BF82FF45 label_2FFF: s_waitcnt vmcnt(0) & lgkmcnt(0) // 00000000BFFC: BF8C0070 s_barrier // 00000000C000: BF8A0000 label_3001: s_mov_b64 exec, s[16:17] // 00000000C004: BEFE0410 v_mov_b32 v12, 0 // 00000000C008: 7E180280 ds_read_b32 v12, v12 offset:84 // 00000000C00C: D8D80054 0C00000C s_waitcnt lgkmcnt(0) // 00000000C014: BF8C007F v_cmp_ne_u32 vcc, 0, v12 // 00000000C018: 7D8A1880 s_and_b64 exec, s[16:17], vcc // wrscc // 00000000C01C: 87FE6A10 v_mov_b32 v12, 0 // 00000000C020: 7E180280 s_cbranch_execz label_3351 // 00000000C024: BF880347 ds_read2_b32 v[13:14], v12 offset0:23 // 00000000C028: D8DC0017 0D00000C ds_read2_b32 v[15:16], v12 offset0:56 offset1:57 // 00000000C030: D8DC3938 0F00000C ds_read2_b32 v[17:18], v12 offset0:13 offset1:14 // 00000000C038: D8DC0E0D 1100000C s_mov_b64 s[18:19], exec // 00000000C040: BE92047E v_mov_b32 v12, v8 // 00000000C044: 7E180308 v_mov_b32 v62, v8 // 00000000C048: 7E7C0308 v_mov_b32 v8, v5 // 00000000C04C: 7E100305 v_mov_b32 v5, v3 // 00000000C050: 7E0A0303 v_mov_b32 v3, v1 // 00000000C054: 7E060301 v_mov_b32 v1, v10 // 00000000C058: 7E02030A v_mov_b32 v10, v7 // 00000000C05C: 7E140307 v_mov_b32 v7, v4 // 00000000C060: 7E0E0304 v_mov_b32 v4, v2 // 00000000C064: 7E080302 v_mov_b32 v2, v0 // 00000000C068: 7E040300 v_mov_b32 v0, v11 // 00000000C06C: 7E00030B v_mov_b32 v11, v62 // 00000000C070: 7E16033E v_mov_b32 v62, v6 // 00000000C074: 7E7C0306 v_mov_b32 v6, v9 // 00000000C078: 7E0C0309 v_mov_b32 v9, v62 // 00000000C07C: 7E12033E label_3020: buffer_store_dword v12, v0, s[92:95], s96 offset:20 // 00000000C080: E0700014 60170C00 s_waitcnt lgkmcnt(2) // 00000000C088: BF8C027F v_cmp_ge_u32 vcc, v12, v14 // 00000000C08C: 7D8C1D0C s_andn2_b64 exec, exec, vcc // wrscc // 00000000C090: 8AFE6A7E s_cbranch_execz label_3350 // 00000000C094: BF88032A s_load_dwordx4 s[20:23], s[0:1], 0x50 // 00000000C098: C08A0150 v_add_i32 v19, vcc, v5, v12 // 00000000C09C: 4A261905 v_lshlrev_b32 v19, 4, v19 // 00000000C0A0: 34262684 v_add_i32 v20, vcc, v10, v12 // 00000000C0A4: 4A28190A s_waitcnt lgkmcnt(0) // 00000000C0A8: BF8C007F buffer_load_dwordx4 v[21:24], v19, s[20:23], 0 offen // 00000000C0AC: E0381000 80051513 s_waitcnt vmcnt(0) // 00000000C0B4: BF8C0F70 buffer_store_dword v23, v0, s[92:95], s96 offset:8 // 00000000C0B8: E0700008 60171700 buffer_store_dword v22, v0, s[92:95], s96 offset:12 // 00000000C0C0: E070000C 60171600 buffer_store_dword v21, v0, s[92:95], s96 offset:16 // 00000000C0C8: E0700010 60171500 s_mov_b64 s[24:25], exec // 00000000C0D0: BE98047E s_mov_b64 s[26:27], exec // 00000000C0D4: BE9A047E v_mov_b32 v32, 0 // 00000000C0D8: 7E400280 v_mov_b32 v25, 0 // 00000000C0DC: 7E320280 v_mov_b32 v31, 0 // 00000000C0E0: 7E3E0280 v_mov_b32 v26, 0 // 00000000C0E4: 7E340280 v_mov_b32 v30, 0 // 00000000C0E8: 7E3C0280 v_mov_b32 v27, 0 // 00000000C0EC: 7E360280 v_mov_b32 v29, 0 // 00000000C0F0: 7E3A0280 v_mov_b32 v28, 0 // 00000000C0F4: 7E380280 v_mov_b32 v62, v11 // 00000000C0F8: 7E7C030B v_mov_b32 v11, v7 // 00000000C0FC: 7E160307 v_mov_b32 v7, v3 // 00000000C100: 7E0E0303 v_mov_b32 v3, v12 // 00000000C104: 7E06030C v_mov_b32 v12, v8 // 00000000C108: 7E180308 v_mov_b32 v8, v4 // 00000000C10C: 7E100304 v_mov_b32 v4, v0 // 00000000C110: 7E080300 v_mov_b32 v0, v23 // 00000000C114: 7E000317 v_mov_b32 v23, v62 // 00000000C118: 7E2E033E v_mov_b32 v62, v10 // 00000000C11C: 7E7C030A v_mov_b32 v10, v6 // 00000000C120: 7E140306 v_mov_b32 v6, v2 // 00000000C124: 7E0C0302 v_mov_b32 v2, v21 // 00000000C128: 7E040315 v_mov_b32 v21, v9 // 00000000C12C: 7E2A0309 v_mov_b32 v9, v5 // 00000000C130: 7E120305 v_mov_b32 v5, v1 // 00000000C134: 7E0A0301 v_mov_b32 v1, v22 // 00000000C138: 7E020316 v_mov_b32 v22, v62 // 00000000C13C: 7E2C033E s_movk_i32 s28, 0x0000 // 00000000C140: B01C0000 s_movk_i32 s29, 0x0000 // 00000000C144: B01D0000 label_3052: v_cmp_ge_u32 vcc, v25, v17 // 00000000C148: 7D8C2319 v_lshlrev_b32 v33, 4, v20 // 00000000C14C: 34422884 buffer_load_dwordx3 v[34:36], v33, s[20:23], 0 offen // 00000000C150: E03C1000 80052221 v_cmp_gt_f32 s[30:31], v13, 0 // 00000000C158: D008001E 0001010D s_andn2_b64 s[28:29], s[28:29], exec // wrscc // 00000000C160: 8A9C7E1C s_nop 0x0000 // 00000000C164: BF800000 s_or_b64 s[28:29], s[30:31], s[28:29] // wrscc // 00000000C168: 889C1C1E s_and_saveexec_b64 s[32:33], vcc // wrscc // 00000000C16C: BEA0246A s_andn2_b64 s[26:27], s[26:27], exec // wrscc // 00000000C170: 8A9A7E1A s_cbranch_scc0 label_324B // 00000000C174: BF8401ED s_and_b64 exec, s[32:33], s[26:27] // wrscc // 00000000C178: 87FE1A20 s_load_dwordx8 s[32:39], s[0:1], 0x14 // 00000000C17C: C0D00114 v_add_i32 v3, vcc, v18, v25 // 00000000C180: 4A063312 s_waitcnt lgkmcnt(0) // 00000000C184: BF8C007F tbuffer_load_format_xy v[6:7], v3, s[32:35], 0 idxen format:[BUF_DATA_FORMAT_32_32,BUF_NUM_FORMAT_FLOAT] // 00000000C188: EBD92000 80080603 s_waitcnt vmcnt(0) // 00000000C190: BF8C0F70 v_add_i32 v3, vcc, v15, v6 // 00000000C194: 4A060D0F v_add_i32 v6, vcc, v16, v6 // 00000000C198: 4A0C0D10 v_add_i32 v8, vcc, v15, v7 // 00000000C19C: 4A100F0F v_add_i32 v7, vcc, v16, v7 // 00000000C1A0: 4A0E0F10 tbuffer_load_format_xyzw v[9:12], v3, s[36:39], 0 idxen format:[BUF_DATA_FORMAT_32_32_32_32,BUF_NUM_FORMAT_FLOAT] // 00000000C1A4: EBF32000 80090903 tbuffer_load_format_xyzw v[37:40], v8, s[36:39], 0 idxen format:[BUF_DATA_FORMAT_32_32_32_32,BUF_NUM_FORMAT_FLOAT] // 00000000C1AC: EBF32000 80092508 tbuffer_load_format_xyzw v[41:44], v6, s[36:39], 0 idxen format:[BUF_DATA_FORMAT_32_32_32_32,BUF_NUM_FORMAT_FLOAT] // 00000000C1B4: EBF32000 80092906 tbuffer_load_format_xyzw v[45:48], v7, s[36:39], 0 idxen format:[BUF_DATA_FORMAT_32_32_32_32,BUF_NUM_FORMAT_FLOAT] // 00000000C1BC: EBF32000 80092D07 s_waitcnt vmcnt(1) // 00000000C1C4: BF8C0F71 v_subrev_f32 v3, v11, v43 // 00000000C1C8: 0A06570B s_waitcnt vmcnt(0) // 00000000C1CC: BF8C0F70 v_subrev_f32 v6, v39, v47 // 00000000C1D0: 0A0C5F27 v_subrev_f32 v7, v10, v42 // 00000000C1D4: 0A0E550A v_subrev_f32 v8, v12, v44 // 00000000C1D8: 0A10590C v_mad_f32 v21, v4, v3, v11 // 00000000C1DC: D2820015 042E0704 v_subrev_f32 v22, v38, v46 // 00000000C1E4: 0A2C5D26 v_subrev_f32 v23, v40, v48 // 00000000C1E8: 0A2E6128 v_mad_f32 v33, v4, v6, v39 // 00000000C1EC: D2820021 049E0D04 v_subrev_f32 v41, v9, v41 // 00000000C1F4: 0A525309 v_mad_f32 v42, v4, v7, v10 // 00000000C1F8: D282002A 042A0F04 v_mad_f32 v43, v4, v8, v12 // 00000000C200: D282002B 04321104 v_subrev_f32 v44, v37, v45 // 00000000C208: 0A585B25 v_mad_f32 v45, v4, v22, v38 // 00000000C20C: D282002D 049A2D04 v_mad_f32 v46, v4, v23, v40 // 00000000C214: D282002E 04A22F04 v_add_f32 v47, -v21, v33 div:2 // 00000000C21C: D206002F 38024315 v_mad_f32 v48, v4, v41, v9 // 00000000C224: D2820030 04265304 v_mad_f32 v4, v4, v44, v37 // 00000000C22C: D2820004 04965904 v_max_legacy_f32 v43, 0, v43 // 00000000C234: 1C565680 v_add_f32 v49, -v42, v45 div:2 // 00000000C238: D2060031 38025B2A v_max_legacy_f32 v46, 0, v46 // 00000000C240: 1C5C5C80 v_mul_legacy_f32 v50, v47, v47 // 00000000C244: 0E645F2F v_add_f32 v51, -v48, v4 div:2 // 00000000C248: D2060033 38020930 v_subrev_f32 v46, v43, v46 // 00000000C250: 0A5C5D2B v_mac_f32 v50, v49, v49 // 00000000C254: 3E646331 v_max_f32 v52, v46, v46 div:2 // 00000000C258: D2200034 18025D2E v_mac_f32 v50, v51, v51 // 00000000C260: 3E646733 v_mad_legacy_f32 v53, -v52, v52, v50 // 00000000C264: D2800035 24CA6934 v_cmp_le_f32 s[32:33], v53, 0 // 00000000C26C: D0060020 00010135 v_addc_u32 v54, vcc, v25, 0, s[32:33] // 00000000C274: D2506A36 00810119 s_mov_b64 s[34:35], exec // 00000000C27C: BEA2047E s_andn2_b64 exec, s[34:35], s[32:33] // wrscc // 00000000C280: 8AFE2022 v_mac_f32 v9, v5, v41 // 00000000C284: 3E125305 s_cbranch_execz label_31F6 // 00000000C288: BF880153 v_mac_f32 v10, v5, v7 // 00000000C28C: 3E140F05 v_mac_f32 v11, v5, v3 // 00000000C290: 3E160705 v_mac_f32 v12, v5, v8 // 00000000C294: 3E181105 v_mac_f32 v37, v5, v44 // 00000000C298: 3E4A5905 v_mac_f32 v38, v5, v22 // 00000000C29C: 3E4C2D05 v_mac_f32 v39, v5, v6 // 00000000C2A0: 3E4E0D05 v_mac_f32 v40, v5, v23 // 00000000C2A4: 3E502F05 v_max_legacy_f32 v3, 0, v12 // 00000000C2A8: 1C061880 v_add_f32 v5, -v9, v37 div:2 // 00000000C2AC: D2060005 38024B09 v_add_f32 v6, -v10, v38 div:2 // 00000000C2B4: D2060006 38024D0A v_add_f32 v7, -v11, v39 div:2 // 00000000C2BC: D2060007 38024F0B v_max_legacy_f32 v8, 0, v40 // 00000000C2C4: 1C105080 v_subrev_f32 v8, v3, v8 // 00000000C2C8: 0A101103 v_max_f32 v12, v8, v8 div:2 // 00000000C2CC: D220000C 18021108 v_mul_legacy_f32 v22, v7, v7 // 00000000C2D4: 0E2C0F07 v_mac_f32 v22, v6, v6 // 00000000C2D8: 3E2C0D06 v_mac_f32 v22, v5, v5 // 00000000C2DC: 3E2C0B05 v_mad_legacy_f32 v23, -v12, v12, v22 // 00000000C2E0: D2800017 245A190C v_cmp_le_f32 s[36:37], v23, 0 // 00000000C2E8: D0060024 00010117 v_addc_u32 v25, vcc, v25, 1, s[32:33] // 00000000C2F0: D2506A19 00810319 v_cndmask_b32 v25, v54, v25, s[36:37] // 00000000C2F8: D2000019 00923336 s_mov_b64 s[32:33], exec // 00000000C300: BEA0047E s_andn2_b64 exec, s[32:33], s[36:37] // wrscc // 00000000C304: 8AFE2420 v_add_f32 v40, v48, v4 // 00000000C308: 06500930 s_cbranch_execz label_31EB // 00000000C30C: BF880127 v_add_f32 v41, v42, v45 // 00000000C310: 06525B2A v_add_f32 v44, v21, v33 // 00000000C314: 06584315 v_mac_f32 v34, -0.5, v40 // 00000000C318: 3E4450F1 v_mac_f32 v35, -0.5, v41 // 00000000C31C: 3E4652F1 v_mac_f32 v36, -0.5, v44 // 00000000C320: 3E4858F1 v_rsq_f32 v40, v50 // 00000000C324: 7E505D32 v_mul_legacy_f32 v41, v50, v40 // 00000000C328: 0E525132 v_mac_f32 v43, 0.5, v46 // 00000000C32C: 3E565CF0 v_rsq_f32 v44, v53 // 00000000C330: 7E585D35 v_mul_legacy_f32 v43, v44, v43 // 00000000C334: 0E56572C v_mul_legacy_f32 v43, v41, v43 // 00000000C338: 0E565729 v_mul_legacy_f32 v46, v51, v40 // 00000000C33C: 0E5C5133 v_mul_legacy_f32 v49, v49, v40 // 00000000C340: 0E625131 v_mul_legacy_f32 v40, v47, v40 // 00000000C344: 0E50512F v_mul_legacy_f32 v44, v52, v44 // 00000000C348: 0E585934 v_mul_legacy_f32 v47, v36, v49 // 00000000C34C: 0E5E6324 v_mul_legacy_f32 v50, v34, v40 // 00000000C350: 0E645122 v_mul_legacy_f32 v51, v35, v46 // 00000000C354: 0E665D23 v_mad_legacy_f32 v47, v35, v40, -v47 // 00000000C358: D280002F 84BE5123 v_mad_legacy_f32 v50, v36, v46, -v50 // 00000000C360: D2800032 84CA5D24 v_mad_legacy_f32 v51, v34, v49, -v51 // 00000000C368: D2800033 84CE6322 v_mul_legacy_f32 v52, v36, v40 // 00000000C370: 0E685124 v_mac_f32 v52, v35, v49 // 00000000C374: 3E686323 v_mac_f32 v52, v34, v46 // 00000000C378: 3E685D22 v_add_f32 v53, v9, v37 // 00000000C37C: 066A4B09 v_add_f32 v54, v10, v38 // 00000000C380: 066C4D0A v_add_f32 v55, v11, v39 // 00000000C384: 066E4F0B v_mac_f32 v2, -0.5, v53 // 00000000C388: 3E046AF1 v_mac_f32 v1, -0.5, v54 // 00000000C38C: 3E026CF1 v_mac_f32 v0, -0.5, v55 // 00000000C390: 3E006EF1 v_rsq_f32 v53, v22 // 00000000C394: 7E6A5D16 v_mul_legacy_f32 v22, v22, v53 // 00000000C398: 0E2C6B16 v_mac_f32 v3, 0.5, v8 // 00000000C39C: 3E0610F0 v_rsq_f32 v8, v23 // 00000000C3A0: 7E105D17 v_mul_legacy_f32 v3, v8, v3 // 00000000C3A4: 0E060708 v_mul_legacy_f32 v3, v22, v3 // 00000000C3A8: 0E060716 v_mul_legacy_f32 v5, v5, v53 // 00000000C3AC: 0E0A6B05 v_mul_legacy_f32 v6, v6, v53 // 00000000C3B0: 0E0C6B06 v_mul_legacy_f32 v7, v7, v53 // 00000000C3B4: 0E0E6B07 v_mul_legacy_f32 v23, v0, v6 // 00000000C3B8: 0E2E0D00 v_mul_legacy_f32 v54, v2, v7 // 00000000C3BC: 0E6C0F02 v_mul_legacy_f32 v55, v1, v5 // 00000000C3C0: 0E6E0B01 v_mad_legacy_f32 v23, v1, v7, -v23 // 00000000C3C4: D2800017 845E0F01 v_mad_legacy_f32 v54, v0, v5, -v54 // 00000000C3CC: D2800036 84DA0B00 v_mad_legacy_f32 v55, v2, v6, -v55 // 00000000C3D4: D2800037 84DE0D02 v_mul_legacy_f32 v56, v0, v7 // 00000000C3DC: 0E700F00 v_mac_f32 v56, v1, v6 // 00000000C3E0: 3E700D01 v_mac_f32 v56, v2, v5 // 00000000C3E4: 3E700B02 v_mul_legacy_f32 v57, v55, v55 // 00000000C3E8: 0E726F37 v_mac_f32 v57, v54, v54 // 00000000C3EC: 3E726D36 v_mac_f32 v57, v23, v23 // 00000000C3F0: 3E722F17 v_mac_f32 v43, v52, v44 // 00000000C3F4: 3E565934 v_mul_legacy_f32 v8, v12, v8 // 00000000C3F8: 0E10110C v_mad_f32 v52, v56, v8, v3 // 00000000C3FC: D2820034 040E1138 v_mul_legacy_f32 v58, v51, v51 // 00000000C404: 0E746733 v_mac_f32 v58, v50, v50 // 00000000C408: 3E746532 v_mac_f32 v58, v47, v47 // 00000000C40C: 3E745F2F v_max_legacy_f32 v43, 0, v43 // 00000000C410: 1C565680 v_mad_legacy_f32 v58, -v43, v43, v58 // 00000000C414: D280003A 24EA572B v_mul_legacy_f32 v51, v51, v55 // 00000000C41C: 0E666F33 v_mac_f32 v51, v50, v54 // 00000000C420: 3E666D32 v_mac_f32 v51, v47, v23 // 00000000C424: 3E662F2F v_max_legacy_f32 v23, 0, v52 // 00000000C428: 1C2E6880 v_mad_legacy_f32 v51, -v43, v23, v51 // 00000000C42C: D2800033 24CE2F2B v_add_f32 v47, 0x34000000, v57 // 00000000C434: 065E72FF 34000000 v_mad_legacy_f32 v50, -v23, v23, v47 // 00000000C43C: D2800032 24BE2F17 v_mul_legacy_f32 v52, v58, v50 // 00000000C444: 0E68653A v_mad_legacy_f32 v52, v51, v51, -v52 // 00000000C448: D2800034 84D26733 v_subrev_f32 v54, v58, v51 // 00000000C450: 0A6C673A v_sub_f32 v50, v51, v50 // 00000000C454: 08646533 v_add_f32 v50, v54, v50 // 00000000C458: 06646536 v_sqrt_f32 v51, v52 // 00000000C45C: 7E666734 v_add_f32 v55, v51, v54 // 00000000C460: 066E6D33 v_rcp_f32 v57, v50 // 00000000C464: 7E725532 v_min_legacy_f32 v55, 0, v55 // 00000000C468: 1A6E6E80 v_mul_f32 v58, v55, v57 // 00000000C46C: 10747337 v_cmp_gt_f32 vcc, v51, v54 // 00000000C470: 7C086D33 v_cmp_lt_f32 s[36:37], v58, 1.0 // 00000000C474: D0020024 0001E53A s_and_b64 s[36:37], s[36:37], vcc // wrscc // 00000000C47C: 87A46A24 v_mul_legacy_f32 v54, v54, v50 // 00000000C480: 0E6C6536 v_subrev_f32 v59, v43, v23 // 00000000C484: 0A762F2B v_mac_f32 v43, v54, v59 // 00000000C488: 3E567736 v_mul_legacy_f32 v43, v43, v43 // 00000000C48C: 0E56572B v_mul_legacy_f32 v43, v50, v43 // 00000000C490: 0E565732 v_mul_legacy_f32 v43, 0xbeb851ec, v43 // 00000000C494: 0E5656FF BEB851EC v_cmp_gt_f32 vcc, v52, v43 // 00000000C49C: 7C085734 s_and_b64 s[36:37], s[36:37], vcc // wrscc // 00000000C4A0: 87A46A24 s_mov_b32 s3, 0xb4000000 // 00000000C4A4: BE8303FF B4000000 v_cmp_gt_f32 vcc, s3, v50 // 00000000C4AC: 7C086403 s_and_b64 s[36:37], s[36:37], vcc // wrscc // 00000000C4B0: 87A46A24 v_sub_f32 v43, v34, v2 // 00000000C4B4: 08560522 v_sub_f32 v52, v35, v1 // 00000000C4B8: 08680323 v_sub_f32 v54, v36, v0 // 00000000C4BC: 086C0124 v_mad_legacy_f32 v34, -v43, v58, v34 // 00000000C4C0: D2800022 248A752B v_mad_legacy_f32 v35, -v52, v58, v35 // 00000000C4C8: D2800023 248E7534 v_mad_legacy_f32 v36, -v54, v58, v36 // 00000000C4D0: D2800024 24927536 v_mul_legacy_f32 v59, v22, v5 // 00000000C4D8: 0E760B16 v_mul_legacy_f32 v60, v22, v6 // 00000000C4DC: 0E780D16 v_mul_legacy_f32 v61, v22, v7 // 00000000C4E0: 0E7A0F16 v_mad_legacy_f32 v46, -v46, v41, v59 // 00000000C4E4: D280002E 24EE532E v_mad_legacy_f32 v49, -v49, v41, v60 // 00000000C4EC: D2800031 24F25331 v_mad_legacy_f32 v40, -v40, v41, v61 // 00000000C4F4: D2800028 24F65328 v_mad_f32 v41, -v55, v57, 1.0 // 00000000C4FC: D2820029 23CA7337 v_mad_legacy_f32 v59, -v46, v41, v59 // 00000000C504: D280003B 24EE532E v_mad_legacy_f32 v60, -v49, v41, v60 // 00000000C50C: D280003C 24F25331 v_mad_legacy_f32 v61, -v40, v41, v61 // 00000000C514: D280003D 24F65328 v_mul_legacy_f32 v55, v8, v58 // 00000000C51C: 0E6E7508 v_mac_f32 v55, v44, v41 // 00000000C520: 3E6E532C v_mul_legacy_f32 v44, v61, v61 // 00000000C524: 0E587B3D v_mac_f32 v44, v60, v60 // 00000000C528: 3E58793C v_mac_f32 v44, v59, v59 // 00000000C52C: 3E58773B v_mul_legacy_f32 v57, v36, v61 // 00000000C530: 0E727B24 v_mac_f32 v57, v35, v60 // 00000000C534: 3E727923 v_mac_f32 v57, v34, v59 // 00000000C538: 3E727722 v_rsq_f32 v44, v44 // 00000000C53C: 7E585D2C v_mul_legacy_f32 v57, v44, v57 // 00000000C540: 0E72732C v_mul_legacy_f32 v36, v36, v36 // 00000000C544: 0E484924 v_mac_f32 v36, v35, v35 // 00000000C548: 3E484723 v_mac_f32 v36, v34, v34 // 00000000C54C: 3E484522 v_mad_legacy_f32 v36, -v57, v57, v36 // 00000000C550: D2800024 24927339 v_rsq_f32 v34, v36 // 00000000C558: 7E445D24 v_cmp_lt_f32 vcc, 0, v36 // 00000000C55C: 7C024880 v_cndmask_b32 v34, 0, v34, vcc // 00000000C560: 00444480 v_mul_legacy_f32 v35, v55, v36 // 00000000C564: 0E464937 v_mac_f32 v57, v35, v34 // 00000000C568: 3E724523 v_mul_legacy_f32 v34, v44, v57 // 00000000C56C: 0E44732C v_cmp_gt_f32 s[38:39], 1.0, abs(v34) // 00000000C570: D0080226 000244F2 v_mac_f32 v43, v46, v34 // 00000000C578: 3E56452E v_mac_f32 v52, v49, v34 // 00000000C57C: 3E684531 v_mac_f32 v54, v40, v34 // 00000000C580: 3E6C4528 v_mul_legacy_f32 v34, v50, v41 // 00000000C584: 0E445332 v_rcp_f32 v34, v34 // 00000000C588: 7E445522 v_mul_f32 v34, v51, v34 // 00000000C58C: 10444533 s_mov_b32 s3, 0x34000000 // 00000000C590: BE8303FF 34000000 v_cmp_lt_f32 vcc, s3, v41 // 00000000C598: 7C025203 v_cndmask_b32 v34, 0, v34, vcc // 00000000C59C: 00444480 v_sub_f32 v34, 1.0, v34 // 00000000C5A0: 084444F2 v_rcp_f32 v34, v34 // 00000000C5A4: 7E445522 v_mul_f32 v34, v41, v34 // 00000000C5A8: 10444529 v_mad_f32 v35, v43, v34, v2 // 00000000C5AC: D2820023 040A452B v_mad_f32 v36, v52, v34, v1 // 00000000C5B4: D2820024 04064534 v_mad_f32 v34, v54, v34, v0 // 00000000C5BC: D2820022 04024536 v_mul_legacy_f32 v40, v7, v34 // 00000000C5C4: 0E504507 v_mac_f32 v40, v36, v6 // 00000000C5C8: 3E500D24 v_mac_f32 v40, v35, v5 // 00000000C5CC: 3E500B23 v_mac_f32 v3, v40, v8 // 00000000C5D0: 3E061128 v_mul_legacy_f32 v41, v34, v34 // 00000000C5D4: 0E524522 v_mac_f32 v41, v36, v36 // 00000000C5D8: 3E524924 v_mac_f32 v41, v35, v35 // 00000000C5DC: 3E524723 v_mad_legacy_f32 v41, -v40, v40, v41 // 00000000C5E0: D2800029 24A65128 v_cndmask_b32 v40, v56, v40, s[38:39] // 00000000C5E8: D2000028 009A5138 v_cndmask_b32 v41, v47, v41, s[38:39] // 00000000C5F0: D2000029 009A532F v_max_legacy_f32 v3, 0, v3 // 00000000C5F8: 1C060680 v_cndmask_b32 v3, v23, v3, s[38:39] // 00000000C5FC: D2000003 009A0717 v_cndmask_b32 v40, v56, v40, s[36:37] // 00000000C604: D2000028 00925138 v_cndmask_b32 v41, v47, v41, s[36:37] // 00000000C60C: D2000029 0092532F v_cndmask_b32 v3, v23, v3, s[36:37] // 00000000C614: D2000003 00920717 v_mul_legacy_f32 v23, v3, v3 // 00000000C61C: 0E2E0703 v_cmp_gt_f32 s[40:41], v41, v23 // 00000000C620: D0080028 00022F29 v_addc_u32 v23, vcc, v25, 0, s[40:41] // 00000000C628: D2506A17 00A10119 s_mov_b64 s[42:43], exec // 00000000C630: BEAA047E s_andn2_b64 exec, s[42:43], s[40:41] // wrscc // 00000000C634: 8AFE282A v_mul_legacy_f32 v12, v12, v53 // 00000000C638: 0E186B0C s_cbranch_execz label_31E0 // 00000000C63C: BF880050 v_mad_legacy_f32 v12, -v12, v12, 1.0 // 00000000C640: D280000C 23CA190C v_cndmask_b32 v23, v2, v35, s[38:39] // 00000000C648: D2000017 009A4702 v_cndmask_b32 v35, v1, v36, s[38:39] // 00000000C650: D2000023 009A4901 v_cndmask_b32 v34, v0, v34, s[38:39] // 00000000C658: D2000022 009A4500 v_cndmask_b32 v2, v2, v23, s[36:37] // 00000000C660: D2000002 00922F02 v_cndmask_b32 v1, v1, v35, s[36:37] // 00000000C668: D2000001 00924701 v_cndmask_b32 v0, v0, v34, s[36:37] // 00000000C670: D2000000 00924500 v_max_legacy_f32 v23, 0x34000000, v41 // 00000000C678: 1C2E52FF 34000000 v_mul_legacy_f32 v8, v8, v23 // 00000000C680: 0E102F08 v_rsq_f32 v23, v23 // 00000000C684: 7E2E5D17 v_mad_f32 v8, v8, v23, v40 // 00000000C688: D2820008 04A22F08 v_cmp_gt_f32 vcc, v22, abs(v8) // 00000000C690: D008026A 00021116 v_mad_legacy_f32 v2, -v8, v5, v2 // 00000000C698: D2800002 240A0B08 v_mad_legacy_f32 v1, -v8, v6, v1 // 00000000C6A0: D2800001 24060D08 v_mad_legacy_f32 v0, -v8, v7, v0 // 00000000C6A8: D2800000 24020F08 v_mul_legacy_f32 v3, v3, v23 // 00000000C6B0: 0E062F03 v_mad_legacy_f32 v12, v3, v12, -v12 // 00000000C6B4: D280000C 84321903 v_mad_f32 v2, v2, v12, v26 // 00000000C6BC: D2820002 046A1902 v_mad_f32 v1, v1, v12, v27 // 00000000C6C4: D2820001 046E1901 v_mad_f32 v0, v0, v12, v28 // 00000000C6CC: D2820000 04721900 v_subrev_f32 v3, v48, v9 // 00000000C6D4: 0A061330 v_subrev_f32 v5, v42, v10 // 00000000C6D8: 0A0A152A v_subrev_f32 v6, v21, v11 // 00000000C6DC: 0A0C1715 v_subrev_f32 v4, v4, v37 // 00000000C6E0: 0A084B04 v_subrev_f32 v7, v45, v38 // 00000000C6E4: 0A0E4D2D v_subrev_f32 v8, v33, v39 // 00000000C6E8: 0A104F21 v_subrev_f32 v4, v3, v4 // 00000000C6EC: 0A080903 v_subrev_f32 v7, v5, v7 // 00000000C6F0: 0A0E0F05 v_subrev_f32 v8, v6, v8 // 00000000C6F4: 0A101106 v_mad_f32 v9, v40, 0.5, 0.5 // 00000000C6F8: D2820009 03C1E128 v_mac_f32 v3, v9, v4 // 00000000C700: 3E060909 v_mac_f32 v5, v9, v7 // 00000000C704: 3E0A0F09 v_mac_f32 v6, v9, v8 // 00000000C708: 3E0C1109 v_add_f32 v3, v29, v3 // 00000000C70C: 0606071D v_add_f32 v4, v30, v5 // 00000000C710: 06080B1E v_add_f32 v5, v31, v6 // 00000000C714: 060A0D1F v_cndmask_b32 v3, v29, v3, s[30:31] // 00000000C718: D2000003 007A071D v_cndmask_b32 v4, v30, v4, s[30:31] // 00000000C720: D2000004 007A091E v_cndmask_b32 v5, v31, v5, s[30:31] // 00000000C728: D2000005 007A0B1F v_cndmask_b32 v2, v26, v2, vcc // 00000000C730: 0004051A v_cndmask_b32 v1, v27, v1, vcc // 00000000C734: 0002031B v_cndmask_b32 v0, v28, v0, vcc // 00000000C738: 0000011C v_cndmask_b32 v3, v29, v3, vcc // 00000000C73C: 0006071D v_cndmask_b32 v4, v30, v4, vcc // 00000000C740: 0008091E v_cndmask_b32 v5, v31, v5, vcc // 00000000C744: 000A0B1F v_addc_u32 v6, vcc, v32, 0, vcc // 00000000C748: D2506A06 01A90120 v_addc_u32 v7, vcc, v25, 1, s[40:41] // 00000000C750: D2506A07 00A10319 v_mov_b32 v62, v7 // 00000000C758: 7E7C0307 v_mov_b32 v7, v6 // 00000000C75C: 7E0E0306 v_mov_b32 v6, v5 // 00000000C760: 7E0C0305 v_mov_b32 v5, v4 // 00000000C764: 7E0A0304 v_mov_b32 v4, v3 // 00000000C768: 7E080303 v_mov_b32 v3, v0 // 00000000C76C: 7E060300 v_mov_b32 v0, v62 // 00000000C770: 7E00033E v_mov_b32 v62, v2 // 00000000C774: 7E7C0302 v_mov_b32 v2, v1 // 00000000C778: 7E040301 v_mov_b32 v1, v62 // 00000000C77C: 7E02033E label_31E0: s_andn2_b64 exec, s[42:43], exec // wrscc // 00000000C780: 8AFE7E2A v_mov_b32 v0, v23 // 00000000C784: 7E000317 s_cbranch_execz label_31EA // 00000000C788: BF880007 v_mov_b32 v1, v26 // 00000000C78C: 7E02031A v_mov_b32 v2, v27 // 00000000C790: 7E04031B v_mov_b32 v3, v28 // 00000000C794: 7E06031C v_mov_b32 v4, v29 // 00000000C798: 7E08031D v_mov_b32 v5, v30 // 00000000C79C: 7E0A031E v_mov_b32 v6, v31 // 00000000C7A0: 7E0C031F v_mov_b32 v7, v32 // 00000000C7A4: 7E0E0320 label_31EA: s_mov_b64 exec, s[42:43] // 00000000C7A8: BEFE042A label_31EB: s_andn2_b64 exec, s[32:33], exec // wrscc // 00000000C7AC: 8AFE7E20 v_mov_b32 v0, v25 // 00000000C7B0: 7E000319 s_cbranch_execz label_31F5 // 00000000C7B4: BF880007 v_mov_b32 v1, v26 // 00000000C7B8: 7E02031A v_mov_b32 v2, v27 // 00000000C7BC: 7E04031B v_mov_b32 v3, v28 // 00000000C7C0: 7E06031C v_mov_b32 v4, v29 // 00000000C7C4: 7E08031D v_mov_b32 v5, v30 // 00000000C7C8: 7E0A031E v_mov_b32 v6, v31 // 00000000C7CC: 7E0C031F v_mov_b32 v7, v32 // 00000000C7D0: 7E0E0320 label_31F5: s_mov_b64 exec, s[32:33] // 00000000C7D4: BEFE0420 label_31F6: s_andn2_b64 exec, s[34:35], exec // wrscc // 00000000C7D8: 8AFE7E22 v_mov_b32 v0, v54 // 00000000C7DC: 7E000336 s_cbranch_execz label_3200 // 00000000C7E0: BF880007 v_mov_b32 v1, v26 // 00000000C7E4: 7E02031A v_mov_b32 v2, v27 // 00000000C7E8: 7E04031B v_mov_b32 v3, v28 // 00000000C7EC: 7E06031C v_mov_b32 v4, v29 // 00000000C7F0: 7E08031D v_mov_b32 v5, v30 // 00000000C7F4: 7E0A031E v_mov_b32 v6, v31 // 00000000C7F8: 7E0C031F v_mov_b32 v7, v32 // 00000000C7FC: 7E0E0320 label_3200: s_mov_b64 exec, s[34:35] // 00000000C800: BEFE0422 s_nop 0x0000 // 00000000C804: BF800000 buffer_load_dword v8, v0, s[92:95], s96 offset:8 // 00000000C808: E0300008 60170800 buffer_load_dword v9, v0, s[92:95], s96 offset:12 // 00000000C810: E030000C 60170900 buffer_load_dword v10, v0, s[92:95], s96 offset:16 // 00000000C818: E0300010 60170A00 buffer_load_dword v11, v0, s[92:95], s96 offset:20 // 00000000C820: E0300014 60170B00 buffer_load_dword v12, v0, s[92:95], s96 offset:24 // 00000000C828: E0300018 60170C00 buffer_load_dword v21, v0, s[92:95], s96 offset:28 // 00000000C830: E030001C 60171500 buffer_load_dword v22, v0, s[92:95], s96 offset:32 // 00000000C838: E0300020 60171600 buffer_load_dword v23, v0, s[92:95], s96 offset:36 // 00000000C840: E0300024 60171700 buffer_load_dword v25, v0, s[92:95], s96 offset:40 // 00000000C848: E0300028 60171900 buffer_load_dword v26, v0, s[92:95], s96 offset:44 // 00000000C850: E030002C 60171A00 buffer_load_dword v27, v0, s[92:95], s96 offset:48 // 00000000C858: E0300030 60171B00 buffer_load_dword v28, v0, s[92:95], s96 offset:52 // 00000000C860: E0300034 60171C00 buffer_load_dword v29, v0, s[92:95], s96 offset:56 // 00000000C868: E0300038 60171D00 buffer_load_dword v30, v0, s[92:95], s96 offset:60 // 00000000C870: E030003C 60171E00 buffer_load_dword v31, v0, s[92:95], s96 // 00000000C878: E0300000 60171F00 buffer_load_dword v32, v0, s[92:95], s96 offset:4 // 00000000C880: E0300004 60172000 v_mov_b32 v62, v0 // 00000000C888: 7E7C0300 v_mov_b32 v0, v8 // 00000000C88C: 7E000308 s_waitcnt vmcnt(7) // 00000000C890: BF8C0F77 v_mov_b32 v8, v25 // 00000000C894: 7E100319 v_mov_b32 v25, v62 // 00000000C898: 7E32033E v_mov_b32 v62, v1 // 00000000C89C: 7E7C0301 v_mov_b32 v1, v9 // 00000000C8A0: 7E020309 s_waitcnt vmcnt(6) // 00000000C8A4: BF8C0F76 v_mov_b32 v9, v26 // 00000000C8A8: 7E12031A v_mov_b32 v26, v62 // 00000000C8AC: 7E34033E v_mov_b32 v62, v2 // 00000000C8B0: 7E7C0302 v_mov_b32 v2, v10 // 00000000C8B4: 7E04030A s_waitcnt vmcnt(5) // 00000000C8B8: BF8C0F75 v_mov_b32 v10, v27 // 00000000C8BC: 7E14031B v_mov_b32 v27, v62 // 00000000C8C0: 7E36033E v_mov_b32 v62, v3 // 00000000C8C4: 7E7C0303 v_mov_b32 v3, v11 // 00000000C8C8: 7E06030B s_waitcnt vmcnt(4) // 00000000C8CC: BF8C0F74 v_mov_b32 v11, v28 // 00000000C8D0: 7E16031C v_mov_b32 v28, v62 // 00000000C8D4: 7E38033E v_mov_b32 v62, v4 // 00000000C8D8: 7E7C0304 v_mov_b32 v4, v12 // 00000000C8DC: 7E08030C s_waitcnt vmcnt(3) // 00000000C8E0: BF8C0F73 v_mov_b32 v12, v29 // 00000000C8E4: 7E18031D v_mov_b32 v29, v62 // 00000000C8E8: 7E3A033E v_mov_b32 v62, v5 // 00000000C8EC: 7E7C0305 v_mov_b32 v5, v21 // 00000000C8F0: 7E0A0315 s_waitcnt vmcnt(2) // 00000000C8F4: BF8C0F72 v_mov_b32 v21, v30 // 00000000C8F8: 7E2A031E v_mov_b32 v30, v62 // 00000000C8FC: 7E3C033E v_mov_b32 v62, v6 // 00000000C900: 7E7C0306 v_mov_b32 v6, v22 // 00000000C904: 7E0C0316 s_waitcnt vmcnt(1) // 00000000C908: BF8C0F71 v_mov_b32 v22, v31 // 00000000C90C: 7E2C031F v_mov_b32 v31, v62 // 00000000C910: 7E3E033E v_mov_b32 v62, v7 // 00000000C914: 7E7C0307 v_mov_b32 v7, v23 // 00000000C918: 7E0E0317 s_waitcnt vmcnt(0) // 00000000C91C: BF8C0F70 v_mov_b32 v23, v32 // 00000000C920: 7E2E0320 v_mov_b32 v32, v62 // 00000000C924: 7E40033E s_branch label_3052 // 00000000C928: BF82FE07 label_324B: s_mov_b64 exec, s[24:25] // 00000000C92C: BEFE0418 v_mov_b32 v20, 0 // 00000000C930: 7E280280 ds_read_b32 v20, v20 offset:60 // 00000000C934: D8D8003C 14000014 s_mov_b64 s[24:25], exec // 00000000C93C: BE98047E v_mov_b32 v25, 0 // 00000000C940: 7E320280 v_mov_b32 v37, v30 // 00000000C944: 7E4A031E v_mov_b32 v38, v31 // 00000000C948: 7E4C031F v_mov_b32 v39, v32 // 00000000C94C: 7E4E0320 v_mov_b32 v30, v27 // 00000000C950: 7E3C031B v_mov_b32 v31, v28 // 00000000C954: 7E3E031C v_mov_b32 v32, v29 // 00000000C958: 7E40031D v_mov_b32 v27, v1 // 00000000C95C: 7E360301 v_mov_b32 v28, v0 // 00000000C960: 7E380300 v_mov_b32 v29, v26 // 00000000C964: 7E3A031A v_mov_b32 v26, v2 // 00000000C968: 7E340302 s_nop 0x0000 // 00000000C96C: BF800000 label_325C: s_waitcnt lgkmcnt(0) // 00000000C970: BF8C007F v_cmp_ge_u32 vcc, v25, v20 // 00000000C974: 7D8C2919 s_andn2_b64 exec, exec, vcc // wrscc // 00000000C978: 8AFE6A7E s_cbranch_execz label_32FC // 00000000C97C: BF88009C s_load_dwordx4 s[32:35], s[0:1], 0x18 // 00000000C980: C0900118 v_add_i32 v23, vcc, v15, v25 // 00000000C984: 4A2E330F v_add_i32 v40, vcc, v16, v25 // 00000000C988: 4A503310 s_waitcnt lgkmcnt(0) // 00000000C98C: BF8C007F tbuffer_load_format_xyzw v[41:44], v23, s[32:35], 0 idxen format:[BUF_DATA_FORMAT_32_32_32_32,BUF_NUM_FORMAT_FLOAT] // 00000000C990: EBF32000 80082917 tbuffer_load_format_xyzw v[45:48], v40, s[32:35], 0 idxen format:[BUF_DATA_FORMAT_32_32_32_32,BUF_NUM_FORMAT_FLOAT] // 00000000C998: EBF32000 80082D28 s_waitcnt vmcnt(0) // 00000000C9A0: BF8C0F70 v_subrev_f32 v23, v43, v47 // 00000000C9A4: 0A2E5F2B v_subrev_f32 v40, v42, v46 // 00000000C9A8: 0A505D2A v_mad_f32 v46, v5, v23, v43 // 00000000C9AC: D282002E 04AE2F05 v_subrev_f32 v45, v41, v45 // 00000000C9B4: 0A5A5B29 v_mad_f32 v47, v5, v40, v42 // 00000000C9B8: D282002F 04AA5105 v_mac_f32 v43, v4, v23 // 00000000C9C0: 3E562F04 v_sub_f32 v23, v28, v46 // 00000000C9C4: 082E5D1C v_mad_f32 v49, v5, v45, v41 // 00000000C9C8: D2820031 04A65B05 v_mac_f32 v42, v4, v40 // 00000000C9D0: 3E545104 v_sub_f32 v40, v27, v47 // 00000000C9D4: 08505F1B v_sub_f32 v50, v36, v43 // 00000000C9D8: 08645724 v_mul_legacy_f32 v51, v23, v23 // 00000000C9DC: 0E662F17 v_subrev_f32 v48, v44, v48 // 00000000C9E0: 0A60612C v_mac_f32 v41, v4, v45 // 00000000C9E4: 3E525B04 v_sub_f32 v45, v26, v49 // 00000000C9E8: 085A631A v_sub_f32 v52, v35, v42 // 00000000C9EC: 08685523 v_mac_f32 v51, v40, v40 // 00000000C9F0: 3E665128 v_mul_legacy_f32 v53, v50, v50 // 00000000C9F4: 0E6A6532 v_mac_f32 v44, v5, v48 // 00000000C9F8: 3E586105 v_sub_f32 v48, v34, v41 // 00000000C9FC: 08605322 v_mac_f32 v51, v45, v45 // 00000000CA00: 3E665B2D v_mac_f32 v53, v52, v52 // 00000000CA04: 3E6A6934 v_mul_legacy_f32 v54, v23, v50 // 00000000CA08: 0E6C6517 v_mac_f32 v53, v48, v48 // 00000000CA0C: 3E6A6130 v_max_legacy_f32 v44, 0, v44 // 00000000CA10: 1C585880 v_mac_f32 v54, v52, v40 // 00000000CA14: 3E6C5134 v_add_f32 v51, 0x34000000, v51 // 00000000CA18: 066666FF 34000000 v_mad_legacy_f32 v53, -v44, v44, v53 // 00000000CA20: D2800035 24D6592C v_mac_f32 v54, v48, v45 // 00000000CA28: 3E6C5B30 v_mad_legacy_f32 v55, -v44, v44, v51 // 00000000CA2C: D2800037 24CE592C v_mad_legacy_f32 v54, -v44, v44, v54 // 00000000CA34: D2800036 24DA592C v_mul_legacy_f32 v56, v53, v55 // 00000000CA3C: 0E706F35 v_mad_legacy_f32 v56, v54, v54, -v56 // 00000000CA40: D2800038 84E26D36 v_subrev_f32 v53, v53, v54 // 00000000CA48: 0A6A6D35 v_sub_f32 v54, v54, v55 // 00000000CA4C: 086C6F36 v_sqrt_f32 v55, v56 // 00000000CA50: 7E6E6738 v_add_f32 v54, v53, v54 // 00000000CA54: 066C6D35 v_add_f32 v57, v55, v53 // 00000000CA58: 06726B37 v_rcp_f32 v58, v54 // 00000000CA5C: 7E745536 v_min_legacy_f32 v57, 0, v57 // 00000000CA60: 1A727280 v_mad_f32 v59, -v57, v58, 1.0 // 00000000CA64: D282003B 23CA7539 v_mul_legacy_f32 v60, v54, v59 // 00000000CA6C: 0E787736 v_mul_legacy_f32 v61, v44, v44 // 00000000CA70: 0E7A592C v_rcp_f32 v60, v60 // 00000000CA74: 7E78553C v_mul_f32 v57, v57, v58 // 00000000CA78: 10727539 v_mul_legacy_f32 v58, v61, v54 // 00000000CA7C: 0E746D3D v_mad_f32 v60, -v55, v60, 1.0 // 00000000CA80: D282003C 23CA7937 v_cmp_gt_f32 s[26:27], v55, v53 // 00000000CA88: D008001A 00026B37 v_cmp_lt_f32 s[30:31], v57, 1.0 // 00000000CA90: D002001E 0001E539 v_mul_legacy_f32 v53, 0xbeb851ec, v58 // 00000000CA98: 0E6A74FF BEB851EC v_rcp_f32 v55, v60 // 00000000CAA0: 7E6E553C v_cmp_gt_f32 vcc, v56, v53 // 00000000CAA4: 7C086B38 s_mov_b32 s3, 0xb4000000 // 00000000CAA8: BE8303FF B4000000 v_subrev_f32 v50, v23, v50 // 00000000CAB0: 0A646517 v_mul_f32 v53, v59, v55 // 00000000CAB4: 106A6F3B v_cmp_lt_f32 s[32:33], v54, s3 // 00000000CAB8: D0020020 00000736 v_subrev_f32 v52, v40, v52 // 00000000CAC0: 0A686928 v_mad_f32 v50, v50, v53, v23 // 00000000CAC4: D2820032 045E6B32 v_subrev_f32 v48, v45, v48 // 00000000CACC: 0A60612D v_mad_f32 v52, v52, v53, v40 // 00000000CAD0: D2820034 04A26B34 v_mul_legacy_f32 v54, v50, v50 // 00000000CAD8: 0E6C6532 s_and_b64 s[26:27], s[30:31], s[26:27] // wrscc // 00000000CADC: 879A1A1E v_mad_f32 v48, v48, v53, v45 // 00000000CAE0: D2820030 04B66B30 v_mac_f32 v54, v52, v52 // 00000000CAE8: 3E6C6934 s_and_b64 vcc, s[26:27], vcc // wrscc // 00000000CAEC: 87EA6A1A v_mac_f32 v54, v48, v48 // 00000000CAF0: 3E6C6130 s_and_b64 vcc, vcc, s[32:33] // wrscc // 00000000CAF4: 87EA206A v_add_f32 v53, 0x34000000, v54 // 00000000CAF8: 066A6CFF 34000000 v_cndmask_b32 v51, v51, v53, vcc // 00000000CB00: 00666B33 v_rsq_f32 v51, v51 // 00000000CB04: 7E665D33 v_sub_f32 v41, v49, v41 // 00000000CB08: 08525331 v_sub_f32 v42, v47, v42 // 00000000CB0C: 0854552F v_sub_f32 v43, v46, v43 // 00000000CB10: 0856572E v_cndmask_b32 v45, v45, v48, vcc // 00000000CB14: 005A612D v_cndmask_b32 v40, v40, v52, vcc // 00000000CB18: 00506928 v_cndmask_b32 v23, v23, v50, vcc // 00000000CB1C: 002E6517 v_mul_legacy_f32 v53, v44, v51 // 00000000CB20: 0E6A672C v_mad_f32 v44, v44, v51, -1.0 // 00000000CB24: D282002C 03CE672C v_add_f32 v41, v32, v41 // 00000000CB2C: 06525320 v_add_f32 v42, v37, v42 // 00000000CB30: 06545525 v_add_f32 v43, v38, v43 // 00000000CB34: 06565726 v_add_f32 v48, v49, v48 // 00000000CB38: 06606131 v_add_f32 v47, v47, v52 // 00000000CB3C: 065E692F v_add_f32 v46, v46, v50 // 00000000CB40: 065C652E v_mad_f32 v45, v45, v44, v29 // 00000000CB44: D282002D 0476592D v_mad_f32 v40, v40, v44, v30 // 00000000CB4C: D2820028 047A5928 v_mad_f32 v23, v23, v44, v31 // 00000000CB54: D2820017 047E5917 v_cndmask_b32 v41, v32, v41, s[28:29] // 00000000CB5C: D2000029 00725320 v_cndmask_b32 v42, v37, v42, s[28:29] // 00000000CB64: D200002A 00725525 v_cndmask_b32 v43, v38, v43, s[28:29] // 00000000CB6C: D200002B 00725726 v_cmp_gt_f32 s[26:27], v53, 1.0 // 00000000CB74: D008001A 0001E535 v_cndmask_b32 v26, v26, v48, vcc // 00000000CB7C: 0034611A v_cndmask_b32 v27, v27, v47, vcc // 00000000CB80: 00365F1B v_cndmask_b32 v28, v28, v46, vcc // 00000000CB84: 00385D1C v_cndmask_b32 v29, v29, v45, s[26:27] // 00000000CB88: D200001D 006A5B1D v_cndmask_b32 v30, v30, v40, s[26:27] // 00000000CB90: D200001E 006A511E v_cndmask_b32 v23, v31, v23, s[26:27] // 00000000CB98: D2000017 006A2F1F v_cndmask_b32 v31, v32, v41, s[26:27] // 00000000CBA0: D200001F 006A5320 v_cndmask_b32 v32, v37, v42, s[26:27] // 00000000CBA8: D2000020 006A5525 v_cndmask_b32 v37, v38, v43, s[26:27] // 00000000CBB0: D2000025 006A5726 v_addc_u32 v38, vcc, v39, 0, s[26:27] // 00000000CBB8: D2506A26 00690127 v_add_i32 v25, vcc, 1, v25 // 00000000CBC0: 4A323281 buffer_load_dword v39, v0, s[92:95], s96 offset:4 // 00000000CBC4: E0300004 60172700 v_mov_b32 v62, v23 // 00000000CBCC: 7E7C0317 s_waitcnt vmcnt(0) // 00000000CBD0: BF8C0F70 v_mov_b32 v23, v39 // 00000000CBD4: 7E2E0327 v_mov_b32 v39, v38 // 00000000CBD8: 7E4E0326 v_mov_b32 v38, v37 // 00000000CBDC: 7E4C0325 v_mov_b32 v37, v32 // 00000000CBE0: 7E4A0320 v_mov_b32 v32, v31 // 00000000CBE4: 7E40031F v_mov_b32 v31, v62 // 00000000CBE8: 7E3E033E s_branch label_325C // 00000000CBEC: BF82FF60 label_32FC: s_mov_b64 exec, s[24:25] // 00000000CBF0: BEFE0418 v_cmp_ne_u32 vcc, 0, v39 // 00000000CBF4: 7D8A4E80 s_and_saveexec_b64 s[24:25], vcc // wrscc // 00000000CBF8: BE98246A v_cvt_f32_u32 v20, v39 // 00000000CBFC: 7E280D27 s_cbranch_execz label_333E // 00000000CC00: BF88003D v_rcp_f32 v20, v20 // 00000000CC04: 7E285514 s_and_saveexec_b64 s[26:27], s[28:29] // wrscc // 00000000CC08: BE9A241C v_mul_legacy_f32 v25, v31, v31 // 00000000CC0C: 0E323F1F s_cbranch_execz label_3334 // 00000000CC10: BF88002F v_mac_f32 v25, v30, v30 // 00000000CC14: 3E323D1E v_mac_f32 v25, v29, v29 // 00000000CC18: 3E323B1D v_add_f32 v26, 0x34000000, v25 // 00000000CC1C: 063432FF 34000000 v_rsq_f32 v26, v26 // 00000000CC24: 7E345D1A v_mul_legacy_f32 v27, v29, v26 // 00000000CC28: 0E36351D v_mul_legacy_f32 v28, v30, v26 // 00000000CC2C: 0E38351E v_mul_legacy_f32 v39, v31, v26 // 00000000CC30: 0E4E351F s_waitcnt vmcnt(0) // 00000000CC34: BF8C0F70 v_sub_f32 v40, v2, v34 // 00000000CC38: 08504502 v_sub_f32 v41, v1, v35 // 00000000CC3C: 08524701 v_sub_f32 v42, v0, v36 // 00000000CC40: 08544900 v_mad_legacy_f32 v40, -v32, v20, v40 // 00000000CC44: D2800028 24A22920 v_mad_legacy_f32 v41, -v37, v20, v41 // 00000000CC4C: D2800029 24A62925 v_mad_legacy_f32 v42, -v38, v20, v42 // 00000000CC54: D280002A 24AA2926 v_mul_legacy_f32 v32, v39, v42 // 00000000CC5C: 0E405527 v_mac_f32 v32, v41, v28 // 00000000CC60: 3E403929 v_mac_f32 v32, v40, v27 // 00000000CC64: 3E403728 v_mad_legacy_f32 v40, -v32, v27, v40 // 00000000CC68: D2800028 24A23720 v_mad_legacy_f32 v41, -v32, v28, v41 // 00000000CC70: D2800029 24A63920 v_mad_legacy_f32 v42, -v32, v39, v42 // 00000000CC78: D280002A 24AA4F20 v_mul_legacy_f32 v27, v42, v42 // 00000000CC80: 0E36552A v_mac_f32 v27, v41, v41 // 00000000CC84: 3E365329 v_mac_f32 v27, v40, v40 // 00000000CC88: 3E365128 v_mul_legacy_f32 v25, -v13, v25 // 00000000CC8C: D20E0019 2002330D v_mul_legacy_f32 v25, v26, v25 // 00000000CC94: 0E32331A v_mul_legacy_f32 v25, v20, v25 // 00000000CC98: 0E323314 v_add_f32 v26, 0x34000000, v27 // 00000000CC9C: 063436FF 34000000 v_rsq_f32 v26, v26 // 00000000CCA4: 7E345D1A v_mul_legacy_f32 v25, v26, v25 // 00000000CCA8: 0E32331A v_max_legacy_f32 v25, -1.0, v25 // 00000000CCAC: 1C3232F3 v_mad_legacy_f32 v26, -v40, v25, v34 // 00000000CCB0: D280001A 248A3328 v_mad_legacy_f32 v27, -v41, v25, v35 // 00000000CCB8: D280001B 248E3329 v_mad_legacy_f32 v28, -v42, v25, v36 // 00000000CCC0: D280001C 2492332A buffer_store_dwordx3 v[26:28], v33, s[20:23], 0 offen // 00000000CCC8: E07C1000 80051A21 label_3334: s_mov_b64 exec, s[26:27] // 00000000CCD0: BEFE041A v_mad_f32 v25, v29, v20, v2 // 00000000CCD4: D2820019 040A291D v_mad_f32 v26, v30, v20, v1 // 00000000CCDC: D282001A 0406291E v_mad_f32 v27, v31, v20, v0 // 00000000CCE4: D282001B 0402291F v_mov_b32 v28, v24 // 00000000CCEC: 7E380318 buffer_store_dwordx4 v[25:28], v19, s[20:23], 0 offen // 00000000CCF0: E0781000 80051913 label_333E: s_mov_b64 exec, s[24:25] // 00000000CCF8: BEFE0418 v_add_i32 v0, vcc, 0x00000400, v3 // 00000000CCFC: 4A0006FF 00000400 v_mov_b32 v3, v7 // 00000000CD04: 7E060307 v_mov_b32 v2, v6 // 00000000CD08: 7E040306 v_mov_b32 v1, v5 // 00000000CD0C: 7E020305 v_mov_b32 v7, v11 // 00000000CD10: 7E0E030B v_mov_b32 v6, v10 // 00000000CD14: 7E0C030A v_mov_b32 v5, v9 // 00000000CD18: 7E0A0309 v_mov_b32 v11, v23 // 00000000CD1C: 7E160317 v_mov_b32 v10, v22 // 00000000CD20: 7E140316 v_mov_b32 v9, v21 // 00000000CD24: 7E120315 v_mov_b32 v62, v0 // 00000000CD28: 7E7C0300 v_mov_b32 v0, v4 // 00000000CD2C: 7E000304 v_mov_b32 v4, v8 // 00000000CD30: 7E080308 v_mov_b32 v8, v12 // 00000000CD34: 7E10030C v_mov_b32 v12, v62 // 00000000CD38: 7E18033E s_branch label_3020 // 00000000CD3C: BF82FCD0 label_3350: s_mov_b64 exec, s[18:19] // 00000000CD40: BEFE0412 label_3351: s_andn2_b64 exec, s[16:17], exec // wrscc // 00000000CD44: 8AFE7E10 v_mov_b32 v12, 0 // 00000000CD48: 7E180280 s_cbranch_execz label_34F4 // 00000000CD4C: BF8801A0 ds_read2_b32 v[13:14], v12 offset0:22 offset1:23 // 00000000CD50: D8DC1716 0D00000C ds_read2_b32 v[15:16], v12 offset1:56 // 00000000CD58: D8DC3800 0F00000C ds_read2_b32 v[17:18], v12 offset0:57 offset1:23 // 00000000CD60: D8DC1739 1100000C ds_read2_b32 v[19:20], v12 offset0:13 offset1:14 // 00000000CD68: D8DC0E0D 1300000C s_mov_b64 s[18:19], exec // 00000000CD70: BE92047E v_mov_b32 v12, v8 // 00000000CD74: 7E180308 label_335E: s_waitcnt lgkmcnt(2) // 00000000CD78: BF8C027F v_cmp_ge_u32 vcc, v12, v15 // 00000000CD7C: 7D8C1F0C s_andn2_b64 exec, exec, vcc // wrscc // 00000000CD80: 8AFE6A7E s_cbranch_execz label_34E4 // 00000000CD84: BF880182 v_add_i32 v21, vcc, v3, v12 // 00000000CD88: 4A2A1903 s_mov_b64 s[20:21], exec // 00000000CD8C: BE94047E s_mov_b64 s[22:23], exec // 00000000CD90: BE96047E s_waitcnt vmcnt(0) // 00000000CD94: BF8C0F70 v_mov_b32 v29, 0 // 00000000CD98: 7E3A0280 v_mov_b32 v22, 0 // 00000000CD9C: 7E2C0280 v_mov_b32 v28, 0 // 00000000CDA0: 7E380280 v_mov_b32 v23, 0 // 00000000CDA4: 7E2E0280 v_mov_b32 v27, 0 // 00000000CDA8: 7E360280 v_mov_b32 v24, 0 // 00000000CDAC: 7E300280 v_mov_b32 v62, 0 // 00000000CDB0: 7E7C0280 v_mov_b32 v26, 0 // 00000000CDB4: 7E340280 v_mov_b32 v25, 0 // 00000000CDB8: 7E320280 s_movk_i32 s24, 0x0000 // 00000000CDBC: B0180000 s_movk_i32 s25, 0x0000 // 00000000CDC0: B0190000 label_3371: s_waitcnt lgkmcnt(0) // 00000000CDC4: BF8C007F v_cmp_ge_u32 s[26:27], v25, v19 // 00000000CDC8: D18C001A 00022719 s_load_dwordx4 s[28:31], s[0:1], 0x50 // 00000000CDD0: C08E0150 v_cmp_gt_f32 s[32:33], v14, 0 // 00000000CDD4: D0080020 0001010E s_andn2_b64 vcc, s[24:25], exec // wrscc // 00000000CDDC: 8AEA7E18 s_or_b64 s[24:25], s[32:33], vcc // wrscc // 00000000CDE0: 88986A20 v_lshlrev_b32 v30, 4, v21 // 00000000CDE4: 343C2A84 s_waitcnt lgkmcnt(0) // 00000000CDE8: BF8C007F buffer_load_dwordx4 v[31:34], v30, s[28:31], 0 offen // 00000000CDEC: E0381000 80071F1E s_and_saveexec_b64 s[26:27], s[26:27] // wrscc // 00000000CDF4: BE9A241A s_andn2_b64 s[22:23], s[22:23], exec // wrscc // 00000000CDF8: 8A967E16 s_cbranch_scc0 label_343E // 00000000CDFC: BF8400BE s_and_b64 exec, s[26:27], s[22:23] // wrscc // 00000000CE00: 87FE161A s_load_dwordx8 s[36:43], s[0:1], 0x14 // 00000000CE04: C0D20114 v_add_i32 v7, vcc, v20, v25 // 00000000CE08: 4A0E3314 s_waitcnt lgkmcnt(0) // 00000000CE0C: BF8C007F tbuffer_load_format_xy v[7:8], v7, s[36:39], 0 idxen format:[BUF_DATA_FORMAT_32_32,BUF_NUM_FORMAT_FLOAT] // 00000000CE10: EBD92000 80090707 s_waitcnt vmcnt(0) // 00000000CE18: BF8C0F70 v_add_i32 v30, vcc, v16, v7 // 00000000CE1C: 4A3C0F10 v_add_i32 v7, vcc, v17, v7 // 00000000CE20: 4A0E0F11 v_add_i32 v34, vcc, v16, v8 // 00000000CE24: 4A441110 v_add_i32 v8, vcc, v17, v8 // 00000000CE28: 4A101111 tbuffer_load_format_xyzw v[35:38], v30, s[40:43], 0 idxen format:[BUF_DATA_FORMAT_32_32_32_32,BUF_NUM_FORMAT_FLOAT] // 00000000CE2C: EBF32000 800A231E tbuffer_load_format_xyzw v[39:42], v7, s[40:43], 0 idxen format:[BUF_DATA_FORMAT_32_32_32_32,BUF_NUM_FORMAT_FLOAT] // 00000000CE34: EBF32000 800A2707 tbuffer_load_format_xyzw v[43:46], v34, s[40:43], 0 idxen format:[BUF_DATA_FORMAT_32_32_32_32,BUF_NUM_FORMAT_FLOAT] // 00000000CE3C: EBF32000 800A2B22 tbuffer_load_format_xyzw v[47:50], v8, s[40:43], 0 idxen format:[BUF_DATA_FORMAT_32_32_32_32,BUF_NUM_FORMAT_FLOAT] // 00000000CE44: EBF32000 800A2F08 s_waitcnt vmcnt(2) // 00000000CE4C: BF8C0F72 v_subrev_f32 v7, v35, v39 // 00000000CE50: 0A0E4F23 v_subrev_f32 v8, v36, v40 // 00000000CE54: 0A105124 v_subrev_f32 v30, v37, v41 // 00000000CE58: 0A3C5325 v_subrev_f32 v34, v38, v42 // 00000000CE5C: 0A445526 v_mad_f32 v39, v10, v7, v35 // 00000000CE60: D2820027 048E0F0A v_mad_f32 v40, v10, v8, v36 // 00000000CE68: D2820028 0492110A v_mad_f32 v41, v10, v30, v37 // 00000000CE70: D2820029 04963D0A v_mac_f32 v38, v10, v34 // 00000000CE78: 3E4C450A s_waitcnt vmcnt(0) // 00000000CE7C: BF8C0F70 v_subrev_f32 v34, v43, v47 // 00000000CE80: 0A445F2B v_subrev_f32 v42, v44, v48 // 00000000CE84: 0A54612C v_subrev_f32 v47, v45, v49 // 00000000CE88: 0A5E632D v_subrev_f32 v48, v46, v50 // 00000000CE8C: 0A60652E v_mad_f32 v49, v10, v34, v43 // 00000000CE90: D2820031 04AE450A v_mad_f32 v50, v10, v42, v44 // 00000000CE98: D2820032 04B2550A v_mad_f32 v51, v10, v47, v45 // 00000000CEA0: D2820033 04B65F0A v_mac_f32 v46, v10, v48 // 00000000CEA8: 3E5C610A v_max_legacy_f32 v38, 0, v38 // 00000000CEAC: 1C4C4C80 v_add_f32 v48, -v39, v49 div:2 // 00000000CEB0: D2060030 38026327 v_add_f32 v52, -v40, v50 div:2 // 00000000CEB8: D2060034 38026528 v_add_f32 v53, -v41, v51 div:2 // 00000000CEC0: D2060035 38026729 v_max_legacy_f32 v46, 0, v46 // 00000000CEC8: 1C5C5C80 v_subrev_f32 v46, v38, v46 // 00000000CECC: 0A5C5D26 v_max_f32 v54, v46, v46 div:2 // 00000000CED0: D2200036 18025D2E v_mul_legacy_f32 v55, v53, v53 // 00000000CED8: 0E6E6B35 v_mac_f32 v55, v52, v52 // 00000000CEDC: 3E6E6934 v_mac_f32 v55, v48, v48 // 00000000CEE0: 3E6E6130 v_mad_legacy_f32 v56, -v54, v54, v55 // 00000000CEE4: D2800038 24DE6D36 v_cmp_le_f32 s[26:27], v56, 0 // 00000000CEEC: D006001A 00010138 v_addc_u32 v57, vcc, v25, 0, s[26:27] // 00000000CEF4: D2506A39 00690119 s_mov_b64 s[28:29], exec // 00000000CEFC: BE9C047E s_andn2_b64 exec, s[28:29], s[26:27] // wrscc // 00000000CF00: 8AFE1A1C v_rsq_f32 v58, v55 // 00000000CF04: 7E745D37 s_cbranch_execz label_342C // 00000000CF08: BF880069 v_mul_legacy_f32 v55, v55, v58 // 00000000CF0C: 0E6E7537 v_add_f32 v59, v39, v49 // 00000000CF10: 06766327 v_add_f32 v60, v40, v50 // 00000000CF14: 06786528 v_add_f32 v61, v41, v51 // 00000000CF18: 067A6729 v_mac_f32 v38, 0.5, v46 // 00000000CF1C: 3E4C5CF0 v_rsq_f32 v46, v56 // 00000000CF20: 7E5C5D38 v_mul_legacy_f32 v38, v46, v38 // 00000000CF24: 0E4C4D2E v_mul_legacy_f32 v38, v55, v38 // 00000000CF28: 0E4C4D37 v_mul_legacy_f32 v48, v48, v58 // 00000000CF2C: 0E607530 v_mul_legacy_f32 v52, v52, v58 // 00000000CF30: 0E687534 v_mul_legacy_f32 v53, v53, v58 // 00000000CF34: 0E6A7535 v_mul_legacy_f32 v46, v54, v46 // 00000000CF38: 0E5C5D36 v_mac_f32 v31, -0.5, v59 // 00000000CF3C: 3E3E76F1 v_mac_f32 v32, -0.5, v60 // 00000000CF40: 3E4078F1 v_mac_f32 v33, -0.5, v61 // 00000000CF44: 3E427AF1 v_mul_legacy_f32 v56, v53, v33 // 00000000CF48: 0E704335 v_mac_f32 v56, v32, v52 // 00000000CF4C: 3E706920 v_mac_f32 v56, v31, v48 // 00000000CF50: 3E70611F v_mac_f32 v38, v56, v46 // 00000000CF54: 3E4C5D38 v_max_legacy_f32 v38, 0, v38 // 00000000CF58: 1C4C4C80 v_mul_legacy_f32 v59, v33, v33 // 00000000CF5C: 0E764321 v_mac_f32 v59, v32, v32 // 00000000CF60: 3E764120 v_mac_f32 v59, v31, v31 // 00000000CF64: 3E763F1F v_mad_legacy_f32 v59, -v56, v56, v59 // 00000000CF68: D280003B 24EE7138 v_mul_legacy_f32 v60, v38, v38 // 00000000CF70: 0E784D26 v_cmp_gt_f32 s[30:31], v59, v60 // 00000000CF74: D008001E 0002793B v_addc_u32 v25, vcc, v25, 1, s[26:27] // 00000000CF7C: D2506A19 00690319 v_cndmask_b32 v25, v57, v25, s[30:31] // 00000000CF84: D2000019 007A3339 s_mov_b64 s[26:27], exec // 00000000CF8C: BE9A047E s_andn2_b64 exec, s[26:27], s[30:31] // wrscc // 00000000CF90: 8AFE1E1A v_mul_legacy_f32 v54, v54, v58 // 00000000CF94: 0E6C7536 s_cbranch_execz label_3426 // 00000000CF98: BF88003F v_mad_legacy_f32 v54, -v54, v54, 1.0 // 00000000CF9C: D2800036 23CA6D36 v_max_legacy_f32 v57, 0x34000000, v59 // 00000000CFA4: 1C7276FF 34000000 v_mul_legacy_f32 v46, v46, v57 // 00000000CFAC: 0E5C732E v_rsq_f32 v57, v57 // 00000000CFB0: 7E725D39 v_mad_f32 v46, v46, v57, v56 // 00000000CFB4: D282002E 04E2732E v_cmp_gt_f32 vcc, v55, abs(v46) // 00000000CFBC: D008026A 00025D37 v_mad_legacy_f32 v31, -v46, v48, v31 // 00000000CFC4: D280001F 247E612E v_mad_legacy_f32 v32, -v46, v52, v32 // 00000000CFCC: D2800020 2482692E v_mad_legacy_f32 v33, -v46, v53, v33 // 00000000CFD4: D2800021 24866B2E v_mul_legacy_f32 v38, v38, v57 // 00000000CFDC: 0E4C7326 v_mad_legacy_f32 v54, v38, v54, -v54 // 00000000CFE0: D2800036 84DA6D26 v_mad_f32 v31, v31, v54, v22 // 00000000CFE8: D282001F 045A6D1F v_mad_f32 v32, v32, v54, v23 // 00000000CFF0: D2820020 045E6D20 v_mad_f32 v33, v33, v54, v24 // 00000000CFF8: D2820021 04626D21 v_mac_f32 v35, v11, v7 // 00000000D000: 3E460F0B v_mac_f32 v36, v11, v8 // 00000000D004: 3E48110B v_mac_f32 v37, v11, v30 // 00000000D008: 3E4A3D0B v_mac_f32 v43, v11, v34 // 00000000D00C: 3E56450B v_mac_f32 v44, v11, v42 // 00000000D010: 3E58550B v_mac_f32 v45, v11, v47 // 00000000D014: 3E5A5F0B v_sub_f32 v7, v39, v35 // 00000000D018: 080E4727 v_sub_f32 v8, v40, v36 // 00000000D01C: 08104928 v_sub_f32 v30, v41, v37 // 00000000D020: 083C4B29 v_sub_f32 v34, v49, v43 // 00000000D024: 08445731 v_sub_f32 v35, v50, v44 // 00000000D028: 08465932 v_sub_f32 v36, v51, v45 // 00000000D02C: 08485B33 v_subrev_f32 v34, v7, v34 // 00000000D030: 0A444507 v_subrev_f32 v35, v8, v35 // 00000000D034: 0A464708 v_subrev_f32 v36, v30, v36 // 00000000D038: 0A48491E v_mad_f32 v37, v56, 0.5, 0.5 // 00000000D03C: D2820025 03C1E138 v_mac_f32 v7, v37, v34 // 00000000D044: 3E0E4525 v_mac_f32 v8, v37, v35 // 00000000D048: 3E104725 v_mac_f32 v30, v37, v36 // 00000000D04C: 3E3C4925 v_add_f32 v7, v26, v7 // 00000000D050: 060E0F1A v_add_f32 v8, v27, v8 // 00000000D054: 0610111B v_add_f32 v30, v28, v30 // 00000000D058: 063C3D1C v_cndmask_b32 v7, v26, v7, s[32:33] // 00000000D05C: D2000007 00820F1A v_cndmask_b32 v8, v27, v8, s[32:33] // 00000000D064: D2000008 0082111B v_cndmask_b32 v30, v28, v30, s[32:33] // 00000000D06C: D200001E 00823D1C v_cndmask_b32 v31, v22, v31, vcc // 00000000D074: 003E3F16 v_cndmask_b32 v23, v23, v32, vcc // 00000000D078: 002E4117 v_cndmask_b32 v22, v24, v33, vcc // 00000000D07C: 002C4318 v_cndmask_b32 v24, v26, v7, vcc // 00000000D080: 00300F1A v_cndmask_b32 v27, v27, v8, vcc // 00000000D084: 0036111B v_cndmask_b32 v26, v28, v30, vcc // 00000000D088: 00343D1C v_addc_u32 v29, vcc, v29, 0, vcc // 00000000D08C: D2506A1D 01A9011D v_add_i32 v25, vcc, 1, v25 // 00000000D094: 4A323281 label_3426: s_andn2_b64 exec, s[26:27], exec // wrscc // 00000000D098: 8AFE7E1A v_mov_b32 v31, v22 // 00000000D09C: 7E3E0316 v_mov_b32 v22, v24 // 00000000D0A0: 7E2C0318 v_mov_b32 v24, v26 // 00000000D0A4: 7E30031A v_mov_b32 v26, v28 // 00000000D0A8: 7E34031C s_mov_b64 exec, s[26:27] // 00000000D0AC: BEFE041A label_342C: s_andn2_b64 exec, s[28:29], exec // wrscc // 00000000D0B0: 8AFE7E1C v_mov_b32 v31, v22 // 00000000D0B4: 7E3E0316 v_mov_b32 v22, v24 // 00000000D0B8: 7E2C0318 v_mov_b32 v25, v57 // 00000000D0BC: 7E320339 v_mov_b32 v24, v26 // 00000000D0C0: 7E30031A v_mov_b32 v26, v28 // 00000000D0C4: 7E34031C s_mov_b64 exec, s[28:29] // 00000000D0C8: BEFE041C buffer_load_dword v28, v0, s[92:95], s96 // 00000000D0CC: E0300000 60171C00 buffer_load_dword v8, v0, s[92:95], s96 offset:4 // 00000000D0D4: E0300004 60170800 s_waitcnt vmcnt(1) // 00000000D0DC: BF8C0F71 v_mov_b32 v7, v28 // 00000000D0E0: 7E0E031C v_mov_b32 v28, v26 // 00000000D0E4: 7E38031A v_mov_b32 v26, v24 // 00000000D0E8: 7E340318 v_mov_b32 v24, v22 // 00000000D0EC: 7E300316 v_mov_b32 v22, v31 // 00000000D0F0: 7E2C031F s_branch label_3371 // 00000000D0F4: BF82FF33 label_343E: s_mov_b64 exec, s[20:21] // 00000000D0F8: BEFE0414 v_mov_b32 v21, 0 // 00000000D0FC: 7E2A0280 ds_read_b32 v21, v21 offset:60 // 00000000D100: D8D8003C 15000015 s_mov_b64 s[20:21], exec // 00000000D108: BE94047E v_mov_b32 v62, 0 // 00000000D10C: 7E7C0280 v_mov_b32 v25, v24 // 00000000D110: 7E320318 v_mov_b32 v24, v23 // 00000000D114: 7E300317 v_mov_b32 v23, v22 // 00000000D118: 7E2E0316 v_mov_b32 v22, 0 // 00000000D11C: 7E2C0280 label_3448: s_waitcnt lgkmcnt(0) // 00000000D120: BF8C007F v_cmp_ge_u32 vcc, v22, v21 // 00000000D124: 7D8C2B16 s_andn2_b64 exec, exec, vcc // wrscc // 00000000D128: 8AFE6A7E s_cbranch_execz label_348D // 00000000D12C: BF880041 s_load_dwordx4 s[32:35], s[0:1], 0x18 // 00000000D130: C0900118 v_add_i32 v35, vcc, v16, v22 // 00000000D134: 4A462D10 v_add_i32 v36, vcc, v17, v22 // 00000000D138: 4A482D11 v_add_i32 v22, vcc, 1, v22 // 00000000D13C: 4A2C2C81 s_waitcnt lgkmcnt(0) // 00000000D140: BF8C007F tbuffer_load_format_xyzw v[37:40], v35, s[32:35], 0 idxen format:[BUF_DATA_FORMAT_32_32_32_32,BUF_NUM_FORMAT_FLOAT] // 00000000D144: EBF32000 80082523 tbuffer_load_format_xyzw v[41:44], v36, s[32:35], 0 idxen format:[BUF_DATA_FORMAT_32_32_32_32,BUF_NUM_FORMAT_FLOAT] // 00000000D14C: EBF32000 80082924 s_waitcnt vmcnt(0) // 00000000D154: BF8C0F70 v_subrev_f32 v35, v37, v41 // 00000000D158: 0A465325 v_subrev_f32 v36, v38, v42 // 00000000D15C: 0A485526 v_subrev_f32 v41, v39, v43 // 00000000D160: 0A525727 v_subrev_f32 v42, v40, v44 // 00000000D164: 0A545928 v_mad_f32 v43, v10, v35, v37 // 00000000D168: D282002B 0496470A v_mad_f32 v44, v10, v36, v38 // 00000000D170: D282002C 049A490A v_mad_f32 v45, v10, v41, v39 // 00000000D178: D282002D 049E530A v_mac_f32 v40, v10, v42 // 00000000D180: 3E50550A v_sub_f32 v42, v31, v43 // 00000000D184: 0854571F v_sub_f32 v46, v32, v44 // 00000000D188: 085C5920 v_sub_f32 v47, v33, v45 // 00000000D18C: 085E5B21 v_mul_legacy_f32 v48, v47, v47 // 00000000D190: 0E605F2F v_mac_f32 v48, v46, v46 // 00000000D194: 3E605D2E v_mac_f32 v48, v42, v42 // 00000000D198: 3E60552A v_max_legacy_f32 v40, 0, v40 // 00000000D19C: 1C505080 v_add_f32 v48, 0x34000000, v48 // 00000000D1A0: 066060FF 34000000 v_rsq_f32 v48, v48 // 00000000D1A8: 7E605D30 v_mul_legacy_f32 v49, v40, v48 // 00000000D1AC: 0E626128 v_mad_f32 v40, v40, v48, -1.0 // 00000000D1B0: D2820028 03CE6128 v_mad_f32 v42, v42, v40, v23 // 00000000D1B8: D282002A 045E512A v_mad_f32 v46, v46, v40, v24 // 00000000D1C0: D282002E 0462512E v_mad_f32 v40, v47, v40, v25 // 00000000D1C8: D2820028 0466512F v_mac_f32 v37, v11, v35 // 00000000D1D0: 3E4A470B v_mac_f32 v38, v11, v36 // 00000000D1D4: 3E4C490B v_mac_f32 v39, v11, v41 // 00000000D1D8: 3E4E530B v_sub_f32 v35, v43, v37 // 00000000D1DC: 08464B2B v_sub_f32 v36, v44, v38 // 00000000D1E0: 08484D2C v_sub_f32 v37, v45, v39 // 00000000D1E4: 084A4F2D v_add_f32 v35, v26, v35 // 00000000D1E8: 0646471A v_add_f32 v36, v27, v36 // 00000000D1EC: 0648491B v_add_f32 v37, v28, v37 // 00000000D1F0: 064A4B1C v_cndmask_b32 v35, v26, v35, s[24:25] // 00000000D1F4: D2000023 0062471A v_cndmask_b32 v36, v27, v36, s[24:25] // 00000000D1FC: D2000024 0062491B v_cndmask_b32 v37, v28, v37, s[24:25] // 00000000D204: D2000025 00624B1C v_cmp_lt_f32 vcc, 1.0, v49 // 00000000D20C: 7C0262F2 v_cndmask_b32 v23, v23, v42, vcc // 00000000D210: 002E5517 v_cndmask_b32 v24, v24, v46, vcc // 00000000D214: 00305D18 v_cndmask_b32 v25, v25, v40, vcc // 00000000D218: 00325119 v_cndmask_b32 v26, v26, v35, vcc // 00000000D21C: 0034471A v_cndmask_b32 v27, v27, v36, vcc // 00000000D220: 0036491B v_cndmask_b32 v28, v28, v37, vcc // 00000000D224: 00384B1C v_addc_u32 v29, vcc, v29, 0, vcc // 00000000D228: D2506A1D 01A9011D s_branch label_3448 // 00000000D230: BF82FFBB label_348D: s_mov_b64 exec, s[20:21] // 00000000D234: BEFE0414 v_cmp_ne_u32 vcc, 0, v29 // 00000000D238: 7D8A3A80 s_and_saveexec_b64 s[20:21], vcc // wrscc // 00000000D23C: BE94246A v_cvt_f32_u32 v21, v29 // 00000000D240: 7E2A0D1D s_cbranch_execz label_34E0 // 00000000D244: BF88004E v_rcp_f32 v21, v21 // 00000000D248: 7E2A5515 s_and_saveexec_b64 s[22:23], s[24:25] // wrscc // 00000000D24C: BE962418 v_add_i32 v22, vcc, v7, v12 // 00000000D250: 4A2C1907 s_cbranch_execz label_34CD // 00000000D254: BF880037 v_lshlrev_b32 v22, 4, v22 // 00000000D258: 342C2C84 buffer_load_dwordx4 v[35:38], v22, s[28:31], 0 offen // 00000000D25C: E0381000 80072316 v_mul_legacy_f32 v29, v25, v25 // 00000000D264: 0E3A3319 v_mac_f32 v29, v24, v24 // 00000000D268: 3E3A3118 v_mac_f32 v29, v23, v23 // 00000000D26C: 3E3A2F17 v_add_f32 v39, 0x34000000, v29 // 00000000D270: 064E3AFF 34000000 v_rsq_f32 v39, v39 // 00000000D278: 7E4E5D27 s_waitcnt vmcnt(0) // 00000000D27C: BF8C0F70 v_sub_f32 v40, v33, v37 // 00000000D280: 08504B21 v_mul_legacy_f32 v41, v25, v39 // 00000000D284: 0E524F19 v_sub_f32 v42, v32, v36 // 00000000D288: 08544920 v_mad_legacy_f32 v40, -v28, v21, v40 // 00000000D28C: D2800028 24A22B1C v_mul_legacy_f32 v28, v24, v39 // 00000000D294: 0E384F18 v_sub_f32 v43, v31, v35 // 00000000D298: 0856471F v_mad_legacy_f32 v42, -v27, v21, v42 // 00000000D29C: D280002A 24AA2B1B v_mul_legacy_f32 v27, v41, v40 // 00000000D2A4: 0E365129 v_mul_legacy_f32 v44, v23, v39 // 00000000D2A8: 0E584F17 v_mad_legacy_f32 v43, -v26, v21, v43 // 00000000D2AC: D280002B 24AE2B1A v_mac_f32 v27, v42, v28 // 00000000D2B4: 3E36392A v_mac_f32 v27, v43, v44 // 00000000D2B8: 3E36592B v_mad_legacy_f32 v40, -v27, v41, v40 // 00000000D2BC: D2800028 24A2531B v_mad_legacy_f32 v42, -v27, v28, v42 // 00000000D2C4: D280002A 24AA391B v_mul_legacy_f32 v26, v40, v40 // 00000000D2CC: 0E345128 v_mad_legacy_f32 v43, -v27, v44, v43 // 00000000D2D0: D280002B 24AE591B v_mac_f32 v26, v42, v42 // 00000000D2D8: 3E34552A v_mac_f32 v26, v43, v43 // 00000000D2DC: 3E34572B v_mul_legacy_f32 v27, -v18, v29 // 00000000D2E0: D20E001B 20023B12 v_mul_legacy_f32 v27, v39, v27 // 00000000D2E8: 0E363727 v_add_f32 v26, 0x34000000, v26 // 00000000D2EC: 063434FF 34000000 v_mul_legacy_f32 v27, v21, v27 // 00000000D2F4: 0E363715 v_rsq_f32 v26, v26 // 00000000D2F8: 7E345D1A v_mul_legacy_f32 v26, v26, v27 // 00000000D2FC: 0E34371A v_max_legacy_f32 v26, -1.0, v26 // 00000000D300: 1C3434F3 v_mad_legacy_f32 v35, -v43, v26, v35 // 00000000D304: D2800023 248E352B v_mad_legacy_f32 v36, -v42, v26, v36 // 00000000D30C: D2800024 2492352A v_mad_legacy_f32 v37, -v40, v26, v37 // 00000000D314: D2800025 24963528 v_mov_b32 v26, v35 // 00000000D31C: 7E340323 v_mov_b32 v27, v36 // 00000000D320: 7E360324 v_mov_b32 v28, v37 // 00000000D324: 7E380325 v_mov_b32 v29, v38 // 00000000D328: 7E3A0326 buffer_store_dwordx4 v[26:29], v22, s[28:31], 0 offen // 00000000D32C: E0781000 80071A16 label_34CD: s_mov_b64 exec, s[22:23] // 00000000D334: BEFE0416 s_waitcnt vmcnt(0) // 00000000D338: BF8C0F70 v_mad_f32 v26, v23, v21, v31 // 00000000D33C: D282001A 047E2B17 v_mad_f32 v27, v24, v21, v32 // 00000000D344: D282001B 04822B18 v_mad_f32 v28, v25, v21, v33 // 00000000D34C: D282001C 04862B19 v_mul_legacy_f32 v21, v25, v25 // 00000000D354: 0E2A3319 v_mac_f32 v21, v24, v24 // 00000000D358: 3E2A3118 v_mac_f32 v21, v23, v23 // 00000000D35C: 3E2A2F17 v_mad_f32 v21, v13, v21, 1.0 // 00000000D360: D2820015 03CA2B0D v_rcp_f32 v21, v21 // 00000000D368: 7E2A5515 v_mul_f32 v21, v34, v21 // 00000000D36C: 102A2B22 v_cmp_lt_f32 vcc, 0, v13 // 00000000D370: 7C021A80 v_cndmask_b32 v29, v34, v21, vcc // 00000000D374: 003A2B22 buffer_store_dwordx4 v[26:29], v30, s[28:31], 0 offen // 00000000D378: E0781000 80071A1E label_34E0: s_mov_b64 exec, s[20:21] // 00000000D380: BEFE0414 v_add_i32 v12, vcc, 0x00000400, v12 // 00000000D384: 4A1818FF 00000400 s_branch label_335E // 00000000D38C: BF82FE7A label_34E4: s_mov_b64 exec, s[18:19] // 00000000D390: BEFE0412 s_waitcnt vmcnt(1) // 00000000D394: BF8C0F71 v_mov_b32 v62, v8 // 00000000D398: 7E7C0308 v_mov_b32 v8, v5 // 00000000D39C: 7E100305 v_mov_b32 v5, v3 // 00000000D3A0: 7E0A0303 v_mov_b32 v3, v1 // 00000000D3A4: 7E060301 v_mov_b32 v1, v10 // 00000000D3A8: 7E02030A v_mov_b32 v10, v7 // 00000000D3AC: 7E140307 v_mov_b32 v7, v4 // 00000000D3B0: 7E0E0304 v_mov_b32 v4, v2 // 00000000D3B4: 7E080302 v_mov_b32 v2, v0 // 00000000D3B8: 7E040300 v_mov_b32 v0, v11 // 00000000D3BC: 7E00030B v_mov_b32 v11, v62 // 00000000D3C0: 7E16033E v_mov_b32 v62, v6 // 00000000D3C4: 7E7C0306 v_mov_b32 v6, v9 // 00000000D3C8: 7E0C0309 v_mov_b32 v9, v62 // 00000000D3CC: 7E12033E label_34F4: s_mov_b64 exec, s[16:17] // 00000000D3D0: BEFE0410 v_mov_b32 v12, 0 // 00000000D3D4: 7E180280 ds_read_b32 v12, v12 offset:80 // 00000000D3D8: D8D80050 0C00000C s_waitcnt lgkmcnt(0) // 00000000D3E0: BF8C007F v_cmp_ne_u32 vcc, 0, v12 // 00000000D3E4: 7D8A1880 s_and_b64 exec, s[16:17], vcc // wrscc // 00000000D3E8: 87FE6A10 v_mov_b32 v13, 0 // 00000000D3EC: 7E1A0280 s_cbranch_execz label_37E3 // 00000000D3F0: BF8802E6 ds_read2_b32 v[13:14], v13 offset0:22 offset1:23 // 00000000D3F4: D8DC1716 0D00000D s_mov_b64 s[18:19], exec // 00000000D3FC: BE92047E v_mov_b32 v25, 0 // 00000000D400: 7E320280 v_mov_b32 v24, 0 // 00000000D404: 7E300280 label_3502: buffer_store_dword v25, v0, s[92:95], s96 offset:28 // 00000000D408: E070001C 60171900 v_cmp_ge_u32 vcc, v25, v12 // 00000000D410: 7D8C1919 s_andn2_b64 exec, exec, vcc // wrscc // 00000000D414: 8AFE6A7E s_cbranch_execz label_37D8 // 00000000D418: BF8802D1 s_load_dwordx4 s[20:23], s[0:1], 0x44 // 00000000D41C: C08A0144 s_waitcnt lgkmcnt(0) // 00000000D420: BF8C007F tbuffer_load_format_x v17, v25, s[20:23], 0 idxen format:[BUF_DATA_FORMAT_32,BUF_NUM_FORMAT_FLOAT] // 00000000D424: EBA02000 80051119 s_waitcnt vmcnt(0) // 00000000D42C: BF8C0F70 s_barrier // 00000000D430: BF8A0000 v_mov_b32 v18, 0 // 00000000D434: 7E240280 ds_read2_b32 v[19:20], v18 offset0:56 offset1:57 // 00000000D438: D8DC3938 13000012 ds_read2_b32 v[21:22], v18 offset0:23 offset1:13 // 00000000D440: D8DC0D17 15000012 ds_read_b32 v18, v18 offset:56 // 00000000D448: D8D80038 12000012 v_lshlrev_b32 v17, 2, v17 // 00000000D450: 34222282 v_add_i32 v23, vcc, v9, v24 // 00000000D454: 4A2E3109 v_add_i32 v15, vcc, v24, v17 // 00000000D458: 4A1E2318 buffer_store_dword v15, v0, s[92:95], s96 offset:24 // 00000000D45C: E0700018 60170F00 s_mov_b64 s[20:21], exec // 00000000D464: BE94047E v_mov_b32 v17, v23 // 00000000D468: 7E220317 v_mov_b32 v16, v11 // 00000000D46C: 7E20030B v_mov_b32 v11, v9 // 00000000D470: 7E160309 v_mov_b32 v9, v7 // 00000000D474: 7E120307 v_mov_b32 v7, v5 // 00000000D478: 7E0E0305 v_mov_b32 v5, v3 // 00000000D47C: 7E0A0303 v_mov_b32 v3, v25 // 00000000D480: 7E060319 v_mov_b32 v62, v10 // 00000000D484: 7E7C030A v_mov_b32 v10, v8 // 00000000D488: 7E140308 v_mov_b32 v8, v6 // 00000000D48C: 7E100306 v_mov_b32 v6, v4 // 00000000D490: 7E0C0304 v_mov_b32 v4, v2 // 00000000D494: 7E080302 v_mov_b32 v2, v15 // 00000000D498: 7E04030F v_mov_b32 v15, v62 // 00000000D49C: 7E1E033E label_3528: buffer_store_dword v17, v0, s[92:95], s96 offset:20 // 00000000D4A0: E0700014 60171100 v_cmp_ge_u32 vcc, v17, v2 // 00000000D4A8: 7D8C0511 s_andn2_b64 exec, exec, vcc // wrscc // 00000000D4AC: 8AFE6A7E s_cbranch_execz label_37CA // 00000000D4B0: BF88029D s_load_dwordx8 s[24:31], s[0:1], 0x48 // 00000000D4B4: C0CC0148 s_load_dwordx4 s[32:35], s[0:1], 0x50 // 00000000D4B8: C0900150 v_lshrrev_b32 v23, 1, v17 // 00000000D4BC: 2C2E2281 v_and_b32 v24, 1, v17 // 00000000D4C0: 36302281 v_cmp_ne_i32 vcc, 0, v24 // 00000000D4C4: 7D0A3080 s_waitcnt lgkmcnt(0) // 00000000D4C8: BF8C007F tbuffer_load_format_xyzw v[23:26], v23, s[24:27], 0 idxen format:[BUF_DATA_FORMAT_32_32_32_32,BUF_NUM_FORMAT_FLOAT] // 00000000D4CC: EBF32000 80061717 s_waitcnt vmcnt(0) // 00000000D4D4: BF8C0F70 v_bfe_u32 v27, v23, 0, 16 // 00000000D4D8: D290001B 02410117 v_bfe_u32 v28, v25, 0, 16 // 00000000D4E0: D290001C 02410119 v_cndmask_b32 v27, v27, v28, vcc // 00000000D4E8: 0036391B v_lshrrev_b32 v23, 16, v23 // 00000000D4EC: 2C2E2E90 v_lshrrev_b32 v25, 16, v25 // 00000000D4F0: 2C323290 v_cndmask_b32 v23, v23, v25, vcc // 00000000D4F4: 002E3317 v_bfe_u32 v25, v24, 0, 16 // 00000000D4F8: D2900019 02410118 v_bfe_u32 v28, v26, 0, 16 // 00000000D500: D290001C 0241011A v_cndmask_b32 v25, v25, v28, vcc // 00000000D508: 00323919 v_lshrrev_b32 v24, 16, v24 // 00000000D50C: 2C303090 v_lshrrev_b32 v26, 16, v26 // 00000000D510: 2C343490 v_cndmask_b32 v24, v24, v26, vcc // 00000000D514: 00303518 v_add_i32 v26, vcc, v7, v27 // 00000000D518: 4A343707 v_add_i32 v28, vcc, v7, v23 // 00000000D51C: 4A382F07 v_add_i32 v29, vcc, v7, v25 // 00000000D520: 4A3A3307 v_lshlrev_b32 v26, 4, v26 // 00000000D524: 34343484 buffer_store_dword v26, v0, s[92:95], s96 offset:8 // 00000000D528: E0700008 60171A00 v_lshlrev_b32 v28, 4, v28 // 00000000D530: 34383884 buffer_store_dword v28, v0, s[92:95], s96 offset:12 // 00000000D534: E070000C 60171C00 v_lshlrev_b32 v29, 4, v29 // 00000000D53C: 343A3A84 tbuffer_load_format_xyzw v[30:33], v24, s[28:31], 0 idxen format:[BUF_DATA_FORMAT_32_32_32_32,BUF_NUM_FORMAT_FLOAT] // 00000000D540: EBF32000 80071E18 buffer_load_dwordx3 v[34:36], v28, s[32:35], 0 offen // 00000000D548: E03C1000 8008221C buffer_load_dwordx3 v[37:39], v26, s[32:35], 0 offen // 00000000D550: E03C1000 8008251A buffer_load_dwordx3 v[40:42], v29, s[32:35], 0 offen // 00000000D558: E03C1000 8008281D s_waitcnt vmcnt(2) // 00000000D560: BF8C0F72 v_mul_legacy_f32 v24, v31, v34 // 00000000D564: 0E30451F v_mul_legacy_f32 v34, v31, v35 // 00000000D568: 0E44471F v_mul_legacy_f32 v35, v31, v36 // 00000000D56C: 0E46491F s_waitcnt vmcnt(1) // 00000000D570: BF8C0F71 v_mac_f32 v24, v37, v30 // 00000000D574: 3E303D25 v_mac_f32 v34, v38, v30 // 00000000D578: 3E443D26 v_mac_f32 v35, v39, v30 // 00000000D57C: 3E463D27 s_waitcnt vmcnt(0) // 00000000D580: BF8C0F70 v_mac_f32 v24, v40, v32 // 00000000D584: 3E304128 v_mac_f32 v34, v41, v32 // 00000000D588: 3E444129 v_mac_f32 v35, v42, v32 // 00000000D58C: 3E46412A s_mov_b64 s[22:23], exec // 00000000D590: BE96047E s_mov_b64 s[24:25], exec // 00000000D594: BE98047E v_mov_b32 v43, 0 // 00000000D598: 7E560280 v_mov_b32 v36, 0 // 00000000D59C: 7E480280 v_mov_b32 v42, 0 // 00000000D5A0: 7E540280 v_mov_b32 v37, 0 // 00000000D5A4: 7E4A0280 v_mov_b32 v41, 0 // 00000000D5A8: 7E520280 v_mov_b32 v38, 0 // 00000000D5AC: 7E4C0280 v_mov_b32 v40, 0 // 00000000D5B0: 7E500280 v_mov_b32 v39, 0 // 00000000D5B4: 7E4E0280 v_mov_b32 v62, v16 // 00000000D5B8: 7E7C0310 v_mov_b32 v16, v10 // 00000000D5BC: 7E20030A v_mov_b32 v10, v7 // 00000000D5C0: 7E140307 v_mov_b32 v7, v4 // 00000000D5C4: 7E0E0304 v_mov_b32 v4, v17 // 00000000D5C8: 7E080311 v_mov_b32 v17, v11 // 00000000D5CC: 7E22030B v_mov_b32 v11, v8 // 00000000D5D0: 7E160308 v_mov_b32 v8, v5 // 00000000D5D4: 7E100305 v_mov_b32 v5, v2 // 00000000D5D8: 7E0A0302 v_mov_b32 v2, v28 // 00000000D5DC: 7E04031C v_mov_b32 v28, v62 // 00000000D5E0: 7E38033E v_mov_b32 v62, v15 // 00000000D5E4: 7E7C030F v_mov_b32 v15, v9 // 00000000D5E8: 7E1E0309 v_mov_b32 v9, v6 // 00000000D5EC: 7E120306 v_mov_b32 v6, v3 // 00000000D5F0: 7E0C0303 v_mov_b32 v3, v26 // 00000000D5F4: 7E06031A v_mov_b32 v26, v62 // 00000000D5F8: 7E34033E s_movk_i32 s26, 0x0000 // 00000000D5FC: B01A0000 s_movk_i32 s27, 0x0000 // 00000000D600: B01B0000 s_nop 0x0000 // 00000000D604: BF800000 s_nop 0x0000 // 00000000D608: BF800000 s_nop 0x0000 // 00000000D60C: BF800000 label_3584: v_cmp_ge_u32 vcc, v36, v22 // 00000000D610: 7D8C2D24 v_cmp_gt_f32 s[28:29], v21, 0 // 00000000D614: D008001C 00010115 s_andn2_b64 s[26:27], s[26:27], exec // wrscc // 00000000D61C: 8A9A7E1A s_nop 0x0000 // 00000000D620: BF800000 s_or_b64 s[26:27], s[28:29], s[26:27] // wrscc // 00000000D624: 889A1A1C s_and_saveexec_b64 s[30:31], vcc // wrscc // 00000000D628: BE9E246A s_andn2_b64 s[24:25], s[24:25], exec // wrscc // 00000000D62C: 8A987E18 s_cbranch_scc0 label_3695 // 00000000D630: BF840108 s_and_b64 exec, s[30:31], s[24:25] // wrscc // 00000000D634: 87FE181E s_load_dwordx8 s[36:43], s[0:1], 0x14 // 00000000D638: C0D20114 v_add_i32 v2, vcc, v18, v36 // 00000000D63C: 4A044912 s_waitcnt lgkmcnt(0) // 00000000D640: BF8C007F tbuffer_load_format_xy v[2:3], v2, s[36:39], 0 idxen format:[BUF_DATA_FORMAT_32_32,BUF_NUM_FORMAT_FLOAT] // 00000000D644: EBD92000 80090202 s_waitcnt vmcnt(0) // 00000000D64C: BF8C0F70 v_add_i32 v4, vcc, v19, v2 // 00000000D650: 4A080513 v_add_i32 v2, vcc, v20, v2 // 00000000D654: 4A040514 v_add_i32 v5, vcc, v19, v3 // 00000000D658: 4A0A0713 v_add_i32 v3, vcc, v20, v3 // 00000000D65C: 4A060714 tbuffer_load_format_xyzw v[6:9], v4, s[40:43], 0 idxen format:[BUF_DATA_FORMAT_32_32_32_32,BUF_NUM_FORMAT_FLOAT] // 00000000D660: EBF32000 800A0604 tbuffer_load_format_xyzw v[44:47], v2, s[40:43], 0 idxen format:[BUF_DATA_FORMAT_32_32_32_32,BUF_NUM_FORMAT_FLOAT] // 00000000D668: EBF32000 800A2C02 tbuffer_load_format_xyzw v[48:51], v5, s[40:43], 0 idxen format:[BUF_DATA_FORMAT_32_32_32_32,BUF_NUM_FORMAT_FLOAT] // 00000000D670: EBF32000 800A3005 tbuffer_load_format_xyzw v[2:5], v3, s[40:43], 0 idxen format:[BUF_DATA_FORMAT_32_32_32_32,BUF_NUM_FORMAT_FLOAT] // 00000000D678: EBF32000 800A0203 s_waitcnt vmcnt(2) // 00000000D680: BF8C0F72 v_subrev_f32 v10, v6, v44 // 00000000D684: 0A145906 v_subrev_f32 v11, v7, v45 // 00000000D688: 0A165B07 v_subrev_f32 v15, v8, v46 // 00000000D68C: 0A1E5D08 v_subrev_f32 v16, v9, v47 // 00000000D690: 0A205F09 v_mad_f32 v17, v1, v10, v6 // 00000000D694: D2820011 041A1501 v_mad_f32 v26, v1, v11, v7 // 00000000D69C: D282001A 041E1701 v_mad_f32 v28, v1, v15, v8 // 00000000D6A4: D282001C 04221F01 v_mac_f32 v9, v1, v16 // 00000000D6AC: 3E122101 s_waitcnt vmcnt(0) // 00000000D6B0: BF8C0F70 v_subrev_f32 v2, v48, v2 // 00000000D6B4: 0A040530 v_subrev_f32 v3, v49, v3 // 00000000D6B8: 0A060731 v_subrev_f32 v4, v50, v4 // 00000000D6BC: 0A080932 v_subrev_f32 v5, v51, v5 // 00000000D6C0: 0A0A0B33 v_mad_f32 v16, v1, v2, v48 // 00000000D6C4: D2820010 04C20501 v_mad_f32 v44, v1, v3, v49 // 00000000D6CC: D282002C 04C60701 v_mad_f32 v45, v1, v4, v50 // 00000000D6D4: D282002D 04CA0901 v_mac_f32 v51, v1, v5 // 00000000D6DC: 3E660B01 v_max_legacy_f32 v5, 0, v9 // 00000000D6E0: 1C0A1280 v_add_f32 v9, -v17, v16 div:2 // 00000000D6E4: D2060009 38022111 v_add_f32 v46, -v26, v44 div:2 // 00000000D6EC: D206002E 3802591A v_add_f32 v47, -v28, v45 div:2 // 00000000D6F4: D206002F 38025B1C v_max_legacy_f32 v51, 0, v51 // 00000000D6FC: 1C666680 v_subrev_f32 v51, v5, v51 // 00000000D700: 0A666705 v_max_f32 v52, v51, v51 div:2 // 00000000D704: D2200034 18026733 v_mul_legacy_f32 v53, v47, v47 // 00000000D70C: 0E6A5F2F v_mac_f32 v53, v46, v46 // 00000000D710: 3E6A5D2E v_mac_f32 v53, v9, v9 // 00000000D714: 3E6A1309 v_mad_legacy_f32 v54, -v52, v52, v53 // 00000000D718: D2800036 24D66934 v_cmp_le_f32 s[30:31], v54, 0 // 00000000D720: D006001E 00010136 v_addc_u32 v55, vcc, v36, 0, s[30:31] // 00000000D728: D2506A37 00790124 s_mov_b64 s[36:37], exec // 00000000D730: BEA4047E s_andn2_b64 exec, s[36:37], s[30:31] // wrscc // 00000000D734: 8AFE1E24 v_rsq_f32 v56, v53 // 00000000D738: 7E705D35 s_cbranch_execz label_364B // 00000000D73C: BF88007B v_mul_legacy_f32 v53, v53, v56 // 00000000D740: 0E6A7135 v_add_f32 v57, v17, v16 // 00000000D744: 06722111 v_add_f32 v58, v26, v44 // 00000000D748: 0674591A v_add_f32 v59, v28, v45 // 00000000D74C: 06765B1C v_mac_f32 v5, 0.5, v51 // 00000000D750: 3E0A66F0 v_rsq_f32 v51, v54 // 00000000D754: 7E665D36 v_mul_legacy_f32 v5, v51, v5 // 00000000D758: 0E0A0B33 v_mul_legacy_f32 v5, v53, v5 // 00000000D75C: 0E0A0B35 v_mul_legacy_f32 v9, v9, v56 // 00000000D760: 0E127109 v_mul_legacy_f32 v46, v46, v56 // 00000000D764: 0E5C712E v_mul_legacy_f32 v47, v47, v56 // 00000000D768: 0E5E712F v_mul_legacy_f32 v51, v52, v51 // 00000000D76C: 0E666734 v_mad_f32 v54, v57, -0.5, v24 // 00000000D770: D2820036 0461E339 v_mad_f32 v57, v58, -0.5, v34 // 00000000D778: D2820039 0489E33A v_mad_f32 v58, v59, -0.5, v35 // 00000000D780: D282003A 048DE33B v_mul_legacy_f32 v59, v47, v58 // 00000000D788: 0E76752F v_mac_f32 v59, v57, v46 // 00000000D78C: 3E765D39 v_mac_f32 v59, v54, v9 // 00000000D790: 3E761336 v_mac_f32 v5, v59, v51 // 00000000D794: 3E0A673B v_max_legacy_f32 v5, 0, v5 // 00000000D798: 1C0A0A80 v_mul_legacy_f32 v60, v58, v58 // 00000000D79C: 0E78753A v_mac_f32 v60, v57, v57 // 00000000D7A0: 3E787339 v_mac_f32 v60, v54, v54 // 00000000D7A4: 3E786D36 v_mad_legacy_f32 v60, -v59, v59, v60 // 00000000D7A8: D280003C 24F2773B v_mul_legacy_f32 v61, v5, v5 // 00000000D7B0: 0E7A0B05 v_cmp_gt_f32 s[38:39], v60, v61 // 00000000D7B4: D0080026 00027B3C v_addc_u32 v36, vcc, v36, 1, s[30:31] // 00000000D7BC: D2506A24 00790324 v_cndmask_b32 v36, v55, v36, s[38:39] // 00000000D7C4: D2000024 009A4937 s_mov_b64 s[30:31], exec // 00000000D7CC: BE9E047E s_andn2_b64 exec, s[30:31], s[38:39] // wrscc // 00000000D7D0: 8AFE261E v_mul_legacy_f32 v52, v52, v56 // 00000000D7D4: 0E687134 s_cbranch_execz label_3640 // 00000000D7D8: BF880049 v_mad_legacy_f32 v52, -v52, v52, 1.0 // 00000000D7DC: D2800034 23CA6934 v_max_legacy_f32 v55, 0x34000000, v60 // 00000000D7E4: 1C6E78FF 34000000 v_mul_legacy_f32 v51, v51, v55 // 00000000D7EC: 0E666F33 v_rsq_f32 v55, v55 // 00000000D7F0: 7E6E5D37 v_mad_f32 v51, v51, v55, v59 // 00000000D7F4: D2820033 04EE6F33 v_cmp_gt_f32 vcc, v53, abs(v51) // 00000000D7FC: D008026A 00026735 v_mad_legacy_f32 v54, -v51, v9, v54 // 00000000D804: D2800036 24DA1333 v_mad_legacy_f32 v57, -v51, v46, v57 // 00000000D80C: D2800039 24E65D33 v_mad_legacy_f32 v58, -v51, v47, v58 // 00000000D814: D280003A 24EA5F33 v_mul_legacy_f32 v5, v5, v55 // 00000000D81C: 0E0A6F05 v_mad_legacy_f32 v52, v5, v52, -v52 // 00000000D820: D2800034 84D26905 v_mad_f32 v5, v54, v52, v37 // 00000000D828: D2820005 04966936 v_mad_f32 v9, v57, v52, v38 // 00000000D830: D2820009 049A6939 v_mad_f32 v46, v58, v52, v39 // 00000000D838: D282002E 049E693A v_mac_f32 v6, v0, v10 // 00000000D840: 3E0C1500 v_mac_f32 v7, v0, v11 // 00000000D844: 3E0E1700 v_mac_f32 v8, v0, v15 // 00000000D848: 3E101F00 v_mac_f32 v48, v0, v2 // 00000000D84C: 3E600500 v_mac_f32 v49, v0, v3 // 00000000D850: 3E620700 v_mac_f32 v50, v0, v4 // 00000000D854: 3E640900 v_sub_f32 v2, v17, v6 // 00000000D858: 08040D11 v_sub_f32 v3, v26, v7 // 00000000D85C: 08060F1A v_sub_f32 v4, v28, v8 // 00000000D860: 0808111C v_sub_f32 v6, v16, v48 // 00000000D864: 080C6110 v_sub_f32 v7, v44, v49 // 00000000D868: 080E632C v_sub_f32 v8, v45, v50 // 00000000D86C: 0810652D v_subrev_f32 v6, v2, v6 // 00000000D870: 0A0C0D02 v_subrev_f32 v7, v3, v7 // 00000000D874: 0A0E0F03 v_subrev_f32 v8, v4, v8 // 00000000D878: 0A101104 v_mad_f32 v10, v59, 0.5, 0.5 // 00000000D87C: D282000A 03C1E13B v_mac_f32 v2, v10, v6 // 00000000D884: 3E040D0A v_mac_f32 v3, v10, v7 // 00000000D888: 3E060F0A v_mac_f32 v4, v10, v8 // 00000000D88C: 3E08110A v_add_f32 v2, v40, v2 // 00000000D890: 06040528 v_add_f32 v3, v41, v3 // 00000000D894: 06060729 v_add_f32 v4, v42, v4 // 00000000D898: 0608092A v_cndmask_b32 v2, v40, v2, s[28:29] // 00000000D89C: D2000002 00720528 v_cndmask_b32 v3, v41, v3, s[28:29] // 00000000D8A4: D2000003 00720729 v_cndmask_b32 v4, v42, v4, s[28:29] // 00000000D8AC: D2000004 0072092A v_cndmask_b32 v5, v37, v5, vcc // 00000000D8B4: 000A0B25 v_cndmask_b32 v6, v38, v9, vcc // 00000000D8B8: 000C1326 v_cndmask_b32 v7, v39, v46, vcc // 00000000D8BC: 000E5D27 v_cndmask_b32 v2, v40, v2, vcc // 00000000D8C0: 00040528 v_cndmask_b32 v3, v41, v3, vcc // 00000000D8C4: 00060729 v_cndmask_b32 v4, v42, v4, vcc // 00000000D8C8: 0008092A v_addc_u32 v8, vcc, v43, 0, vcc // 00000000D8CC: D2506A08 01A9012B v_add_i32 v9, vcc, 1, v36 // 00000000D8D4: 4A124881 v_mov_b32 v62, v9 // 00000000D8D8: 7E7C0309 v_mov_b32 v9, v8 // 00000000D8DC: 7E120308 v_mov_b32 v8, v4 // 00000000D8E0: 7E100304 v_mov_b32 v4, v6 // 00000000D8E4: 7E080306 v_mov_b32 v6, v2 // 00000000D8E8: 7E0C0302 v_mov_b32 v2, v62 // 00000000D8EC: 7E04033E v_mov_b32 v62, v5 // 00000000D8F0: 7E7C0305 v_mov_b32 v5, v7 // 00000000D8F4: 7E0A0307 v_mov_b32 v7, v3 // 00000000D8F8: 7E0E0303 v_mov_b32 v3, v62 // 00000000D8FC: 7E06033E label_3640: s_andn2_b64 exec, s[30:31], exec // wrscc // 00000000D900: 8AFE7E1E v_mov_b32 v2, v36 // 00000000D904: 7E040324 s_cbranch_execz label_364A // 00000000D908: BF880007 v_mov_b32 v3, v37 // 00000000D90C: 7E060325 v_mov_b32 v4, v38 // 00000000D910: 7E080326 v_mov_b32 v5, v39 // 00000000D914: 7E0A0327 v_mov_b32 v6, v40 // 00000000D918: 7E0C0328 v_mov_b32 v7, v41 // 00000000D91C: 7E0E0329 v_mov_b32 v8, v42 // 00000000D920: 7E10032A v_mov_b32 v9, v43 // 00000000D924: 7E12032B label_364A: s_mov_b64 exec, s[30:31] // 00000000D928: BEFE041E label_364B: s_andn2_b64 exec, s[36:37], exec // wrscc // 00000000D92C: 8AFE7E24 v_mov_b32 v2, v55 // 00000000D930: 7E040337 s_cbranch_execz label_3655 // 00000000D934: BF880007 v_mov_b32 v3, v37 // 00000000D938: 7E060325 v_mov_b32 v4, v38 // 00000000D93C: 7E080326 v_mov_b32 v5, v39 // 00000000D940: 7E0A0327 v_mov_b32 v6, v40 // 00000000D944: 7E0C0328 v_mov_b32 v7, v41 // 00000000D948: 7E0E0329 v_mov_b32 v8, v42 // 00000000D94C: 7E10032A v_mov_b32 v9, v43 // 00000000D950: 7E12032B label_3655: s_mov_b64 exec, s[36:37] // 00000000D954: BEFE0424 buffer_load_dword v10, v0, s[92:95], s96 offset:12 // 00000000D958: E030000C 60170A00 buffer_load_dword v11, v0, s[92:95], s96 offset:8 // 00000000D960: E0300008 60170B00 buffer_load_dword v15, v0, s[92:95], s96 offset:20 // 00000000D968: E0300014 60170F00 buffer_load_dword v16, v0, s[92:95], s96 offset:24 // 00000000D970: E0300018 60171000 buffer_load_dword v17, v0, s[92:95], s96 offset:28 // 00000000D978: E030001C 60171100 buffer_load_dword v26, v0, s[92:95], s96 offset:32 // 00000000D980: E0300020 60171A00 buffer_load_dword v28, v0, s[92:95], s96 offset:36 // 00000000D988: E0300024 60171C00 buffer_load_dword v36, v0, s[92:95], s96 offset:40 // 00000000D990: E0300028 60172400 buffer_load_dword v37, v0, s[92:95], s96 offset:44 // 00000000D998: E030002C 60172500 buffer_load_dword v38, v0, s[92:95], s96 offset:48 // 00000000D9A0: E0300030 60172600 buffer_load_dword v39, v0, s[92:95], s96 offset:52 // 00000000D9A8: E0300034 60172700 buffer_load_dword v40, v0, s[92:95], s96 offset:56 // 00000000D9B0: E0300038 60172800 buffer_load_dword v41, v0, s[92:95], s96 offset:60 // 00000000D9B8: E030003C 60172900 buffer_load_dword v42, v0, s[92:95], s96 // 00000000D9C0: E0300000 60172A00 buffer_load_dword v43, v0, s[92:95], s96 offset:4 // 00000000D9C8: E0300004 60172B00 v_mov_b32 v62, v2 // 00000000D9D0: 7E7C0302 s_waitcnt vmcnt(14) // 00000000D9D4: BF8C0F7E v_mov_b32 v2, v10 // 00000000D9D8: 7E04030A s_waitcnt vmcnt(6) // 00000000D9DC: BF8C0F76 v_mov_b32 v10, v37 // 00000000D9E0: 7E140325 v_mov_b32 v37, v3 // 00000000D9E4: 7E4A0303 v_mov_b32 v3, v11 // 00000000D9E8: 7E06030B s_waitcnt vmcnt(5) // 00000000D9EC: BF8C0F75 v_mov_b32 v11, v38 // 00000000D9F0: 7E160326 v_mov_b32 v38, v4 // 00000000D9F4: 7E4C0304 v_mov_b32 v4, v15 // 00000000D9F8: 7E08030F s_waitcnt vmcnt(4) // 00000000D9FC: BF8C0F74 v_mov_b32 v15, v39 // 00000000DA00: 7E1E0327 v_mov_b32 v39, v5 // 00000000DA04: 7E4E0305 v_mov_b32 v5, v16 // 00000000DA08: 7E0A0310 s_waitcnt vmcnt(3) // 00000000DA0C: BF8C0F73 v_mov_b32 v16, v40 // 00000000DA10: 7E200328 v_mov_b32 v40, v6 // 00000000DA14: 7E500306 v_mov_b32 v6, v17 // 00000000DA18: 7E0C0311 s_waitcnt vmcnt(2) // 00000000DA1C: BF8C0F72 v_mov_b32 v17, v41 // 00000000DA20: 7E220329 v_mov_b32 v41, v7 // 00000000DA24: 7E520307 v_mov_b32 v7, v26 // 00000000DA28: 7E0E031A s_waitcnt vmcnt(1) // 00000000DA2C: BF8C0F71 v_mov_b32 v26, v42 // 00000000DA30: 7E34032A v_mov_b32 v42, v8 // 00000000DA34: 7E540308 v_mov_b32 v8, v28 // 00000000DA38: 7E10031C s_waitcnt vmcnt(0) // 00000000DA3C: BF8C0F70 v_mov_b32 v28, v43 // 00000000DA40: 7E38032B v_mov_b32 v43, v9 // 00000000DA44: 7E560309 v_mov_b32 v9, v36 // 00000000DA48: 7E120324 v_mov_b32 v36, v62 // 00000000DA4C: 7E48033E s_branch label_3584 // 00000000DA50: BF82FEEF label_3695: s_mov_b64 exec, s[22:23] // 00000000DA54: BEFE0416 v_mov_b32 v36, 0 // 00000000DA58: 7E480280 ds_read_b32 v36, v36 offset:60 // 00000000DA5C: D8D8003C 24000024 s_mov_b64 s[22:23], exec // 00000000DA64: BE96047E v_mov_b32 v62, 0 // 00000000DA68: 7E7C0280 v_mov_b32 v44, v43 // 00000000DA6C: 7E58032B v_mov_b32 v43, v42 // 00000000DA70: 7E56032A v_mov_b32 v42, v41 // 00000000DA74: 7E540329 v_mov_b32 v41, v40 // 00000000DA78: 7E520328 v_mov_b32 v40, v39 // 00000000DA7C: 7E500327 v_mov_b32 v39, v38 // 00000000DA80: 7E4E0326 v_mov_b32 v38, v37 // 00000000DA84: 7E4C0325 v_mov_b32 v37, 0 // 00000000DA88: 7E4A0280 label_36A3: s_waitcnt lgkmcnt(0) // 00000000DA8C: BF8C007F v_cmp_ge_u32 vcc, v37, v36 // 00000000DA90: 7D8C4925 s_andn2_b64 exec, exec, vcc // wrscc // 00000000DA94: 8AFE6A7E s_cbranch_execz label_36E8 // 00000000DA98: BF880041 s_load_dwordx4 s[28:31], s[0:1], 0x18 // 00000000DA9C: C08E0118 v_add_i32 v45, vcc, v19, v37 // 00000000DAA0: 4A5A4B13 v_add_i32 v46, vcc, v20, v37 // 00000000DAA4: 4A5C4B14 v_add_i32 v37, vcc, 1, v37 // 00000000DAA8: 4A4A4A81 s_waitcnt lgkmcnt(0) // 00000000DAAC: BF8C007F tbuffer_load_format_xyzw v[47:50], v45, s[28:31], 0 idxen format:[BUF_DATA_FORMAT_32_32_32_32,BUF_NUM_FORMAT_FLOAT] // 00000000DAB0: EBF32000 80072F2D tbuffer_load_format_xyzw v[51:54], v46, s[28:31], 0 idxen format:[BUF_DATA_FORMAT_32_32_32_32,BUF_NUM_FORMAT_FLOAT] // 00000000DAB8: EBF32000 8007332E s_waitcnt vmcnt(0) // 00000000DAC0: BF8C0F70 v_subrev_f32 v45, v47, v51 // 00000000DAC4: 0A5A672F v_subrev_f32 v46, v48, v52 // 00000000DAC8: 0A5C6930 v_subrev_f32 v51, v49, v53 // 00000000DACC: 0A666B31 v_subrev_f32 v52, v50, v54 // 00000000DAD0: 0A686D32 v_mad_f32 v53, v1, v45, v47 // 00000000DAD4: D2820035 04BE5B01 v_mad_f32 v54, v1, v46, v48 // 00000000DADC: D2820036 04C25D01 v_mad_f32 v55, v1, v51, v49 // 00000000DAE4: D2820037 04C66701 v_mac_f32 v50, v1, v52 // 00000000DAEC: 3E646901 v_sub_f32 v52, v24, v53 // 00000000DAF0: 08686B18 v_sub_f32 v56, v34, v54 // 00000000DAF4: 08706D22 v_sub_f32 v57, v35, v55 // 00000000DAF8: 08726F23 v_mul_legacy_f32 v58, v57, v57 // 00000000DAFC: 0E747339 v_mac_f32 v58, v56, v56 // 00000000DB00: 3E747138 v_mac_f32 v58, v52, v52 // 00000000DB04: 3E746934 v_max_legacy_f32 v50, 0, v50 // 00000000DB08: 1C646480 v_add_f32 v58, 0x34000000, v58 // 00000000DB0C: 067474FF 34000000 v_rsq_f32 v58, v58 // 00000000DB14: 7E745D3A v_mul_legacy_f32 v59, v50, v58 // 00000000DB18: 0E767532 v_mad_f32 v50, v50, v58, -1.0 // 00000000DB1C: D2820032 03CE7532 v_mad_f32 v52, v52, v50, v38 // 00000000DB24: D2820034 049A6534 v_mad_f32 v56, v56, v50, v39 // 00000000DB2C: D2820038 049E6538 v_mad_f32 v50, v57, v50, v40 // 00000000DB34: D2820032 04A26539 v_mac_f32 v47, v0, v45 // 00000000DB3C: 3E5E5B00 v_mac_f32 v48, v0, v46 // 00000000DB40: 3E605D00 v_mac_f32 v49, v0, v51 // 00000000DB44: 3E626700 v_sub_f32 v45, v53, v47 // 00000000DB48: 085A5F35 v_sub_f32 v46, v54, v48 // 00000000DB4C: 085C6136 v_sub_f32 v47, v55, v49 // 00000000DB50: 085E6337 v_add_f32 v45, v41, v45 // 00000000DB54: 065A5B29 v_add_f32 v46, v42, v46 // 00000000DB58: 065C5D2A v_add_f32 v47, v43, v47 // 00000000DB5C: 065E5F2B v_cndmask_b32 v45, v41, v45, s[26:27] // 00000000DB60: D200002D 006A5B29 v_cndmask_b32 v46, v42, v46, s[26:27] // 00000000DB68: D200002E 006A5D2A v_cndmask_b32 v47, v43, v47, s[26:27] // 00000000DB70: D200002F 006A5F2B v_cmp_lt_f32 vcc, 1.0, v59 // 00000000DB78: 7C0276F2 v_cndmask_b32 v38, v38, v52, vcc // 00000000DB7C: 004C6926 v_cndmask_b32 v39, v39, v56, vcc // 00000000DB80: 004E7127 v_cndmask_b32 v40, v40, v50, vcc // 00000000DB84: 00506528 v_cndmask_b32 v41, v41, v45, vcc // 00000000DB88: 00525B29 v_cndmask_b32 v42, v42, v46, vcc // 00000000DB8C: 00545D2A v_cndmask_b32 v43, v43, v47, vcc // 00000000DB90: 00565F2B v_addc_u32 v44, vcc, v44, 0, vcc // 00000000DB94: D2506A2C 01A9012C s_branch label_36A3 // 00000000DB9C: BF82FFBB label_36E8: s_mov_b64 exec, s[22:23] // 00000000DBA0: BEFE0416 v_cmp_ne_u32 vcc, 0, v44 // 00000000DBA4: 7D8A5880 s_and_saveexec_b64 s[22:23], vcc // wrscc // 00000000DBA8: BE96246A v_cvt_f32_u32 v36, v44 // 00000000DBAC: 7E480D2C s_cbranch_execz label_37B8 // 00000000DBB0: BF8800CB v_rcp_f32 v36, v36 // 00000000DBB4: 7E485524 v_mul_legacy_f32 v37, v38, v36 // 00000000DBB8: 0E4A4926 v_mul_legacy_f32 v44, v39, v36 // 00000000DBBC: 0E584927 v_mul_legacy_f32 v45, v40, v36 // 00000000DBC0: 0E5A4928 buffer_load_dwordx4 v[46:49], v3, s[32:35], 0 offen // 00000000DBC4: E0381000 80082E03 s_waitcnt vmcnt(0) // 00000000DBCC: BF8C0F70 v_cmp_neq_f32 vcc, 0, v49 // 00000000DBD0: 7C1A6280 s_and_saveexec_b64 s[24:25], vcc // wrscc // 00000000DBD4: BE98246A v_mac_f32 v46, v37, v30 // 00000000DBD8: 3E5C3D25 v_mac_f32 v47, v44, v30 // 00000000DBDC: 3E5E3D2C v_mac_f32 v48, v45, v30 // 00000000DBE0: 3E603D2D buffer_store_dwordx4 v[46:49], v3, s[32:35], 0 offen // 00000000DBE4: E0781000 80082E03 s_mov_b64 exec, s[24:25] // 00000000DBEC: BEFE0418 buffer_load_dwordx4 v[46:49], v2, s[32:35], 0 offen // 00000000DBF0: E0381000 80082E02 s_waitcnt vmcnt(0) // 00000000DBF8: BF8C0F70 v_cmp_neq_f32 vcc, 0, v49 // 00000000DBFC: 7C1A6280 s_and_b64 exec, s[24:25], vcc // wrscc // 00000000DC00: 87FE6A18 v_mac_f32 v46, v37, v31 // 00000000DC04: 3E5C3F25 v_mac_f32 v47, v44, v31 // 00000000DC08: 3E5E3F2C v_mac_f32 v48, v45, v31 // 00000000DC0C: 3E603F2D buffer_store_dwordx4 v[46:49], v2, s[32:35], 0 offen // 00000000DC10: E0781000 80082E02 s_mov_b64 exec, s[24:25] // 00000000DC18: BEFE0418 buffer_load_dwordx4 v[46:49], v29, s[32:35], 0 offen // 00000000DC1C: E0381000 80082E1D s_waitcnt vmcnt(0) // 00000000DC24: BF8C0F70 v_cmp_neq_f32 vcc, 0, v49 // 00000000DC28: 7C1A6280 s_and_b64 exec, s[24:25], vcc // wrscc // 00000000DC2C: 87FE6A18 v_mac_f32 v46, v37, v32 // 00000000DC30: 3E5C4125 s_cbranch_execz label_3716 // 00000000DC34: BF880008 v_mac_f32 v47, v44, v32 // 00000000DC38: 3E5E412C v_mac_f32 v48, v45, v32 // 00000000DC3C: 3E60412D v_mov_b32 v44, v46 // 00000000DC40: 7E58032E v_mov_b32 v45, v47 // 00000000DC44: 7E5A032F v_mov_b32 v46, v48 // 00000000DC48: 7E5C0330 v_mov_b32 v47, v49 // 00000000DC4C: 7E5E0331 buffer_store_dwordx4 v[44:47], v29, s[32:35], 0 offen // 00000000DC50: E0781000 80082C1D label_3716: s_mov_b64 exec, s[24:25] // 00000000DC58: BEFE0418 v_cmp_lt_f32 vcc, 0, v14 // 00000000DC5C: 7C021C80 s_and_b64 exec, s[24:25], vcc // wrscc // 00000000DC60: 87FE6A18 v_add_i32 v23, vcc, v26, v23 // 00000000DC64: 4A2E2F1A s_cbranch_execz label_3782 // 00000000DC68: BF880067 v_add_i32 v27, vcc, v26, v27 // 00000000DC6C: 4A36371A v_lshlrev_b32 v23, 4, v23 // 00000000DC70: 342E2E84 v_add_i32 v25, vcc, v26, v25 // 00000000DC74: 4A32331A v_lshlrev_b32 v27, 4, v27 // 00000000DC78: 34363684 v_lshlrev_b32 v25, 4, v25 // 00000000DC7C: 34323284 buffer_load_dwordx3 v[44:46], v23, s[32:35], 0 offen // 00000000DC80: E03C1000 80082C17 buffer_load_dwordx3 v[47:49], v27, s[32:35], 0 offen // 00000000DC88: E03C1000 80082F1B buffer_load_dwordx3 v[50:52], v25, s[32:35], 0 offen // 00000000DC90: E03C1000 80083219 v_mul_legacy_f32 v37, v40, v40 // 00000000DC98: 0E4A5128 s_waitcnt vmcnt(2) // 00000000DC9C: BF8C0F72 v_mul_legacy_f32 v46, v31, v46 // 00000000DCA0: 0E5C5D1F v_mac_f32 v37, v39, v39 // 00000000DCA4: 3E4A4F27 v_mul_legacy_f32 v45, v31, v45 // 00000000DCA8: 0E5A5B1F s_waitcnt vmcnt(1) // 00000000DCAC: BF8C0F71 v_mac_f32 v46, v49, v30 // 00000000DCB0: 3E5C3D31 v_mac_f32 v37, v38, v38 // 00000000DCB4: 3E4A4D26 v_mul_legacy_f32 v44, v31, v44 // 00000000DCB8: 0E58591F v_mac_f32 v45, v48, v30 // 00000000DCBC: 3E5A3D30 s_waitcnt vmcnt(0) // 00000000DCC0: BF8C0F70 v_mac_f32 v46, v52, v32 // 00000000DCC4: 3E5C4134 v_add_f32 v48, 0x34000000, v37 // 00000000DCC8: 06604AFF 34000000 v_mac_f32 v44, v47, v30 // 00000000DCD0: 3E583D2F v_mac_f32 v45, v51, v32 // 00000000DCD4: 3E5A4133 v_rsq_f32 v47, v48 // 00000000DCD8: 7E5E5D30 v_sub_f32 v35, v35, v46 // 00000000DCDC: 08465D23 v_mac_f32 v44, v50, v32 // 00000000DCE0: 3E584132 v_mul_legacy_f32 v46, v40, v47 // 00000000DCE4: 0E5C5F28 v_sub_f32 v34, v34, v45 // 00000000DCE8: 08445B22 v_mad_legacy_f32 v35, -v43, v36, v35 // 00000000DCEC: D2800023 248E492B v_mul_legacy_f32 v43, v39, v47 // 00000000DCF4: 0E565F27 v_sub_f32 v24, v24, v44 // 00000000DCF8: 08305918 v_mad_legacy_f32 v34, -v42, v36, v34 // 00000000DCFC: D2800022 248A492A v_mul_legacy_f32 v42, v46, v35 // 00000000DD04: 0E54472E v_mul_legacy_f32 v44, v38, v47 // 00000000DD08: 0E585F26 v_mad_legacy_f32 v24, -v41, v36, v24 // 00000000DD0C: D2800018 24624929 v_mac_f32 v42, v34, v43 // 00000000DD14: 3E545722 v_mac_f32 v42, v24, v44 // 00000000DD18: 3E545918 v_mad_legacy_f32 v35, -v42, v46, v35 // 00000000DD1C: D2800023 248E5D2A v_mad_legacy_f32 v34, -v42, v43, v34 // 00000000DD24: D2800022 248A572A v_mul_legacy_f32 v41, v35, v35 // 00000000DD2C: 0E524723 v_mad_legacy_f32 v24, -v42, v44, v24 // 00000000DD30: D2800018 2462592A v_mac_f32 v41, v34, v34 // 00000000DD38: 3E524522 v_mac_f32 v41, v24, v24 // 00000000DD3C: 3E523118 v_mul_legacy_f32 v37, -v21, v37 // 00000000DD40: D20E0025 20024B15 v_mul_legacy_f32 v37, v47, v37 // 00000000DD48: 0E4A4B2F v_add_f32 v41, 0x34000000, v41 // 00000000DD4C: 065252FF 34000000 v_mul_legacy_f32 v37, v36, v37 // 00000000DD54: 0E4A4B24 v_rsq_f32 v41, v41 // 00000000DD58: 7E525D29 v_mul_legacy_f32 v37, v41, v37 // 00000000DD5C: 0E4A4B29 v_max_legacy_f32 v37, -1.0, v37 // 00000000DD60: 1C4A4AF3 v_mul_legacy_f32 v24, v24, v37 // 00000000DD64: 0E304B18 v_mul_legacy_f32 v34, v34, v37 // 00000000DD68: 0E444B22 v_mul_legacy_f32 v35, v35, v37 // 00000000DD6C: 0E464B23 v_mul_legacy_f32 v24, -v33, v24 // 00000000DD70: D20E0018 20023121 v_mul_legacy_f32 v34, -v33, v34 // 00000000DD78: D20E0022 20024521 v_mul_legacy_f32 v33, -v33, v35 // 00000000DD80: D20E0021 20024721 buffer_load_dwordx4 v[41:44], v27, s[32:35], 0 offen // 00000000DD88: E0381000 8008291B s_waitcnt vmcnt(0) // 00000000DD90: BF8C0F70 v_cmp_neq_f32 vcc, 0, v44 // 00000000DD94: 7C1A5880 s_and_saveexec_b64 s[26:27], vcc // wrscc // 00000000DD98: BE9A246A v_mac_f32 v41, v24, v30 // 00000000DD9C: 3E523D18 v_mac_f32 v42, v34, v30 // 00000000DDA0: 3E543D22 v_mac_f32 v43, v33, v30 // 00000000DDA4: 3E563D21 buffer_store_dwordx4 v[41:44], v27, s[32:35], 0 offen // 00000000DDA8: E0781000 8008291B s_mov_b64 exec, s[26:27] // 00000000DDB0: BEFE041A buffer_load_dwordx4 v[41:44], v23, s[32:35], 0 offen // 00000000DDB4: E0381000 80082917 s_waitcnt vmcnt(0) // 00000000DDBC: BF8C0F70 v_cmp_neq_f32 vcc, 0, v44 // 00000000DDC0: 7C1A5880 s_and_b64 exec, s[26:27], vcc // wrscc // 00000000DDC4: 87FE6A1A v_mac_f32 v41, v24, v31 // 00000000DDC8: 3E523F18 v_mac_f32 v42, v34, v31 // 00000000DDCC: 3E543F22 v_mac_f32 v43, v33, v31 // 00000000DDD0: 3E563F21 buffer_store_dwordx4 v[41:44], v23, s[32:35], 0 offen // 00000000DDD4: E0781000 80082917 s_mov_b64 exec, s[26:27] // 00000000DDDC: BEFE041A buffer_load_dwordx4 v[41:44], v25, s[32:35], 0 offen // 00000000DDE0: E0381000 80082919 s_waitcnt vmcnt(0) // 00000000DDE8: BF8C0F70 v_cmp_neq_f32 vcc, 0, v44 // 00000000DDEC: 7C1A5880 s_and_b64 exec, s[26:27], vcc // wrscc // 00000000DDF0: 87FE6A1A v_mac_f32 v41, v24, v32 // 00000000DDF4: 3E524118 v_mac_f32 v42, v34, v32 // 00000000DDF8: 3E544122 v_mac_f32 v43, v33, v32 // 00000000DDFC: 3E564121 buffer_store_dwordx4 v[41:44], v25, s[32:35], 0 offen // 00000000DE00: E0781000 80082919 label_3782: s_mov_b64 exec, s[24:25] // 00000000DE08: BEFE0418 v_cmp_lt_f32 vcc, 0, v13 // 00000000DE0C: 7C021A80 s_and_b64 exec, s[24:25], vcc // wrscc // 00000000DE10: 87FE6A18 s_cbranch_execz label_37B8 // 00000000DE14: BF880032 buffer_load_dwordx4 v[41:44], v3, s[32:35], 0 offen // 00000000DE18: E0381000 80082903 buffer_load_dwordx4 v[45:48], v2, s[32:35], 0 offen // 00000000DE20: E0381000 80082D02 buffer_load_dwordx4 v[49:52], v29, s[32:35], 0 offen // 00000000DE28: E0381000 8008311D v_mov_b32 v23, 0 // 00000000DE30: 7E2E0280 ds_read_b32 v23, v23 offset:88 // 00000000DE34: D8D80058 17000017 v_mul_legacy_f32 v24, v40, v40 // 00000000DE3C: 0E305128 v_mac_f32 v24, v39, v39 // 00000000DE40: 3E304F27 v_mac_f32 v24, v38, v38 // 00000000DE44: 3E304D26 v_mul_legacy_f32 v25, v36, v36 // 00000000DE48: 0E324924 v_mul_legacy_f32 v24, v24, v25 // 00000000DE4C: 0E303318 s_waitcnt lgkmcnt(0) // 00000000DE50: BF8C007F v_mad_f32 v23, v23, v24, 1.0 // 00000000DE54: D2820017 03CA3117 v_rcp_f32 v23, v23 // 00000000DE5C: 7E2E5517 v_add_f32 v23, -1.0, v23 // 00000000DE60: 062E2EF3 v_mad_f32 v24, v30, v23, 1.0 // 00000000DE64: D2820018 03CA2F1E v_mad_f32 v25, v31, v23, 1.0 // 00000000DE6C: D2820019 03CA2F1F s_waitcnt vmcnt(2) // 00000000DE74: BF8C0F72 v_mul_legacy_f32 v33, v44, v24 // 00000000DE78: 0E42312C v_mad_f32 v23, v32, v23, 1.0 // 00000000DE7C: D2820017 03CA2F20 s_waitcnt vmcnt(1) // 00000000DE84: BF8C0F71 v_mul_legacy_f32 v25, v48, v25 // 00000000DE88: 0E323330 s_waitcnt vmcnt(0) // 00000000DE8C: BF8C0F70 v_mul_legacy_f32 v23, v52, v23 // 00000000DE90: 0E2E2F34 v_mov_b32 v30, v41 // 00000000DE94: 7E3C0329 v_mov_b32 v31, v42 // 00000000DE98: 7E3E032A v_mov_b32 v32, v43 // 00000000DE9C: 7E40032B buffer_store_dwordx4 v[30:33], v3, s[32:35], 0 offen // 00000000DEA0: E0781000 80081E03 s_nop 0x0000 // 00000000DEA8: BF800000 v_mov_b32 v30, v45 // 00000000DEAC: 7E3C032D v_mov_b32 v31, v46 // 00000000DEB0: 7E3E032E v_mov_b32 v32, v47 // 00000000DEB4: 7E40032F v_mov_b32 v33, v25 // 00000000DEB8: 7E420319 buffer_store_dwordx4 v[30:33], v2, s[32:35], 0 offen // 00000000DEBC: E0781000 80081E02 s_nop 0x0000 // 00000000DEC4: BF800000 v_mov_b32 v30, v49 // 00000000DEC8: 7E3C0331 v_mov_b32 v31, v50 // 00000000DECC: 7E3E0332 v_mov_b32 v32, v51 // 00000000DED0: 7E400333 v_mov_b32 v33, v23 // 00000000DED4: 7E420317 buffer_store_dwordx4 v[30:33], v29, s[32:35], 0 offen // 00000000DED8: E0781000 80081E1D label_37B8: s_mov_b64 exec, s[22:23] // 00000000DEE0: BEFE0416 v_add_i32 v2, vcc, 0x00001000, v4 // 00000000DEE4: 4A0408FF 00001000 v_mov_b32 v4, v7 // 00000000DEEC: 7E080307 v_mov_b32 v3, v6 // 00000000DEF0: 7E060306 v_mov_b32 v7, v10 // 00000000DEF4: 7E0E030A v_mov_b32 v6, v9 // 00000000DEF8: 7E0C0309 v_mov_b32 v10, v16 // 00000000DEFC: 7E140310 v_mov_b32 v9, v15 // 00000000DF00: 7E12030F v_mov_b32 v16, v28 // 00000000DF04: 7E20031C v_mov_b32 v15, v26 // 00000000DF08: 7E1E031A v_mov_b32 v62, v2 // 00000000DF0C: 7E7C0302 v_mov_b32 v2, v5 // 00000000DF10: 7E040305 v_mov_b32 v5, v8 // 00000000DF14: 7E0A0308 v_mov_b32 v8, v11 // 00000000DF18: 7E10030B v_mov_b32 v11, v17 // 00000000DF1C: 7E160311 v_mov_b32 v17, v62 // 00000000DF20: 7E22033E s_branch label_3528 // 00000000DF24: BF82FD5E label_37CA: s_mov_b64 exec, s[20:21] // 00000000DF28: BEFE0414 v_add_i32 v25, vcc, 1, v3 // 00000000DF2C: 4A320681 v_mov_b32 v24, v2 // 00000000DF30: 7E300302 v_mov_b32 v3, v5 // 00000000DF34: 7E060305 v_mov_b32 v2, v4 // 00000000DF38: 7E040304 v_mov_b32 v5, v7 // 00000000DF3C: 7E0A0307 v_mov_b32 v4, v6 // 00000000DF40: 7E080306 v_mov_b32 v7, v9 // 00000000DF44: 7E0E0309 v_mov_b32 v6, v8 // 00000000DF48: 7E0C0308 v_mov_b32 v9, v11 // 00000000DF4C: 7E12030B v_mov_b32 v8, v10 // 00000000DF50: 7E10030A v_mov_b32 v11, v16 // 00000000DF54: 7E160310 v_mov_b32 v10, v15 // 00000000DF58: 7E14030F s_branch label_3502 // 00000000DF5C: BF82FD2A label_37D8: s_mov_b64 exec, s[18:19] // 00000000DF60: BEFE0412 v_mov_b32 v1, v3 // 00000000DF64: 7E020303 v_mov_b32 v0, v2 // 00000000DF68: 7E000302 v_mov_b32 v3, v5 // 00000000DF6C: 7E060305 v_mov_b32 v2, v4 // 00000000DF70: 7E040304 v_mov_b32 v5, v7 // 00000000DF74: 7E0A0307 v_mov_b32 v4, v6 // 00000000DF78: 7E080306 v_mov_b32 v7, v9 // 00000000DF7C: 7E0E0309 v_mov_b32 v6, v8 // 00000000DF80: 7E0C0308 v_mov_b32 v9, v11 // 00000000DF84: 7E12030B v_mov_b32 v8, v10 // 00000000DF88: 7E10030A label_37E3: s_andn2_b64 exec, s[16:17], exec // wrscc // 00000000DF8C: 8AFE7E10 v_mov_b32 v1, v3 // 00000000DF90: 7E020303 s_cbranch_execz label_37EF // 00000000DF94: BF880009 v_mov_b32 v0, v2 // 00000000DF98: 7E000302 v_mov_b32 v3, v5 // 00000000DF9C: 7E060305 v_mov_b32 v2, v4 // 00000000DFA0: 7E040304 v_mov_b32 v5, v7 // 00000000DFA4: 7E0A0307 v_mov_b32 v4, v6 // 00000000DFA8: 7E080306 v_mov_b32 v7, v9 // 00000000DFAC: 7E0E0309 v_mov_b32 v6, v8 // 00000000DFB0: 7E0C0308 v_mov_b32 v9, v11 // 00000000DFB4: 7E12030B v_mov_b32 v8, v10 // 00000000DFB8: 7E10030A label_37EF: s_mov_b64 exec, s[16:17] // 00000000DFBC: BEFE0410 v_mov_b32 v10, 0 // 00000000DFC0: 7E140280 ds_read2_b32 v[10:11], v10 offset0:24 offset1:62 // 00000000DFC4: D8DC3E18 0A00000A s_waitcnt lgkmcnt(0) // 00000000DFCC: BF8C007F v_min_legacy_f32 v10, v10, v11 // 00000000DFD0: 1A14170A v_cmp_lt_f32 vcc, 0, v10 // 00000000DFD4: 7C021480 s_and_b64 exec, s[16:17], vcc // wrscc // 00000000DFD8: 87FE6A10 s_cbranch_execz label_502A // 00000000DFDC: BF881832 v_mov_b32 v10, 0 // 00000000DFE0: 7E140280 ds_read2_b32 v[10:11], v10 offset0:25 // 00000000DFE4: D8DC0019 0A00000A v_cmp_lt_u32 s[18:19], v9, 3 // 00000000DFEC: D1820012 00010709 s_and_saveexec_b64 s[20:21], s[18:19] // wrscc // 00000000DFF4: BE942412 ds_read2_b32 v[12:13], v6 offset0:63 offset1:64 // 00000000DFF8: D8DC403F 0C000006 s_waitcnt lgkmcnt(0) // 00000000E000: BF8C007F v_add_f32 v14, v12, v13 // 00000000E004: 061C1B0C v_madmk_f32 v13, v14, 0x38d1b717, v13 // 00000000E008: 401A1B0E 38D1B717 v_madmk_f32 v12, v14, 0x38d1b717, v12 // 00000000E010: 4018190E 38D1B717 v_add_f32 v17, v13, v12 // 00000000E018: 0622190D ds_write_b32 v7, v17 offset:32720 // 00000000E01C: D8347FD0 00001107 s_andn2_b64 exec, s[20:21], exec // wrscc // 00000000E024: 8AFE7E14 v_mov_b32 v13, 0 // 00000000E028: 7E1A0280 v_mov_b32 v17, 0 // 00000000E02C: 7E220280 s_waitcnt vmcnt(0) & lgkmcnt(0) // 00000000E030: BF8C0070 s_barrier // 00000000E034: BF8A0000 s_and_b64 exec, s[20:21], s[18:19] // wrscc // 00000000E038: 87FE1214 v_mov_b32 v14, 0x00007fd0 // 00000000E03C: 7E1C02FF 00007FD0 s_cbranch_execz label_3838 // 00000000E044: BF880026 ds_read2_b32 v[15:16], v14 offset1:1 // 00000000E048: D8DC0100 0F00000E s_waitcnt lgkmcnt(0) // 00000000E050: BF8C007F v_cmp_gt_f32 vcc, v15, v16 // 00000000E054: 7C08210F v_mov_b32 v15, 0x00007fd4 // 00000000E058: 7E1E02FF 00007FD4 v_cndmask_b32 v14, v14, v15, vcc // 00000000E060: 001C1F0E v_mov_b32 v15, 0 // 00000000E064: 7E1E0280 ds_read_b32 v14, v14 // 00000000E068: D8D80000 0E00000E ds_read_b32 v16, v15 offset:32728 // 00000000E070: D8D87FD8 1000000F ds_read_b32 v15, v15 offset:96 // 00000000E078: D8D80060 0F00000F s_waitcnt lgkmcnt(1) // 00000000E080: BF8C017F v_cmp_ngt_f32 s[18:19], v14, v16 // 00000000E084: D0160012 0002210E v_cndmask_b32 v14, 0, -1, vcc // 00000000E08C: D200000E 01A98280 v_cndmask_b32 v14, -2, v14, s[18:19] // 00000000E094: D200000E 004A1CC2 v_add_i32 v14, vcc, v9, v14 // 00000000E09C: 4A1C1D09 v_lshrrev_b32 v16, 30, v14 // 00000000E0A0: 2C201C9E v_rcp_f32 v12, v17 // 00000000E0A4: 7E185511 v_add_i32 v14, vcc, v14, v16 // 00000000E0A8: 4A1C210E v_mul_f32 v12, 0x42fe0000, v12 // 00000000E0AC: 101818FF 42FE0000 s_waitcnt lgkmcnt(0) // 00000000E0B4: BF8C007F v_rcp_f32 v15, v15 // 00000000E0B8: 7E1E550F v_min_legacy_f32 v12, v12, v15 // 00000000E0BC: 1A181F0C v_lshlrev_b32 v14, 2, v14 // 00000000E0C0: 341C1C82 v_mul_legacy_f32 v13, v13, v12 // 00000000E0C4: 0E1A190D v_add_i32 v15, vcc, 0x00007fa8, v14 // 00000000E0C8: 4A1E1CFF 00007FA8 ds_write2_b32 v15, v12, v13 offset0:3 // 00000000E0D0: D8380003 000D0C0F ds_write_b32 v14, v9 offset:32704 // 00000000E0D8: D8347FC0 0000090E label_3838: s_mov_b64 exec, s[20:21] // 00000000E0E0: BEFE0414 s_waitcnt lgkmcnt(0) // 00000000E0E4: BF8C007F s_barrier // 00000000E0E8: BF8A0000 v_mov_b32 v12, 0 // 00000000E0EC: 7E180280 ds_read2_b32 v[12:13], v12 offset0:28 offset1:73 // 00000000E0F0: D8DC491C 0C00000C v_lshlrev_b32 v14, 1, v10 // 00000000E0F8: 341C1481 s_waitcnt lgkmcnt(0) // 00000000E0FC: BF8C007F v_add_i32 v14, vcc, v12, v14 // 00000000E100: 4A1C1D0C v_cmp_ne_u32 vcc, 0, v13 // 00000000E104: 7D8A1A80 s_and_saveexec_b64 s[18:19], vcc // wrscc // 00000000E108: BE92246A s_cbranch_execz label_3858 // 00000000E10C: BF880014 s_mov_b64 s[20:21], exec // 00000000E110: BE94047E s_mov_b64 s[22:23], exec // 00000000E114: BE96047E v_mov_b32 v13, v9 // 00000000E118: 7E1A0309 s_nop 0x0000 // 00000000E11C: BF800000 label_3848: s_movk_i32 s3, 0x4103 // 00000000E120: B0034103 v_cmp_ge_i32 s[24:25], v13, s3 // 00000000E124: D10C0018 0000070D s_and_saveexec_b64 s[24:25], s[24:25] // wrscc // 00000000E12C: BE982418 s_andn2_b64 s[22:23], s[22:23], exec // wrscc // 00000000E130: 8A967E16 s_cbranch_scc0 label_3858 // 00000000E134: BF84000A s_mov_b64 exec, s[22:23] // 00000000E138: BEFE0416 s_load_dwordx4 s[24:27], s[0:1], 0x58 // 00000000E13C: C08C0158 v_add_i32 v15, vcc, v14, v13 // 00000000E140: 4A1E1B0E v_mov_b32 v16, -1 // 00000000E144: 7E2002C1 s_waitcnt lgkmcnt(0) // 00000000E148: BF8C007F buffer_store_dword v16, v15, s[24:27], 0 idxen // 00000000E14C: E0702000 8006100F v_add_i32 v13, vcc, 0x00000400, v13 // 00000000E154: 4A1A1AFF 00000400 s_branch label_3848 // 00000000E15C: BF82FFF0 label_3858: s_mov_b64 exec, s[18:19] // 00000000E160: BEFE0412 v_mov_b32 v13, 0x00007fb8 // 00000000E164: 7E1A02FF 00007FB8 ds_read2_b32 v[15:16], v13 offset1:1 // 00000000E16C: D8DC0100 0F00000D v_mov_b32 v17, 0x00007fac // 00000000E174: 7E2202FF 00007FAC ds_read2_b32 v[17:18], v17 offset1:1 // 00000000E17C: D8DC0100 11000011 ds_read2_b32 v[19:20], v13 offset0:3 offset1:4 // 00000000E184: D8DC0403 1300000D v_mov_b32 v13, 0 // 00000000E18C: 7E1A0280 ds_read_b32 v13, v13 offset:104 // 00000000E190: D8D80068 0D00000D s_mov_b64 s[18:19], exec // 00000000E198: BE92047E v_mov_b32 v21, v9 // 00000000E19C: 7E2A0309 label_3868: v_cmp_ge_i32 vcc, v21, v10 // 00000000E1A0: 7D0C1515 s_andn2_b64 exec, exec, vcc // wrscc // 00000000E1A4: 8AFE6A7E s_cbranch_execz label_38A5 // 00000000E1A8: BF88003A s_load_dwordx4 s[20:23], s[0:1], 0x38 // 00000000E1AC: C08A0138 s_waitcnt lgkmcnt(0) // 00000000E1B0: BF8C007F v_add_i32 v22, vcc, v13, v21 // 00000000E1B4: 4A2C2B0D tbuffer_load_format_x v22, v22, s[20:23], 0 idxen format:[BUF_DATA_FORMAT_32,BUF_NUM_FORMAT_FLOAT] // 00000000E1B8: EBA02000 80051616 v_cmp_ne_i32 s[20:21], v13, -1 // 00000000E1C0: D10A0014 0001830D s_load_dwordx4 s[24:27], s[0:1], 0x50 // 00000000E1C8: C08C0150 s_waitcnt vmcnt(0) // 00000000E1CC: BF8C0F70 v_cndmask_b32 v22, v21, v22, s[20:21] // 00000000E1D0: D2000016 00522D15 v_add_i32 v23, vcc, v3, v22 // 00000000E1D8: 4A2E2D03 v_lshlrev_b32 v23, 4, v23 // 00000000E1DC: 342E2E84 s_waitcnt lgkmcnt(0) // 00000000E1E0: BF8C007F buffer_load_dwordx4 v[23:26], v23, s[24:27], 0 offen // 00000000E1E4: E0381000 80061717 v_readfirstlane_b32 s3, v19 // 00000000E1EC: 7E060513 v_readfirstlane_b32 s20, v20 // 00000000E1F0: 7E280514 s_lshl_b32 s3, s3, 4 // wrscc // 00000000E1F4: 8F038403 s_lshl_b32 s20, s20, 4 // wrscc // 00000000E1F8: 8F148414 s_nop 0x0000 // 00000000E1FC: BF800000 s_buffer_load_dwordx4 s[24:27], s[4:7], s3 // 00000000E200: C28C0403 s_buffer_load_dwordx4 s[20:23], s[4:7], s20 // 00000000E204: C28A0414 s_waitcnt vmcnt(0) & lgkmcnt(0) // 00000000E208: BF8C0070 v_mul_legacy_f32 v27, s27, v26 // 00000000E20C: 0E36341B v_mul_legacy_f32 v26, s23, v26 // 00000000E210: 0E343417 v_mac_f32 v27, s26, v25 // 00000000E214: 3E36321A v_mac_f32 v26, s22, v25 // 00000000E218: 3E343216 v_mac_f32 v27, s25, v24 // 00000000E21C: 3E363019 v_mac_f32 v26, s21, v24 // 00000000E220: 3E343015 v_mac_f32 v27, s24, v23 // 00000000E224: 3E362E18 v_mac_f32 v26, s20, v23 // 00000000E228: 3E342E14 v_mad_f32 v23, v27, v15, v17 // 00000000E22C: D2820017 04461F1B v_mad_f32 v24, v26, v16, v18 // 00000000E234: D2820018 044A211A s_mov_b32 s3, 0x42ff0000 // 00000000E23C: BE8303FF 42FF0000 v_med3_f32 v24, v24, s3, 0 // 00000000E244: D2AE0018 02000718 v_med3_f32 v23, v23, s3, 0 // 00000000E24C: D2AE0017 02000717 v_cvt_i32_f32 v24, v24 // 00000000E254: 7E301118 v_cvt_i32_f32 v23, v23 // 00000000E258: 7E2E1117 v_lshlrev_b32 v24, 23, v24 // 00000000E25C: 34303097 v_lshlrev_b32 v23, 16, v23 // 00000000E260: 342E2E90 s_load_dwordx4 s[20:23], s[0:1], 0x58 // 00000000E264: C08A0158 v_add_i32 v23, vcc, v24, v23 // 00000000E268: 4A2E2F18 v_add_i32 v23, vcc, 0x00810000, v23 // 00000000E26C: 4A2E2EFF 00810000 v_add_i32 v24, vcc, v12, v21 // 00000000E274: 4A302B0C v_or_b32 v22, v22, v23 // 00000000E278: 382C2F16 s_waitcnt lgkmcnt(0) // 00000000E27C: BF8C007F buffer_store_dword v22, v24, s[20:23], 0 idxen // 00000000E280: E0702000 80051618 v_add_i32 v21, vcc, 0x00000400, v21 // 00000000E288: 4A2A2AFF 00000400 s_branch label_3868 // 00000000E290: BF82FFC3 label_38A5: s_mov_b64 exec, s[18:19] // 00000000E294: BEFE0412 s_waitcnt vmcnt(0) & lgkmcnt(0) // 00000000E298: BF8C0070 s_barrier // 00000000E29C: BF8A0000 v_mov_b32 v12, 0 // 00000000E2A0: 7E180280 ds_read2_b32 v[12:13], v12 offset0:27 offset1:28 // 00000000E2A4: D8DC1C1B 0C00000C s_waitcnt lgkmcnt(0) // 00000000E2AC: BF8C007F v_add_i32 v21, vcc, v10, v13 // 00000000E2B0: 4A2A1B0A s_mov_b64 s[18:19], exec // 00000000E2B4: BE92047E v_mov_b32 v22, v9 // 00000000E2B8: 7E2C0309 label_38AF: v_cmp_ge_i32 vcc, v22, v11 // 00000000E2BC: 7D0C1716 s_andn2_b64 exec, exec, vcc // wrscc // 00000000E2C0: 8AFE6A7E s_cbranch_execz label_38BF // 00000000E2C4: BF88000D s_load_dwordx8 s[20:27], s[0:1], 0x50 // 00000000E2C8: C0CA0150 v_add_i32 v23, vcc, v3, v22 // 00000000E2CC: 4A2E2D03 v_lshlrev_b32 v23, 4, v23 // 00000000E2D0: 342E2E84 s_waitcnt lgkmcnt(0) // 00000000E2D4: BF8C007F buffer_load_dwordx4 v[23:26], v23, s[20:23], 0 offen // 00000000E2D8: E0381000 80051717 v_add_i32 v27, vcc, v12, v22 // 00000000E2E0: 4A362D0C s_waitcnt vmcnt(0) // 00000000E2E4: BF8C0F70 buffer_store_dwordx4 v[23:26], v27, s[24:27], 0 idxen // 00000000E2E8: E0782000 8006171B v_add_i32 v22, vcc, 0x00000400, v22 // 00000000E2F0: 4A2C2CFF 00000400 s_branch label_38AF // 00000000E2F8: BF82FFF0 label_38BF: s_mov_b64 exec, s[18:19] // 00000000E2FC: BEFE0412 s_waitcnt vmcnt(0) // 00000000E300: BF8C0F70 s_barrier // 00000000E304: BF8A0000 v_add_i32 v12, vcc, 31, v10 // 00000000E308: 4A18149F v_bfe_u32 v22, v12, 5, 5 // 00000000E30C: D2900016 02150B0C v_lshrrev_b32 v12, 10, v12 // 00000000E314: 2C18188A v_cmp_gt_u32 s[18:19], v22, v2 // 00000000E318: D1880012 00020516 v_addc_u32 v23, vcc, v12, 0, s[18:19] // 00000000E320: D2506A17 0049010C v_cndmask_b32 v24, 1, 0, s[18:19] // 00000000E328: D2000018 00490081 v_mul_lo_i32 v24, v22, v24 // 00000000E330: D2D60018 00023116 v_mul_lo_i32 v25, v2, v23 // 00000000E338: D2D60019 00022F02 v_add_i32 v24, vcc, v24, v25 // 00000000E340: 4A303318 v_lshlrev_b32 v23, 5, v23 // 00000000E344: 342E2E85 v_lshlrev_b32 v24, 5, v24 // 00000000E348: 34303085 v_add_i32 v23, vcc, v23, v24 // 00000000E34C: 4A2E3117 v_min_u32 v23, v10, v23 // 00000000E350: 262E2F0A v_bfi_b32 v24, 31, v9, v24 // 00000000E354: D2940018 0462129F s_mov_b64 s[20:21], exec // 00000000E35C: BE94047E s_mov_b64 s[22:23], exec // 00000000E360: BE96047E v_mov_b32 v26, 0 // 00000000E364: 7E340280 v_mov_b32 v25, 0 // 00000000E368: 7E320280 v_mov_b32 v27, v24 // 00000000E36C: 7E360318 s_movk_i32 s24, 0x0000 // 00000000E370: B0180000 s_movk_i32 s25, 0x0000 // 00000000E374: B0190000 s_movk_i32 s26, 0x0000 // 00000000E378: B01A0000 s_movk_i32 s27, 0x0000 // 00000000E37C: B01B0000 s_movk_i32 s28, 0x0000 // 00000000E380: B01C0000 s_movk_i32 s29, 0x0000 // 00000000E384: B01D0000 s_movk_i32 s30, 0x0000 // 00000000E388: B01E0000 s_movk_i32 s31, 0x0000 // 00000000E38C: B01F0000 s_movk_i32 s32, 0x0000 // 00000000E390: B0200000 s_movk_i32 s33, 0x0000 // 00000000E394: B0210000 s_movk_i32 s34, 0x0000 // 00000000E398: B0220000 s_movk_i32 s35, 0x0000 // 00000000E39C: B0230000 s_movk_i32 s36, 0x0000 // 00000000E3A0: B0240000 s_movk_i32 s37, 0x0000 // 00000000E3A4: B0250000 s_movk_i32 s38, 0x0000 // 00000000E3A8: B0260000 s_movk_i32 s39, 0x0000 // 00000000E3AC: B0270000 label_38EC: v_cmp_ge_u32 s[40:41], v26, v12 // 00000000E3B0: D18C0028 0002191A v_mov_b32 v28, 0x00000c00 // 00000000E3B8: 7E3802FF 00000C00 s_movk_i32 s3, 0x03ff // 00000000E3C0: B00303FF v_mov_b32 v29, 0x00000800 // 00000000E3C4: 7E3A02FF 00000800 s_movk_i32 s42, 0x07ff // 00000000E3CC: B02A07FF v_mov_b32 v30, 0x00000400 // 00000000E3D0: 7E3C02FF 00000400 v_and_b32 v31, 1, v9 // 00000000E3D8: 363E1281 v_and_b32 v32, 2, v9 // 00000000E3DC: 36401282 v_and_b32 v33, 0x000003e0, v9 // 00000000E3E0: 364212FF 000003E0 v_and_b32 v34, 4, v9 // 00000000E3E8: 36441284 v_and_b32 v35, 8, v9 // 00000000E3EC: 36461288 v_bfi_b32 v28, s3, v9, v28 // 00000000E3F0: D294001C 04721203 v_bfi_b32 v29, s42, v9, v29 // 00000000E3F8: D294001D 0476122A v_bfi_b32 v30, s3, v9, v30 // 00000000E400: D294001E 047A1203 v_add_i32 v31, vcc, -1, v31 // 00000000E408: 4A3E3EC1 v_cmp_eq_i32 s[42:43], v32, 0 // 00000000E40C: D104002A 00010120 s_andn2_b64 vcc, s[34:35], exec // wrscc // 00000000E414: 8AEA7E22 s_or_b64 s[34:35], s[42:43], vcc // wrscc // 00000000E418: 88A26A2A v_lshlrev_b32 v32, 2, v33 // 00000000E41C: 34404282 v_cmp_eq_i32 s[44:45], v34, 0 // 00000000E420: D104002C 00010122 s_andn2_b64 vcc, s[36:37], exec // wrscc // 00000000E428: 8AEA7E24 s_or_b64 s[36:37], s[44:45], vcc // wrscc // 00000000E42C: 88A46A2C v_cmp_eq_i32 s[46:47], v35, 0 // 00000000E430: D104002E 00010123 s_andn2_b64 vcc, s[38:39], exec // wrscc // 00000000E438: 8AEA7E26 s_or_b64 s[38:39], s[46:47], vcc // wrscc // 00000000E43C: 88A66A2E v_cmp_lt_u32 s[48:49], v0, 16 // 00000000E440: D1820030 00012100 s_andn2_b64 vcc, s[24:25], exec // wrscc // 00000000E448: 8AEA7E18 s_or_b64 s[24:25], s[48:49], vcc // wrscc // 00000000E44C: 88986A30 v_cmp_lt_u32 s[50:51], v0, 8 // 00000000E450: D1820032 00011100 s_andn2_b64 vcc, s[26:27], exec // wrscc // 00000000E458: 8AEA7E1A s_or_b64 s[26:27], s[50:51], vcc // wrscc // 00000000E45C: 889A6A32 v_cmp_lt_u32 s[52:53], v0, 4 // 00000000E460: D1820034 00010900 s_andn2_b64 vcc, s[28:29], exec // wrscc // 00000000E468: 8AEA7E1C s_or_b64 s[28:29], s[52:53], vcc // wrscc // 00000000E46C: 889C6A34 v_cmp_lt_u32 s[54:55], v0, 2 // 00000000E470: D1820036 00010500 s_andn2_b64 vcc, s[30:31], exec // wrscc // 00000000E478: 8AEA7E1E s_or_b64 s[30:31], s[54:55], vcc // wrscc // 00000000E47C: 889E6A36 v_cmp_lt_u32 s[56:57], v0, 1 // 00000000E480: D1820038 00010300 s_andn2_b64 vcc, s[32:33], exec // wrscc // 00000000E488: 8AEA7E20 s_or_b64 s[32:33], s[56:57], vcc // wrscc // 00000000E48C: 88A06A38 v_lshlrev_b32 v28, 2, v28 // 00000000E490: 34383882 v_lshlrev_b32 v29, 2, v29 // 00000000E494: 343A3A82 v_lshlrev_b32 v30, 2, v30 // 00000000E498: 343C3C82 s_and_saveexec_b64 s[40:41], s[40:41] // wrscc // 00000000E49C: BEA82428 s_andn2_b64 s[22:23], s[22:23], exec // wrscc // 00000000E4A0: 8A967E16 s_cbranch_scc0 label_3A1D // 00000000E4A4: BF8400F3 s_and_b64 exec, s[40:41], s[22:23] // wrscc // 00000000E4A8: 87FE1628 s_load_dwordx4 s[60:63], s[0:1], 0x58 // 00000000E4AC: C09E0158 v_cmp_gt_u32 s[40:41], v23, v27 // 00000000E4B0: D1880028 00023717 v_add_i32 v33, vcc, v13, v27 // 00000000E4B8: 4A42370D v_bfm_b32 v34, 1, v9 // 00000000E4BC: 3C441281 s_waitcnt lgkmcnt(0) // 00000000E4C0: BF8C007F buffer_load_dword v33, v33, s[60:63], 0 idxen // 00000000E4C4: E0302000 800F2121 s_waitcnt vmcnt(0) // 00000000E4CC: BF8C0F70 v_cndmask_b32 v33, -1, v33, s[40:41] // 00000000E4D0: D2000021 00A242C1 v_bfe_u32 v35, v33, 16, 1 // 00000000E4D8: D2900023 02052121 v_cmp_ne_i32 vcc, 0, v35 // 00000000E4E0: 7D0A4680 v_cndmask_b32 v35, 0, -1, vcc // 00000000E4E4: D2000023 01A98280 v_lshl_b32 v35, v35, v9 // 00000000E4EC: 32461323 v_bfi_b32 v35, v34, v35, 0 // 00000000E4F0: D2940023 02024722 ds_write_b32 v7, v35 offset:408 // 00000000E4F8: D8340198 00002307 v_lshrrev_b32 v33, 16, v33 // 00000000E500: 2C424290 v_and_b32 v35, 2, v33 // 00000000E504: 36464282 v_cmp_ne_i32 vcc, 0, v35 // 00000000E508: 7D0A4680 v_cndmask_b32 v35, 0, -1, vcc // 00000000E50C: D2000023 01A98280 v_lshl_b32 v35, v35, v9 // 00000000E514: 32461323 v_bfi_b32 v35, v34, v35, 0 // 00000000E518: D2940023 02024722 ds_write_b32 v30, v35 offset:408 // 00000000E520: D8340198 0000231E v_and_b32 v35, 4, v33 // 00000000E528: 36464284 v_cmp_ne_i32 vcc, 0, v35 // 00000000E52C: 7D0A4680 v_cndmask_b32 v35, 0, -1, vcc // 00000000E530: D2000023 01A98280 v_lshl_b32 v35, v35, v9 // 00000000E538: 32461323 v_bfi_b32 v35, v34, v35, 0 // 00000000E53C: D2940023 02024722 ds_write_b32 v29, v35 offset:408 // 00000000E544: D8340198 0000231D v_and_b32 v33, 8, v33 // 00000000E54C: 36424288 v_cmp_ne_i32 vcc, 0, v33 // 00000000E550: 7D0A4280 v_cndmask_b32 v33, 0, -1, vcc // 00000000E554: D2000021 01A98280 v_lshl_b32 v33, v33, v9 // 00000000E55C: 32421321 v_bfi_b32 v33, v34, v33, 0 // 00000000E560: D2940021 02024322 ds_write_b32 v28, v33 offset:408 // 00000000E568: D8340198 0000211C s_waitcnt lgkmcnt(0) // 00000000E570: BF8C007F s_barrier // 00000000E574: BF8A0000 s_and_saveexec_b64 s[40:41], s[48:49] // wrscc // 00000000E578: BEA82430 s_cbranch_execz label_397D // 00000000E57C: BF88001D ds_read2_b32 v[33:34], v7 offset0:102 offset1:118 // 00000000E580: D8DC7666 21000007 ds_read_b32 v35, v30 offset:408 // 00000000E588: D8D80198 2300001E ds_read_b32 v36, v29 offset:408 // 00000000E590: D8D80198 2400001D ds_read_b32 v37, v28 offset:408 // 00000000E598: D8D80198 2500001C v_add_i32 v38, vcc, 0x000011d8, v7 // 00000000E5A0: 4A4C0EFF 000011D8 ds_read2st64_b32 v[38:39], v38 offset1:16 // 00000000E5A8: D8E01000 26000026 ds_read_b32 v40, v7 offset:12760 // 00000000E5B0: D8D831D8 28000007 s_waitcnt lgkmcnt(5) // 00000000E5B8: BF8C057F v_or_b32 v33, v33, v34 // 00000000E5BC: 38424521 s_waitcnt lgkmcnt(1) // 00000000E5C0: BF8C017F v_or_b32 v34, v35, v38 // 00000000E5C4: 38444D23 v_or_b32 v35, v36, v39 // 00000000E5C8: 38464F24 s_waitcnt lgkmcnt(0) // 00000000E5CC: BF8C007F v_or_b32 v36, v37, v40 // 00000000E5D0: 38485125 ds_write_b32 v7, v33 offset:408 // 00000000E5D4: D8340198 00002107 ds_write_b32 v30, v34 offset:408 // 00000000E5DC: D8340198 0000221E ds_write_b32 v29, v35 offset:408 // 00000000E5E4: D8340198 0000231D ds_write_b32 v28, v36 offset:408 // 00000000E5EC: D8340198 0000241C label_397D: s_waitcnt lgkmcnt(0) // 00000000E5F4: BF8C007F s_barrier // 00000000E5F8: BF8A0000 s_and_b64 exec, s[40:41], s[50:51] // wrscc // 00000000E5FC: 87FE3228 s_cbranch_execz label_399E // 00000000E600: BF88001D ds_read2_b32 v[33:34], v7 offset0:102 offset1:110 // 00000000E604: D8DC6E66 21000007 ds_read_b32 v35, v30 offset:408 // 00000000E60C: D8D80198 2300001E ds_read_b32 v36, v29 offset:408 // 00000000E614: D8D80198 2400001D ds_read_b32 v37, v28 offset:408 // 00000000E61C: D8D80198 2500001C v_add_i32 v38, vcc, 0x000011b8, v7 // 00000000E624: 4A4C0EFF 000011B8 ds_read2st64_b32 v[38:39], v38 offset1:16 // 00000000E62C: D8E01000 26000026 ds_read_b32 v40, v7 offset:12728 // 00000000E634: D8D831B8 28000007 s_waitcnt lgkmcnt(5) // 00000000E63C: BF8C057F v_or_b32 v33, v33, v34 // 00000000E640: 38424521 s_waitcnt lgkmcnt(1) // 00000000E644: BF8C017F v_or_b32 v34, v35, v38 // 00000000E648: 38444D23 v_or_b32 v35, v36, v39 // 00000000E64C: 38464F24 s_waitcnt lgkmcnt(0) // 00000000E650: BF8C007F v_or_b32 v36, v37, v40 // 00000000E654: 38485125 ds_write_b32 v7, v33 offset:408 // 00000000E658: D8340198 00002107 ds_write_b32 v30, v34 offset:408 // 00000000E660: D8340198 0000221E ds_write_b32 v29, v35 offset:408 // 00000000E668: D8340198 0000231D ds_write_b32 v28, v36 offset:408 // 00000000E670: D8340198 0000241C label_399E: s_waitcnt lgkmcnt(0) // 00000000E678: BF8C007F s_barrier // 00000000E67C: BF8A0000 s_and_b64 exec, s[40:41], s[52:53] // wrscc // 00000000E680: 87FE3428 s_cbranch_execz label_39BF // 00000000E684: BF88001D ds_read2_b32 v[33:34], v7 offset0:102 offset1:106 // 00000000E688: D8DC6A66 21000007 ds_read_b32 v35, v30 offset:408 // 00000000E690: D8D80198 2300001E ds_read_b32 v36, v29 offset:408 // 00000000E698: D8D80198 2400001D ds_read_b32 v37, v28 offset:408 // 00000000E6A0: D8D80198 2500001C v_add_i32 v38, vcc, 0x000011a8, v7 // 00000000E6A8: 4A4C0EFF 000011A8 ds_read2st64_b32 v[38:39], v38 offset1:16 // 00000000E6B0: D8E01000 26000026 ds_read_b32 v40, v7 offset:12712 // 00000000E6B8: D8D831A8 28000007 s_waitcnt lgkmcnt(5) // 00000000E6C0: BF8C057F v_or_b32 v33, v33, v34 // 00000000E6C4: 38424521 s_waitcnt lgkmcnt(1) // 00000000E6C8: BF8C017F v_or_b32 v34, v35, v38 // 00000000E6CC: 38444D23 v_or_b32 v35, v36, v39 // 00000000E6D0: 38464F24 s_waitcnt lgkmcnt(0) // 00000000E6D4: BF8C007F v_or_b32 v36, v37, v40 // 00000000E6D8: 38485125 ds_write_b32 v7, v33 offset:408 // 00000000E6DC: D8340198 00002107 ds_write_b32 v30, v34 offset:408 // 00000000E6E4: D8340198 0000221E ds_write_b32 v29, v35 offset:408 // 00000000E6EC: D8340198 0000231D ds_write_b32 v28, v36 offset:408 // 00000000E6F4: D8340198 0000241C label_39BF: s_waitcnt lgkmcnt(0) // 00000000E6FC: BF8C007F s_barrier // 00000000E700: BF8A0000 s_and_b64 exec, s[40:41], s[54:55] // wrscc // 00000000E704: 87FE3628 s_cbranch_execz label_39E0 // 00000000E708: BF88001D ds_read2_b32 v[33:34], v7 offset0:102 offset1:104 // 00000000E70C: D8DC6866 21000007 ds_read_b32 v35, v30 offset:408 // 00000000E714: D8D80198 2300001E ds_read_b32 v36, v29 offset:408 // 00000000E71C: D8D80198 2400001D ds_read_b32 v37, v28 offset:408 // 00000000E724: D8D80198 2500001C v_add_i32 v38, vcc, 0x000011a0, v7 // 00000000E72C: 4A4C0EFF 000011A0 ds_read2st64_b32 v[38:39], v38 offset1:16 // 00000000E734: D8E01000 26000026 ds_read_b32 v40, v7 offset:12704 // 00000000E73C: D8D831A0 28000007 s_waitcnt lgkmcnt(5) // 00000000E744: BF8C057F v_or_b32 v33, v33, v34 // 00000000E748: 38424521 s_waitcnt lgkmcnt(1) // 00000000E74C: BF8C017F v_or_b32 v34, v35, v38 // 00000000E750: 38444D23 v_or_b32 v35, v36, v39 // 00000000E754: 38464F24 s_waitcnt lgkmcnt(0) // 00000000E758: BF8C007F v_or_b32 v36, v37, v40 // 00000000E75C: 38485125 ds_write_b32 v7, v33 offset:408 // 00000000E760: D8340198 00002107 ds_write_b32 v30, v34 offset:408 // 00000000E768: D8340198 0000221E ds_write_b32 v29, v35 offset:408 // 00000000E770: D8340198 0000231D ds_write_b32 v28, v36 offset:408 // 00000000E778: D8340198 0000241C label_39E0: s_waitcnt lgkmcnt(0) // 00000000E780: BF8C007F s_barrier // 00000000E784: BF8A0000 s_and_b64 exec, s[40:41], s[56:57] // wrscc // 00000000E788: 87FE3828 s_cbranch_execz label_3A01 // 00000000E78C: BF88001D ds_read2_b32 v[33:34], v7 offset0:102 offset1:103 // 00000000E790: D8DC6766 21000007 ds_read_b32 v35, v30 offset:408 // 00000000E798: D8D80198 2300001E ds_read_b32 v36, v29 offset:408 // 00000000E7A0: D8D80198 2400001D ds_read_b32 v37, v28 offset:408 // 00000000E7A8: D8D80198 2500001C v_add_i32 v38, vcc, 0x0000119c, v7 // 00000000E7B0: 4A4C0EFF 0000119C ds_read2st64_b32 v[38:39], v38 offset1:16 // 00000000E7B8: D8E01000 26000026 ds_read_b32 v40, v7 offset:12700 // 00000000E7C0: D8D8319C 28000007 s_waitcnt lgkmcnt(5) // 00000000E7C8: BF8C057F v_or_b32 v33, v33, v34 // 00000000E7CC: 38424521 s_waitcnt lgkmcnt(1) // 00000000E7D0: BF8C017F v_or_b32 v34, v35, v38 // 00000000E7D4: 38444D23 v_or_b32 v35, v36, v39 // 00000000E7D8: 38464F24 s_waitcnt lgkmcnt(0) // 00000000E7DC: BF8C007F v_or_b32 v36, v37, v40 // 00000000E7E0: 38485125 ds_write_b32 v7, v33 offset:408 // 00000000E7E4: D8340198 00002107 ds_write_b32 v30, v34 offset:408 // 00000000E7EC: D8340198 0000221E ds_write_b32 v29, v35 offset:408 // 00000000E7F4: D8340198 0000231D ds_write_b32 v28, v36 offset:408 // 00000000E7FC: D8340198 0000241C label_3A01: s_mov_b64 exec, s[40:41] // 00000000E804: BEFE0428 s_waitcnt lgkmcnt(0) // 00000000E808: BF8C007F s_barrier // 00000000E80C: BF8A0000 v_add_i32 v28, vcc, 0x00000198, v32 // 00000000E810: 4A3840FF 00000198 ds_read2st64_b32 v[29:30], v28 offset1:16 // 00000000E818: D8E01000 1D00001C ds_read2st64_b32 v[32:33], v28 offset0:32 offset1:48 // 00000000E820: D8E03020 2000001C v_cndmask_b32 v28, 0, -1, s[42:43] // 00000000E828: D200001C 00A98280 s_waitcnt lgkmcnt(1) // 00000000E830: BF8C017F v_xor_b32 v29, v31, v29 // 00000000E834: 3A3A3B1F v_xor_b32 v28, v28, v30 // 00000000E838: 3A383D1C v_cndmask_b32 v30, 0, -1, s[44:45] // 00000000E83C: D200001E 00B18280 v_and_b32 v28, v29, v28 // 00000000E844: 3638391D s_waitcnt lgkmcnt(0) // 00000000E848: BF8C007F v_xor_b32 v29, v30, v32 // 00000000E84C: 3A3A411E v_cndmask_b32 v30, 0, -1, s[46:47] // 00000000E850: D200001E 00B98280 v_and_b32 v28, v28, v29 // 00000000E858: 36383B1C v_xor_b32 v29, v30, v33 // 00000000E85C: 3A3A431E v_and_b32 v28, v28, v29 // 00000000E860: 36383B1C v_bcnt_u32_b32 v25, v28, v25 // 00000000E864: 4432331C v_add_i32 v26, vcc, 1, v26 // 00000000E868: 4A343481 v_add_i32 v27, vcc, 32, v27 // 00000000E86C: 4A3636A0 s_branch label_38EC // 00000000E870: BF82FECF label_3A1D: s_mov_b64 exec, s[20:21] // 00000000E874: BEFE0414 v_cmp_ne_u32 vcc, 0, v22 // 00000000E878: 7D8A2C80 s_and_saveexec_b64 s[20:21], vcc // wrscc // 00000000E87C: BE94246A v_add_i32 v26, vcc, v13, v27 // 00000000E880: 4A34370D s_cbranch_execz label_3B2C // 00000000E884: BF88010A s_and_saveexec_b64 s[22:23], s[18:19] // wrscc // 00000000E888: BE962412 s_cbranch_execz label_3A52 // 00000000E88C: BF88002E s_load_dwordx4 s[40:43], s[0:1], 0x58 // 00000000E890: C0940158 v_cmp_gt_u32 vcc, v23, v27 // 00000000E894: 7D883717 v_bfm_b32 v27, 1, v9 // 00000000E898: 3C361281 s_waitcnt lgkmcnt(0) // 00000000E89C: BF8C007F buffer_load_dword v26, v26, s[40:43], 0 idxen // 00000000E8A0: E0302000 800A1A1A s_waitcnt vmcnt(0) // 00000000E8A8: BF8C0F70 v_cndmask_b32 v26, -1, v26, vcc // 00000000E8AC: 003434C1 v_bfe_u32 v33, v26, 16, 1 // 00000000E8B0: D2900021 0205211A v_cmp_ne_i32 vcc, 0, v33 // 00000000E8B8: 7D0A4280 v_cndmask_b32 v33, 0, -1, vcc // 00000000E8BC: D2000021 01A98280 v_lshl_b32 v33, v33, v9 // 00000000E8C4: 32421321 v_bfi_b32 v33, v27, v33, 0 // 00000000E8C8: D2940021 0202431B ds_write_b32 v7, v33 offset:408 // 00000000E8D0: D8340198 00002107 v_lshrrev_b32 v26, 16, v26 // 00000000E8D8: 2C343490 v_and_b32 v33, 2, v26 // 00000000E8DC: 36423482 v_cmp_ne_i32 vcc, 0, v33 // 00000000E8E0: 7D0A4280 v_cndmask_b32 v33, 0, -1, vcc // 00000000E8E4: D2000021 01A98280 v_lshl_b32 v33, v33, v9 // 00000000E8EC: 32421321 v_bfi_b32 v33, v27, v33, 0 // 00000000E8F0: D2940021 0202431B ds_write_b32 v30, v33 offset:408 // 00000000E8F8: D8340198 0000211E v_and_b32 v33, 4, v26 // 00000000E900: 36423484 v_cmp_ne_i32 vcc, 0, v33 // 00000000E904: 7D0A4280 v_cndmask_b32 v33, 0, -1, vcc // 00000000E908: D2000021 01A98280 v_lshl_b32 v33, v33, v9 // 00000000E910: 32421321 v_bfi_b32 v33, v27, v33, 0 // 00000000E914: D2940021 0202431B ds_write_b32 v29, v33 offset:408 // 00000000E91C: D8340198 0000211D v_and_b32 v26, 8, v26 // 00000000E924: 36343488 v_cmp_ne_i32 vcc, 0, v26 // 00000000E928: 7D0A3480 v_cndmask_b32 v26, 0, -1, vcc // 00000000E92C: D200001A 01A98280 v_lshl_b32 v26, v26, v9 // 00000000E934: 3234131A v_bfi_b32 v26, v27, v26, 0 // 00000000E938: D294001A 0202351B ds_write_b32 v28, v26 offset:408 // 00000000E940: D8340198 00001A1C label_3A52: s_waitcnt lgkmcnt(0) // 00000000E948: BF8C007F s_barrier // 00000000E94C: BF8A0000 s_and_b64 exec, s[22:23], s[18:19] // wrscc // 00000000E950: 87FE1216 s_cbranch_execz label_3A75 // 00000000E954: BF88001F s_and_saveexec_b64 s[40:41], s[24:25] // wrscc // 00000000E958: BEA82418 s_cbranch_execz label_3A75 // 00000000E95C: BF88001D ds_read2_b32 v[26:27], v7 offset0:102 offset1:118 // 00000000E960: D8DC7666 1A000007 ds_read_b32 v33, v30 offset:408 // 00000000E968: D8D80198 2100001E ds_read_b32 v34, v29 offset:408 // 00000000E970: D8D80198 2200001D ds_read_b32 v35, v28 offset:408 // 00000000E978: D8D80198 2300001C v_add_i32 v36, vcc, 0x000011d8, v7 // 00000000E980: 4A480EFF 000011D8 ds_read2st64_b32 v[36:37], v36 offset1:16 // 00000000E988: D8E01000 24000024 ds_read_b32 v38, v7 offset:12760 // 00000000E990: D8D831D8 26000007 s_waitcnt lgkmcnt(5) // 00000000E998: BF8C057F v_or_b32 v26, v26, v27 // 00000000E99C: 3834371A s_waitcnt lgkmcnt(1) // 00000000E9A0: BF8C017F v_or_b32 v27, v33, v36 // 00000000E9A4: 38364921 v_or_b32 v33, v34, v37 // 00000000E9A8: 38424B22 s_waitcnt lgkmcnt(0) // 00000000E9AC: BF8C007F v_or_b32 v34, v35, v38 // 00000000E9B0: 38444D23 ds_write_b32 v7, v26 offset:408 // 00000000E9B4: D8340198 00001A07 ds_write_b32 v30, v27 offset:408 // 00000000E9BC: D8340198 00001B1E ds_write_b32 v29, v33 offset:408 // 00000000E9C4: D8340198 0000211D ds_write_b32 v28, v34 offset:408 // 00000000E9CC: D8340198 0000221C label_3A75: s_waitcnt lgkmcnt(0) // 00000000E9D4: BF8C007F s_barrier // 00000000E9D8: BF8A0000 s_and_b64 exec, s[22:23], s[18:19] // wrscc // 00000000E9DC: 87FE1216 s_cbranch_execz label_3A98 // 00000000E9E0: BF88001F s_and_saveexec_b64 s[40:41], s[26:27] // wrscc // 00000000E9E4: BEA8241A s_cbranch_execz label_3A98 // 00000000E9E8: BF88001D ds_read2_b32 v[26:27], v7 offset0:102 offset1:110 // 00000000E9EC: D8DC6E66 1A000007 ds_read_b32 v33, v30 offset:408 // 00000000E9F4: D8D80198 2100001E ds_read_b32 v34, v29 offset:408 // 00000000E9FC: D8D80198 2200001D ds_read_b32 v35, v28 offset:408 // 00000000EA04: D8D80198 2300001C v_add_i32 v36, vcc, 0x000011b8, v7 // 00000000EA0C: 4A480EFF 000011B8 ds_read2st64_b32 v[36:37], v36 offset1:16 // 00000000EA14: D8E01000 24000024 ds_read_b32 v38, v7 offset:12728 // 00000000EA1C: D8D831B8 26000007 s_waitcnt lgkmcnt(5) // 00000000EA24: BF8C057F v_or_b32 v26, v26, v27 // 00000000EA28: 3834371A s_waitcnt lgkmcnt(1) // 00000000EA2C: BF8C017F v_or_b32 v27, v33, v36 // 00000000EA30: 38364921 v_or_b32 v33, v34, v37 // 00000000EA34: 38424B22 s_waitcnt lgkmcnt(0) // 00000000EA38: BF8C007F v_or_b32 v34, v35, v38 // 00000000EA3C: 38444D23 ds_write_b32 v7, v26 offset:408 // 00000000EA40: D8340198 00001A07 ds_write_b32 v30, v27 offset:408 // 00000000EA48: D8340198 00001B1E ds_write_b32 v29, v33 offset:408 // 00000000EA50: D8340198 0000211D ds_write_b32 v28, v34 offset:408 // 00000000EA58: D8340198 0000221C label_3A98: s_waitcnt lgkmcnt(0) // 00000000EA60: BF8C007F s_barrier // 00000000EA64: BF8A0000 s_and_b64 exec, s[22:23], s[18:19] // wrscc // 00000000EA68: 87FE1216 s_cbranch_execz label_3ABB // 00000000EA6C: BF88001F s_and_saveexec_b64 s[40:41], s[28:29] // wrscc // 00000000EA70: BEA8241C s_cbranch_execz label_3ABB // 00000000EA74: BF88001D ds_read2_b32 v[26:27], v7 offset0:102 offset1:106 // 00000000EA78: D8DC6A66 1A000007 ds_read_b32 v33, v30 offset:408 // 00000000EA80: D8D80198 2100001E ds_read_b32 v34, v29 offset:408 // 00000000EA88: D8D80198 2200001D ds_read_b32 v35, v28 offset:408 // 00000000EA90: D8D80198 2300001C v_add_i32 v36, vcc, 0x000011a8, v7 // 00000000EA98: 4A480EFF 000011A8 ds_read2st64_b32 v[36:37], v36 offset1:16 // 00000000EAA0: D8E01000 24000024 ds_read_b32 v38, v7 offset:12712 // 00000000EAA8: D8D831A8 26000007 s_waitcnt lgkmcnt(5) // 00000000EAB0: BF8C057F v_or_b32 v26, v26, v27 // 00000000EAB4: 3834371A s_waitcnt lgkmcnt(1) // 00000000EAB8: BF8C017F v_or_b32 v27, v33, v36 // 00000000EABC: 38364921 v_or_b32 v33, v34, v37 // 00000000EAC0: 38424B22 s_waitcnt lgkmcnt(0) // 00000000EAC4: BF8C007F v_or_b32 v34, v35, v38 // 00000000EAC8: 38444D23 ds_write_b32 v7, v26 offset:408 // 00000000EACC: D8340198 00001A07 ds_write_b32 v30, v27 offset:408 // 00000000EAD4: D8340198 00001B1E ds_write_b32 v29, v33 offset:408 // 00000000EADC: D8340198 0000211D ds_write_b32 v28, v34 offset:408 // 00000000EAE4: D8340198 0000221C label_3ABB: s_waitcnt lgkmcnt(0) // 00000000EAEC: BF8C007F s_barrier // 00000000EAF0: BF8A0000 s_and_b64 exec, s[22:23], s[18:19] // wrscc // 00000000EAF4: 87FE1216 s_cbranch_execz label_3ADE // 00000000EAF8: BF88001F s_and_saveexec_b64 s[40:41], s[30:31] // wrscc // 00000000EAFC: BEA8241E s_cbranch_execz label_3ADE // 00000000EB00: BF88001D ds_read2_b32 v[26:27], v7 offset0:102 offset1:104 // 00000000EB04: D8DC6866 1A000007 ds_read_b32 v33, v30 offset:408 // 00000000EB0C: D8D80198 2100001E ds_read_b32 v34, v29 offset:408 // 00000000EB14: D8D80198 2200001D ds_read_b32 v35, v28 offset:408 // 00000000EB1C: D8D80198 2300001C v_add_i32 v36, vcc, 0x000011a0, v7 // 00000000EB24: 4A480EFF 000011A0 ds_read2st64_b32 v[36:37], v36 offset1:16 // 00000000EB2C: D8E01000 24000024 ds_read_b32 v38, v7 offset:12704 // 00000000EB34: D8D831A0 26000007 s_waitcnt lgkmcnt(5) // 00000000EB3C: BF8C057F v_or_b32 v26, v26, v27 // 00000000EB40: 3834371A s_waitcnt lgkmcnt(1) // 00000000EB44: BF8C017F v_or_b32 v27, v33, v36 // 00000000EB48: 38364921 v_or_b32 v33, v34, v37 // 00000000EB4C: 38424B22 s_waitcnt lgkmcnt(0) // 00000000EB50: BF8C007F v_or_b32 v34, v35, v38 // 00000000EB54: 38444D23 ds_write_b32 v7, v26 offset:408 // 00000000EB58: D8340198 00001A07 ds_write_b32 v30, v27 offset:408 // 00000000EB60: D8340198 00001B1E ds_write_b32 v29, v33 offset:408 // 00000000EB68: D8340198 0000211D ds_write_b32 v28, v34 offset:408 // 00000000EB70: D8340198 0000221C label_3ADE: s_waitcnt lgkmcnt(0) // 00000000EB78: BF8C007F s_barrier // 00000000EB7C: BF8A0000 s_and_b64 exec, s[22:23], s[18:19] // wrscc // 00000000EB80: 87FE1216 s_cbranch_execz label_3B01 // 00000000EB84: BF88001F s_and_saveexec_b64 s[40:41], s[32:33] // wrscc // 00000000EB88: BEA82420 s_cbranch_execz label_3B01 // 00000000EB8C: BF88001D ds_read2_b32 v[26:27], v7 offset0:102 offset1:103 // 00000000EB90: D8DC6766 1A000007 ds_read_b32 v33, v30 offset:408 // 00000000EB98: D8D80198 2100001E ds_read_b32 v34, v29 offset:408 // 00000000EBA0: D8D80198 2200001D ds_read_b32 v35, v28 offset:408 // 00000000EBA8: D8D80198 2300001C v_add_i32 v36, vcc, 0x0000119c, v7 // 00000000EBB0: 4A480EFF 0000119C ds_read2st64_b32 v[36:37], v36 offset1:16 // 00000000EBB8: D8E01000 24000024 ds_read_b32 v38, v7 offset:12700 // 00000000EBC0: D8D8319C 26000007 s_waitcnt lgkmcnt(5) // 00000000EBC8: BF8C057F v_or_b32 v26, v26, v27 // 00000000EBCC: 3834371A s_waitcnt lgkmcnt(1) // 00000000EBD0: BF8C017F v_or_b32 v27, v33, v36 // 00000000EBD4: 38364921 v_or_b32 v33, v34, v37 // 00000000EBD8: 38424B22 s_waitcnt lgkmcnt(0) // 00000000EBDC: BF8C007F v_or_b32 v34, v35, v38 // 00000000EBE0: 38444D23 ds_write_b32 v7, v26 offset:408 // 00000000EBE4: D8340198 00001A07 ds_write_b32 v30, v27 offset:408 // 00000000EBEC: D8340198 00001B1E ds_write_b32 v29, v33 offset:408 // 00000000EBF4: D8340198 0000211D ds_write_b32 v28, v34 offset:408 // 00000000EBFC: D8340198 0000221C label_3B01: s_waitcnt lgkmcnt(0) // 00000000EC04: BF8C007F s_barrier // 00000000EC08: BF8A0000 s_and_b64 exec, s[22:23], s[18:19] // wrscc // 00000000EC0C: 87FE1216 v_add_i32 v26, vcc, 0x00000198, v32 // 00000000EC10: 4A3440FF 00000198 s_cbranch_execz label_3B13 // 00000000EC18: BF88000C ds_read2st64_b32 v[33:34], v26 offset1:16 // 00000000EC1C: D8E01000 2100001A ds_read2st64_b32 v[26:27], v26 offset0:32 offset1:48 // 00000000EC24: D8E03020 1A00001A s_waitcnt lgkmcnt(1) // 00000000EC2C: BF8C017F v_mov_b32 v62, v33 // 00000000EC30: 7E7C0321 s_waitcnt lgkmcnt(0) // 00000000EC34: BF8C007F v_mov_b32 v33, v26 // 00000000EC38: 7E42031A v_mov_b32 v26, v62 // 00000000EC3C: 7E34033E v_mov_b32 v62, v34 // 00000000EC40: 7E7C0322 v_mov_b32 v34, v27 // 00000000EC44: 7E44031B v_mov_b32 v27, v62 // 00000000EC48: 7E36033E label_3B13: s_andn2_b64 exec, s[22:23], exec // wrscc // 00000000EC4C: 8AFE7E16 v_mov_b32 v34, 0 // 00000000EC50: 7E440280 v_mov_b32 v26, 0 // 00000000EC54: 7E340280 v_mov_b32 v62, 0 // 00000000EC58: 7E7C0280 v_mov_b32 v33, 0 // 00000000EC5C: 7E420280 v_mov_b32 v27, 0 // 00000000EC60: 7E360280 s_mov_b64 exec, s[22:23] // 00000000EC64: BEFE0416 v_xor_b32 v26, v31, v26 // 00000000EC68: 3A34351F v_cndmask_b32 v35, 0, -1, s[34:35] // 00000000EC6C: D2000023 00898280 v_xor_b32 v27, v35, v27 // 00000000EC74: 3A363723 v_and_b32 v26, v26, v27 // 00000000EC78: 3634371A v_cndmask_b32 v27, 0, -1, s[36:37] // 00000000EC7C: D200001B 00918280 v_xor_b32 v27, v27, v33 // 00000000EC84: 3A36431B v_cndmask_b32 v33, 0, -1, s[38:39] // 00000000EC88: D2000021 00998280 v_xor_b32 v33, v33, v34 // 00000000EC90: 3A424521 v_and_b32 v26, v26, v27 // 00000000EC94: 3634371A v_and_b32 v26, v33, v26 // 00000000EC98: 36343521 v_bcnt_u32_b32 v26, v26, 0 // 00000000EC9C: D244001A 0001011A v_cndmask_b32 v26, 0, v26, s[18:19] // 00000000ECA4: D200001A 004A3480 v_add_i32 v25, vcc, v25, v26 // 00000000ECAC: 4A323519 label_3B2C: s_and_b64 exec, s[20:21], s[24:25] // wrscc // 00000000ECB0: 87FE1814 v_lshlrev_b32 v26, 2, v1 // 00000000ECB4: 34340282 ds_write_b32 v26, v25 offset:16796 // 00000000ECB8: D834419C 0000191A s_mov_b64 exec, s[20:21] // 00000000ECC0: BEFE0414 s_waitcnt lgkmcnt(0) // 00000000ECC4: BF8C007F s_barrier // 00000000ECC8: BF8A0000 v_cmp_eq_u32 vcc, 0, v9 // 00000000ECCC: 7D841280 s_and_b64 exec, s[20:21], vcc // wrscc // 00000000ECD0: 87FE6A14 v_mov_b32 v25, 0 // 00000000ECD4: 7E320280 ds_write_b32 v25, v25 offset:16792 // 00000000ECD8: D8344198 00001919 ds_write_b32 v25, v25 offset:18844 // 00000000ECE0: D834499C 00001919 s_mov_b64 exec, s[20:21] // 00000000ECE8: BEFE0414 s_movk_i32 s3, 0x0200 // 00000000ECEC: B0030200 v_cmp_lt_u32 s[22:23], v9, s3 // 00000000ECF0: D1820016 00000709 v_cmp_ge_u32 s[40:41], v9, 1 // 00000000ECF8: D18C0028 00010309 s_and_b64 exec, s[20:21], s[22:23] // wrscc // 00000000ED00: 87FE1614 s_cbranch_execz label_3B52 // 00000000ED04: BF880010 s_and_saveexec_b64 s[42:43], s[40:41] // wrscc // 00000000ED08: BEAA2428 v_add_i32 v25, vcc, 0x00004198, v7 // 00000000ED0C: 4A320EFF 00004198 ds_read2_b32 v[25:26], v25 offset0:1 // 00000000ED14: D8DC0001 19000019 s_waitcnt lgkmcnt(0) // 00000000ED1C: BF8C007F v_add_i32 v25, vcc, v25, v26 // 00000000ED20: 4A323519 ds_write_b32 v7, v25 offset:18848 // 00000000ED24: D83449A0 00001907 s_andn2_b64 exec, s[42:43], exec // wrscc // 00000000ED2C: 8AFE7E2A v_mov_b32 v25, 0 // 00000000ED30: 7E320280 ds_read_b32 v26, v25 offset:16796 // 00000000ED34: D8D8419C 1A000019 s_waitcnt lgkmcnt(0) // 00000000ED3C: BF8C007F ds_write_b32 v25, v26 offset:18848 // 00000000ED40: D83449A0 00001A19 label_3B52: s_mov_b64 exec, s[20:21] // 00000000ED48: BEFE0414 s_waitcnt lgkmcnt(0) // 00000000ED4C: BF8C007F s_barrier // 00000000ED50: BF8A0000 v_cmp_ge_u32 s[42:43], v9, 2 // 00000000ED54: D18C002A 00010509 s_and_b64 exec, s[20:21], s[22:23] // wrscc // 00000000ED5C: 87FE1614 s_cbranch_execz label_3B67 // 00000000ED60: BF88000E s_and_saveexec_b64 s[44:45], s[42:43] // wrscc // 00000000ED64: BEAC242A v_add_i32 v25, vcc, 0x00004998, v7 // 00000000ED68: 4A320EFF 00004998 ds_read2_b32 v[25:26], v25 offset0:2 // 00000000ED70: D8DC0002 19000019 s_waitcnt lgkmcnt(0) // 00000000ED78: BF8C007F v_add_i32 v25, vcc, v25, v26 // 00000000ED7C: 4A323519 s_andn2_b64 exec, s[44:45], exec // wrscc // 00000000ED80: 8AFE7E2C ds_read_b32 v25, v7 offset:18848 // 00000000ED84: D8D849A0 19000007 s_mov_b64 exec, s[44:45] // 00000000ED8C: BEFE042C s_waitcnt lgkmcnt(0) // 00000000ED90: BF8C007F ds_write_b32 v7, v25 offset:16796 // 00000000ED94: D834419C 00001907 label_3B67: s_mov_b64 exec, s[20:21] // 00000000ED9C: BEFE0414 s_waitcnt lgkmcnt(0) // 00000000EDA0: BF8C007F s_barrier // 00000000EDA4: BF8A0000 v_cmp_ge_u32 s[44:45], v9, 4 // 00000000EDA8: D18C002C 00010909 s_and_b64 exec, s[20:21], s[22:23] // wrscc // 00000000EDB0: 87FE1614 s_cbranch_execz label_3B7C // 00000000EDB4: BF88000E s_and_saveexec_b64 s[46:47], s[44:45] // wrscc // 00000000EDB8: BEAE242C v_add_i32 v25, vcc, 0x0000418c, v7 // 00000000EDBC: 4A320EFF 0000418C ds_read2_b32 v[25:26], v25 offset0:4 // 00000000EDC4: D8DC0004 19000019 s_waitcnt lgkmcnt(0) // 00000000EDCC: BF8C007F v_add_i32 v25, vcc, v25, v26 // 00000000EDD0: 4A323519 s_andn2_b64 exec, s[46:47], exec // wrscc // 00000000EDD4: 8AFE7E2E ds_read_b32 v25, v7 offset:16796 // 00000000EDD8: D8D8419C 19000007 s_mov_b64 exec, s[46:47] // 00000000EDE0: BEFE042E s_waitcnt lgkmcnt(0) // 00000000EDE4: BF8C007F ds_write_b32 v7, v25 offset:18848 // 00000000EDE8: D83449A0 00001907 label_3B7C: s_mov_b64 exec, s[20:21] // 00000000EDF0: BEFE0414 s_waitcnt lgkmcnt(0) // 00000000EDF4: BF8C007F s_barrier // 00000000EDF8: BF8A0000 v_cmp_ge_u32 s[46:47], v9, 8 // 00000000EDFC: D18C002E 00011109 s_and_b64 exec, s[20:21], s[22:23] // wrscc // 00000000EE04: 87FE1614 s_cbranch_execz label_3B91 // 00000000EE08: BF88000E s_and_saveexec_b64 s[48:49], s[46:47] // wrscc // 00000000EE0C: BEB0242E v_add_i32 v25, vcc, 0x00004980, v7 // 00000000EE10: 4A320EFF 00004980 ds_read2_b32 v[25:26], v25 offset0:8 // 00000000EE18: D8DC0008 19000019 s_waitcnt lgkmcnt(0) // 00000000EE20: BF8C007F v_add_i32 v25, vcc, v25, v26 // 00000000EE24: 4A323519 s_andn2_b64 exec, s[48:49], exec // wrscc // 00000000EE28: 8AFE7E30 ds_read_b32 v25, v7 offset:18848 // 00000000EE2C: D8D849A0 19000007 s_mov_b64 exec, s[48:49] // 00000000EE34: BEFE0430 s_waitcnt lgkmcnt(0) // 00000000EE38: BF8C007F ds_write_b32 v7, v25 offset:16796 // 00000000EE3C: D834419C 00001907 label_3B91: s_mov_b64 exec, s[20:21] // 00000000EE44: BEFE0414 s_waitcnt lgkmcnt(0) // 00000000EE48: BF8C007F s_barrier // 00000000EE4C: BF8A0000 v_cmp_ge_u32 s[48:49], v9, 16 // 00000000EE50: D18C0030 00012109 s_and_b64 exec, s[20:21], s[22:23] // wrscc // 00000000EE58: 87FE1614 s_cbranch_execz label_3BA6 // 00000000EE5C: BF88000E s_and_saveexec_b64 s[50:51], s[48:49] // wrscc // 00000000EE60: BEB22430 v_add_i32 v25, vcc, 0x0000415c, v7 // 00000000EE64: 4A320EFF 0000415C ds_read2_b32 v[25:26], v25 offset0:16 // 00000000EE6C: D8DC0010 19000019 s_waitcnt lgkmcnt(0) // 00000000EE74: BF8C007F v_add_i32 v25, vcc, v25, v26 // 00000000EE78: 4A323519 s_andn2_b64 exec, s[50:51], exec // wrscc // 00000000EE7C: 8AFE7E32 ds_read_b32 v25, v7 offset:16796 // 00000000EE80: D8D8419C 19000007 s_mov_b64 exec, s[50:51] // 00000000EE88: BEFE0432 s_waitcnt lgkmcnt(0) // 00000000EE8C: BF8C007F ds_write_b32 v7, v25 offset:18848 // 00000000EE90: D83449A0 00001907 label_3BA6: s_mov_b64 exec, s[20:21] // 00000000EE98: BEFE0414 s_waitcnt lgkmcnt(0) // 00000000EE9C: BF8C007F s_barrier // 00000000EEA0: BF8A0000 v_cmp_ge_u32 s[50:51], v9, 32 // 00000000EEA4: D18C0032 00014109 s_and_b64 exec, s[20:21], s[22:23] // wrscc // 00000000EEAC: 87FE1614 s_cbranch_execz label_3BBB // 00000000EEB0: BF88000E s_and_saveexec_b64 s[52:53], s[50:51] // wrscc // 00000000EEB4: BEB42432 v_add_i32 v25, vcc, 0x00004920, v7 // 00000000EEB8: 4A320EFF 00004920 ds_read2_b32 v[25:26], v25 offset0:32 // 00000000EEC0: D8DC0020 19000019 s_waitcnt lgkmcnt(0) // 00000000EEC8: BF8C007F v_add_i32 v25, vcc, v25, v26 // 00000000EECC: 4A323519 s_andn2_b64 exec, s[52:53], exec // wrscc // 00000000EED0: 8AFE7E34 ds_read_b32 v25, v7 offset:18848 // 00000000EED4: D8D849A0 19000007 s_mov_b64 exec, s[52:53] // 00000000EEDC: BEFE0434 s_waitcnt lgkmcnt(0) // 00000000EEE0: BF8C007F ds_write_b32 v7, v25 offset:16796 // 00000000EEE4: D834419C 00001907 label_3BBB: s_mov_b64 exec, s[20:21] // 00000000EEEC: BEFE0414 s_waitcnt lgkmcnt(0) // 00000000EEF0: BF8C007F s_barrier // 00000000EEF4: BF8A0000 v_cmp_ge_u32 s[52:53], v9, 64 // 00000000EEF8: D18C0034 00018109 s_and_b64 exec, s[20:21], s[22:23] // wrscc // 00000000EF00: 87FE1614 s_cbranch_execz label_3BD0 // 00000000EF04: BF88000E s_and_saveexec_b64 s[54:55], s[52:53] // wrscc // 00000000EF08: BEB62434 v_add_i32 v25, vcc, 0x0000409c, v7 // 00000000EF0C: 4A320EFF 0000409C ds_read2_b32 v[25:26], v25 offset0:64 // 00000000EF14: D8DC0040 19000019 s_waitcnt lgkmcnt(0) // 00000000EF1C: BF8C007F v_add_i32 v25, vcc, v25, v26 // 00000000EF20: 4A323519 s_andn2_b64 exec, s[54:55], exec // wrscc // 00000000EF24: 8AFE7E36 ds_read_b32 v25, v7 offset:16796 // 00000000EF28: D8D8419C 19000007 s_mov_b64 exec, s[54:55] // 00000000EF30: BEFE0436 s_waitcnt lgkmcnt(0) // 00000000EF34: BF8C007F ds_write_b32 v7, v25 offset:18848 // 00000000EF38: D83449A0 00001907 label_3BD0: s_mov_b64 exec, s[20:21] // 00000000EF40: BEFE0414 s_waitcnt lgkmcnt(0) // 00000000EF44: BF8C007F s_barrier // 00000000EF48: BF8A0000 s_movk_i32 s3, 0x0080 // 00000000EF4C: B0030080 v_cmp_ge_u32 s[54:55], v9, s3 // 00000000EF50: D18C0036 00000709 s_and_b64 exec, s[20:21], s[22:23] // wrscc // 00000000EF58: 87FE1614 s_cbranch_execz label_3BE6 // 00000000EF5C: BF88000E s_and_saveexec_b64 s[56:57], s[54:55] // wrscc // 00000000EF60: BEB82436 v_add_i32 v25, vcc, 0x000047a0, v7 // 00000000EF64: 4A320EFF 000047A0 ds_read2_b32 v[25:26], v25 offset0:128 // 00000000EF6C: D8DC0080 19000019 s_waitcnt lgkmcnt(0) // 00000000EF74: BF8C007F v_add_i32 v25, vcc, v25, v26 // 00000000EF78: 4A323519 s_andn2_b64 exec, s[56:57], exec // wrscc // 00000000EF7C: 8AFE7E38 ds_read_b32 v25, v7 offset:18848 // 00000000EF80: D8D849A0 19000007 s_mov_b64 exec, s[56:57] // 00000000EF88: BEFE0438 s_waitcnt lgkmcnt(0) // 00000000EF8C: BF8C007F ds_write_b32 v7, v25 offset:16796 // 00000000EF90: D834419C 00001907 label_3BE6: s_mov_b64 exec, s[20:21] // 00000000EF98: BEFE0414 s_waitcnt lgkmcnt(0) // 00000000EF9C: BF8C007F s_barrier // 00000000EFA0: BF8A0000 s_movk_i32 s3, 0x0100 // 00000000EFA4: B0030100 v_cmp_ge_u32 s[56:57], v9, s3 // 00000000EFA8: D18C0038 00000709 s_and_b64 exec, s[20:21], s[22:23] // wrscc // 00000000EFB0: 87FE1614 s_cbranch_execz label_3BFC // 00000000EFB4: BF88000E s_and_saveexec_b64 s[58:59], s[56:57] // wrscc // 00000000EFB8: BEBA2438 v_add_i32 v25, vcc, 0x00003d9c, v7 // 00000000EFBC: 4A320EFF 00003D9C ds_read2st64_b32 v[25:26], v25 offset0:4 // 00000000EFC4: D8E00004 19000019 s_waitcnt lgkmcnt(0) // 00000000EFCC: BF8C007F v_add_i32 v25, vcc, v25, v26 // 00000000EFD0: 4A323519 s_andn2_b64 exec, s[58:59], exec // wrscc // 00000000EFD4: 8AFE7E3A ds_read_b32 v25, v7 offset:16796 // 00000000EFD8: D8D8419C 19000007 s_mov_b64 exec, s[58:59] // 00000000EFE0: BEFE043A s_waitcnt lgkmcnt(0) // 00000000EFE4: BF8C007F ds_write_b32 v7, v25 offset:18848 // 00000000EFE8: D83449A0 00001907 label_3BFC: s_mov_b64 exec, s[20:21] // 00000000EFF0: BEFE0414 s_waitcnt lgkmcnt(0) // 00000000EFF4: BF8C007F s_barrier // 00000000EFF8: BF8A0000 s_mov_b64 s[20:21], exec // 00000000EFFC: BE94047E s_mov_b64 s[58:59], exec // 00000000F000: BEBA047E v_mov_b32 v25, 0 // 00000000F004: 7E320280 v_mov_b32 v26, v24 // 00000000F008: 7E340318 s_nop 0x0000 // 00000000F00C: BF800000 s_nop 0x0000 // 00000000F010: BF800000 s_nop 0x0000 // 00000000F014: BF800000 label_3C06: v_cmp_ge_u32 vcc, v25, v12 // 00000000F018: 7D8C1919 v_lshlrev_b32 v27, 2, v1 // 00000000F01C: 34360282 s_and_saveexec_b64 s[60:61], vcc // wrscc // 00000000F020: BEBC246A s_andn2_b64 s[58:59], s[58:59], exec // wrscc // 00000000F024: 8ABA7E3A s_cbranch_scc0 label_3D2A // 00000000F028: BF84011F s_and_b64 exec, s[60:61], s[58:59] // wrscc // 00000000F02C: 87FE3A3C s_load_dwordx4 s[60:63], s[0:1], 0x58 // 00000000F030: C09E0158 v_cmp_gt_u32 s[64:65], v23, v26 // 00000000F034: D1880040 00023517 v_add_i32 v33, vcc, v13, v26 // 00000000F03C: 4A42350D v_bfm_b32 v34, 1, v9 // 00000000F040: 3C441281 s_waitcnt lgkmcnt(0) // 00000000F044: BF8C007F buffer_load_dword v33, v33, s[60:63], 0 idxen // 00000000F048: E0302000 800F2121 s_waitcnt vmcnt(0) // 00000000F050: BF8C0F70 v_cndmask_b32 v33, -1, v33, s[64:65] // 00000000F054: D2000021 010242C1 v_bfe_u32 v35, v33, 16, 1 // 00000000F05C: D2900023 02052121 v_lshrrev_b32 v36, 16, v33 // 00000000F064: 2C484290 v_and_b32 v37, 2, v36 // 00000000F068: 364A4882 v_and_b32 v38, 4, v36 // 00000000F06C: 364C4884 v_and_b32 v36, 8, v36 // 00000000F070: 36484888 v_cmp_ne_i32 vcc, 0, v35 // 00000000F074: 7D0A4680 v_cndmask_b32 v39, 0, -1, vcc // 00000000F078: D2000027 01A98280 v_lshl_b32 v39, v39, v9 // 00000000F080: 324E1327 v_bfi_b32 v39, v34, v39, 0 // 00000000F084: D2940027 02024F22 ds_write_b32 v7, v39 offset:408 // 00000000F08C: D8340198 00002707 v_cmp_ne_i32 vcc, 0, v37 // 00000000F094: 7D0A4A80 v_cndmask_b32 v39, 0, -1, vcc // 00000000F098: D2000027 01A98280 v_lshl_b32 v39, v39, v9 // 00000000F0A0: 324E1327 v_bfi_b32 v39, v34, v39, 0 // 00000000F0A4: D2940027 02024F22 ds_write_b32 v30, v39 offset:408 // 00000000F0AC: D8340198 0000271E v_cmp_ne_i32 vcc, 0, v38 // 00000000F0B4: 7D0A4C80 v_cndmask_b32 v39, 0, -1, vcc // 00000000F0B8: D2000027 01A98280 v_lshl_b32 v39, v39, v9 // 00000000F0C0: 324E1327 v_bfi_b32 v39, v34, v39, 0 // 00000000F0C4: D2940027 02024F22 ds_write_b32 v29, v39 offset:408 // 00000000F0CC: D8340198 0000271D v_cmp_ne_i32 vcc, 0, v36 // 00000000F0D4: 7D0A4880 v_cndmask_b32 v39, 0, -1, vcc // 00000000F0D8: D2000027 01A98280 v_lshl_b32 v39, v39, v9 // 00000000F0E0: 324E1327 v_bfi_b32 v34, v34, v39, 0 // 00000000F0E4: D2940022 02024F22 ds_write_b32 v28, v34 offset:408 // 00000000F0EC: D8340198 0000221C s_waitcnt lgkmcnt(0) // 00000000F0F4: BF8C007F s_barrier // 00000000F0F8: BF8A0000 s_and_saveexec_b64 s[66:67], s[24:25] // wrscc // 00000000F0FC: BEC22418 s_cbranch_execz label_3C5E // 00000000F100: BF88001D ds_read2_b32 v[39:40], v7 offset0:102 offset1:118 // 00000000F104: D8DC7666 27000007 ds_read_b32 v34, v30 offset:408 // 00000000F10C: D8D80198 2200001E ds_read_b32 v41, v29 offset:408 // 00000000F114: D8D80198 2900001D ds_read_b32 v42, v28 offset:408 // 00000000F11C: D8D80198 2A00001C v_add_i32 v43, vcc, 0x000011d8, v7 // 00000000F124: 4A560EFF 000011D8 ds_read2st64_b32 v[43:44], v43 offset1:16 // 00000000F12C: D8E01000 2B00002B ds_read_b32 v45, v7 offset:12760 // 00000000F134: D8D831D8 2D000007 s_waitcnt lgkmcnt(5) // 00000000F13C: BF8C057F v_or_b32 v39, v39, v40 // 00000000F140: 384E5127 s_waitcnt lgkmcnt(1) // 00000000F144: BF8C017F v_or_b32 v34, v34, v43 // 00000000F148: 38445722 v_or_b32 v40, v41, v44 // 00000000F14C: 38505929 s_waitcnt lgkmcnt(0) // 00000000F150: BF8C007F v_or_b32 v41, v42, v45 // 00000000F154: 38525B2A ds_write_b32 v7, v39 offset:408 // 00000000F158: D8340198 00002707 ds_write_b32 v30, v34 offset:408 // 00000000F160: D8340198 0000221E ds_write_b32 v29, v40 offset:408 // 00000000F168: D8340198 0000281D ds_write_b32 v28, v41 offset:408 // 00000000F170: D8340198 0000291C label_3C5E: s_waitcnt lgkmcnt(0) // 00000000F178: BF8C007F s_barrier // 00000000F17C: BF8A0000 s_and_b64 exec, s[66:67], s[26:27] // wrscc // 00000000F180: 87FE1A42 s_cbranch_execz label_3C7F // 00000000F184: BF88001D ds_read2_b32 v[39:40], v7 offset0:102 offset1:110 // 00000000F188: D8DC6E66 27000007 ds_read_b32 v34, v30 offset:408 // 00000000F190: D8D80198 2200001E ds_read_b32 v41, v29 offset:408 // 00000000F198: D8D80198 2900001D ds_read_b32 v42, v28 offset:408 // 00000000F1A0: D8D80198 2A00001C v_add_i32 v43, vcc, 0x000011b8, v7 // 00000000F1A8: 4A560EFF 000011B8 ds_read2st64_b32 v[43:44], v43 offset1:16 // 00000000F1B0: D8E01000 2B00002B ds_read_b32 v45, v7 offset:12728 // 00000000F1B8: D8D831B8 2D000007 s_waitcnt lgkmcnt(5) // 00000000F1C0: BF8C057F v_or_b32 v39, v39, v40 // 00000000F1C4: 384E5127 s_waitcnt lgkmcnt(1) // 00000000F1C8: BF8C017F v_or_b32 v34, v34, v43 // 00000000F1CC: 38445722 v_or_b32 v40, v41, v44 // 00000000F1D0: 38505929 s_waitcnt lgkmcnt(0) // 00000000F1D4: BF8C007F v_or_b32 v41, v42, v45 // 00000000F1D8: 38525B2A ds_write_b32 v7, v39 offset:408 // 00000000F1DC: D8340198 00002707 ds_write_b32 v30, v34 offset:408 // 00000000F1E4: D8340198 0000221E ds_write_b32 v29, v40 offset:408 // 00000000F1EC: D8340198 0000281D ds_write_b32 v28, v41 offset:408 // 00000000F1F4: D8340198 0000291C label_3C7F: s_waitcnt lgkmcnt(0) // 00000000F1FC: BF8C007F s_barrier // 00000000F200: BF8A0000 s_and_b64 exec, s[66:67], s[28:29] // wrscc // 00000000F204: 87FE1C42 s_cbranch_execz label_3CA0 // 00000000F208: BF88001D ds_read2_b32 v[39:40], v7 offset0:102 offset1:106 // 00000000F20C: D8DC6A66 27000007 ds_read_b32 v34, v30 offset:408 // 00000000F214: D8D80198 2200001E ds_read_b32 v41, v29 offset:408 // 00000000F21C: D8D80198 2900001D ds_read_b32 v42, v28 offset:408 // 00000000F224: D8D80198 2A00001C v_add_i32 v43, vcc, 0x000011a8, v7 // 00000000F22C: 4A560EFF 000011A8 ds_read2st64_b32 v[43:44], v43 offset1:16 // 00000000F234: D8E01000 2B00002B ds_read_b32 v45, v7 offset:12712 // 00000000F23C: D8D831A8 2D000007 s_waitcnt lgkmcnt(5) // 00000000F244: BF8C057F v_or_b32 v39, v39, v40 // 00000000F248: 384E5127 s_waitcnt lgkmcnt(1) // 00000000F24C: BF8C017F v_or_b32 v34, v34, v43 // 00000000F250: 38445722 v_or_b32 v40, v41, v44 // 00000000F254: 38505929 s_waitcnt lgkmcnt(0) // 00000000F258: BF8C007F v_or_b32 v41, v42, v45 // 00000000F25C: 38525B2A ds_write_b32 v7, v39 offset:408 // 00000000F260: D8340198 00002707 ds_write_b32 v30, v34 offset:408 // 00000000F268: D8340198 0000221E ds_write_b32 v29, v40 offset:408 // 00000000F270: D8340198 0000281D ds_write_b32 v28, v41 offset:408 // 00000000F278: D8340198 0000291C label_3CA0: s_waitcnt lgkmcnt(0) // 00000000F280: BF8C007F s_barrier // 00000000F284: BF8A0000 s_and_b64 exec, s[66:67], s[30:31] // wrscc // 00000000F288: 87FE1E42 s_cbranch_execz label_3CC1 // 00000000F28C: BF88001D ds_read2_b32 v[39:40], v7 offset0:102 offset1:104 // 00000000F290: D8DC6866 27000007 ds_read_b32 v34, v30 offset:408 // 00000000F298: D8D80198 2200001E ds_read_b32 v41, v29 offset:408 // 00000000F2A0: D8D80198 2900001D ds_read_b32 v42, v28 offset:408 // 00000000F2A8: D8D80198 2A00001C v_add_i32 v43, vcc, 0x000011a0, v7 // 00000000F2B0: 4A560EFF 000011A0 ds_read2st64_b32 v[43:44], v43 offset1:16 // 00000000F2B8: D8E01000 2B00002B ds_read_b32 v45, v7 offset:12704 // 00000000F2C0: D8D831A0 2D000007 s_waitcnt lgkmcnt(5) // 00000000F2C8: BF8C057F v_or_b32 v39, v39, v40 // 00000000F2CC: 384E5127 s_waitcnt lgkmcnt(1) // 00000000F2D0: BF8C017F v_or_b32 v34, v34, v43 // 00000000F2D4: 38445722 v_or_b32 v40, v41, v44 // 00000000F2D8: 38505929 s_waitcnt lgkmcnt(0) // 00000000F2DC: BF8C007F v_or_b32 v41, v42, v45 // 00000000F2E0: 38525B2A ds_write_b32 v7, v39 offset:408 // 00000000F2E4: D8340198 00002707 ds_write_b32 v30, v34 offset:408 // 00000000F2EC: D8340198 0000221E ds_write_b32 v29, v40 offset:408 // 00000000F2F4: D8340198 0000281D ds_write_b32 v28, v41 offset:408 // 00000000F2FC: D8340198 0000291C label_3CC1: s_waitcnt lgkmcnt(0) // 00000000F304: BF8C007F s_barrier // 00000000F308: BF8A0000 s_and_b64 exec, s[66:67], s[32:33] // wrscc // 00000000F30C: 87FE2042 s_cbranch_execz label_3CE2 // 00000000F310: BF88001D ds_read2_b32 v[39:40], v7 offset0:102 offset1:103 // 00000000F314: D8DC6766 27000007 ds_read_b32 v34, v30 offset:408 // 00000000F31C: D8D80198 2200001E ds_read_b32 v41, v29 offset:408 // 00000000F324: D8D80198 2900001D ds_read_b32 v42, v28 offset:408 // 00000000F32C: D8D80198 2A00001C v_add_i32 v43, vcc, 0x0000119c, v7 // 00000000F334: 4A560EFF 0000119C ds_read2st64_b32 v[43:44], v43 offset1:16 // 00000000F33C: D8E01000 2B00002B ds_read_b32 v45, v7 offset:12700 // 00000000F344: D8D8319C 2D000007 s_waitcnt lgkmcnt(5) // 00000000F34C: BF8C057F v_or_b32 v39, v39, v40 // 00000000F350: 384E5127 s_waitcnt lgkmcnt(1) // 00000000F354: BF8C017F v_or_b32 v34, v34, v43 // 00000000F358: 38445722 v_or_b32 v40, v41, v44 // 00000000F35C: 38505929 s_waitcnt lgkmcnt(0) // 00000000F360: BF8C007F v_or_b32 v41, v42, v45 // 00000000F364: 38525B2A ds_write_b32 v7, v39 offset:408 // 00000000F368: D8340198 00002707 ds_write_b32 v30, v34 offset:408 // 00000000F370: D8340198 0000221E ds_write_b32 v29, v40 offset:408 // 00000000F378: D8340198 0000281D ds_write_b32 v28, v41 offset:408 // 00000000F380: D8340198 0000291C label_3CE2: s_mov_b64 exec, s[66:67] // 00000000F388: BEFE0442 s_waitcnt lgkmcnt(0) // 00000000F38C: BF8C007F s_barrier // 00000000F390: BF8A0000 v_add_i32 v34, vcc, 0x00000198, v32 // 00000000F394: 4A4440FF 00000198 ds_read2st64_b32 v[39:40], v34 offset1:16 // 00000000F39C: D8E01000 27000022 ds_read2st64_b32 v[41:42], v34 offset0:32 offset1:48 // 00000000F3A4: D8E03020 29000022 v_lshrrev_b32 v34, 11, v33 // 00000000F3AC: 2C44428B s_movk_i32 s3, 0x01e0 // 00000000F3B0: B00301E0 v_bfi_b32 v34, s3, v34, 0 // 00000000F3B4: D2940022 02024403 v_add_i32 v34, vcc, v2, v34 // 00000000F3BC: 4A444502 v_lshlrev_b32 v34, 2, v34 // 00000000F3C0: 34444482 ds_read_b32 v34, v34 offset:18844 // 00000000F3C4: D8D8499C 22000022 s_and_saveexec_b64 s[64:65], s[64:65] // wrscc // 00000000F3CC: BEC02440 v_add_i32 v35, vcc, -1, v35 // 00000000F3D0: 4A4646C1 s_cbranch_execz label_3D0F // 00000000F3D4: BF880019 s_waitcnt lgkmcnt(2) // 00000000F3D8: BF8C027F v_xor_b32 v35, v39, v35 // 00000000F3DC: 3A464727 v_cmp_eq_i32 vcc, 0, v37 // 00000000F3E0: 7D044A80 v_cndmask_b32 v37, 0, -1, vcc // 00000000F3E4: D2000025 01A98280 v_xor_b32 v37, v40, v37 // 00000000F3EC: 3A4A4B28 v_and_b32 v35, v35, v37 // 00000000F3F0: 36464B23 v_cmp_eq_i32 vcc, 0, v38 // 00000000F3F4: 7D044C80 v_cndmask_b32 v37, 0, -1, vcc // 00000000F3F8: D2000025 01A98280 s_waitcnt lgkmcnt(1) // 00000000F400: BF8C017F v_xor_b32 v37, v41, v37 // 00000000F404: 3A4A4B29 v_and_b32 v35, v35, v37 // 00000000F408: 36464B23 v_cmp_eq_i32 vcc, 0, v36 // 00000000F40C: 7D044880 v_cndmask_b32 v36, 0, -1, vcc // 00000000F410: D2000024 01A98280 v_xor_b32 v36, v42, v36 // 00000000F418: 3A48492A v_and_b32 v35, v35, v36 // 00000000F41C: 36464923 v_bfe_u32 v35, v35, 0, v9 // 00000000F420: D2900023 04250123 s_waitcnt lgkmcnt(0) // 00000000F428: BF8C007F v_bcnt_u32_b32 v34, v35, v34 // 00000000F42C: 44444523 v_add_i32 v34, vcc, v21, v34 // 00000000F430: 4A444515 buffer_store_dword v33, v34, s[60:63], 0 idxen // 00000000F434: E0702000 800F2122 label_3D0F: s_waitcnt vmcnt(0) & lgkmcnt(0) // 00000000F43C: BF8C0070 s_barrier // 00000000F440: BF8A0000 s_and_b64 exec, s[64:65], s[24:25] // wrscc // 00000000F444: 87FE1840 s_cbranch_execz label_3D26 // 00000000F448: BF880013 ds_read_b32 v33, v27 offset:18844 // 00000000F44C: D8D8499C 2100001B v_xor_b32 v34, v31, v39 // 00000000F454: 3A444F1F v_cndmask_b32 v35, 0, -1, s[34:35] // 00000000F458: D2000023 00898280 v_xor_b32 v35, v35, v40 // 00000000F460: 3A465123 v_and_b32 v34, v34, v35 // 00000000F464: 36444722 v_cndmask_b32 v35, 0, -1, s[36:37] // 00000000F468: D2000023 00918280 v_xor_b32 v35, v35, v41 // 00000000F470: 3A465323 v_and_b32 v34, v34, v35 // 00000000F474: 36444722 v_cndmask_b32 v35, 0, -1, s[38:39] // 00000000F478: D2000023 00998280 v_xor_b32 v35, v35, v42 // 00000000F480: 3A465523 v_and_b32 v34, v34, v35 // 00000000F484: 36444722 s_waitcnt lgkmcnt(0) // 00000000F488: BF8C007F v_bcnt_u32_b32 v33, v34, v33 // 00000000F48C: 44424322 ds_write_b32 v27, v33 offset:18844 // 00000000F490: D834499C 0000211B label_3D26: s_mov_b64 exec, s[64:65] // 00000000F498: BEFE0440 v_add_i32 v25, vcc, 1, v25 // 00000000F49C: 4A323281 v_add_i32 v26, vcc, 32, v26 // 00000000F4A0: 4A3434A0 s_branch label_3C06 // 00000000F4A4: BF82FEDC label_3D2A: s_mov_b64 exec, s[20:21] // 00000000F4A8: BEFE0414 v_cmp_ne_u32 vcc, 0, v22 // 00000000F4AC: 7D8A2C80 s_and_saveexec_b64 s[20:21], vcc // wrscc // 00000000F4B0: BE94246A s_cbranch_execz label_3E64 // 00000000F4B4: BF880136 s_load_dwordx4 s[60:63], s[0:1], 0x58 // 00000000F4B8: C09E0158 v_add_i32 v25, vcc, v13, v26 // 00000000F4BC: 4A32350D s_waitcnt lgkmcnt(0) // 00000000F4C0: BF8C007F buffer_load_dword v25, v25, s[60:63], 0 idxen // 00000000F4C4: E0302000 800F1919 v_cmp_gt_u32 s[58:59], v23, v26 // 00000000F4CC: D188003A 00023517 s_waitcnt vmcnt(0) // 00000000F4D4: BF8C0F70 v_cndmask_b32 v25, -1, v25, s[58:59] // 00000000F4D8: D2000019 00EA32C1 s_and_saveexec_b64 s[64:65], s[18:19] // wrscc // 00000000F4E0: BEC02412 v_bfm_b32 v26, 1, v9 // 00000000F4E4: 3C341281 s_cbranch_execz label_3D61 // 00000000F4E8: BF880026 v_bfe_u32 v33, v25, 16, 1 // 00000000F4EC: D2900021 02052119 v_cmp_ne_i32 vcc, 0, v33 // 00000000F4F4: 7D0A4280 v_cndmask_b32 v33, 0, -1, vcc // 00000000F4F8: D2000021 01A98280 v_lshl_b32 v33, v33, v9 // 00000000F500: 32421321 v_bfi_b32 v33, v26, v33, 0 // 00000000F504: D2940021 0202431A v_lshrrev_b32 v34, 16, v25 // 00000000F50C: 2C443290 v_and_b32 v35, 2, v34 // 00000000F510: 36464482 v_cmp_ne_i32 vcc, 0, v35 // 00000000F514: 7D0A4680 v_cndmask_b32 v35, 0, -1, vcc // 00000000F518: D2000023 01A98280 v_lshl_b32 v35, v35, v9 // 00000000F520: 32461323 v_bfi_b32 v35, v26, v35, 0 // 00000000F524: D2940023 0202471A v_and_b32 v36, 4, v34 // 00000000F52C: 36484484 v_cmp_ne_i32 vcc, 0, v36 // 00000000F530: 7D0A4880 v_cndmask_b32 v36, 0, -1, vcc // 00000000F534: D2000024 01A98280 v_lshl_b32 v36, v36, v9 // 00000000F53C: 32481324 v_bfi_b32 v36, v26, v36, 0 // 00000000F540: D2940024 0202491A v_and_b32 v34, 8, v34 // 00000000F548: 36444488 v_cmp_ne_i32 vcc, 0, v34 // 00000000F54C: 7D0A4480 v_cndmask_b32 v34, 0, -1, vcc // 00000000F550: D2000022 01A98280 v_lshl_b32 v34, v34, v9 // 00000000F558: 32441322 v_bfi_b32 v26, v26, v34, 0 // 00000000F55C: D294001A 0202451A ds_write_b32 v7, v33 offset:408 // 00000000F564: D8340198 00002107 ds_write_b32 v30, v35 offset:408 // 00000000F56C: D8340198 0000231E ds_write_b32 v29, v36 offset:408 // 00000000F574: D8340198 0000241D ds_write_b32 v28, v26 offset:408 // 00000000F57C: D8340198 00001A1C label_3D61: s_waitcnt lgkmcnt(0) // 00000000F584: BF8C007F s_barrier // 00000000F588: BF8A0000 s_and_b64 exec, s[64:65], s[18:19] // wrscc // 00000000F58C: 87FE1240 s_cbranch_execz label_3D84 // 00000000F590: BF88001F s_and_saveexec_b64 s[66:67], s[24:25] // wrscc // 00000000F594: BEC22418 s_cbranch_execz label_3D84 // 00000000F598: BF88001D ds_read2_b32 v[33:34], v7 offset0:102 offset1:118 // 00000000F59C: D8DC7666 21000007 ds_read_b32 v26, v30 offset:408 // 00000000F5A4: D8D80198 1A00001E ds_read_b32 v35, v29 offset:408 // 00000000F5AC: D8D80198 2300001D ds_read_b32 v36, v28 offset:408 // 00000000F5B4: D8D80198 2400001C v_add_i32 v37, vcc, 0x000011d8, v7 // 00000000F5BC: 4A4A0EFF 000011D8 ds_read2st64_b32 v[37:38], v37 offset1:16 // 00000000F5C4: D8E01000 25000025 ds_read_b32 v39, v7 offset:12760 // 00000000F5CC: D8D831D8 27000007 s_waitcnt lgkmcnt(5) // 00000000F5D4: BF8C057F v_or_b32 v33, v33, v34 // 00000000F5D8: 38424521 s_waitcnt lgkmcnt(1) // 00000000F5DC: BF8C017F v_or_b32 v26, v26, v37 // 00000000F5E0: 38344B1A v_or_b32 v34, v35, v38 // 00000000F5E4: 38444D23 s_waitcnt lgkmcnt(0) // 00000000F5E8: BF8C007F v_or_b32 v35, v36, v39 // 00000000F5EC: 38464F24 ds_write_b32 v7, v33 offset:408 // 00000000F5F0: D8340198 00002107 ds_write_b32 v30, v26 offset:408 // 00000000F5F8: D8340198 00001A1E ds_write_b32 v29, v34 offset:408 // 00000000F600: D8340198 0000221D ds_write_b32 v28, v35 offset:408 // 00000000F608: D8340198 0000231C label_3D84: s_waitcnt lgkmcnt(0) // 00000000F610: BF8C007F s_barrier // 00000000F614: BF8A0000 s_and_b64 exec, s[64:65], s[18:19] // wrscc // 00000000F618: 87FE1240 s_cbranch_execz label_3DA7 // 00000000F61C: BF88001F s_and_saveexec_b64 s[66:67], s[26:27] // wrscc // 00000000F620: BEC2241A s_cbranch_execz label_3DA7 // 00000000F624: BF88001D ds_read2_b32 v[33:34], v7 offset0:102 offset1:110 // 00000000F628: D8DC6E66 21000007 ds_read_b32 v26, v30 offset:408 // 00000000F630: D8D80198 1A00001E ds_read_b32 v35, v29 offset:408 // 00000000F638: D8D80198 2300001D ds_read_b32 v36, v28 offset:408 // 00000000F640: D8D80198 2400001C v_add_i32 v37, vcc, 0x000011b8, v7 // 00000000F648: 4A4A0EFF 000011B8 ds_read2st64_b32 v[37:38], v37 offset1:16 // 00000000F650: D8E01000 25000025 ds_read_b32 v39, v7 offset:12728 // 00000000F658: D8D831B8 27000007 s_waitcnt lgkmcnt(5) // 00000000F660: BF8C057F v_or_b32 v33, v33, v34 // 00000000F664: 38424521 s_waitcnt lgkmcnt(1) // 00000000F668: BF8C017F v_or_b32 v26, v26, v37 // 00000000F66C: 38344B1A v_or_b32 v34, v35, v38 // 00000000F670: 38444D23 s_waitcnt lgkmcnt(0) // 00000000F674: BF8C007F v_or_b32 v35, v36, v39 // 00000000F678: 38464F24 ds_write_b32 v7, v33 offset:408 // 00000000F67C: D8340198 00002107 ds_write_b32 v30, v26 offset:408 // 00000000F684: D8340198 00001A1E ds_write_b32 v29, v34 offset:408 // 00000000F68C: D8340198 0000221D ds_write_b32 v28, v35 offset:408 // 00000000F694: D8340198 0000231C label_3DA7: s_waitcnt lgkmcnt(0) // 00000000F69C: BF8C007F s_barrier // 00000000F6A0: BF8A0000 s_and_b64 exec, s[64:65], s[18:19] // wrscc // 00000000F6A4: 87FE1240 s_cbranch_execz label_3DCA // 00000000F6A8: BF88001F s_and_saveexec_b64 s[66:67], s[28:29] // wrscc // 00000000F6AC: BEC2241C s_cbranch_execz label_3DCA // 00000000F6B0: BF88001D ds_read2_b32 v[33:34], v7 offset0:102 offset1:106 // 00000000F6B4: D8DC6A66 21000007 ds_read_b32 v26, v30 offset:408 // 00000000F6BC: D8D80198 1A00001E ds_read_b32 v35, v29 offset:408 // 00000000F6C4: D8D80198 2300001D ds_read_b32 v36, v28 offset:408 // 00000000F6CC: D8D80198 2400001C v_add_i32 v37, vcc, 0x000011a8, v7 // 00000000F6D4: 4A4A0EFF 000011A8 ds_read2st64_b32 v[37:38], v37 offset1:16 // 00000000F6DC: D8E01000 25000025 ds_read_b32 v39, v7 offset:12712 // 00000000F6E4: D8D831A8 27000007 s_waitcnt lgkmcnt(5) // 00000000F6EC: BF8C057F v_or_b32 v33, v33, v34 // 00000000F6F0: 38424521 s_waitcnt lgkmcnt(1) // 00000000F6F4: BF8C017F v_or_b32 v26, v26, v37 // 00000000F6F8: 38344B1A v_or_b32 v34, v35, v38 // 00000000F6FC: 38444D23 s_waitcnt lgkmcnt(0) // 00000000F700: BF8C007F v_or_b32 v35, v36, v39 // 00000000F704: 38464F24 ds_write_b32 v7, v33 offset:408 // 00000000F708: D8340198 00002107 ds_write_b32 v30, v26 offset:408 // 00000000F710: D8340198 00001A1E ds_write_b32 v29, v34 offset:408 // 00000000F718: D8340198 0000221D ds_write_b32 v28, v35 offset:408 // 00000000F720: D8340198 0000231C label_3DCA: s_waitcnt lgkmcnt(0) // 00000000F728: BF8C007F s_barrier // 00000000F72C: BF8A0000 s_and_b64 exec, s[64:65], s[18:19] // wrscc // 00000000F730: 87FE1240 s_cbranch_execz label_3DED // 00000000F734: BF88001F s_and_saveexec_b64 s[66:67], s[30:31] // wrscc // 00000000F738: BEC2241E s_cbranch_execz label_3DED // 00000000F73C: BF88001D ds_read2_b32 v[33:34], v7 offset0:102 offset1:104 // 00000000F740: D8DC6866 21000007 ds_read_b32 v26, v30 offset:408 // 00000000F748: D8D80198 1A00001E ds_read_b32 v35, v29 offset:408 // 00000000F750: D8D80198 2300001D ds_read_b32 v36, v28 offset:408 // 00000000F758: D8D80198 2400001C v_add_i32 v37, vcc, 0x000011a0, v7 // 00000000F760: 4A4A0EFF 000011A0 ds_read2st64_b32 v[37:38], v37 offset1:16 // 00000000F768: D8E01000 25000025 ds_read_b32 v39, v7 offset:12704 // 00000000F770: D8D831A0 27000007 s_waitcnt lgkmcnt(5) // 00000000F778: BF8C057F v_or_b32 v33, v33, v34 // 00000000F77C: 38424521 s_waitcnt lgkmcnt(1) // 00000000F780: BF8C017F v_or_b32 v26, v26, v37 // 00000000F784: 38344B1A v_or_b32 v34, v35, v38 // 00000000F788: 38444D23 s_waitcnt lgkmcnt(0) // 00000000F78C: BF8C007F v_or_b32 v35, v36, v39 // 00000000F790: 38464F24 ds_write_b32 v7, v33 offset:408 // 00000000F794: D8340198 00002107 ds_write_b32 v30, v26 offset:408 // 00000000F79C: D8340198 00001A1E ds_write_b32 v29, v34 offset:408 // 00000000F7A4: D8340198 0000221D ds_write_b32 v28, v35 offset:408 // 00000000F7AC: D8340198 0000231C label_3DED: s_waitcnt lgkmcnt(0) // 00000000F7B4: BF8C007F s_barrier // 00000000F7B8: BF8A0000 s_and_b64 exec, s[64:65], s[18:19] // wrscc // 00000000F7BC: 87FE1240 s_cbranch_execz label_3E10 // 00000000F7C0: BF88001F s_and_saveexec_b64 s[66:67], s[32:33] // wrscc // 00000000F7C4: BEC22420 s_cbranch_execz label_3E10 // 00000000F7C8: BF88001D ds_read2_b32 v[33:34], v7 offset0:102 offset1:103 // 00000000F7CC: D8DC6766 21000007 ds_read_b32 v26, v30 offset:408 // 00000000F7D4: D8D80198 1A00001E ds_read_b32 v35, v29 offset:408 // 00000000F7DC: D8D80198 2300001D ds_read_b32 v36, v28 offset:408 // 00000000F7E4: D8D80198 2400001C v_add_i32 v37, vcc, 0x0000119c, v7 // 00000000F7EC: 4A4A0EFF 0000119C ds_read2st64_b32 v[37:38], v37 offset1:16 // 00000000F7F4: D8E01000 25000025 ds_read_b32 v39, v7 offset:12700 // 00000000F7FC: D8D8319C 27000007 s_waitcnt lgkmcnt(5) // 00000000F804: BF8C057F v_or_b32 v33, v33, v34 // 00000000F808: 38424521 s_waitcnt lgkmcnt(1) // 00000000F80C: BF8C017F v_or_b32 v26, v26, v37 // 00000000F810: 38344B1A v_or_b32 v34, v35, v38 // 00000000F814: 38444D23 s_waitcnt lgkmcnt(0) // 00000000F818: BF8C007F v_or_b32 v35, v36, v39 // 00000000F81C: 38464F24 ds_write_b32 v7, v33 offset:408 // 00000000F820: D8340198 00002107 ds_write_b32 v30, v26 offset:408 // 00000000F828: D8340198 00001A1E ds_write_b32 v29, v34 offset:408 // 00000000F830: D8340198 0000221D ds_write_b32 v28, v35 offset:408 // 00000000F838: D8340198 0000231C label_3E10: s_waitcnt lgkmcnt(0) // 00000000F840: BF8C007F s_barrier // 00000000F844: BF8A0000 s_and_b64 exec, s[64:65], s[18:19] // wrscc // 00000000F848: 87FE1240 v_add_i32 v26, vcc, 0x00000198, v32 // 00000000F84C: 4A3440FF 00000198 s_cbranch_execz label_3E40 // 00000000F854: BF88002A ds_read2st64_b32 v[33:34], v26 offset1:16 // 00000000F858: D8E01000 2100001A ds_read2st64_b32 v[35:36], v26 offset0:32 offset1:48 // 00000000F860: D8E03020 2300001A v_lshrrev_b32 v26, 16, v25 // 00000000F868: 2C343290 v_lshrrev_b32 v37, 11, v25 // 00000000F86C: 2C4A328B s_movk_i32 s3, 0x01e0 // 00000000F870: B00301E0 v_and_b32 v38, 2, v26 // 00000000F874: 364C3482 v_bfi_b32 v37, s3, v37, 0 // 00000000F878: D2940025 02024A03 v_bfe_u32 v39, v25, 16, 1 // 00000000F880: D2900027 02052119 v_cmp_eq_i32 s[66:67], v38, 0 // 00000000F888: D1040042 00010126 v_and_b32 v38, 4, v26 // 00000000F890: 364C3484 v_add_i32 v37, vcc, v2, v37 // 00000000F894: 4A4A4B02 v_add_i32 v39, vcc, -1, v39 // 00000000F898: 4A4E4EC1 v_cndmask_b32 v40, 0, -1, s[66:67] // 00000000F89C: D2000028 01098280 v_cmp_eq_i32 vcc, 0, v38 // 00000000F8A4: 7D044C80 v_and_b32 v26, 8, v26 // 00000000F8A8: 36343488 v_lshlrev_b32 v37, 2, v37 // 00000000F8AC: 344A4A82 ds_read_b32 v37, v37 offset:18844 // 00000000F8B0: D8D8499C 25000025 s_waitcnt lgkmcnt(2) // 00000000F8B8: BF8C027F v_xor_b32 v38, v33, v39 // 00000000F8BC: 3A4C4F21 v_xor_b32 v39, v34, v40 // 00000000F8C0: 3A4E5122 v_cndmask_b32 v40, 0, -1, vcc // 00000000F8C4: D2000028 01A98280 v_cmp_eq_i32 vcc, 0, v26 // 00000000F8CC: 7D043480 s_waitcnt lgkmcnt(1) // 00000000F8D0: BF8C017F v_xor_b32 v26, v35, v40 // 00000000F8D4: 3A345123 v_cndmask_b32 v40, 0, -1, vcc // 00000000F8D8: D2000028 01A98280 v_and_b32 v38, v38, v39 // 00000000F8E0: 364C4F26 v_xor_b32 v39, v36, v40 // 00000000F8E4: 3A4E5124 v_and_b32 v26, v26, v38 // 00000000F8E8: 36344D1A v_and_b32 v26, v39, v26 // 00000000F8EC: 36343527 v_bfe_u32 v26, v26, 0, v9 // 00000000F8F0: D290001A 0425011A s_waitcnt lgkmcnt(0) // 00000000F8F8: BF8C007F v_bcnt_u32_b32 v26, v26, v37 // 00000000F8FC: 44344B1A label_3E40: s_andn2_b64 exec, s[64:65], exec // wrscc // 00000000F900: 8AFE7E40 v_mov_b32 v34, 0 // 00000000F904: 7E440280 v_mov_b32 v36, 0 // 00000000F908: 7E480280 v_mov_b32 v26, 0 // 00000000F90C: 7E340280 v_mov_b32 v62, 0 // 00000000F910: 7E7C0280 v_mov_b32 v35, 0 // 00000000F914: 7E460280 v_mov_b32 v33, 0 // 00000000F918: 7E420280 s_and_b64 exec, s[64:65], s[58:59] // wrscc // 00000000F91C: 87FE3A40 v_add_i32 v26, vcc, v21, v26 // 00000000F920: 4A343515 buffer_store_dword v25, v26, s[60:63], 0 idxen // 00000000F924: E0702000 800F191A s_waitcnt vmcnt(0) // 00000000F92C: BF8C0F70 s_barrier // 00000000F930: BF8A0000 s_and_b64 exec, s[64:65], s[18:19] // wrscc // 00000000F934: 87FE1240 s_cbranch_execz label_3E64 // 00000000F938: BF880015 s_and_saveexec_b64 s[58:59], s[24:25] // wrscc // 00000000F93C: BEBA2418 s_cbranch_execz label_3E64 // 00000000F940: BF880013 ds_read_b32 v25, v27 offset:18844 // 00000000F944: D8D8499C 1900001B v_xor_b32 v26, v31, v33 // 00000000F94C: 3A34431F v_cndmask_b32 v33, 0, -1, s[34:35] // 00000000F950: D2000021 00898280 v_xor_b32 v33, v33, v34 // 00000000F958: 3A424521 v_and_b32 v26, v26, v33 // 00000000F95C: 3634431A v_cndmask_b32 v33, 0, -1, s[36:37] // 00000000F960: D2000021 00918280 v_xor_b32 v33, v33, v35 // 00000000F968: 3A424721 v_cndmask_b32 v34, 0, -1, s[38:39] // 00000000F96C: D2000022 00998280 v_xor_b32 v34, v34, v36 // 00000000F974: 3A444922 v_and_b32 v26, v26, v33 // 00000000F978: 3634431A v_and_b32 v26, v34, v26 // 00000000F97C: 36343522 s_waitcnt lgkmcnt(0) // 00000000F980: BF8C007F v_bcnt_u32_b32 v25, v26, v25 // 00000000F984: 4432331A ds_write_b32 v27, v25 offset:18844 // 00000000F988: D834499C 0000191B label_3E64: s_mov_b64 exec, s[20:21] // 00000000F990: BEFE0414 s_mov_b64 s[20:21], exec // 00000000F994: BE94047E v_mov_b32 v26, 0 // 00000000F998: 7E340280 v_mov_b32 v25, 0 // 00000000F99C: 7E320280 v_mov_b32 v33, v24 // 00000000F9A0: 7E420318 label_3E69: v_cmp_ge_u32 vcc, v26, v12 // 00000000F9A4: 7D8C191A s_andn2_b64 exec, exec, vcc // wrscc // 00000000F9A8: 8AFE6A7E s_cbranch_execz label_3F5E // 00000000F9AC: BF8800F2 s_load_dwordx4 s[60:63], s[0:1], 0x58 // 00000000F9B0: C09E0158 v_cmp_gt_u32 s[58:59], v23, v33 // 00000000F9B4: D188003A 00024317 v_add_i32 v34, vcc, v21, v33 // 00000000F9BC: 4A444315 v_bfm_b32 v35, 1, v9 // 00000000F9C0: 3C461281 s_waitcnt lgkmcnt(0) // 00000000F9C4: BF8C007F buffer_load_dword v34, v34, s[60:63], 0 idxen // 00000000F9C8: E0302000 800F2222 s_waitcnt vmcnt(0) // 00000000F9D0: BF8C0F70 v_cndmask_b32 v34, -1, v34, s[58:59] // 00000000F9D4: D2000022 00EA44C1 v_bfe_u32 v36, v34, 20, 1 // 00000000F9DC: D2900024 02052922 v_cmp_ne_i32 vcc, 0, v36 // 00000000F9E4: 7D0A4880 v_cndmask_b32 v36, 0, -1, vcc // 00000000F9E8: D2000024 01A98280 v_lshl_b32 v36, v36, v9 // 00000000F9F0: 32481324 v_bfi_b32 v36, v35, v36, 0 // 00000000F9F4: D2940024 02024923 ds_write_b32 v7, v36 offset:408 // 00000000F9FC: D8340198 00002407 v_lshrrev_b32 v34, 20, v34 // 00000000FA04: 2C444494 v_and_b32 v36, 2, v34 // 00000000FA08: 36484482 v_cmp_ne_i32 vcc, 0, v36 // 00000000FA0C: 7D0A4880 v_cndmask_b32 v36, 0, -1, vcc // 00000000FA10: D2000024 01A98280 v_lshl_b32 v36, v36, v9 // 00000000FA18: 32481324 v_bfi_b32 v36, v35, v36, 0 // 00000000FA1C: D2940024 02024923 ds_write_b32 v30, v36 offset:408 // 00000000FA24: D8340198 0000241E v_and_b32 v36, 4, v34 // 00000000FA2C: 36484484 v_cmp_ne_i32 vcc, 0, v36 // 00000000FA30: 7D0A4880 v_cndmask_b32 v36, 0, -1, vcc // 00000000FA34: D2000024 01A98280 v_lshl_b32 v36, v36, v9 // 00000000FA3C: 32481324 v_bfi_b32 v36, v35, v36, 0 // 00000000FA40: D2940024 02024923 ds_write_b32 v29, v36 offset:408 // 00000000FA48: D8340198 0000241D v_and_b32 v34, 8, v34 // 00000000FA50: 36444488 v_cmp_ne_i32 vcc, 0, v34 // 00000000FA54: 7D0A4480 v_cndmask_b32 v34, 0, -1, vcc // 00000000FA58: D2000022 01A98280 v_lshl_b32 v34, v34, v9 // 00000000FA60: 32441322 v_bfi_b32 v34, v35, v34, 0 // 00000000FA64: D2940022 02024523 ds_write_b32 v28, v34 offset:408 // 00000000FA6C: D8340198 0000221C s_waitcnt lgkmcnt(0) // 00000000FA74: BF8C007F s_barrier // 00000000FA78: BF8A0000 s_and_saveexec_b64 s[58:59], s[24:25] // wrscc // 00000000FA7C: BEBA2418 s_cbranch_execz label_3EBE // 00000000FA80: BF88001D ds_read2_b32 v[34:35], v7 offset0:102 offset1:118 // 00000000FA84: D8DC7666 22000007 ds_read_b32 v36, v30 offset:408 // 00000000FA8C: D8D80198 2400001E ds_read_b32 v37, v29 offset:408 // 00000000FA94: D8D80198 2500001D ds_read_b32 v38, v28 offset:408 // 00000000FA9C: D8D80198 2600001C v_add_i32 v39, vcc, 0x000011d8, v7 // 00000000FAA4: 4A4E0EFF 000011D8 ds_read2st64_b32 v[39:40], v39 offset1:16 // 00000000FAAC: D8E01000 27000027 ds_read_b32 v41, v7 offset:12760 // 00000000FAB4: D8D831D8 29000007 s_waitcnt lgkmcnt(5) // 00000000FABC: BF8C057F v_or_b32 v34, v34, v35 // 00000000FAC0: 38444722 s_waitcnt lgkmcnt(1) // 00000000FAC4: BF8C017F v_or_b32 v35, v36, v39 // 00000000FAC8: 38464F24 v_or_b32 v36, v37, v40 // 00000000FACC: 38485125 s_waitcnt lgkmcnt(0) // 00000000FAD0: BF8C007F v_or_b32 v37, v38, v41 // 00000000FAD4: 384A5326 ds_write_b32 v7, v34 offset:408 // 00000000FAD8: D8340198 00002207 ds_write_b32 v30, v35 offset:408 // 00000000FAE0: D8340198 0000231E ds_write_b32 v29, v36 offset:408 // 00000000FAE8: D8340198 0000241D ds_write_b32 v28, v37 offset:408 // 00000000FAF0: D8340198 0000251C label_3EBE: s_waitcnt lgkmcnt(0) // 00000000FAF8: BF8C007F s_barrier // 00000000FAFC: BF8A0000 s_and_b64 exec, s[58:59], s[26:27] // wrscc // 00000000FB00: 87FE1A3A s_cbranch_execz label_3EDF // 00000000FB04: BF88001D ds_read2_b32 v[34:35], v7 offset0:102 offset1:110 // 00000000FB08: D8DC6E66 22000007 ds_read_b32 v36, v30 offset:408 // 00000000FB10: D8D80198 2400001E ds_read_b32 v37, v29 offset:408 // 00000000FB18: D8D80198 2500001D ds_read_b32 v38, v28 offset:408 // 00000000FB20: D8D80198 2600001C v_add_i32 v39, vcc, 0x000011b8, v7 // 00000000FB28: 4A4E0EFF 000011B8 ds_read2st64_b32 v[39:40], v39 offset1:16 // 00000000FB30: D8E01000 27000027 ds_read_b32 v41, v7 offset:12728 // 00000000FB38: D8D831B8 29000007 s_waitcnt lgkmcnt(5) // 00000000FB40: BF8C057F v_or_b32 v34, v34, v35 // 00000000FB44: 38444722 s_waitcnt lgkmcnt(1) // 00000000FB48: BF8C017F v_or_b32 v35, v36, v39 // 00000000FB4C: 38464F24 v_or_b32 v36, v37, v40 // 00000000FB50: 38485125 s_waitcnt lgkmcnt(0) // 00000000FB54: BF8C007F v_or_b32 v37, v38, v41 // 00000000FB58: 384A5326 ds_write_b32 v7, v34 offset:408 // 00000000FB5C: D8340198 00002207 ds_write_b32 v30, v35 offset:408 // 00000000FB64: D8340198 0000231E ds_write_b32 v29, v36 offset:408 // 00000000FB6C: D8340198 0000241D ds_write_b32 v28, v37 offset:408 // 00000000FB74: D8340198 0000251C label_3EDF: s_waitcnt lgkmcnt(0) // 00000000FB7C: BF8C007F s_barrier // 00000000FB80: BF8A0000 s_and_b64 exec, s[58:59], s[28:29] // wrscc // 00000000FB84: 87FE1C3A s_cbranch_execz label_3F00 // 00000000FB88: BF88001D ds_read2_b32 v[34:35], v7 offset0:102 offset1:106 // 00000000FB8C: D8DC6A66 22000007 ds_read_b32 v36, v30 offset:408 // 00000000FB94: D8D80198 2400001E ds_read_b32 v37, v29 offset:408 // 00000000FB9C: D8D80198 2500001D ds_read_b32 v38, v28 offset:408 // 00000000FBA4: D8D80198 2600001C v_add_i32 v39, vcc, 0x000011a8, v7 // 00000000FBAC: 4A4E0EFF 000011A8 ds_read2st64_b32 v[39:40], v39 offset1:16 // 00000000FBB4: D8E01000 27000027 ds_read_b32 v41, v7 offset:12712 // 00000000FBBC: D8D831A8 29000007 s_waitcnt lgkmcnt(5) // 00000000FBC4: BF8C057F v_or_b32 v34, v34, v35 // 00000000FBC8: 38444722 s_waitcnt lgkmcnt(1) // 00000000FBCC: BF8C017F v_or_b32 v35, v36, v39 // 00000000FBD0: 38464F24 v_or_b32 v36, v37, v40 // 00000000FBD4: 38485125 s_waitcnt lgkmcnt(0) // 00000000FBD8: BF8C007F v_or_b32 v37, v38, v41 // 00000000FBDC: 384A5326 ds_write_b32 v7, v34 offset:408 // 00000000FBE0: D8340198 00002207 ds_write_b32 v30, v35 offset:408 // 00000000FBE8: D8340198 0000231E ds_write_b32 v29, v36 offset:408 // 00000000FBF0: D8340198 0000241D ds_write_b32 v28, v37 offset:408 // 00000000FBF8: D8340198 0000251C label_3F00: s_waitcnt lgkmcnt(0) // 00000000FC00: BF8C007F s_barrier // 00000000FC04: BF8A0000 s_and_b64 exec, s[58:59], s[30:31] // wrscc // 00000000FC08: 87FE1E3A s_cbranch_execz label_3F21 // 00000000FC0C: BF88001D ds_read2_b32 v[34:35], v7 offset0:102 offset1:104 // 00000000FC10: D8DC6866 22000007 ds_read_b32 v36, v30 offset:408 // 00000000FC18: D8D80198 2400001E ds_read_b32 v37, v29 offset:408 // 00000000FC20: D8D80198 2500001D ds_read_b32 v38, v28 offset:408 // 00000000FC28: D8D80198 2600001C v_add_i32 v39, vcc, 0x000011a0, v7 // 00000000FC30: 4A4E0EFF 000011A0 ds_read2st64_b32 v[39:40], v39 offset1:16 // 00000000FC38: D8E01000 27000027 ds_read_b32 v41, v7 offset:12704 // 00000000FC40: D8D831A0 29000007 s_waitcnt lgkmcnt(5) // 00000000FC48: BF8C057F v_or_b32 v34, v34, v35 // 00000000FC4C: 38444722 s_waitcnt lgkmcnt(1) // 00000000FC50: BF8C017F v_or_b32 v35, v36, v39 // 00000000FC54: 38464F24 v_or_b32 v36, v37, v40 // 00000000FC58: 38485125 s_waitcnt lgkmcnt(0) // 00000000FC5C: BF8C007F v_or_b32 v37, v38, v41 // 00000000FC60: 384A5326 ds_write_b32 v7, v34 offset:408 // 00000000FC64: D8340198 00002207 ds_write_b32 v30, v35 offset:408 // 00000000FC6C: D8340198 0000231E ds_write_b32 v29, v36 offset:408 // 00000000FC74: D8340198 0000241D ds_write_b32 v28, v37 offset:408 // 00000000FC7C: D8340198 0000251C label_3F21: s_waitcnt lgkmcnt(0) // 00000000FC84: BF8C007F s_barrier // 00000000FC88: BF8A0000 s_and_b64 exec, s[58:59], s[32:33] // wrscc // 00000000FC8C: 87FE203A s_cbranch_execz label_3F42 // 00000000FC90: BF88001D ds_read2_b32 v[34:35], v7 offset0:102 offset1:103 // 00000000FC94: D8DC6766 22000007 ds_read_b32 v36, v30 offset:408 // 00000000FC9C: D8D80198 2400001E ds_read_b32 v37, v29 offset:408 // 00000000FCA4: D8D80198 2500001D ds_read_b32 v38, v28 offset:408 // 00000000FCAC: D8D80198 2600001C v_add_i32 v39, vcc, 0x0000119c, v7 // 00000000FCB4: 4A4E0EFF 0000119C ds_read2st64_b32 v[39:40], v39 offset1:16 // 00000000FCBC: D8E01000 27000027 ds_read_b32 v41, v7 offset:12700 // 00000000FCC4: D8D8319C 29000007 s_waitcnt lgkmcnt(5) // 00000000FCCC: BF8C057F v_or_b32 v34, v34, v35 // 00000000FCD0: 38444722 s_waitcnt lgkmcnt(1) // 00000000FCD4: BF8C017F v_or_b32 v35, v36, v39 // 00000000FCD8: 38464F24 v_or_b32 v36, v37, v40 // 00000000FCDC: 38485125 s_waitcnt lgkmcnt(0) // 00000000FCE0: BF8C007F v_or_b32 v37, v38, v41 // 00000000FCE4: 384A5326 ds_write_b32 v7, v34 offset:408 // 00000000FCE8: D8340198 00002207 ds_write_b32 v30, v35 offset:408 // 00000000FCF0: D8340198 0000231E ds_write_b32 v29, v36 offset:408 // 00000000FCF8: D8340198 0000241D ds_write_b32 v28, v37 offset:408 // 00000000FD00: D8340198 0000251C label_3F42: s_mov_b64 exec, s[58:59] // 00000000FD08: BEFE043A s_waitcnt lgkmcnt(0) // 00000000FD0C: BF8C007F s_barrier // 00000000FD10: BF8A0000 v_add_i32 v34, vcc, 0x00000198, v32 // 00000000FD14: 4A4440FF 00000198 ds_read2st64_b32 v[35:36], v34 offset1:16 // 00000000FD1C: D8E01000 23000022 ds_read2st64_b32 v[37:38], v34 offset0:32 offset1:48 // 00000000FD24: D8E03020 25000022 v_cndmask_b32 v34, 0, -1, s[34:35] // 00000000FD2C: D2000022 00898280 s_waitcnt lgkmcnt(1) // 00000000FD34: BF8C017F v_xor_b32 v35, v31, v35 // 00000000FD38: 3A46471F v_xor_b32 v34, v34, v36 // 00000000FD3C: 3A444922 v_cndmask_b32 v36, 0, -1, s[36:37] // 00000000FD40: D2000024 00918280 v_and_b32 v34, v35, v34 // 00000000FD48: 36444523 s_waitcnt lgkmcnt(0) // 00000000FD4C: BF8C007F v_xor_b32 v35, v36, v37 // 00000000FD50: 3A464B24 v_cndmask_b32 v36, 0, -1, s[38:39] // 00000000FD54: D2000024 00998280 v_and_b32 v34, v34, v35 // 00000000FD5C: 36444722 v_xor_b32 v35, v36, v38 // 00000000FD60: 3A464D24 v_and_b32 v34, v34, v35 // 00000000FD64: 36444722 v_bcnt_u32_b32 v25, v34, v25 // 00000000FD68: 44323322 v_add_i32 v26, vcc, 1, v26 // 00000000FD6C: 4A343481 v_add_i32 v33, vcc, 32, v33 // 00000000FD70: 4A4242A0 s_branch label_3E69 // 00000000FD74: BF82FF0B label_3F5E: s_mov_b64 exec, s[20:21] // 00000000FD78: BEFE0414 v_cmp_ne_u32 vcc, 0, v22 // 00000000FD7C: 7D8A2C80 s_and_saveexec_b64 s[20:21], vcc // wrscc // 00000000FD80: BE94246A v_add_i32 v26, vcc, v21, v33 // 00000000FD84: 4A344315 s_cbranch_execz label_406A // 00000000FD88: BF880107 s_and_saveexec_b64 s[58:59], s[18:19] // wrscc // 00000000FD8C: BEBA2412 s_cbranch_execz label_3F93 // 00000000FD90: BF88002E s_load_dwordx4 s[60:63], s[0:1], 0x58 // 00000000FD94: C09E0158 v_cmp_gt_u32 vcc, v23, v33 // 00000000FD98: 7D884317 v_bfm_b32 v33, 1, v9 // 00000000FD9C: 3C421281 s_waitcnt lgkmcnt(0) // 00000000FDA0: BF8C007F buffer_load_dword v26, v26, s[60:63], 0 idxen // 00000000FDA4: E0302000 800F1A1A s_waitcnt vmcnt(0) // 00000000FDAC: BF8C0F70 v_cndmask_b32 v26, -1, v26, vcc // 00000000FDB0: 003434C1 v_bfe_u32 v34, v26, 20, 1 // 00000000FDB4: D2900022 0205291A v_cmp_ne_i32 vcc, 0, v34 // 00000000FDBC: 7D0A4480 v_cndmask_b32 v34, 0, -1, vcc // 00000000FDC0: D2000022 01A98280 v_lshl_b32 v34, v34, v9 // 00000000FDC8: 32441322 v_bfi_b32 v34, v33, v34, 0 // 00000000FDCC: D2940022 02024521 ds_write_b32 v7, v34 offset:408 // 00000000FDD4: D8340198 00002207 v_lshrrev_b32 v26, 20, v26 // 00000000FDDC: 2C343494 v_and_b32 v34, 2, v26 // 00000000FDE0: 36443482 v_cmp_ne_i32 vcc, 0, v34 // 00000000FDE4: 7D0A4480 v_cndmask_b32 v34, 0, -1, vcc // 00000000FDE8: D2000022 01A98280 v_lshl_b32 v34, v34, v9 // 00000000FDF0: 32441322 v_bfi_b32 v34, v33, v34, 0 // 00000000FDF4: D2940022 02024521 ds_write_b32 v30, v34 offset:408 // 00000000FDFC: D8340198 0000221E v_and_b32 v34, 4, v26 // 00000000FE04: 36443484 v_cmp_ne_i32 vcc, 0, v34 // 00000000FE08: 7D0A4480 v_cndmask_b32 v34, 0, -1, vcc // 00000000FE0C: D2000022 01A98280 v_lshl_b32 v34, v34, v9 // 00000000FE14: 32441322 v_bfi_b32 v34, v33, v34, 0 // 00000000FE18: D2940022 02024521 ds_write_b32 v29, v34 offset:408 // 00000000FE20: D8340198 0000221D v_and_b32 v26, 8, v26 // 00000000FE28: 36343488 v_cmp_ne_i32 vcc, 0, v26 // 00000000FE2C: 7D0A3480 v_cndmask_b32 v26, 0, -1, vcc // 00000000FE30: D200001A 01A98280 v_lshl_b32 v26, v26, v9 // 00000000FE38: 3234131A v_bfi_b32 v26, v33, v26, 0 // 00000000FE3C: D294001A 02023521 ds_write_b32 v28, v26 offset:408 // 00000000FE44: D8340198 00001A1C label_3F93: s_waitcnt lgkmcnt(0) // 00000000FE4C: BF8C007F s_barrier // 00000000FE50: BF8A0000 s_and_b64 exec, s[58:59], s[18:19] // wrscc // 00000000FE54: 87FE123A s_cbranch_execz label_3FB6 // 00000000FE58: BF88001F s_and_saveexec_b64 s[60:61], s[24:25] // wrscc // 00000000FE5C: BEBC2418 s_cbranch_execz label_3FB6 // 00000000FE60: BF88001D ds_read2_b32 v[33:34], v7 offset0:102 offset1:118 // 00000000FE64: D8DC7666 21000007 ds_read_b32 v26, v30 offset:408 // 00000000FE6C: D8D80198 1A00001E ds_read_b32 v35, v29 offset:408 // 00000000FE74: D8D80198 2300001D ds_read_b32 v36, v28 offset:408 // 00000000FE7C: D8D80198 2400001C v_add_i32 v37, vcc, 0x000011d8, v7 // 00000000FE84: 4A4A0EFF 000011D8 ds_read2st64_b32 v[37:38], v37 offset1:16 // 00000000FE8C: D8E01000 25000025 ds_read_b32 v39, v7 offset:12760 // 00000000FE94: D8D831D8 27000007 s_waitcnt lgkmcnt(5) // 00000000FE9C: BF8C057F v_or_b32 v33, v33, v34 // 00000000FEA0: 38424521 s_waitcnt lgkmcnt(1) // 00000000FEA4: BF8C017F v_or_b32 v26, v26, v37 // 00000000FEA8: 38344B1A v_or_b32 v34, v35, v38 // 00000000FEAC: 38444D23 s_waitcnt lgkmcnt(0) // 00000000FEB0: BF8C007F v_or_b32 v35, v36, v39 // 00000000FEB4: 38464F24 ds_write_b32 v7, v33 offset:408 // 00000000FEB8: D8340198 00002107 ds_write_b32 v30, v26 offset:408 // 00000000FEC0: D8340198 00001A1E ds_write_b32 v29, v34 offset:408 // 00000000FEC8: D8340198 0000221D ds_write_b32 v28, v35 offset:408 // 00000000FED0: D8340198 0000231C label_3FB6: s_waitcnt lgkmcnt(0) // 00000000FED8: BF8C007F s_barrier // 00000000FEDC: BF8A0000 s_and_b64 exec, s[58:59], s[18:19] // wrscc // 00000000FEE0: 87FE123A s_cbranch_execz label_3FD9 // 00000000FEE4: BF88001F s_and_saveexec_b64 s[60:61], s[26:27] // wrscc // 00000000FEE8: BEBC241A s_cbranch_execz label_3FD9 // 00000000FEEC: BF88001D ds_read2_b32 v[33:34], v7 offset0:102 offset1:110 // 00000000FEF0: D8DC6E66 21000007 ds_read_b32 v26, v30 offset:408 // 00000000FEF8: D8D80198 1A00001E ds_read_b32 v35, v29 offset:408 // 00000000FF00: D8D80198 2300001D ds_read_b32 v36, v28 offset:408 // 00000000FF08: D8D80198 2400001C v_add_i32 v37, vcc, 0x000011b8, v7 // 00000000FF10: 4A4A0EFF 000011B8 ds_read2st64_b32 v[37:38], v37 offset1:16 // 00000000FF18: D8E01000 25000025 ds_read_b32 v39, v7 offset:12728 // 00000000FF20: D8D831B8 27000007 s_waitcnt lgkmcnt(5) // 00000000FF28: BF8C057F v_or_b32 v33, v33, v34 // 00000000FF2C: 38424521 s_waitcnt lgkmcnt(1) // 00000000FF30: BF8C017F v_or_b32 v26, v26, v37 // 00000000FF34: 38344B1A v_or_b32 v34, v35, v38 // 00000000FF38: 38444D23 s_waitcnt lgkmcnt(0) // 00000000FF3C: BF8C007F v_or_b32 v35, v36, v39 // 00000000FF40: 38464F24 ds_write_b32 v7, v33 offset:408 // 00000000FF44: D8340198 00002107 ds_write_b32 v30, v26 offset:408 // 00000000FF4C: D8340198 00001A1E ds_write_b32 v29, v34 offset:408 // 00000000FF54: D8340198 0000221D ds_write_b32 v28, v35 offset:408 // 00000000FF5C: D8340198 0000231C label_3FD9: s_waitcnt lgkmcnt(0) // 00000000FF64: BF8C007F s_barrier // 00000000FF68: BF8A0000 s_and_b64 exec, s[58:59], s[18:19] // wrscc // 00000000FF6C: 87FE123A s_cbranch_execz label_3FFC // 00000000FF70: BF88001F s_and_saveexec_b64 s[60:61], s[28:29] // wrscc // 00000000FF74: BEBC241C s_cbranch_execz label_3FFC // 00000000FF78: BF88001D ds_read2_b32 v[33:34], v7 offset0:102 offset1:106 // 00000000FF7C: D8DC6A66 21000007 ds_read_b32 v26, v30 offset:408 // 00000000FF84: D8D80198 1A00001E ds_read_b32 v35, v29 offset:408 // 00000000FF8C: D8D80198 2300001D ds_read_b32 v36, v28 offset:408 // 00000000FF94: D8D80198 2400001C v_add_i32 v37, vcc, 0x000011a8, v7 // 00000000FF9C: 4A4A0EFF 000011A8 ds_read2st64_b32 v[37:38], v37 offset1:16 // 00000000FFA4: D8E01000 25000025 ds_read_b32 v39, v7 offset:12712 // 00000000FFAC: D8D831A8 27000007 s_waitcnt lgkmcnt(5) // 00000000FFB4: BF8C057F v_or_b32 v33, v33, v34 // 00000000FFB8: 38424521 s_waitcnt lgkmcnt(1) // 00000000FFBC: BF8C017F v_or_b32 v26, v26, v37 // 00000000FFC0: 38344B1A v_or_b32 v34, v35, v38 // 00000000FFC4: 38444D23 s_waitcnt lgkmcnt(0) // 00000000FFC8: BF8C007F v_or_b32 v35, v36, v39 // 00000000FFCC: 38464F24 ds_write_b32 v7, v33 offset:408 // 00000000FFD0: D8340198 00002107 ds_write_b32 v30, v26 offset:408 // 00000000FFD8: D8340198 00001A1E ds_write_b32 v29, v34 offset:408 // 00000000FFE0: D8340198 0000221D ds_write_b32 v28, v35 offset:408 // 00000000FFE8: D8340198 0000231C label_3FFC: s_waitcnt lgkmcnt(0) // 00000000FFF0: BF8C007F s_barrier // 00000000FFF4: BF8A0000 s_and_b64 exec, s[58:59], s[18:19] // wrscc // 00000000FFF8: 87FE123A s_cbranch_execz label_401F // 00000000FFFC: BF88001F s_and_saveexec_b64 s[60:61], s[30:31] // wrscc // 000000010000: BEBC241E s_cbranch_execz label_401F // 000000010004: BF88001D ds_read2_b32 v[33:34], v7 offset0:102 offset1:104 // 000000010008: D8DC6866 21000007 ds_read_b32 v26, v30 offset:408 // 000000010010: D8D80198 1A00001E ds_read_b32 v35, v29 offset:408 // 000000010018: D8D80198 2300001D ds_read_b32 v36, v28 offset:408 // 000000010020: D8D80198 2400001C v_add_i32 v37, vcc, 0x000011a0, v7 // 000000010028: 4A4A0EFF 000011A0 ds_read2st64_b32 v[37:38], v37 offset1:16 // 000000010030: D8E01000 25000025 ds_read_b32 v39, v7 offset:12704 // 000000010038: D8D831A0 27000007 s_waitcnt lgkmcnt(5) // 000000010040: BF8C057F v_or_b32 v33, v33, v34 // 000000010044: 38424521 s_waitcnt lgkmcnt(1) // 000000010048: BF8C017F v_or_b32 v26, v26, v37 // 00000001004C: 38344B1A v_or_b32 v34, v35, v38 // 000000010050: 38444D23 s_waitcnt lgkmcnt(0) // 000000010054: BF8C007F v_or_b32 v35, v36, v39 // 000000010058: 38464F24 ds_write_b32 v7, v33 offset:408 // 00000001005C: D8340198 00002107 ds_write_b32 v30, v26 offset:408 // 000000010064: D8340198 00001A1E ds_write_b32 v29, v34 offset:408 // 00000001006C: D8340198 0000221D ds_write_b32 v28, v35 offset:408 // 000000010074: D8340198 0000231C label_401F: s_waitcnt lgkmcnt(0) // 00000001007C: BF8C007F s_barrier // 000000010080: BF8A0000 s_and_b64 exec, s[58:59], s[18:19] // wrscc // 000000010084: 87FE123A s_cbranch_execz label_4042 // 000000010088: BF88001F s_and_saveexec_b64 s[60:61], s[32:33] // wrscc // 00000001008C: BEBC2420 s_cbranch_execz label_4042 // 000000010090: BF88001D ds_read2_b32 v[33:34], v7 offset0:102 offset1:103 // 000000010094: D8DC6766 21000007 ds_read_b32 v26, v30 offset:408 // 00000001009C: D8D80198 1A00001E ds_read_b32 v35, v29 offset:408 // 0000000100A4: D8D80198 2300001D ds_read_b32 v36, v28 offset:408 // 0000000100AC: D8D80198 2400001C v_add_i32 v37, vcc, 0x0000119c, v7 // 0000000100B4: 4A4A0EFF 0000119C ds_read2st64_b32 v[37:38], v37 offset1:16 // 0000000100BC: D8E01000 25000025 ds_read_b32 v39, v7 offset:12700 // 0000000100C4: D8D8319C 27000007 s_waitcnt lgkmcnt(5) // 0000000100CC: BF8C057F v_or_b32 v33, v33, v34 // 0000000100D0: 38424521 s_waitcnt lgkmcnt(1) // 0000000100D4: BF8C017F v_or_b32 v26, v26, v37 // 0000000100D8: 38344B1A v_or_b32 v34, v35, v38 // 0000000100DC: 38444D23 s_waitcnt lgkmcnt(0) // 0000000100E0: BF8C007F v_or_b32 v35, v36, v39 // 0000000100E4: 38464F24 ds_write_b32 v7, v33 offset:408 // 0000000100E8: D8340198 00002107 ds_write_b32 v30, v26 offset:408 // 0000000100F0: D8340198 00001A1E ds_write_b32 v29, v34 offset:408 // 0000000100F8: D8340198 0000221D ds_write_b32 v28, v35 offset:408 // 000000010100: D8340198 0000231C label_4042: s_waitcnt lgkmcnt(0) // 000000010108: BF8C007F s_barrier // 00000001010C: BF8A0000 s_and_b64 exec, s[58:59], s[18:19] // wrscc // 000000010110: 87FE123A v_add_i32 v26, vcc, 0x00000198, v32 // 000000010114: 4A3440FF 00000198 ds_read2st64_b32 v[33:34], v26 offset1:16 // 00000001011C: D8E01000 2100001A ds_read2st64_b32 v[35:36], v26 offset0:32 offset1:48 // 000000010124: D8E03020 2300001A s_waitcnt lgkmcnt(1) // 00000001012C: BF8C017F v_mov_b32 v26, v33 // 000000010130: 7E340321 v_mov_b32 v33, v34 // 000000010134: 7E420322 s_waitcnt lgkmcnt(0) // 000000010138: BF8C007F v_mov_b32 v34, v35 // 00000001013C: 7E440323 v_mov_b32 v35, v36 // 000000010140: 7E460324 s_andn2_b64 exec, s[58:59], exec // wrscc // 000000010144: 8AFE7E3A v_mov_b32 v35, 0 // 000000010148: 7E460280 v_mov_b32 v26, 0 // 00000001014C: 7E340280 v_mov_b32 v62, 0 // 000000010150: 7E7C0280 v_mov_b32 v34, 0 // 000000010154: 7E440280 v_mov_b32 v33, 0 // 000000010158: 7E420280 s_mov_b64 exec, s[58:59] // 00000001015C: BEFE043A v_xor_b32 v26, v31, v26 // 000000010160: 3A34351F v_cndmask_b32 v36, 0, -1, s[34:35] // 000000010164: D2000024 00898280 v_xor_b32 v33, v36, v33 // 00000001016C: 3A424324 v_and_b32 v26, v26, v33 // 000000010170: 3634431A v_cndmask_b32 v33, 0, -1, s[36:37] // 000000010174: D2000021 00918280 v_xor_b32 v33, v33, v34 // 00000001017C: 3A424521 v_cndmask_b32 v34, 0, -1, s[38:39] // 000000010180: D2000022 00998280 v_xor_b32 v34, v34, v35 // 000000010188: 3A444722 v_and_b32 v26, v26, v33 // 00000001018C: 3634431A v_and_b32 v26, v34, v26 // 000000010190: 36343522 v_bcnt_u32_b32 v26, v26, 0 // 000000010194: D244001A 0001011A v_cndmask_b32 v26, 0, v26, s[18:19] // 00000001019C: D200001A 004A3480 v_add_i32 v25, vcc, v25, v26 // 0000000101A4: 4A323519 label_406A: s_and_b64 exec, s[20:21], s[24:25] // wrscc // 0000000101A8: 87FE1814 ds_write_b32 v27, v25 offset:16796 // 0000000101AC: D834419C 0000191B s_mov_b64 exec, s[20:21] // 0000000101B4: BEFE0414 s_waitcnt lgkmcnt(0) // 0000000101B8: BF8C007F s_barrier // 0000000101BC: BF8A0000 v_cmp_eq_u32 vcc, 0, v9 // 0000000101C0: 7D841280 s_and_b64 exec, s[20:21], vcc // wrscc // 0000000101C4: 87FE6A14 v_mov_b32 v25, 0 // 0000000101C8: 7E320280 ds_write_b32 v25, v25 offset:16792 // 0000000101CC: D8344198 00001919 ds_write_b32 v25, v25 offset:18844 // 0000000101D4: D834499C 00001919 s_and_b64 exec, s[20:21], s[22:23] // wrscc // 0000000101DC: 87FE1614 s_cbranch_execz label_4089 // 0000000101E0: BF880010 s_and_saveexec_b64 s[58:59], s[40:41] // wrscc // 0000000101E4: BEBA2428 v_add_i32 v25, vcc, 0x00004198, v7 // 0000000101E8: 4A320EFF 00004198 ds_read2_b32 v[25:26], v25 offset0:1 // 0000000101F0: D8DC0001 19000019 s_waitcnt lgkmcnt(0) // 0000000101F8: BF8C007F v_add_i32 v25, vcc, v25, v26 // 0000000101FC: 4A323519 ds_write_b32 v7, v25 offset:18848 // 000000010200: D83449A0 00001907 s_andn2_b64 exec, s[58:59], exec // wrscc // 000000010208: 8AFE7E3A v_mov_b32 v25, 0 // 00000001020C: 7E320280 ds_read_b32 v26, v25 offset:16796 // 000000010210: D8D8419C 1A000019 s_waitcnt lgkmcnt(0) // 000000010218: BF8C007F ds_write_b32 v25, v26 offset:18848 // 00000001021C: D83449A0 00001A19 label_4089: s_waitcnt lgkmcnt(0) // 000000010224: BF8C007F s_barrier // 000000010228: BF8A0000 s_and_b64 exec, s[20:21], s[22:23] // wrscc // 00000001022C: 87FE1614 s_cbranch_execz label_409B // 000000010230: BF88000E s_and_saveexec_b64 s[58:59], s[42:43] // wrscc // 000000010234: BEBA242A v_add_i32 v25, vcc, 0x00004998, v7 // 000000010238: 4A320EFF 00004998 ds_read2_b32 v[25:26], v25 offset0:2 // 000000010240: D8DC0002 19000019 s_waitcnt lgkmcnt(0) // 000000010248: BF8C007F v_add_i32 v25, vcc, v25, v26 // 00000001024C: 4A323519 s_andn2_b64 exec, s[58:59], exec // wrscc // 000000010250: 8AFE7E3A ds_read_b32 v25, v7 offset:18848 // 000000010254: D8D849A0 19000007 s_mov_b64 exec, s[58:59] // 00000001025C: BEFE043A s_waitcnt lgkmcnt(0) // 000000010260: BF8C007F ds_write_b32 v7, v25 offset:16796 // 000000010264: D834419C 00001907 label_409B: s_waitcnt lgkmcnt(0) // 00000001026C: BF8C007F s_barrier // 000000010270: BF8A0000 s_and_b64 exec, s[20:21], s[22:23] // wrscc // 000000010274: 87FE1614 s_cbranch_execz label_40AD // 000000010278: BF88000E s_and_saveexec_b64 s[58:59], s[44:45] // wrscc // 00000001027C: BEBA242C v_add_i32 v25, vcc, 0x0000418c, v7 // 000000010280: 4A320EFF 0000418C ds_read2_b32 v[25:26], v25 offset0:4 // 000000010288: D8DC0004 19000019 s_waitcnt lgkmcnt(0) // 000000010290: BF8C007F v_add_i32 v25, vcc, v25, v26 // 000000010294: 4A323519 s_andn2_b64 exec, s[58:59], exec // wrscc // 000000010298: 8AFE7E3A ds_read_b32 v25, v7 offset:16796 // 00000001029C: D8D8419C 19000007 s_mov_b64 exec, s[58:59] // 0000000102A4: BEFE043A s_waitcnt lgkmcnt(0) // 0000000102A8: BF8C007F ds_write_b32 v7, v25 offset:18848 // 0000000102AC: D83449A0 00001907 label_40AD: s_waitcnt lgkmcnt(0) // 0000000102B4: BF8C007F s_barrier // 0000000102B8: BF8A0000 s_and_b64 exec, s[20:21], s[22:23] // wrscc // 0000000102BC: 87FE1614 s_cbranch_execz label_40BF // 0000000102C0: BF88000E s_and_saveexec_b64 s[58:59], s[46:47] // wrscc // 0000000102C4: BEBA242E v_add_i32 v25, vcc, 0x00004980, v7 // 0000000102C8: 4A320EFF 00004980 ds_read2_b32 v[25:26], v25 offset0:8 // 0000000102D0: D8DC0008 19000019 s_waitcnt lgkmcnt(0) // 0000000102D8: BF8C007F v_add_i32 v25, vcc, v25, v26 // 0000000102DC: 4A323519 s_andn2_b64 exec, s[58:59], exec // wrscc // 0000000102E0: 8AFE7E3A ds_read_b32 v25, v7 offset:18848 // 0000000102E4: D8D849A0 19000007 s_mov_b64 exec, s[58:59] // 0000000102EC: BEFE043A s_waitcnt lgkmcnt(0) // 0000000102F0: BF8C007F ds_write_b32 v7, v25 offset:16796 // 0000000102F4: D834419C 00001907 label_40BF: s_waitcnt lgkmcnt(0) // 0000000102FC: BF8C007F s_barrier // 000000010300: BF8A0000 s_and_b64 exec, s[20:21], s[22:23] // wrscc // 000000010304: 87FE1614 s_cbranch_execz label_40D1 // 000000010308: BF88000E s_and_saveexec_b64 s[58:59], s[48:49] // wrscc // 00000001030C: BEBA2430 v_add_i32 v25, vcc, 0x0000415c, v7 // 000000010310: 4A320EFF 0000415C ds_read2_b32 v[25:26], v25 offset0:16 // 000000010318: D8DC0010 19000019 s_waitcnt lgkmcnt(0) // 000000010320: BF8C007F v_add_i32 v25, vcc, v25, v26 // 000000010324: 4A323519 s_andn2_b64 exec, s[58:59], exec // wrscc // 000000010328: 8AFE7E3A ds_read_b32 v25, v7 offset:16796 // 00000001032C: D8D8419C 19000007 s_mov_b64 exec, s[58:59] // 000000010334: BEFE043A s_waitcnt lgkmcnt(0) // 000000010338: BF8C007F ds_write_b32 v7, v25 offset:18848 // 00000001033C: D83449A0 00001907 label_40D1: s_waitcnt lgkmcnt(0) // 000000010344: BF8C007F s_barrier // 000000010348: BF8A0000 s_and_b64 exec, s[20:21], s[22:23] // wrscc // 00000001034C: 87FE1614 s_cbranch_execz label_40E3 // 000000010350: BF88000E s_and_saveexec_b64 s[58:59], s[50:51] // wrscc // 000000010354: BEBA2432 v_add_i32 v25, vcc, 0x00004920, v7 // 000000010358: 4A320EFF 00004920 ds_read2_b32 v[25:26], v25 offset0:32 // 000000010360: D8DC0020 19000019 s_waitcnt lgkmcnt(0) // 000000010368: BF8C007F v_add_i32 v25, vcc, v25, v26 // 00000001036C: 4A323519 s_andn2_b64 exec, s[58:59], exec // wrscc // 000000010370: 8AFE7E3A ds_read_b32 v25, v7 offset:18848 // 000000010374: D8D849A0 19000007 s_mov_b64 exec, s[58:59] // 00000001037C: BEFE043A s_waitcnt lgkmcnt(0) // 000000010380: BF8C007F ds_write_b32 v7, v25 offset:16796 // 000000010384: D834419C 00001907 label_40E3: s_waitcnt lgkmcnt(0) // 00000001038C: BF8C007F s_barrier // 000000010390: BF8A0000 s_and_b64 exec, s[20:21], s[22:23] // wrscc // 000000010394: 87FE1614 s_cbranch_execz label_40F5 // 000000010398: BF88000E s_and_saveexec_b64 s[58:59], s[52:53] // wrscc // 00000001039C: BEBA2434 v_add_i32 v25, vcc, 0x0000409c, v7 // 0000000103A0: 4A320EFF 0000409C ds_read2_b32 v[25:26], v25 offset0:64 // 0000000103A8: D8DC0040 19000019 s_waitcnt lgkmcnt(0) // 0000000103B0: BF8C007F v_add_i32 v25, vcc, v25, v26 // 0000000103B4: 4A323519 s_andn2_b64 exec, s[58:59], exec // wrscc // 0000000103B8: 8AFE7E3A ds_read_b32 v25, v7 offset:16796 // 0000000103BC: D8D8419C 19000007 s_mov_b64 exec, s[58:59] // 0000000103C4: BEFE043A s_waitcnt lgkmcnt(0) // 0000000103C8: BF8C007F ds_write_b32 v7, v25 offset:18848 // 0000000103CC: D83449A0 00001907 label_40F5: s_waitcnt lgkmcnt(0) // 0000000103D4: BF8C007F s_barrier // 0000000103D8: BF8A0000 s_and_b64 exec, s[20:21], s[22:23] // wrscc // 0000000103DC: 87FE1614 s_cbranch_execz label_4107 // 0000000103E0: BF88000E s_and_saveexec_b64 s[58:59], s[54:55] // wrscc // 0000000103E4: BEBA2436 v_add_i32 v25, vcc, 0x000047a0, v7 // 0000000103E8: 4A320EFF 000047A0 ds_read2_b32 v[25:26], v25 offset0:128 // 0000000103F0: D8DC0080 19000019 s_waitcnt lgkmcnt(0) // 0000000103F8: BF8C007F v_add_i32 v25, vcc, v25, v26 // 0000000103FC: 4A323519 s_andn2_b64 exec, s[58:59], exec // wrscc // 000000010400: 8AFE7E3A ds_read_b32 v25, v7 offset:18848 // 000000010404: D8D849A0 19000007 s_mov_b64 exec, s[58:59] // 00000001040C: BEFE043A s_waitcnt lgkmcnt(0) // 000000010410: BF8C007F ds_write_b32 v7, v25 offset:16796 // 000000010414: D834419C 00001907 label_4107: s_waitcnt lgkmcnt(0) // 00000001041C: BF8C007F s_barrier // 000000010420: BF8A0000 s_and_b64 exec, s[20:21], s[22:23] // wrscc // 000000010424: 87FE1614 s_cbranch_execz label_4119 // 000000010428: BF88000E s_and_saveexec_b64 s[58:59], s[56:57] // wrscc // 00000001042C: BEBA2438 v_add_i32 v25, vcc, 0x00003d9c, v7 // 000000010430: 4A320EFF 00003D9C ds_read2st64_b32 v[25:26], v25 offset0:4 // 000000010438: D8E00004 19000019 s_waitcnt lgkmcnt(0) // 000000010440: BF8C007F v_add_i32 v25, vcc, v25, v26 // 000000010444: 4A323519 s_andn2_b64 exec, s[58:59], exec // wrscc // 000000010448: 8AFE7E3A ds_read_b32 v25, v7 offset:16796 // 00000001044C: D8D8419C 19000007 s_mov_b64 exec, s[58:59] // 000000010454: BEFE043A s_waitcnt lgkmcnt(0) // 000000010458: BF8C007F ds_write_b32 v7, v25 offset:18848 // 00000001045C: D83449A0 00001907 label_4119: s_mov_b64 exec, s[20:21] // 000000010464: BEFE0414 s_waitcnt lgkmcnt(0) // 000000010468: BF8C007F s_barrier // 00000001046C: BF8A0000 s_mov_b64 s[20:21], exec // 000000010470: BE94047E v_mov_b32 v25, 0 // 000000010474: 7E320280 v_mov_b32 v26, v24 // 000000010478: 7E340318 s_nop 0x0000 // 00000001047C: BF800000 s_nop 0x0000 // 000000010480: BF800000 s_nop 0x0000 // 000000010484: BF800000 label_4122: v_cmp_ge_u32 vcc, v25, v12 // 000000010488: 7D8C1919 s_andn2_b64 exec, exec, vcc // wrscc // 00000001048C: 8AFE6A7E s_cbranch_execz label_4243 // 000000010490: BF88011E s_load_dwordx4 s[60:63], s[0:1], 0x58 // 000000010494: C09E0158 v_cmp_gt_u32 s[58:59], v23, v26 // 000000010498: D188003A 00023517 v_add_i32 v33, vcc, v21, v26 // 0000000104A0: 4A423515 v_bfm_b32 v34, 1, v9 // 0000000104A4: 3C441281 s_waitcnt lgkmcnt(0) // 0000000104A8: BF8C007F buffer_load_dword v33, v33, s[60:63], 0 idxen // 0000000104AC: E0302000 800F2121 s_waitcnt vmcnt(0) // 0000000104B4: BF8C0F70 v_cndmask_b32 v33, -1, v33, s[58:59] // 0000000104B8: D2000021 00EA42C1 v_bfe_u32 v35, v33, 20, 1 // 0000000104C0: D2900023 02052921 v_lshrrev_b32 v36, 20, v33 // 0000000104C8: 2C484294 v_and_b32 v37, 2, v36 // 0000000104CC: 364A4882 v_and_b32 v38, 4, v36 // 0000000104D0: 364C4884 v_and_b32 v36, 8, v36 // 0000000104D4: 36484888 v_cmp_ne_i32 vcc, 0, v35 // 0000000104D8: 7D0A4680 v_cndmask_b32 v39, 0, -1, vcc // 0000000104DC: D2000027 01A98280 v_lshl_b32 v39, v39, v9 // 0000000104E4: 324E1327 v_bfi_b32 v39, v34, v39, 0 // 0000000104E8: D2940027 02024F22 ds_write_b32 v7, v39 offset:408 // 0000000104F0: D8340198 00002707 v_cmp_ne_i32 vcc, 0, v37 // 0000000104F8: 7D0A4A80 v_cndmask_b32 v39, 0, -1, vcc // 0000000104FC: D2000027 01A98280 v_lshl_b32 v39, v39, v9 // 000000010504: 324E1327 v_bfi_b32 v39, v34, v39, 0 // 000000010508: D2940027 02024F22 ds_write_b32 v30, v39 offset:408 // 000000010510: D8340198 0000271E v_cmp_ne_i32 vcc, 0, v38 // 000000010518: 7D0A4C80 v_cndmask_b32 v39, 0, -1, vcc // 00000001051C: D2000027 01A98280 v_lshl_b32 v39, v39, v9 // 000000010524: 324E1327 v_bfi_b32 v39, v34, v39, 0 // 000000010528: D2940027 02024F22 ds_write_b32 v29, v39 offset:408 // 000000010530: D8340198 0000271D v_cmp_ne_i32 vcc, 0, v36 // 000000010538: 7D0A4880 v_cndmask_b32 v39, 0, -1, vcc // 00000001053C: D2000027 01A98280 v_lshl_b32 v39, v39, v9 // 000000010544: 324E1327 v_bfi_b32 v34, v34, v39, 0 // 000000010548: D2940022 02024F22 ds_write_b32 v28, v34 offset:408 // 000000010550: D8340198 0000221C s_waitcnt lgkmcnt(0) // 000000010558: BF8C007F s_barrier // 00000001055C: BF8A0000 s_and_saveexec_b64 s[64:65], s[24:25] // wrscc // 000000010560: BEC02418 s_cbranch_execz label_4177 // 000000010564: BF88001D ds_read2_b32 v[39:40], v7 offset0:102 offset1:118 // 000000010568: D8DC7666 27000007 ds_read_b32 v34, v30 offset:408 // 000000010570: D8D80198 2200001E ds_read_b32 v41, v29 offset:408 // 000000010578: D8D80198 2900001D ds_read_b32 v42, v28 offset:408 // 000000010580: D8D80198 2A00001C v_add_i32 v43, vcc, 0x000011d8, v7 // 000000010588: 4A560EFF 000011D8 ds_read2st64_b32 v[43:44], v43 offset1:16 // 000000010590: D8E01000 2B00002B ds_read_b32 v45, v7 offset:12760 // 000000010598: D8D831D8 2D000007 s_waitcnt lgkmcnt(5) // 0000000105A0: BF8C057F v_or_b32 v39, v39, v40 // 0000000105A4: 384E5127 s_waitcnt lgkmcnt(1) // 0000000105A8: BF8C017F v_or_b32 v34, v34, v43 // 0000000105AC: 38445722 v_or_b32 v40, v41, v44 // 0000000105B0: 38505929 s_waitcnt lgkmcnt(0) // 0000000105B4: BF8C007F v_or_b32 v41, v42, v45 // 0000000105B8: 38525B2A ds_write_b32 v7, v39 offset:408 // 0000000105BC: D8340198 00002707 ds_write_b32 v30, v34 offset:408 // 0000000105C4: D8340198 0000221E ds_write_b32 v29, v40 offset:408 // 0000000105CC: D8340198 0000281D ds_write_b32 v28, v41 offset:408 // 0000000105D4: D8340198 0000291C label_4177: s_waitcnt lgkmcnt(0) // 0000000105DC: BF8C007F s_barrier // 0000000105E0: BF8A0000 s_and_b64 exec, s[64:65], s[26:27] // wrscc // 0000000105E4: 87FE1A40 s_cbranch_execz label_4198 // 0000000105E8: BF88001D ds_read2_b32 v[39:40], v7 offset0:102 offset1:110 // 0000000105EC: D8DC6E66 27000007 ds_read_b32 v34, v30 offset:408 // 0000000105F4: D8D80198 2200001E ds_read_b32 v41, v29 offset:408 // 0000000105FC: D8D80198 2900001D ds_read_b32 v42, v28 offset:408 // 000000010604: D8D80198 2A00001C v_add_i32 v43, vcc, 0x000011b8, v7 // 00000001060C: 4A560EFF 000011B8 ds_read2st64_b32 v[43:44], v43 offset1:16 // 000000010614: D8E01000 2B00002B ds_read_b32 v45, v7 offset:12728 // 00000001061C: D8D831B8 2D000007 s_waitcnt lgkmcnt(5) // 000000010624: BF8C057F v_or_b32 v39, v39, v40 // 000000010628: 384E5127 s_waitcnt lgkmcnt(1) // 00000001062C: BF8C017F v_or_b32 v34, v34, v43 // 000000010630: 38445722 v_or_b32 v40, v41, v44 // 000000010634: 38505929 s_waitcnt lgkmcnt(0) // 000000010638: BF8C007F v_or_b32 v41, v42, v45 // 00000001063C: 38525B2A ds_write_b32 v7, v39 offset:408 // 000000010640: D8340198 00002707 ds_write_b32 v30, v34 offset:408 // 000000010648: D8340198 0000221E ds_write_b32 v29, v40 offset:408 // 000000010650: D8340198 0000281D ds_write_b32 v28, v41 offset:408 // 000000010658: D8340198 0000291C label_4198: s_waitcnt lgkmcnt(0) // 000000010660: BF8C007F s_barrier // 000000010664: BF8A0000 s_and_b64 exec, s[64:65], s[28:29] // wrscc // 000000010668: 87FE1C40 s_cbranch_execz label_41B9 // 00000001066C: BF88001D ds_read2_b32 v[39:40], v7 offset0:102 offset1:106 // 000000010670: D8DC6A66 27000007 ds_read_b32 v34, v30 offset:408 // 000000010678: D8D80198 2200001E ds_read_b32 v41, v29 offset:408 // 000000010680: D8D80198 2900001D ds_read_b32 v42, v28 offset:408 // 000000010688: D8D80198 2A00001C v_add_i32 v43, vcc, 0x000011a8, v7 // 000000010690: 4A560EFF 000011A8 ds_read2st64_b32 v[43:44], v43 offset1:16 // 000000010698: D8E01000 2B00002B ds_read_b32 v45, v7 offset:12712 // 0000000106A0: D8D831A8 2D000007 s_waitcnt lgkmcnt(5) // 0000000106A8: BF8C057F v_or_b32 v39, v39, v40 // 0000000106AC: 384E5127 s_waitcnt lgkmcnt(1) // 0000000106B0: BF8C017F v_or_b32 v34, v34, v43 // 0000000106B4: 38445722 v_or_b32 v40, v41, v44 // 0000000106B8: 38505929 s_waitcnt lgkmcnt(0) // 0000000106BC: BF8C007F v_or_b32 v41, v42, v45 // 0000000106C0: 38525B2A ds_write_b32 v7, v39 offset:408 // 0000000106C4: D8340198 00002707 ds_write_b32 v30, v34 offset:408 // 0000000106CC: D8340198 0000221E ds_write_b32 v29, v40 offset:408 // 0000000106D4: D8340198 0000281D ds_write_b32 v28, v41 offset:408 // 0000000106DC: D8340198 0000291C label_41B9: s_waitcnt lgkmcnt(0) // 0000000106E4: BF8C007F s_barrier // 0000000106E8: BF8A0000 s_and_b64 exec, s[64:65], s[30:31] // wrscc // 0000000106EC: 87FE1E40 s_cbranch_execz label_41DA // 0000000106F0: BF88001D ds_read2_b32 v[39:40], v7 offset0:102 offset1:104 // 0000000106F4: D8DC6866 27000007 ds_read_b32 v34, v30 offset:408 // 0000000106FC: D8D80198 2200001E ds_read_b32 v41, v29 offset:408 // 000000010704: D8D80198 2900001D ds_read_b32 v42, v28 offset:408 // 00000001070C: D8D80198 2A00001C v_add_i32 v43, vcc, 0x000011a0, v7 // 000000010714: 4A560EFF 000011A0 ds_read2st64_b32 v[43:44], v43 offset1:16 // 00000001071C: D8E01000 2B00002B ds_read_b32 v45, v7 offset:12704 // 000000010724: D8D831A0 2D000007 s_waitcnt lgkmcnt(5) // 00000001072C: BF8C057F v_or_b32 v39, v39, v40 // 000000010730: 384E5127 s_waitcnt lgkmcnt(1) // 000000010734: BF8C017F v_or_b32 v34, v34, v43 // 000000010738: 38445722 v_or_b32 v40, v41, v44 // 00000001073C: 38505929 s_waitcnt lgkmcnt(0) // 000000010740: BF8C007F v_or_b32 v41, v42, v45 // 000000010744: 38525B2A ds_write_b32 v7, v39 offset:408 // 000000010748: D8340198 00002707 ds_write_b32 v30, v34 offset:408 // 000000010750: D8340198 0000221E ds_write_b32 v29, v40 offset:408 // 000000010758: D8340198 0000281D ds_write_b32 v28, v41 offset:408 // 000000010760: D8340198 0000291C label_41DA: s_waitcnt lgkmcnt(0) // 000000010768: BF8C007F s_barrier // 00000001076C: BF8A0000 s_and_b64 exec, s[64:65], s[32:33] // wrscc // 000000010770: 87FE2040 s_cbranch_execz label_41FB // 000000010774: BF88001D ds_read2_b32 v[39:40], v7 offset0:102 offset1:103 // 000000010778: D8DC6766 27000007 ds_read_b32 v34, v30 offset:408 // 000000010780: D8D80198 2200001E ds_read_b32 v41, v29 offset:408 // 000000010788: D8D80198 2900001D ds_read_b32 v42, v28 offset:408 // 000000010790: D8D80198 2A00001C v_add_i32 v43, vcc, 0x0000119c, v7 // 000000010798: 4A560EFF 0000119C ds_read2st64_b32 v[43:44], v43 offset1:16 // 0000000107A0: D8E01000 2B00002B ds_read_b32 v45, v7 offset:12700 // 0000000107A8: D8D8319C 2D000007 s_waitcnt lgkmcnt(5) // 0000000107B0: BF8C057F v_or_b32 v39, v39, v40 // 0000000107B4: 384E5127 s_waitcnt lgkmcnt(1) // 0000000107B8: BF8C017F v_or_b32 v34, v34, v43 // 0000000107BC: 38445722 v_or_b32 v40, v41, v44 // 0000000107C0: 38505929 s_waitcnt lgkmcnt(0) // 0000000107C4: BF8C007F v_or_b32 v41, v42, v45 // 0000000107C8: 38525B2A ds_write_b32 v7, v39 offset:408 // 0000000107CC: D8340198 00002707 ds_write_b32 v30, v34 offset:408 // 0000000107D4: D8340198 0000221E ds_write_b32 v29, v40 offset:408 // 0000000107DC: D8340198 0000281D ds_write_b32 v28, v41 offset:408 // 0000000107E4: D8340198 0000291C label_41FB: s_mov_b64 exec, s[64:65] // 0000000107EC: BEFE0440 s_waitcnt lgkmcnt(0) // 0000000107F0: BF8C007F s_barrier // 0000000107F4: BF8A0000 v_add_i32 v34, vcc, 0x00000198, v32 // 0000000107F8: 4A4440FF 00000198 ds_read2st64_b32 v[39:40], v34 offset1:16 // 000000010800: D8E01000 27000022 ds_read2st64_b32 v[41:42], v34 offset0:32 offset1:48 // 000000010808: D8E03020 29000022 v_lshrrev_b32 v34, 15, v33 // 000000010810: 2C44428F s_movk_i32 s3, 0x01e0 // 000000010814: B00301E0 v_bfi_b32 v34, s3, v34, 0 // 000000010818: D2940022 02024403 v_add_i32 v34, vcc, v2, v34 // 000000010820: 4A444502 v_lshlrev_b32 v34, 2, v34 // 000000010824: 34444482 ds_read_b32 v34, v34 offset:18844 // 000000010828: D8D8499C 22000022 s_and_saveexec_b64 s[58:59], s[58:59] // wrscc // 000000010830: BEBA243A v_add_i32 v35, vcc, -1, v35 // 000000010834: 4A4646C1 s_cbranch_execz label_4228 // 000000010838: BF880019 s_waitcnt lgkmcnt(2) // 00000001083C: BF8C027F v_xor_b32 v35, v39, v35 // 000000010840: 3A464727 v_cmp_eq_i32 vcc, 0, v37 // 000000010844: 7D044A80 v_cndmask_b32 v37, 0, -1, vcc // 000000010848: D2000025 01A98280 v_xor_b32 v37, v40, v37 // 000000010850: 3A4A4B28 v_and_b32 v35, v35, v37 // 000000010854: 36464B23 v_cmp_eq_i32 vcc, 0, v38 // 000000010858: 7D044C80 v_cndmask_b32 v37, 0, -1, vcc // 00000001085C: D2000025 01A98280 s_waitcnt lgkmcnt(1) // 000000010864: BF8C017F v_xor_b32 v37, v41, v37 // 000000010868: 3A4A4B29 v_and_b32 v35, v35, v37 // 00000001086C: 36464B23 v_cmp_eq_i32 vcc, 0, v36 // 000000010870: 7D044880 v_cndmask_b32 v36, 0, -1, vcc // 000000010874: D2000024 01A98280 v_xor_b32 v36, v42, v36 // 00000001087C: 3A48492A v_and_b32 v35, v35, v36 // 000000010880: 36464923 v_bfe_u32 v35, v35, 0, v9 // 000000010884: D2900023 04250123 s_waitcnt lgkmcnt(0) // 00000001088C: BF8C007F v_bcnt_u32_b32 v34, v35, v34 // 000000010890: 44444523 v_add_i32 v34, vcc, v13, v34 // 000000010894: 4A44450D buffer_store_dword v33, v34, s[60:63], 0 idxen // 000000010898: E0702000 800F2122 label_4228: s_waitcnt vmcnt(0) & lgkmcnt(0) // 0000000108A0: BF8C0070 s_barrier // 0000000108A4: BF8A0000 s_and_b64 exec, s[58:59], s[24:25] // wrscc // 0000000108A8: 87FE183A s_cbranch_execz label_423F // 0000000108AC: BF880013 ds_read_b32 v33, v27 offset:18844 // 0000000108B0: D8D8499C 2100001B v_xor_b32 v34, v31, v39 // 0000000108B8: 3A444F1F v_cndmask_b32 v35, 0, -1, s[34:35] // 0000000108BC: D2000023 00898280 v_xor_b32 v35, v35, v40 // 0000000108C4: 3A465123 v_and_b32 v34, v34, v35 // 0000000108C8: 36444722 v_cndmask_b32 v35, 0, -1, s[36:37] // 0000000108CC: D2000023 00918280 v_xor_b32 v35, v35, v41 // 0000000108D4: 3A465323 v_and_b32 v34, v34, v35 // 0000000108D8: 36444722 v_cndmask_b32 v35, 0, -1, s[38:39] // 0000000108DC: D2000023 00998280 v_xor_b32 v35, v35, v42 // 0000000108E4: 3A465523 v_and_b32 v34, v34, v35 // 0000000108E8: 36444722 s_waitcnt lgkmcnt(0) // 0000000108EC: BF8C007F v_bcnt_u32_b32 v33, v34, v33 // 0000000108F0: 44424322 ds_write_b32 v27, v33 offset:18844 // 0000000108F4: D834499C 0000211B label_423F: s_mov_b64 exec, s[58:59] // 0000000108FC: BEFE043A v_add_i32 v25, vcc, 1, v25 // 000000010900: 4A323281 v_add_i32 v26, vcc, 32, v26 // 000000010904: 4A3434A0 s_branch label_4122 // 000000010908: BF82FEDF label_4243: s_mov_b64 exec, s[20:21] // 00000001090C: BEFE0414 v_cmp_ne_u32 vcc, 0, v22 // 000000010910: 7D8A2C80 s_and_saveexec_b64 s[20:21], vcc // wrscc // 000000010914: BE94246A s_cbranch_execz label_4380 // 000000010918: BF880139 s_load_dwordx4 s[60:63], s[0:1], 0x58 // 00000001091C: C09E0158 v_add_i32 v25, vcc, v21, v26 // 000000010920: 4A323515 s_waitcnt lgkmcnt(0) // 000000010924: BF8C007F buffer_load_dword v25, v25, s[60:63], 0 idxen // 000000010928: E0302000 800F1919 v_cmp_gt_u32 s[58:59], v23, v26 // 000000010930: D188003A 00023517 s_waitcnt vmcnt(0) // 000000010938: BF8C0F70 v_cndmask_b32 v25, -1, v25, s[58:59] // 00000001093C: D2000019 00EA32C1 v_lshrrev_b32 v26, 20, v25 // 000000010944: 2C343294 s_and_saveexec_b64 s[64:65], s[18:19] // wrscc // 000000010948: BEC02412 v_bfm_b32 v33, 1, v9 // 00000001094C: 3C421281 s_cbranch_execz label_427A // 000000010950: BF880025 v_bfe_u32 v34, v25, 20, 1 // 000000010954: D2900022 02052919 v_cmp_ne_i32 vcc, 0, v34 // 00000001095C: 7D0A4480 v_cndmask_b32 v34, 0, -1, vcc // 000000010960: D2000022 01A98280 v_lshl_b32 v34, v34, v9 // 000000010968: 32441322 v_bfi_b32 v34, v33, v34, 0 // 00000001096C: D2940022 02024521 v_and_b32 v35, 2, v26 // 000000010974: 36463482 v_cmp_ne_i32 vcc, 0, v35 // 000000010978: 7D0A4680 v_cndmask_b32 v35, 0, -1, vcc // 00000001097C: D2000023 01A98280 v_lshl_b32 v35, v35, v9 // 000000010984: 32461323 v_bfi_b32 v35, v33, v35, 0 // 000000010988: D2940023 02024721 v_and_b32 v36, 4, v26 // 000000010990: 36483484 v_cmp_ne_i32 vcc, 0, v36 // 000000010994: 7D0A4880 v_cndmask_b32 v36, 0, -1, vcc // 000000010998: D2000024 01A98280 v_lshl_b32 v36, v36, v9 // 0000000109A0: 32481324 v_bfi_b32 v36, v33, v36, 0 // 0000000109A4: D2940024 02024921 v_and_b32 v37, 8, v26 // 0000000109AC: 364A3488 v_cmp_ne_i32 vcc, 0, v37 // 0000000109B0: 7D0A4A80 v_cndmask_b32 v37, 0, -1, vcc // 0000000109B4: D2000025 01A98280 v_lshl_b32 v37, v37, v9 // 0000000109BC: 324A1325 v_bfi_b32 v33, v33, v37, 0 // 0000000109C0: D2940021 02024B21 ds_write_b32 v7, v34 offset:408 // 0000000109C8: D8340198 00002207 ds_write_b32 v30, v35 offset:408 // 0000000109D0: D8340198 0000231E ds_write_b32 v29, v36 offset:408 // 0000000109D8: D8340198 0000241D ds_write_b32 v28, v33 offset:408 // 0000000109E0: D8340198 0000211C label_427A: s_waitcnt lgkmcnt(0) // 0000000109E8: BF8C007F s_barrier // 0000000109EC: BF8A0000 s_and_b64 exec, s[64:65], s[18:19] // wrscc // 0000000109F0: 87FE1240 s_cbranch_execz label_429D // 0000000109F4: BF88001F s_and_saveexec_b64 s[66:67], s[24:25] // wrscc // 0000000109F8: BEC22418 s_cbranch_execz label_429D // 0000000109FC: BF88001D ds_read2_b32 v[33:34], v7 offset0:102 offset1:118 // 000000010A00: D8DC7666 21000007 ds_read_b32 v35, v30 offset:408 // 000000010A08: D8D80198 2300001E ds_read_b32 v36, v29 offset:408 // 000000010A10: D8D80198 2400001D ds_read_b32 v37, v28 offset:408 // 000000010A18: D8D80198 2500001C v_add_i32 v38, vcc, 0x000011d8, v7 // 000000010A20: 4A4C0EFF 000011D8 ds_read2st64_b32 v[38:39], v38 offset1:16 // 000000010A28: D8E01000 26000026 ds_read_b32 v40, v7 offset:12760 // 000000010A30: D8D831D8 28000007 s_waitcnt lgkmcnt(5) // 000000010A38: BF8C057F v_or_b32 v33, v33, v34 // 000000010A3C: 38424521 s_waitcnt lgkmcnt(1) // 000000010A40: BF8C017F v_or_b32 v34, v35, v38 // 000000010A44: 38444D23 v_or_b32 v35, v36, v39 // 000000010A48: 38464F24 s_waitcnt lgkmcnt(0) // 000000010A4C: BF8C007F v_or_b32 v36, v37, v40 // 000000010A50: 38485125 ds_write_b32 v7, v33 offset:408 // 000000010A54: D8340198 00002107 ds_write_b32 v30, v34 offset:408 // 000000010A5C: D8340198 0000221E ds_write_b32 v29, v35 offset:408 // 000000010A64: D8340198 0000231D ds_write_b32 v28, v36 offset:408 // 000000010A6C: D8340198 0000241C label_429D: s_waitcnt lgkmcnt(0) // 000000010A74: BF8C007F s_barrier // 000000010A78: BF8A0000 s_and_b64 exec, s[64:65], s[18:19] // wrscc // 000000010A7C: 87FE1240 s_cbranch_execz label_42C0 // 000000010A80: BF88001F s_and_saveexec_b64 s[66:67], s[26:27] // wrscc // 000000010A84: BEC2241A s_cbranch_execz label_42C0 // 000000010A88: BF88001D ds_read2_b32 v[33:34], v7 offset0:102 offset1:110 // 000000010A8C: D8DC6E66 21000007 ds_read_b32 v35, v30 offset:408 // 000000010A94: D8D80198 2300001E ds_read_b32 v36, v29 offset:408 // 000000010A9C: D8D80198 2400001D ds_read_b32 v37, v28 offset:408 // 000000010AA4: D8D80198 2500001C v_add_i32 v38, vcc, 0x000011b8, v7 // 000000010AAC: 4A4C0EFF 000011B8 ds_read2st64_b32 v[38:39], v38 offset1:16 // 000000010AB4: D8E01000 26000026 ds_read_b32 v40, v7 offset:12728 // 000000010ABC: D8D831B8 28000007 s_waitcnt lgkmcnt(5) // 000000010AC4: BF8C057F v_or_b32 v33, v33, v34 // 000000010AC8: 38424521 s_waitcnt lgkmcnt(1) // 000000010ACC: BF8C017F v_or_b32 v34, v35, v38 // 000000010AD0: 38444D23 v_or_b32 v35, v36, v39 // 000000010AD4: 38464F24 s_waitcnt lgkmcnt(0) // 000000010AD8: BF8C007F v_or_b32 v36, v37, v40 // 000000010ADC: 38485125 ds_write_b32 v7, v33 offset:408 // 000000010AE0: D8340198 00002107 ds_write_b32 v30, v34 offset:408 // 000000010AE8: D8340198 0000221E ds_write_b32 v29, v35 offset:408 // 000000010AF0: D8340198 0000231D ds_write_b32 v28, v36 offset:408 // 000000010AF8: D8340198 0000241C label_42C0: s_waitcnt lgkmcnt(0) // 000000010B00: BF8C007F s_barrier // 000000010B04: BF8A0000 s_and_b64 exec, s[64:65], s[18:19] // wrscc // 000000010B08: 87FE1240 s_cbranch_execz label_42E3 // 000000010B0C: BF88001F s_and_saveexec_b64 s[66:67], s[28:29] // wrscc // 000000010B10: BEC2241C s_cbranch_execz label_42E3 // 000000010B14: BF88001D ds_read2_b32 v[33:34], v7 offset0:102 offset1:106 // 000000010B18: D8DC6A66 21000007 ds_read_b32 v35, v30 offset:408 // 000000010B20: D8D80198 2300001E ds_read_b32 v36, v29 offset:408 // 000000010B28: D8D80198 2400001D ds_read_b32 v37, v28 offset:408 // 000000010B30: D8D80198 2500001C v_add_i32 v38, vcc, 0x000011a8, v7 // 000000010B38: 4A4C0EFF 000011A8 ds_read2st64_b32 v[38:39], v38 offset1:16 // 000000010B40: D8E01000 26000026 ds_read_b32 v40, v7 offset:12712 // 000000010B48: D8D831A8 28000007 s_waitcnt lgkmcnt(5) // 000000010B50: BF8C057F v_or_b32 v33, v33, v34 // 000000010B54: 38424521 s_waitcnt lgkmcnt(1) // 000000010B58: BF8C017F v_or_b32 v34, v35, v38 // 000000010B5C: 38444D23 v_or_b32 v35, v36, v39 // 000000010B60: 38464F24 s_waitcnt lgkmcnt(0) // 000000010B64: BF8C007F v_or_b32 v36, v37, v40 // 000000010B68: 38485125 ds_write_b32 v7, v33 offset:408 // 000000010B6C: D8340198 00002107 ds_write_b32 v30, v34 offset:408 // 000000010B74: D8340198 0000221E ds_write_b32 v29, v35 offset:408 // 000000010B7C: D8340198 0000231D ds_write_b32 v28, v36 offset:408 // 000000010B84: D8340198 0000241C label_42E3: s_waitcnt lgkmcnt(0) // 000000010B8C: BF8C007F s_barrier // 000000010B90: BF8A0000 s_and_b64 exec, s[64:65], s[18:19] // wrscc // 000000010B94: 87FE1240 s_cbranch_execz label_4306 // 000000010B98: BF88001F s_and_saveexec_b64 s[66:67], s[30:31] // wrscc // 000000010B9C: BEC2241E s_cbranch_execz label_4306 // 000000010BA0: BF88001D ds_read2_b32 v[33:34], v7 offset0:102 offset1:104 // 000000010BA4: D8DC6866 21000007 ds_read_b32 v35, v30 offset:408 // 000000010BAC: D8D80198 2300001E ds_read_b32 v36, v29 offset:408 // 000000010BB4: D8D80198 2400001D ds_read_b32 v37, v28 offset:408 // 000000010BBC: D8D80198 2500001C v_add_i32 v38, vcc, 0x000011a0, v7 // 000000010BC4: 4A4C0EFF 000011A0 ds_read2st64_b32 v[38:39], v38 offset1:16 // 000000010BCC: D8E01000 26000026 ds_read_b32 v40, v7 offset:12704 // 000000010BD4: D8D831A0 28000007 s_waitcnt lgkmcnt(5) // 000000010BDC: BF8C057F v_or_b32 v33, v33, v34 // 000000010BE0: 38424521 s_waitcnt lgkmcnt(1) // 000000010BE4: BF8C017F v_or_b32 v34, v35, v38 // 000000010BE8: 38444D23 v_or_b32 v35, v36, v39 // 000000010BEC: 38464F24 s_waitcnt lgkmcnt(0) // 000000010BF0: BF8C007F v_or_b32 v36, v37, v40 // 000000010BF4: 38485125 ds_write_b32 v7, v33 offset:408 // 000000010BF8: D8340198 00002107 ds_write_b32 v30, v34 offset:408 // 000000010C00: D8340198 0000221E ds_write_b32 v29, v35 offset:408 // 000000010C08: D8340198 0000231D ds_write_b32 v28, v36 offset:408 // 000000010C10: D8340198 0000241C label_4306: s_waitcnt lgkmcnt(0) // 000000010C18: BF8C007F s_barrier // 000000010C1C: BF8A0000 s_and_b64 exec, s[64:65], s[18:19] // wrscc // 000000010C20: 87FE1240 s_cbranch_execz label_4329 // 000000010C24: BF88001F s_and_saveexec_b64 s[66:67], s[32:33] // wrscc // 000000010C28: BEC22420 s_cbranch_execz label_4329 // 000000010C2C: BF88001D ds_read2_b32 v[33:34], v7 offset0:102 offset1:103 // 000000010C30: D8DC6766 21000007 ds_read_b32 v35, v30 offset:408 // 000000010C38: D8D80198 2300001E ds_read_b32 v36, v29 offset:408 // 000000010C40: D8D80198 2400001D ds_read_b32 v37, v28 offset:408 // 000000010C48: D8D80198 2500001C v_add_i32 v38, vcc, 0x0000119c, v7 // 000000010C50: 4A4C0EFF 0000119C ds_read2st64_b32 v[38:39], v38 offset1:16 // 000000010C58: D8E01000 26000026 ds_read_b32 v40, v7 offset:12700 // 000000010C60: D8D8319C 28000007 s_waitcnt lgkmcnt(5) // 000000010C68: BF8C057F v_or_b32 v33, v33, v34 // 000000010C6C: 38424521 s_waitcnt lgkmcnt(1) // 000000010C70: BF8C017F v_or_b32 v34, v35, v38 // 000000010C74: 38444D23 v_or_b32 v35, v36, v39 // 000000010C78: 38464F24 s_waitcnt lgkmcnt(0) // 000000010C7C: BF8C007F v_or_b32 v36, v37, v40 // 000000010C80: 38485125 ds_write_b32 v7, v33 offset:408 // 000000010C84: D8340198 00002107 ds_write_b32 v30, v34 offset:408 // 000000010C8C: D8340198 0000221E ds_write_b32 v29, v35 offset:408 // 000000010C94: D8340198 0000231D ds_write_b32 v28, v36 offset:408 // 000000010C9C: D8340198 0000241C label_4329: s_waitcnt lgkmcnt(0) // 000000010CA4: BF8C007F s_barrier // 000000010CA8: BF8A0000 s_and_b64 exec, s[64:65], s[18:19] // wrscc // 000000010CAC: 87FE1240 v_add_i32 v33, vcc, 0x00000198, v32 // 000000010CB0: 4A4240FF 00000198 s_cbranch_execz label_435C // 000000010CB8: BF88002D ds_read2st64_b32 v[34:35], v33 offset1:16 // 000000010CBC: D8E01000 22000021 ds_read2st64_b32 v[36:37], v33 offset0:32 offset1:48 // 000000010CC4: D8E03020 24000021 v_lshrrev_b32 v33, 15, v25 // 000000010CCC: 2C42328F s_movk_i32 s3, 0x01e0 // 000000010CD0: B00301E0 v_and_b32 v38, 2, v26 // 000000010CD4: 364C3482 v_bfi_b32 v33, s3, v33, 0 // 000000010CD8: D2940021 02024203 v_bfe_u32 v39, v25, 20, 1 // 000000010CE0: D2900027 02052919 v_cmp_eq_i32 s[66:67], v38, 0 // 000000010CE8: D1040042 00010126 v_and_b32 v38, 4, v26 // 000000010CF0: 364C3484 v_add_i32 v33, vcc, v2, v33 // 000000010CF4: 4A424302 v_add_i32 v39, vcc, -1, v39 // 000000010CF8: 4A4E4EC1 v_cndmask_b32 v40, 0, -1, s[66:67] // 000000010CFC: D2000028 01098280 v_cmp_eq_i32 vcc, 0, v38 // 000000010D04: 7D044C80 v_and_b32 v26, 8, v26 // 000000010D08: 36343488 v_lshlrev_b32 v33, 2, v33 // 000000010D0C: 34424282 ds_read_b32 v33, v33 offset:18844 // 000000010D10: D8D8499C 21000021 s_waitcnt lgkmcnt(2) // 000000010D18: BF8C027F v_xor_b32 v38, v34, v39 // 000000010D1C: 3A4C4F22 v_xor_b32 v39, v35, v40 // 000000010D20: 3A4E5123 v_cndmask_b32 v40, 0, -1, vcc // 000000010D24: D2000028 01A98280 v_cmp_eq_i32 vcc, 0, v26 // 000000010D2C: 7D043480 s_waitcnt lgkmcnt(1) // 000000010D30: BF8C017F v_xor_b32 v26, v36, v40 // 000000010D34: 3A345124 v_cndmask_b32 v40, 0, -1, vcc // 000000010D38: D2000028 01A98280 v_and_b32 v38, v38, v39 // 000000010D40: 364C4F26 v_xor_b32 v39, v37, v40 // 000000010D44: 3A4E5125 v_and_b32 v26, v26, v38 // 000000010D48: 36344D1A v_and_b32 v26, v39, v26 // 000000010D4C: 36343527 v_bfe_u32 v26, v26, 0, v9 // 000000010D50: D290001A 0425011A s_waitcnt lgkmcnt(0) // 000000010D58: BF8C007F v_bcnt_u32_b32 v26, v26, v33 // 000000010D5C: 4434431A v_mov_b32 v33, v34 // 000000010D60: 7E420322 v_mov_b32 v34, v35 // 000000010D64: 7E440323 v_mov_b32 v35, v36 // 000000010D68: 7E460324 v_mov_b32 v36, v37 // 000000010D6C: 7E480325 label_435C: s_andn2_b64 exec, s[64:65], exec // wrscc // 000000010D70: 8AFE7E40 v_mov_b32 v34, 0 // 000000010D74: 7E440280 v_mov_b32 v36, 0 // 000000010D78: 7E480280 v_mov_b32 v26, 0 // 000000010D7C: 7E340280 v_mov_b32 v62, 0 // 000000010D80: 7E7C0280 v_mov_b32 v35, 0 // 000000010D84: 7E460280 v_mov_b32 v33, 0 // 000000010D88: 7E420280 s_and_b64 exec, s[64:65], s[58:59] // wrscc // 000000010D8C: 87FE3A40 v_add_i32 v26, vcc, v13, v26 // 000000010D90: 4A34350D buffer_store_dword v25, v26, s[60:63], 0 idxen // 000000010D94: E0702000 800F191A s_waitcnt vmcnt(0) // 000000010D9C: BF8C0F70 s_barrier // 000000010DA0: BF8A0000 s_and_b64 exec, s[64:65], s[18:19] // wrscc // 000000010DA4: 87FE1240 s_cbranch_execz label_4380 // 000000010DA8: BF880015 s_and_saveexec_b64 s[58:59], s[24:25] // wrscc // 000000010DAC: BEBA2418 s_cbranch_execz label_4380 // 000000010DB0: BF880013 ds_read_b32 v25, v27 offset:18844 // 000000010DB4: D8D8499C 1900001B v_xor_b32 v26, v31, v33 // 000000010DBC: 3A34431F v_cndmask_b32 v33, 0, -1, s[34:35] // 000000010DC0: D2000021 00898280 v_xor_b32 v33, v33, v34 // 000000010DC8: 3A424521 v_and_b32 v26, v26, v33 // 000000010DCC: 3634431A v_cndmask_b32 v33, 0, -1, s[36:37] // 000000010DD0: D2000021 00918280 v_xor_b32 v33, v33, v35 // 000000010DD8: 3A424721 v_cndmask_b32 v34, 0, -1, s[38:39] // 000000010DDC: D2000022 00998280 v_xor_b32 v34, v34, v36 // 000000010DE4: 3A444922 v_and_b32 v26, v26, v33 // 000000010DE8: 3634431A v_and_b32 v26, v34, v26 // 000000010DEC: 36343522 s_waitcnt lgkmcnt(0) // 000000010DF0: BF8C007F v_bcnt_u32_b32 v25, v26, v25 // 000000010DF4: 4432331A ds_write_b32 v27, v25 offset:18844 // 000000010DF8: D834499C 0000191B label_4380: s_mov_b64 exec, s[20:21] // 000000010E00: BEFE0414 s_mov_b64 s[20:21], exec // 000000010E04: BE94047E v_mov_b32 v26, 0 // 000000010E08: 7E340280 v_mov_b32 v25, 0 // 000000010E0C: 7E320280 v_mov_b32 v33, v24 // 000000010E10: 7E420318 label_4385: v_cmp_ge_u32 vcc, v26, v12 // 000000010E14: 7D8C191A s_andn2_b64 exec, exec, vcc // wrscc // 000000010E18: 8AFE6A7E s_cbranch_execz label_447A // 000000010E1C: BF8800F2 s_load_dwordx4 s[60:63], s[0:1], 0x58 // 000000010E20: C09E0158 v_cmp_gt_u32 s[58:59], v23, v33 // 000000010E24: D188003A 00024317 v_add_i32 v34, vcc, v13, v33 // 000000010E2C: 4A44430D v_bfm_b32 v35, 1, v9 // 000000010E30: 3C461281 s_waitcnt lgkmcnt(0) // 000000010E34: BF8C007F buffer_load_dword v34, v34, s[60:63], 0 idxen // 000000010E38: E0302000 800F2222 s_waitcnt vmcnt(0) // 000000010E40: BF8C0F70 v_cndmask_b32 v34, -1, v34, s[58:59] // 000000010E44: D2000022 00EA44C1 v_bfe_u32 v36, v34, 24, 1 // 000000010E4C: D2900024 02053122 v_cmp_ne_i32 vcc, 0, v36 // 000000010E54: 7D0A4880 v_cndmask_b32 v36, 0, -1, vcc // 000000010E58: D2000024 01A98280 v_lshl_b32 v36, v36, v9 // 000000010E60: 32481324 v_bfi_b32 v36, v35, v36, 0 // 000000010E64: D2940024 02024923 ds_write_b32 v7, v36 offset:408 // 000000010E6C: D8340198 00002407 v_lshrrev_b32 v34, 24, v34 // 000000010E74: 2C444498 v_and_b32 v36, 2, v34 // 000000010E78: 36484482 v_cmp_ne_i32 vcc, 0, v36 // 000000010E7C: 7D0A4880 v_cndmask_b32 v36, 0, -1, vcc // 000000010E80: D2000024 01A98280 v_lshl_b32 v36, v36, v9 // 000000010E88: 32481324 v_bfi_b32 v36, v35, v36, 0 // 000000010E8C: D2940024 02024923 ds_write_b32 v30, v36 offset:408 // 000000010E94: D8340198 0000241E v_and_b32 v36, 4, v34 // 000000010E9C: 36484484 v_cmp_ne_i32 vcc, 0, v36 // 000000010EA0: 7D0A4880 v_cndmask_b32 v36, 0, -1, vcc // 000000010EA4: D2000024 01A98280 v_lshl_b32 v36, v36, v9 // 000000010EAC: 32481324 v_bfi_b32 v36, v35, v36, 0 // 000000010EB0: D2940024 02024923 ds_write_b32 v29, v36 offset:408 // 000000010EB8: D8340198 0000241D v_and_b32 v34, 8, v34 // 000000010EC0: 36444488 v_cmp_ne_i32 vcc, 0, v34 // 000000010EC4: 7D0A4480 v_cndmask_b32 v34, 0, -1, vcc // 000000010EC8: D2000022 01A98280 v_lshl_b32 v34, v34, v9 // 000000010ED0: 32441322 v_bfi_b32 v34, v35, v34, 0 // 000000010ED4: D2940022 02024523 ds_write_b32 v28, v34 offset:408 // 000000010EDC: D8340198 0000221C s_waitcnt lgkmcnt(0) // 000000010EE4: BF8C007F s_barrier // 000000010EE8: BF8A0000 s_and_saveexec_b64 s[58:59], s[24:25] // wrscc // 000000010EEC: BEBA2418 s_cbranch_execz label_43DA // 000000010EF0: BF88001D ds_read2_b32 v[34:35], v7 offset0:102 offset1:118 // 000000010EF4: D8DC7666 22000007 ds_read_b32 v36, v30 offset:408 // 000000010EFC: D8D80198 2400001E ds_read_b32 v37, v29 offset:408 // 000000010F04: D8D80198 2500001D ds_read_b32 v38, v28 offset:408 // 000000010F0C: D8D80198 2600001C v_add_i32 v39, vcc, 0x000011d8, v7 // 000000010F14: 4A4E0EFF 000011D8 ds_read2st64_b32 v[39:40], v39 offset1:16 // 000000010F1C: D8E01000 27000027 ds_read_b32 v41, v7 offset:12760 // 000000010F24: D8D831D8 29000007 s_waitcnt lgkmcnt(5) // 000000010F2C: BF8C057F v_or_b32 v34, v34, v35 // 000000010F30: 38444722 s_waitcnt lgkmcnt(1) // 000000010F34: BF8C017F v_or_b32 v35, v36, v39 // 000000010F38: 38464F24 v_or_b32 v36, v37, v40 // 000000010F3C: 38485125 s_waitcnt lgkmcnt(0) // 000000010F40: BF8C007F v_or_b32 v37, v38, v41 // 000000010F44: 384A5326 ds_write_b32 v7, v34 offset:408 // 000000010F48: D8340198 00002207 ds_write_b32 v30, v35 offset:408 // 000000010F50: D8340198 0000231E ds_write_b32 v29, v36 offset:408 // 000000010F58: D8340198 0000241D ds_write_b32 v28, v37 offset:408 // 000000010F60: D8340198 0000251C label_43DA: s_waitcnt lgkmcnt(0) // 000000010F68: BF8C007F s_barrier // 000000010F6C: BF8A0000 s_and_b64 exec, s[58:59], s[26:27] // wrscc // 000000010F70: 87FE1A3A s_cbranch_execz label_43FB // 000000010F74: BF88001D ds_read2_b32 v[34:35], v7 offset0:102 offset1:110 // 000000010F78: D8DC6E66 22000007 ds_read_b32 v36, v30 offset:408 // 000000010F80: D8D80198 2400001E ds_read_b32 v37, v29 offset:408 // 000000010F88: D8D80198 2500001D ds_read_b32 v38, v28 offset:408 // 000000010F90: D8D80198 2600001C v_add_i32 v39, vcc, 0x000011b8, v7 // 000000010F98: 4A4E0EFF 000011B8 ds_read2st64_b32 v[39:40], v39 offset1:16 // 000000010FA0: D8E01000 27000027 ds_read_b32 v41, v7 offset:12728 // 000000010FA8: D8D831B8 29000007 s_waitcnt lgkmcnt(5) // 000000010FB0: BF8C057F v_or_b32 v34, v34, v35 // 000000010FB4: 38444722 s_waitcnt lgkmcnt(1) // 000000010FB8: BF8C017F v_or_b32 v35, v36, v39 // 000000010FBC: 38464F24 v_or_b32 v36, v37, v40 // 000000010FC0: 38485125 s_waitcnt lgkmcnt(0) // 000000010FC4: BF8C007F v_or_b32 v37, v38, v41 // 000000010FC8: 384A5326 ds_write_b32 v7, v34 offset:408 // 000000010FCC: D8340198 00002207 ds_write_b32 v30, v35 offset:408 // 000000010FD4: D8340198 0000231E ds_write_b32 v29, v36 offset:408 // 000000010FDC: D8340198 0000241D ds_write_b32 v28, v37 offset:408 // 000000010FE4: D8340198 0000251C label_43FB: s_waitcnt lgkmcnt(0) // 000000010FEC: BF8C007F s_barrier // 000000010FF0: BF8A0000 s_and_b64 exec, s[58:59], s[28:29] // wrscc // 000000010FF4: 87FE1C3A s_cbranch_execz label_441C // 000000010FF8: BF88001D ds_read2_b32 v[34:35], v7 offset0:102 offset1:106 // 000000010FFC: D8DC6A66 22000007 ds_read_b32 v36, v30 offset:408 // 000000011004: D8D80198 2400001E ds_read_b32 v37, v29 offset:408 // 00000001100C: D8D80198 2500001D ds_read_b32 v38, v28 offset:408 // 000000011014: D8D80198 2600001C v_add_i32 v39, vcc, 0x000011a8, v7 // 00000001101C: 4A4E0EFF 000011A8 ds_read2st64_b32 v[39:40], v39 offset1:16 // 000000011024: D8E01000 27000027 ds_read_b32 v41, v7 offset:12712 // 00000001102C: D8D831A8 29000007 s_waitcnt lgkmcnt(5) // 000000011034: BF8C057F v_or_b32 v34, v34, v35 // 000000011038: 38444722 s_waitcnt lgkmcnt(1) // 00000001103C: BF8C017F v_or_b32 v35, v36, v39 // 000000011040: 38464F24 v_or_b32 v36, v37, v40 // 000000011044: 38485125 s_waitcnt lgkmcnt(0) // 000000011048: BF8C007F v_or_b32 v37, v38, v41 // 00000001104C: 384A5326 ds_write_b32 v7, v34 offset:408 // 000000011050: D8340198 00002207 ds_write_b32 v30, v35 offset:408 // 000000011058: D8340198 0000231E ds_write_b32 v29, v36 offset:408 // 000000011060: D8340198 0000241D ds_write_b32 v28, v37 offset:408 // 000000011068: D8340198 0000251C label_441C: s_waitcnt lgkmcnt(0) // 000000011070: BF8C007F s_barrier // 000000011074: BF8A0000 s_and_b64 exec, s[58:59], s[30:31] // wrscc // 000000011078: 87FE1E3A s_cbranch_execz label_443D // 00000001107C: BF88001D ds_read2_b32 v[34:35], v7 offset0:102 offset1:104 // 000000011080: D8DC6866 22000007 ds_read_b32 v36, v30 offset:408 // 000000011088: D8D80198 2400001E ds_read_b32 v37, v29 offset:408 // 000000011090: D8D80198 2500001D ds_read_b32 v38, v28 offset:408 // 000000011098: D8D80198 2600001C v_add_i32 v39, vcc, 0x000011a0, v7 // 0000000110A0: 4A4E0EFF 000011A0 ds_read2st64_b32 v[39:40], v39 offset1:16 // 0000000110A8: D8E01000 27000027 ds_read_b32 v41, v7 offset:12704 // 0000000110B0: D8D831A0 29000007 s_waitcnt lgkmcnt(5) // 0000000110B8: BF8C057F v_or_b32 v34, v34, v35 // 0000000110BC: 38444722 s_waitcnt lgkmcnt(1) // 0000000110C0: BF8C017F v_or_b32 v35, v36, v39 // 0000000110C4: 38464F24 v_or_b32 v36, v37, v40 // 0000000110C8: 38485125 s_waitcnt lgkmcnt(0) // 0000000110CC: BF8C007F v_or_b32 v37, v38, v41 // 0000000110D0: 384A5326 ds_write_b32 v7, v34 offset:408 // 0000000110D4: D8340198 00002207 ds_write_b32 v30, v35 offset:408 // 0000000110DC: D8340198 0000231E ds_write_b32 v29, v36 offset:408 // 0000000110E4: D8340198 0000241D ds_write_b32 v28, v37 offset:408 // 0000000110EC: D8340198 0000251C label_443D: s_waitcnt lgkmcnt(0) // 0000000110F4: BF8C007F s_barrier // 0000000110F8: BF8A0000 s_and_b64 exec, s[58:59], s[32:33] // wrscc // 0000000110FC: 87FE203A s_cbranch_execz label_445E // 000000011100: BF88001D ds_read2_b32 v[34:35], v7 offset0:102 offset1:103 // 000000011104: D8DC6766 22000007 ds_read_b32 v36, v30 offset:408 // 00000001110C: D8D80198 2400001E ds_read_b32 v37, v29 offset:408 // 000000011114: D8D80198 2500001D ds_read_b32 v38, v28 offset:408 // 00000001111C: D8D80198 2600001C v_add_i32 v39, vcc, 0x0000119c, v7 // 000000011124: 4A4E0EFF 0000119C ds_read2st64_b32 v[39:40], v39 offset1:16 // 00000001112C: D8E01000 27000027 ds_read_b32 v41, v7 offset:12700 // 000000011134: D8D8319C 29000007 s_waitcnt lgkmcnt(5) // 00000001113C: BF8C057F v_or_b32 v34, v34, v35 // 000000011140: 38444722 s_waitcnt lgkmcnt(1) // 000000011144: BF8C017F v_or_b32 v35, v36, v39 // 000000011148: 38464F24 v_or_b32 v36, v37, v40 // 00000001114C: 38485125 s_waitcnt lgkmcnt(0) // 000000011150: BF8C007F v_or_b32 v37, v38, v41 // 000000011154: 384A5326 ds_write_b32 v7, v34 offset:408 // 000000011158: D8340198 00002207 ds_write_b32 v30, v35 offset:408 // 000000011160: D8340198 0000231E ds_write_b32 v29, v36 offset:408 // 000000011168: D8340198 0000241D ds_write_b32 v28, v37 offset:408 // 000000011170: D8340198 0000251C label_445E: s_mov_b64 exec, s[58:59] // 000000011178: BEFE043A s_waitcnt lgkmcnt(0) // 00000001117C: BF8C007F s_barrier // 000000011180: BF8A0000 v_add_i32 v34, vcc, 0x00000198, v32 // 000000011184: 4A4440FF 00000198 ds_read2st64_b32 v[35:36], v34 offset1:16 // 00000001118C: D8E01000 23000022 ds_read2st64_b32 v[37:38], v34 offset0:32 offset1:48 // 000000011194: D8E03020 25000022 v_cndmask_b32 v34, 0, -1, s[34:35] // 00000001119C: D2000022 00898280 s_waitcnt lgkmcnt(1) // 0000000111A4: BF8C017F v_xor_b32 v35, v31, v35 // 0000000111A8: 3A46471F v_xor_b32 v34, v34, v36 // 0000000111AC: 3A444922 v_cndmask_b32 v36, 0, -1, s[36:37] // 0000000111B0: D2000024 00918280 v_and_b32 v34, v35, v34 // 0000000111B8: 36444523 s_waitcnt lgkmcnt(0) // 0000000111BC: BF8C007F v_xor_b32 v35, v36, v37 // 0000000111C0: 3A464B24 v_cndmask_b32 v36, 0, -1, s[38:39] // 0000000111C4: D2000024 00998280 v_and_b32 v34, v34, v35 // 0000000111CC: 36444722 v_xor_b32 v35, v36, v38 // 0000000111D0: 3A464D24 v_and_b32 v34, v34, v35 // 0000000111D4: 36444722 v_bcnt_u32_b32 v25, v34, v25 // 0000000111D8: 44323322 v_add_i32 v26, vcc, 1, v26 // 0000000111DC: 4A343481 v_add_i32 v33, vcc, 32, v33 // 0000000111E0: 4A4242A0 s_branch label_4385 // 0000000111E4: BF82FF0B label_447A: s_mov_b64 exec, s[20:21] // 0000000111E8: BEFE0414 v_cmp_ne_u32 vcc, 0, v22 // 0000000111EC: 7D8A2C80 s_and_saveexec_b64 s[20:21], vcc // wrscc // 0000000111F0: BE94246A v_add_i32 v26, vcc, v13, v33 // 0000000111F4: 4A34430D s_cbranch_execz label_4586 // 0000000111F8: BF880107 s_and_saveexec_b64 s[58:59], s[18:19] // wrscc // 0000000111FC: BEBA2412 s_cbranch_execz label_44AF // 000000011200: BF88002E s_load_dwordx4 s[60:63], s[0:1], 0x58 // 000000011204: C09E0158 v_cmp_gt_u32 vcc, v23, v33 // 000000011208: 7D884317 v_bfm_b32 v33, 1, v9 // 00000001120C: 3C421281 s_waitcnt lgkmcnt(0) // 000000011210: BF8C007F buffer_load_dword v26, v26, s[60:63], 0 idxen // 000000011214: E0302000 800F1A1A s_waitcnt vmcnt(0) // 00000001121C: BF8C0F70 v_cndmask_b32 v26, -1, v26, vcc // 000000011220: 003434C1 v_bfe_u32 v34, v26, 24, 1 // 000000011224: D2900022 0205311A v_cmp_ne_i32 vcc, 0, v34 // 00000001122C: 7D0A4480 v_cndmask_b32 v34, 0, -1, vcc // 000000011230: D2000022 01A98280 v_lshl_b32 v34, v34, v9 // 000000011238: 32441322 v_bfi_b32 v34, v33, v34, 0 // 00000001123C: D2940022 02024521 ds_write_b32 v7, v34 offset:408 // 000000011244: D8340198 00002207 v_lshrrev_b32 v26, 24, v26 // 00000001124C: 2C343498 v_and_b32 v34, 2, v26 // 000000011250: 36443482 v_cmp_ne_i32 vcc, 0, v34 // 000000011254: 7D0A4480 v_cndmask_b32 v34, 0, -1, vcc // 000000011258: D2000022 01A98280 v_lshl_b32 v34, v34, v9 // 000000011260: 32441322 v_bfi_b32 v34, v33, v34, 0 // 000000011264: D2940022 02024521 ds_write_b32 v30, v34 offset:408 // 00000001126C: D8340198 0000221E v_and_b32 v34, 4, v26 // 000000011274: 36443484 v_cmp_ne_i32 vcc, 0, v34 // 000000011278: 7D0A4480 v_cndmask_b32 v34, 0, -1, vcc // 00000001127C: D2000022 01A98280 v_lshl_b32 v34, v34, v9 // 000000011284: 32441322 v_bfi_b32 v34, v33, v34, 0 // 000000011288: D2940022 02024521 ds_write_b32 v29, v34 offset:408 // 000000011290: D8340198 0000221D v_and_b32 v26, 8, v26 // 000000011298: 36343488 v_cmp_ne_i32 vcc, 0, v26 // 00000001129C: 7D0A3480 v_cndmask_b32 v26, 0, -1, vcc // 0000000112A0: D200001A 01A98280 v_lshl_b32 v26, v26, v9 // 0000000112A8: 3234131A v_bfi_b32 v26, v33, v26, 0 // 0000000112AC: D294001A 02023521 ds_write_b32 v28, v26 offset:408 // 0000000112B4: D8340198 00001A1C label_44AF: s_waitcnt lgkmcnt(0) // 0000000112BC: BF8C007F s_barrier // 0000000112C0: BF8A0000 s_and_b64 exec, s[58:59], s[18:19] // wrscc // 0000000112C4: 87FE123A s_cbranch_execz label_44D2 // 0000000112C8: BF88001F s_and_saveexec_b64 s[60:61], s[24:25] // wrscc // 0000000112CC: BEBC2418 s_cbranch_execz label_44D2 // 0000000112D0: BF88001D ds_read2_b32 v[33:34], v7 offset0:102 offset1:118 // 0000000112D4: D8DC7666 21000007 ds_read_b32 v26, v30 offset:408 // 0000000112DC: D8D80198 1A00001E ds_read_b32 v35, v29 offset:408 // 0000000112E4: D8D80198 2300001D ds_read_b32 v36, v28 offset:408 // 0000000112EC: D8D80198 2400001C v_add_i32 v37, vcc, 0x000011d8, v7 // 0000000112F4: 4A4A0EFF 000011D8 ds_read2st64_b32 v[37:38], v37 offset1:16 // 0000000112FC: D8E01000 25000025 ds_read_b32 v39, v7 offset:12760 // 000000011304: D8D831D8 27000007 s_waitcnt lgkmcnt(5) // 00000001130C: BF8C057F v_or_b32 v33, v33, v34 // 000000011310: 38424521 s_waitcnt lgkmcnt(1) // 000000011314: BF8C017F v_or_b32 v26, v26, v37 // 000000011318: 38344B1A v_or_b32 v34, v35, v38 // 00000001131C: 38444D23 s_waitcnt lgkmcnt(0) // 000000011320: BF8C007F v_or_b32 v35, v36, v39 // 000000011324: 38464F24 ds_write_b32 v7, v33 offset:408 // 000000011328: D8340198 00002107 ds_write_b32 v30, v26 offset:408 // 000000011330: D8340198 00001A1E ds_write_b32 v29, v34 offset:408 // 000000011338: D8340198 0000221D ds_write_b32 v28, v35 offset:408 // 000000011340: D8340198 0000231C label_44D2: s_waitcnt lgkmcnt(0) // 000000011348: BF8C007F s_barrier // 00000001134C: BF8A0000 s_and_b64 exec, s[58:59], s[18:19] // wrscc // 000000011350: 87FE123A s_cbranch_execz label_44F5 // 000000011354: BF88001F s_and_saveexec_b64 s[60:61], s[26:27] // wrscc // 000000011358: BEBC241A s_cbranch_execz label_44F5 // 00000001135C: BF88001D ds_read2_b32 v[33:34], v7 offset0:102 offset1:110 // 000000011360: D8DC6E66 21000007 ds_read_b32 v26, v30 offset:408 // 000000011368: D8D80198 1A00001E ds_read_b32 v35, v29 offset:408 // 000000011370: D8D80198 2300001D ds_read_b32 v36, v28 offset:408 // 000000011378: D8D80198 2400001C v_add_i32 v37, vcc, 0x000011b8, v7 // 000000011380: 4A4A0EFF 000011B8 ds_read2st64_b32 v[37:38], v37 offset1:16 // 000000011388: D8E01000 25000025 ds_read_b32 v39, v7 offset:12728 // 000000011390: D8D831B8 27000007 s_waitcnt lgkmcnt(5) // 000000011398: BF8C057F v_or_b32 v33, v33, v34 // 00000001139C: 38424521 s_waitcnt lgkmcnt(1) // 0000000113A0: BF8C017F v_or_b32 v26, v26, v37 // 0000000113A4: 38344B1A v_or_b32 v34, v35, v38 // 0000000113A8: 38444D23 s_waitcnt lgkmcnt(0) // 0000000113AC: BF8C007F v_or_b32 v35, v36, v39 // 0000000113B0: 38464F24 ds_write_b32 v7, v33 offset:408 // 0000000113B4: D8340198 00002107 ds_write_b32 v30, v26 offset:408 // 0000000113BC: D8340198 00001A1E ds_write_b32 v29, v34 offset:408 // 0000000113C4: D8340198 0000221D ds_write_b32 v28, v35 offset:408 // 0000000113CC: D8340198 0000231C label_44F5: s_waitcnt lgkmcnt(0) // 0000000113D4: BF8C007F s_barrier // 0000000113D8: BF8A0000 s_and_b64 exec, s[58:59], s[18:19] // wrscc // 0000000113DC: 87FE123A s_cbranch_execz label_4518 // 0000000113E0: BF88001F s_and_saveexec_b64 s[60:61], s[28:29] // wrscc // 0000000113E4: BEBC241C s_cbranch_execz label_4518 // 0000000113E8: BF88001D ds_read2_b32 v[33:34], v7 offset0:102 offset1:106 // 0000000113EC: D8DC6A66 21000007 ds_read_b32 v26, v30 offset:408 // 0000000113F4: D8D80198 1A00001E ds_read_b32 v35, v29 offset:408 // 0000000113FC: D8D80198 2300001D ds_read_b32 v36, v28 offset:408 // 000000011404: D8D80198 2400001C v_add_i32 v37, vcc, 0x000011a8, v7 // 00000001140C: 4A4A0EFF 000011A8 ds_read2st64_b32 v[37:38], v37 offset1:16 // 000000011414: D8E01000 25000025 ds_read_b32 v39, v7 offset:12712 // 00000001141C: D8D831A8 27000007 s_waitcnt lgkmcnt(5) // 000000011424: BF8C057F v_or_b32 v33, v33, v34 // 000000011428: 38424521 s_waitcnt lgkmcnt(1) // 00000001142C: BF8C017F v_or_b32 v26, v26, v37 // 000000011430: 38344B1A v_or_b32 v34, v35, v38 // 000000011434: 38444D23 s_waitcnt lgkmcnt(0) // 000000011438: BF8C007F v_or_b32 v35, v36, v39 // 00000001143C: 38464F24 ds_write_b32 v7, v33 offset:408 // 000000011440: D8340198 00002107 ds_write_b32 v30, v26 offset:408 // 000000011448: D8340198 00001A1E ds_write_b32 v29, v34 offset:408 // 000000011450: D8340198 0000221D ds_write_b32 v28, v35 offset:408 // 000000011458: D8340198 0000231C label_4518: s_waitcnt lgkmcnt(0) // 000000011460: BF8C007F s_barrier // 000000011464: BF8A0000 s_and_b64 exec, s[58:59], s[18:19] // wrscc // 000000011468: 87FE123A s_cbranch_execz label_453B // 00000001146C: BF88001F s_and_saveexec_b64 s[60:61], s[30:31] // wrscc // 000000011470: BEBC241E s_cbranch_execz label_453B // 000000011474: BF88001D ds_read2_b32 v[33:34], v7 offset0:102 offset1:104 // 000000011478: D8DC6866 21000007 ds_read_b32 v26, v30 offset:408 // 000000011480: D8D80198 1A00001E ds_read_b32 v35, v29 offset:408 // 000000011488: D8D80198 2300001D ds_read_b32 v36, v28 offset:408 // 000000011490: D8D80198 2400001C v_add_i32 v37, vcc, 0x000011a0, v7 // 000000011498: 4A4A0EFF 000011A0 ds_read2st64_b32 v[37:38], v37 offset1:16 // 0000000114A0: D8E01000 25000025 ds_read_b32 v39, v7 offset:12704 // 0000000114A8: D8D831A0 27000007 s_waitcnt lgkmcnt(5) // 0000000114B0: BF8C057F v_or_b32 v33, v33, v34 // 0000000114B4: 38424521 s_waitcnt lgkmcnt(1) // 0000000114B8: BF8C017F v_or_b32 v26, v26, v37 // 0000000114BC: 38344B1A v_or_b32 v34, v35, v38 // 0000000114C0: 38444D23 s_waitcnt lgkmcnt(0) // 0000000114C4: BF8C007F v_or_b32 v35, v36, v39 // 0000000114C8: 38464F24 ds_write_b32 v7, v33 offset:408 // 0000000114CC: D8340198 00002107 ds_write_b32 v30, v26 offset:408 // 0000000114D4: D8340198 00001A1E ds_write_b32 v29, v34 offset:408 // 0000000114DC: D8340198 0000221D ds_write_b32 v28, v35 offset:408 // 0000000114E4: D8340198 0000231C label_453B: s_waitcnt lgkmcnt(0) // 0000000114EC: BF8C007F s_barrier // 0000000114F0: BF8A0000 s_and_b64 exec, s[58:59], s[18:19] // wrscc // 0000000114F4: 87FE123A s_cbranch_execz label_455E // 0000000114F8: BF88001F s_and_saveexec_b64 s[60:61], s[32:33] // wrscc // 0000000114FC: BEBC2420 s_cbranch_execz label_455E // 000000011500: BF88001D ds_read2_b32 v[33:34], v7 offset0:102 offset1:103 // 000000011504: D8DC6766 21000007 ds_read_b32 v26, v30 offset:408 // 00000001150C: D8D80198 1A00001E ds_read_b32 v35, v29 offset:408 // 000000011514: D8D80198 2300001D ds_read_b32 v36, v28 offset:408 // 00000001151C: D8D80198 2400001C v_add_i32 v37, vcc, 0x0000119c, v7 // 000000011524: 4A4A0EFF 0000119C ds_read2st64_b32 v[37:38], v37 offset1:16 // 00000001152C: D8E01000 25000025 ds_read_b32 v39, v7 offset:12700 // 000000011534: D8D8319C 27000007 s_waitcnt lgkmcnt(5) // 00000001153C: BF8C057F v_or_b32 v33, v33, v34 // 000000011540: 38424521 s_waitcnt lgkmcnt(1) // 000000011544: BF8C017F v_or_b32 v26, v26, v37 // 000000011548: 38344B1A v_or_b32 v34, v35, v38 // 00000001154C: 38444D23 s_waitcnt lgkmcnt(0) // 000000011550: BF8C007F v_or_b32 v35, v36, v39 // 000000011554: 38464F24 ds_write_b32 v7, v33 offset:408 // 000000011558: D8340198 00002107 ds_write_b32 v30, v26 offset:408 // 000000011560: D8340198 00001A1E ds_write_b32 v29, v34 offset:408 // 000000011568: D8340198 0000221D ds_write_b32 v28, v35 offset:408 // 000000011570: D8340198 0000231C label_455E: s_waitcnt lgkmcnt(0) // 000000011578: BF8C007F s_barrier // 00000001157C: BF8A0000 s_and_b64 exec, s[58:59], s[18:19] // wrscc // 000000011580: 87FE123A v_add_i32 v26, vcc, 0x00000198, v32 // 000000011584: 4A3440FF 00000198 ds_read2st64_b32 v[33:34], v26 offset1:16 // 00000001158C: D8E01000 2100001A ds_read2st64_b32 v[35:36], v26 offset0:32 offset1:48 // 000000011594: D8E03020 2300001A s_waitcnt lgkmcnt(1) // 00000001159C: BF8C017F v_mov_b32 v26, v33 // 0000000115A0: 7E340321 v_mov_b32 v33, v34 // 0000000115A4: 7E420322 s_waitcnt lgkmcnt(0) // 0000000115A8: BF8C007F v_mov_b32 v34, v35 // 0000000115AC: 7E440323 v_mov_b32 v35, v36 // 0000000115B0: 7E460324 s_andn2_b64 exec, s[58:59], exec // wrscc // 0000000115B4: 8AFE7E3A v_mov_b32 v35, 0 // 0000000115B8: 7E460280 v_mov_b32 v26, 0 // 0000000115BC: 7E340280 v_mov_b32 v62, 0 // 0000000115C0: 7E7C0280 v_mov_b32 v34, 0 // 0000000115C4: 7E440280 v_mov_b32 v33, 0 // 0000000115C8: 7E420280 s_mov_b64 exec, s[58:59] // 0000000115CC: BEFE043A v_xor_b32 v26, v31, v26 // 0000000115D0: 3A34351F v_cndmask_b32 v36, 0, -1, s[34:35] // 0000000115D4: D2000024 00898280 v_xor_b32 v33, v36, v33 // 0000000115DC: 3A424324 v_and_b32 v26, v26, v33 // 0000000115E0: 3634431A v_cndmask_b32 v33, 0, -1, s[36:37] // 0000000115E4: D2000021 00918280 v_xor_b32 v33, v33, v34 // 0000000115EC: 3A424521 v_cndmask_b32 v34, 0, -1, s[38:39] // 0000000115F0: D2000022 00998280 v_xor_b32 v34, v34, v35 // 0000000115F8: 3A444722 v_and_b32 v26, v26, v33 // 0000000115FC: 3634431A v_and_b32 v26, v34, v26 // 000000011600: 36343522 v_bcnt_u32_b32 v26, v26, 0 // 000000011604: D244001A 0001011A v_cndmask_b32 v26, 0, v26, s[18:19] // 00000001160C: D200001A 004A3480 v_add_i32 v25, vcc, v25, v26 // 000000011614: 4A323519 label_4586: s_and_b64 exec, s[20:21], s[24:25] // wrscc // 000000011618: 87FE1814 ds_write_b32 v27, v25 offset:16796 // 00000001161C: D834419C 0000191B s_mov_b64 exec, s[20:21] // 000000011624: BEFE0414 s_waitcnt lgkmcnt(0) // 000000011628: BF8C007F s_barrier // 00000001162C: BF8A0000 v_cmp_eq_u32 vcc, 0, v9 // 000000011630: 7D841280 s_and_b64 exec, s[20:21], vcc // wrscc // 000000011634: 87FE6A14 v_mov_b32 v25, 0 // 000000011638: 7E320280 ds_write_b32 v25, v25 offset:16792 // 00000001163C: D8344198 00001919 ds_write_b32 v25, v25 offset:18844 // 000000011644: D834499C 00001919 s_and_b64 exec, s[20:21], s[22:23] // wrscc // 00000001164C: 87FE1614 s_cbranch_execz label_45A5 // 000000011650: BF880010 s_and_saveexec_b64 s[58:59], s[40:41] // wrscc // 000000011654: BEBA2428 v_add_i32 v25, vcc, 0x00004198, v7 // 000000011658: 4A320EFF 00004198 ds_read2_b32 v[25:26], v25 offset0:1 // 000000011660: D8DC0001 19000019 s_waitcnt lgkmcnt(0) // 000000011668: BF8C007F v_add_i32 v25, vcc, v25, v26 // 00000001166C: 4A323519 ds_write_b32 v7, v25 offset:18848 // 000000011670: D83449A0 00001907 s_andn2_b64 exec, s[58:59], exec // wrscc // 000000011678: 8AFE7E3A v_mov_b32 v25, 0 // 00000001167C: 7E320280 ds_read_b32 v26, v25 offset:16796 // 000000011680: D8D8419C 1A000019 s_waitcnt lgkmcnt(0) // 000000011688: BF8C007F ds_write_b32 v25, v26 offset:18848 // 00000001168C: D83449A0 00001A19 label_45A5: s_waitcnt lgkmcnt(0) // 000000011694: BF8C007F s_barrier // 000000011698: BF8A0000 s_and_b64 exec, s[20:21], s[22:23] // wrscc // 00000001169C: 87FE1614 s_cbranch_execz label_45B7 // 0000000116A0: BF88000E s_and_saveexec_b64 s[58:59], s[42:43] // wrscc // 0000000116A4: BEBA242A v_add_i32 v25, vcc, 0x00004998, v7 // 0000000116A8: 4A320EFF 00004998 ds_read2_b32 v[25:26], v25 offset0:2 // 0000000116B0: D8DC0002 19000019 s_waitcnt lgkmcnt(0) // 0000000116B8: BF8C007F v_add_i32 v25, vcc, v25, v26 // 0000000116BC: 4A323519 s_andn2_b64 exec, s[58:59], exec // wrscc // 0000000116C0: 8AFE7E3A ds_read_b32 v25, v7 offset:18848 // 0000000116C4: D8D849A0 19000007 s_mov_b64 exec, s[58:59] // 0000000116CC: BEFE043A s_waitcnt lgkmcnt(0) // 0000000116D0: BF8C007F ds_write_b32 v7, v25 offset:16796 // 0000000116D4: D834419C 00001907 label_45B7: s_waitcnt lgkmcnt(0) // 0000000116DC: BF8C007F s_barrier // 0000000116E0: BF8A0000 s_and_b64 exec, s[20:21], s[22:23] // wrscc // 0000000116E4: 87FE1614 s_cbranch_execz label_45C9 // 0000000116E8: BF88000E s_and_saveexec_b64 s[58:59], s[44:45] // wrscc // 0000000116EC: BEBA242C v_add_i32 v25, vcc, 0x0000418c, v7 // 0000000116F0: 4A320EFF 0000418C ds_read2_b32 v[25:26], v25 offset0:4 // 0000000116F8: D8DC0004 19000019 s_waitcnt lgkmcnt(0) // 000000011700: BF8C007F v_add_i32 v25, vcc, v25, v26 // 000000011704: 4A323519 s_andn2_b64 exec, s[58:59], exec // wrscc // 000000011708: 8AFE7E3A ds_read_b32 v25, v7 offset:16796 // 00000001170C: D8D8419C 19000007 s_mov_b64 exec, s[58:59] // 000000011714: BEFE043A s_waitcnt lgkmcnt(0) // 000000011718: BF8C007F ds_write_b32 v7, v25 offset:18848 // 00000001171C: D83449A0 00001907 label_45C9: s_waitcnt lgkmcnt(0) // 000000011724: BF8C007F s_barrier // 000000011728: BF8A0000 s_and_b64 exec, s[20:21], s[22:23] // wrscc // 00000001172C: 87FE1614 s_cbranch_execz label_45DB // 000000011730: BF88000E s_and_saveexec_b64 s[58:59], s[46:47] // wrscc // 000000011734: BEBA242E v_add_i32 v25, vcc, 0x00004980, v7 // 000000011738: 4A320EFF 00004980 ds_read2_b32 v[25:26], v25 offset0:8 // 000000011740: D8DC0008 19000019 s_waitcnt lgkmcnt(0) // 000000011748: BF8C007F v_add_i32 v25, vcc, v25, v26 // 00000001174C: 4A323519 s_andn2_b64 exec, s[58:59], exec // wrscc // 000000011750: 8AFE7E3A ds_read_b32 v25, v7 offset:18848 // 000000011754: D8D849A0 19000007 s_mov_b64 exec, s[58:59] // 00000001175C: BEFE043A s_waitcnt lgkmcnt(0) // 000000011760: BF8C007F ds_write_b32 v7, v25 offset:16796 // 000000011764: D834419C 00001907 label_45DB: s_waitcnt lgkmcnt(0) // 00000001176C: BF8C007F s_barrier // 000000011770: BF8A0000 s_and_b64 exec, s[20:21], s[22:23] // wrscc // 000000011774: 87FE1614 s_cbranch_execz label_45ED // 000000011778: BF88000E s_and_saveexec_b64 s[58:59], s[48:49] // wrscc // 00000001177C: BEBA2430 v_add_i32 v25, vcc, 0x0000415c, v7 // 000000011780: 4A320EFF 0000415C ds_read2_b32 v[25:26], v25 offset0:16 // 000000011788: D8DC0010 19000019 s_waitcnt lgkmcnt(0) // 000000011790: BF8C007F v_add_i32 v25, vcc, v25, v26 // 000000011794: 4A323519 s_andn2_b64 exec, s[58:59], exec // wrscc // 000000011798: 8AFE7E3A ds_read_b32 v25, v7 offset:16796 // 00000001179C: D8D8419C 19000007 s_mov_b64 exec, s[58:59] // 0000000117A4: BEFE043A s_waitcnt lgkmcnt(0) // 0000000117A8: BF8C007F ds_write_b32 v7, v25 offset:18848 // 0000000117AC: D83449A0 00001907 label_45ED: s_waitcnt lgkmcnt(0) // 0000000117B4: BF8C007F s_barrier // 0000000117B8: BF8A0000 s_and_b64 exec, s[20:21], s[22:23] // wrscc // 0000000117BC: 87FE1614 s_cbranch_execz label_45FF // 0000000117C0: BF88000E s_and_saveexec_b64 s[58:59], s[50:51] // wrscc // 0000000117C4: BEBA2432 v_add_i32 v25, vcc, 0x00004920, v7 // 0000000117C8: 4A320EFF 00004920 ds_read2_b32 v[25:26], v25 offset0:32 // 0000000117D0: D8DC0020 19000019 s_waitcnt lgkmcnt(0) // 0000000117D8: BF8C007F v_add_i32 v25, vcc, v25, v26 // 0000000117DC: 4A323519 s_andn2_b64 exec, s[58:59], exec // wrscc // 0000000117E0: 8AFE7E3A ds_read_b32 v25, v7 offset:18848 // 0000000117E4: D8D849A0 19000007 s_mov_b64 exec, s[58:59] // 0000000117EC: BEFE043A s_waitcnt lgkmcnt(0) // 0000000117F0: BF8C007F ds_write_b32 v7, v25 offset:16796 // 0000000117F4: D834419C 00001907 label_45FF: s_waitcnt lgkmcnt(0) // 0000000117FC: BF8C007F s_barrier // 000000011800: BF8A0000 s_and_b64 exec, s[20:21], s[22:23] // wrscc // 000000011804: 87FE1614 s_cbranch_execz label_4611 // 000000011808: BF88000E s_and_saveexec_b64 s[58:59], s[52:53] // wrscc // 00000001180C: BEBA2434 v_add_i32 v25, vcc, 0x0000409c, v7 // 000000011810: 4A320EFF 0000409C ds_read2_b32 v[25:26], v25 offset0:64 // 000000011818: D8DC0040 19000019 s_waitcnt lgkmcnt(0) // 000000011820: BF8C007F v_add_i32 v25, vcc, v25, v26 // 000000011824: 4A323519 s_andn2_b64 exec, s[58:59], exec // wrscc // 000000011828: 8AFE7E3A ds_read_b32 v25, v7 offset:16796 // 00000001182C: D8D8419C 19000007 s_mov_b64 exec, s[58:59] // 000000011834: BEFE043A s_waitcnt lgkmcnt(0) // 000000011838: BF8C007F ds_write_b32 v7, v25 offset:18848 // 00000001183C: D83449A0 00001907 label_4611: s_waitcnt lgkmcnt(0) // 000000011844: BF8C007F s_barrier // 000000011848: BF8A0000 s_and_b64 exec, s[20:21], s[22:23] // wrscc // 00000001184C: 87FE1614 s_cbranch_execz label_4623 // 000000011850: BF88000E s_and_saveexec_b64 s[58:59], s[54:55] // wrscc // 000000011854: BEBA2436 v_add_i32 v25, vcc, 0x000047a0, v7 // 000000011858: 4A320EFF 000047A0 ds_read2_b32 v[25:26], v25 offset0:128 // 000000011860: D8DC0080 19000019 s_waitcnt lgkmcnt(0) // 000000011868: BF8C007F v_add_i32 v25, vcc, v25, v26 // 00000001186C: 4A323519 s_andn2_b64 exec, s[58:59], exec // wrscc // 000000011870: 8AFE7E3A ds_read_b32 v25, v7 offset:18848 // 000000011874: D8D849A0 19000007 s_mov_b64 exec, s[58:59] // 00000001187C: BEFE043A s_waitcnt lgkmcnt(0) // 000000011880: BF8C007F ds_write_b32 v7, v25 offset:16796 // 000000011884: D834419C 00001907 label_4623: s_waitcnt lgkmcnt(0) // 00000001188C: BF8C007F s_barrier // 000000011890: BF8A0000 s_and_b64 exec, s[20:21], s[22:23] // wrscc // 000000011894: 87FE1614 s_cbranch_execz label_4635 // 000000011898: BF88000E s_and_saveexec_b64 s[58:59], s[56:57] // wrscc // 00000001189C: BEBA2438 v_add_i32 v25, vcc, 0x00003d9c, v7 // 0000000118A0: 4A320EFF 00003D9C ds_read2st64_b32 v[25:26], v25 offset0:4 // 0000000118A8: D8E00004 19000019 s_waitcnt lgkmcnt(0) // 0000000118B0: BF8C007F v_add_i32 v25, vcc, v25, v26 // 0000000118B4: 4A323519 s_andn2_b64 exec, s[58:59], exec // wrscc // 0000000118B8: 8AFE7E3A ds_read_b32 v25, v7 offset:16796 // 0000000118BC: D8D8419C 19000007 s_mov_b64 exec, s[58:59] // 0000000118C4: BEFE043A s_waitcnt lgkmcnt(0) // 0000000118C8: BF8C007F ds_write_b32 v7, v25 offset:18848 // 0000000118CC: D83449A0 00001907 label_4635: s_mov_b64 exec, s[20:21] // 0000000118D4: BEFE0414 s_waitcnt lgkmcnt(0) // 0000000118D8: BF8C007F s_barrier // 0000000118DC: BF8A0000 s_mov_b64 s[20:21], exec // 0000000118E0: BE94047E v_mov_b32 v25, 0 // 0000000118E4: 7E320280 v_mov_b32 v26, v24 // 0000000118E8: 7E340318 s_nop 0x0000 // 0000000118EC: BF800000 s_nop 0x0000 // 0000000118F0: BF800000 s_nop 0x0000 // 0000000118F4: BF800000 label_463E: v_cmp_ge_u32 vcc, v25, v12 // 0000000118F8: 7D8C1919 s_andn2_b64 exec, exec, vcc // wrscc // 0000000118FC: 8AFE6A7E s_cbranch_execz label_475F // 000000011900: BF88011E s_load_dwordx4 s[60:63], s[0:1], 0x58 // 000000011904: C09E0158 v_cmp_gt_u32 s[58:59], v23, v26 // 000000011908: D188003A 00023517 v_add_i32 v33, vcc, v13, v26 // 000000011910: 4A42350D v_bfm_b32 v34, 1, v9 // 000000011914: 3C441281 s_waitcnt lgkmcnt(0) // 000000011918: BF8C007F buffer_load_dword v33, v33, s[60:63], 0 idxen // 00000001191C: E0302000 800F2121 s_waitcnt vmcnt(0) // 000000011924: BF8C0F70 v_cndmask_b32 v33, -1, v33, s[58:59] // 000000011928: D2000021 00EA42C1 v_bfe_u32 v35, v33, 24, 1 // 000000011930: D2900023 02053121 v_lshrrev_b32 v36, 24, v33 // 000000011938: 2C484298 v_and_b32 v37, 2, v36 // 00000001193C: 364A4882 v_and_b32 v38, 4, v36 // 000000011940: 364C4884 v_and_b32 v36, 8, v36 // 000000011944: 36484888 v_cmp_ne_i32 vcc, 0, v35 // 000000011948: 7D0A4680 v_cndmask_b32 v39, 0, -1, vcc // 00000001194C: D2000027 01A98280 v_lshl_b32 v39, v39, v9 // 000000011954: 324E1327 v_bfi_b32 v39, v34, v39, 0 // 000000011958: D2940027 02024F22 ds_write_b32 v7, v39 offset:408 // 000000011960: D8340198 00002707 v_cmp_ne_i32 vcc, 0, v37 // 000000011968: 7D0A4A80 v_cndmask_b32 v39, 0, -1, vcc // 00000001196C: D2000027 01A98280 v_lshl_b32 v39, v39, v9 // 000000011974: 324E1327 v_bfi_b32 v39, v34, v39, 0 // 000000011978: D2940027 02024F22 ds_write_b32 v30, v39 offset:408 // 000000011980: D8340198 0000271E v_cmp_ne_i32 vcc, 0, v38 // 000000011988: 7D0A4C80 v_cndmask_b32 v39, 0, -1, vcc // 00000001198C: D2000027 01A98280 v_lshl_b32 v39, v39, v9 // 000000011994: 324E1327 v_bfi_b32 v39, v34, v39, 0 // 000000011998: D2940027 02024F22 ds_write_b32 v29, v39 offset:408 // 0000000119A0: D8340198 0000271D v_cmp_ne_i32 vcc, 0, v36 // 0000000119A8: 7D0A4880 v_cndmask_b32 v39, 0, -1, vcc // 0000000119AC: D2000027 01A98280 v_lshl_b32 v39, v39, v9 // 0000000119B4: 324E1327 v_bfi_b32 v34, v34, v39, 0 // 0000000119B8: D2940022 02024F22 ds_write_b32 v28, v34 offset:408 // 0000000119C0: D8340198 0000221C s_waitcnt lgkmcnt(0) // 0000000119C8: BF8C007F s_barrier // 0000000119CC: BF8A0000 s_and_saveexec_b64 s[64:65], s[24:25] // wrscc // 0000000119D0: BEC02418 s_cbranch_execz label_4693 // 0000000119D4: BF88001D ds_read2_b32 v[39:40], v7 offset0:102 offset1:118 // 0000000119D8: D8DC7666 27000007 ds_read_b32 v34, v30 offset:408 // 0000000119E0: D8D80198 2200001E ds_read_b32 v41, v29 offset:408 // 0000000119E8: D8D80198 2900001D ds_read_b32 v42, v28 offset:408 // 0000000119F0: D8D80198 2A00001C v_add_i32 v43, vcc, 0x000011d8, v7 // 0000000119F8: 4A560EFF 000011D8 ds_read2st64_b32 v[43:44], v43 offset1:16 // 000000011A00: D8E01000 2B00002B ds_read_b32 v45, v7 offset:12760 // 000000011A08: D8D831D8 2D000007 s_waitcnt lgkmcnt(5) // 000000011A10: BF8C057F v_or_b32 v39, v39, v40 // 000000011A14: 384E5127 s_waitcnt lgkmcnt(1) // 000000011A18: BF8C017F v_or_b32 v34, v34, v43 // 000000011A1C: 38445722 v_or_b32 v40, v41, v44 // 000000011A20: 38505929 s_waitcnt lgkmcnt(0) // 000000011A24: BF8C007F v_or_b32 v41, v42, v45 // 000000011A28: 38525B2A ds_write_b32 v7, v39 offset:408 // 000000011A2C: D8340198 00002707 ds_write_b32 v30, v34 offset:408 // 000000011A34: D8340198 0000221E ds_write_b32 v29, v40 offset:408 // 000000011A3C: D8340198 0000281D ds_write_b32 v28, v41 offset:408 // 000000011A44: D8340198 0000291C label_4693: s_waitcnt lgkmcnt(0) // 000000011A4C: BF8C007F s_barrier // 000000011A50: BF8A0000 s_and_b64 exec, s[64:65], s[26:27] // wrscc // 000000011A54: 87FE1A40 s_cbranch_execz label_46B4 // 000000011A58: BF88001D ds_read2_b32 v[39:40], v7 offset0:102 offset1:110 // 000000011A5C: D8DC6E66 27000007 ds_read_b32 v34, v30 offset:408 // 000000011A64: D8D80198 2200001E ds_read_b32 v41, v29 offset:408 // 000000011A6C: D8D80198 2900001D ds_read_b32 v42, v28 offset:408 // 000000011A74: D8D80198 2A00001C v_add_i32 v43, vcc, 0x000011b8, v7 // 000000011A7C: 4A560EFF 000011B8 ds_read2st64_b32 v[43:44], v43 offset1:16 // 000000011A84: D8E01000 2B00002B ds_read_b32 v45, v7 offset:12728 // 000000011A8C: D8D831B8 2D000007 s_waitcnt lgkmcnt(5) // 000000011A94: BF8C057F v_or_b32 v39, v39, v40 // 000000011A98: 384E5127 s_waitcnt lgkmcnt(1) // 000000011A9C: BF8C017F v_or_b32 v34, v34, v43 // 000000011AA0: 38445722 v_or_b32 v40, v41, v44 // 000000011AA4: 38505929 s_waitcnt lgkmcnt(0) // 000000011AA8: BF8C007F v_or_b32 v41, v42, v45 // 000000011AAC: 38525B2A ds_write_b32 v7, v39 offset:408 // 000000011AB0: D8340198 00002707 ds_write_b32 v30, v34 offset:408 // 000000011AB8: D8340198 0000221E ds_write_b32 v29, v40 offset:408 // 000000011AC0: D8340198 0000281D ds_write_b32 v28, v41 offset:408 // 000000011AC8: D8340198 0000291C label_46B4: s_waitcnt lgkmcnt(0) // 000000011AD0: BF8C007F s_barrier // 000000011AD4: BF8A0000 s_and_b64 exec, s[64:65], s[28:29] // wrscc // 000000011AD8: 87FE1C40 s_cbranch_execz label_46D5 // 000000011ADC: BF88001D ds_read2_b32 v[39:40], v7 offset0:102 offset1:106 // 000000011AE0: D8DC6A66 27000007 ds_read_b32 v34, v30 offset:408 // 000000011AE8: D8D80198 2200001E ds_read_b32 v41, v29 offset:408 // 000000011AF0: D8D80198 2900001D ds_read_b32 v42, v28 offset:408 // 000000011AF8: D8D80198 2A00001C v_add_i32 v43, vcc, 0x000011a8, v7 // 000000011B00: 4A560EFF 000011A8 ds_read2st64_b32 v[43:44], v43 offset1:16 // 000000011B08: D8E01000 2B00002B ds_read_b32 v45, v7 offset:12712 // 000000011B10: D8D831A8 2D000007 s_waitcnt lgkmcnt(5) // 000000011B18: BF8C057F v_or_b32 v39, v39, v40 // 000000011B1C: 384E5127 s_waitcnt lgkmcnt(1) // 000000011B20: BF8C017F v_or_b32 v34, v34, v43 // 000000011B24: 38445722 v_or_b32 v40, v41, v44 // 000000011B28: 38505929 s_waitcnt lgkmcnt(0) // 000000011B2C: BF8C007F v_or_b32 v41, v42, v45 // 000000011B30: 38525B2A ds_write_b32 v7, v39 offset:408 // 000000011B34: D8340198 00002707 ds_write_b32 v30, v34 offset:408 // 000000011B3C: D8340198 0000221E ds_write_b32 v29, v40 offset:408 // 000000011B44: D8340198 0000281D ds_write_b32 v28, v41 offset:408 // 000000011B4C: D8340198 0000291C label_46D5: s_waitcnt lgkmcnt(0) // 000000011B54: BF8C007F s_barrier // 000000011B58: BF8A0000 s_and_b64 exec, s[64:65], s[30:31] // wrscc // 000000011B5C: 87FE1E40 s_cbranch_execz label_46F6 // 000000011B60: BF88001D ds_read2_b32 v[39:40], v7 offset0:102 offset1:104 // 000000011B64: D8DC6866 27000007 ds_read_b32 v34, v30 offset:408 // 000000011B6C: D8D80198 2200001E ds_read_b32 v41, v29 offset:408 // 000000011B74: D8D80198 2900001D ds_read_b32 v42, v28 offset:408 // 000000011B7C: D8D80198 2A00001C v_add_i32 v43, vcc, 0x000011a0, v7 // 000000011B84: 4A560EFF 000011A0 ds_read2st64_b32 v[43:44], v43 offset1:16 // 000000011B8C: D8E01000 2B00002B ds_read_b32 v45, v7 offset:12704 // 000000011B94: D8D831A0 2D000007 s_waitcnt lgkmcnt(5) // 000000011B9C: BF8C057F v_or_b32 v39, v39, v40 // 000000011BA0: 384E5127 s_waitcnt lgkmcnt(1) // 000000011BA4: BF8C017F v_or_b32 v34, v34, v43 // 000000011BA8: 38445722 v_or_b32 v40, v41, v44 // 000000011BAC: 38505929 s_waitcnt lgkmcnt(0) // 000000011BB0: BF8C007F v_or_b32 v41, v42, v45 // 000000011BB4: 38525B2A ds_write_b32 v7, v39 offset:408 // 000000011BB8: D8340198 00002707 ds_write_b32 v30, v34 offset:408 // 000000011BC0: D8340198 0000221E ds_write_b32 v29, v40 offset:408 // 000000011BC8: D8340198 0000281D ds_write_b32 v28, v41 offset:408 // 000000011BD0: D8340198 0000291C label_46F6: s_waitcnt lgkmcnt(0) // 000000011BD8: BF8C007F s_barrier // 000000011BDC: BF8A0000 s_and_b64 exec, s[64:65], s[32:33] // wrscc // 000000011BE0: 87FE2040 s_cbranch_execz label_4717 // 000000011BE4: BF88001D ds_read2_b32 v[39:40], v7 offset0:102 offset1:103 // 000000011BE8: D8DC6766 27000007 ds_read_b32 v34, v30 offset:408 // 000000011BF0: D8D80198 2200001E ds_read_b32 v41, v29 offset:408 // 000000011BF8: D8D80198 2900001D ds_read_b32 v42, v28 offset:408 // 000000011C00: D8D80198 2A00001C v_add_i32 v43, vcc, 0x0000119c, v7 // 000000011C08: 4A560EFF 0000119C ds_read2st64_b32 v[43:44], v43 offset1:16 // 000000011C10: D8E01000 2B00002B ds_read_b32 v45, v7 offset:12700 // 000000011C18: D8D8319C 2D000007 s_waitcnt lgkmcnt(5) // 000000011C20: BF8C057F v_or_b32 v39, v39, v40 // 000000011C24: 384E5127 s_waitcnt lgkmcnt(1) // 000000011C28: BF8C017F v_or_b32 v34, v34, v43 // 000000011C2C: 38445722 v_or_b32 v40, v41, v44 // 000000011C30: 38505929 s_waitcnt lgkmcnt(0) // 000000011C34: BF8C007F v_or_b32 v41, v42, v45 // 000000011C38: 38525B2A ds_write_b32 v7, v39 offset:408 // 000000011C3C: D8340198 00002707 ds_write_b32 v30, v34 offset:408 // 000000011C44: D8340198 0000221E ds_write_b32 v29, v40 offset:408 // 000000011C4C: D8340198 0000281D ds_write_b32 v28, v41 offset:408 // 000000011C54: D8340198 0000291C label_4717: s_mov_b64 exec, s[64:65] // 000000011C5C: BEFE0440 s_waitcnt lgkmcnt(0) // 000000011C60: BF8C007F s_barrier // 000000011C64: BF8A0000 v_add_i32 v34, vcc, 0x00000198, v32 // 000000011C68: 4A4440FF 00000198 ds_read2st64_b32 v[39:40], v34 offset1:16 // 000000011C70: D8E01000 27000022 ds_read2st64_b32 v[41:42], v34 offset0:32 offset1:48 // 000000011C78: D8E03020 29000022 v_lshrrev_b32 v34, 19, v33 // 000000011C80: 2C444293 s_movk_i32 s3, 0x01e0 // 000000011C84: B00301E0 v_bfi_b32 v34, s3, v34, 0 // 000000011C88: D2940022 02024403 v_add_i32 v34, vcc, v2, v34 // 000000011C90: 4A444502 v_lshlrev_b32 v34, 2, v34 // 000000011C94: 34444482 ds_read_b32 v34, v34 offset:18844 // 000000011C98: D8D8499C 22000022 s_and_saveexec_b64 s[58:59], s[58:59] // wrscc // 000000011CA0: BEBA243A v_add_i32 v35, vcc, -1, v35 // 000000011CA4: 4A4646C1 s_cbranch_execz label_4744 // 000000011CA8: BF880019 s_waitcnt lgkmcnt(2) // 000000011CAC: BF8C027F v_xor_b32 v35, v39, v35 // 000000011CB0: 3A464727 v_cmp_eq_i32 vcc, 0, v37 // 000000011CB4: 7D044A80 v_cndmask_b32 v37, 0, -1, vcc // 000000011CB8: D2000025 01A98280 v_xor_b32 v37, v40, v37 // 000000011CC0: 3A4A4B28 v_and_b32 v35, v35, v37 // 000000011CC4: 36464B23 v_cmp_eq_i32 vcc, 0, v38 // 000000011CC8: 7D044C80 v_cndmask_b32 v37, 0, -1, vcc // 000000011CCC: D2000025 01A98280 s_waitcnt lgkmcnt(1) // 000000011CD4: BF8C017F v_xor_b32 v37, v41, v37 // 000000011CD8: 3A4A4B29 v_and_b32 v35, v35, v37 // 000000011CDC: 36464B23 v_cmp_eq_i32 vcc, 0, v36 // 000000011CE0: 7D044880 v_cndmask_b32 v36, 0, -1, vcc // 000000011CE4: D2000024 01A98280 v_xor_b32 v36, v42, v36 // 000000011CEC: 3A48492A v_and_b32 v35, v35, v36 // 000000011CF0: 36464923 v_bfe_u32 v35, v35, 0, v9 // 000000011CF4: D2900023 04250123 s_waitcnt lgkmcnt(0) // 000000011CFC: BF8C007F v_bcnt_u32_b32 v34, v35, v34 // 000000011D00: 44444523 v_add_i32 v34, vcc, v21, v34 // 000000011D04: 4A444515 buffer_store_dword v33, v34, s[60:63], 0 idxen // 000000011D08: E0702000 800F2122 label_4744: s_waitcnt vmcnt(0) & lgkmcnt(0) // 000000011D10: BF8C0070 s_barrier // 000000011D14: BF8A0000 s_and_b64 exec, s[58:59], s[24:25] // wrscc // 000000011D18: 87FE183A s_cbranch_execz label_475B // 000000011D1C: BF880013 ds_read_b32 v33, v27 offset:18844 // 000000011D20: D8D8499C 2100001B v_xor_b32 v34, v31, v39 // 000000011D28: 3A444F1F v_cndmask_b32 v35, 0, -1, s[34:35] // 000000011D2C: D2000023 00898280 v_xor_b32 v35, v35, v40 // 000000011D34: 3A465123 v_and_b32 v34, v34, v35 // 000000011D38: 36444722 v_cndmask_b32 v35, 0, -1, s[36:37] // 000000011D3C: D2000023 00918280 v_xor_b32 v35, v35, v41 // 000000011D44: 3A465323 v_and_b32 v34, v34, v35 // 000000011D48: 36444722 v_cndmask_b32 v35, 0, -1, s[38:39] // 000000011D4C: D2000023 00998280 v_xor_b32 v35, v35, v42 // 000000011D54: 3A465523 v_and_b32 v34, v34, v35 // 000000011D58: 36444722 s_waitcnt lgkmcnt(0) // 000000011D5C: BF8C007F v_bcnt_u32_b32 v33, v34, v33 // 000000011D60: 44424322 ds_write_b32 v27, v33 offset:18844 // 000000011D64: D834499C 0000211B label_475B: s_mov_b64 exec, s[58:59] // 000000011D6C: BEFE043A v_add_i32 v25, vcc, 1, v25 // 000000011D70: 4A323281 v_add_i32 v26, vcc, 32, v26 // 000000011D74: 4A3434A0 s_branch label_463E // 000000011D78: BF82FEDF label_475F: s_mov_b64 exec, s[20:21] // 000000011D7C: BEFE0414 v_cmp_ne_u32 vcc, 0, v22 // 000000011D80: 7D8A2C80 s_and_saveexec_b64 s[20:21], vcc // wrscc // 000000011D84: BE94246A s_cbranch_execz label_4899 // 000000011D88: BF880136 s_load_dwordx4 s[60:63], s[0:1], 0x58 // 000000011D8C: C09E0158 v_add_i32 v25, vcc, v13, v26 // 000000011D90: 4A32350D s_waitcnt lgkmcnt(0) // 000000011D94: BF8C007F buffer_load_dword v25, v25, s[60:63], 0 idxen // 000000011D98: E0302000 800F1919 v_cmp_gt_u32 s[58:59], v23, v26 // 000000011DA0: D188003A 00023517 s_waitcnt vmcnt(0) // 000000011DA8: BF8C0F70 v_cndmask_b32 v25, -1, v25, s[58:59] // 000000011DAC: D2000019 00EA32C1 s_and_saveexec_b64 s[64:65], s[18:19] // wrscc // 000000011DB4: BEC02412 v_bfm_b32 v26, 1, v9 // 000000011DB8: 3C341281 s_cbranch_execz label_4796 // 000000011DBC: BF880026 v_bfe_u32 v33, v25, 24, 1 // 000000011DC0: D2900021 02053119 v_cmp_ne_i32 vcc, 0, v33 // 000000011DC8: 7D0A4280 v_cndmask_b32 v33, 0, -1, vcc // 000000011DCC: D2000021 01A98280 v_lshl_b32 v33, v33, v9 // 000000011DD4: 32421321 v_bfi_b32 v33, v26, v33, 0 // 000000011DD8: D2940021 0202431A v_lshrrev_b32 v34, 24, v25 // 000000011DE0: 2C443298 v_and_b32 v35, 2, v34 // 000000011DE4: 36464482 v_cmp_ne_i32 vcc, 0, v35 // 000000011DE8: 7D0A4680 v_cndmask_b32 v35, 0, -1, vcc // 000000011DEC: D2000023 01A98280 v_lshl_b32 v35, v35, v9 // 000000011DF4: 32461323 v_bfi_b32 v35, v26, v35, 0 // 000000011DF8: D2940023 0202471A v_and_b32 v36, 4, v34 // 000000011E00: 36484484 v_cmp_ne_i32 vcc, 0, v36 // 000000011E04: 7D0A4880 v_cndmask_b32 v36, 0, -1, vcc // 000000011E08: D2000024 01A98280 v_lshl_b32 v36, v36, v9 // 000000011E10: 32481324 v_bfi_b32 v36, v26, v36, 0 // 000000011E14: D2940024 0202491A v_and_b32 v34, 8, v34 // 000000011E1C: 36444488 v_cmp_ne_i32 vcc, 0, v34 // 000000011E20: 7D0A4480 v_cndmask_b32 v34, 0, -1, vcc // 000000011E24: D2000022 01A98280 v_lshl_b32 v34, v34, v9 // 000000011E2C: 32441322 v_bfi_b32 v26, v26, v34, 0 // 000000011E30: D294001A 0202451A ds_write_b32 v7, v33 offset:408 // 000000011E38: D8340198 00002107 ds_write_b32 v30, v35 offset:408 // 000000011E40: D8340198 0000231E ds_write_b32 v29, v36 offset:408 // 000000011E48: D8340198 0000241D ds_write_b32 v28, v26 offset:408 // 000000011E50: D8340198 00001A1C label_4796: s_waitcnt lgkmcnt(0) // 000000011E58: BF8C007F s_barrier // 000000011E5C: BF8A0000 s_and_b64 exec, s[64:65], s[18:19] // wrscc // 000000011E60: 87FE1240 s_cbranch_execz label_47B9 // 000000011E64: BF88001F s_and_saveexec_b64 s[66:67], s[24:25] // wrscc // 000000011E68: BEC22418 s_cbranch_execz label_47B9 // 000000011E6C: BF88001D ds_read2_b32 v[33:34], v7 offset0:102 offset1:118 // 000000011E70: D8DC7666 21000007 ds_read_b32 v26, v30 offset:408 // 000000011E78: D8D80198 1A00001E ds_read_b32 v35, v29 offset:408 // 000000011E80: D8D80198 2300001D ds_read_b32 v36, v28 offset:408 // 000000011E88: D8D80198 2400001C v_add_i32 v37, vcc, 0x000011d8, v7 // 000000011E90: 4A4A0EFF 000011D8 ds_read2st64_b32 v[37:38], v37 offset1:16 // 000000011E98: D8E01000 25000025 ds_read_b32 v39, v7 offset:12760 // 000000011EA0: D8D831D8 27000007 s_waitcnt lgkmcnt(5) // 000000011EA8: BF8C057F v_or_b32 v33, v33, v34 // 000000011EAC: 38424521 s_waitcnt lgkmcnt(1) // 000000011EB0: BF8C017F v_or_b32 v26, v26, v37 // 000000011EB4: 38344B1A v_or_b32 v34, v35, v38 // 000000011EB8: 38444D23 s_waitcnt lgkmcnt(0) // 000000011EBC: BF8C007F v_or_b32 v35, v36, v39 // 000000011EC0: 38464F24 ds_write_b32 v7, v33 offset:408 // 000000011EC4: D8340198 00002107 ds_write_b32 v30, v26 offset:408 // 000000011ECC: D8340198 00001A1E ds_write_b32 v29, v34 offset:408 // 000000011ED4: D8340198 0000221D ds_write_b32 v28, v35 offset:408 // 000000011EDC: D8340198 0000231C label_47B9: s_waitcnt lgkmcnt(0) // 000000011EE4: BF8C007F s_barrier // 000000011EE8: BF8A0000 s_and_b64 exec, s[64:65], s[18:19] // wrscc // 000000011EEC: 87FE1240 s_cbranch_execz label_47DC // 000000011EF0: BF88001F s_and_saveexec_b64 s[66:67], s[26:27] // wrscc // 000000011EF4: BEC2241A s_cbranch_execz label_47DC // 000000011EF8: BF88001D ds_read2_b32 v[33:34], v7 offset0:102 offset1:110 // 000000011EFC: D8DC6E66 21000007 ds_read_b32 v26, v30 offset:408 // 000000011F04: D8D80198 1A00001E ds_read_b32 v35, v29 offset:408 // 000000011F0C: D8D80198 2300001D ds_read_b32 v36, v28 offset:408 // 000000011F14: D8D80198 2400001C v_add_i32 v37, vcc, 0x000011b8, v7 // 000000011F1C: 4A4A0EFF 000011B8 ds_read2st64_b32 v[37:38], v37 offset1:16 // 000000011F24: D8E01000 25000025 ds_read_b32 v39, v7 offset:12728 // 000000011F2C: D8D831B8 27000007 s_waitcnt lgkmcnt(5) // 000000011F34: BF8C057F v_or_b32 v33, v33, v34 // 000000011F38: 38424521 s_waitcnt lgkmcnt(1) // 000000011F3C: BF8C017F v_or_b32 v26, v26, v37 // 000000011F40: 38344B1A v_or_b32 v34, v35, v38 // 000000011F44: 38444D23 s_waitcnt lgkmcnt(0) // 000000011F48: BF8C007F v_or_b32 v35, v36, v39 // 000000011F4C: 38464F24 ds_write_b32 v7, v33 offset:408 // 000000011F50: D8340198 00002107 ds_write_b32 v30, v26 offset:408 // 000000011F58: D8340198 00001A1E ds_write_b32 v29, v34 offset:408 // 000000011F60: D8340198 0000221D ds_write_b32 v28, v35 offset:408 // 000000011F68: D8340198 0000231C label_47DC: s_waitcnt lgkmcnt(0) // 000000011F70: BF8C007F s_barrier // 000000011F74: BF8A0000 s_and_b64 exec, s[64:65], s[18:19] // wrscc // 000000011F78: 87FE1240 s_cbranch_execz label_47FF // 000000011F7C: BF88001F s_and_saveexec_b64 s[66:67], s[28:29] // wrscc // 000000011F80: BEC2241C s_cbranch_execz label_47FF // 000000011F84: BF88001D ds_read2_b32 v[33:34], v7 offset0:102 offset1:106 // 000000011F88: D8DC6A66 21000007 ds_read_b32 v26, v30 offset:408 // 000000011F90: D8D80198 1A00001E ds_read_b32 v35, v29 offset:408 // 000000011F98: D8D80198 2300001D ds_read_b32 v36, v28 offset:408 // 000000011FA0: D8D80198 2400001C v_add_i32 v37, vcc, 0x000011a8, v7 // 000000011FA8: 4A4A0EFF 000011A8 ds_read2st64_b32 v[37:38], v37 offset1:16 // 000000011FB0: D8E01000 25000025 ds_read_b32 v39, v7 offset:12712 // 000000011FB8: D8D831A8 27000007 s_waitcnt lgkmcnt(5) // 000000011FC0: BF8C057F v_or_b32 v33, v33, v34 // 000000011FC4: 38424521 s_waitcnt lgkmcnt(1) // 000000011FC8: BF8C017F v_or_b32 v26, v26, v37 // 000000011FCC: 38344B1A v_or_b32 v34, v35, v38 // 000000011FD0: 38444D23 s_waitcnt lgkmcnt(0) // 000000011FD4: BF8C007F v_or_b32 v35, v36, v39 // 000000011FD8: 38464F24 ds_write_b32 v7, v33 offset:408 // 000000011FDC: D8340198 00002107 ds_write_b32 v30, v26 offset:408 // 000000011FE4: D8340198 00001A1E ds_write_b32 v29, v34 offset:408 // 000000011FEC: D8340198 0000221D ds_write_b32 v28, v35 offset:408 // 000000011FF4: D8340198 0000231C label_47FF: s_waitcnt lgkmcnt(0) // 000000011FFC: BF8C007F s_barrier // 000000012000: BF8A0000 s_and_b64 exec, s[64:65], s[18:19] // wrscc // 000000012004: 87FE1240 s_cbranch_execz label_4822 // 000000012008: BF88001F s_and_saveexec_b64 s[66:67], s[30:31] // wrscc // 00000001200C: BEC2241E s_cbranch_execz label_4822 // 000000012010: BF88001D ds_read2_b32 v[33:34], v7 offset0:102 offset1:104 // 000000012014: D8DC6866 21000007 ds_read_b32 v26, v30 offset:408 // 00000001201C: D8D80198 1A00001E ds_read_b32 v35, v29 offset:408 // 000000012024: D8D80198 2300001D ds_read_b32 v36, v28 offset:408 // 00000001202C: D8D80198 2400001C v_add_i32 v37, vcc, 0x000011a0, v7 // 000000012034: 4A4A0EFF 000011A0 ds_read2st64_b32 v[37:38], v37 offset1:16 // 00000001203C: D8E01000 25000025 ds_read_b32 v39, v7 offset:12704 // 000000012044: D8D831A0 27000007 s_waitcnt lgkmcnt(5) // 00000001204C: BF8C057F v_or_b32 v33, v33, v34 // 000000012050: 38424521 s_waitcnt lgkmcnt(1) // 000000012054: BF8C017F v_or_b32 v26, v26, v37 // 000000012058: 38344B1A v_or_b32 v34, v35, v38 // 00000001205C: 38444D23 s_waitcnt lgkmcnt(0) // 000000012060: BF8C007F v_or_b32 v35, v36, v39 // 000000012064: 38464F24 ds_write_b32 v7, v33 offset:408 // 000000012068: D8340198 00002107 ds_write_b32 v30, v26 offset:408 // 000000012070: D8340198 00001A1E ds_write_b32 v29, v34 offset:408 // 000000012078: D8340198 0000221D ds_write_b32 v28, v35 offset:408 // 000000012080: D8340198 0000231C label_4822: s_waitcnt lgkmcnt(0) // 000000012088: BF8C007F s_barrier // 00000001208C: BF8A0000 s_and_b64 exec, s[64:65], s[18:19] // wrscc // 000000012090: 87FE1240 s_cbranch_execz label_4845 // 000000012094: BF88001F s_and_saveexec_b64 s[66:67], s[32:33] // wrscc // 000000012098: BEC22420 s_cbranch_execz label_4845 // 00000001209C: BF88001D ds_read2_b32 v[33:34], v7 offset0:102 offset1:103 // 0000000120A0: D8DC6766 21000007 ds_read_b32 v26, v30 offset:408 // 0000000120A8: D8D80198 1A00001E ds_read_b32 v35, v29 offset:408 // 0000000120B0: D8D80198 2300001D ds_read_b32 v36, v28 offset:408 // 0000000120B8: D8D80198 2400001C v_add_i32 v37, vcc, 0x0000119c, v7 // 0000000120C0: 4A4A0EFF 0000119C ds_read2st64_b32 v[37:38], v37 offset1:16 // 0000000120C8: D8E01000 25000025 ds_read_b32 v39, v7 offset:12700 // 0000000120D0: D8D8319C 27000007 s_waitcnt lgkmcnt(5) // 0000000120D8: BF8C057F v_or_b32 v33, v33, v34 // 0000000120DC: 38424521 s_waitcnt lgkmcnt(1) // 0000000120E0: BF8C017F v_or_b32 v26, v26, v37 // 0000000120E4: 38344B1A v_or_b32 v34, v35, v38 // 0000000120E8: 38444D23 s_waitcnt lgkmcnt(0) // 0000000120EC: BF8C007F v_or_b32 v35, v36, v39 // 0000000120F0: 38464F24 ds_write_b32 v7, v33 offset:408 // 0000000120F4: D8340198 00002107 ds_write_b32 v30, v26 offset:408 // 0000000120FC: D8340198 00001A1E ds_write_b32 v29, v34 offset:408 // 000000012104: D8340198 0000221D ds_write_b32 v28, v35 offset:408 // 00000001210C: D8340198 0000231C label_4845: s_waitcnt lgkmcnt(0) // 000000012114: BF8C007F s_barrier // 000000012118: BF8A0000 s_and_b64 exec, s[64:65], s[18:19] // wrscc // 00000001211C: 87FE1240 v_add_i32 v26, vcc, 0x00000198, v32 // 000000012120: 4A3440FF 00000198 s_cbranch_execz label_4875 // 000000012128: BF88002A ds_read2st64_b32 v[33:34], v26 offset1:16 // 00000001212C: D8E01000 2100001A ds_read2st64_b32 v[35:36], v26 offset0:32 offset1:48 // 000000012134: D8E03020 2300001A v_lshrrev_b32 v26, 24, v25 // 00000001213C: 2C343298 v_lshrrev_b32 v37, 19, v25 // 000000012140: 2C4A3293 s_movk_i32 s3, 0x01e0 // 000000012144: B00301E0 v_and_b32 v38, 2, v26 // 000000012148: 364C3482 v_bfi_b32 v37, s3, v37, 0 // 00000001214C: D2940025 02024A03 v_bfe_u32 v39, v25, 24, 1 // 000000012154: D2900027 02053119 v_cmp_eq_i32 s[66:67], v38, 0 // 00000001215C: D1040042 00010126 v_and_b32 v38, 4, v26 // 000000012164: 364C3484 v_add_i32 v37, vcc, v2, v37 // 000000012168: 4A4A4B02 v_add_i32 v39, vcc, -1, v39 // 00000001216C: 4A4E4EC1 v_cndmask_b32 v40, 0, -1, s[66:67] // 000000012170: D2000028 01098280 v_cmp_eq_i32 vcc, 0, v38 // 000000012178: 7D044C80 v_and_b32 v26, 8, v26 // 00000001217C: 36343488 v_lshlrev_b32 v37, 2, v37 // 000000012180: 344A4A82 ds_read_b32 v37, v37 offset:18844 // 000000012184: D8D8499C 25000025 s_waitcnt lgkmcnt(2) // 00000001218C: BF8C027F v_xor_b32 v38, v33, v39 // 000000012190: 3A4C4F21 v_xor_b32 v39, v34, v40 // 000000012194: 3A4E5122 v_cndmask_b32 v40, 0, -1, vcc // 000000012198: D2000028 01A98280 v_cmp_eq_i32 vcc, 0, v26 // 0000000121A0: 7D043480 s_waitcnt lgkmcnt(1) // 0000000121A4: BF8C017F v_xor_b32 v26, v35, v40 // 0000000121A8: 3A345123 v_cndmask_b32 v40, 0, -1, vcc // 0000000121AC: D2000028 01A98280 v_and_b32 v38, v38, v39 // 0000000121B4: 364C4F26 v_xor_b32 v39, v36, v40 // 0000000121B8: 3A4E5124 v_and_b32 v26, v26, v38 // 0000000121BC: 36344D1A v_and_b32 v26, v39, v26 // 0000000121C0: 36343527 v_bfe_u32 v26, v26, 0, v9 // 0000000121C4: D290001A 0425011A s_waitcnt lgkmcnt(0) // 0000000121CC: BF8C007F v_bcnt_u32_b32 v26, v26, v37 // 0000000121D0: 44344B1A label_4875: s_andn2_b64 exec, s[64:65], exec // wrscc // 0000000121D4: 8AFE7E40 v_mov_b32 v34, 0 // 0000000121D8: 7E440280 v_mov_b32 v36, 0 // 0000000121DC: 7E480280 v_mov_b32 v26, 0 // 0000000121E0: 7E340280 v_mov_b32 v62, 0 // 0000000121E4: 7E7C0280 v_mov_b32 v35, 0 // 0000000121E8: 7E460280 v_mov_b32 v33, 0 // 0000000121EC: 7E420280 s_and_b64 exec, s[64:65], s[58:59] // wrscc // 0000000121F0: 87FE3A40 v_add_i32 v26, vcc, v21, v26 // 0000000121F4: 4A343515 buffer_store_dword v25, v26, s[60:63], 0 idxen // 0000000121F8: E0702000 800F191A s_waitcnt vmcnt(0) // 000000012200: BF8C0F70 s_barrier // 000000012204: BF8A0000 s_and_b64 exec, s[64:65], s[18:19] // wrscc // 000000012208: 87FE1240 s_cbranch_execz label_4899 // 00000001220C: BF880015 s_and_saveexec_b64 s[58:59], s[24:25] // wrscc // 000000012210: BEBA2418 s_cbranch_execz label_4899 // 000000012214: BF880013 ds_read_b32 v25, v27 offset:18844 // 000000012218: D8D8499C 1900001B v_xor_b32 v26, v31, v33 // 000000012220: 3A34431F v_cndmask_b32 v33, 0, -1, s[34:35] // 000000012224: D2000021 00898280 v_xor_b32 v33, v33, v34 // 00000001222C: 3A424521 v_and_b32 v26, v26, v33 // 000000012230: 3634431A v_cndmask_b32 v33, 0, -1, s[36:37] // 000000012234: D2000021 00918280 v_xor_b32 v33, v33, v35 // 00000001223C: 3A424721 v_cndmask_b32 v34, 0, -1, s[38:39] // 000000012240: D2000022 00998280 v_xor_b32 v34, v34, v36 // 000000012248: 3A444922 v_and_b32 v26, v26, v33 // 00000001224C: 3634431A v_and_b32 v26, v34, v26 // 000000012250: 36343522 s_waitcnt lgkmcnt(0) // 000000012254: BF8C007F v_bcnt_u32_b32 v25, v26, v25 // 000000012258: 4432331A ds_write_b32 v27, v25 offset:18844 // 00000001225C: D834499C 0000191B label_4899: s_mov_b64 exec, s[20:21] // 000000012264: BEFE0414 s_mov_b64 s[20:21], exec // 000000012268: BE94047E v_mov_b32 v26, 0 // 00000001226C: 7E340280 v_mov_b32 v25, 0 // 000000012270: 7E320280 v_mov_b32 v33, v24 // 000000012274: 7E420318 s_nop 0x0000 // 000000012278: BF800000 s_nop 0x0000 // 00000001227C: BF800000 label_48A0: v_cmp_ge_u32 vcc, v26, v12 // 000000012280: 7D8C191A s_andn2_b64 exec, exec, vcc // wrscc // 000000012284: 8AFE6A7E s_cbranch_execz label_4995 // 000000012288: BF8800F2 s_load_dwordx4 s[60:63], s[0:1], 0x58 // 00000001228C: C09E0158 v_cmp_gt_u32 s[58:59], v23, v33 // 000000012290: D188003A 00024317 v_add_i32 v34, vcc, v21, v33 // 000000012298: 4A444315 v_bfm_b32 v35, 1, v9 // 00000001229C: 3C461281 s_waitcnt lgkmcnt(0) // 0000000122A0: BF8C007F buffer_load_dword v34, v34, s[60:63], 0 idxen // 0000000122A4: E0302000 800F2222 s_waitcnt vmcnt(0) // 0000000122AC: BF8C0F70 v_cndmask_b32 v34, -1, v34, s[58:59] // 0000000122B0: D2000022 00EA44C1 v_bfe_u32 v36, v34, 28, 1 // 0000000122B8: D2900024 02053922 v_cmp_ne_i32 vcc, 0, v36 // 0000000122C0: 7D0A4880 v_cndmask_b32 v36, 0, -1, vcc // 0000000122C4: D2000024 01A98280 v_lshl_b32 v36, v36, v9 // 0000000122CC: 32481324 v_bfi_b32 v36, v35, v36, 0 // 0000000122D0: D2940024 02024923 ds_write_b32 v7, v36 offset:408 // 0000000122D8: D8340198 00002407 v_lshrrev_b32 v34, 28, v34 // 0000000122E0: 2C44449C v_and_b32 v36, 2, v34 // 0000000122E4: 36484482 v_cmp_ne_i32 vcc, 0, v36 // 0000000122E8: 7D0A4880 v_cndmask_b32 v36, 0, -1, vcc // 0000000122EC: D2000024 01A98280 v_lshl_b32 v36, v36, v9 // 0000000122F4: 32481324 v_bfi_b32 v36, v35, v36, 0 // 0000000122F8: D2940024 02024923 ds_write_b32 v30, v36 offset:408 // 000000012300: D8340198 0000241E v_and_b32 v36, 4, v34 // 000000012308: 36484484 v_cmp_ne_i32 vcc, 0, v36 // 00000001230C: 7D0A4880 v_cndmask_b32 v36, 0, -1, vcc // 000000012310: D2000024 01A98280 v_lshl_b32 v36, v36, v9 // 000000012318: 32481324 v_bfi_b32 v36, v35, v36, 0 // 00000001231C: D2940024 02024923 ds_write_b32 v29, v36 offset:408 // 000000012324: D8340198 0000241D v_and_b32 v34, 8, v34 // 00000001232C: 36444488 v_cmp_ne_i32 vcc, 0, v34 // 000000012330: 7D0A4480 v_cndmask_b32 v34, 0, -1, vcc // 000000012334: D2000022 01A98280 v_lshl_b32 v34, v34, v9 // 00000001233C: 32441322 v_bfi_b32 v34, v35, v34, 0 // 000000012340: D2940022 02024523 ds_write_b32 v28, v34 offset:408 // 000000012348: D8340198 0000221C s_waitcnt lgkmcnt(0) // 000000012350: BF8C007F s_barrier // 000000012354: BF8A0000 s_and_saveexec_b64 s[58:59], s[24:25] // wrscc // 000000012358: BEBA2418 s_cbranch_execz label_48F5 // 00000001235C: BF88001D ds_read2_b32 v[34:35], v7 offset0:102 offset1:118 // 000000012360: D8DC7666 22000007 ds_read_b32 v36, v30 offset:408 // 000000012368: D8D80198 2400001E ds_read_b32 v37, v29 offset:408 // 000000012370: D8D80198 2500001D ds_read_b32 v38, v28 offset:408 // 000000012378: D8D80198 2600001C v_add_i32 v39, vcc, 0x000011d8, v7 // 000000012380: 4A4E0EFF 000011D8 ds_read2st64_b32 v[39:40], v39 offset1:16 // 000000012388: D8E01000 27000027 ds_read_b32 v41, v7 offset:12760 // 000000012390: D8D831D8 29000007 s_waitcnt lgkmcnt(5) // 000000012398: BF8C057F v_or_b32 v34, v34, v35 // 00000001239C: 38444722 s_waitcnt lgkmcnt(1) // 0000000123A0: BF8C017F v_or_b32 v35, v36, v39 // 0000000123A4: 38464F24 v_or_b32 v36, v37, v40 // 0000000123A8: 38485125 s_waitcnt lgkmcnt(0) // 0000000123AC: BF8C007F v_or_b32 v37, v38, v41 // 0000000123B0: 384A5326 ds_write_b32 v7, v34 offset:408 // 0000000123B4: D8340198 00002207 ds_write_b32 v30, v35 offset:408 // 0000000123BC: D8340198 0000231E ds_write_b32 v29, v36 offset:408 // 0000000123C4: D8340198 0000241D ds_write_b32 v28, v37 offset:408 // 0000000123CC: D8340198 0000251C label_48F5: s_waitcnt lgkmcnt(0) // 0000000123D4: BF8C007F s_barrier // 0000000123D8: BF8A0000 s_and_b64 exec, s[58:59], s[26:27] // wrscc // 0000000123DC: 87FE1A3A s_cbranch_execz label_4916 // 0000000123E0: BF88001D ds_read2_b32 v[34:35], v7 offset0:102 offset1:110 // 0000000123E4: D8DC6E66 22000007 ds_read_b32 v36, v30 offset:408 // 0000000123EC: D8D80198 2400001E ds_read_b32 v37, v29 offset:408 // 0000000123F4: D8D80198 2500001D ds_read_b32 v38, v28 offset:408 // 0000000123FC: D8D80198 2600001C v_add_i32 v39, vcc, 0x000011b8, v7 // 000000012404: 4A4E0EFF 000011B8 ds_read2st64_b32 v[39:40], v39 offset1:16 // 00000001240C: D8E01000 27000027 ds_read_b32 v41, v7 offset:12728 // 000000012414: D8D831B8 29000007 s_waitcnt lgkmcnt(5) // 00000001241C: BF8C057F v_or_b32 v34, v34, v35 // 000000012420: 38444722 s_waitcnt lgkmcnt(1) // 000000012424: BF8C017F v_or_b32 v35, v36, v39 // 000000012428: 38464F24 v_or_b32 v36, v37, v40 // 00000001242C: 38485125 s_waitcnt lgkmcnt(0) // 000000012430: BF8C007F v_or_b32 v37, v38, v41 // 000000012434: 384A5326 ds_write_b32 v7, v34 offset:408 // 000000012438: D8340198 00002207 ds_write_b32 v30, v35 offset:408 // 000000012440: D8340198 0000231E ds_write_b32 v29, v36 offset:408 // 000000012448: D8340198 0000241D ds_write_b32 v28, v37 offset:408 // 000000012450: D8340198 0000251C label_4916: s_waitcnt lgkmcnt(0) // 000000012458: BF8C007F s_barrier // 00000001245C: BF8A0000 s_and_b64 exec, s[58:59], s[28:29] // wrscc // 000000012460: 87FE1C3A s_cbranch_execz label_4937 // 000000012464: BF88001D ds_read2_b32 v[34:35], v7 offset0:102 offset1:106 // 000000012468: D8DC6A66 22000007 ds_read_b32 v36, v30 offset:408 // 000000012470: D8D80198 2400001E ds_read_b32 v37, v29 offset:408 // 000000012478: D8D80198 2500001D ds_read_b32 v38, v28 offset:408 // 000000012480: D8D80198 2600001C v_add_i32 v39, vcc, 0x000011a8, v7 // 000000012488: 4A4E0EFF 000011A8 ds_read2st64_b32 v[39:40], v39 offset1:16 // 000000012490: D8E01000 27000027 ds_read_b32 v41, v7 offset:12712 // 000000012498: D8D831A8 29000007 s_waitcnt lgkmcnt(5) // 0000000124A0: BF8C057F v_or_b32 v34, v34, v35 // 0000000124A4: 38444722 s_waitcnt lgkmcnt(1) // 0000000124A8: BF8C017F v_or_b32 v35, v36, v39 // 0000000124AC: 38464F24 v_or_b32 v36, v37, v40 // 0000000124B0: 38485125 s_waitcnt lgkmcnt(0) // 0000000124B4: BF8C007F v_or_b32 v37, v38, v41 // 0000000124B8: 384A5326 ds_write_b32 v7, v34 offset:408 // 0000000124BC: D8340198 00002207 ds_write_b32 v30, v35 offset:408 // 0000000124C4: D8340198 0000231E ds_write_b32 v29, v36 offset:408 // 0000000124CC: D8340198 0000241D ds_write_b32 v28, v37 offset:408 // 0000000124D4: D8340198 0000251C label_4937: s_waitcnt lgkmcnt(0) // 0000000124DC: BF8C007F s_barrier // 0000000124E0: BF8A0000 s_and_b64 exec, s[58:59], s[30:31] // wrscc // 0000000124E4: 87FE1E3A s_cbranch_execz label_4958 // 0000000124E8: BF88001D ds_read2_b32 v[34:35], v7 offset0:102 offset1:104 // 0000000124EC: D8DC6866 22000007 ds_read_b32 v36, v30 offset:408 // 0000000124F4: D8D80198 2400001E ds_read_b32 v37, v29 offset:408 // 0000000124FC: D8D80198 2500001D ds_read_b32 v38, v28 offset:408 // 000000012504: D8D80198 2600001C v_add_i32 v39, vcc, 0x000011a0, v7 // 00000001250C: 4A4E0EFF 000011A0 ds_read2st64_b32 v[39:40], v39 offset1:16 // 000000012514: D8E01000 27000027 ds_read_b32 v41, v7 offset:12704 // 00000001251C: D8D831A0 29000007 s_waitcnt lgkmcnt(5) // 000000012524: BF8C057F v_or_b32 v34, v34, v35 // 000000012528: 38444722 s_waitcnt lgkmcnt(1) // 00000001252C: BF8C017F v_or_b32 v35, v36, v39 // 000000012530: 38464F24 v_or_b32 v36, v37, v40 // 000000012534: 38485125 s_waitcnt lgkmcnt(0) // 000000012538: BF8C007F v_or_b32 v37, v38, v41 // 00000001253C: 384A5326 ds_write_b32 v7, v34 offset:408 // 000000012540: D8340198 00002207 ds_write_b32 v30, v35 offset:408 // 000000012548: D8340198 0000231E ds_write_b32 v29, v36 offset:408 // 000000012550: D8340198 0000241D ds_write_b32 v28, v37 offset:408 // 000000012558: D8340198 0000251C label_4958: s_waitcnt lgkmcnt(0) // 000000012560: BF8C007F s_barrier // 000000012564: BF8A0000 s_and_b64 exec, s[58:59], s[32:33] // wrscc // 000000012568: 87FE203A s_cbranch_execz label_4979 // 00000001256C: BF88001D ds_read2_b32 v[34:35], v7 offset0:102 offset1:103 // 000000012570: D8DC6766 22000007 ds_read_b32 v36, v30 offset:408 // 000000012578: D8D80198 2400001E ds_read_b32 v37, v29 offset:408 // 000000012580: D8D80198 2500001D ds_read_b32 v38, v28 offset:408 // 000000012588: D8D80198 2600001C v_add_i32 v39, vcc, 0x0000119c, v7 // 000000012590: 4A4E0EFF 0000119C ds_read2st64_b32 v[39:40], v39 offset1:16 // 000000012598: D8E01000 27000027 ds_read_b32 v41, v7 offset:12700 // 0000000125A0: D8D8319C 29000007 s_waitcnt lgkmcnt(5) // 0000000125A8: BF8C057F v_or_b32 v34, v34, v35 // 0000000125AC: 38444722 s_waitcnt lgkmcnt(1) // 0000000125B0: BF8C017F v_or_b32 v35, v36, v39 // 0000000125B4: 38464F24 v_or_b32 v36, v37, v40 // 0000000125B8: 38485125 s_waitcnt lgkmcnt(0) // 0000000125BC: BF8C007F v_or_b32 v37, v38, v41 // 0000000125C0: 384A5326 ds_write_b32 v7, v34 offset:408 // 0000000125C4: D8340198 00002207 ds_write_b32 v30, v35 offset:408 // 0000000125CC: D8340198 0000231E ds_write_b32 v29, v36 offset:408 // 0000000125D4: D8340198 0000241D ds_write_b32 v28, v37 offset:408 // 0000000125DC: D8340198 0000251C label_4979: s_mov_b64 exec, s[58:59] // 0000000125E4: BEFE043A s_waitcnt lgkmcnt(0) // 0000000125E8: BF8C007F s_barrier // 0000000125EC: BF8A0000 v_add_i32 v34, vcc, 0x00000198, v32 // 0000000125F0: 4A4440FF 00000198 ds_read2st64_b32 v[35:36], v34 offset1:16 // 0000000125F8: D8E01000 23000022 ds_read2st64_b32 v[37:38], v34 offset0:32 offset1:48 // 000000012600: D8E03020 25000022 v_cndmask_b32 v34, 0, -1, s[34:35] // 000000012608: D2000022 00898280 s_waitcnt lgkmcnt(1) // 000000012610: BF8C017F v_xor_b32 v35, v31, v35 // 000000012614: 3A46471F v_xor_b32 v34, v34, v36 // 000000012618: 3A444922 v_cndmask_b32 v36, 0, -1, s[36:37] // 00000001261C: D2000024 00918280 v_and_b32 v34, v35, v34 // 000000012624: 36444523 s_waitcnt lgkmcnt(0) // 000000012628: BF8C007F v_xor_b32 v35, v36, v37 // 00000001262C: 3A464B24 v_cndmask_b32 v36, 0, -1, s[38:39] // 000000012630: D2000024 00998280 v_and_b32 v34, v34, v35 // 000000012638: 36444722 v_xor_b32 v35, v36, v38 // 00000001263C: 3A464D24 v_and_b32 v34, v34, v35 // 000000012640: 36444722 v_bcnt_u32_b32 v25, v34, v25 // 000000012644: 44323322 v_add_i32 v26, vcc, 1, v26 // 000000012648: 4A343481 v_add_i32 v33, vcc, 32, v33 // 00000001264C: 4A4242A0 s_branch label_48A0 // 000000012650: BF82FF0B label_4995: s_mov_b64 exec, s[20:21] // 000000012654: BEFE0414 v_cmp_ne_u32 vcc, 0, v22 // 000000012658: 7D8A2C80 s_and_saveexec_b64 s[20:21], vcc // wrscc // 00000001265C: BE94246A v_add_i32 v26, vcc, v21, v33 // 000000012660: 4A344315 s_cbranch_execz label_4AA1 // 000000012664: BF880107 s_and_saveexec_b64 s[58:59], s[18:19] // wrscc // 000000012668: BEBA2412 s_cbranch_execz label_49CA // 00000001266C: BF88002E s_load_dwordx4 s[60:63], s[0:1], 0x58 // 000000012670: C09E0158 v_cmp_gt_u32 vcc, v23, v33 // 000000012674: 7D884317 v_bfm_b32 v33, 1, v9 // 000000012678: 3C421281 s_waitcnt lgkmcnt(0) // 00000001267C: BF8C007F buffer_load_dword v26, v26, s[60:63], 0 idxen // 000000012680: E0302000 800F1A1A s_waitcnt vmcnt(0) // 000000012688: BF8C0F70 v_cndmask_b32 v26, -1, v26, vcc // 00000001268C: 003434C1 v_bfe_u32 v34, v26, 28, 1 // 000000012690: D2900022 0205391A v_cmp_ne_i32 vcc, 0, v34 // 000000012698: 7D0A4480 v_cndmask_b32 v34, 0, -1, vcc // 00000001269C: D2000022 01A98280 v_lshl_b32 v34, v34, v9 // 0000000126A4: 32441322 v_bfi_b32 v34, v33, v34, 0 // 0000000126A8: D2940022 02024521 ds_write_b32 v7, v34 offset:408 // 0000000126B0: D8340198 00002207 v_lshrrev_b32 v26, 28, v26 // 0000000126B8: 2C34349C v_and_b32 v34, 2, v26 // 0000000126BC: 36443482 v_cmp_ne_i32 vcc, 0, v34 // 0000000126C0: 7D0A4480 v_cndmask_b32 v34, 0, -1, vcc // 0000000126C4: D2000022 01A98280 v_lshl_b32 v34, v34, v9 // 0000000126CC: 32441322 v_bfi_b32 v34, v33, v34, 0 // 0000000126D0: D2940022 02024521 ds_write_b32 v30, v34 offset:408 // 0000000126D8: D8340198 0000221E v_and_b32 v34, 4, v26 // 0000000126E0: 36443484 v_cmp_ne_i32 vcc, 0, v34 // 0000000126E4: 7D0A4480 v_cndmask_b32 v34, 0, -1, vcc // 0000000126E8: D2000022 01A98280 v_lshl_b32 v34, v34, v9 // 0000000126F0: 32441322 v_bfi_b32 v34, v33, v34, 0 // 0000000126F4: D2940022 02024521 ds_write_b32 v29, v34 offset:408 // 0000000126FC: D8340198 0000221D v_and_b32 v26, 8, v26 // 000000012704: 36343488 v_cmp_ne_i32 vcc, 0, v26 // 000000012708: 7D0A3480 v_cndmask_b32 v26, 0, -1, vcc // 00000001270C: D200001A 01A98280 v_lshl_b32 v26, v26, v9 // 000000012714: 3234131A v_bfi_b32 v26, v33, v26, 0 // 000000012718: D294001A 02023521 ds_write_b32 v28, v26 offset:408 // 000000012720: D8340198 00001A1C label_49CA: s_waitcnt lgkmcnt(0) // 000000012728: BF8C007F s_barrier // 00000001272C: BF8A0000 s_and_b64 exec, s[58:59], s[18:19] // wrscc // 000000012730: 87FE123A s_cbranch_execz label_49ED // 000000012734: BF88001F s_and_saveexec_b64 s[60:61], s[24:25] // wrscc // 000000012738: BEBC2418 s_cbranch_execz label_49ED // 00000001273C: BF88001D ds_read2_b32 v[33:34], v7 offset0:102 offset1:118 // 000000012740: D8DC7666 21000007 ds_read_b32 v26, v30 offset:408 // 000000012748: D8D80198 1A00001E ds_read_b32 v35, v29 offset:408 // 000000012750: D8D80198 2300001D ds_read_b32 v36, v28 offset:408 // 000000012758: D8D80198 2400001C v_add_i32 v37, vcc, 0x000011d8, v7 // 000000012760: 4A4A0EFF 000011D8 ds_read2st64_b32 v[37:38], v37 offset1:16 // 000000012768: D8E01000 25000025 ds_read_b32 v39, v7 offset:12760 // 000000012770: D8D831D8 27000007 s_waitcnt lgkmcnt(5) // 000000012778: BF8C057F v_or_b32 v33, v33, v34 // 00000001277C: 38424521 s_waitcnt lgkmcnt(1) // 000000012780: BF8C017F v_or_b32 v26, v26, v37 // 000000012784: 38344B1A v_or_b32 v34, v35, v38 // 000000012788: 38444D23 s_waitcnt lgkmcnt(0) // 00000001278C: BF8C007F v_or_b32 v35, v36, v39 // 000000012790: 38464F24 ds_write_b32 v7, v33 offset:408 // 000000012794: D8340198 00002107 ds_write_b32 v30, v26 offset:408 // 00000001279C: D8340198 00001A1E ds_write_b32 v29, v34 offset:408 // 0000000127A4: D8340198 0000221D ds_write_b32 v28, v35 offset:408 // 0000000127AC: D8340198 0000231C label_49ED: s_waitcnt lgkmcnt(0) // 0000000127B4: BF8C007F s_barrier // 0000000127B8: BF8A0000 s_and_b64 exec, s[58:59], s[18:19] // wrscc // 0000000127BC: 87FE123A s_cbranch_execz label_4A10 // 0000000127C0: BF88001F s_and_saveexec_b64 s[60:61], s[26:27] // wrscc // 0000000127C4: BEBC241A s_cbranch_execz label_4A10 // 0000000127C8: BF88001D ds_read2_b32 v[33:34], v7 offset0:102 offset1:110 // 0000000127CC: D8DC6E66 21000007 ds_read_b32 v26, v30 offset:408 // 0000000127D4: D8D80198 1A00001E ds_read_b32 v35, v29 offset:408 // 0000000127DC: D8D80198 2300001D ds_read_b32 v36, v28 offset:408 // 0000000127E4: D8D80198 2400001C v_add_i32 v37, vcc, 0x000011b8, v7 // 0000000127EC: 4A4A0EFF 000011B8 ds_read2st64_b32 v[37:38], v37 offset1:16 // 0000000127F4: D8E01000 25000025 ds_read_b32 v39, v7 offset:12728 // 0000000127FC: D8D831B8 27000007 s_waitcnt lgkmcnt(5) // 000000012804: BF8C057F v_or_b32 v33, v33, v34 // 000000012808: 38424521 s_waitcnt lgkmcnt(1) // 00000001280C: BF8C017F v_or_b32 v26, v26, v37 // 000000012810: 38344B1A v_or_b32 v34, v35, v38 // 000000012814: 38444D23 s_waitcnt lgkmcnt(0) // 000000012818: BF8C007F v_or_b32 v35, v36, v39 // 00000001281C: 38464F24 ds_write_b32 v7, v33 offset:408 // 000000012820: D8340198 00002107 ds_write_b32 v30, v26 offset:408 // 000000012828: D8340198 00001A1E ds_write_b32 v29, v34 offset:408 // 000000012830: D8340198 0000221D ds_write_b32 v28, v35 offset:408 // 000000012838: D8340198 0000231C label_4A10: s_waitcnt lgkmcnt(0) // 000000012840: BF8C007F s_barrier // 000000012844: BF8A0000 s_and_b64 exec, s[58:59], s[18:19] // wrscc // 000000012848: 87FE123A s_cbranch_execz label_4A33 // 00000001284C: BF88001F s_and_saveexec_b64 s[60:61], s[28:29] // wrscc // 000000012850: BEBC241C s_cbranch_execz label_4A33 // 000000012854: BF88001D ds_read2_b32 v[33:34], v7 offset0:102 offset1:106 // 000000012858: D8DC6A66 21000007 ds_read_b32 v26, v30 offset:408 // 000000012860: D8D80198 1A00001E ds_read_b32 v35, v29 offset:408 // 000000012868: D8D80198 2300001D ds_read_b32 v36, v28 offset:408 // 000000012870: D8D80198 2400001C v_add_i32 v37, vcc, 0x000011a8, v7 // 000000012878: 4A4A0EFF 000011A8 ds_read2st64_b32 v[37:38], v37 offset1:16 // 000000012880: D8E01000 25000025 ds_read_b32 v39, v7 offset:12712 // 000000012888: D8D831A8 27000007 s_waitcnt lgkmcnt(5) // 000000012890: BF8C057F v_or_b32 v33, v33, v34 // 000000012894: 38424521 s_waitcnt lgkmcnt(1) // 000000012898: BF8C017F v_or_b32 v26, v26, v37 // 00000001289C: 38344B1A v_or_b32 v34, v35, v38 // 0000000128A0: 38444D23 s_waitcnt lgkmcnt(0) // 0000000128A4: BF8C007F v_or_b32 v35, v36, v39 // 0000000128A8: 38464F24 ds_write_b32 v7, v33 offset:408 // 0000000128AC: D8340198 00002107 ds_write_b32 v30, v26 offset:408 // 0000000128B4: D8340198 00001A1E ds_write_b32 v29, v34 offset:408 // 0000000128BC: D8340198 0000221D ds_write_b32 v28, v35 offset:408 // 0000000128C4: D8340198 0000231C label_4A33: s_waitcnt lgkmcnt(0) // 0000000128CC: BF8C007F s_barrier // 0000000128D0: BF8A0000 s_and_b64 exec, s[58:59], s[18:19] // wrscc // 0000000128D4: 87FE123A s_cbranch_execz label_4A56 // 0000000128D8: BF88001F s_and_saveexec_b64 s[60:61], s[30:31] // wrscc // 0000000128DC: BEBC241E s_cbranch_execz label_4A56 // 0000000128E0: BF88001D ds_read2_b32 v[33:34], v7 offset0:102 offset1:104 // 0000000128E4: D8DC6866 21000007 ds_read_b32 v26, v30 offset:408 // 0000000128EC: D8D80198 1A00001E ds_read_b32 v35, v29 offset:408 // 0000000128F4: D8D80198 2300001D ds_read_b32 v36, v28 offset:408 // 0000000128FC: D8D80198 2400001C v_add_i32 v37, vcc, 0x000011a0, v7 // 000000012904: 4A4A0EFF 000011A0 ds_read2st64_b32 v[37:38], v37 offset1:16 // 00000001290C: D8E01000 25000025 ds_read_b32 v39, v7 offset:12704 // 000000012914: D8D831A0 27000007 s_waitcnt lgkmcnt(5) // 00000001291C: BF8C057F v_or_b32 v33, v33, v34 // 000000012920: 38424521 s_waitcnt lgkmcnt(1) // 000000012924: BF8C017F v_or_b32 v26, v26, v37 // 000000012928: 38344B1A v_or_b32 v34, v35, v38 // 00000001292C: 38444D23 s_waitcnt lgkmcnt(0) // 000000012930: BF8C007F v_or_b32 v35, v36, v39 // 000000012934: 38464F24 ds_write_b32 v7, v33 offset:408 // 000000012938: D8340198 00002107 ds_write_b32 v30, v26 offset:408 // 000000012940: D8340198 00001A1E ds_write_b32 v29, v34 offset:408 // 000000012948: D8340198 0000221D ds_write_b32 v28, v35 offset:408 // 000000012950: D8340198 0000231C label_4A56: s_waitcnt lgkmcnt(0) // 000000012958: BF8C007F s_barrier // 00000001295C: BF8A0000 s_and_b64 exec, s[58:59], s[18:19] // wrscc // 000000012960: 87FE123A s_cbranch_execz label_4A79 // 000000012964: BF88001F s_and_saveexec_b64 s[60:61], s[32:33] // wrscc // 000000012968: BEBC2420 s_cbranch_execz label_4A79 // 00000001296C: BF88001D ds_read2_b32 v[33:34], v7 offset0:102 offset1:103 // 000000012970: D8DC6766 21000007 ds_read_b32 v26, v30 offset:408 // 000000012978: D8D80198 1A00001E ds_read_b32 v35, v29 offset:408 // 000000012980: D8D80198 2300001D ds_read_b32 v36, v28 offset:408 // 000000012988: D8D80198 2400001C v_add_i32 v37, vcc, 0x0000119c, v7 // 000000012990: 4A4A0EFF 0000119C ds_read2st64_b32 v[37:38], v37 offset1:16 // 000000012998: D8E01000 25000025 ds_read_b32 v39, v7 offset:12700 // 0000000129A0: D8D8319C 27000007 s_waitcnt lgkmcnt(5) // 0000000129A8: BF8C057F v_or_b32 v33, v33, v34 // 0000000129AC: 38424521 s_waitcnt lgkmcnt(1) // 0000000129B0: BF8C017F v_or_b32 v26, v26, v37 // 0000000129B4: 38344B1A v_or_b32 v34, v35, v38 // 0000000129B8: 38444D23 s_waitcnt lgkmcnt(0) // 0000000129BC: BF8C007F v_or_b32 v35, v36, v39 // 0000000129C0: 38464F24 ds_write_b32 v7, v33 offset:408 // 0000000129C4: D8340198 00002107 ds_write_b32 v30, v26 offset:408 // 0000000129CC: D8340198 00001A1E ds_write_b32 v29, v34 offset:408 // 0000000129D4: D8340198 0000221D ds_write_b32 v28, v35 offset:408 // 0000000129DC: D8340198 0000231C label_4A79: s_waitcnt lgkmcnt(0) // 0000000129E4: BF8C007F s_barrier // 0000000129E8: BF8A0000 s_and_b64 exec, s[58:59], s[18:19] // wrscc // 0000000129EC: 87FE123A v_add_i32 v26, vcc, 0x00000198, v32 // 0000000129F0: 4A3440FF 00000198 ds_read2st64_b32 v[33:34], v26 offset1:16 // 0000000129F8: D8E01000 2100001A ds_read2st64_b32 v[35:36], v26 offset0:32 offset1:48 // 000000012A00: D8E03020 2300001A s_waitcnt lgkmcnt(1) // 000000012A08: BF8C017F v_mov_b32 v26, v33 // 000000012A0C: 7E340321 v_mov_b32 v33, v34 // 000000012A10: 7E420322 s_waitcnt lgkmcnt(0) // 000000012A14: BF8C007F v_mov_b32 v34, v35 // 000000012A18: 7E440323 v_mov_b32 v35, v36 // 000000012A1C: 7E460324 s_andn2_b64 exec, s[58:59], exec // wrscc // 000000012A20: 8AFE7E3A v_mov_b32 v35, 0 // 000000012A24: 7E460280 v_mov_b32 v26, 0 // 000000012A28: 7E340280 v_mov_b32 v62, 0 // 000000012A2C: 7E7C0280 v_mov_b32 v34, 0 // 000000012A30: 7E440280 v_mov_b32 v33, 0 // 000000012A34: 7E420280 s_mov_b64 exec, s[58:59] // 000000012A38: BEFE043A v_xor_b32 v26, v31, v26 // 000000012A3C: 3A34351F v_cndmask_b32 v36, 0, -1, s[34:35] // 000000012A40: D2000024 00898280 v_xor_b32 v33, v36, v33 // 000000012A48: 3A424324 v_and_b32 v26, v26, v33 // 000000012A4C: 3634431A v_cndmask_b32 v33, 0, -1, s[36:37] // 000000012A50: D2000021 00918280 v_xor_b32 v33, v33, v34 // 000000012A58: 3A424521 v_cndmask_b32 v34, 0, -1, s[38:39] // 000000012A5C: D2000022 00998280 v_xor_b32 v34, v34, v35 // 000000012A64: 3A444722 v_and_b32 v26, v26, v33 // 000000012A68: 3634431A v_and_b32 v26, v34, v26 // 000000012A6C: 36343522 v_bcnt_u32_b32 v26, v26, 0 // 000000012A70: D244001A 0001011A v_cndmask_b32 v26, 0, v26, s[18:19] // 000000012A78: D200001A 004A3480 v_add_i32 v25, vcc, v25, v26 // 000000012A80: 4A323519 label_4AA1: s_and_b64 exec, s[20:21], s[24:25] // wrscc // 000000012A84: 87FE1814 ds_write_b32 v27, v25 offset:16796 // 000000012A88: D834419C 0000191B s_mov_b64 exec, s[20:21] // 000000012A90: BEFE0414 s_waitcnt lgkmcnt(0) // 000000012A94: BF8C007F s_barrier // 000000012A98: BF8A0000 v_cmp_eq_u32 vcc, 0, v9 // 000000012A9C: 7D841280 s_and_b64 exec, s[20:21], vcc // wrscc // 000000012AA0: 87FE6A14 v_mov_b32 v25, 0 // 000000012AA4: 7E320280 ds_write_b32 v25, v25 offset:16792 // 000000012AA8: D8344198 00001919 ds_write_b32 v25, v25 offset:18844 // 000000012AB0: D834499C 00001919 s_and_b64 exec, s[20:21], s[22:23] // wrscc // 000000012AB8: 87FE1614 s_cbranch_execz label_4AC0 // 000000012ABC: BF880010 s_and_saveexec_b64 s[40:41], s[40:41] // wrscc // 000000012AC0: BEA82428 v_add_i32 v25, vcc, 0x00004198, v7 // 000000012AC4: 4A320EFF 00004198 ds_read2_b32 v[25:26], v25 offset0:1 // 000000012ACC: D8DC0001 19000019 s_waitcnt lgkmcnt(0) // 000000012AD4: BF8C007F v_add_i32 v25, vcc, v25, v26 // 000000012AD8: 4A323519 ds_write_b32 v7, v25 offset:18848 // 000000012ADC: D83449A0 00001907 s_andn2_b64 exec, s[40:41], exec // wrscc // 000000012AE4: 8AFE7E28 v_mov_b32 v25, 0 // 000000012AE8: 7E320280 ds_read_b32 v26, v25 offset:16796 // 000000012AEC: D8D8419C 1A000019 s_waitcnt lgkmcnt(0) // 000000012AF4: BF8C007F ds_write_b32 v25, v26 offset:18848 // 000000012AF8: D83449A0 00001A19 label_4AC0: s_waitcnt lgkmcnt(0) // 000000012B00: BF8C007F s_barrier // 000000012B04: BF8A0000 s_and_b64 exec, s[20:21], s[22:23] // wrscc // 000000012B08: 87FE1614 s_cbranch_execz label_4AD2 // 000000012B0C: BF88000E s_and_saveexec_b64 s[40:41], s[42:43] // wrscc // 000000012B10: BEA8242A v_add_i32 v25, vcc, 0x00004998, v7 // 000000012B14: 4A320EFF 00004998 ds_read2_b32 v[25:26], v25 offset0:2 // 000000012B1C: D8DC0002 19000019 s_waitcnt lgkmcnt(0) // 000000012B24: BF8C007F v_add_i32 v25, vcc, v25, v26 // 000000012B28: 4A323519 s_andn2_b64 exec, s[40:41], exec // wrscc // 000000012B2C: 8AFE7E28 ds_read_b32 v25, v7 offset:18848 // 000000012B30: D8D849A0 19000007 s_mov_b64 exec, s[40:41] // 000000012B38: BEFE0428 s_waitcnt lgkmcnt(0) // 000000012B3C: BF8C007F ds_write_b32 v7, v25 offset:16796 // 000000012B40: D834419C 00001907 label_4AD2: s_waitcnt lgkmcnt(0) // 000000012B48: BF8C007F s_barrier // 000000012B4C: BF8A0000 s_and_b64 exec, s[20:21], s[22:23] // wrscc // 000000012B50: 87FE1614 s_cbranch_execz label_4AE4 // 000000012B54: BF88000E s_and_saveexec_b64 s[40:41], s[44:45] // wrscc // 000000012B58: BEA8242C v_add_i32 v25, vcc, 0x0000418c, v7 // 000000012B5C: 4A320EFF 0000418C ds_read2_b32 v[25:26], v25 offset0:4 // 000000012B64: D8DC0004 19000019 s_waitcnt lgkmcnt(0) // 000000012B6C: BF8C007F v_add_i32 v25, vcc, v25, v26 // 000000012B70: 4A323519 s_andn2_b64 exec, s[40:41], exec // wrscc // 000000012B74: 8AFE7E28 ds_read_b32 v25, v7 offset:16796 // 000000012B78: D8D8419C 19000007 s_mov_b64 exec, s[40:41] // 000000012B80: BEFE0428 s_waitcnt lgkmcnt(0) // 000000012B84: BF8C007F ds_write_b32 v7, v25 offset:18848 // 000000012B88: D83449A0 00001907 label_4AE4: s_waitcnt lgkmcnt(0) // 000000012B90: BF8C007F s_barrier // 000000012B94: BF8A0000 s_and_b64 exec, s[20:21], s[22:23] // wrscc // 000000012B98: 87FE1614 s_cbranch_execz label_4AF6 // 000000012B9C: BF88000E s_and_saveexec_b64 s[40:41], s[46:47] // wrscc // 000000012BA0: BEA8242E v_add_i32 v25, vcc, 0x00004980, v7 // 000000012BA4: 4A320EFF 00004980 ds_read2_b32 v[25:26], v25 offset0:8 // 000000012BAC: D8DC0008 19000019 s_waitcnt lgkmcnt(0) // 000000012BB4: BF8C007F v_add_i32 v25, vcc, v25, v26 // 000000012BB8: 4A323519 s_andn2_b64 exec, s[40:41], exec // wrscc // 000000012BBC: 8AFE7E28 ds_read_b32 v25, v7 offset:18848 // 000000012BC0: D8D849A0 19000007 s_mov_b64 exec, s[40:41] // 000000012BC8: BEFE0428 s_waitcnt lgkmcnt(0) // 000000012BCC: BF8C007F ds_write_b32 v7, v25 offset:16796 // 000000012BD0: D834419C 00001907 label_4AF6: s_waitcnt lgkmcnt(0) // 000000012BD8: BF8C007F s_barrier // 000000012BDC: BF8A0000 s_and_b64 exec, s[20:21], s[22:23] // wrscc // 000000012BE0: 87FE1614 s_cbranch_execz label_4B08 // 000000012BE4: BF88000E s_and_saveexec_b64 s[40:41], s[48:49] // wrscc // 000000012BE8: BEA82430 v_add_i32 v25, vcc, 0x0000415c, v7 // 000000012BEC: 4A320EFF 0000415C ds_read2_b32 v[25:26], v25 offset0:16 // 000000012BF4: D8DC0010 19000019 s_waitcnt lgkmcnt(0) // 000000012BFC: BF8C007F v_add_i32 v25, vcc, v25, v26 // 000000012C00: 4A323519 s_andn2_b64 exec, s[40:41], exec // wrscc // 000000012C04: 8AFE7E28 ds_read_b32 v25, v7 offset:16796 // 000000012C08: D8D8419C 19000007 s_mov_b64 exec, s[40:41] // 000000012C10: BEFE0428 s_waitcnt lgkmcnt(0) // 000000012C14: BF8C007F ds_write_b32 v7, v25 offset:18848 // 000000012C18: D83449A0 00001907 label_4B08: s_waitcnt lgkmcnt(0) // 000000012C20: BF8C007F s_barrier // 000000012C24: BF8A0000 s_and_b64 exec, s[20:21], s[22:23] // wrscc // 000000012C28: 87FE1614 s_cbranch_execz label_4B1A // 000000012C2C: BF88000E s_and_saveexec_b64 s[40:41], s[50:51] // wrscc // 000000012C30: BEA82432 v_add_i32 v25, vcc, 0x00004920, v7 // 000000012C34: 4A320EFF 00004920 ds_read2_b32 v[25:26], v25 offset0:32 // 000000012C3C: D8DC0020 19000019 s_waitcnt lgkmcnt(0) // 000000012C44: BF8C007F v_add_i32 v25, vcc, v25, v26 // 000000012C48: 4A323519 s_andn2_b64 exec, s[40:41], exec // wrscc // 000000012C4C: 8AFE7E28 ds_read_b32 v25, v7 offset:18848 // 000000012C50: D8D849A0 19000007 s_mov_b64 exec, s[40:41] // 000000012C58: BEFE0428 s_waitcnt lgkmcnt(0) // 000000012C5C: BF8C007F ds_write_b32 v7, v25 offset:16796 // 000000012C60: D834419C 00001907 label_4B1A: s_waitcnt lgkmcnt(0) // 000000012C68: BF8C007F s_barrier // 000000012C6C: BF8A0000 s_and_b64 exec, s[20:21], s[22:23] // wrscc // 000000012C70: 87FE1614 s_cbranch_execz label_4B2C // 000000012C74: BF88000E s_and_saveexec_b64 s[40:41], s[52:53] // wrscc // 000000012C78: BEA82434 v_add_i32 v25, vcc, 0x0000409c, v7 // 000000012C7C: 4A320EFF 0000409C ds_read2_b32 v[25:26], v25 offset0:64 // 000000012C84: D8DC0040 19000019 s_waitcnt lgkmcnt(0) // 000000012C8C: BF8C007F v_add_i32 v25, vcc, v25, v26 // 000000012C90: 4A323519 s_andn2_b64 exec, s[40:41], exec // wrscc // 000000012C94: 8AFE7E28 ds_read_b32 v25, v7 offset:16796 // 000000012C98: D8D8419C 19000007 s_mov_b64 exec, s[40:41] // 000000012CA0: BEFE0428 s_waitcnt lgkmcnt(0) // 000000012CA4: BF8C007F ds_write_b32 v7, v25 offset:18848 // 000000012CA8: D83449A0 00001907 label_4B2C: s_waitcnt lgkmcnt(0) // 000000012CB0: BF8C007F s_barrier // 000000012CB4: BF8A0000 s_and_b64 exec, s[20:21], s[22:23] // wrscc // 000000012CB8: 87FE1614 s_cbranch_execz label_4B3E // 000000012CBC: BF88000E s_and_saveexec_b64 s[40:41], s[54:55] // wrscc // 000000012CC0: BEA82436 v_add_i32 v25, vcc, 0x000047a0, v7 // 000000012CC4: 4A320EFF 000047A0 ds_read2_b32 v[25:26], v25 offset0:128 // 000000012CCC: D8DC0080 19000019 s_waitcnt lgkmcnt(0) // 000000012CD4: BF8C007F v_add_i32 v25, vcc, v25, v26 // 000000012CD8: 4A323519 s_andn2_b64 exec, s[40:41], exec // wrscc // 000000012CDC: 8AFE7E28 ds_read_b32 v25, v7 offset:18848 // 000000012CE0: D8D849A0 19000007 s_mov_b64 exec, s[40:41] // 000000012CE8: BEFE0428 s_waitcnt lgkmcnt(0) // 000000012CEC: BF8C007F ds_write_b32 v7, v25 offset:16796 // 000000012CF0: D834419C 00001907 label_4B3E: s_waitcnt lgkmcnt(0) // 000000012CF8: BF8C007F s_barrier // 000000012CFC: BF8A0000 s_and_b64 exec, s[20:21], s[22:23] // wrscc // 000000012D00: 87FE1614 s_cbranch_execz label_4B50 // 000000012D04: BF88000E s_and_saveexec_b64 s[22:23], s[56:57] // wrscc // 000000012D08: BE962438 v_add_i32 v25, vcc, 0x00003d9c, v7 // 000000012D0C: 4A320EFF 00003D9C ds_read2st64_b32 v[25:26], v25 offset0:4 // 000000012D14: D8E00004 19000019 s_waitcnt lgkmcnt(0) // 000000012D1C: BF8C007F v_add_i32 v25, vcc, v25, v26 // 000000012D20: 4A323519 s_andn2_b64 exec, s[22:23], exec // wrscc // 000000012D24: 8AFE7E16 ds_read_b32 v25, v7 offset:16796 // 000000012D28: D8D8419C 19000007 s_mov_b64 exec, s[22:23] // 000000012D30: BEFE0416 s_waitcnt lgkmcnt(0) // 000000012D34: BF8C007F ds_write_b32 v7, v25 offset:18848 // 000000012D38: D83449A0 00001907 label_4B50: s_mov_b64 exec, s[20:21] // 000000012D40: BEFE0414 s_waitcnt lgkmcnt(0) // 000000012D44: BF8C007F s_barrier // 000000012D48: BF8A0000 s_mov_b64 s[20:21], exec // 000000012D4C: BE94047E v_mov_b32 v62, 0 // 000000012D50: 7E7C0280 v_mov_b32 v25, v24 // 000000012D54: 7E320318 v_mov_b32 v24, 0 // 000000012D58: 7E300280 s_nop 0x0000 // 000000012D5C: BF800000 s_nop 0x0000 // 000000012D60: BF800000 s_nop 0x0000 // 000000012D64: BF800000 label_4B5A: v_cmp_ge_u32 vcc, v24, v12 // 000000012D68: 7D8C1918 s_andn2_b64 exec, exec, vcc // wrscc // 000000012D6C: 8AFE6A7E s_cbranch_execz label_4C7B // 000000012D70: BF88011E s_load_dwordx4 s[40:43], s[0:1], 0x58 // 000000012D74: C0940158 v_cmp_gt_u32 s[22:23], v23, v25 // 000000012D78: D1880016 00023317 v_add_i32 v26, vcc, v21, v25 // 000000012D80: 4A343315 v_bfm_b32 v33, 1, v9 // 000000012D84: 3C421281 s_waitcnt lgkmcnt(0) // 000000012D88: BF8C007F buffer_load_dword v26, v26, s[40:43], 0 idxen // 000000012D8C: E0302000 800A1A1A s_waitcnt vmcnt(0) // 000000012D94: BF8C0F70 v_cndmask_b32 v26, -1, v26, s[22:23] // 000000012D98: D200001A 005A34C1 v_bfe_u32 v34, v26, 28, 1 // 000000012DA0: D2900022 0205391A v_lshrrev_b32 v35, 28, v26 // 000000012DA8: 2C46349C v_and_b32 v36, 2, v35 // 000000012DAC: 36484682 v_and_b32 v37, 4, v35 // 000000012DB0: 364A4684 v_and_b32 v35, 8, v35 // 000000012DB4: 36464688 v_cmp_ne_i32 vcc, 0, v34 // 000000012DB8: 7D0A4480 v_cndmask_b32 v38, 0, -1, vcc // 000000012DBC: D2000026 01A98280 v_lshl_b32 v38, v38, v9 // 000000012DC4: 324C1326 v_bfi_b32 v38, v33, v38, 0 // 000000012DC8: D2940026 02024D21 ds_write_b32 v7, v38 offset:408 // 000000012DD0: D8340198 00002607 v_cmp_ne_i32 vcc, 0, v36 // 000000012DD8: 7D0A4880 v_cndmask_b32 v38, 0, -1, vcc // 000000012DDC: D2000026 01A98280 v_lshl_b32 v38, v38, v9 // 000000012DE4: 324C1326 v_bfi_b32 v38, v33, v38, 0 // 000000012DE8: D2940026 02024D21 ds_write_b32 v30, v38 offset:408 // 000000012DF0: D8340198 0000261E v_cmp_ne_i32 vcc, 0, v37 // 000000012DF8: 7D0A4A80 v_cndmask_b32 v38, 0, -1, vcc // 000000012DFC: D2000026 01A98280 v_lshl_b32 v38, v38, v9 // 000000012E04: 324C1326 v_bfi_b32 v38, v33, v38, 0 // 000000012E08: D2940026 02024D21 ds_write_b32 v29, v38 offset:408 // 000000012E10: D8340198 0000261D v_cmp_ne_i32 vcc, 0, v35 // 000000012E18: 7D0A4680 v_cndmask_b32 v38, 0, -1, vcc // 000000012E1C: D2000026 01A98280 v_lshl_b32 v38, v38, v9 // 000000012E24: 324C1326 v_bfi_b32 v33, v33, v38, 0 // 000000012E28: D2940021 02024D21 ds_write_b32 v28, v33 offset:408 // 000000012E30: D8340198 0000211C s_waitcnt lgkmcnt(0) // 000000012E38: BF8C007F s_barrier // 000000012E3C: BF8A0000 s_and_saveexec_b64 s[44:45], s[24:25] // wrscc // 000000012E40: BEAC2418 s_cbranch_execz label_4BAF // 000000012E44: BF88001D ds_read2_b32 v[38:39], v7 offset0:102 offset1:118 // 000000012E48: D8DC7666 26000007 ds_read_b32 v33, v30 offset:408 // 000000012E50: D8D80198 2100001E ds_read_b32 v40, v29 offset:408 // 000000012E58: D8D80198 2800001D ds_read_b32 v41, v28 offset:408 // 000000012E60: D8D80198 2900001C v_add_i32 v42, vcc, 0x000011d8, v7 // 000000012E68: 4A540EFF 000011D8 ds_read2st64_b32 v[42:43], v42 offset1:16 // 000000012E70: D8E01000 2A00002A ds_read_b32 v44, v7 offset:12760 // 000000012E78: D8D831D8 2C000007 s_waitcnt lgkmcnt(5) // 000000012E80: BF8C057F v_or_b32 v38, v38, v39 // 000000012E84: 384C4F26 s_waitcnt lgkmcnt(1) // 000000012E88: BF8C017F v_or_b32 v33, v33, v42 // 000000012E8C: 38425521 v_or_b32 v39, v40, v43 // 000000012E90: 384E5728 s_waitcnt lgkmcnt(0) // 000000012E94: BF8C007F v_or_b32 v40, v41, v44 // 000000012E98: 38505929 ds_write_b32 v7, v38 offset:408 // 000000012E9C: D8340198 00002607 ds_write_b32 v30, v33 offset:408 // 000000012EA4: D8340198 0000211E ds_write_b32 v29, v39 offset:408 // 000000012EAC: D8340198 0000271D ds_write_b32 v28, v40 offset:408 // 000000012EB4: D8340198 0000281C label_4BAF: s_waitcnt lgkmcnt(0) // 000000012EBC: BF8C007F s_barrier // 000000012EC0: BF8A0000 s_and_b64 exec, s[44:45], s[26:27] // wrscc // 000000012EC4: 87FE1A2C s_cbranch_execz label_4BD0 // 000000012EC8: BF88001D ds_read2_b32 v[38:39], v7 offset0:102 offset1:110 // 000000012ECC: D8DC6E66 26000007 ds_read_b32 v33, v30 offset:408 // 000000012ED4: D8D80198 2100001E ds_read_b32 v40, v29 offset:408 // 000000012EDC: D8D80198 2800001D ds_read_b32 v41, v28 offset:408 // 000000012EE4: D8D80198 2900001C v_add_i32 v42, vcc, 0x000011b8, v7 // 000000012EEC: 4A540EFF 000011B8 ds_read2st64_b32 v[42:43], v42 offset1:16 // 000000012EF4: D8E01000 2A00002A ds_read_b32 v44, v7 offset:12728 // 000000012EFC: D8D831B8 2C000007 s_waitcnt lgkmcnt(5) // 000000012F04: BF8C057F v_or_b32 v38, v38, v39 // 000000012F08: 384C4F26 s_waitcnt lgkmcnt(1) // 000000012F0C: BF8C017F v_or_b32 v33, v33, v42 // 000000012F10: 38425521 v_or_b32 v39, v40, v43 // 000000012F14: 384E5728 s_waitcnt lgkmcnt(0) // 000000012F18: BF8C007F v_or_b32 v40, v41, v44 // 000000012F1C: 38505929 ds_write_b32 v7, v38 offset:408 // 000000012F20: D8340198 00002607 ds_write_b32 v30, v33 offset:408 // 000000012F28: D8340198 0000211E ds_write_b32 v29, v39 offset:408 // 000000012F30: D8340198 0000271D ds_write_b32 v28, v40 offset:408 // 000000012F38: D8340198 0000281C label_4BD0: s_waitcnt lgkmcnt(0) // 000000012F40: BF8C007F s_barrier // 000000012F44: BF8A0000 s_and_b64 exec, s[44:45], s[28:29] // wrscc // 000000012F48: 87FE1C2C s_cbranch_execz label_4BF1 // 000000012F4C: BF88001D ds_read2_b32 v[38:39], v7 offset0:102 offset1:106 // 000000012F50: D8DC6A66 26000007 ds_read_b32 v33, v30 offset:408 // 000000012F58: D8D80198 2100001E ds_read_b32 v40, v29 offset:408 // 000000012F60: D8D80198 2800001D ds_read_b32 v41, v28 offset:408 // 000000012F68: D8D80198 2900001C v_add_i32 v42, vcc, 0x000011a8, v7 // 000000012F70: 4A540EFF 000011A8 ds_read2st64_b32 v[42:43], v42 offset1:16 // 000000012F78: D8E01000 2A00002A ds_read_b32 v44, v7 offset:12712 // 000000012F80: D8D831A8 2C000007 s_waitcnt lgkmcnt(5) // 000000012F88: BF8C057F v_or_b32 v38, v38, v39 // 000000012F8C: 384C4F26 s_waitcnt lgkmcnt(1) // 000000012F90: BF8C017F v_or_b32 v33, v33, v42 // 000000012F94: 38425521 v_or_b32 v39, v40, v43 // 000000012F98: 384E5728 s_waitcnt lgkmcnt(0) // 000000012F9C: BF8C007F v_or_b32 v40, v41, v44 // 000000012FA0: 38505929 ds_write_b32 v7, v38 offset:408 // 000000012FA4: D8340198 00002607 ds_write_b32 v30, v33 offset:408 // 000000012FAC: D8340198 0000211E ds_write_b32 v29, v39 offset:408 // 000000012FB4: D8340198 0000271D ds_write_b32 v28, v40 offset:408 // 000000012FBC: D8340198 0000281C label_4BF1: s_waitcnt lgkmcnt(0) // 000000012FC4: BF8C007F s_barrier // 000000012FC8: BF8A0000 s_and_b64 exec, s[44:45], s[30:31] // wrscc // 000000012FCC: 87FE1E2C s_cbranch_execz label_4C12 // 000000012FD0: BF88001D ds_read2_b32 v[38:39], v7 offset0:102 offset1:104 // 000000012FD4: D8DC6866 26000007 ds_read_b32 v33, v30 offset:408 // 000000012FDC: D8D80198 2100001E ds_read_b32 v40, v29 offset:408 // 000000012FE4: D8D80198 2800001D ds_read_b32 v41, v28 offset:408 // 000000012FEC: D8D80198 2900001C v_add_i32 v42, vcc, 0x000011a0, v7 // 000000012FF4: 4A540EFF 000011A0 ds_read2st64_b32 v[42:43], v42 offset1:16 // 000000012FFC: D8E01000 2A00002A ds_read_b32 v44, v7 offset:12704 // 000000013004: D8D831A0 2C000007 s_waitcnt lgkmcnt(5) // 00000001300C: BF8C057F v_or_b32 v38, v38, v39 // 000000013010: 384C4F26 s_waitcnt lgkmcnt(1) // 000000013014: BF8C017F v_or_b32 v33, v33, v42 // 000000013018: 38425521 v_or_b32 v39, v40, v43 // 00000001301C: 384E5728 s_waitcnt lgkmcnt(0) // 000000013020: BF8C007F v_or_b32 v40, v41, v44 // 000000013024: 38505929 ds_write_b32 v7, v38 offset:408 // 000000013028: D8340198 00002607 ds_write_b32 v30, v33 offset:408 // 000000013030: D8340198 0000211E ds_write_b32 v29, v39 offset:408 // 000000013038: D8340198 0000271D ds_write_b32 v28, v40 offset:408 // 000000013040: D8340198 0000281C label_4C12: s_waitcnt lgkmcnt(0) // 000000013048: BF8C007F s_barrier // 00000001304C: BF8A0000 s_and_b64 exec, s[44:45], s[32:33] // wrscc // 000000013050: 87FE202C s_cbranch_execz label_4C33 // 000000013054: BF88001D ds_read2_b32 v[38:39], v7 offset0:102 offset1:103 // 000000013058: D8DC6766 26000007 ds_read_b32 v33, v30 offset:408 // 000000013060: D8D80198 2100001E ds_read_b32 v40, v29 offset:408 // 000000013068: D8D80198 2800001D ds_read_b32 v41, v28 offset:408 // 000000013070: D8D80198 2900001C v_add_i32 v42, vcc, 0x0000119c, v7 // 000000013078: 4A540EFF 0000119C ds_read2st64_b32 v[42:43], v42 offset1:16 // 000000013080: D8E01000 2A00002A ds_read_b32 v44, v7 offset:12700 // 000000013088: D8D8319C 2C000007 s_waitcnt lgkmcnt(5) // 000000013090: BF8C057F v_or_b32 v38, v38, v39 // 000000013094: 384C4F26 s_waitcnt lgkmcnt(1) // 000000013098: BF8C017F v_or_b32 v33, v33, v42 // 00000001309C: 38425521 v_or_b32 v39, v40, v43 // 0000000130A0: 384E5728 s_waitcnt lgkmcnt(0) // 0000000130A4: BF8C007F v_or_b32 v40, v41, v44 // 0000000130A8: 38505929 ds_write_b32 v7, v38 offset:408 // 0000000130AC: D8340198 00002607 ds_write_b32 v30, v33 offset:408 // 0000000130B4: D8340198 0000211E ds_write_b32 v29, v39 offset:408 // 0000000130BC: D8340198 0000271D ds_write_b32 v28, v40 offset:408 // 0000000130C4: D8340198 0000281C label_4C33: s_mov_b64 exec, s[44:45] // 0000000130CC: BEFE042C s_waitcnt lgkmcnt(0) // 0000000130D0: BF8C007F s_barrier // 0000000130D4: BF8A0000 v_add_i32 v33, vcc, 0x00000198, v32 // 0000000130D8: 4A4240FF 00000198 ds_read2st64_b32 v[38:39], v33 offset1:16 // 0000000130E0: D8E01000 26000021 ds_read2st64_b32 v[40:41], v33 offset0:32 offset1:48 // 0000000130E8: D8E03020 28000021 v_lshrrev_b32 v33, 23, v26 // 0000000130F0: 2C423497 s_movk_i32 s3, 0x01e0 // 0000000130F4: B00301E0 v_bfi_b32 v33, s3, v33, 0 // 0000000130F8: D2940021 02024203 v_add_i32 v33, vcc, v2, v33 // 000000013100: 4A424302 v_lshlrev_b32 v33, 2, v33 // 000000013104: 34424282 ds_read_b32 v33, v33 offset:18844 // 000000013108: D8D8499C 21000021 s_and_saveexec_b64 s[22:23], s[22:23] // wrscc // 000000013110: BE962416 v_add_i32 v34, vcc, -1, v34 // 000000013114: 4A4444C1 s_cbranch_execz label_4C60 // 000000013118: BF880019 s_waitcnt lgkmcnt(2) // 00000001311C: BF8C027F v_xor_b32 v34, v38, v34 // 000000013120: 3A444526 v_cmp_eq_i32 vcc, 0, v36 // 000000013124: 7D044880 v_cndmask_b32 v36, 0, -1, vcc // 000000013128: D2000024 01A98280 v_xor_b32 v36, v39, v36 // 000000013130: 3A484927 v_and_b32 v34, v34, v36 // 000000013134: 36444922 v_cmp_eq_i32 vcc, 0, v37 // 000000013138: 7D044A80 v_cndmask_b32 v36, 0, -1, vcc // 00000001313C: D2000024 01A98280 s_waitcnt lgkmcnt(1) // 000000013144: BF8C017F v_xor_b32 v36, v40, v36 // 000000013148: 3A484928 v_and_b32 v34, v34, v36 // 00000001314C: 36444922 v_cmp_eq_i32 vcc, 0, v35 // 000000013150: 7D044680 v_cndmask_b32 v35, 0, -1, vcc // 000000013154: D2000023 01A98280 v_xor_b32 v35, v41, v35 // 00000001315C: 3A464729 v_and_b32 v34, v34, v35 // 000000013160: 36444722 v_bfe_u32 v34, v34, 0, v9 // 000000013164: D2900022 04250122 s_waitcnt lgkmcnt(0) // 00000001316C: BF8C007F v_bcnt_u32_b32 v33, v34, v33 // 000000013170: 44424322 v_add_i32 v33, vcc, v13, v33 // 000000013174: 4A42430D buffer_store_dword v26, v33, s[40:43], 0 idxen // 000000013178: E0702000 800A1A21 label_4C60: s_waitcnt vmcnt(0) & lgkmcnt(0) // 000000013180: BF8C0070 s_barrier // 000000013184: BF8A0000 s_and_b64 exec, s[22:23], s[24:25] // wrscc // 000000013188: 87FE1816 s_cbranch_execz label_4C77 // 00000001318C: BF880013 ds_read_b32 v26, v27 offset:18844 // 000000013190: D8D8499C 1A00001B v_xor_b32 v33, v31, v38 // 000000013198: 3A424D1F v_cndmask_b32 v34, 0, -1, s[34:35] // 00000001319C: D2000022 00898280 v_xor_b32 v34, v34, v39 // 0000000131A4: 3A444F22 v_and_b32 v33, v33, v34 // 0000000131A8: 36424521 v_cndmask_b32 v34, 0, -1, s[36:37] // 0000000131AC: D2000022 00918280 v_xor_b32 v34, v34, v40 // 0000000131B4: 3A445122 v_and_b32 v33, v33, v34 // 0000000131B8: 36424521 v_cndmask_b32 v34, 0, -1, s[38:39] // 0000000131BC: D2000022 00998280 v_xor_b32 v34, v34, v41 // 0000000131C4: 3A445322 v_and_b32 v33, v33, v34 // 0000000131C8: 36424521 s_waitcnt lgkmcnt(0) // 0000000131CC: BF8C007F v_bcnt_u32_b32 v26, v33, v26 // 0000000131D0: 44343521 ds_write_b32 v27, v26 offset:18844 // 0000000131D4: D834499C 00001A1B label_4C77: s_mov_b64 exec, s[22:23] // 0000000131DC: BEFE0416 v_add_i32 v24, vcc, 1, v24 // 0000000131E0: 4A303081 v_add_i32 v25, vcc, 32, v25 // 0000000131E4: 4A3232A0 s_branch label_4B5A // 0000000131E8: BF82FEDF label_4C7B: s_mov_b64 exec, s[20:21] // 0000000131EC: BEFE0414 v_cmp_ne_u32 vcc, 0, v22 // 0000000131F0: 7D8A2C80 s_and_saveexec_b64 s[20:21], vcc // wrscc // 0000000131F4: BE94246A s_cbranch_execz label_4DB8 // 0000000131F8: BF880139 s_load_dwordx4 s[40:43], s[0:1], 0x58 // 0000000131FC: C0940158 v_add_i32 v12, vcc, v21, v25 // 000000013200: 4A183315 s_waitcnt lgkmcnt(0) // 000000013204: BF8C007F buffer_load_dword v12, v12, s[40:43], 0 idxen // 000000013208: E0302000 800A0C0C v_cmp_gt_u32 s[22:23], v23, v25 // 000000013210: D1880016 00023317 s_waitcnt vmcnt(0) // 000000013218: BF8C0F70 v_cndmask_b32 v12, -1, v12, s[22:23] // 00000001321C: D200000C 005A18C1 v_lshrrev_b32 v21, 28, v12 // 000000013224: 2C2A189C s_and_saveexec_b64 s[44:45], s[18:19] // wrscc // 000000013228: BEAC2412 v_bfm_b32 v22, 1, v9 // 00000001322C: 3C2C1281 s_cbranch_execz label_4CB2 // 000000013230: BF880025 v_bfe_u32 v23, v12, 28, 1 // 000000013234: D2900017 0205390C v_cmp_ne_i32 vcc, 0, v23 // 00000001323C: 7D0A2E80 v_cndmask_b32 v23, 0, -1, vcc // 000000013240: D2000017 01A98280 v_lshl_b32 v23, v23, v9 // 000000013248: 322E1317 v_bfi_b32 v23, v22, v23, 0 // 00000001324C: D2940017 02022F16 v_and_b32 v24, 2, v21 // 000000013254: 36302A82 v_cmp_ne_i32 vcc, 0, v24 // 000000013258: 7D0A3080 v_cndmask_b32 v24, 0, -1, vcc // 00000001325C: D2000018 01A98280 v_lshl_b32 v24, v24, v9 // 000000013264: 32301318 v_bfi_b32 v24, v22, v24, 0 // 000000013268: D2940018 02023116 v_and_b32 v25, 4, v21 // 000000013270: 36322A84 v_cmp_ne_i32 vcc, 0, v25 // 000000013274: 7D0A3280 v_cndmask_b32 v25, 0, -1, vcc // 000000013278: D2000019 01A98280 v_lshl_b32 v25, v25, v9 // 000000013280: 32321319 v_bfi_b32 v25, v22, v25, 0 // 000000013284: D2940019 02023316 v_and_b32 v26, 8, v21 // 00000001328C: 36342A88 v_cmp_ne_i32 vcc, 0, v26 // 000000013290: 7D0A3480 v_cndmask_b32 v26, 0, -1, vcc // 000000013294: D200001A 01A98280 v_lshl_b32 v26, v26, v9 // 00000001329C: 3234131A v_bfi_b32 v22, v22, v26, 0 // 0000000132A0: D2940016 02023516 ds_write_b32 v7, v23 offset:408 // 0000000132A8: D8340198 00001707 ds_write_b32 v30, v24 offset:408 // 0000000132B0: D8340198 0000181E ds_write_b32 v29, v25 offset:408 // 0000000132B8: D8340198 0000191D ds_write_b32 v28, v22 offset:408 // 0000000132C0: D8340198 0000161C label_4CB2: s_waitcnt lgkmcnt(0) // 0000000132C8: BF8C007F s_barrier // 0000000132CC: BF8A0000 s_and_b64 exec, s[44:45], s[18:19] // wrscc // 0000000132D0: 87FE122C s_cbranch_execz label_4CD5 // 0000000132D4: BF88001F s_and_saveexec_b64 s[46:47], s[24:25] // wrscc // 0000000132D8: BEAE2418 s_cbranch_execz label_4CD5 // 0000000132DC: BF88001D ds_read2_b32 v[22:23], v7 offset0:102 offset1:118 // 0000000132E0: D8DC7666 16000007 ds_read_b32 v24, v30 offset:408 // 0000000132E8: D8D80198 1800001E ds_read_b32 v25, v29 offset:408 // 0000000132F0: D8D80198 1900001D ds_read_b32 v26, v28 offset:408 // 0000000132F8: D8D80198 1A00001C v_add_i32 v33, vcc, 0x000011d8, v7 // 000000013300: 4A420EFF 000011D8 ds_read2st64_b32 v[33:34], v33 offset1:16 // 000000013308: D8E01000 21000021 ds_read_b32 v35, v7 offset:12760 // 000000013310: D8D831D8 23000007 s_waitcnt lgkmcnt(5) // 000000013318: BF8C057F v_or_b32 v22, v22, v23 // 00000001331C: 382C2F16 s_waitcnt lgkmcnt(1) // 000000013320: BF8C017F v_or_b32 v23, v24, v33 // 000000013324: 382E4318 v_or_b32 v24, v25, v34 // 000000013328: 38304519 s_waitcnt lgkmcnt(0) // 00000001332C: BF8C007F v_or_b32 v25, v26, v35 // 000000013330: 3832471A ds_write_b32 v7, v22 offset:408 // 000000013334: D8340198 00001607 ds_write_b32 v30, v23 offset:408 // 00000001333C: D8340198 0000171E ds_write_b32 v29, v24 offset:408 // 000000013344: D8340198 0000181D ds_write_b32 v28, v25 offset:408 // 00000001334C: D8340198 0000191C label_4CD5: s_waitcnt lgkmcnt(0) // 000000013354: BF8C007F s_barrier // 000000013358: BF8A0000 s_and_b64 exec, s[44:45], s[18:19] // wrscc // 00000001335C: 87FE122C s_cbranch_execz label_4CF8 // 000000013360: BF88001F s_and_saveexec_b64 s[26:27], s[26:27] // wrscc // 000000013364: BE9A241A s_cbranch_execz label_4CF8 // 000000013368: BF88001D ds_read2_b32 v[22:23], v7 offset0:102 offset1:110 // 00000001336C: D8DC6E66 16000007 ds_read_b32 v24, v30 offset:408 // 000000013374: D8D80198 1800001E ds_read_b32 v25, v29 offset:408 // 00000001337C: D8D80198 1900001D ds_read_b32 v26, v28 offset:408 // 000000013384: D8D80198 1A00001C v_add_i32 v33, vcc, 0x000011b8, v7 // 00000001338C: 4A420EFF 000011B8 ds_read2st64_b32 v[33:34], v33 offset1:16 // 000000013394: D8E01000 21000021 ds_read_b32 v35, v7 offset:12728 // 00000001339C: D8D831B8 23000007 s_waitcnt lgkmcnt(5) // 0000000133A4: BF8C057F v_or_b32 v22, v22, v23 // 0000000133A8: 382C2F16 s_waitcnt lgkmcnt(1) // 0000000133AC: BF8C017F v_or_b32 v23, v24, v33 // 0000000133B0: 382E4318 v_or_b32 v24, v25, v34 // 0000000133B4: 38304519 s_waitcnt lgkmcnt(0) // 0000000133B8: BF8C007F v_or_b32 v25, v26, v35 // 0000000133BC: 3832471A ds_write_b32 v7, v22 offset:408 // 0000000133C0: D8340198 00001607 ds_write_b32 v30, v23 offset:408 // 0000000133C8: D8340198 0000171E ds_write_b32 v29, v24 offset:408 // 0000000133D0: D8340198 0000181D ds_write_b32 v28, v25 offset:408 // 0000000133D8: D8340198 0000191C label_4CF8: s_waitcnt lgkmcnt(0) // 0000000133E0: BF8C007F s_barrier // 0000000133E4: BF8A0000 s_and_b64 exec, s[44:45], s[18:19] // wrscc // 0000000133E8: 87FE122C s_cbranch_execz label_4D1B // 0000000133EC: BF88001F s_and_saveexec_b64 s[26:27], s[28:29] // wrscc // 0000000133F0: BE9A241C s_cbranch_execz label_4D1B // 0000000133F4: BF88001D ds_read2_b32 v[22:23], v7 offset0:102 offset1:106 // 0000000133F8: D8DC6A66 16000007 ds_read_b32 v24, v30 offset:408 // 000000013400: D8D80198 1800001E ds_read_b32 v25, v29 offset:408 // 000000013408: D8D80198 1900001D ds_read_b32 v26, v28 offset:408 // 000000013410: D8D80198 1A00001C v_add_i32 v33, vcc, 0x000011a8, v7 // 000000013418: 4A420EFF 000011A8 ds_read2st64_b32 v[33:34], v33 offset1:16 // 000000013420: D8E01000 21000021 ds_read_b32 v35, v7 offset:12712 // 000000013428: D8D831A8 23000007 s_waitcnt lgkmcnt(5) // 000000013430: BF8C057F v_or_b32 v22, v22, v23 // 000000013434: 382C2F16 s_waitcnt lgkmcnt(1) // 000000013438: BF8C017F v_or_b32 v23, v24, v33 // 00000001343C: 382E4318 v_or_b32 v24, v25, v34 // 000000013440: 38304519 s_waitcnt lgkmcnt(0) // 000000013444: BF8C007F v_or_b32 v25, v26, v35 // 000000013448: 3832471A ds_write_b32 v7, v22 offset:408 // 00000001344C: D8340198 00001607 ds_write_b32 v30, v23 offset:408 // 000000013454: D8340198 0000171E ds_write_b32 v29, v24 offset:408 // 00000001345C: D8340198 0000181D ds_write_b32 v28, v25 offset:408 // 000000013464: D8340198 0000191C label_4D1B: s_waitcnt lgkmcnt(0) // 00000001346C: BF8C007F s_barrier // 000000013470: BF8A0000 s_and_b64 exec, s[44:45], s[18:19] // wrscc // 000000013474: 87FE122C s_cbranch_execz label_4D3E // 000000013478: BF88001F s_and_saveexec_b64 s[26:27], s[30:31] // wrscc // 00000001347C: BE9A241E s_cbranch_execz label_4D3E // 000000013480: BF88001D ds_read2_b32 v[22:23], v7 offset0:102 offset1:104 // 000000013484: D8DC6866 16000007 ds_read_b32 v24, v30 offset:408 // 00000001348C: D8D80198 1800001E ds_read_b32 v25, v29 offset:408 // 000000013494: D8D80198 1900001D ds_read_b32 v26, v28 offset:408 // 00000001349C: D8D80198 1A00001C v_add_i32 v33, vcc, 0x000011a0, v7 // 0000000134A4: 4A420EFF 000011A0 ds_read2st64_b32 v[33:34], v33 offset1:16 // 0000000134AC: D8E01000 21000021 ds_read_b32 v35, v7 offset:12704 // 0000000134B4: D8D831A0 23000007 s_waitcnt lgkmcnt(5) // 0000000134BC: BF8C057F v_or_b32 v22, v22, v23 // 0000000134C0: 382C2F16 s_waitcnt lgkmcnt(1) // 0000000134C4: BF8C017F v_or_b32 v23, v24, v33 // 0000000134C8: 382E4318 v_or_b32 v24, v25, v34 // 0000000134CC: 38304519 s_waitcnt lgkmcnt(0) // 0000000134D0: BF8C007F v_or_b32 v25, v26, v35 // 0000000134D4: 3832471A ds_write_b32 v7, v22 offset:408 // 0000000134D8: D8340198 00001607 ds_write_b32 v30, v23 offset:408 // 0000000134E0: D8340198 0000171E ds_write_b32 v29, v24 offset:408 // 0000000134E8: D8340198 0000181D ds_write_b32 v28, v25 offset:408 // 0000000134F0: D8340198 0000191C label_4D3E: s_waitcnt lgkmcnt(0) // 0000000134F8: BF8C007F s_barrier // 0000000134FC: BF8A0000 s_and_b64 exec, s[44:45], s[18:19] // wrscc // 000000013500: 87FE122C s_cbranch_execz label_4D61 // 000000013504: BF88001F s_and_saveexec_b64 s[26:27], s[32:33] // wrscc // 000000013508: BE9A2420 s_cbranch_execz label_4D61 // 00000001350C: BF88001D ds_read2_b32 v[22:23], v7 offset0:102 offset1:103 // 000000013510: D8DC6766 16000007 ds_read_b32 v24, v30 offset:408 // 000000013518: D8D80198 1800001E ds_read_b32 v25, v29 offset:408 // 000000013520: D8D80198 1900001D ds_read_b32 v26, v28 offset:408 // 000000013528: D8D80198 1A00001C v_add_i32 v33, vcc, 0x0000119c, v7 // 000000013530: 4A420EFF 0000119C ds_read2st64_b32 v[33:34], v33 offset1:16 // 000000013538: D8E01000 21000021 ds_read_b32 v35, v7 offset:12700 // 000000013540: D8D8319C 23000007 s_waitcnt lgkmcnt(5) // 000000013548: BF8C057F v_or_b32 v22, v22, v23 // 00000001354C: 382C2F16 s_waitcnt lgkmcnt(1) // 000000013550: BF8C017F v_or_b32 v23, v24, v33 // 000000013554: 382E4318 v_or_b32 v24, v25, v34 // 000000013558: 38304519 s_waitcnt lgkmcnt(0) // 00000001355C: BF8C007F v_or_b32 v25, v26, v35 // 000000013560: 3832471A ds_write_b32 v7, v22 offset:408 // 000000013564: D8340198 00001607 ds_write_b32 v30, v23 offset:408 // 00000001356C: D8340198 0000171E ds_write_b32 v29, v24 offset:408 // 000000013574: D8340198 0000181D ds_write_b32 v28, v25 offset:408 // 00000001357C: D8340198 0000191C label_4D61: s_waitcnt lgkmcnt(0) // 000000013584: BF8C007F s_barrier // 000000013588: BF8A0000 s_and_b64 exec, s[44:45], s[18:19] // wrscc // 00000001358C: 87FE122C v_add_i32 v22, vcc, 0x00000198, v32 // 000000013590: 4A2C40FF 00000198 s_cbranch_execz label_4D95 // 000000013598: BF88002E ds_read2st64_b32 v[23:24], v22 offset1:16 // 00000001359C: D8E01000 17000016 ds_read2st64_b32 v[25:26], v22 offset0:32 offset1:48 // 0000000135A4: D8E03020 19000016 v_lshrrev_b32 v22, 23, v12 // 0000000135AC: 2C2C1897 s_movk_i32 s3, 0x01e0 // 0000000135B0: B00301E0 v_and_b32 v28, 2, v21 // 0000000135B4: 36382A82 v_bfi_b32 v22, s3, v22, 0 // 0000000135B8: D2940016 02022C03 v_bfe_u32 v29, v12, 28, 1 // 0000000135C0: D290001D 0205390C v_cmp_eq_i32 s[26:27], v28, 0 // 0000000135C8: D104001A 0001011C v_and_b32 v28, 4, v21 // 0000000135D0: 36382A84 v_add_i32 v22, vcc, v2, v22 // 0000000135D4: 4A2C2D02 v_add_i32 v29, vcc, -1, v29 // 0000000135D8: 4A3A3AC1 v_cndmask_b32 v30, 0, -1, s[26:27] // 0000000135DC: D200001E 00698280 v_cmp_eq_i32 vcc, 0, v28 // 0000000135E4: 7D043880 v_and_b32 v21, 8, v21 // 0000000135E8: 362A2A88 v_lshlrev_b32 v22, 2, v22 // 0000000135EC: 342C2C82 ds_read_b32 v22, v22 offset:18844 // 0000000135F0: D8D8499C 16000016 s_waitcnt lgkmcnt(2) // 0000000135F8: BF8C027F v_xor_b32 v28, v23, v29 // 0000000135FC: 3A383B17 v_xor_b32 v29, v24, v30 // 000000013600: 3A3A3D18 v_cndmask_b32 v30, 0, -1, vcc // 000000013604: D200001E 01A98280 v_cmp_eq_i32 vcc, 0, v21 // 00000001360C: 7D042A80 s_waitcnt lgkmcnt(1) // 000000013610: BF8C017F v_xor_b32 v21, v25, v30 // 000000013614: 3A2A3D19 v_cndmask_b32 v30, 0, -1, vcc // 000000013618: D200001E 01A98280 v_and_b32 v28, v28, v29 // 000000013620: 36383B1C v_xor_b32 v29, v26, v30 // 000000013624: 3A3A3D1A v_and_b32 v21, v21, v28 // 000000013628: 362A3915 v_and_b32 v21, v29, v21 // 00000001362C: 362A2B1D v_bfe_u32 v21, v21, 0, v9 // 000000013630: D2900015 04250115 s_waitcnt lgkmcnt(0) // 000000013638: BF8C007F v_bcnt_u32_b32 v28, v21, v22 // 00000001363C: 44382D15 v_mov_b32 v62, v23 // 000000013640: 7E7C0317 v_mov_b32 v23, v24 // 000000013644: 7E2E0318 v_mov_b32 v24, v25 // 000000013648: 7E300319 v_mov_b32 v25, v26 // 00000001364C: 7E32031A v_mov_b32 v26, v62 // 000000013650: 7E34033E label_4D95: s_andn2_b64 exec, s[44:45], exec // wrscc // 000000013654: 8AFE7E2C v_mov_b32 v25, 0 // 000000013658: 7E320280 v_mov_b32 v24, 0 // 00000001365C: 7E300280 v_mov_b32 v23, 0 // 000000013660: 7E2E0280 v_mov_b32 v26, 0 // 000000013664: 7E340280 v_mov_b32 v28, 0 // 000000013668: 7E380280 s_and_b64 exec, s[44:45], s[22:23] // wrscc // 00000001366C: 87FE162C v_add_i32 v21, vcc, v13, v28 // 000000013670: 4A2A390D buffer_store_dword v12, v21, s[40:43], 0 idxen // 000000013674: E0702000 800A0C15 s_waitcnt vmcnt(0) // 00000001367C: BF8C0F70 s_barrier // 000000013680: BF8A0000 s_and_b64 exec, s[44:45], s[18:19] // wrscc // 000000013684: 87FE122C s_cbranch_execz label_4DB8 // 000000013688: BF880015 s_and_saveexec_b64 s[18:19], s[24:25] // wrscc // 00000001368C: BE922418 s_cbranch_execz label_4DB8 // 000000013690: BF880013 ds_read_b32 v12, v27 offset:18844 // 000000013694: D8D8499C 0C00001B v_xor_b32 v21, v31, v26 // 00000001369C: 3A2A351F v_cndmask_b32 v22, 0, -1, s[34:35] // 0000000136A0: D2000016 00898280 v_xor_b32 v22, v22, v23 // 0000000136A8: 3A2C2F16 v_and_b32 v21, v21, v22 // 0000000136AC: 362A2D15 v_cndmask_b32 v22, 0, -1, s[36:37] // 0000000136B0: D2000016 00918280 v_xor_b32 v22, v22, v24 // 0000000136B8: 3A2C3116 v_cndmask_b32 v23, 0, -1, s[38:39] // 0000000136BC: D2000017 00998280 v_xor_b32 v23, v23, v25 // 0000000136C4: 3A2E3317 v_and_b32 v21, v21, v22 // 0000000136C8: 362A2D15 v_and_b32 v21, v23, v21 // 0000000136CC: 362A2B17 s_waitcnt lgkmcnt(0) // 0000000136D0: BF8C007F v_bcnt_u32_b32 v12, v21, v12 // 0000000136D4: 44181915 ds_write_b32 v27, v12 offset:18844 // 0000000136D8: D834499C 00000C1B label_4DB8: s_mov_b64 exec, s[20:21] // 0000000136E0: BEFE0414 s_mov_b64 s[18:19], exec // 0000000136E4: BE92047E v_mov_b32 v12, v9 // 0000000136E8: 7E180309 s_nop 0x0000 // 0000000136EC: BF800000 label_4DBC: v_cmp_ge_i32 vcc, v12, v10 // 0000000136F0: 7D0C150C s_andn2_b64 exec, exec, vcc // wrscc // 0000000136F4: 8AFE6A7E s_cbranch_execz label_4DDD // 0000000136F8: BF88001E s_load_dwordx4 s[20:23], s[0:1], 0x58 // 0000000136FC: C08A0158 v_add_i32 v21, vcc, v12, v13 // 000000013700: 4A2A1B0C v_cmp_ne_i32 s[24:25], v12, 0 // 000000013704: D10A0018 0001010C v_add_i32 v22, vcc, -1, v21 // 00000001370C: 4A2C2AC1 s_waitcnt lgkmcnt(0) // 000000013710: BF8C007F buffer_load_dword v21, v21, s[20:23], 0 idxen // 000000013714: E0302000 80051515 buffer_load_dword v22, v22, s[20:23], 0 idxen // 00000001371C: E0302000 80051616 s_waitcnt vmcnt(1) // 000000013724: BF8C0F71 v_ashrrev_i32 v21, 16, v21 // 000000013728: 302A2A90 v_add_i32 v23, vcc, -1, v21 // 00000001372C: 4A2E2AC1 s_waitcnt vmcnt(0) // 000000013730: BF8C0F70 v_ashrrev_i32 v22, 16, v22 // 000000013734: 302C2C90 v_cndmask_b32 v22, v23, v22, s[24:25] // 000000013738: D2000016 00622D17 v_cmp_ne_i32 vcc, v21, v22 // 000000013740: 7D0A2D15 s_and_saveexec_b64 s[24:25], vcc // wrscc // 000000013744: BE98246A v_add_i32 v21, vcc, v14, v21 // 000000013748: 4A2A2B0E v_add_i32 v22, vcc, v14, v22 // 00000001374C: 4A2C2D0E v_add_i32 v22, vcc, 1, v22 // 000000013750: 4A2C2C81 buffer_store_dword v12, v21, s[20:23], 0 idxen // 000000013754: E0702000 80050C15 buffer_store_dword v12, v22, s[20:23], 0 idxen // 00000001375C: E0702000 80050C16 s_mov_b64 exec, s[24:25] // 000000013764: BEFE0418 v_add_i32 v12, vcc, 0x00000400, v12 // 000000013768: 4A1818FF 00000400 s_branch label_4DBC // 000000013770: BF82FFDF label_4DDD: s_mov_b64 exec, s[18:19] // 000000013774: BEFE0412 v_mov_b32 v12, 0 // 000000013778: 7E180280 ds_read2_b32 v[12:13], v12 offset0:27 offset1:28 // 00000001377C: D8DC1C1B 0C00000C s_mov_b64 s[18:19], exec // 000000013784: BE92047E v_mov_b32 v21, v9 // 000000013788: 7E2A0309 label_4DE3: v_cmp_ge_i32 vcc, v21, v10 // 00000001378C: 7D0C1515 s_andn2_b64 exec, exec, vcc // wrscc // 000000013790: 8AFE6A7E s_cbranch_execz label_4DFB // 000000013794: BF880015 s_load_dwordx4 s[20:23], s[0:1], 0x58 // 000000013798: C08A0158 s_waitcnt lgkmcnt(0) // 00000001379C: BF8C007F v_add_i32 v22, vcc, v13, v21 // 0000000137A0: 4A2C2B0D buffer_load_dword v22, v22, s[20:23], 0 idxen // 0000000137A4: E0302000 80051616 s_load_dwordx8 s[20:27], s[0:1], 0x50 // 0000000137AC: C0CA0150 s_waitcnt vmcnt(0) // 0000000137B0: BF8C0F70 v_bfe_u32 v22, v22, 0, 16 // 0000000137B4: D2900016 02410116 v_add_i32 v22, vcc, v12, v22 // 0000000137BC: 4A2C2D0C s_waitcnt lgkmcnt(0) // 0000000137C0: BF8C007F buffer_load_dwordx4 v[22:25], v22, s[24:27], 0 idxen // 0000000137C4: E0382000 80061616 v_add_i32 v26, vcc, v3, v21 // 0000000137CC: 4A342B03 v_lshlrev_b32 v26, 4, v26 // 0000000137D0: 34343484 s_waitcnt vmcnt(0) // 0000000137D4: BF8C0F70 buffer_store_dwordx4 v[22:25], v26, s[20:23], 0 offen // 0000000137D8: E0781000 8005161A v_add_i32 v21, vcc, 0x00000400, v21 // 0000000137E0: 4A2A2AFF 00000400 s_branch label_4DE3 // 0000000137E8: BF82FFE8 label_4DFB: s_mov_b64 exec, s[18:19] // 0000000137EC: BEFE0412 s_waitcnt vmcnt(0) & lgkmcnt(0) // 0000000137F0: BF8C0070 s_barrier // 0000000137F4: BF8A0000 v_mov_b32 v12, 0 // 0000000137F8: 7E180280 ds_read2_b32 v[21:22], v12 offset0:24 offset1:28 // 0000000137FC: D8DC1C18 1500000C ds_read_b32 v12, v12 offset:288 // 000000013804: D8D80120 0C00000C s_waitcnt lgkmcnt(1) // 00000001380C: BF8C017F v_mul_legacy_f32 v13, v21, v21 // 000000013810: 0E1A2B15 s_mov_b64 s[18:19], exec // 000000013814: BE92047E v_mov_b32 v23, v9 // 000000013818: 7E2E0309 label_4E07: v_cmp_ge_i32 vcc, v23, v10 // 00000001381C: 7D0C1517 s_andn2_b64 exec, exec, vcc // wrscc // 000000013820: 8AFE6A7E s_cbranch_execz label_4FF4 // 000000013824: BF8801EA s_load_dwordx4 s[20:23], s[0:1], 0x50 // 000000013828: C08A0150 v_add_i32 v24, vcc, v3, v23 // 00000001382C: 4A302F03 v_lshlrev_b32 v24, 4, v24 // 000000013830: 34303084 s_waitcnt lgkmcnt(0) // 000000013834: BF8C007F buffer_load_dwordx4 v[24:27], v24, s[20:23], 0 offen // 000000013838: E0381000 80051818 v_readfirstlane_b32 s3, v20 // 000000013840: 7E060514 v_readfirstlane_b32 s24, v19 // 000000013844: 7E300513 s_lshl_b32 s3, s3, 4 // wrscc // 000000013848: 8F038403 s_nop 0x0001 // 00000001384C: BF800001 s_buffer_load_dwordx4 s[28:31], s[4:7], s3 // 000000013850: C28E0403 s_lshl_b32 s3, s24, 4 // wrscc // 000000013854: 8F038418 s_buffer_load_dwordx4 s[24:27], s[4:7], s3 // 000000013858: C28C0403 s_waitcnt vmcnt(0) & lgkmcnt(0) // 00000001385C: BF8C0070 v_mul_legacy_f32 v28, s31, v27 // 000000013860: 0E38361F v_mul_legacy_f32 v29, s27, v27 // 000000013864: 0E3A361B v_mac_f32 v28, s30, v26 // 000000013868: 3E38341E v_mac_f32 v29, s26, v26 // 00000001386C: 3E3A341A v_mac_f32 v28, s29, v25 // 000000013870: 3E38321D v_mac_f32 v29, s25, v25 // 000000013874: 3E3A3219 v_mac_f32 v28, s28, v24 // 000000013878: 3E38301C v_mac_f32 v29, s24, v24 // 00000001387C: 3E3A3018 v_mad_f32 v28, v28, v16, v18 // 000000013880: D282001C 044A211C s_mov_b32 s3, 0x42ff0000 // 000000013888: BE8303FF 42FF0000 v_mad_f32 v29, v29, v15, v17 // 000000013890: D282001D 04461F1D v_med3_f32 v28, v28, s3, 0 // 000000013898: D2AE001C 0200071C v_med3_f32 v29, v29, s3, 0 // 0000000138A0: D2AE001D 0200071D v_cvt_i32_f32 v28, v28 // 0000000138A8: 7E38111C s_load_dwordx4 s[24:27], s[0:1], 0x58 // 0000000138AC: C08C0158 v_cvt_i32_f32 v29, v29 // 0000000138B0: 7E3A111D v_lshlrev_b32 v28, 7, v28 // 0000000138B4: 34383887 v_add_i32 v28, vcc, v29, v28 // 0000000138B8: 4A38391D v_add_i32 v29, vcc, v22, v23 // 0000000138BC: 4A3A2F16 v_add_i32 v28, vcc, v14, v28 // 0000000138C0: 4A38390E v_add_i32 v30, vcc, 2, v28 // 0000000138C4: 4A3C3882 v_add_i32 v31, vcc, 1, v28 // 0000000138C8: 4A3E3881 v_add_i32 v32, vcc, 3, v28 // 0000000138CC: 4A403883 s_waitcnt lgkmcnt(0) // 0000000138D0: BF8C007F buffer_load_dword v29, v29, s[24:27], 0 idxen // 0000000138D4: E0302000 80061D1D buffer_load_dword v30, v30, s[24:27], 0 idxen // 0000000138DC: E0302000 80061E1E buffer_load_dword v31, v31, s[24:27], 0 idxen // 0000000138E4: E0302000 80061F1F buffer_load_dword v33, v28, s[24:27], 0 idxen // 0000000138EC: E0302000 8006211C buffer_load_dword v32, v32, s[24:27], 0 idxen // 0000000138F4: E0302000 80062020 s_waitcnt vmcnt(4) // 0000000138FC: BF8C0F74 v_and_b32 v29, 0x0000ffff, v29 // 000000013900: 363A3AFF 0000FFFF v_add_i32 v34, vcc, v12, v29 // 000000013908: 4A443B0C s_waitcnt vmcnt(1) // 00000001390C: BF8C0F71 v_min3_u32 v33, v33, v31, v30 // 000000013910: D2A60021 047A3F21 s_waitcnt vmcnt(0) // 000000013918: BF8C0F70 v_max3_i32 v30, v31, v30, v32 // 00000001391C: D2AA001E 04823D1F s_mov_b64 s[28:29], exec // 000000013924: BE9C047E s_mov_b64 s[30:31], exec // 000000013928: BE9E047E v_mov_b32 v36, 0 // 00000001392C: 7E480280 v_mov_b32 v31, 0x34000000 // 000000013930: 7E3E02FF 34000000 v_mov_b32 v62, v33 // 000000013938: 7E7C0321 v_mov_b32 v33, 0 // 00000001393C: 7E420280 v_mov_b32 v35, 0 // 000000013940: 7E460280 v_mov_b32 v32, v62 // 000000013944: 7E40033E label_4E52: v_max_i32 v37, 0, v30 // 000000013948: 244A3C80 v_cmp_ge_u32 s[32:33], v32, v37 // 00000001394C: D18C0020 00024B20 s_load_dwordx4 s[36:39], s[0:1], 0x34 // 000000013954: C0920134 v_add_f32 v37, 0x34000000, v27 // 000000013958: 064A36FF 34000000 s_waitcnt lgkmcnt(0) // 000000013960: BF8C007F tbuffer_load_format_xyz v[38:40], v34, s[36:39], 0 idxen format:[BUF_DATA_FORMAT_32_32_32,BUF_NUM_FORMAT_FLOAT] // 000000013964: EBEA2000 80092622 s_and_saveexec_b64 s[32:33], s[32:33] // wrscc // 00000001396C: BEA02420 s_andn2_b64 s[30:31], s[30:31], exec // wrscc // 000000013970: 8A9E7E1E s_cbranch_scc0 label_4EC8 // 000000013974: BF84006A s_and_b64 exec, s[32:33], s[30:31] // wrscc // 000000013978: 87FE1E20 v_cmp_ne_i32 vcc, v23, v32 // 00000001397C: 7D0A4117 s_and_saveexec_b64 s[32:33], vcc // wrscc // 000000013980: BEA0246A v_add_i32 v41, vcc, v3, v32 // 000000013984: 4A524103 s_cbranch_execz label_4EBC // 000000013988: BF880059 v_lshlrev_b32 v41, 4, v41 // 00000001398C: 34525284 buffer_load_dwordx4 v[41:44], v41, s[20:23], 0 offen // 000000013990: E0381000 80052929 s_waitcnt vmcnt(0) // 000000013998: BF8C0F70 v_sub_f32 v41, v24, v41 // 00000001399C: 08525318 v_sub_f32 v42, v25, v42 // 0000000139A0: 08545519 v_sub_f32 v43, v26, v43 // 0000000139A4: 0856571A v_mul_legacy_f32 v45, v43, v43 // 0000000139A8: 0E5A572B v_mac_f32 v45, v42, v42 // 0000000139AC: 3E5A552A v_mac_f32 v45, v41, v41 // 0000000139B0: 3E5A5329 v_cmp_gt_f32 s[34:35], v45, v13 // 0000000139B4: D0080022 00021B2D v_cndmask_b32 v46, 0, 1.0, s[34:35] // 0000000139BC: D200002E 0089E480 v_addc_u32 v47, vcc, v32, 0, s[34:35] // 0000000139C4: D2506A2F 00890120 s_mov_b64 s[40:41], exec // 0000000139CC: BEA8047E s_andn2_b64 exec, s[40:41], s[34:35] // wrscc // 0000000139D0: 8AFE2228 v_cmp_ne_i32 vcc, -1, v12 // 0000000139D4: 7D0A18C1 s_cbranch_execz label_4EB7 // 0000000139D8: BF880040 s_and_saveexec_b64 s[42:43], vcc // wrscc // 0000000139DC: BEAA246A v_addc_u32 v48, vcc, v32, v22, s[34:35] // 0000000139E0: D2506A30 008A2D20 s_cbranch_execz label_4E9E // 0000000139E8: BF880023 v_addc_u32 v32, vcc, v32, 1, s[34:35] // 0000000139EC: D2506A20 00890320 buffer_load_dword v48, v48, s[24:27], 0 idxen // 0000000139F4: E0302000 80063030 s_waitcnt vmcnt(0) // 0000000139FC: BF8C0F70 v_bfe_u32 v48, v48, 0, 16 // 000000013A00: D2900030 02410130 v_add_i32 v48, vcc, v12, v48 // 000000013A08: 4A60610C tbuffer_load_format_xyz v[48:50], v48, s[36:39], 0 idxen format:[BUF_DATA_FORMAT_32_32_32,BUF_NUM_FORMAT_FLOAT] // 000000013A0C: EBEA2000 80093030 s_waitcnt vmcnt(0) // 000000013A14: BF8C0F70 v_sub_f32 v38, v38, v48 // 000000013A18: 084C6126 v_sub_f32 v39, v39, v49 // 000000013A1C: 084E6327 v_sub_f32 v40, v40, v50 // 000000013A20: 08506528 v_mul_legacy_f32 v40, v40, v40 // 000000013A24: 0E505128 v_mac_f32 v40, v39, v39 // 000000013A28: 3E504F27 v_mad_f32 v39, v38, v38, v40 // 000000013A2C: D2820027 04A24D26 v_cmp_ge_f32 vcc, v13, v39 // 000000013A34: 7C0C4F0D v_cndmask_b32 v38, 0, 1.0, vcc // 000000013A38: D2000026 01A9E480 v_cndmask_b32 v32, v47, v32, vcc // 000000013A40: 0040412F s_mov_b64 s[34:35], exec // 000000013A44: BEA2047E s_andn2_b64 exec, s[34:35], vcc // wrscc // 000000013A48: 8AFE6A22 v_add_f32 v39, 0x34000000, v39 // 000000013A4C: 064E4EFF 34000000 v_rcp_f32 v39, v39 // 000000013A54: 7E4E5527 v_mul_f32 v39, v13, v39 // 000000013A58: 104E4F0D v_rsq_f32 v39, v39 // 000000013A5C: 7E4E5D27 v_add_f32 v39, -1.0, v39 // 000000013A60: 064E4EF3 v_min_legacy_f32 v39, 1.0, v39 // 000000013A64: 1A4E4EF2 s_mov_b64 exec, s[34:35] // 000000013A68: BEFE0422 v_mov_b32 v62, v39 // 000000013A6C: 7E7C0327 v_mov_b32 v39, v38 // 000000013A70: 7E4E0326 v_mov_b32 v38, v62 // 000000013A74: 7E4C033E label_4E9E: s_andn2_b64 exec, s[42:43], exec // wrscc // 000000013A78: 8AFE7E2A v_mov_b32 v39, 0 // 000000013A7C: 7E4E0280 v_mov_b32 v38, 1.0 // 000000013A80: 7E4C02F2 v_mov_b32 v32, v47 // 000000013A84: 7E40032F s_mov_b64 exec, s[42:43] // 000000013A88: BEFE042A v_cmp_eq_u32 vcc, 0, v39 // 000000013A8C: 7D844E80 s_and_b64 exec, s[42:43], vcc // wrscc // 000000013A90: 87FE6A2A v_add_f32 v40, 0x34000000, v45 // 000000013A94: 06505AFF 34000000 s_cbranch_execz label_4EB5 // 000000013A9C: BF88000D v_rsq_f32 v40, v40 // 000000013AA0: 7E505D28 v_mad_f32 v40, v21, v40, -1.0 // 000000013AA4: D2820028 03CE5115 v_max_legacy_f32 v40, 0, v40 // 000000013AAC: 1C505080 v_mul_legacy_f32 v45, v40, v40 // 000000013AB0: 0E5A5128 v_mul_legacy_f32 v38, v38, v45 // 000000013AB4: 0E4C5B26 v_add_f32 v37, v37, v44 // 000000013AB8: 064A5925 v_rcp_f32 v37, v37 // 000000013ABC: 7E4A5525 v_mul_f32 v37, v38, v37 // 000000013AC0: 104A4B26 v_mac_f32 v33, v37, v41 // 000000013AC4: 3E425325 v_mac_f32 v35, v37, v42 // 000000013AC8: 3E465525 v_mac_f32 v36, v37, v43 // 000000013ACC: 3E485725 v_add_f32 v31, v31, v40 // 000000013AD0: 063E511F label_4EB5: s_mov_b64 exec, s[42:43] // 000000013AD4: BEFE042A v_mov_b32 v38, v39 // 000000013AD8: 7E4C0327 label_4EB7: s_andn2_b64 exec, s[40:41], exec // wrscc // 000000013ADC: 8AFE7E28 v_mov_b32 v38, 0 // 000000013AE0: 7E4C0280 v_mov_b32 v32, v47 // 000000013AE4: 7E40032F s_mov_b64 exec, s[40:41] // 000000013AE8: BEFE0428 v_mov_b32 v37, v46 // 000000013AEC: 7E4A032E label_4EBC: s_andn2_b64 exec, s[32:33], exec // wrscc // 000000013AF0: 8AFE7E20 v_mov_b32 v62, 0 // 000000013AF4: 7E7C0280 s_waitcnt vmcnt(0) // 000000013AF8: BF8C0F70 v_mov_b32 v38, 0 // 000000013AFC: 7E4C0280 v_mov_b32 v37, 0 // 000000013B00: 7E4A0280 s_mov_b64 exec, s[32:33] // 000000013B04: BEFE0420 v_cmp_eq_u32 vcc, 0, v38 // 000000013B08: 7D844C80 v_addc_u32 v38, vcc, v32, 0, vcc // 000000013B0C: D2506A26 01A90120 v_cmp_eq_u32 vcc, 0, v37 // 000000013B14: 7D844A80 v_cndmask_b32 v32, v32, v38, vcc // 000000013B18: 00404D20 s_branch label_4E52 // 000000013B1C: BF82FF8A label_4EC8: s_mov_b64 exec, s[28:29] // 000000013B20: BEFE041C v_add_i32 v30, vcc, 0x00000082, v28 // 000000013B24: 4A3C38FF 00000082 v_add_i32 v32, vcc, 0x00000081, v28 // 000000013B2C: 4A4038FF 00000081 v_add_i32 v34, vcc, 0x00000080, v28 // 000000013B34: 4A4438FF 00000080 v_add_i32 v41, vcc, 0x00000083, v28 // 000000013B3C: 4A5238FF 00000083 buffer_load_dword v30, v30, s[24:27], 0 idxen // 000000013B44: E0302000 80061E1E buffer_load_dword v32, v32, s[24:27], 0 idxen // 000000013B4C: E0302000 80062020 buffer_load_dword v34, v34, s[24:27], 0 idxen // 000000013B54: E0302000 80062222 buffer_load_dword v41, v41, s[24:27], 0 idxen // 000000013B5C: E0302000 80062929 s_waitcnt vmcnt(1) // 000000013B64: BF8C0F71 v_min3_u32 v34, v34, v32, v30 // 000000013B68: D2A60022 047A4122 s_waitcnt vmcnt(0) // 000000013B70: BF8C0F70 v_max3_i32 v30, v32, v30, v41 // 000000013B74: D2AA001E 04A63D20 s_mov_b64 s[28:29], exec // 000000013B7C: BE9C047E s_mov_b64 s[30:31], exec // 000000013B80: BE9E047E v_mov_b32 v32, v34 // 000000013B84: 7E400322 v_mov_b32 v34, v35 // 000000013B88: 7E440323 v_mov_b32 v35, v36 // 000000013B8C: 7E460324 label_4EE4: v_max_i32 v36, 0, v30 // 000000013B90: 24483C80 v_cmp_ge_u32 vcc, v32, v36 // 000000013B94: 7D8C4920 s_and_saveexec_b64 s[32:33], vcc // wrscc // 000000013B98: BEA0246A s_andn2_b64 s[30:31], s[30:31], exec // wrscc // 000000013B9C: 8A9E7E1E s_cbranch_scc0 label_4F51 // 000000013BA0: BF840068 s_and_b64 exec, s[32:33], s[30:31] // wrscc // 000000013BA4: 87FE1E20 v_cmp_ne_i32 vcc, v23, v32 // 000000013BA8: 7D0A4117 s_and_saveexec_b64 s[32:33], vcc // wrscc // 000000013BAC: BEA0246A v_add_i32 v36, vcc, v3, v32 // 000000013BB0: 4A484103 s_cbranch_execz label_4F46 // 000000013BB4: BF880058 v_lshlrev_b32 v36, 4, v36 // 000000013BB8: 34484884 buffer_load_dwordx4 v[41:44], v36, s[20:23], 0 offen // 000000013BBC: E0381000 80052924 s_waitcnt vmcnt(0) // 000000013BC4: BF8C0F70 v_sub_f32 v36, v24, v41 // 000000013BC8: 08485318 v_sub_f32 v41, v25, v42 // 000000013BCC: 08525519 v_sub_f32 v42, v26, v43 // 000000013BD0: 0854571A v_mul_legacy_f32 v43, v42, v42 // 000000013BD4: 0E56552A v_mac_f32 v43, v41, v41 // 000000013BD8: 3E565329 v_mac_f32 v43, v36, v36 // 000000013BDC: 3E564924 v_cmp_gt_f32 s[34:35], v43, v13 // 000000013BE0: D0080022 00021B2B v_cndmask_b32 v45, 0, 1.0, s[34:35] // 000000013BE8: D200002D 0089E480 v_addc_u32 v46, vcc, v32, 0, s[34:35] // 000000013BF0: D2506A2E 00890120 s_mov_b64 s[40:41], exec // 000000013BF8: BEA8047E s_andn2_b64 exec, s[40:41], s[34:35] // wrscc // 000000013BFC: 8AFE2228 v_cmp_ne_i32 vcc, -1, v12 // 000000013C00: 7D0A18C1 s_cbranch_execz label_4F41 // 000000013C04: BF88003F s_and_saveexec_b64 s[42:43], vcc // wrscc // 000000013C08: BEAA246A v_addc_u32 v47, vcc, v32, v22, s[34:35] // 000000013C0C: D2506A2F 008A2D20 s_cbranch_execz label_4F27 // 000000013C14: BF880021 v_addc_u32 v32, vcc, v32, 1, s[34:35] // 000000013C18: D2506A20 00890320 buffer_load_dword v47, v47, s[24:27], 0 idxen // 000000013C20: E0302000 80062F2F s_waitcnt vmcnt(0) // 000000013C28: BF8C0F70 v_bfe_u32 v47, v47, 0, 16 // 000000013C2C: D290002F 0241012F v_add_i32 v47, vcc, v12, v47 // 000000013C34: 4A5E5F0C tbuffer_load_format_xyz v[47:49], v47, s[36:39], 0 idxen format:[BUF_DATA_FORMAT_32_32_32,BUF_NUM_FORMAT_FLOAT] // 000000013C38: EBEA2000 80092F2F s_waitcnt vmcnt(0) // 000000013C40: BF8C0F70 v_sub_f32 v47, v38, v47 // 000000013C44: 085E5F26 v_sub_f32 v48, v39, v48 // 000000013C48: 08606127 v_sub_f32 v49, v40, v49 // 000000013C4C: 08626328 v_mul_legacy_f32 v49, v49, v49 // 000000013C50: 0E626331 v_mac_f32 v49, v48, v48 // 000000013C54: 3E626130 v_mac_f32 v49, v47, v47 // 000000013C58: 3E625F2F v_cmp_ge_f32 vcc, v13, v49 // 000000013C5C: 7C0C630D v_cndmask_b32 v47, 0, 1.0, vcc // 000000013C60: D200002F 01A9E480 v_cndmask_b32 v32, v46, v32, vcc // 000000013C68: 0040412E s_mov_b64 s[34:35], exec // 000000013C6C: BEA2047E s_andn2_b64 exec, s[34:35], vcc // wrscc // 000000013C70: 8AFE6A22 v_add_f32 v46, 0x34000000, v49 // 000000013C74: 065C62FF 34000000 v_rcp_f32 v46, v46 // 000000013C7C: 7E5C552E v_mul_f32 v46, v13, v46 // 000000013C80: 105C5D0D v_rsq_f32 v46, v46 // 000000013C84: 7E5C5D2E v_add_f32 v46, -1.0, v46 // 000000013C88: 065C5CF3 v_min_legacy_f32 v46, 1.0, v46 // 000000013C8C: 1A5C5CF2 s_andn2_b64 exec, s[34:35], exec // wrscc // 000000013C90: 8AFE7E22 v_mov_b32 v46, v49 // 000000013C94: 7E5C0331 s_mov_b64 exec, s[34:35] // 000000013C98: BEFE0422 label_4F27: s_andn2_b64 exec, s[42:43], exec // wrscc // 000000013C9C: 8AFE7E2A v_mov_b32 v62, v46 // 000000013CA0: 7E7C032E v_mov_b32 v46, 1.0 // 000000013CA4: 7E5C02F2 v_mov_b32 v47, 0 // 000000013CA8: 7E5E0280 v_mov_b32 v32, v62 // 000000013CAC: 7E40033E s_mov_b64 exec, s[42:43] // 000000013CB0: BEFE042A v_cmp_eq_u32 vcc, 0, v47 // 000000013CB4: 7D845E80 s_and_b64 exec, s[42:43], vcc // wrscc // 000000013CB8: 87FE6A2A v_add_f32 v43, 0x34000000, v43 // 000000013CBC: 065656FF 34000000 s_cbranch_execz label_4F3F // 000000013CC4: BF88000D v_rsq_f32 v43, v43 // 000000013CC8: 7E565D2B v_mad_f32 v43, v21, v43, -1.0 // 000000013CCC: D282002B 03CE5715 v_max_legacy_f32 v43, 0, v43 // 000000013CD4: 1C565680 v_mul_legacy_f32 v48, v43, v43 // 000000013CD8: 0E60572B v_mul_legacy_f32 v46, v46, v48 // 000000013CDC: 0E5C612E v_add_f32 v44, v37, v44 // 000000013CE0: 06585925 v_rcp_f32 v44, v44 // 000000013CE4: 7E58552C v_mul_f32 v44, v46, v44 // 000000013CE8: 1058592E v_mac_f32 v33, v44, v36 // 000000013CEC: 3E42492C v_mac_f32 v34, v44, v41 // 000000013CF0: 3E44532C v_mac_f32 v35, v44, v42 // 000000013CF4: 3E46552C v_add_f32 v31, v31, v43 // 000000013CF8: 063E571F label_4F3F: s_mov_b64 exec, s[42:43] // 000000013CFC: BEFE042A v_mov_b32 v41, v47 // 000000013D00: 7E52032F label_4F41: s_andn2_b64 exec, s[40:41], exec // wrscc // 000000013D04: 8AFE7E28 v_mov_b32 v41, 0 // 000000013D08: 7E520280 v_mov_b32 v32, v46 // 000000013D0C: 7E40032E s_mov_b64 exec, s[40:41] // 000000013D10: BEFE0428 v_mov_b32 v36, v45 // 000000013D14: 7E48032D label_4F46: s_andn2_b64 exec, s[32:33], exec // wrscc // 000000013D18: 8AFE7E20 v_mov_b32 v62, 0 // 000000013D1C: 7E7C0280 v_mov_b32 v41, 0 // 000000013D20: 7E520280 v_mov_b32 v36, 0 // 000000013D24: 7E480280 s_mov_b64 exec, s[32:33] // 000000013D28: BEFE0420 v_cmp_eq_u32 vcc, 0, v41 // 000000013D2C: 7D845280 v_addc_u32 v41, vcc, v32, 0, vcc // 000000013D30: D2506A29 01A90120 v_cmp_eq_u32 vcc, 0, v36 // 000000013D38: 7D844880 v_cndmask_b32 v32, v32, v41, vcc // 000000013D3C: 00405320 s_branch label_4EE4 // 000000013D40: BF82FF93 label_4F51: s_mov_b64 exec, s[28:29] // 000000013D44: BEFE041C v_add_i32 v30, vcc, 0x00000102, v28 // 000000013D48: 4A3C38FF 00000102 v_add_i32 v32, vcc, 0x00000101, v28 // 000000013D50: 4A4038FF 00000101 v_add_i32 v36, vcc, 0x00000100, v28 // 000000013D58: 4A4838FF 00000100 v_add_i32 v28, vcc, 0x00000103, v28 // 000000013D60: 4A3838FF 00000103 buffer_load_dword v30, v30, s[24:27], 0 idxen // 000000013D68: E0302000 80061E1E buffer_load_dword v32, v32, s[24:27], 0 idxen // 000000013D70: E0302000 80062020 buffer_load_dword v36, v36, s[24:27], 0 idxen // 000000013D78: E0302000 80062424 buffer_load_dword v28, v28, s[24:27], 0 idxen // 000000013D80: E0302000 80061C1C s_waitcnt vmcnt(1) // 000000013D88: BF8C0F71 v_min3_u32 v36, v36, v32, v30 // 000000013D8C: D2A60024 047A4124 s_waitcnt vmcnt(0) // 000000013D94: BF8C0F70 v_max3_i32 v28, v32, v30, v28 // 000000013D98: D2AA001C 04723D20 s_mov_b64 s[28:29], exec // 000000013DA0: BE9C047E s_mov_b64 s[30:31], exec // 000000013DA4: BE9E047E v_mov_b32 v30, v31 // 000000013DA8: 7E3C031F v_mov_b32 v31, v36 // 000000013DAC: 7E3E0324 v_mov_b32 v32, v33 // 000000013DB0: 7E400321 v_mov_b32 v33, v34 // 000000013DB4: 7E420322 v_mov_b32 v34, v35 // 000000013DB8: 7E440323 label_4F6F: v_max_i32 v35, 0, v28 // 000000013DBC: 24463880 v_cmp_ge_u32 vcc, v31, v35 // 000000013DC0: 7D8C471F s_and_saveexec_b64 s[32:33], vcc // wrscc // 000000013DC4: BEA0246A s_andn2_b64 s[30:31], s[30:31], exec // wrscc // 000000013DC8: 8A9E7E1E s_cbranch_scc0 label_4FDC // 000000013DCC: BF840068 s_and_b64 exec, s[32:33], s[30:31] // wrscc // 000000013DD0: 87FE1E20 v_cmp_ne_i32 vcc, v23, v31 // 000000013DD4: 7D0A3F17 s_and_saveexec_b64 s[32:33], vcc // wrscc // 000000013DD8: BEA0246A v_add_i32 v35, vcc, v3, v31 // 000000013DDC: 4A463F03 s_cbranch_execz label_4FD1 // 000000013DE0: BF880058 v_lshlrev_b32 v35, 4, v35 // 000000013DE4: 34464684 buffer_load_dwordx4 v[41:44], v35, s[20:23], 0 offen // 000000013DE8: E0381000 80052923 s_waitcnt vmcnt(0) // 000000013DF0: BF8C0F70 v_sub_f32 v35, v24, v41 // 000000013DF4: 08465318 v_sub_f32 v36, v25, v42 // 000000013DF8: 08485519 v_sub_f32 v41, v26, v43 // 000000013DFC: 0852571A v_mul_legacy_f32 v42, v41, v41 // 000000013E00: 0E545329 v_mac_f32 v42, v36, v36 // 000000013E04: 3E544924 v_mac_f32 v42, v35, v35 // 000000013E08: 3E544723 v_cmp_gt_f32 s[34:35], v42, v13 // 000000013E0C: D0080022 00021B2A v_cndmask_b32 v43, 0, 1.0, s[34:35] // 000000013E14: D200002B 0089E480 v_addc_u32 v45, vcc, v31, 0, s[34:35] // 000000013E1C: D2506A2D 0089011F s_mov_b64 s[40:41], exec // 000000013E24: BEA8047E s_andn2_b64 exec, s[40:41], s[34:35] // wrscc // 000000013E28: 8AFE2228 v_cmp_ne_i32 vcc, -1, v12 // 000000013E2C: 7D0A18C1 s_cbranch_execz label_4FCC // 000000013E30: BF88003F s_and_saveexec_b64 s[42:43], vcc // wrscc // 000000013E34: BEAA246A v_addc_u32 v46, vcc, v31, v22, s[34:35] // 000000013E38: D2506A2E 008A2D1F s_cbranch_execz label_4FB2 // 000000013E40: BF880021 v_addc_u32 v31, vcc, v31, 1, s[34:35] // 000000013E44: D2506A1F 0089031F buffer_load_dword v46, v46, s[24:27], 0 idxen // 000000013E4C: E0302000 80062E2E s_waitcnt vmcnt(0) // 000000013E54: BF8C0F70 v_bfe_u32 v46, v46, 0, 16 // 000000013E58: D290002E 0241012E v_add_i32 v46, vcc, v12, v46 // 000000013E60: 4A5C5D0C tbuffer_load_format_xyz v[46:48], v46, s[36:39], 0 idxen format:[BUF_DATA_FORMAT_32_32_32,BUF_NUM_FORMAT_FLOAT] // 000000013E64: EBEA2000 80092E2E s_waitcnt vmcnt(0) // 000000013E6C: BF8C0F70 v_sub_f32 v46, v38, v46 // 000000013E70: 085C5D26 v_sub_f32 v47, v39, v47 // 000000013E74: 085E5F27 v_sub_f32 v48, v40, v48 // 000000013E78: 08606128 v_mul_legacy_f32 v48, v48, v48 // 000000013E7C: 0E606130 v_mac_f32 v48, v47, v47 // 000000013E80: 3E605F2F v_mac_f32 v48, v46, v46 // 000000013E84: 3E605D2E v_cmp_ge_f32 vcc, v13, v48 // 000000013E88: 7C0C610D v_cndmask_b32 v46, 0, 1.0, vcc // 000000013E8C: D200002E 01A9E480 v_cndmask_b32 v31, v45, v31, vcc // 000000013E94: 003E3F2D s_mov_b64 s[34:35], exec // 000000013E98: BEA2047E s_andn2_b64 exec, s[34:35], vcc // wrscc // 000000013E9C: 8AFE6A22 v_add_f32 v45, 0x34000000, v48 // 000000013EA0: 065A60FF 34000000 v_rcp_f32 v45, v45 // 000000013EA8: 7E5A552D v_mul_f32 v45, v13, v45 // 000000013EAC: 105A5B0D v_rsq_f32 v45, v45 // 000000013EB0: 7E5A5D2D v_add_f32 v45, -1.0, v45 // 000000013EB4: 065A5AF3 v_min_legacy_f32 v45, 1.0, v45 // 000000013EB8: 1A5A5AF2 s_andn2_b64 exec, s[34:35], exec // wrscc // 000000013EBC: 8AFE7E22 v_mov_b32 v45, v48 // 000000013EC0: 7E5A0330 s_mov_b64 exec, s[34:35] // 000000013EC4: BEFE0422 label_4FB2: s_andn2_b64 exec, s[42:43], exec // wrscc // 000000013EC8: 8AFE7E2A v_mov_b32 v62, v45 // 000000013ECC: 7E7C032D v_mov_b32 v45, 1.0 // 000000013ED0: 7E5A02F2 v_mov_b32 v46, 0 // 000000013ED4: 7E5C0280 v_mov_b32 v31, v62 // 000000013ED8: 7E3E033E s_mov_b64 exec, s[42:43] // 000000013EDC: BEFE042A v_cmp_eq_u32 vcc, 0, v46 // 000000013EE0: 7D845C80 s_and_b64 exec, s[42:43], vcc // wrscc // 000000013EE4: 87FE6A2A v_add_f32 v42, 0x34000000, v42 // 000000013EE8: 065454FF 34000000 s_cbranch_execz label_4FCA // 000000013EF0: BF88000D v_rsq_f32 v42, v42 // 000000013EF4: 7E545D2A v_mad_f32 v42, v21, v42, -1.0 // 000000013EF8: D282002A 03CE5515 v_max_legacy_f32 v42, 0, v42 // 000000013F00: 1C545480 v_mul_legacy_f32 v47, v42, v42 // 000000013F04: 0E5E552A v_mul_legacy_f32 v45, v45, v47 // 000000013F08: 0E5A5F2D v_add_f32 v44, v37, v44 // 000000013F0C: 06585925 v_rcp_f32 v44, v44 // 000000013F10: 7E58552C v_mul_f32 v44, v45, v44 // 000000013F14: 1058592D v_mac_f32 v32, v44, v35 // 000000013F18: 3E40472C v_mac_f32 v33, v44, v36 // 000000013F1C: 3E42492C v_mac_f32 v34, v44, v41 // 000000013F20: 3E44532C v_add_f32 v30, v30, v42 // 000000013F24: 063C551E label_4FCA: s_mov_b64 exec, s[42:43] // 000000013F28: BEFE042A v_mov_b32 v36, v46 // 000000013F2C: 7E48032E label_4FCC: s_andn2_b64 exec, s[40:41], exec // wrscc // 000000013F30: 8AFE7E28 v_mov_b32 v36, 0 // 000000013F34: 7E480280 v_mov_b32 v31, v45 // 000000013F38: 7E3E032D s_mov_b64 exec, s[40:41] // 000000013F3C: BEFE0428 v_mov_b32 v35, v43 // 000000013F40: 7E46032B label_4FD1: s_andn2_b64 exec, s[32:33], exec // wrscc // 000000013F44: 8AFE7E20 v_mov_b32 v62, 0 // 000000013F48: 7E7C0280 v_mov_b32 v36, 0 // 000000013F4C: 7E480280 v_mov_b32 v35, 0 // 000000013F50: 7E460280 s_mov_b64 exec, s[32:33] // 000000013F54: BEFE0420 v_cmp_eq_u32 vcc, 0, v36 // 000000013F58: 7D844880 v_addc_u32 v36, vcc, v31, 0, vcc // 000000013F5C: D2506A24 01A9011F v_cmp_eq_u32 vcc, 0, v35 // 000000013F64: 7D844680 v_cndmask_b32 v31, v31, v36, vcc // 000000013F68: 003E491F s_branch label_4F6F // 000000013F6C: BF82FF93 label_4FDC: s_mov_b64 exec, s[28:29] // 000000013F70: BEFE041C v_mov_b32 v24, 0 // 000000013F74: 7E300280 ds_read2_b32 v[24:25], v24 offset0:62 offset1:27 // 000000013F78: D8DC1B3E 18000018 s_load_dwordx4 s[20:23], s[0:1], 0x54 // 000000013F80: C08A0154 s_waitcnt lgkmcnt(0) // 000000013F84: BF8C007F v_add_i32 v25, vcc, v29, v25 // 000000013F88: 4A32331D buffer_load_dwordx3 v[35:37], v25, s[20:23], 0 idxen // 000000013F8C: E03C2000 80052319 v_mul_legacy_f32 v24, v27, v24 // 000000013F94: 0E30311B v_rcp_f32 v26, v30 // 000000013F98: 7E34551E v_mul_f32 v24, v24, v26 // 000000013F9C: 10303518 s_waitcnt vmcnt(0) // 000000013FA0: BF8C0F70 v_mad_f32 v26, v32, v24, v35 // 000000013FA4: D282001A 048E3120 v_mad_f32 v27, v33, v24, v36 // 000000013FAC: D282001B 04923121 v_mad_f32 v28, v34, v24, v37 // 000000013FB4: D282001C 04963122 buffer_store_dwordx3 v[26:28], v25, s[20:23], 0 idxen // 000000013FBC: E07C2000 80051A19 v_add_i32 v23, vcc, 0x00000400, v23 // 000000013FC4: 4A2E2EFF 00000400 s_branch label_4E07 // 000000013FCC: BF82FE13 label_4FF4: s_mov_b64 exec, s[18:19] // 000000013FD0: BEFE0412 s_waitcnt vmcnt(0) & lgkmcnt(0) // 000000013FD4: BF8C0070 s_barrier // 000000013FD8: BF8A0000 v_mov_b32 v12, 0 // 000000013FDC: 7E180280 ds_read_b32 v12, v12 offset:108 // 000000013FE0: D8D8006C 0C00000C s_mov_b64 s[18:19], exec // 000000013FE8: BE92047E v_mov_b32 v13, v9 // 000000013FEC: 7E1A0309 label_4FFC: v_cmp_ge_i32 vcc, v13, v11 // 000000013FF0: 7D0C170D s_andn2_b64 exec, exec, vcc // wrscc // 000000013FF4: 8AFE6A7E s_cbranch_execz label_500C // 000000013FF8: BF88000D s_load_dwordx8 s[20:27], s[0:1], 0x50 // 000000013FFC: C0CA0150 s_waitcnt lgkmcnt(0) // 000000014000: BF8C007F v_add_i32 v15, vcc, v12, v13 // 000000014004: 4A1E1B0C v_add_i32 v16, vcc, v3, v13 // 000000014008: 4A201B03 v_lshlrev_b32 v16, 4, v16 // 00000001400C: 34202084 v_add_i32 v13, vcc, 0x00000400, v13 // 000000014010: 4A1A1AFF 00000400 buffer_load_dwordx4 v[17:20], v15, s[24:27], 0 idxen // 000000014018: E0382000 8006110F s_waitcnt vmcnt(0) // 000000014020: BF8C0F70 buffer_store_dwordx4 v[17:20], v16, s[20:23], 0 offen // 000000014024: E0781000 80051110 s_branch label_4FFC // 00000001402C: BF82FFF0 label_500C: s_mov_b64 exec, s[18:19] // 000000014030: BEFE0412 v_mov_b32 v11, 0 // 000000014034: 7E160280 ds_read_b32 v11, v11 offset:112 // 000000014038: D8D80070 0B00000B s_mov_b64 s[18:19], exec // 000000014040: BE92047E s_waitcnt lgkmcnt(1) // 000000014044: BF8C017F v_mov_b32 v12, v9 // 000000014048: 7E180309 s_nop 0x0000 // 00000001404C: BF800000 s_nop 0x0000 // 000000014050: BF800000 s_nop 0x0000 // 000000014054: BF800000 label_5016: v_cmp_ge_i32 vcc, v12, v10 // 000000014058: 7D0C150C s_andn2_b64 exec, exec, vcc // wrscc // 00000001405C: 8AFE6A7E s_cbranch_execz label_502A // 000000014060: BF880011 s_load_dwordx4 s[20:23], s[0:1], 0x58 // 000000014064: C08A0158 s_waitcnt lgkmcnt(0) // 000000014068: BF8C007F v_add_i32 v13, vcc, v11, v12 // 00000001406C: 4A1A190B buffer_load_dword v13, v13, s[20:23], 0 idxen // 000000014070: E0302000 80050D0D s_waitcnt vmcnt(0) // 000000014078: BF8C0F70 v_lshrrev_b32 v13, 16, v13 // 00000001407C: 2C1A1A90 v_add_i32 v13, vcc, v14, v13 // 000000014080: 4A1A1B0E v_mov_b32 v15, -1 // 000000014084: 7E1E02C1 v_add_i32 v16, vcc, 1, v13 // 000000014088: 4A201A81 buffer_store_dword v15, v13, s[20:23], 0 idxen // 00000001408C: E0702000 80050F0D buffer_store_dword v15, v16, s[20:23], 0 idxen // 000000014094: E0702000 80050F10 v_add_i32 v12, vcc, 0x00000400, v12 // 00000001409C: 4A1818FF 00000400 s_branch label_5016 // 0000000140A4: BF82FFEC label_502A: s_mov_b64 exec, s[16:17] // 0000000140A8: BEFE0410 v_cmp_eq_u32 vcc, 0, v9 // 0000000140AC: 7D841280 s_and_b64 exec, s[16:17], vcc // wrscc // 0000000140B0: 87FE6A10 v_mov_b32 v10, 0 // 0000000140B4: 7E140280 s_waitcnt lgkmcnt(0) // 0000000140B8: BF8C007F ds_read2_b32 v[11:12], v10 offset0:34 offset1:70 // 0000000140BC: D8DC4622 0B00000A s_waitcnt lgkmcnt(0) // 0000000140C4: BF8C007F v_mul_legacy_f32 v11, 0x447a0000, v11 // 0000000140C8: 0E1616FF 447A0000 v_cvt_u32_f32 v11, v11 // 0000000140D0: 7E160F0B v_max_u32 v11, 1, v11 // 0000000140D4: 28161681 v_add_i32 v11, vcc, v11, v12 // 0000000140D8: 4A16190B ds_write_b32 v10, v11 offset:280 // 0000000140DC: D8340118 00000B0A s_mov_b64 exec, s[16:17] // 0000000140E4: BEFE0410 s_waitcnt vmcnt(0) & lgkmcnt(0) // 0000000140E8: BF8C0070 s_barrier // 0000000140EC: BF8A0000 v_mov_b32 v10, 0 // 0000000140F0: 7E140280 ds_read2_b32 v[10:11], v10 offset0:70 offset1:29 // 0000000140F4: D8DC1D46 0A00000A s_waitcnt lgkmcnt(0) // 0000000140FC: BF8C007F v_cmp_ge_u32 vcc, v10, v11 // 000000014100: 7D8C170A s_and_b64 exec, s[16:17], vcc // wrscc // 000000014104: 87FE6A10 v_mov_b32 v10, 0 // 000000014108: 7E140280 s_cbranch_execz label_507C // 00000001410C: BF880038 ds_read_b32 v10, v10 // 000000014110: D8D80000 0A00000A s_mov_b64 s[18:19], exec // 000000014118: BE92047E v_mov_b32 v11, 0 // 00000001411C: 7E160280 v_mov_b32 v12, v9 // 000000014120: 7E180309 label_5049: s_waitcnt lgkmcnt(0) // 000000014124: BF8C007F v_cmp_ge_u32 vcc, v12, v10 // 000000014128: 7D8C150C s_andn2_b64 exec, exec, vcc // wrscc // 00000001412C: 8AFE6A7E s_cbranch_execz label_5061 // 000000014130: BF880014 s_load_dwordx4 s[20:23], s[0:1], 0x50 // 000000014134: C08A0150 v_add_i32 v13, vcc, v3, v12 // 000000014138: 4A1A1903 v_add_i32 v14, vcc, v8, v12 // 00000001413C: 4A1C1908 v_lshlrev_b32 v13, 4, v13 // 000000014140: 341A1A84 v_lshlrev_b32 v14, 4, v14 // 000000014144: 341C1C84 v_add_i32 v12, vcc, 0x00000400, v12 // 000000014148: 4A1818FF 00000400 s_waitcnt lgkmcnt(0) // 000000014150: BF8C007F buffer_load_dwordx3 v[15:17], v13, s[20:23], 0 offen // 000000014154: E03C1000 80050F0D buffer_load_dwordx3 v[18:20], v14, s[20:23], 0 offen // 00000001415C: E03C1000 8005120E s_waitcnt vmcnt(0) // 000000014164: BF8C0F70 v_sub_f32 v13, v15, v18 // 000000014168: 081A250F v_sub_f32 v14, v16, v19 // 00000001416C: 081C2710 v_sub_f32 v15, v17, v20 // 000000014170: 081E2911 v_max3_f32 v13, abs(v13), abs(v14), abs(v15) // 000000014174: D2A8070D 043E1D0D v_max_legacy_f32 v11, v11, v13 // 00000001417C: 1C161B0B s_branch label_5049 // 000000014180: BF82FFE8 label_5061: s_mov_b64 exec, s[18:19] // 000000014184: BEFE0412 v_cmp_eq_u32 vcc, 0, v9 // 000000014188: 7D841280 s_and_saveexec_b64 s[18:19], vcc // wrscc // 00000001418C: BE92246A v_mov_b32 v10, 0 // 000000014190: 7E140280 ds_read_b32 v12, v10 offset:276 // 000000014194: D8D80114 0C00000A s_waitcnt lgkmcnt(0) // 00000001419C: BF8C007F v_add_i32 v12, vcc, 1, v12 // 0000000141A0: 4A181881 ds_write_b32 v10, v12 offset:276 // 0000000141A4: D8340114 00000C0A ds_read2_b32 v[12:13], v10 offset0:29 offset1:70 // 0000000141AC: D8DC461D 0C00000A s_waitcnt lgkmcnt(0) // 0000000141B4: BF8C007F v_sub_i32 v12, vcc, v13, v12 // 0000000141B8: 4C18190D ds_write_b32 v10, v12 offset:280 // 0000000141BC: D8340118 00000C0A s_mov_b64 exec, s[18:19] // 0000000141C4: BEFE0412 v_mov_b32 v10, 0 // 0000000141C8: 7E140280 ds_read2_b32 v[12:13], v10 offset0:31 offset1:34 // 0000000141CC: D8DC221F 0C00000A s_waitcnt lgkmcnt(0) // 0000000141D4: BF8C007F v_mul_legacy_f32 v10, v12, v13 // 0000000141D8: 0E141B0C v_cmp_gt_f32 vcc, v11, v10 // 0000000141DC: 7C08150B s_and_b64 exec, s[18:19], vcc // wrscc // 0000000141E0: 87FE6A12 v_mov_b32 v10, 0 // 0000000141E4: 7E140280 ds_write_b32 v10, v10 offset:276 // 0000000141E8: D8340114 00000A0A label_507C: s_mov_b64 exec, s[16:17] // 0000000141F0: BEFE0410 v_add_i32 v4, vcc, 1, v4 // 0000000141F4: 4A080881 v_mov_b32 v62, v4 // 0000000141F8: 7E7C0304 v_mov_b32 v4, v5 // 0000000141FC: 7E080305 v_mov_b32 v5, v6 // 000000014200: 7E0A0306 v_mov_b32 v6, v7 // 000000014204: 7E0C0307 v_mov_b32 v7, v8 // 000000014208: 7E0E0308 v_mov_b32 v8, v9 // 00000001420C: 7E100309 v_mov_b32 v9, v62 // 000000014210: 7E12033E s_branch label_2972 // 000000014214: BF82D8EC label_5086: s_mov_b64 exec, s[12:13] // 000000014218: BEFE040C s_waitcnt vmcnt(0) // 00000001421C: BF8C0F70 s_barrier // 000000014220: BF8A0000 v_mov_b32 v7, v8 // 000000014224: 7E0E0308 label_508A: v_cmp_eq_u32 vcc, 0, v7 // 000000014228: 7D840E80 s_and_saveexec_b64 s[4:5], vcc // wrscc // 00000001422C: BE84246A v_mov_b32 v0, 0 // 000000014230: 7E000280 s_cbranch_execz label_50E8 // 000000014234: BF88005A ds_read2_b32 v[1:2], v0 offset0:32 offset1:33 // 000000014238: D8DC2120 01000000 ds_read2_b32 v[3:4], v0 offset0:34 offset1:35 // 000000014240: D8DC2322 03000000 ds_read2_b32 v[5:6], v0 offset0:36 offset1:37 // 000000014248: D8DC2524 05000000 ds_read2_b32 v[7:8], v0 offset0:38 offset1:39 // 000000014250: D8DC2726 07000000 s_load_dwordx4 s[8:11], s[0:1], 0x5c // 000000014258: C084015C ds_read2_b32 v[9:10], v0 offset0:40 offset1:41 // 00000001425C: D8DC2928 09000000 ds_read2_b32 v[11:12], v0 offset0:42 offset1:43 // 000000014264: D8DC2B2A 0B000000 ds_read2_b32 v[13:14], v0 offset0:44 offset1:45 // 00000001426C: D8DC2D2C 0D000000 ds_read2_b32 v[15:16], v0 offset0:46 offset1:47 // 000000014274: D8DC2F2E 0F000000 v_mov_b32 v17, s2 // 00000001427C: 7E220202 ds_read2_b32 v[18:19], v0 offset0:48 offset1:49 // 000000014280: D8DC3130 12000000 ds_read2_b32 v[20:21], v0 offset0:50 offset1:51 // 000000014288: D8DC3332 14000000 v_mov_b32 v22, s2 // 000000014290: 7E2C0202 ds_read2_b32 v[23:24], v0 offset0:52 offset1:53 // 000000014294: D8DC3534 17000000 ds_read2_b32 v[25:26], v0 offset0:54 offset1:55 // 00000001429C: D8DC3736 19000000 v_mov_b32 v27, s2 // 0000000142A4: 7E360202 ds_read2_b32 v[28:29], v0 offset0:56 offset1:57 // 0000000142A8: D8DC3938 1C000000 ds_read2_b32 v[30:31], v0 offset0:58 offset1:59 // 0000000142B0: D8DC3B3A 1E000000 s_waitcnt lgkmcnt(0) // 0000000142B8: BF8C007F buffer_store_dwordx4 v[1:4], v17, s[8:11], 0 idxen // 0000000142BC: E0782000 80020111 s_nop 0x0000 // 0000000142C4: BF800000 v_mov_b32 v1, s2 // 0000000142C8: 7E020202 ds_read2_b32 v[2:3], v0 offset0:60 offset1:61 // 0000000142CC: D8DC3D3C 02000000 ds_read2_b32 v[32:33], v0 offset0:62 offset1:63 // 0000000142D4: D8DC3F3E 20000000 buffer_store_dwordx4 v[5:8], v22, s[8:11], 0 idxen offset:16 // 0000000142DC: E0782010 80020516 v_mov_b32 v4, s2 // 0000000142E4: 7E080202 ds_read2_b32 v[5:6], v0 offset0:64 offset1:65 // 0000000142E8: D8DC4140 05000000 ds_read2_b32 v[7:8], v0 offset0:66 offset1:67 // 0000000142F0: D8DC4342 07000000 buffer_store_dwordx4 v[9:12], v27, s[8:11], 0 idxen offset:32 // 0000000142F8: E0782020 8002091B s_nop 0x0000 // 000000014300: BF800000 v_mov_b32 v9, s2 // 000000014304: 7E120202 ds_read2_b32 v[10:11], v0 offset0:68 offset1:69 // 000000014308: D8DC4544 0A000000 ds_read2_b32 v[34:35], v0 offset0:70 offset1:71 // 000000014310: D8DC4746 22000000 buffer_store_dwordx4 v[13:16], v1, s[8:11], 0 idxen offset:48 // 000000014318: E0782030 80020D01 s_nop 0x0000 // 000000014320: BF800000 ds_read2_b32 v[12:13], v0 offset0:72 offset1:73 // 000000014324: D8DC4948 0C000000 buffer_store_dwordx4 v[18:21], v4, s[8:11], 0 idxen offset:64 // 00000001432C: E0782040 80021204 v_mov_b32 v0, s2 // 000000014334: 7E000202 buffer_store_dwordx4 v[23:26], v9, s[8:11], 0 idxen offset:80 // 000000014338: E0782050 80021709 buffer_store_dwordx4 v[28:31], v1, s[8:11], 0 idxen offset:96 // 000000014340: E0782060 80021C01 s_waitcnt lgkmcnt(6) // 000000014348: BF8C067F v_mov_b32 v14, v2 // 00000001434C: 7E1C0302 v_mov_b32 v15, v3 // 000000014350: 7E1E0303 s_waitcnt lgkmcnt(5) // 000000014354: BF8C057F v_mov_b32 v16, v32 // 000000014358: 7E200320 v_mov_b32 v17, v33 // 00000001435C: 7E220321 buffer_store_dwordx4 v[14:17], v0, s[8:11], 0 idxen offset:112 // 000000014360: E0782070 80020E00 s_waitcnt lgkmcnt(3) // 000000014368: BF8C037F buffer_store_dwordx4 v[5:8], v4, s[8:11], 0 idxen offset:128 // 00000001436C: E0782080 80020504 s_waitcnt lgkmcnt(2) // 000000014374: BF8C027F v_mov_b32 v2, v10 // 000000014378: 7E04030A v_mov_b32 v3, v11 // 00000001437C: 7E06030B s_waitcnt lgkmcnt(1) // 000000014380: BF8C017F v_mov_b32 v4, v34 // 000000014384: 7E080322 v_mov_b32 v5, v35 // 000000014388: 7E0A0323 buffer_store_dwordx4 v[2:5], v1, s[8:11], 0 idxen offset:144 // 00000001438C: E0782090 80020201 s_waitcnt lgkmcnt(0) // 000000014394: BF8C007F buffer_store_dwordx2 v[12:13], v0, s[8:11], 0 idxen offset:160 // 000000014398: E07420A0 80020C00 label_50E8: s_endpgm // 0000000143A0: BF810000 s_endpgm // 0000000143A4: BF810000 // Compiler Generated Internal Constant Buffer 0x10 // 0000000143A8: 00000010 0x3F800000 // 0000000143AC: 3F800000 0x0 // 0000000143B0: 00000000 0x0 // 0000000143B4: 00000000 0x0 // 0000000143B8: 00000000 0x0 // 0000000143BC: 00000000 0x3F800000 // 0000000143C0: 3F800000 0x0 // 0000000143C4: 00000000 0x0 // 0000000143C8: 00000000 0x0 // 0000000143CC: 00000000 0x0 // 0000000143D0: 00000000 0x3F800000 // 0000000143D4: 3F800000 0x0 // 0000000143D8: 00000000 0x0 // 0000000143DC: 00000000 0x0 // 0000000143E0: 00000000 0x0 // 0000000143E4: 00000000 0x3F800000 // 0000000143E8: 3F800000 s_endpgm // 0000000143EC: BF810000 end // Shader Statistics: // NumActiveThreadGroup: 1 // WorkgroupSize: 1024 // NumVRegs: 63 // NumSRegs: 99 // NumActiveWaveFrontByVReg: 16 // NumActiveWaveFrontBySReg: 16 // NumActiveThreadGroupByLDS: 32 // CycleSim: 916088 // CycleSimNWaves: 916088 // Code Size: 82928 //Assembler Counts: // num_32bit_ops : 11184 // num_64bit_ops : 4535 // num_alu : 7892 // num_fc : 4701 // num_inst_exp : 0 // num_inst_ldsgds : 2637 // num_inst_mimg : 0 // num_inst_mtbuf : 122 // num_inst_mubuf : 367 // num_inst_sopp : 2868 // num_inst_sopc : 0 // num_inst_sop1 : 902 // num_inst_sop2 : 706 // num_inst_smrd : 0 // num_inst_sopk : 81 // num_inst_vop1 : 1599 // num_inst_vop2 : 4419 // num_inst_vop3 : 800 // num_inst_vopc : 465 // num_inst_vintrp : 0 // constant_literal_operands : 0 // num_tex : 3126 // num_vmem_group : 302 // vmem_grouping_started : 0 // //Compilation Observations: // // WARNING!!!: Individual shader threads are making use of scratch memory. // This may be due to dynamic access to local array or due to register // spilling. Examine this shader and find a way to eliminate the // use of thread local memory. // // Shader Statistics: // m_uNumActiveWaveFront : 1 // m_uVRegLimit : 256 // m_uSRegLimit : 512 // m_uNumVRegs : 63 // m_uNumSRegs : 99 // m_uSCCodeSize : 82928 // m_uWorkgroupSize : 1024 // m_uNumActiveWaveFrontByVReg : 16 // m_uNumActiveWaveFrontBySReg : 16 // m_uNumActiveWaveFrontByLDS : 32 // m_uCycleSim1Wave : 916088 // m_uCycleSimNWaves : 916088 // Assembler Counts: // num_32bit_ops : 11184 // num_64bit_ops : 4535 // num_alu : 7892 // num_fc : 4701 // num_inst_exp : 0 // num_inst_ldsgds : 2637 // num_inst_mimg : 0 // num_inst_mtbuf : 122 // num_inst_mubuf : 367 // num_inst_sopp : 2868 // num_inst_sopc : 0 // num_inst_sop1 : 902 // num_inst_sop2 : 706 // num_inst_smrd : 0 // num_inst_sopk : 81 // num_inst_vop1 : 1599 // num_inst_vop2 : 4419 // num_inst_vop3 : 800 // num_inst_vopc : 465 // num_inst_vintrp : 0 // num_inst_smem : 144 // constant_literal_operands : 0 // num_tex : 3126 // num_vmem_group : 302 // vmem_grouping_started : 0 // m_fFullPrecompilePromise : 0 // m_fIntegerDivideExpansion : 0 // m_fIntegerModExpansion : 0 // m_fDoubleDivideExpansion : 0 // m_fUsesScratch : 1 // m_fPerThreadIndirection : 0 // m_fUsingTableLoads : 0 // m_fUsingSHmemLoads : 1 // fSemanticHashFlagOverrideApplied : 0 // fPSHasNoUAVWrite : 0 // m_fRenderTargetsCanBeCompacted : 0 // version : 3 // fCodePatched : 0 // Approximately 5201 instruction slots used #endif const BYTE gDxSolverKernel[] = { 68, 88, 66, 67, 232, 116, 206, 31, 91, 55, 21, 167, 51, 224, 179, 28, 72, 24, 140, 143, 1, 0, 0, 0, 248, 206, 2, 0, 6, 0, 0, 0, 56, 0, 0, 0, 84, 23, 0, 0, 100, 23, 0, 0, 116, 23, 0, 0, 76, 206, 2, 0, 232, 206, 2, 0, 82, 68, 69, 70, 20, 23, 0, 0, 23, 0, 0, 0, 232, 4, 0, 0, 24, 0, 0, 0, 60, 0, 0, 0, 0, 5, 83, 67, 0, 1, 0, 0, 228, 22, 0, 0, 82, 68, 49, 49, 60, 0, 0, 0, 24, 0, 0, 0, 32, 0, 0, 0, 40, 0, 0, 0, 36, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 60, 3, 0, 0, 5, 0, 0, 0, 6, 0, 0, 0, 1, 0, 0, 0, 128, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 71, 3, 0, 0, 5, 0, 0, 0, 6, 0, 0, 0, 1, 0, 0, 0, 112, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 81, 3, 0, 0, 5, 0, 0, 0, 6, 0, 0, 0, 1, 0, 0, 0, 24, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 95, 3, 0, 0, 5, 0, 0, 0, 6, 0, 0, 0, 1, 0, 0, 0, 8, 0, 0, 0, 4, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 108, 3, 0, 0, 5, 0, 0, 0, 6, 0, 0, 0, 1, 0, 0, 0, 4, 0, 0, 0, 5, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 127, 3, 0, 0, 5, 0, 0, 0, 6, 0, 0, 0, 1, 0, 0, 0, 8, 0, 0, 0, 6, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 143, 3, 0, 0, 5, 0, 0, 0, 6, 0, 0, 0, 1, 0, 0, 0, 16, 0, 0, 0, 7, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 161, 3, 0, 0, 5, 0, 0, 0, 6, 0, 0, 0, 1, 0, 0, 0, 4, 0, 0, 0, 8, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 174, 3, 0, 0, 5, 0, 0, 0, 6, 0, 0, 0, 1, 0, 0, 0, 16, 0, 0, 0, 9, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 191, 3, 0, 0, 5, 0, 0, 0, 6, 0, 0, 0, 1, 0, 0, 0, 12, 0, 0, 0, 10, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 211, 3, 0, 0, 5, 0, 0, 0, 6, 0, 0, 0, 1, 0, 0, 0, 16, 0, 0, 0, 11, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 230, 3, 0, 0, 5, 0, 0, 0, 6, 0, 0, 0, 1, 0, 0, 0, 16, 0, 0, 0, 12, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 253, 3, 0, 0, 5, 0, 0, 0, 6, 0, 0, 0, 1, 0, 0, 0, 16, 0, 0, 0, 13, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 20, 4, 0, 0, 5, 0, 0, 0, 6, 0, 0, 0, 1, 0, 0, 0, 16, 0, 0, 0, 14, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 35, 4, 0, 0, 5, 0, 0, 0, 6, 0, 0, 0, 1, 0, 0, 0, 4, 0, 0, 0, 15, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 57, 4, 0, 0, 5, 0, 0, 0, 6, 0, 0, 0, 1, 0, 0, 0, 4, 0, 0, 0, 16, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 81, 4, 0, 0, 5, 0, 0, 0, 6, 0, 0, 0, 1, 0, 0, 0, 4, 0, 0, 0, 17, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 92, 4, 0, 0, 5, 0, 0, 0, 6, 0, 0, 0, 1, 0, 0, 0, 4, 0, 0, 0, 18, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 117, 4, 0, 0, 5, 0, 0, 0, 6, 0, 0, 0, 1, 0, 0, 0, 16, 0, 0, 0, 19, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 141, 4, 0, 0, 5, 0, 0, 0, 6, 0, 0, 0, 1, 0, 0, 0, 16, 0, 0, 0, 20, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 165, 4, 0, 0, 8, 0, 0, 0, 6, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 176, 4, 0, 0, 6, 0, 0, 0, 6, 0, 0, 0, 1, 0, 0, 0, 16, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 200, 4, 0, 0, 6, 0, 0, 0, 6, 0, 0, 0, 1, 0, 0, 0, 4, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 219, 4, 0, 0, 6, 0, 0, 0, 6, 0, 0, 0, 1, 0, 0, 0, 168, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 98, 67, 108, 111, 116, 104, 68, 97, 116, 97, 0, 98, 73, 116, 101, 114, 68, 97, 116, 97, 0, 98, 80, 104, 97, 115, 101, 67, 111, 110, 102, 105, 103, 115, 0, 98, 67, 111, 110, 115, 116, 114, 97, 105, 110, 116, 115, 0, 98, 84, 101, 116, 104, 101, 114, 67, 111, 110, 115, 116, 114, 97, 105, 110, 116, 115, 0, 98, 67, 97, 112, 115, 117, 108, 101, 73, 110, 100, 105, 99, 101, 115, 0, 98, 67, 111, 108, 108, 105, 115, 105, 111, 110, 83, 112, 104, 101, 114, 101, 115, 0, 98, 67, 111, 110, 118, 101, 120, 77, 97, 115, 107, 115, 0, 98, 67, 111, 108, 108, 105, 115, 105, 111, 110, 80, 108, 97, 110, 101, 115, 0, 98, 67, 111, 108, 108, 105, 115, 105, 111, 110, 84, 114, 105, 97, 110, 103, 108, 101, 115, 0, 98, 77, 111, 116, 105, 111, 110, 67, 111, 110, 115, 116, 114, 97, 105, 110, 116, 115, 0, 98, 83, 101, 112, 97, 114, 97, 116, 105, 111, 110, 67, 111, 110, 115, 116, 114, 97, 105, 110, 116, 115, 0, 98, 80, 97, 114, 116, 105, 99, 108, 101, 65, 99, 99, 101, 108, 101, 114, 97, 116, 105, 111, 110, 115, 0, 98, 82, 101, 115, 116, 80, 111, 115, 105, 116, 105, 111, 110, 115, 0, 98, 83, 101, 108, 102, 67, 111, 108, 108, 105, 115, 105, 111, 110, 73, 110, 100, 105, 99, 101, 115, 0, 98, 80, 101, 114, 67, 111, 110, 115, 116, 114, 97, 105, 110, 116, 83, 116, 105, 102, 102, 110, 101, 115, 115, 0, 98, 84, 114, 105, 97, 110, 103, 108, 101, 115, 0, 98, 86, 105, 114, 116, 117, 97, 108, 80, 97, 114, 116, 105, 99, 108, 101, 83, 101, 116, 83, 105, 122, 101, 115, 0, 98, 86, 105, 114, 116, 117, 97, 108, 80, 97, 114, 116, 105, 99, 108, 101, 73, 110, 100, 105, 99, 101, 115, 0, 98, 86, 105, 114, 116, 117, 97, 108, 80, 97, 114, 116, 105, 99, 108, 101, 87, 101, 105, 103, 104, 116, 115, 0, 98, 80, 97, 114, 116, 105, 99, 108, 101, 115, 0, 98, 83, 101, 108, 102, 67, 111, 108, 108, 105, 115, 105, 111, 110, 80, 97, 114, 116, 105, 99, 108, 101, 115, 0, 98, 83, 101, 108, 102, 67, 111, 108, 108, 105, 115, 105, 111, 110, 68, 97, 116, 97, 0, 98, 70, 114, 97, 109, 101, 68, 97, 116, 97, 0, 171, 171, 60, 3, 0, 0, 1, 0, 0, 0, 16, 7, 0, 0, 128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 71, 3, 0, 0, 1, 0, 0, 0, 168, 11, 0, 0, 112, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 81, 3, 0, 0, 1, 0, 0, 0, 152, 12, 0, 0, 24, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 95, 3, 0, 0, 1, 0, 0, 0, 156, 13, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 108, 3, 0, 0, 1, 0, 0, 0, 36, 14, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 127, 3, 0, 0, 1, 0, 0, 0, 140, 14, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 143, 3, 0, 0, 1, 0, 0, 0, 8, 15, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 161, 3, 0, 0, 1, 0, 0, 0, 92, 15, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 174, 3, 0, 0, 1, 0, 0, 0, 132, 15, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 191, 3, 0, 0, 1, 0, 0, 0, 172, 15, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 211, 3, 0, 0, 1, 0, 0, 0, 0, 16, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 230, 3, 0, 0, 1, 0, 0, 0, 40, 16, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 253, 3, 0, 0, 1, 0, 0, 0, 80, 16, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 20, 4, 0, 0, 1, 0, 0, 0, 120, 16, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 35, 4, 0, 0, 1, 0, 0, 0, 160, 16, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 57, 4, 0, 0, 1, 0, 0, 0, 244, 16, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 81, 4, 0, 0, 1, 0, 0, 0, 28, 17, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 92, 4, 0, 0, 1, 0, 0, 0, 68, 17, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 117, 4, 0, 0, 1, 0, 0, 0, 108, 17, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 141, 4, 0, 0, 1, 0, 0, 0, 192, 17, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 176, 4, 0, 0, 1, 0, 0, 0, 232, 17, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 200, 4, 0, 0, 1, 0, 0, 0, 16, 18, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 219, 4, 0, 0, 1, 0, 0, 0, 56, 18, 0, 0, 168, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 56, 7, 0, 0, 0, 0, 0, 0, 128, 0, 0, 0, 2, 0, 0, 0, 132, 11, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 36, 69, 108, 101, 109, 101, 110, 116, 0, 68, 120, 67, 108, 111, 116, 104, 68, 97, 116, 97, 0, 109, 78, 117, 109, 80, 97, 114, 116, 105, 99, 108, 101, 115, 0, 117, 105, 110, 116, 51, 50, 95, 116, 0, 0, 0, 19, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 91, 7, 0, 0, 109, 80, 97, 114, 116, 105, 99, 108, 101, 115, 79, 102, 102, 115, 101, 116, 0, 109, 78, 117, 109, 80, 104, 97, 115, 101, 115, 0, 109, 80, 104, 97, 115, 101, 67, 111, 110, 102, 105, 103, 79, 102, 102, 115, 101, 116, 0, 109, 67, 111, 110, 115, 116, 114, 97, 105, 110, 116, 79, 102, 102, 115, 101, 116, 0, 109, 83, 116, 105, 102, 102, 110, 101, 115, 115, 79, 102, 102, 115, 101, 116, 0, 109, 78, 117, 109, 84, 101, 116, 104, 101, 114, 115, 0, 109, 84, 101, 116, 104, 101, 114, 79, 102, 102, 115, 101, 116, 0, 109, 84, 101, 116, 104, 101, 114, 67, 111, 110, 115, 116, 114, 97, 105, 110, 116, 83, 99, 97, 108, 101, 0, 102, 108, 111, 97, 116, 0, 171, 171, 171, 0, 0, 3, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 8, 0, 0, 109, 78, 117, 109, 84, 114, 105, 97, 110, 103, 108, 101, 115, 0, 109, 83, 116, 97, 114, 116, 84, 114, 105, 97, 110, 103, 108, 101, 79, 102, 102, 115, 101, 116, 0, 109, 77, 111, 116, 105, 111, 110, 67, 111, 110, 115, 116, 114, 97, 105, 110, 116, 83, 99, 97, 108, 101, 0, 109, 77, 111, 116, 105, 111, 110, 67, 111, 110, 115, 116, 114, 97, 105, 110, 116, 66, 105, 97, 115, 0, 109, 78, 117, 109, 67, 97, 112, 115, 117, 108, 101, 115, 0, 109, 67, 97, 112, 115, 117, 108, 101, 79, 102, 102, 115, 101, 116, 0, 109, 78, 117, 109, 83, 112, 104, 101, 114, 101, 115, 0, 109, 78, 117, 109, 80, 108, 97, 110, 101, 115, 0, 109, 78, 117, 109, 67, 111, 110, 118, 101, 120, 101, 115, 0, 109, 67, 111, 110, 118, 101, 120, 77, 97, 115, 107, 115, 79, 102, 102, 115, 101, 116, 0, 109, 78, 117, 109, 67, 111, 108, 108, 105, 115, 105, 111, 110, 84, 114, 105, 97, 110, 103, 108, 101, 115, 0, 109, 78, 117, 109, 86, 105, 114, 116, 117, 97, 108, 80, 97, 114, 116, 105, 99, 108, 101, 83, 101, 116, 83, 105, 122, 101, 115, 0, 109, 69, 110, 97, 98, 108, 101, 67, 111, 110, 116, 105, 110, 117, 111, 117, 115, 67, 111, 108, 108, 105, 115, 105, 111, 110, 0, 109, 67, 111, 108, 108, 105, 115, 105, 111, 110, 77, 97, 115, 115, 83, 99, 97, 108, 101, 0, 109, 70, 114, 105, 99, 116, 105, 111, 110, 83, 99, 97, 108, 101, 0, 109, 83, 101, 108, 102, 67, 111, 108, 108, 105, 115, 105, 111, 110, 68, 105, 115, 116, 97, 110, 99, 101, 0, 109, 78, 117, 109, 83, 101, 108, 102, 67, 111, 108, 108, 105, 115, 105, 111, 110, 73, 110, 100, 105, 99, 101, 115, 0, 109, 83, 101, 108, 102, 67, 111, 108, 108, 105, 115, 105, 111, 110, 73, 110, 100, 105, 99, 101, 115, 79, 102, 102, 115, 101, 116, 0, 109, 83, 101, 108, 102, 67, 111, 108, 108, 105, 115, 105, 111, 110, 80, 97, 114, 116, 105, 99, 108, 101, 115, 79, 102, 102, 115, 101, 116, 0, 109, 83, 101, 108, 102, 67, 111, 108, 108, 105, 115, 105, 111, 110, 68, 97, 116, 97, 79, 102, 102, 115, 101, 116, 0, 109, 83, 108, 101, 101, 112, 84, 101, 115, 116, 73, 110, 116, 101, 114, 118, 97, 108, 0, 109, 83, 108, 101, 101, 112, 65, 102, 116, 101, 114, 67, 111, 117, 110, 116, 0, 109, 83, 108, 101, 101, 112, 84, 104, 114, 101, 115, 104, 111, 108, 100, 0, 171, 77, 7, 0, 0, 100, 7, 0, 0, 0, 0, 0, 0, 136, 7, 0, 0, 100, 7, 0, 0, 4, 0, 0, 0, 153, 7, 0, 0, 100, 7, 0, 0, 8, 0, 0, 0, 164, 7, 0, 0, 100, 7, 0, 0, 12, 0, 0, 0, 183, 7, 0, 0, 100, 7, 0, 0, 16, 0, 0, 0, 201, 7, 0, 0, 100, 7, 0, 0, 20, 0, 0, 0, 218, 7, 0, 0, 100, 7, 0, 0, 24, 0, 0, 0, 230, 7, 0, 0, 100, 7, 0, 0, 28, 0, 0, 0, 244, 7, 0, 0, 20, 8, 0, 0, 32, 0, 0, 0, 56, 8, 0, 0, 100, 7, 0, 0, 36, 0, 0, 0, 70, 8, 0, 0, 100, 7, 0, 0, 40, 0, 0, 0, 91, 8, 0, 0, 20, 8, 0, 0, 44, 0, 0, 0, 114, 8, 0, 0, 20, 8, 0, 0, 48, 0, 0, 0, 136, 8, 0, 0, 100, 7, 0, 0, 52, 0, 0, 0, 149, 8, 0, 0, 100, 7, 0, 0, 56, 0, 0, 0, 164, 8, 0, 0, 100, 7, 0, 0, 60, 0, 0, 0, 176, 8, 0, 0, 100, 7, 0, 0, 64, 0, 0, 0, 187, 8, 0, 0, 100, 7, 0, 0, 68, 0, 0, 0, 200, 8, 0, 0, 100, 7, 0, 0, 72, 0, 0, 0, 219, 8, 0, 0, 100, 7, 0, 0, 76, 0, 0, 0, 242, 8, 0, 0, 100, 7, 0, 0, 80, 0, 0, 0, 14, 9, 0, 0, 100, 7, 0, 0, 84, 0, 0, 0, 41, 9, 0, 0, 20, 8, 0, 0, 88, 0, 0, 0, 61, 9, 0, 0, 20, 8, 0, 0, 92, 0, 0, 0, 76, 9, 0, 0, 20, 8, 0, 0, 96, 0, 0, 0, 99, 9, 0, 0, 100, 7, 0, 0, 100, 0, 0, 0, 124, 9, 0, 0, 100, 7, 0, 0, 104, 0, 0, 0, 152, 9, 0, 0, 100, 7, 0, 0, 108, 0, 0, 0, 182, 9, 0, 0, 100, 7, 0, 0, 112, 0, 0, 0, 207, 9, 0, 0, 100, 7, 0, 0, 116, 0, 0, 0, 226, 9, 0, 0, 100, 7, 0, 0, 120, 0, 0, 0, 243, 9, 0, 0, 20, 8, 0, 0, 124, 0, 0, 0, 5, 0, 0, 0, 1, 0, 32, 0, 0, 0, 32, 0, 4, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 65, 7, 0, 0, 56, 7, 0, 0, 0, 0, 0, 0, 112, 0, 0, 0, 2, 0, 0, 0, 116, 12, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 68, 120, 73, 116, 101, 114, 97, 116, 105, 111, 110, 68, 97, 116, 97, 0, 109, 73, 110, 116, 101, 103, 114, 97, 116, 105, 111, 110, 84, 114, 97, 102, 111, 0, 171, 171, 0, 0, 3, 0, 1, 0, 1, 0, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 8, 0, 0, 109, 87, 105, 110, 100, 0, 171, 171, 0, 0, 3, 0, 1, 0, 1, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 8, 0, 0, 109, 73, 115, 84, 117, 114, 110, 105, 110, 103, 0, 171, 224, 11, 0, 0, 244, 11, 0, 0, 0, 0, 0, 0, 24, 12, 0, 0, 32, 12, 0, 0, 96, 0, 0, 0, 68, 12, 0, 0, 100, 7, 0, 0, 108, 0, 0, 0, 5, 0, 0, 0, 1, 0, 28, 0, 0, 0, 3, 0, 80, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 208, 11, 0, 0, 56, 7, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 2, 0, 0, 0, 120, 13, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 68, 120, 80, 104, 97, 115, 101, 67, 111, 110, 102, 105, 103, 0, 109, 83, 116, 105, 102, 102, 110, 101, 115, 115, 0, 109, 83, 116, 105, 102, 102, 110, 101, 115, 115, 77, 117, 108, 116, 105, 112, 108, 105, 101, 114, 0, 109, 67, 111, 109, 112, 114, 101, 115, 115, 105, 111, 110, 76, 105, 109, 105, 116, 0, 109, 83, 116, 114, 101, 116, 99, 104, 76, 105, 109, 105, 116, 0, 109, 70, 105, 114, 115, 116, 67, 111, 110, 115, 116, 114, 97, 105, 110, 116, 0, 109, 78, 117, 109, 67, 111, 110, 115, 116, 114, 97, 105, 110, 116, 115, 0, 171, 206, 12, 0, 0, 20, 8, 0, 0, 0, 0, 0, 0, 217, 12, 0, 0, 20, 8, 0, 0, 4, 0, 0, 0, 238, 12, 0, 0, 20, 8, 0, 0, 8, 0, 0, 0, 0, 13, 0, 0, 20, 8, 0, 0, 12, 0, 0, 0, 14, 13, 0, 0, 100, 7, 0, 0, 16, 0, 0, 0, 31, 13, 0, 0, 100, 7, 0, 0, 20, 0, 0, 0, 5, 0, 0, 0, 1, 0, 6, 0, 0, 0, 6, 0, 48, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 192, 12, 0, 0, 56, 7, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 2, 0, 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 68, 120, 67, 111, 110, 115, 116, 114, 97, 105, 110, 116, 0, 109, 82, 101, 115, 116, 118, 97, 108, 117, 101, 0, 109, 73, 110, 100, 105, 99, 101, 115, 0, 171, 171, 171, 209, 13, 0, 0, 20, 8, 0, 0, 0, 0, 0, 0, 220, 13, 0, 0, 100, 7, 0, 0, 4, 0, 0, 0, 5, 0, 0, 0, 1, 0, 2, 0, 0, 0, 2, 0, 232, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 196, 13, 0, 0, 56, 7, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 2, 0, 0, 0, 104, 14, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 68, 120, 84, 101, 116, 104, 101, 114, 0, 109, 86, 97, 108, 117, 101, 0, 85, 14, 0, 0, 100, 7, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 92, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 76, 14, 0, 0, 56, 7, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 2, 0, 0, 0, 228, 14, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 73, 110, 100, 101, 120, 80, 97, 105, 114, 0, 102, 105, 114, 115, 116, 0, 115, 101, 99, 111, 110, 100, 0, 171, 190, 14, 0, 0, 100, 7, 0, 0, 0, 0, 0, 0, 196, 14, 0, 0, 100, 7, 0, 0, 4, 0, 0, 0, 5, 0, 0, 0, 1, 0, 2, 0, 0, 0, 2, 0, 204, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 180, 14, 0, 0, 56, 7, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 2, 0, 0, 0, 56, 15, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 102, 108, 111, 97, 116, 52, 0, 171, 1, 0, 3, 0, 1, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 15, 0, 0, 56, 7, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 2, 0, 0, 0, 100, 7, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 56, 7, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 2, 0, 0, 0, 56, 15, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 56, 7, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 2, 0, 0, 0, 220, 15, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 102, 108, 111, 97, 116, 51, 0, 171, 1, 0, 3, 0, 1, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 212, 15, 0, 0, 56, 7, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 2, 0, 0, 0, 56, 15, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 56, 7, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 2, 0, 0, 0, 56, 15, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 56, 7, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 2, 0, 0, 0, 56, 15, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 56, 7, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 2, 0, 0, 0, 56, 15, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 56, 7, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 2, 0, 0, 0, 208, 16, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 105, 110, 116, 51, 50, 95, 116, 0, 0, 0, 2, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 200, 16, 0, 0, 56, 7, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 2, 0, 0, 0, 20, 8, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 56, 7, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 2, 0, 0, 0, 100, 7, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 56, 7, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 2, 0, 0, 0, 208, 16, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 56, 7, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 2, 0, 0, 0, 156, 17, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 117, 105, 110, 116, 52, 0, 171, 171, 1, 0, 19, 0, 1, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 148, 17, 0, 0, 56, 7, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 2, 0, 0, 0, 56, 15, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 56, 7, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 2, 0, 0, 0, 56, 15, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 56, 7, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 2, 0, 0, 0, 100, 7, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 56, 7, 0, 0, 0, 0, 0, 0, 168, 0, 0, 0, 2, 0, 0, 0, 192, 22, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 68, 120, 70, 114, 97, 109, 101, 68, 97, 116, 97, 0, 109, 68, 101, 118, 105, 99, 101, 80, 97, 114, 116, 105, 99, 108, 101, 115, 68, 105, 114, 116, 121, 0, 98, 111, 111, 108, 0, 171, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 130, 18, 0, 0, 109, 78, 117, 109, 83, 104, 97, 114, 101, 100, 80, 111, 115, 105, 116, 105, 111, 110, 115, 0, 109, 73, 116, 101, 114, 68, 116, 0, 109, 70, 105, 114, 115, 116, 73, 116, 101, 114, 97, 116, 105, 111, 110, 0, 109, 78, 117, 109, 73, 116, 101, 114, 97, 116, 105, 111, 110, 115, 0, 109, 84, 101, 116, 104, 101, 114, 67, 111, 110, 115, 116, 114, 97, 105, 110, 116, 83, 116, 105, 102, 102, 110, 101, 115, 115, 0, 109, 68, 114, 97, 103, 67, 111, 101, 102, 102, 105, 99, 105, 101, 110, 116, 0, 109, 76, 105, 102, 116, 67, 111, 101, 102, 102, 105, 99, 105, 101, 110, 116, 0, 109, 70, 108, 117, 105, 100, 68, 101, 110, 115, 105, 116, 121, 0, 109, 82, 111, 116, 97, 116, 105, 111, 110, 0, 0, 0, 3, 0, 1, 0, 1, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 8, 0, 0, 109, 77, 111, 116, 105, 111, 110, 67, 111, 110, 115, 116, 114, 97, 105, 110, 116, 83, 116, 105, 102, 102, 110, 101, 115, 115, 0, 109, 83, 116, 97, 114, 116, 77, 111, 116, 105, 111, 110, 67, 111, 110, 115, 116, 114, 97, 105, 110, 115, 79, 102, 102, 115, 101, 116, 0, 109, 84, 97, 114, 103, 101, 116, 77, 111, 116, 105, 111, 110, 67, 111, 110, 115, 116, 114, 97, 105, 110, 115, 79, 102, 102, 115, 101, 116, 0, 109, 83, 116, 97, 114, 116, 83, 101, 112, 97, 114, 97, 116, 105, 111, 110, 67, 111, 110, 115, 116, 114, 97, 105, 110, 115, 79, 102, 102, 115, 101, 116, 0, 109, 84, 97, 114, 103, 101, 116, 83, 101, 112, 97, 114, 97, 116, 105, 111, 110, 67, 111, 110, 115, 116, 114, 97, 105, 110, 115, 79, 102, 102, 115, 101, 116, 0, 109, 80, 97, 114, 116, 105, 99, 108, 101, 65, 99, 99, 101, 108, 101, 114, 97, 116, 105, 111, 110, 115, 79, 102, 102, 115, 101, 116, 0, 109, 83, 116, 97, 114, 116, 83, 112, 104, 101, 114, 101, 79, 102, 102, 115, 101, 116, 0, 109, 84, 97, 114, 103, 101, 116, 83, 112, 104, 101, 114, 101, 79, 102, 102, 115, 101, 116, 0, 109, 83, 116, 97, 114, 116, 67, 111, 108, 108, 105, 115, 105, 111, 110, 80, 108, 97, 110, 101, 79, 102, 102, 115, 101, 116, 0, 109, 84, 97, 114, 103, 101, 116, 67, 111, 108, 108, 105, 115, 105, 111, 110, 80, 108, 97, 110, 101, 79, 102, 102, 115, 101, 116, 0, 109, 83, 116, 97, 114, 116, 67, 111, 108, 108, 105, 115, 105, 111, 110, 84, 114, 105, 97, 110, 103, 108, 101, 115, 79, 102, 102, 115, 101, 116, 0, 109, 84, 97, 114, 103, 101, 116, 67, 111, 108, 108, 105, 115, 105, 111, 110, 84, 114, 105, 97, 110, 103, 108, 101, 115, 79, 102, 102, 115, 101, 116, 0, 109, 83, 101, 108, 102, 67, 111, 108, 108, 105, 115, 105, 111, 110, 83, 116, 105, 102, 102, 110, 101, 115, 115, 0, 109, 80, 97, 114, 116, 105, 99, 108, 101, 66, 111, 117, 110, 100, 115, 0, 171, 0, 0, 3, 0, 1, 0, 1, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 8, 0, 0, 109, 83, 108, 101, 101, 112, 80, 97, 115, 115, 67, 111, 117, 110, 116, 101, 114, 0, 109, 83, 108, 101, 101, 112, 84, 101, 115, 116, 67, 111, 117, 110, 116, 101, 114, 0, 109, 83, 116, 105, 102, 102, 110, 101, 115, 115, 69, 120, 112, 111, 110, 101, 110, 116, 0, 109, 82, 101, 115, 116, 80, 111, 115, 105, 116, 105, 111, 110, 115, 79, 102, 102, 115, 101, 116, 0, 109, 73, 110, 105, 116, 83, 101, 108, 102, 67, 111, 108, 108, 105, 115, 105, 111, 110, 68, 97, 116, 97, 0, 171, 108, 18, 0, 0, 136, 18, 0, 0, 0, 0, 0, 0, 172, 18, 0, 0, 100, 7, 0, 0, 4, 0, 0, 0, 192, 18, 0, 0, 20, 8, 0, 0, 8, 0, 0, 0, 200, 18, 0, 0, 100, 7, 0, 0, 12, 0, 0, 0, 216, 18, 0, 0, 100, 7, 0, 0, 16, 0, 0, 0, 231, 18, 0, 0, 20, 8, 0, 0, 20, 0, 0, 0, 2, 19, 0, 0, 20, 8, 0, 0, 24, 0, 0, 0, 19, 19, 0, 0, 20, 8, 0, 0, 28, 0, 0, 0, 36, 19, 0, 0, 20, 8, 0, 0, 32, 0, 0, 0, 50, 19, 0, 0, 60, 19, 0, 0, 36, 0, 0, 0, 96, 19, 0, 0, 20, 8, 0, 0, 72, 0, 0, 0, 123, 19, 0, 0, 100, 7, 0, 0, 76, 0, 0, 0, 152, 19, 0, 0, 100, 7, 0, 0, 80, 0, 0, 0, 182, 19, 0, 0, 100, 7, 0, 0, 84, 0, 0, 0, 215, 19, 0, 0, 100, 7, 0, 0, 88, 0, 0, 0, 249, 19, 0, 0, 100, 7, 0, 0, 92, 0, 0, 0, 22, 20, 0, 0, 100, 7, 0, 0, 96, 0, 0, 0, 41, 20, 0, 0, 100, 7, 0, 0, 100, 0, 0, 0, 61, 20, 0, 0, 100, 7, 0, 0, 104, 0, 0, 0, 88, 20, 0, 0, 100, 7, 0, 0, 108, 0, 0, 0, 116, 20, 0, 0, 100, 7, 0, 0, 112, 0, 0, 0, 147, 20, 0, 0, 100, 7, 0, 0, 116, 0, 0, 0, 179, 20, 0, 0, 20, 8, 0, 0, 120, 0, 0, 0, 203, 20, 0, 0, 220, 20, 0, 0, 124, 0, 0, 0, 0, 21, 0, 0, 100, 7, 0, 0, 148, 0, 0, 0, 18, 21, 0, 0, 100, 7, 0, 0, 152, 0, 0, 0, 36, 21, 0, 0, 20, 8, 0, 0, 156, 0, 0, 0, 55, 21, 0, 0, 100, 7, 0, 0, 160, 0, 0, 0, 76, 21, 0, 0, 136, 18, 0, 0, 164, 0, 0, 0, 5, 0, 0, 0, 1, 0, 42, 0, 0, 0, 29, 0, 100, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 96, 18, 0, 0, 77, 105, 99, 114, 111, 115, 111, 102, 116, 32, 40, 82, 41, 32, 72, 76, 83, 76, 32, 83, 104, 97, 100, 101, 114, 32, 67, 111, 109, 112, 105, 108, 101, 114, 32, 70, 111, 114, 32, 68, 117, 114, 97, 110, 103, 111, 0, 171, 73, 83, 71, 78, 8, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 79, 83, 71, 78, 8, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 83, 72, 69, 88, 208, 182, 2, 0, 80, 0, 5, 0, 180, 173, 0, 0, 53, 16, 0, 0, 5, 0, 0, 0, 190, 138, 0, 0, 80, 0, 5, 0, 185, 138, 0, 0, 106, 8, 0, 1, 53, 24, 0, 0, 18, 0, 0, 0, 0, 0, 128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 63, 162, 0, 0, 4, 0, 112, 16, 0, 0, 0, 0, 0, 128, 0, 0, 0, 162, 0, 0, 4, 0, 112, 16, 0, 2, 0, 0, 0, 112, 0, 0, 0, 162, 0, 0, 4, 0, 112, 16, 0, 3, 0, 0, 0, 24, 0, 0, 0, 162, 0, 0, 4, 0, 112, 16, 0, 4, 0, 0, 0, 8, 0, 0, 0, 162, 0, 0, 4, 0, 112, 16, 0, 5, 0, 0, 0, 4, 0, 0, 0, 162, 0, 0, 4, 0, 112, 16, 0, 6, 0, 0, 0, 8, 0, 0, 0, 162, 0, 0, 4, 0, 112, 16, 0, 7, 0, 0, 0, 16, 0, 0, 0, 162, 0, 0, 4, 0, 112, 16, 0, 8, 0, 0, 0, 4, 0, 0, 0, 162, 0, 0, 4, 0, 112, 16, 0, 9, 0, 0, 0, 16, 0, 0, 0, 162, 0, 0, 4, 0, 112, 16, 0, 10, 0, 0, 0, 12, 0, 0, 0, 162, 0, 0, 4, 0, 112, 16, 0, 11, 0, 0, 0, 16, 0, 0, 0, 162, 0, 0, 4, 0, 112, 16, 0, 12, 0, 0, 0, 16, 0, 0, 0, 162, 0, 0, 4, 0, 112, 16, 0, 13, 0, 0, 0, 16, 0, 0, 0, 162, 0, 0, 4, 0, 112, 16, 0, 14, 0, 0, 0, 16, 0, 0, 0, 162, 0, 0, 4, 0, 112, 16, 0, 15, 0, 0, 0, 4, 0, 0, 0, 162, 0, 0, 4, 0, 112, 16, 0, 16, 0, 0, 0, 4, 0, 0, 0, 162, 0, 0, 4, 0, 112, 16, 0, 17, 0, 0, 0, 4, 0, 0, 0, 162, 0, 0, 4, 0, 112, 16, 0, 18, 0, 0, 0, 4, 0, 0, 0, 162, 0, 0, 4, 0, 112, 16, 0, 19, 0, 0, 0, 16, 0, 0, 0, 162, 0, 0, 4, 0, 112, 16, 0, 20, 0, 0, 0, 16, 0, 0, 0, 157, 0, 0, 3, 0, 224, 17, 0, 0, 0, 0, 0, 158, 0, 0, 4, 0, 224, 17, 0, 1, 0, 0, 0, 16, 0, 0, 0, 158, 0, 0, 4, 0, 224, 17, 0, 2, 0, 0, 0, 4, 0, 0, 0, 158, 0, 0, 4, 0, 224, 17, 0, 3, 0, 0, 0, 168, 0, 0, 0, 95, 0, 0, 2, 18, 16, 2, 0, 95, 0, 0, 2, 18, 32, 2, 0, 104, 0, 0, 2, 51, 0, 0, 0, 159, 0, 0, 4, 0, 240, 17, 0, 0, 0, 0, 0, 128, 0, 0, 0, 159, 0, 0, 4, 0, 240, 17, 0, 1, 0, 0, 0, 168, 0, 0, 0, 159, 0, 0, 4, 0, 240, 17, 0, 2, 0, 0, 0, 112, 0, 0, 0, 160, 0, 0, 5, 0, 240, 17, 0, 3, 0, 0, 0, 4, 0, 0, 0, 196, 30, 0, 0, 160, 0, 0, 5, 0, 240, 17, 0, 4, 0, 0, 0, 4, 0, 0, 0, 192, 0, 0, 0, 159, 0, 0, 4, 0, 240, 17, 0, 5, 0, 0, 0, 36, 0, 0, 0, 160, 0, 0, 5, 0, 240, 17, 0, 6, 0, 0, 0, 4, 0, 0, 0, 3, 0, 0, 0, 155, 0, 0, 4, 0, 4, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 31, 0, 0, 2, 10, 32, 2, 0, 167, 0, 0, 138, 2, 3, 4, 128, 131, 153, 25, 0, 242, 0, 16, 0, 0, 0, 0, 0, 10, 16, 2, 0, 1, 64, 0, 0, 0, 0, 0, 0, 70, 126, 16, 0, 0, 0, 0, 0, 167, 0, 0, 138, 2, 3, 4, 128, 131, 153, 25, 0, 242, 0, 16, 0, 1, 0, 0, 0, 10, 16, 2, 0, 1, 64, 0, 0, 16, 0, 0, 0, 70, 126, 16, 0, 0, 0, 0, 0, 167, 0, 0, 138, 2, 3, 4, 128, 131, 153, 25, 0, 242, 0, 16, 0, 2, 0, 0, 0, 10, 16, 2, 0, 1, 64, 0, 0, 32, 0, 0, 0, 70, 126, 16, 0, 0, 0, 0, 0, 167, 0, 0, 138, 2, 3, 4, 128, 131, 153, 25, 0, 242, 0, 16, 0, 3, 0, 0, 0, 10, 16, 2, 0, 1, 64, 0, 0, 48, 0, 0, 0, 70, 126, 16, 0, 0, 0, 0, 0, 167, 0, 0, 138, 2, 3, 4, 128, 131, 153, 25, 0, 242, 0, 16, 0, 4, 0, 0, 0, 10, 16, 2, 0, 1, 64, 0, 0, 68, 0, 0, 0, 70, 126, 16, 0, 0, 0, 0, 0, 167, 0, 0, 138, 2, 3, 4, 128, 131, 153, 25, 0, 242, 0, 16, 0, 5, 0, 0, 0, 10, 16, 2, 0, 1, 64, 0, 0, 84, 0, 0, 0, 70, 126, 16, 0, 0, 0, 0, 0, 167, 0, 0, 138, 2, 3, 4, 128, 131, 153, 25, 0, 242, 0, 16, 0, 6, 0, 0, 0, 10, 16, 2, 0, 1, 64, 0, 0, 100, 0, 0, 0, 70, 126, 16, 0, 0, 0, 0, 0, 167, 0, 0, 138, 2, 3, 4, 128, 131, 153, 25, 0, 18, 0, 16, 0, 7, 0, 0, 0, 10, 16, 2, 0, 1, 64, 0, 0, 116, 0, 0, 0, 6, 112, 16, 0, 0, 0, 0, 0, 167, 0, 0, 138, 2, 3, 4, 128, 131, 153, 25, 0, 34, 0, 16, 0, 7, 0, 0, 0, 10, 16, 2, 0, 1, 64, 0, 0, 124, 0, 0, 0, 6, 112, 16, 0, 0, 0, 0, 0, 166, 0, 0, 7, 242, 240, 17, 0, 0, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 70, 14, 16, 0, 0, 0, 0, 0, 166, 0, 0, 7, 242, 240, 17, 0, 0, 0, 0, 0, 1, 64, 0, 0, 16, 0, 0, 0, 70, 14, 16, 0, 1, 0, 0, 0, 166, 0, 0, 7, 242, 240, 17, 0, 0, 0, 0, 0, 1, 64, 0, 0, 32, 0, 0, 0, 70, 14, 16, 0, 2, 0, 0, 0, 166, 0, 0, 7, 242, 240, 17, 0, 0, 0, 0, 0, 1, 64, 0, 0, 48, 0, 0, 0, 70, 14, 16, 0, 3, 0, 0, 0, 166, 0, 0, 7, 242, 240, 17, 0, 0, 0, 0, 0, 1, 64, 0, 0, 68, 0, 0, 0, 70, 14, 16, 0, 4, 0, 0, 0, 166, 0, 0, 7, 242, 240, 17, 0, 0, 0, 0, 0, 1, 64, 0, 0, 84, 0, 0, 0, 70, 14, 16, 0, 5, 0, 0, 0, 166, 0, 0, 7, 242, 240, 17, 0, 0, 0, 0, 0, 1, 64, 0, 0, 100, 0, 0, 0, 70, 14, 16, 0, 6, 0, 0, 0, 166, 0, 0, 7, 18, 240, 17, 0, 0, 0, 0, 0, 1, 64, 0, 0, 116, 0, 0, 0, 10, 0, 16, 0, 7, 0, 0, 0, 166, 0, 0, 7, 18, 240, 17, 0, 0, 0, 0, 0, 1, 64, 0, 0, 124, 0, 0, 0, 26, 0, 16, 0, 7, 0, 0, 0, 167, 0, 0, 138, 2, 67, 5, 128, 131, 153, 25, 0, 242, 0, 16, 0, 0, 0, 0, 0, 10, 16, 2, 0, 1, 64, 0, 0, 0, 0, 0, 0, 70, 238, 17, 0, 3, 0, 0, 0, 167, 0, 0, 138, 2, 67, 5, 128, 131, 153, 25, 0, 242, 0, 16, 0, 1, 0, 0, 0, 10, 16, 2, 0, 1, 64, 0, 0, 16, 0, 0, 0, 70, 238, 17, 0, 3, 0, 0, 0, 167, 0, 0, 138, 2, 67, 5, 128, 131, 153, 25, 0, 242, 0, 16, 0, 2, 0, 0, 0, 10, 16, 2, 0, 1, 64, 0, 0, 32, 0, 0, 0, 70, 238, 17, 0, 3, 0, 0, 0, 167, 0, 0, 138, 2, 67, 5, 128, 131, 153, 25, 0, 242, 0, 16, 0, 3, 0, 0, 0, 10, 16, 2, 0, 1, 64, 0, 0, 48, 0, 0, 0, 70, 238, 17, 0, 3, 0, 0, 0, 167, 0, 0, 138, 2, 67, 5, 128, 131, 153, 25, 0, 242, 0, 16, 0, 4, 0, 0, 0, 10, 16, 2, 0, 1, 64, 0, 0, 64, 0, 0, 0, 70, 238, 17, 0, 3, 0, 0, 0, 167, 0, 0, 138, 2, 67, 5, 128, 131, 153, 25, 0, 242, 0, 16, 0, 5, 0, 0, 0, 10, 16, 2, 0, 1, 64, 0, 0, 80, 0, 0, 0, 70, 238, 17, 0, 3, 0, 0, 0, 167, 0, 0, 138, 2, 67, 5, 128, 131, 153, 25, 0, 242, 0, 16, 0, 6, 0, 0, 0, 10, 16, 2, 0, 1, 64, 0, 0, 96, 0, 0, 0, 70, 238, 17, 0, 3, 0, 0, 0, 167, 0, 0, 138, 2, 67, 5, 128, 131, 153, 25, 0, 242, 0, 16, 0, 7, 0, 0, 0, 10, 16, 2, 0, 1, 64, 0, 0, 112, 0, 0, 0, 70, 238, 17, 0, 3, 0, 0, 0, 167, 0, 0, 138, 2, 67, 5, 128, 131, 153, 25, 0, 242, 0, 16, 0, 8, 0, 0, 0, 10, 16, 2, 0, 1, 64, 0, 0, 128, 0, 0, 0, 70, 238, 17, 0, 3, 0, 0, 0, 167, 0, 0, 138, 2, 67, 5, 128, 131, 153, 25, 0, 242, 0, 16, 0, 9, 0, 0, 0, 10, 16, 2, 0, 1, 64, 0, 0, 144, 0, 0, 0, 70, 238, 17, 0, 3, 0, 0, 0, 167, 0, 0, 138, 2, 67, 5, 128, 131, 153, 25, 0, 50, 0, 16, 0, 10, 0, 0, 0, 10, 16, 2, 0, 1, 64, 0, 0, 160, 0, 0, 0, 70, 224, 17, 0, 3, 0, 0, 0, 166, 0, 0, 7, 242, 240, 17, 0, 1, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 70, 14, 16, 0, 0, 0, 0, 0, 166, 0, 0, 7, 242, 240, 17, 0, 1, 0, 0, 0, 1, 64, 0, 0, 16, 0, 0, 0, 70, 14, 16, 0, 1, 0, 0, 0, 166, 0, 0, 7, 242, 240, 17, 0, 1, 0, 0, 0, 1, 64, 0, 0, 32, 0, 0, 0, 70, 14, 16, 0, 2, 0, 0, 0, 166, 0, 0, 7, 242, 240, 17, 0, 1, 0, 0, 0, 1, 64, 0, 0, 48, 0, 0, 0, 70, 14, 16, 0, 3, 0, 0, 0, 166, 0, 0, 7, 242, 240, 17, 0, 1, 0, 0, 0, 1, 64, 0, 0, 64, 0, 0, 0, 70, 14, 16, 0, 4, 0, 0, 0, 166, 0, 0, 7, 242, 240, 17, 0, 1, 0, 0, 0, 1, 64, 0, 0, 80, 0, 0, 0, 70, 14, 16, 0, 5, 0, 0, 0, 166, 0, 0, 7, 242, 240, 17, 0, 1, 0, 0, 0, 1, 64, 0, 0, 96, 0, 0, 0, 70, 14, 16, 0, 6, 0, 0, 0, 166, 0, 0, 7, 242, 240, 17, 0, 1, 0, 0, 0, 1, 64, 0, 0, 112, 0, 0, 0, 70, 14, 16, 0, 7, 0, 0, 0, 166, 0, 0, 7, 242, 240, 17, 0, 1, 0, 0, 0, 1, 64, 0, 0, 128, 0, 0, 0, 70, 14, 16, 0, 8, 0, 0, 0, 166, 0, 0, 7, 242, 240, 17, 0, 1, 0, 0, 0, 1, 64, 0, 0, 144, 0, 0, 0, 70, 14, 16, 0, 9, 0, 0, 0, 166, 0, 0, 7, 50, 240, 17, 0, 1, 0, 0, 0, 1, 64, 0, 0, 160, 0, 0, 0, 70, 0, 16, 0, 10, 0, 0, 0, 21, 0, 0, 1, 190, 24, 0, 1, 165, 0, 0, 7, 50, 0, 16, 0, 0, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 70, 240, 17, 0, 0, 0, 0, 0, 30, 0, 0, 7, 18, 0, 16, 0, 0, 0, 0, 0, 10, 0, 16, 0, 0, 0, 0, 0, 26, 0, 16, 0, 0, 0, 0, 0, 165, 0, 0, 7, 34, 0, 16, 0, 0, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 0, 0, 0, 0, 80, 0, 0, 7, 66, 0, 16, 0, 0, 0, 0, 0, 1, 64, 0, 0, 177, 7, 0, 0, 26, 0, 16, 0, 0, 0, 0, 0, 31, 0, 4, 3, 42, 0, 16, 0, 0, 0, 0, 0, 165, 0, 0, 7, 66, 0, 16, 0, 0, 0, 0, 0, 1, 64, 0, 0, 4, 0, 0, 0, 6, 240, 17, 0, 0, 0, 0, 0, 54, 0, 0, 4, 18, 0, 16, 0, 1, 0, 0, 0, 10, 32, 2, 0, 48, 0, 0, 1, 80, 0, 0, 7, 130, 0, 16, 0, 0, 0, 0, 0, 10, 0, 16, 0, 1, 0, 0, 0, 26, 0, 16, 0, 0, 0, 0, 0, 3, 0, 4, 3, 58, 0, 16, 0, 0, 0, 0, 0, 30, 0, 0, 7, 130, 0, 16, 0, 0, 0, 0, 0, 42, 0, 16, 0, 0, 0, 0, 0, 10, 0, 16, 0, 1, 0, 0, 0, 41, 0, 0, 7, 130, 0, 16, 0, 0, 0, 0, 0, 58, 0, 16, 0, 0, 0, 0, 0, 1, 64, 0, 0, 4, 0, 0, 0, 165, 0, 0, 137, 194, 2, 0, 128, 131, 153, 25, 0, 242, 0, 16, 0, 2, 0, 0, 0, 58, 0, 16, 0, 0, 0, 0, 0, 70, 238, 17, 0, 0, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 10, 0, 16, 0, 1, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 10, 0, 16, 0, 2, 0, 0, 0, 30, 0, 0, 10, 242, 0, 16, 0, 1, 0, 0, 0, 6, 0, 16, 0, 1, 0, 0, 0, 2, 64, 0, 0, 0, 4, 0, 0, 177, 7, 0, 0, 98, 15, 0, 0, 19, 23, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 26, 0, 16, 0, 1, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 26, 0, 16, 0, 2, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 42, 0, 16, 0, 1, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 42, 0, 16, 0, 2, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 58, 0, 16, 0, 1, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 58, 0, 16, 0, 2, 0, 0, 0, 22, 0, 0, 1, 59, 0, 0, 4, 34, 0, 16, 0, 0, 0, 0, 0, 10, 32, 2, 0, 1, 0, 0, 7, 34, 0, 16, 0, 0, 0, 0, 0, 26, 0, 16, 0, 0, 0, 0, 0, 1, 64, 0, 0, 3, 0, 0, 0, 79, 0, 0, 9, 242, 0, 16, 0, 1, 0, 0, 0, 6, 32, 2, 0, 2, 64, 0, 0, 192, 0, 0, 0, 176, 0, 0, 0, 3, 0, 0, 0, 0, 2, 0, 0, 1, 0, 0, 9, 242, 0, 16, 0, 2, 0, 0, 0, 6, 32, 2, 0, 2, 64, 0, 0, 32, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 55, 0, 0, 9, 66, 0, 16, 0, 0, 0, 0, 0, 10, 0, 16, 0, 2, 0, 0, 0, 1, 64, 0, 0, 0, 0, 128, 191, 1, 64, 0, 0, 0, 0, 128, 63, 30, 0, 0, 9, 242, 0, 16, 0, 3, 0, 0, 0, 6, 32, 2, 0, 2, 64, 0, 0, 16, 0, 0, 0, 8, 0, 0, 0, 4, 0, 0, 0, 2, 0, 0, 0, 32, 0, 0, 7, 130, 0, 16, 0, 0, 0, 0, 0, 26, 0, 16, 0, 2, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 1, 0, 0, 7, 130, 0, 16, 0, 0, 0, 0, 0, 58, 0, 16, 0, 0, 0, 0, 0, 10, 0, 16, 0, 1, 0, 0, 0, 85, 0, 0, 9, 50, 0, 16, 0, 4, 0, 0, 0, 6, 32, 2, 0, 2, 64, 0, 0, 6, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 41, 0, 0, 7, 18, 0, 16, 0, 2, 0, 0, 0, 26, 0, 16, 0, 4, 0, 0, 0, 1, 64, 0, 0, 2, 0, 0, 0, 41, 0, 0, 9, 194, 0, 16, 0, 4, 0, 0, 0, 6, 32, 2, 0, 2, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 3, 0, 0, 0, 30, 0, 0, 7, 130, 0, 16, 0, 4, 0, 0, 0, 58, 0, 16, 0, 4, 0, 0, 0, 1, 64, 0, 0, 124, 0, 0, 0, 30, 0, 0, 10, 82, 0, 16, 0, 2, 0, 0, 0, 6, 2, 16, 0, 2, 0, 0, 0, 2, 64, 0, 0, 124, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 39, 0, 0, 7, 130, 0, 16, 0, 2, 0, 0, 0, 58, 0, 16, 0, 2, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 32, 0, 0, 7, 130, 0, 16, 0, 2, 0, 0, 0, 58, 0, 16, 0, 2, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 1, 0, 0, 9, 114, 0, 16, 0, 5, 0, 0, 0, 6, 32, 2, 0, 2, 64, 0, 0, 4, 0, 0, 0, 8, 0, 0, 0, 224, 3, 0, 0, 0, 0, 0, 0, 39, 0, 0, 10, 50, 0, 16, 0, 5, 0, 0, 0, 70, 0, 16, 0, 5, 0, 0, 0, 2, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 0, 0, 10, 50, 0, 16, 0, 5, 0, 0, 0, 70, 0, 16, 0, 5, 0, 0, 0, 2, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 0, 0, 9, 242, 0, 16, 0, 6, 0, 0, 0, 6, 32, 2, 0, 2, 64, 0, 0, 1, 0, 0, 0, 16, 4, 0, 0, 16, 12, 0, 0, 8, 4, 0, 0, 79, 0, 0, 10, 242, 0, 16, 0, 7, 0, 0, 0, 86, 5, 16, 0, 2, 0, 0, 0, 2, 64, 0, 0, 16, 0, 0, 0, 8, 0, 0, 0, 4, 0, 0, 0, 2, 0, 0, 0, 79, 0, 0, 7, 130, 0, 16, 0, 5, 0, 0, 0, 26, 0, 16, 0, 2, 0, 0, 0, 1, 64, 0, 0, 1, 0, 0, 0, 30, 0, 0, 9, 242, 0, 16, 0, 8, 0, 0, 0, 6, 32, 2, 0, 2, 64, 0, 0, 8, 12, 0, 0, 4, 4, 0, 0, 4, 12, 0, 0, 2, 4, 0, 0, 30, 0, 0, 10, 242, 0, 16, 0, 9, 0, 0, 0, 70, 14, 16, 0, 3, 0, 0, 0, 2, 64, 0, 0, 0, 8, 0, 0, 0, 8, 0, 0, 0, 8, 0, 0, 0, 8, 0, 0, 30, 0, 0, 10, 114, 0, 16, 0, 10, 0, 0, 0, 166, 10, 16, 0, 5, 0, 0, 0, 2, 64, 0, 0, 0, 4, 0, 0, 0, 8, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 30, 0, 0, 10, 50, 0, 16, 0, 11, 0, 0, 0, 86, 5, 16, 0, 4, 0, 0, 0, 2, 64, 0, 0, 1, 0, 0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 140, 0, 0, 19, 242, 0, 16, 0, 12, 0, 0, 0, 2, 64, 0, 0, 10, 0, 0, 0, 11, 0, 0, 0, 10, 0, 0, 0, 5, 0, 0, 0, 2, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 6, 32, 2, 0, 2, 64, 0, 0, 0, 4, 0, 0, 0, 8, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 30, 0, 0, 7, 82, 0, 16, 0, 11, 0, 0, 0, 6, 1, 16, 0, 11, 0, 0, 0, 246, 15, 16, 0, 12, 0, 0, 0, 30, 0, 0, 9, 242, 0, 16, 0, 13, 0, 0, 0, 6, 32, 2, 0, 2, 64, 0, 0, 2, 12, 0, 0, 1, 4, 0, 0, 1, 12, 0, 0, 2, 2, 0, 0, 30, 0, 0, 10, 50, 0, 16, 0, 14, 0, 0, 0, 6, 0, 16, 0, 6, 0, 0, 0, 2, 64, 0, 0, 0, 8, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 0, 0, 6, 130, 0, 16, 0, 10, 0, 0, 0, 10, 32, 2, 0, 1, 64, 0, 0, 0, 16, 0, 0, 30, 0, 0, 7, 130, 0, 16, 0, 11, 0, 0, 0, 58, 0, 16, 0, 13, 0, 0, 0, 1, 64, 0, 0, 0, 16, 0, 0, 30, 0, 0, 9, 242, 0, 16, 0, 15, 0, 0, 0, 6, 32, 2, 0, 2, 64, 0, 0, 1, 16, 0, 0, 0, 2, 0, 0, 2, 18, 0, 0, 253, 15, 0, 0, 30, 0, 0, 7, 130, 0, 16, 0, 12, 0, 0, 0, 26, 0, 16, 0, 15, 0, 0, 0, 1, 64, 0, 0, 0, 16, 0, 0, 80, 0, 0, 9, 242, 0, 16, 0, 16, 0, 0, 0, 6, 32, 2, 0, 2, 64, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 4, 0, 0, 0, 8, 0, 0, 0, 30, 0, 0, 9, 242, 0, 16, 0, 17, 0, 0, 0, 6, 32, 2, 0, 2, 64, 0, 0, 250, 1, 0, 0, 241, 15, 0, 0, 226, 1, 0, 0, 193, 15, 0, 0, 30, 0, 0, 10, 194, 0, 16, 0, 14, 0, 0, 0, 6, 8, 16, 0, 17, 0, 0, 0, 2, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 16, 0, 0, 80, 0, 0, 9, 242, 0, 16, 0, 18, 0, 0, 0, 6, 32, 2, 0, 2, 64, 0, 0, 16, 0, 0, 0, 32, 0, 0, 0, 64, 0, 0, 0, 128, 0, 0, 0, 30, 0, 0, 9, 82, 0, 16, 0, 17, 0, 0, 0, 6, 32, 2, 0, 2, 64, 0, 0, 130, 1, 0, 0, 0, 0, 0, 0, 1, 15, 0, 0, 0, 0, 0, 0, 30, 0, 0, 7, 130, 0, 16, 0, 13, 0, 0, 0, 10, 0, 16, 0, 17, 0, 0, 0, 1, 64, 0, 0, 0, 16, 0, 0, 80, 0, 0, 6, 34, 0, 16, 0, 15, 0, 0, 0, 10, 32, 2, 0, 1, 64, 0, 0, 0, 1, 0, 0, 30, 0, 0, 10, 82, 0, 16, 0, 11, 0, 0, 0, 6, 2, 16, 0, 11, 0, 0, 0, 2, 64, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 54, 0, 0, 5, 130, 0, 16, 0, 19, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 54, 0, 0, 8, 162, 0, 16, 0, 20, 0, 0, 0, 2, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 54, 0, 0, 8, 162, 0, 16, 0, 21, 0, 0, 0, 2, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 54, 0, 0, 8, 162, 0, 16, 0, 22, 0, 0, 0, 2, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 54, 0, 0, 5, 18, 0, 16, 0, 17, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 48, 0, 0, 1, 165, 0, 0, 7, 18, 0, 16, 0, 23, 0, 0, 0, 1, 64, 0, 0, 16, 0, 0, 0, 6, 240, 17, 0, 1, 0, 0, 0, 80, 0, 0, 7, 34, 0, 16, 0, 23, 0, 0, 0, 10, 0, 16, 0, 17, 0, 0, 0, 10, 0, 16, 0, 23, 0, 0, 0, 3, 0, 4, 3, 26, 0, 16, 0, 23, 0, 0, 0, 86, 0, 0, 5, 34, 0, 16, 0, 23, 0, 0, 0, 10, 0, 16, 0, 17, 0, 0, 0, 0, 0, 0, 7, 66, 0, 16, 0, 23, 0, 0, 0, 26, 0, 16, 0, 23, 0, 0, 0, 1, 64, 0, 0, 0, 0, 128, 63, 86, 0, 0, 5, 18, 0, 16, 0, 23, 0, 0, 0, 10, 0, 16, 0, 23, 0, 0, 0, 14, 0, 0, 7, 18, 0, 16, 0, 23, 0, 0, 0, 42, 0, 16, 0, 23, 0, 0, 0, 10, 0, 16, 0, 23, 0, 0, 0, 31, 0, 0, 2, 10, 32, 2, 0, 165, 0, 0, 7, 66, 0, 16, 0, 23, 0, 0, 0, 1, 64, 0, 0, 12, 0, 0, 0, 6, 240, 17, 0, 1, 0, 0, 0, 30, 0, 0, 7, 66, 0, 16, 0, 23, 0, 0, 0, 10, 0, 16, 0, 17, 0, 0, 0, 42, 0, 16, 0, 23, 0, 0, 0, 167, 0, 0, 139, 2, 131, 3, 128, 131, 153, 25, 0, 242, 0, 16, 0, 24, 0, 0, 0, 42, 0, 16, 0, 23, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 70, 126, 16, 0, 2, 0, 0, 0, 167, 0, 0, 139, 2, 131, 3, 128, 131, 153, 25, 0, 242, 0, 16, 0, 25, 0, 0, 0, 42, 0, 16, 0, 23, 0, 0, 0, 1, 64, 0, 0, 16, 0, 0, 0, 70, 126, 16, 0, 2, 0, 0, 0, 167, 0, 0, 139, 2, 131, 3, 128, 131, 153, 25, 0, 242, 0, 16, 0, 26, 0, 0, 0, 42, 0, 16, 0, 23, 0, 0, 0, 1, 64, 0, 0, 32, 0, 0, 0, 70, 126, 16, 0, 2, 0, 0, 0, 167, 0, 0, 139, 2, 131, 3, 128, 131, 153, 25, 0, 242, 0, 16, 0, 27, 0, 0, 0, 42, 0, 16, 0, 23, 0, 0, 0, 1, 64, 0, 0, 48, 0, 0, 0, 70, 126, 16, 0, 2, 0, 0, 0, 167, 0, 0, 139, 2, 131, 3, 128, 131, 153, 25, 0, 242, 0, 16, 0, 28, 0, 0, 0, 42, 0, 16, 0, 23, 0, 0, 0, 1, 64, 0, 0, 64, 0, 0, 0, 70, 126, 16, 0, 2, 0, 0, 0, 167, 0, 0, 139, 2, 131, 3, 128, 131, 153, 25, 0, 242, 0, 16, 0, 29, 0, 0, 0, 42, 0, 16, 0, 23, 0, 0, 0, 1, 64, 0, 0, 80, 0, 0, 0, 70, 126, 16, 0, 2, 0, 0, 0, 167, 0, 0, 139, 2, 131, 3, 128, 131, 153, 25, 0, 242, 0, 16, 0, 30, 0, 0, 0, 42, 0, 16, 0, 23, 0, 0, 0, 1, 64, 0, 0, 96, 0, 0, 0, 70, 126, 16, 0, 2, 0, 0, 0, 166, 0, 0, 7, 242, 240, 17, 0, 2, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 70, 14, 16, 0, 24, 0, 0, 0, 166, 0, 0, 7, 242, 240, 17, 0, 2, 0, 0, 0, 1, 64, 0, 0, 16, 0, 0, 0, 70, 14, 16, 0, 25, 0, 0, 0, 166, 0, 0, 7, 242, 240, 17, 0, 2, 0, 0, 0, 1, 64, 0, 0, 32, 0, 0, 0, 70, 14, 16, 0, 26, 0, 0, 0, 166, 0, 0, 7, 242, 240, 17, 0, 2, 0, 0, 0, 1, 64, 0, 0, 48, 0, 0, 0, 70, 14, 16, 0, 27, 0, 0, 0, 166, 0, 0, 7, 242, 240, 17, 0, 2, 0, 0, 0, 1, 64, 0, 0, 64, 0, 0, 0, 70, 14, 16, 0, 28, 0, 0, 0, 166, 0, 0, 7, 242, 240, 17, 0, 2, 0, 0, 0, 1, 64, 0, 0, 80, 0, 0, 0, 70, 14, 16, 0, 29, 0, 0, 0, 166, 0, 0, 7, 242, 240, 17, 0, 2, 0, 0, 0, 1, 64, 0, 0, 96, 0, 0, 0, 70, 14, 16, 0, 30, 0, 0, 0, 21, 0, 0, 1, 190, 24, 0, 1, 165, 0, 0, 7, 66, 0, 16, 0, 23, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 0, 0, 0, 0, 165, 0, 0, 7, 130, 0, 16, 0, 23, 0, 0, 0, 1, 64, 0, 0, 108, 0, 0, 0, 6, 240, 17, 0, 2, 0, 0, 0, 165, 0, 0, 7, 114, 0, 16, 0, 24, 0, 0, 0, 1, 64, 0, 0, 12, 0, 0, 0, 70, 242, 17, 0, 2, 0, 0, 0, 165, 0, 0, 7, 242, 0, 16, 0, 25, 0, 0, 0, 1, 64, 0, 0, 60, 0, 0, 0, 70, 254, 17, 0, 2, 0, 0, 0, 165, 0, 0, 7, 242, 0, 16, 0, 26, 0, 0, 0, 1, 64, 0, 0, 24, 0, 0, 0, 70, 254, 17, 0, 2, 0, 0, 0, 165, 0, 0, 7, 242, 0, 16, 0, 27, 0, 0, 0, 1, 64, 0, 0, 76, 0, 0, 0, 70, 254, 17, 0, 2, 0, 0, 0, 165, 0, 0, 7, 242, 0, 16, 0, 28, 0, 0, 0, 1, 64, 0, 0, 40, 0, 0, 0, 70, 254, 17, 0, 2, 0, 0, 0, 165, 0, 0, 7, 130, 0, 16, 0, 24, 0, 0, 0, 1, 64, 0, 0, 92, 0, 0, 0, 6, 240, 17, 0, 2, 0, 0, 0, 165, 0, 0, 7, 18, 0, 16, 0, 29, 0, 0, 0, 1, 64, 0, 0, 56, 0, 0, 0, 6, 240, 17, 0, 2, 0, 0, 0, 165, 0, 0, 7, 242, 0, 16, 0, 30, 0, 0, 0, 1, 64, 0, 0, 12, 0, 0, 0, 70, 254, 17, 0, 2, 0, 0, 0, 165, 0, 0, 7, 34, 0, 16, 0, 29, 0, 0, 0, 1, 64, 0, 0, 36, 0, 0, 0, 6, 240, 17, 0, 2, 0, 0, 0, 165, 0, 0, 7, 66, 0, 16, 0, 29, 0, 0, 0, 1, 64, 0, 0, 48, 0, 0, 0, 6, 240, 17, 0, 2, 0, 0, 0, 54, 0, 0, 4, 130, 0, 16, 0, 29, 0, 0, 0, 10, 32, 2, 0, 48, 0, 0, 1, 80, 0, 0, 7, 18, 0, 16, 0, 31, 0, 0, 0, 58, 0, 16, 0, 29, 0, 0, 0, 42, 0, 16, 0, 23, 0, 0, 0, 3, 0, 4, 3, 10, 0, 16, 0, 31, 0, 0, 0, 167, 0, 0, 9, 18, 0, 16, 0, 31, 0, 0, 0, 58, 0, 16, 0, 29, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 30, 0, 0, 10, 242, 0, 16, 0, 32, 0, 0, 0, 246, 15, 16, 0, 29, 0, 0, 0, 2, 64, 0, 0, 177, 7, 0, 0, 98, 15, 0, 0, 19, 23, 0, 0, 0, 4, 0, 0, 167, 0, 0, 9, 34, 0, 16, 0, 31, 0, 0, 0, 10, 0, 16, 0, 32, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 66, 0, 16, 0, 31, 0, 0, 0, 26, 0, 16, 0, 32, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 130, 0, 16, 0, 31, 0, 0, 0, 42, 0, 16, 0, 32, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 30, 0, 0, 7, 18, 0, 16, 0, 33, 0, 0, 0, 10, 0, 16, 0, 0, 0, 0, 0, 58, 0, 16, 0, 29, 0, 0, 0, 41, 0, 0, 7, 18, 0, 16, 0, 33, 0, 0, 0, 10, 0, 16, 0, 33, 0, 0, 0, 1, 64, 0, 0, 4, 0, 0, 0, 165, 0, 0, 137, 194, 2, 0, 128, 131, 153, 25, 0, 242, 0, 16, 0, 34, 0, 0, 0, 10, 0, 16, 0, 33, 0, 0, 0, 70, 238, 17, 0, 0, 0, 0, 0, 24, 0, 0, 7, 34, 0, 16, 0, 33, 0, 0, 0, 58, 0, 16, 0, 31, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 55, 0, 0, 9, 130, 0, 16, 0, 31, 0, 0, 0, 26, 0, 16, 0, 33, 0, 0, 0, 58, 0, 16, 0, 34, 0, 0, 0, 58, 0, 16, 0, 31, 0, 0, 0, 49, 0, 0, 7, 34, 0, 16, 0, 33, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 58, 0, 16, 0, 31, 0, 0, 0, 31, 0, 4, 3, 26, 0, 16, 0, 33, 0, 0, 0, 31, 0, 4, 3, 58, 0, 16, 0, 23, 0, 0, 0, 0, 0, 0, 7, 98, 0, 16, 0, 33, 0, 0, 0, 6, 1, 16, 0, 24, 0, 0, 0, 6, 1, 16, 0, 31, 0, 0, 0, 50, 0, 0, 9, 98, 0, 16, 0, 33, 0, 0, 0, 6, 0, 16, 0, 31, 0, 0, 0, 6, 3, 16, 0, 25, 0, 0, 0, 86, 6, 16, 0, 33, 0, 0, 0, 50, 0, 0, 9, 98, 0, 16, 0, 33, 0, 0, 0, 6, 0, 16, 0, 34, 0, 0, 0, 6, 3, 16, 0, 26, 0, 0, 0, 86, 6, 16, 0, 33, 0, 0, 0, 50, 0, 0, 9, 34, 0, 16, 0, 33, 0, 0, 0, 26, 0, 16, 0, 31, 0, 0, 0, 26, 0, 16, 0, 25, 0, 0, 0, 26, 0, 16, 0, 33, 0, 0, 0, 50, 0, 0, 9, 34, 0, 16, 0, 33, 0, 0, 0, 26, 0, 16, 0, 34, 0, 0, 0, 26, 0, 16, 0, 26, 0, 0, 0, 26, 0, 16, 0, 33, 0, 0, 0, 50, 0, 0, 9, 34, 0, 16, 0, 33, 0, 0, 0, 42, 0, 16, 0, 31, 0, 0, 0, 42, 0, 16, 0, 25, 0, 0, 0, 26, 0, 16, 0, 33, 0, 0, 0, 50, 0, 0, 9, 18, 0, 16, 0, 35, 0, 0, 0, 42, 0, 16, 0, 34, 0, 0, 0, 42, 0, 16, 0, 26, 0, 0, 0, 26, 0, 16, 0, 33, 0, 0, 0, 50, 0, 0, 9, 34, 0, 16, 0, 33, 0, 0, 0, 26, 0, 16, 0, 31, 0, 0, 0, 10, 0, 16, 0, 27, 0, 0, 0, 42, 0, 16, 0, 33, 0, 0, 0, 50, 0, 0, 9, 34, 0, 16, 0, 33, 0, 0, 0, 26, 0, 16, 0, 34, 0, 0, 0, 10, 0, 16, 0, 28, 0, 0, 0, 26, 0, 16, 0, 33, 0, 0, 0, 50, 0, 0, 9, 34, 0, 16, 0, 33, 0, 0, 0, 42, 0, 16, 0, 31, 0, 0, 0, 26, 0, 16, 0, 27, 0, 0, 0, 26, 0, 16, 0, 33, 0, 0, 0, 50, 0, 0, 9, 34, 0, 16, 0, 35, 0, 0, 0, 42, 0, 16, 0, 34, 0, 0, 0, 26, 0, 16, 0, 28, 0, 0, 0, 26, 0, 16, 0, 33, 0, 0, 0, 0, 0, 0, 7, 34, 0, 16, 0, 33, 0, 0, 0, 42, 0, 16, 0, 24, 0, 0, 0, 42, 0, 16, 0, 31, 0, 0, 0, 50, 0, 0, 9, 34, 0, 16, 0, 33, 0, 0, 0, 10, 0, 16, 0, 31, 0, 0, 0, 42, 0, 16, 0, 27, 0, 0, 0, 26, 0, 16, 0, 33, 0, 0, 0, 50, 0, 0, 9, 34, 0, 16, 0, 33, 0, 0, 0, 10, 0, 16, 0, 34, 0, 0, 0, 42, 0, 16, 0, 28, 0, 0, 0, 26, 0, 16, 0, 33, 0, 0, 0, 50, 0, 0, 9, 34, 0, 16, 0, 33, 0, 0, 0, 26, 0, 16, 0, 31, 0, 0, 0, 58, 0, 16, 0, 27, 0, 0, 0, 26, 0, 16, 0, 33, 0, 0, 0, 50, 0, 0, 9, 34, 0, 16, 0, 33, 0, 0, 0, 26, 0, 16, 0, 34, 0, 0, 0, 58, 0, 16, 0, 28, 0, 0, 0, 26, 0, 16, 0, 33, 0, 0, 0, 50, 0, 0, 9, 34, 0, 16, 0, 33, 0, 0, 0, 42, 0, 16, 0, 31, 0, 0, 0, 58, 0, 16, 0, 24, 0, 0, 0, 26, 0, 16, 0, 33, 0, 0, 0, 50, 0, 0, 9, 34, 0, 16, 0, 33, 0, 0, 0, 42, 0, 16, 0, 34, 0, 0, 0, 10, 0, 16, 0, 29, 0, 0, 0, 26, 0, 16, 0, 33, 0, 0, 0, 18, 0, 0, 1, 0, 0, 0, 8, 194, 0, 16, 0, 33, 0, 0, 0, 6, 4, 16, 0, 31, 0, 0, 0, 6, 4, 16, 128, 65, 0, 0, 0, 34, 0, 0, 0, 50, 0, 0, 9, 66, 0, 16, 0, 33, 0, 0, 0, 42, 0, 16, 0, 33, 0, 0, 0, 58, 0, 16, 0, 30, 0, 0, 0, 10, 0, 16, 0, 30, 0, 0, 0, 0, 0, 0, 7, 18, 0, 16, 0, 35, 0, 0, 0, 10, 0, 16, 0, 31, 0, 0, 0, 42, 0, 16, 0, 33, 0, 0, 0, 50, 0, 0, 9, 66, 0, 16, 0, 33, 0, 0, 0, 58, 0, 16, 0, 33, 0, 0, 0, 26, 0, 16, 0, 29, 0, 0, 0, 26, 0, 16, 0, 30, 0, 0, 0, 0, 0, 0, 7, 34, 0, 16, 0, 35, 0, 0, 0, 26, 0, 16, 0, 31, 0, 0, 0, 42, 0, 16, 0, 33, 0, 0, 0, 0, 0, 0, 8, 66, 0, 16, 0, 33, 0, 0, 0, 42, 0, 16, 0, 31, 0, 0, 0, 42, 0, 16, 128, 65, 0, 0, 0, 34, 0, 0, 0, 50, 0, 0, 9, 66, 0, 16, 0, 33, 0, 0, 0, 42, 0, 16, 0, 33, 0, 0, 0, 42, 0, 16, 0, 29, 0, 0, 0, 42, 0, 16, 0, 30, 0, 0, 0, 0, 0, 0, 7, 34, 0, 16, 0, 33, 0, 0, 0, 42, 0, 16, 0, 31, 0, 0, 0, 42, 0, 16, 0, 33, 0, 0, 0, 21, 0, 0, 1, 165, 0, 0, 7, 114, 0, 16, 0, 34, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 70, 242, 17, 0, 2, 0, 0, 0, 0, 0, 0, 7, 114, 0, 16, 0, 31, 0, 0, 0, 70, 2, 16, 0, 31, 0, 0, 0, 70, 2, 16, 0, 34, 0, 0, 0, 18, 0, 0, 1, 54, 0, 0, 5, 50, 0, 16, 0, 35, 0, 0, 0, 70, 0, 16, 0, 31, 0, 0, 0, 54, 0, 0, 5, 34, 0, 16, 0, 33, 0, 0, 0, 42, 0, 16, 0, 31, 0, 0, 0, 21, 0, 0, 1, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 58, 0, 16, 0, 29, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 10, 0, 16, 0, 35, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 10, 0, 16, 0, 32, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 26, 0, 16, 0, 35, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 26, 0, 16, 0, 32, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 26, 0, 16, 0, 33, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 42, 0, 16, 0, 32, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 58, 0, 16, 0, 31, 0, 0, 0, 166, 0, 0, 7, 114, 224, 17, 0, 0, 0, 0, 0, 10, 0, 16, 0, 33, 0, 0, 0, 70, 2, 16, 0, 31, 0, 0, 0, 54, 0, 0, 5, 130, 0, 16, 0, 29, 0, 0, 0, 58, 0, 16, 0, 32, 0, 0, 0, 22, 0, 0, 1, 165, 0, 0, 7, 66, 0, 16, 0, 23, 0, 0, 0, 1, 64, 0, 0, 92, 0, 0, 0, 6, 240, 17, 0, 1, 0, 0, 0, 190, 24, 0, 1, 165, 0, 0, 7, 130, 0, 16, 0, 23, 0, 0, 0, 1, 64, 0, 0, 8, 0, 0, 0, 6, 240, 17, 0, 1, 0, 0, 0, 56, 0, 0, 7, 130, 0, 16, 0, 23, 0, 0, 0, 58, 0, 16, 0, 23, 0, 0, 0, 58, 0, 16, 0, 23, 0, 0, 0, 55, 0, 0, 9, 130, 0, 16, 0, 23, 0, 0, 0, 26, 0, 16, 0, 0, 0, 0, 0, 58, 0, 16, 0, 23, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 165, 0, 0, 7, 18, 0, 16, 0, 24, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 0, 0, 0, 0, 41, 0, 0, 7, 34, 0, 16, 0, 24, 0, 0, 0, 10, 0, 16, 0, 24, 0, 0, 0, 1, 64, 0, 0, 2, 0, 0, 0, 54, 0, 0, 4, 66, 0, 16, 0, 24, 0, 0, 0, 10, 32, 2, 0, 48, 0, 0, 1, 80, 0, 0, 7, 130, 0, 16, 0, 24, 0, 0, 0, 42, 0, 16, 0, 24, 0, 0, 0, 26, 0, 16, 0, 24, 0, 0, 0, 3, 0, 4, 3, 58, 0, 16, 0, 24, 0, 0, 0, 85, 0, 0, 7, 130, 0, 16, 0, 24, 0, 0, 0, 42, 0, 16, 0, 24, 0, 0, 0, 1, 64, 0, 0, 2, 0, 0, 0, 167, 0, 0, 9, 18, 0, 16, 0, 25, 0, 0, 0, 58, 0, 16, 0, 24, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 30, 0, 0, 10, 114, 0, 16, 0, 26, 0, 0, 0, 246, 15, 16, 0, 24, 0, 0, 0, 2, 64, 0, 0, 177, 7, 0, 0, 98, 15, 0, 0, 19, 23, 0, 0, 0, 0, 0, 0, 167, 0, 0, 9, 34, 0, 16, 0, 25, 0, 0, 0, 10, 0, 16, 0, 26, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 66, 0, 16, 0, 25, 0, 0, 0, 26, 0, 16, 0, 26, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 130, 0, 16, 0, 25, 0, 0, 0, 42, 0, 16, 0, 26, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 49, 0, 0, 7, 130, 0, 16, 0, 26, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 58, 0, 16, 0, 25, 0, 0, 0, 31, 0, 4, 3, 58, 0, 16, 0, 26, 0, 0, 0, 30, 0, 0, 7, 130, 0, 16, 0, 26, 0, 0, 0, 42, 0, 16, 0, 23, 0, 0, 0, 42, 0, 16, 0, 24, 0, 0, 0, 167, 0, 0, 139, 2, 131, 0, 128, 131, 153, 25, 0, 242, 0, 16, 0, 27, 0, 0, 0, 58, 0, 16, 0, 26, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 70, 126, 16, 0, 13, 0, 0, 0, 50, 0, 0, 9, 242, 0, 16, 0, 25, 0, 0, 0, 70, 14, 16, 0, 27, 0, 0, 0, 246, 15, 16, 0, 23, 0, 0, 0, 70, 14, 16, 0, 25, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 58, 0, 16, 0, 24, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 10, 0, 16, 0, 25, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 10, 0, 16, 0, 26, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 26, 0, 16, 0, 25, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 26, 0, 16, 0, 26, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 42, 0, 16, 0, 25, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 42, 0, 16, 0, 26, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 58, 0, 16, 0, 25, 0, 0, 0, 21, 0, 0, 1, 30, 0, 0, 7, 66, 0, 16, 0, 24, 0, 0, 0, 42, 0, 16, 0, 24, 0, 0, 0, 1, 64, 0, 0, 0, 4, 0, 0, 22, 0, 0, 1, 190, 24, 0, 1, 165, 0, 0, 7, 114, 0, 16, 0, 24, 0, 0, 0, 1, 64, 0, 0, 24, 0, 0, 0, 70, 242, 17, 0, 1, 0, 0, 0, 165, 0, 0, 7, 66, 0, 16, 0, 23, 0, 0, 0, 1, 64, 0, 0, 8, 0, 0, 0, 6, 240, 17, 0, 1, 0, 0, 0, 24, 0, 0, 10, 50, 0, 16, 0, 25, 0, 0, 0, 70, 0, 16, 0, 24, 0, 0, 0, 2, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 7, 130, 0, 16, 0, 23, 0, 0, 0, 26, 0, 16, 0, 25, 0, 0, 0, 10, 0, 16, 0, 25, 0, 0, 0, 31, 0, 0, 3, 58, 0, 16, 0, 23, 0, 0, 0, 165, 0, 0, 7, 114, 0, 16, 0, 25, 0, 0, 0, 1, 64, 0, 0, 96, 0, 0, 0, 70, 242, 17, 0, 2, 0, 0, 0, 190, 24, 0, 1, 165, 0, 0, 7, 50, 0, 16, 0, 26, 0, 0, 0, 1, 64, 0, 0, 36, 0, 0, 0, 70, 240, 17, 0, 0, 0, 0, 0, 165, 0, 0, 7, 130, 0, 16, 0, 23, 0, 0, 0, 1, 64, 0, 0, 108, 0, 0, 0, 6, 240, 17, 0, 2, 0, 0, 0, 165, 0, 0, 7, 242, 0, 16, 0, 27, 0, 0, 0, 1, 64, 0, 0, 36, 0, 0, 0, 70, 254, 17, 0, 1, 0, 0, 0, 165, 0, 0, 7, 242, 0, 16, 0, 28, 0, 0, 0, 1, 64, 0, 0, 52, 0, 0, 0, 70, 254, 17, 0, 1, 0, 0, 0, 165, 0, 0, 7, 18, 0, 16, 0, 29, 0, 0, 0, 1, 64, 0, 0, 68, 0, 0, 0, 6, 240, 17, 0, 1, 0, 0, 0, 54, 0, 0, 5, 18, 0, 16, 0, 30, 0, 0, 0, 58, 0, 16, 0, 27, 0, 0, 0, 54, 0, 0, 5, 98, 0, 16, 0, 30, 0, 0, 0, 6, 1, 16, 0, 28, 0, 0, 0, 54, 0, 0, 5, 98, 0, 16, 0, 29, 0, 0, 0, 166, 11, 16, 0, 28, 0, 0, 0, 54, 0, 0, 4, 130, 0, 16, 0, 24, 0, 0, 0, 10, 32, 2, 0, 48, 0, 0, 1, 80, 0, 0, 7, 130, 0, 16, 0, 25, 0, 0, 0, 58, 0, 16, 0, 24, 0, 0, 0, 10, 0, 16, 0, 26, 0, 0, 0, 3, 0, 4, 3, 58, 0, 16, 0, 25, 0, 0, 0, 38, 0, 0, 8, 0, 208, 0, 0, 130, 0, 16, 0, 25, 0, 0, 0, 58, 0, 16, 0, 24, 0, 0, 0, 1, 64, 0, 0, 3, 0, 0, 0, 85, 0, 0, 7, 66, 0, 16, 0, 26, 0, 0, 0, 58, 0, 16, 0, 25, 0, 0, 0, 1, 64, 0, 0, 1, 0, 0, 0, 30, 0, 0, 7, 66, 0, 16, 0, 26, 0, 0, 0, 42, 0, 16, 0, 26, 0, 0, 0, 26, 0, 16, 0, 26, 0, 0, 0, 167, 0, 0, 139, 2, 35, 0, 128, 131, 153, 25, 0, 66, 0, 16, 0, 26, 0, 0, 0, 42, 0, 16, 0, 26, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 112, 16, 0, 17, 0, 0, 0, 35, 0, 0, 15, 50, 0, 16, 0, 31, 0, 0, 0, 246, 15, 16, 0, 24, 0, 0, 0, 2, 64, 0, 0, 3, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 64, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 85, 0, 0, 10, 50, 0, 16, 0, 31, 0, 0, 0, 70, 0, 16, 0, 31, 0, 0, 0, 2, 64, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 0, 0, 7, 50, 0, 16, 0, 31, 0, 0, 0, 86, 5, 16, 0, 26, 0, 0, 0, 70, 0, 16, 0, 31, 0, 0, 0, 167, 0, 0, 139, 2, 35, 0, 128, 131, 153, 25, 0, 130, 0, 16, 0, 26, 0, 0, 0, 10, 0, 16, 0, 31, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 112, 16, 0, 17, 0, 0, 0, 167, 0, 0, 139, 2, 35, 0, 128, 131, 153, 25, 0, 130, 0, 16, 0, 29, 0, 0, 0, 26, 0, 16, 0, 31, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 112, 16, 0, 17, 0, 0, 0, 1, 0, 0, 7, 130, 0, 16, 0, 25, 0, 0, 0, 58, 0, 16, 0, 25, 0, 0, 0, 1, 64, 0, 0, 1, 0, 0, 0, 85, 0, 0, 7, 18, 0, 16, 0, 31, 0, 0, 0, 42, 0, 16, 0, 26, 0, 0, 0, 1, 64, 0, 0, 16, 0, 0, 0, 1, 0, 0, 7, 34, 0, 16, 0, 31, 0, 0, 0, 58, 0, 16, 0, 26, 0, 0, 0, 1, 64, 0, 0, 255, 255, 0, 0, 85, 0, 0, 7, 66, 0, 16, 0, 31, 0, 0, 0, 58, 0, 16, 0, 29, 0, 0, 0, 1, 64, 0, 0, 16, 0, 0, 0, 1, 0, 0, 7, 18, 0, 16, 0, 32, 0, 0, 0, 42, 0, 16, 0, 26, 0, 0, 0, 1, 64, 0, 0, 255, 255, 0, 0, 85, 0, 0, 7, 34, 0, 16, 0, 32, 0, 0, 0, 58, 0, 16, 0, 26, 0, 0, 0, 1, 64, 0, 0, 16, 0, 0, 0, 1, 0, 0, 7, 66, 0, 16, 0, 32, 0, 0, 0, 58, 0, 16, 0, 29, 0, 0, 0, 1, 64, 0, 0, 255, 255, 0, 0, 55, 0, 0, 9, 114, 0, 16, 0, 19, 0, 0, 0, 246, 15, 16, 0, 25, 0, 0, 0, 70, 2, 16, 0, 31, 0, 0, 0, 70, 2, 16, 0, 32, 0, 0, 0, 167, 0, 0, 9, 18, 0, 16, 0, 31, 0, 0, 0, 10, 0, 16, 0, 19, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 30, 0, 0, 10, 242, 0, 16, 0, 32, 0, 0, 0, 6, 4, 16, 0, 19, 0, 0, 0, 2, 64, 0, 0, 177, 7, 0, 0, 98, 15, 0, 0, 19, 23, 0, 0, 177, 7, 0, 0, 167, 0, 0, 9, 34, 0, 16, 0, 31, 0, 0, 0, 10, 0, 16, 0, 32, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 66, 0, 16, 0, 31, 0, 0, 0, 26, 0, 16, 0, 32, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 130, 0, 16, 0, 25, 0, 0, 0, 42, 0, 16, 0, 32, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 18, 0, 16, 0, 33, 0, 0, 0, 26, 0, 16, 0, 19, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 34, 0, 16, 0, 33, 0, 0, 0, 58, 0, 16, 0, 32, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 30, 0, 0, 10, 242, 0, 16, 0, 34, 0, 0, 0, 86, 10, 16, 0, 19, 0, 0, 0, 2, 64, 0, 0, 98, 15, 0, 0, 19, 23, 0, 0, 177, 7, 0, 0, 98, 15, 0, 0, 167, 0, 0, 9, 66, 0, 16, 0, 33, 0, 0, 0, 10, 0, 16, 0, 34, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 66, 0, 16, 0, 26, 0, 0, 0, 26, 0, 16, 0, 34, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 18, 0, 16, 0, 35, 0, 0, 0, 42, 0, 16, 0, 19, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 34, 0, 16, 0, 35, 0, 0, 0, 42, 0, 16, 0, 34, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 66, 0, 16, 0, 35, 0, 0, 0, 58, 0, 16, 0, 34, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 30, 0, 0, 7, 130, 0, 16, 0, 26, 0, 0, 0, 42, 0, 16, 0, 19, 0, 0, 0, 1, 64, 0, 0, 19, 23, 0, 0, 167, 0, 0, 9, 130, 0, 16, 0, 26, 0, 0, 0, 58, 0, 16, 0, 26, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 30, 0, 0, 7, 114, 0, 16, 0, 36, 0, 0, 0, 6, 0, 16, 0, 0, 0, 0, 0, 70, 2, 16, 0, 19, 0, 0, 0, 41, 0, 0, 10, 114, 0, 16, 0, 36, 0, 0, 0, 70, 2, 16, 0, 36, 0, 0, 0, 2, 64, 0, 0, 4, 0, 0, 0, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 165, 0, 0, 137, 194, 2, 0, 128, 131, 153, 25, 0, 114, 0, 16, 0, 37, 0, 0, 0, 10, 0, 16, 0, 36, 0, 0, 0, 70, 226, 17, 0, 0, 0, 0, 0, 165, 0, 0, 137, 194, 2, 0, 128, 131, 153, 25, 0, 178, 0, 16, 0, 36, 0, 0, 0, 26, 0, 16, 0, 36, 0, 0, 0, 70, 232, 17, 0, 0, 0, 0, 0, 165, 0, 0, 137, 194, 2, 0, 128, 131, 153, 25, 0, 114, 0, 16, 0, 38, 0, 0, 0, 42, 0, 16, 0, 36, 0, 0, 0, 70, 226, 17, 0, 0, 0, 0, 0, 0, 0, 0, 7, 114, 0, 16, 0, 39, 0, 0, 0, 70, 2, 16, 0, 31, 0, 0, 0, 70, 2, 16, 0, 33, 0, 0, 0, 0, 0, 0, 7, 114, 0, 16, 0, 39, 0, 0, 0, 70, 2, 16, 0, 35, 0, 0, 0, 70, 2, 16, 0, 39, 0, 0, 0, 56, 0, 0, 10, 114, 0, 16, 0, 40, 0, 0, 0, 70, 2, 16, 0, 39, 0, 0, 0, 2, 64, 0, 0, 171, 170, 170, 62, 171, 170, 170, 62, 171, 170, 170, 62, 0, 0, 0, 0, 0, 0, 0, 7, 114, 0, 16, 0, 36, 0, 0, 0, 70, 3, 16, 0, 36, 0, 0, 0, 70, 2, 16, 0, 37, 0, 0, 0, 0, 0, 0, 7, 114, 0, 16, 0, 36, 0, 0, 0, 70, 2, 16, 0, 38, 0, 0, 0, 70, 2, 16, 0, 36, 0, 0, 0, 56, 0, 0, 10, 114, 0, 16, 0, 37, 0, 0, 0, 70, 2, 16, 0, 36, 0, 0, 0, 2, 64, 0, 0, 171, 170, 170, 62, 171, 170, 170, 62, 171, 170, 170, 62, 0, 0, 0, 0, 50, 0, 0, 13, 114, 0, 16, 0, 37, 0, 0, 0, 70, 2, 16, 0, 39, 0, 0, 0, 2, 64, 0, 0, 171, 170, 170, 62, 171, 170, 170, 62, 171, 170, 170, 62, 0, 0, 0, 0, 70, 2, 16, 128, 65, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 7, 114, 0, 16, 0, 37, 0, 0, 0, 70, 2, 16, 0, 25, 0, 0, 0, 70, 2, 16, 0, 37, 0, 0, 0, 50, 0, 0, 13, 114, 0, 16, 0, 36, 0, 0, 0, 70, 2, 16, 128, 65, 0, 0, 0, 36, 0, 0, 0, 2, 64, 0, 0, 171, 170, 170, 62, 171, 170, 170, 62, 171, 170, 170, 62, 0, 0, 0, 0, 70, 2, 16, 0, 25, 0, 0, 0, 50, 0, 0, 9, 114, 0, 16, 0, 38, 0, 0, 0, 6, 0, 16, 0, 36, 0, 0, 0, 70, 2, 16, 0, 27, 0, 0, 0, 70, 2, 16, 0, 40, 0, 0, 0, 50, 0, 0, 9, 178, 0, 16, 0, 36, 0, 0, 0, 86, 5, 16, 0, 36, 0, 0, 0, 70, 8, 16, 0, 30, 0, 0, 0, 70, 8, 16, 0, 38, 0, 0, 0, 50, 0, 0, 9, 114, 0, 16, 0, 36, 0, 0, 0, 166, 10, 16, 0, 36, 0, 0, 0, 150, 4, 16, 0, 29, 0, 0, 0, 70, 3, 16, 0, 36, 0, 0, 0, 55, 0, 0, 9, 114, 0, 16, 0, 36, 0, 0, 0, 246, 15, 16, 0, 23, 0, 0, 0, 70, 2, 16, 0, 36, 0, 0, 0, 70, 2, 16, 0, 37, 0, 0, 0, 0, 0, 0, 8, 114, 0, 16, 0, 35, 0, 0, 0, 38, 9, 16, 128, 65, 0, 0, 0, 31, 0, 0, 0, 38, 9, 16, 0, 35, 0, 0, 0, 0, 0, 0, 8, 226, 0, 16, 0, 31, 0, 0, 0, 86, 2, 16, 128, 65, 0, 0, 0, 31, 0, 0, 0, 86, 2, 16, 0, 33, 0, 0, 0, 56, 0, 0, 7, 114, 0, 16, 0, 33, 0, 0, 0, 150, 7, 16, 0, 31, 0, 0, 0, 70, 2, 16, 0, 35, 0, 0, 0, 50, 0, 0, 10, 226, 0, 16, 0, 31, 0, 0, 0, 166, 4, 16, 0, 35, 0, 0, 0, 166, 7, 16, 0, 31, 0, 0, 0, 6, 9, 16, 128, 65, 0, 0, 0, 33, 0, 0, 0, 16, 0, 0, 7, 130, 0, 16, 0, 29, 0, 0, 0, 150, 7, 16, 0, 31, 0, 0, 0, 150, 7, 16, 0, 31, 0, 0, 0, 75, 0, 0, 5, 130, 0, 16, 0, 29, 0, 0, 0, 58, 0, 16, 0, 29, 0, 0, 0, 14, 0, 0, 7, 226, 0, 16, 0, 31, 0, 0, 0, 86, 14, 16, 0, 31, 0, 0, 0, 246, 15, 16, 0, 29, 0, 0, 0, 16, 0, 0, 7, 130, 0, 16, 0, 30, 0, 0, 0, 70, 2, 16, 0, 36, 0, 0, 0, 70, 2, 16, 0, 36, 0, 0, 0, 68, 0, 0, 5, 66, 0, 16, 0, 32, 0, 0, 0, 58, 0, 16, 0, 30, 0, 0, 0, 75, 0, 0, 5, 18, 0, 16, 0, 33, 0, 0, 0, 58, 0, 16, 0, 30, 0, 0, 0, 16, 0, 0, 7, 34, 0, 16, 0, 33, 0, 0, 0, 150, 7, 16, 0, 31, 0, 0, 0, 70, 2, 16, 0, 36, 0, 0, 0, 56, 0, 0, 7, 34, 0, 16, 0, 33, 0, 0, 0, 42, 0, 16, 0, 32, 0, 0, 0, 26, 0, 16, 0, 33, 0, 0, 0, 50, 0, 0, 10, 66, 0, 16, 0, 33, 0, 0, 0, 26, 0, 16, 128, 65, 0, 0, 0, 33, 0, 0, 0, 26, 0, 16, 0, 33, 0, 0, 0, 1, 64, 0, 0, 0, 0, 128, 63, 52, 0, 0, 7, 66, 0, 16, 0, 33, 0, 0, 0, 42, 0, 16, 0, 33, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 75, 0, 0, 5, 66, 0, 16, 0, 33, 0, 0, 0, 42, 0, 16, 0, 33, 0, 0, 0, 56, 0, 0, 7, 114, 0, 16, 0, 35, 0, 0, 0, 150, 7, 16, 0, 31, 0, 0, 0, 150, 4, 16, 0, 36, 0, 0, 0, 50, 0, 0, 10, 226, 0, 16, 0, 31, 0, 0, 0, 6, 9, 16, 0, 36, 0, 0, 0, 166, 7, 16, 0, 31, 0, 0, 0, 6, 9, 16, 128, 65, 0, 0, 0, 35, 0, 0, 0, 56, 0, 0, 7, 114, 0, 16, 0, 35, 0, 0, 0, 150, 4, 16, 0, 36, 0, 0, 0, 166, 10, 16, 0, 32, 0, 0, 0, 56, 0, 0, 7, 114, 0, 16, 0, 37, 0, 0, 0, 150, 7, 16, 0, 31, 0, 0, 0, 70, 2, 16, 0, 35, 0, 0, 0, 50, 0, 0, 10, 226, 0, 16, 0, 31, 0, 0, 0, 246, 9, 16, 0, 31, 0, 0, 0, 86, 2, 16, 0, 35, 0, 0, 0, 6, 9, 16, 128, 65, 0, 0, 0, 37, 0, 0, 0, 56, 0, 0, 7, 66, 0, 16, 0, 32, 0, 0, 0, 26, 0, 16, 0, 24, 0, 0, 0, 26, 0, 16, 0, 33, 0, 0, 0, 56, 0, 0, 7, 66, 0, 16, 0, 32, 0, 0, 0, 42, 0, 16, 0, 33, 0, 0, 0, 42, 0, 16, 0, 32, 0, 0, 0, 56, 0, 0, 7, 226, 0, 16, 0, 31, 0, 0, 0, 86, 14, 16, 0, 31, 0, 0, 0, 166, 10, 16, 0, 32, 0, 0, 0, 56, 0, 0, 7, 226, 0, 16, 0, 31, 0, 0, 0, 6, 0, 16, 0, 33, 0, 0, 0, 86, 14, 16, 0, 31, 0, 0, 0, 14, 0, 0, 7, 226, 0, 16, 0, 31, 0, 0, 0, 86, 14, 16, 0, 31, 0, 0, 0, 166, 10, 16, 0, 23, 0, 0, 0, 56, 0, 0, 8, 66, 0, 16, 0, 32, 0, 0, 0, 10, 0, 16, 0, 24, 0, 0, 0, 26, 0, 16, 128, 129, 0, 0, 0, 33, 0, 0, 0, 56, 0, 0, 7, 226, 0, 16, 0, 33, 0, 0, 0, 6, 9, 16, 0, 36, 0, 0, 0, 166, 10, 16, 0, 32, 0, 0, 0, 56, 0, 0, 7, 114, 0, 16, 0, 33, 0, 0, 0, 6, 0, 16, 0, 33, 0, 0, 0, 150, 7, 16, 0, 33, 0, 0, 0, 14, 0, 0, 7, 114, 0, 16, 0, 33, 0, 0, 0, 70, 2, 16, 0, 33, 0, 0, 0, 166, 10, 16, 0, 23, 0, 0, 0, 49, 0, 0, 7, 130, 0, 16, 0, 30, 0, 0, 0, 58, 0, 16, 0, 30, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 52, 0, 0, 0, 7, 226, 0, 16, 0, 31, 0, 0, 0, 86, 14, 16, 0, 31, 0, 0, 0, 6, 9, 16, 0, 33, 0, 0, 0, 56, 0, 0, 7, 226, 0, 16, 0, 31, 0, 0, 0, 166, 10, 16, 0, 24, 0, 0, 0, 86, 14, 16, 0, 31, 0, 0, 0, 56, 0, 0, 7, 226, 0, 16, 0, 31, 0, 0, 0, 246, 15, 16, 0, 29, 0, 0, 0, 86, 14, 16, 0, 31, 0, 0, 0, 55, 0, 0, 13, 226, 0, 16, 0, 31, 0, 0, 0, 246, 15, 16, 0, 30, 0, 0, 0, 2, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 0, 0, 0, 128, 0, 0, 0, 128, 86, 14, 16, 128, 65, 0, 0, 0, 31, 0, 0, 0, 50, 0, 0, 9, 130, 0, 16, 0, 29, 0, 0, 0, 26, 0, 16, 0, 31, 0, 0, 0, 58, 0, 16, 0, 25, 0, 0, 0, 10, 0, 16, 0, 31, 0, 0, 0, 185, 0, 0, 11, 18, 0, 16, 0, 33, 0, 0, 0, 0, 240, 17, 0, 3, 0, 0, 0, 198, 0, 16, 0, 19, 0, 0, 0, 10, 0, 16, 0, 31, 0, 0, 0, 58, 0, 16, 0, 29, 0, 0, 0, 54, 0, 0, 5, 18, 0, 16, 0, 35, 0, 0, 0, 10, 0, 16, 0, 31, 0, 0, 0, 54, 0, 0, 5, 34, 0, 16, 0, 35, 0, 0, 0, 10, 0, 16, 0, 33, 0, 0, 0, 48, 0, 0, 1, 32, 0, 0, 7, 130, 0, 16, 0, 29, 0, 0, 0, 10, 0, 16, 0, 35, 0, 0, 0, 26, 0, 16, 0, 35, 0, 0, 0, 3, 0, 4, 3, 58, 0, 16, 0, 29, 0, 0, 0, 50, 0, 0, 9, 130, 0, 16, 0, 29, 0, 0, 0, 26, 0, 16, 0, 31, 0, 0, 0, 58, 0, 16, 0, 25, 0, 0, 0, 26, 0, 16, 0, 35, 0, 0, 0, 185, 0, 0, 11, 18, 0, 16, 0, 35, 0, 0, 0, 0, 240, 17, 0, 3, 0, 0, 0, 198, 0, 16, 0, 19, 0, 0, 0, 26, 0, 16, 0, 35, 0, 0, 0, 58, 0, 16, 0, 29, 0, 0, 0, 54, 0, 0, 5, 50, 0, 16, 0, 35, 0, 0, 0, 22, 5, 16, 0, 35, 0, 0, 0, 22, 0, 0, 1, 167, 0, 0, 9, 18, 0, 16, 0, 19, 0, 0, 0, 10, 0, 16, 0, 32, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 50, 0, 0, 9, 130, 0, 16, 0, 29, 0, 0, 0, 42, 0, 16, 0, 31, 0, 0, 0, 58, 0, 16, 0, 25, 0, 0, 0, 10, 0, 16, 0, 19, 0, 0, 0, 54, 0, 0, 5, 82, 0, 16, 0, 20, 0, 0, 0, 6, 1, 16, 0, 32, 0, 0, 0, 185, 0, 0, 11, 18, 0, 16, 0, 33, 0, 0, 0, 0, 240, 17, 0, 3, 0, 0, 0, 70, 0, 16, 0, 20, 0, 0, 0, 10, 0, 16, 0, 19, 0, 0, 0, 58, 0, 16, 0, 29, 0, 0, 0, 54, 0, 0, 5, 18, 0, 16, 0, 35, 0, 0, 0, 10, 0, 16, 0, 19, 0, 0, 0, 54, 0, 0, 5, 34, 0, 16, 0, 35, 0, 0, 0, 10, 0, 16, 0, 33, 0, 0, 0, 48, 0, 0, 1, 32, 0, 0, 7, 130, 0, 16, 0, 29, 0, 0, 0, 10, 0, 16, 0, 35, 0, 0, 0, 26, 0, 16, 0, 35, 0, 0, 0, 3, 0, 4, 3, 58, 0, 16, 0, 29, 0, 0, 0, 50, 0, 0, 9, 130, 0, 16, 0, 29, 0, 0, 0, 42, 0, 16, 0, 31, 0, 0, 0, 58, 0, 16, 0, 25, 0, 0, 0, 26, 0, 16, 0, 35, 0, 0, 0, 185, 0, 0, 11, 18, 0, 16, 0, 35, 0, 0, 0, 0, 240, 17, 0, 3, 0, 0, 0, 70, 0, 16, 0, 20, 0, 0, 0, 26, 0, 16, 0, 35, 0, 0, 0, 58, 0, 16, 0, 29, 0, 0, 0, 54, 0, 0, 5, 50, 0, 16, 0, 35, 0, 0, 0, 22, 5, 16, 0, 35, 0, 0, 0, 22, 0, 0, 1, 167, 0, 0, 9, 18, 0, 16, 0, 19, 0, 0, 0, 26, 0, 16, 0, 32, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 50, 0, 0, 9, 18, 0, 16, 0, 20, 0, 0, 0, 58, 0, 16, 0, 31, 0, 0, 0, 58, 0, 16, 0, 25, 0, 0, 0, 10, 0, 16, 0, 19, 0, 0, 0, 185, 0, 0, 11, 18, 0, 16, 0, 33, 0, 0, 0, 0, 240, 17, 0, 3, 0, 0, 0, 230, 10, 16, 0, 20, 0, 0, 0, 10, 0, 16, 0, 19, 0, 0, 0, 10, 0, 16, 0, 20, 0, 0, 0, 54, 0, 0, 5, 18, 0, 16, 0, 32, 0, 0, 0, 10, 0, 16, 0, 19, 0, 0, 0, 54, 0, 0, 5, 34, 0, 16, 0, 32, 0, 0, 0, 10, 0, 16, 0, 33, 0, 0, 0, 48, 0, 0, 1, 32, 0, 0, 7, 18, 0, 16, 0, 20, 0, 0, 0, 10, 0, 16, 0, 32, 0, 0, 0, 26, 0, 16, 0, 32, 0, 0, 0, 3, 0, 4, 3, 10, 0, 16, 0, 20, 0, 0, 0, 50, 0, 0, 9, 18, 0, 16, 0, 20, 0, 0, 0, 58, 0, 16, 0, 31, 0, 0, 0, 58, 0, 16, 0, 25, 0, 0, 0, 26, 0, 16, 0, 32, 0, 0, 0, 185, 0, 0, 11, 18, 0, 16, 0, 32, 0, 0, 0, 0, 240, 17, 0, 3, 0, 0, 0, 230, 10, 16, 0, 20, 0, 0, 0, 26, 0, 16, 0, 32, 0, 0, 0, 10, 0, 16, 0, 20, 0, 0, 0, 54, 0, 0, 5, 50, 0, 16, 0, 32, 0, 0, 0, 22, 5, 16, 0, 32, 0, 0, 0, 22, 0, 0, 1, 167, 0, 0, 9, 18, 0, 16, 0, 19, 0, 0, 0, 26, 0, 16, 0, 19, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 50, 0, 0, 9, 18, 0, 16, 0, 20, 0, 0, 0, 26, 0, 16, 0, 31, 0, 0, 0, 42, 0, 16, 0, 26, 0, 0, 0, 10, 0, 16, 0, 19, 0, 0, 0, 185, 0, 0, 11, 18, 0, 16, 0, 33, 0, 0, 0, 0, 240, 17, 0, 3, 0, 0, 0, 214, 5, 16, 0, 19, 0, 0, 0, 10, 0, 16, 0, 19, 0, 0, 0, 10, 0, 16, 0, 20, 0, 0, 0, 54, 0, 0, 5, 18, 0, 16, 0, 32, 0, 0, 0, 10, 0, 16, 0, 19, 0, 0, 0, 54, 0, 0, 5, 34, 0, 16, 0, 32, 0, 0, 0, 10, 0, 16, 0, 33, 0, 0, 0, 48, 0, 0, 1, 32, 0, 0, 7, 18, 0, 16, 0, 20, 0, 0, 0, 10, 0, 16, 0, 32, 0, 0, 0, 26, 0, 16, 0, 32, 0, 0, 0, 3, 0, 4, 3, 10, 0, 16, 0, 20, 0, 0, 0, 50, 0, 0, 9, 18, 0, 16, 0, 20, 0, 0, 0, 26, 0, 16, 0, 31, 0, 0, 0, 42, 0, 16, 0, 26, 0, 0, 0, 26, 0, 16, 0, 32, 0, 0, 0, 185, 0, 0, 11, 18, 0, 16, 0, 32, 0, 0, 0, 0, 240, 17, 0, 3, 0, 0, 0, 214, 5, 16, 0, 19, 0, 0, 0, 26, 0, 16, 0, 32, 0, 0, 0, 10, 0, 16, 0, 20, 0, 0, 0, 54, 0, 0, 5, 50, 0, 16, 0, 32, 0, 0, 0, 22, 5, 16, 0, 32, 0, 0, 0, 22, 0, 0, 1, 167, 0, 0, 9, 18, 0, 16, 0, 19, 0, 0, 0, 58, 0, 16, 0, 32, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 50, 0, 0, 9, 34, 0, 16, 0, 19, 0, 0, 0, 42, 0, 16, 0, 31, 0, 0, 0, 42, 0, 16, 0, 26, 0, 0, 0, 10, 0, 16, 0, 19, 0, 0, 0, 54, 0, 0, 5, 18, 0, 16, 0, 21, 0, 0, 0, 58, 0, 16, 0, 32, 0, 0, 0, 185, 0, 0, 11, 18, 0, 16, 0, 32, 0, 0, 0, 0, 240, 17, 0, 3, 0, 0, 0, 70, 0, 16, 0, 21, 0, 0, 0, 10, 0, 16, 0, 19, 0, 0, 0, 26, 0, 16, 0, 19, 0, 0, 0, 54, 0, 0, 5, 18, 0, 16, 0, 33, 0, 0, 0, 10, 0, 16, 0, 19, 0, 0, 0, 54, 0, 0, 5, 34, 0, 16, 0, 33, 0, 0, 0, 10, 0, 16, 0, 32, 0, 0, 0, 48, 0, 0, 1, 32, 0, 0, 7, 34, 0, 16, 0, 19, 0, 0, 0, 10, 0, 16, 0, 33, 0, 0, 0, 26, 0, 16, 0, 33, 0, 0, 0, 3, 0, 4, 3, 26, 0, 16, 0, 19, 0, 0, 0, 50, 0, 0, 9, 34, 0, 16, 0, 19, 0, 0, 0, 42, 0, 16, 0, 31, 0, 0, 0, 42, 0, 16, 0, 26, 0, 0, 0, 26, 0, 16, 0, 33, 0, 0, 0, 185, 0, 0, 11, 18, 0, 16, 0, 33, 0, 0, 0, 0, 240, 17, 0, 3, 0, 0, 0, 70, 0, 16, 0, 21, 0, 0, 0, 26, 0, 16, 0, 33, 0, 0, 0, 26, 0, 16, 0, 19, 0, 0, 0, 54, 0, 0, 5, 50, 0, 16, 0, 33, 0, 0, 0, 22, 5, 16, 0, 33, 0, 0, 0, 22, 0, 0, 1, 167, 0, 0, 9, 18, 0, 16, 0, 19, 0, 0, 0, 10, 0, 16, 0, 34, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 50, 0, 0, 9, 34, 0, 16, 0, 19, 0, 0, 0, 58, 0, 16, 0, 31, 0, 0, 0, 42, 0, 16, 0, 26, 0, 0, 0, 10, 0, 16, 0, 19, 0, 0, 0, 54, 0, 0, 5, 66, 0, 16, 0, 21, 0, 0, 0, 10, 0, 16, 0, 34, 0, 0, 0, 185, 0, 0, 11, 18, 0, 16, 0, 32, 0, 0, 0, 0, 240, 17, 0, 3, 0, 0, 0, 230, 10, 16, 0, 21, 0, 0, 0, 10, 0, 16, 0, 19, 0, 0, 0, 26, 0, 16, 0, 19, 0, 0, 0, 54, 0, 0, 5, 18, 0, 16, 0, 33, 0, 0, 0, 10, 0, 16, 0, 19, 0, 0, 0, 54, 0, 0, 5, 34, 0, 16, 0, 33, 0, 0, 0, 10, 0, 16, 0, 32, 0, 0, 0, 48, 0, 0, 1, 32, 0, 0, 7, 34, 0, 16, 0, 19, 0, 0, 0, 10, 0, 16, 0, 33, 0, 0, 0, 26, 0, 16, 0, 33, 0, 0, 0, 3, 0, 4, 3, 26, 0, 16, 0, 19, 0, 0, 0, 50, 0, 0, 9, 34, 0, 16, 0, 19, 0, 0, 0, 58, 0, 16, 0, 31, 0, 0, 0, 42, 0, 16, 0, 26, 0, 0, 0, 26, 0, 16, 0, 33, 0, 0, 0, 185, 0, 0, 11, 18, 0, 16, 0, 33, 0, 0, 0, 0, 240, 17, 0, 3, 0, 0, 0, 230, 10, 16, 0, 21, 0, 0, 0, 26, 0, 16, 0, 33, 0, 0, 0, 26, 0, 16, 0, 19, 0, 0, 0, 54, 0, 0, 5, 50, 0, 16, 0, 33, 0, 0, 0, 22, 5, 16, 0, 33, 0, 0, 0, 22, 0, 0, 1, 167, 0, 0, 9, 18, 0, 16, 0, 19, 0, 0, 0, 42, 0, 16, 0, 19, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 50, 0, 0, 9, 34, 0, 16, 0, 19, 0, 0, 0, 26, 0, 16, 0, 31, 0, 0, 0, 58, 0, 16, 0, 26, 0, 0, 0, 10, 0, 16, 0, 19, 0, 0, 0, 185, 0, 0, 11, 18, 0, 16, 0, 32, 0, 0, 0, 0, 240, 17, 0, 3, 0, 0, 0, 230, 10, 16, 0, 19, 0, 0, 0, 10, 0, 16, 0, 19, 0, 0, 0, 26, 0, 16, 0, 19, 0, 0, 0, 54, 0, 0, 5, 18, 0, 16, 0, 33, 0, 0, 0, 10, 0, 16, 0, 19, 0, 0, 0, 54, 0, 0, 5, 34, 0, 16, 0, 33, 0, 0, 0, 10, 0, 16, 0, 32, 0, 0, 0, 48, 0, 0, 1, 32, 0, 0, 7, 34, 0, 16, 0, 19, 0, 0, 0, 10, 0, 16, 0, 33, 0, 0, 0, 26, 0, 16, 0, 33, 0, 0, 0, 3, 0, 4, 3, 26, 0, 16, 0, 19, 0, 0, 0, 50, 0, 0, 9, 34, 0, 16, 0, 19, 0, 0, 0, 26, 0, 16, 0, 31, 0, 0, 0, 58, 0, 16, 0, 26, 0, 0, 0, 26, 0, 16, 0, 33, 0, 0, 0, 185, 0, 0, 11, 18, 0, 16, 0, 33, 0, 0, 0, 0, 240, 17, 0, 3, 0, 0, 0, 230, 10, 16, 0, 19, 0, 0, 0, 26, 0, 16, 0, 33, 0, 0, 0, 26, 0, 16, 0, 19, 0, 0, 0, 54, 0, 0, 5, 50, 0, 16, 0, 33, 0, 0, 0, 22, 5, 16, 0, 33, 0, 0, 0, 22, 0, 0, 1, 167, 0, 0, 9, 18, 0, 16, 0, 19, 0, 0, 0, 42, 0, 16, 0, 34, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 50, 0, 0, 9, 34, 0, 16, 0, 19, 0, 0, 0, 42, 0, 16, 0, 31, 0, 0, 0, 58, 0, 16, 0, 26, 0, 0, 0, 10, 0, 16, 0, 19, 0, 0, 0, 54, 0, 0, 5, 82, 0, 16, 0, 22, 0, 0, 0, 166, 11, 16, 0, 34, 0, 0, 0, 185, 0, 0, 11, 18, 0, 16, 0, 32, 0, 0, 0, 0, 240, 17, 0, 3, 0, 0, 0, 70, 0, 16, 0, 22, 0, 0, 0, 10, 0, 16, 0, 19, 0, 0, 0, 26, 0, 16, 0, 19, 0, 0, 0, 54, 0, 0, 5, 18, 0, 16, 0, 31, 0, 0, 0, 10, 0, 16, 0, 19, 0, 0, 0, 54, 0, 0, 5, 34, 0, 16, 0, 31, 0, 0, 0, 10, 0, 16, 0, 32, 0, 0, 0, 48, 0, 0, 1, 32, 0, 0, 7, 34, 0, 16, 0, 19, 0, 0, 0, 10, 0, 16, 0, 31, 0, 0, 0, 26, 0, 16, 0, 31, 0, 0, 0, 3, 0, 4, 3, 26, 0, 16, 0, 19, 0, 0, 0, 50, 0, 0, 9, 34, 0, 16, 0, 19, 0, 0, 0, 42, 0, 16, 0, 31, 0, 0, 0, 58, 0, 16, 0, 26, 0, 0, 0, 26, 0, 16, 0, 31, 0, 0, 0, 185, 0, 0, 11, 18, 0, 16, 0, 31, 0, 0, 0, 0, 240, 17, 0, 3, 0, 0, 0, 70, 0, 16, 0, 22, 0, 0, 0, 26, 0, 16, 0, 31, 0, 0, 0, 26, 0, 16, 0, 19, 0, 0, 0, 54, 0, 0, 5, 50, 0, 16, 0, 31, 0, 0, 0, 22, 5, 16, 0, 31, 0, 0, 0, 22, 0, 0, 1, 167, 0, 0, 9, 18, 0, 16, 0, 19, 0, 0, 0, 58, 0, 16, 0, 34, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 50, 0, 0, 9, 34, 0, 16, 0, 19, 0, 0, 0, 58, 0, 16, 0, 31, 0, 0, 0, 58, 0, 16, 0, 26, 0, 0, 0, 10, 0, 16, 0, 19, 0, 0, 0, 185, 0, 0, 11, 18, 0, 16, 0, 32, 0, 0, 0, 0, 240, 17, 0, 3, 0, 0, 0, 230, 10, 16, 0, 22, 0, 0, 0, 10, 0, 16, 0, 19, 0, 0, 0, 26, 0, 16, 0, 19, 0, 0, 0, 54, 0, 0, 5, 18, 0, 16, 0, 31, 0, 0, 0, 10, 0, 16, 0, 19, 0, 0, 0, 54, 0, 0, 5, 34, 0, 16, 0, 31, 0, 0, 0, 10, 0, 16, 0, 32, 0, 0, 0, 48, 0, 0, 1, 32, 0, 0, 7, 34, 0, 16, 0, 19, 0, 0, 0, 10, 0, 16, 0, 31, 0, 0, 0, 26, 0, 16, 0, 31, 0, 0, 0, 3, 0, 4, 3, 26, 0, 16, 0, 19, 0, 0, 0, 50, 0, 0, 9, 34, 0, 16, 0, 19, 0, 0, 0, 58, 0, 16, 0, 31, 0, 0, 0, 58, 0, 16, 0, 26, 0, 0, 0, 26, 0, 16, 0, 31, 0, 0, 0, 185, 0, 0, 11, 18, 0, 16, 0, 31, 0, 0, 0, 0, 240, 17, 0, 3, 0, 0, 0, 230, 10, 16, 0, 22, 0, 0, 0, 26, 0, 16, 0, 31, 0, 0, 0, 26, 0, 16, 0, 19, 0, 0, 0, 54, 0, 0, 5, 50, 0, 16, 0, 31, 0, 0, 0, 22, 5, 16, 0, 31, 0, 0, 0, 22, 0, 0, 1, 30, 0, 0, 7, 130, 0, 16, 0, 24, 0, 0, 0, 58, 0, 16, 0, 24, 0, 0, 0, 1, 64, 0, 0, 0, 4, 0, 0, 22, 0, 0, 1, 190, 24, 0, 1, 21, 0, 0, 1, 165, 0, 0, 7, 18, 0, 16, 0, 19, 0, 0, 0, 1, 64, 0, 0, 76, 0, 0, 0, 6, 240, 17, 0, 1, 0, 0, 0, 39, 0, 0, 7, 18, 0, 16, 0, 19, 0, 0, 0, 10, 0, 16, 0, 19, 0, 0, 0, 1, 64, 0, 0, 255, 255, 255, 255, 31, 0, 4, 3, 10, 0, 16, 0, 19, 0, 0, 0, 165, 0, 0, 7, 50, 0, 16, 0, 19, 0, 0, 0, 1, 64, 0, 0, 44, 0, 0, 0, 70, 240, 17, 0, 0, 0, 0, 0, 165, 0, 0, 7, 114, 0, 16, 0, 24, 0, 0, 0, 1, 64, 0, 0, 72, 0, 0, 0, 70, 242, 17, 0, 1, 0, 0, 0, 165, 0, 0, 7, 66, 0, 16, 0, 19, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 0, 0, 0, 0, 54, 0, 0, 4, 18, 0, 16, 0, 20, 0, 0, 0, 10, 32, 2, 0, 48, 0, 0, 1, 80, 0, 0, 7, 66, 0, 16, 0, 20, 0, 0, 0, 10, 0, 16, 0, 20, 0, 0, 0, 42, 0, 16, 0, 19, 0, 0, 0, 3, 0, 4, 3, 42, 0, 16, 0, 20, 0, 0, 0, 30, 0, 0, 7, 82, 0, 16, 0, 21, 0, 0, 0, 6, 0, 16, 0, 20, 0, 0, 0, 86, 6, 16, 0, 24, 0, 0, 0, 167, 0, 0, 139, 2, 131, 0, 128, 131, 153, 25, 0, 242, 0, 16, 0, 25, 0, 0, 0, 10, 0, 16, 0, 21, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 70, 126, 16, 0, 11, 0, 0, 0, 167, 0, 0, 139, 2, 131, 0, 128, 131, 153, 25, 0, 242, 0, 16, 0, 26, 0, 0, 0, 42, 0, 16, 0, 21, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 70, 126, 16, 0, 11, 0, 0, 0, 0, 0, 0, 8, 242, 0, 16, 0, 26, 0, 0, 0, 70, 14, 16, 128, 65, 0, 0, 0, 25, 0, 0, 0, 70, 14, 16, 0, 26, 0, 0, 0, 50, 0, 0, 9, 242, 0, 16, 0, 25, 0, 0, 0, 70, 14, 16, 0, 26, 0, 0, 0, 6, 0, 16, 0, 23, 0, 0, 0, 70, 14, 16, 0, 25, 0, 0, 0, 167, 0, 0, 9, 18, 0, 16, 0, 26, 0, 0, 0, 10, 0, 16, 0, 20, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 30, 0, 0, 10, 242, 0, 16, 0, 27, 0, 0, 0, 6, 0, 16, 0, 20, 0, 0, 0, 2, 64, 0, 0, 177, 7, 0, 0, 98, 15, 0, 0, 19, 23, 0, 0, 0, 4, 0, 0, 167, 0, 0, 9, 34, 0, 16, 0, 26, 0, 0, 0, 10, 0, 16, 0, 27, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 66, 0, 16, 0, 26, 0, 0, 0, 26, 0, 16, 0, 27, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 66, 0, 16, 0, 20, 0, 0, 0, 42, 0, 16, 0, 27, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 0, 0, 0, 8, 114, 0, 16, 0, 25, 0, 0, 0, 70, 2, 16, 0, 25, 0, 0, 0, 70, 2, 16, 128, 65, 0, 0, 0, 26, 0, 0, 0, 16, 0, 0, 7, 18, 0, 16, 0, 21, 0, 0, 0, 70, 2, 16, 0, 25, 0, 0, 0, 70, 2, 16, 0, 25, 0, 0, 0, 0, 0, 0, 7, 18, 0, 16, 0, 21, 0, 0, 0, 10, 0, 16, 0, 21, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 52, 50, 0, 0, 11, 66, 0, 16, 0, 21, 0, 0, 0, 58, 0, 16, 0, 25, 0, 0, 0, 10, 0, 16, 128, 65, 0, 0, 0, 19, 0, 0, 0, 26, 0, 16, 128, 65, 0, 0, 0, 19, 0, 0, 0, 51, 0, 0, 7, 66, 0, 16, 0, 21, 0, 0, 0, 42, 0, 16, 0, 21, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 68, 0, 0, 5, 18, 0, 16, 0, 21, 0, 0, 0, 10, 0, 16, 0, 21, 0, 0, 0, 50, 0, 0, 9, 18, 0, 16, 0, 21, 0, 0, 0, 42, 0, 16, 0, 21, 0, 0, 0, 10, 0, 16, 0, 21, 0, 0, 0, 1, 64, 0, 0, 0, 0, 128, 63, 52, 0, 0, 7, 18, 0, 16, 0, 21, 0, 0, 0, 10, 0, 16, 0, 21, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 56, 0, 0, 7, 18, 0, 16, 0, 21, 0, 0, 0, 10, 0, 16, 0, 24, 0, 0, 0, 10, 0, 16, 0, 21, 0, 0, 0, 50, 0, 0, 9, 114, 0, 16, 0, 25, 0, 0, 0, 6, 0, 16, 0, 21, 0, 0, 0, 70, 2, 16, 0, 25, 0, 0, 0, 70, 2, 16, 0, 26, 0, 0, 0, 29, 0, 0, 7, 18, 0, 16, 0, 21, 0, 0, 0, 42, 0, 16, 0, 21, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 55, 0, 0, 9, 66, 0, 16, 0, 20, 0, 0, 0, 10, 0, 16, 0, 21, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 42, 0, 16, 0, 20, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 10, 0, 16, 0, 20, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 10, 0, 16, 0, 25, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 10, 0, 16, 0, 27, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 26, 0, 16, 0, 25, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 26, 0, 16, 0, 27, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 42, 0, 16, 0, 25, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 42, 0, 16, 0, 27, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 42, 0, 16, 0, 20, 0, 0, 0, 54, 0, 0, 5, 18, 0, 16, 0, 20, 0, 0, 0, 58, 0, 16, 0, 27, 0, 0, 0, 22, 0, 0, 1, 21, 0, 0, 1, 165, 0, 0, 7, 18, 0, 16, 0, 19, 0, 0, 0, 1, 64, 0, 0, 20, 0, 0, 0, 6, 240, 17, 0, 1, 0, 0, 0, 24, 0, 0, 7, 34, 0, 16, 0, 19, 0, 0, 0, 10, 0, 16, 0, 19, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 165, 0, 0, 7, 66, 0, 16, 0, 19, 0, 0, 0, 1, 64, 0, 0, 24, 0, 0, 0, 6, 240, 17, 0, 0, 0, 0, 0, 32, 0, 0, 7, 18, 0, 16, 0, 20, 0, 0, 0, 42, 0, 16, 0, 19, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 60, 0, 0, 7, 34, 0, 16, 0, 19, 0, 0, 0, 26, 0, 16, 0, 19, 0, 0, 0, 10, 0, 16, 0, 20, 0, 0, 0, 31, 0, 0, 3, 26, 0, 16, 0, 19, 0, 0, 0, 165, 0, 0, 7, 34, 0, 16, 0, 19, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 0, 0, 0, 0, 86, 0, 0, 5, 18, 0, 16, 0, 20, 0, 0, 0, 26, 0, 16, 0, 19, 0, 0, 0, 56, 0, 0, 7, 18, 0, 16, 0, 19, 0, 0, 0, 10, 0, 16, 0, 19, 0, 0, 0, 10, 0, 16, 0, 20, 0, 0, 0, 86, 0, 0, 5, 18, 0, 16, 0, 20, 0, 0, 0, 42, 0, 16, 0, 19, 0, 0, 0, 14, 0, 0, 7, 18, 0, 16, 0, 19, 0, 0, 0, 10, 0, 16, 0, 19, 0, 0, 0, 10, 0, 16, 0, 20, 0, 0, 0, 165, 0, 0, 7, 82, 0, 16, 0, 20, 0, 0, 0, 1, 64, 0, 0, 28, 0, 0, 0, 6, 241, 17, 0, 0, 0, 0, 0, 54, 0, 0, 4, 18, 0, 16, 0, 21, 0, 0, 0, 10, 32, 2, 0, 48, 0, 0, 1, 80, 0, 0, 7, 66, 0, 16, 0, 21, 0, 0, 0, 10, 0, 16, 0, 21, 0, 0, 0, 26, 0, 16, 0, 19, 0, 0, 0, 3, 0, 4, 3, 42, 0, 16, 0, 21, 0, 0, 0, 167, 0, 0, 9, 66, 0, 16, 0, 21, 0, 0, 0, 10, 0, 16, 0, 21, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 30, 0, 0, 10, 242, 0, 16, 0, 24, 0, 0, 0, 6, 0, 16, 0, 21, 0, 0, 0, 2, 64, 0, 0, 177, 7, 0, 0, 98, 15, 0, 0, 19, 23, 0, 0, 0, 4, 0, 0, 167, 0, 0, 9, 18, 0, 16, 0, 22, 0, 0, 0, 10, 0, 16, 0, 24, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 66, 0, 16, 0, 22, 0, 0, 0, 26, 0, 16, 0, 24, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 66, 0, 16, 0, 23, 0, 0, 0, 42, 0, 16, 0, 24, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 54, 0, 0, 8, 114, 0, 16, 0, 25, 0, 0, 0, 2, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 54, 0, 0, 5, 130, 0, 16, 0, 23, 0, 0, 0, 10, 0, 16, 0, 21, 0, 0, 0, 48, 0, 0, 1, 80, 0, 0, 7, 130, 0, 16, 0, 25, 0, 0, 0, 58, 0, 16, 0, 23, 0, 0, 0, 42, 0, 16, 0, 19, 0, 0, 0, 3, 0, 4, 3, 58, 0, 16, 0, 25, 0, 0, 0, 30, 0, 0, 7, 130, 0, 16, 0, 25, 0, 0, 0, 10, 0, 16, 0, 20, 0, 0, 0, 58, 0, 16, 0, 23, 0, 0, 0, 167, 0, 0, 139, 2, 35, 0, 128, 131, 153, 25, 0, 130, 0, 16, 0, 25, 0, 0, 0, 58, 0, 16, 0, 25, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 112, 16, 0, 5, 0, 0, 0, 1, 0, 0, 7, 18, 0, 16, 0, 26, 0, 0, 0, 58, 0, 16, 0, 25, 0, 0, 0, 1, 64, 0, 0, 255, 255, 0, 0, 167, 0, 0, 9, 34, 0, 16, 0, 26, 0, 0, 0, 10, 0, 16, 0, 26, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 30, 0, 0, 10, 82, 0, 16, 0, 26, 0, 0, 0, 6, 0, 16, 0, 26, 0, 0, 0, 2, 64, 0, 0, 177, 7, 0, 0, 0, 0, 0, 0, 98, 15, 0, 0, 0, 0, 0, 0, 167, 0, 0, 9, 18, 0, 16, 0, 26, 0, 0, 0, 10, 0, 16, 0, 26, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 66, 0, 16, 0, 26, 0, 0, 0, 42, 0, 16, 0, 26, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 0, 0, 0, 8, 34, 0, 16, 0, 26, 0, 0, 0, 42, 0, 16, 128, 65, 0, 0, 0, 21, 0, 0, 0, 26, 0, 16, 0, 26, 0, 0, 0, 0, 0, 0, 8, 82, 0, 16, 0, 26, 0, 0, 0, 6, 2, 16, 128, 65, 0, 0, 0, 22, 0, 0, 0, 6, 2, 16, 0, 26, 0, 0, 0, 50, 0, 0, 9, 130, 0, 16, 0, 26, 0, 0, 0, 26, 0, 16, 0, 26, 0, 0, 0, 26, 0, 16, 0, 26, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 52, 50, 0, 0, 9, 130, 0, 16, 0, 26, 0, 0, 0, 10, 0, 16, 0, 26, 0, 0, 0, 10, 0, 16, 0, 26, 0, 0, 0, 58, 0, 16, 0, 26, 0, 0, 0, 50, 0, 0, 9, 130, 0, 16, 0, 26, 0, 0, 0, 42, 0, 16, 0, 26, 0, 0, 0, 42, 0, 16, 0, 26, 0, 0, 0, 58, 0, 16, 0, 26, 0, 0, 0, 85, 0, 0, 7, 130, 0, 16, 0, 25, 0, 0, 0, 58, 0, 16, 0, 25, 0, 0, 0, 1, 64, 0, 0, 16, 0, 0, 0, 86, 0, 0, 5, 130, 0, 16, 0, 25, 0, 0, 0, 58, 0, 16, 0, 25, 0, 0, 0, 56, 0, 0, 7, 130, 0, 16, 0, 25, 0, 0, 0, 42, 0, 16, 0, 20, 0, 0, 0, 58, 0, 16, 0, 25, 0, 0, 0, 68, 0, 0, 5, 130, 0, 16, 0, 26, 0, 0, 0, 58, 0, 16, 0, 26, 0, 0, 0, 50, 0, 0, 10, 130, 0, 16, 0, 25, 0, 0, 0, 58, 0, 16, 128, 65, 0, 0, 0, 25, 0, 0, 0, 58, 0, 16, 0, 26, 0, 0, 0, 1, 64, 0, 0, 0, 0, 128, 63, 49, 0, 0, 7, 130, 0, 16, 0, 26, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 58, 0, 16, 0, 25, 0, 0, 0, 50, 0, 0, 9, 18, 0, 16, 0, 27, 0, 0, 0, 26, 0, 16, 0, 26, 0, 0, 0, 58, 0, 16, 0, 25, 0, 0, 0, 10, 0, 16, 0, 25, 0, 0, 0, 50, 0, 0, 9, 34, 0, 16, 0, 27, 0, 0, 0, 10, 0, 16, 0, 26, 0, 0, 0, 58, 0, 16, 0, 25, 0, 0, 0, 26, 0, 16, 0, 25, 0, 0, 0, 50, 0, 0, 9, 66, 0, 16, 0, 27, 0, 0, 0, 42, 0, 16, 0, 26, 0, 0, 0, 58, 0, 16, 0, 25, 0, 0, 0, 42, 0, 16, 0, 25, 0, 0, 0, 55, 0, 0, 9, 114, 0, 16, 0, 25, 0, 0, 0, 246, 15, 16, 0, 26, 0, 0, 0, 70, 2, 16, 0, 27, 0, 0, 0, 70, 2, 16, 0, 25, 0, 0, 0, 30, 0, 0, 7, 130, 0, 16, 0, 23, 0, 0, 0, 26, 0, 16, 0, 19, 0, 0, 0, 58, 0, 16, 0, 23, 0, 0, 0, 22, 0, 0, 1, 50, 0, 0, 9, 66, 0, 16, 0, 21, 0, 0, 0, 10, 0, 16, 0, 25, 0, 0, 0, 10, 0, 16, 0, 19, 0, 0, 0, 42, 0, 16, 0, 21, 0, 0, 0, 50, 0, 0, 9, 18, 0, 16, 0, 22, 0, 0, 0, 26, 0, 16, 0, 25, 0, 0, 0, 10, 0, 16, 0, 19, 0, 0, 0, 10, 0, 16, 0, 22, 0, 0, 0, 50, 0, 0, 9, 66, 0, 16, 0, 22, 0, 0, 0, 42, 0, 16, 0, 25, 0, 0, 0, 10, 0, 16, 0, 19, 0, 0, 0, 42, 0, 16, 0, 22, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 10, 0, 16, 0, 21, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 42, 0, 16, 0, 21, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 10, 0, 16, 0, 24, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 10, 0, 16, 0, 22, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 26, 0, 16, 0, 24, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 42, 0, 16, 0, 22, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 42, 0, 16, 0, 24, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 42, 0, 16, 0, 23, 0, 0, 0, 54, 0, 0, 5, 18, 0, 16, 0, 21, 0, 0, 0, 58, 0, 16, 0, 24, 0, 0, 0, 22, 0, 0, 1, 21, 0, 0, 1, 54, 0, 0, 5, 18, 0, 16, 0, 19, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 48, 0, 0, 1, 165, 0, 0, 7, 34, 0, 16, 0, 19, 0, 0, 0, 1, 64, 0, 0, 8, 0, 0, 0, 6, 240, 17, 0, 0, 0, 0, 0, 80, 0, 0, 7, 34, 0, 16, 0, 19, 0, 0, 0, 10, 0, 16, 0, 19, 0, 0, 0, 26, 0, 16, 0, 19, 0, 0, 0, 3, 0, 4, 3, 26, 0, 16, 0, 19, 0, 0, 0, 165, 0, 0, 7, 114, 0, 16, 0, 24, 0, 0, 0, 1, 64, 0, 0, 12, 0, 0, 0, 70, 242, 17, 0, 0, 0, 0, 0, 30, 0, 0, 7, 34, 0, 16, 0, 19, 0, 0, 0, 10, 0, 16, 0, 19, 0, 0, 0, 10, 0, 16, 0, 24, 0, 0, 0, 167, 0, 0, 139, 2, 195, 0, 128, 131, 153, 25, 0, 242, 0, 16, 0, 26, 0, 0, 0, 26, 0, 16, 0, 19, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 70, 126, 16, 0, 3, 0, 0, 0, 167, 0, 0, 139, 2, 195, 0, 128, 131, 153, 25, 0, 98, 0, 16, 0, 19, 0, 0, 0, 26, 0, 16, 0, 19, 0, 0, 0, 1, 64, 0, 0, 16, 0, 0, 0, 6, 113, 16, 0, 3, 0, 0, 0, 165, 0, 0, 7, 18, 0, 16, 0, 20, 0, 0, 0, 1, 64, 0, 0, 156, 0, 0, 0, 6, 240, 17, 0, 1, 0, 0, 0, 56, 0, 0, 7, 82, 0, 16, 0, 21, 0, 0, 0, 6, 0, 16, 0, 20, 0, 0, 0, 6, 1, 16, 0, 26, 0, 0, 0, 25, 0, 0, 5, 82, 0, 16, 0, 21, 0, 0, 0, 6, 2, 16, 0, 21, 0, 0, 0, 0, 0, 0, 11, 82, 0, 16, 0, 21, 0, 0, 0, 6, 2, 16, 128, 65, 0, 0, 0, 21, 0, 0, 0, 2, 64, 0, 0, 0, 0, 128, 63, 0, 0, 0, 0, 0, 0, 128, 63, 0, 0, 0, 0, 30, 0, 0, 7, 66, 0, 16, 0, 20, 0, 0, 0, 26, 0, 16, 0, 19, 0, 0, 0, 26, 0, 16, 0, 24, 0, 0, 0, 39, 0, 0, 7, 18, 0, 16, 0, 22, 0, 0, 0, 42, 0, 16, 0, 24, 0, 0, 0, 1, 64, 0, 0, 255, 255, 255, 255, 165, 0, 0, 7, 66, 0, 16, 0, 22, 0, 0, 0, 1, 64, 0, 0, 20, 0, 0, 0, 6, 240, 17, 0, 0, 0, 0, 0, 30, 0, 0, 7, 34, 0, 16, 0, 19, 0, 0, 0, 26, 0, 16, 0, 19, 0, 0, 0, 42, 0, 16, 0, 22, 0, 0, 0, 190, 24, 0, 1, 54, 0, 0, 4, 66, 0, 16, 0, 22, 0, 0, 0, 10, 32, 2, 0, 48, 0, 0, 1, 80, 0, 0, 7, 66, 0, 16, 0, 23, 0, 0, 0, 42, 0, 16, 0, 22, 0, 0, 0, 42, 0, 16, 0, 19, 0, 0, 0, 3, 0, 4, 3, 42, 0, 16, 0, 23, 0, 0, 0, 30, 0, 0, 7, 66, 0, 16, 0, 23, 0, 0, 0, 42, 0, 16, 0, 20, 0, 0, 0, 42, 0, 16, 0, 22, 0, 0, 0, 167, 0, 0, 139, 2, 67, 0, 128, 131, 153, 25, 0, 194, 0, 16, 0, 23, 0, 0, 0, 42, 0, 16, 0, 23, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 116, 16, 0, 4, 0, 0, 0, 1, 0, 0, 7, 18, 0, 16, 0, 24, 0, 0, 0, 58, 0, 16, 0, 23, 0, 0, 0, 1, 64, 0, 0, 255, 255, 0, 0, 85, 0, 0, 7, 130, 0, 16, 0, 23, 0, 0, 0, 58, 0, 16, 0, 23, 0, 0, 0, 1, 64, 0, 0, 16, 0, 0, 0, 167, 0, 0, 9, 34, 0, 16, 0, 24, 0, 0, 0, 10, 0, 16, 0, 24, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 30, 0, 0, 10, 114, 0, 16, 0, 27, 0, 0, 0, 6, 0, 16, 0, 24, 0, 0, 0, 2, 64, 0, 0, 177, 7, 0, 0, 98, 15, 0, 0, 19, 23, 0, 0, 0, 0, 0, 0, 167, 0, 0, 9, 66, 0, 16, 0, 24, 0, 0, 0, 10, 0, 16, 0, 27, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 130, 0, 16, 0, 24, 0, 0, 0, 26, 0, 16, 0, 27, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 130, 0, 16, 0, 25, 0, 0, 0, 42, 0, 16, 0, 27, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 18, 0, 16, 0, 26, 0, 0, 0, 58, 0, 16, 0, 23, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 30, 0, 0, 10, 114, 0, 16, 0, 28, 0, 0, 0, 246, 15, 16, 0, 23, 0, 0, 0, 2, 64, 0, 0, 177, 7, 0, 0, 98, 15, 0, 0, 19, 23, 0, 0, 0, 0, 0, 0, 167, 0, 0, 9, 34, 0, 16, 0, 26, 0, 0, 0, 10, 0, 16, 0, 28, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 130, 0, 16, 0, 27, 0, 0, 0, 26, 0, 16, 0, 28, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 130, 0, 16, 0, 28, 0, 0, 0, 42, 0, 16, 0, 28, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 0, 0, 0, 8, 50, 0, 16, 0, 29, 0, 0, 0, 150, 5, 16, 128, 65, 0, 0, 0, 24, 0, 0, 0, 70, 0, 16, 0, 26, 0, 0, 0, 0, 0, 0, 8, 66, 0, 16, 0, 29, 0, 0, 0, 58, 0, 16, 128, 65, 0, 0, 0, 24, 0, 0, 0, 58, 0, 16, 0, 27, 0, 0, 0, 50, 0, 0, 9, 130, 0, 16, 0, 29, 0, 0, 0, 10, 0, 16, 0, 29, 0, 0, 0, 10, 0, 16, 0, 29, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 52, 50, 0, 0, 9, 130, 0, 16, 0, 29, 0, 0, 0, 26, 0, 16, 0, 29, 0, 0, 0, 26, 0, 16, 0, 29, 0, 0, 0, 58, 0, 16, 0, 29, 0, 0, 0, 50, 0, 0, 9, 130, 0, 16, 0, 29, 0, 0, 0, 42, 0, 16, 0, 29, 0, 0, 0, 42, 0, 16, 0, 29, 0, 0, 0, 58, 0, 16, 0, 29, 0, 0, 0, 49, 0, 0, 7, 18, 0, 16, 0, 30, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 52, 42, 0, 16, 0, 23, 0, 0, 0, 68, 0, 0, 5, 130, 0, 16, 0, 29, 0, 0, 0, 58, 0, 16, 0, 29, 0, 0, 0, 50, 0, 0, 9, 66, 0, 16, 0, 23, 0, 0, 0, 42, 0, 16, 0, 23, 0, 0, 0, 58, 0, 16, 0, 29, 0, 0, 0, 1, 64, 0, 0, 0, 0, 128, 191, 1, 0, 0, 7, 66, 0, 16, 0, 23, 0, 0, 0, 42, 0, 16, 0, 23, 0, 0, 0, 10, 0, 16, 0, 30, 0, 0, 0, 51, 0, 0, 8, 130, 0, 16, 0, 29, 0, 0, 0, 58, 0, 16, 0, 26, 0, 0, 0, 42, 0, 16, 128, 65, 0, 0, 0, 23, 0, 0, 0, 52, 0, 0, 7, 130, 0, 16, 0, 29, 0, 0, 0, 42, 0, 16, 0, 26, 0, 0, 0, 58, 0, 16, 0, 29, 0, 0, 0, 50, 0, 0, 9, 66, 0, 16, 0, 23, 0, 0, 0, 42, 0, 16, 0, 21, 0, 0, 0, 58, 0, 16, 0, 29, 0, 0, 0, 42, 0, 16, 0, 23, 0, 0, 0, 30, 0, 0, 7, 130, 0, 16, 0, 29, 0, 0, 0, 26, 0, 16, 0, 19, 0, 0, 0, 42, 0, 16, 0, 22, 0, 0, 0, 167, 0, 0, 139, 2, 35, 0, 128, 131, 153, 25, 0, 130, 0, 16, 0, 29, 0, 0, 0, 58, 0, 16, 0, 29, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 112, 16, 0, 16, 0, 0, 0, 56, 0, 0, 7, 130, 0, 16, 0, 29, 0, 0, 0, 10, 0, 16, 0, 20, 0, 0, 0, 58, 0, 16, 0, 29, 0, 0, 0, 25, 0, 0, 5, 130, 0, 16, 0, 29, 0, 0, 0, 58, 0, 16, 0, 29, 0, 0, 0, 0, 0, 0, 8, 130, 0, 16, 0, 29, 0, 0, 0, 58, 0, 16, 128, 65, 0, 0, 0, 29, 0, 0, 0, 1, 64, 0, 0, 0, 0, 128, 63, 55, 0, 0, 9, 130, 0, 16, 0, 29, 0, 0, 0, 10, 0, 16, 0, 22, 0, 0, 0, 58, 0, 16, 0, 29, 0, 0, 0, 10, 0, 16, 0, 21, 0, 0, 0, 56, 0, 0, 7, 66, 0, 16, 0, 23, 0, 0, 0, 42, 0, 16, 0, 23, 0, 0, 0, 58, 0, 16, 0, 29, 0, 0, 0, 0, 0, 0, 7, 130, 0, 16, 0, 29, 0, 0, 0, 58, 0, 16, 0, 25, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 52, 0, 0, 0, 7, 130, 0, 16, 0, 29, 0, 0, 0, 58, 0, 16, 0, 28, 0, 0, 0, 58, 0, 16, 0, 29, 0, 0, 0, 14, 0, 0, 7, 66, 0, 16, 0, 23, 0, 0, 0, 42, 0, 16, 0, 23, 0, 0, 0, 58, 0, 16, 0, 29, 0, 0, 0, 56, 0, 0, 8, 130, 0, 16, 0, 29, 0, 0, 0, 42, 0, 16, 0, 23, 0, 0, 0, 58, 0, 16, 128, 65, 0, 0, 0, 25, 0, 0, 0, 50, 0, 0, 9, 34, 0, 16, 0, 24, 0, 0, 0, 58, 0, 16, 0, 29, 0, 0, 0, 10, 0, 16, 0, 29, 0, 0, 0, 26, 0, 16, 0, 24, 0, 0, 0, 50, 0, 0, 9, 66, 0, 16, 0, 24, 0, 0, 0, 58, 0, 16, 0, 29, 0, 0, 0, 26, 0, 16, 0, 29, 0, 0, 0, 42, 0, 16, 0, 24, 0, 0, 0, 50, 0, 0, 9, 130, 0, 16, 0, 24, 0, 0, 0, 58, 0, 16, 0, 29, 0, 0, 0, 42, 0, 16, 0, 29, 0, 0, 0, 58, 0, 16, 0, 24, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 10, 0, 16, 0, 24, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 26, 0, 16, 0, 24, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 10, 0, 16, 0, 27, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 42, 0, 16, 0, 24, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 26, 0, 16, 0, 27, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 58, 0, 16, 0, 24, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 42, 0, 16, 0, 27, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 58, 0, 16, 0, 25, 0, 0, 0, 56, 0, 0, 7, 66, 0, 16, 0, 23, 0, 0, 0, 42, 0, 16, 0, 23, 0, 0, 0, 58, 0, 16, 0, 28, 0, 0, 0, 50, 0, 0, 9, 18, 0, 16, 0, 24, 0, 0, 0, 42, 0, 16, 0, 23, 0, 0, 0, 10, 0, 16, 0, 29, 0, 0, 0, 10, 0, 16, 0, 26, 0, 0, 0, 50, 0, 0, 9, 34, 0, 16, 0, 24, 0, 0, 0, 42, 0, 16, 0, 23, 0, 0, 0, 26, 0, 16, 0, 29, 0, 0, 0, 26, 0, 16, 0, 26, 0, 0, 0, 50, 0, 0, 9, 66, 0, 16, 0, 23, 0, 0, 0, 42, 0, 16, 0, 23, 0, 0, 0, 42, 0, 16, 0, 29, 0, 0, 0, 58, 0, 16, 0, 27, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 58, 0, 16, 0, 23, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 10, 0, 16, 0, 24, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 10, 0, 16, 0, 28, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 26, 0, 16, 0, 24, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 26, 0, 16, 0, 28, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 42, 0, 16, 0, 23, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 42, 0, 16, 0, 28, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 58, 0, 16, 0, 28, 0, 0, 0, 30, 0, 0, 7, 66, 0, 16, 0, 22, 0, 0, 0, 42, 0, 16, 0, 22, 0, 0, 0, 1, 64, 0, 0, 0, 4, 0, 0, 22, 0, 0, 1, 30, 0, 0, 7, 18, 0, 16, 0, 19, 0, 0, 0, 10, 0, 16, 0, 19, 0, 0, 0, 1, 64, 0, 0, 1, 0, 0, 0, 22, 0, 0, 1, 190, 24, 0, 1, 165, 0, 0, 7, 18, 0, 16, 0, 19, 0, 0, 0, 1, 64, 0, 0, 84, 0, 0, 0, 6, 240, 17, 0, 1, 0, 0, 0, 39, 0, 0, 7, 18, 0, 16, 0, 19, 0, 0, 0, 10, 0, 16, 0, 19, 0, 0, 0, 1, 64, 0, 0, 255, 255, 255, 255, 31, 0, 4, 3, 10, 0, 16, 0, 19, 0, 0, 0, 165, 0, 0, 7, 18, 0, 16, 0, 19, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 0, 0, 0, 0, 165, 0, 0, 7, 98, 0, 16, 0, 19, 0, 0, 0, 1, 64, 0, 0, 84, 0, 0, 0, 6, 241, 17, 0, 1, 0, 0, 0, 54, 0, 0, 4, 18, 0, 16, 0, 20, 0, 0, 0, 10, 32, 2, 0, 48, 0, 0, 1, 80, 0, 0, 7, 66, 0, 16, 0, 20, 0, 0, 0, 10, 0, 16, 0, 20, 0, 0, 0, 10, 0, 16, 0, 19, 0, 0, 0, 3, 0, 4, 3, 42, 0, 16, 0, 20, 0, 0, 0, 30, 0, 0, 7, 82, 0, 16, 0, 21, 0, 0, 0, 86, 6, 16, 0, 19, 0, 0, 0, 6, 0, 16, 0, 20, 0, 0, 0, 167, 0, 0, 139, 2, 131, 0, 128, 131, 153, 25, 0, 242, 0, 16, 0, 24, 0, 0, 0, 10, 0, 16, 0, 21, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 70, 126, 16, 0, 12, 0, 0, 0, 167, 0, 0, 139, 2, 131, 0, 128, 131, 153, 25, 0, 242, 0, 16, 0, 26, 0, 0, 0, 42, 0, 16, 0, 21, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 70, 126, 16, 0, 12, 0, 0, 0, 0, 0, 0, 8, 242, 0, 16, 0, 26, 0, 0, 0, 70, 14, 16, 128, 65, 0, 0, 0, 24, 0, 0, 0, 70, 14, 16, 0, 26, 0, 0, 0, 50, 0, 0, 9, 242, 0, 16, 0, 24, 0, 0, 0, 70, 14, 16, 0, 26, 0, 0, 0, 6, 0, 16, 0, 23, 0, 0, 0, 70, 14, 16, 0, 24, 0, 0, 0, 167, 0, 0, 9, 18, 0, 16, 0, 26, 0, 0, 0, 10, 0, 16, 0, 20, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 30, 0, 0, 10, 242, 0, 16, 0, 27, 0, 0, 0, 6, 0, 16, 0, 20, 0, 0, 0, 2, 64, 0, 0, 177, 7, 0, 0, 98, 15, 0, 0, 19, 23, 0, 0, 0, 4, 0, 0, 167, 0, 0, 9, 34, 0, 16, 0, 26, 0, 0, 0, 10, 0, 16, 0, 27, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 66, 0, 16, 0, 26, 0, 0, 0, 26, 0, 16, 0, 27, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 66, 0, 16, 0, 20, 0, 0, 0, 42, 0, 16, 0, 27, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 0, 0, 0, 8, 114, 0, 16, 0, 24, 0, 0, 0, 70, 2, 16, 0, 24, 0, 0, 0, 70, 2, 16, 128, 65, 0, 0, 0, 26, 0, 0, 0, 16, 0, 0, 7, 18, 0, 16, 0, 21, 0, 0, 0, 70, 2, 16, 0, 24, 0, 0, 0, 70, 2, 16, 0, 24, 0, 0, 0, 0, 0, 0, 7, 18, 0, 16, 0, 21, 0, 0, 0, 10, 0, 16, 0, 21, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 52, 68, 0, 0, 5, 18, 0, 16, 0, 21, 0, 0, 0, 10, 0, 16, 0, 21, 0, 0, 0, 50, 0, 0, 10, 18, 0, 16, 0, 21, 0, 0, 0, 58, 0, 16, 128, 65, 0, 0, 0, 24, 0, 0, 0, 10, 0, 16, 0, 21, 0, 0, 0, 1, 64, 0, 0, 0, 0, 128, 63, 51, 0, 0, 7, 18, 0, 16, 0, 21, 0, 0, 0, 10, 0, 16, 0, 21, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 50, 0, 0, 9, 114, 0, 16, 0, 24, 0, 0, 0, 6, 0, 16, 0, 21, 0, 0, 0, 70, 2, 16, 0, 24, 0, 0, 0, 70, 2, 16, 0, 26, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 10, 0, 16, 0, 20, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 10, 0, 16, 0, 24, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 10, 0, 16, 0, 27, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 26, 0, 16, 0, 24, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 26, 0, 16, 0, 27, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 42, 0, 16, 0, 24, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 42, 0, 16, 0, 27, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 42, 0, 16, 0, 20, 0, 0, 0, 54, 0, 0, 5, 18, 0, 16, 0, 20, 0, 0, 0, 58, 0, 16, 0, 27, 0, 0, 0, 22, 0, 0, 1, 190, 24, 0, 1, 21, 0, 0, 1, 31, 0, 4, 3, 10, 0, 16, 0, 1, 0, 0, 0, 165, 0, 0, 7, 18, 0, 16, 0, 19, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 0, 0, 0, 0, 30, 0, 0, 7, 34, 0, 16, 0, 19, 0, 0, 0, 10, 0, 16, 0, 19, 0, 0, 0, 1, 64, 0, 0, 255, 255, 255, 255, 84, 0, 0, 7, 34, 0, 16, 0, 19, 0, 0, 0, 26, 0, 16, 0, 2, 0, 0, 0, 26, 0, 16, 0, 19, 0, 0, 0, 167, 0, 0, 9, 18, 0, 16, 0, 24, 0, 0, 0, 26, 0, 16, 0, 19, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 30, 0, 0, 10, 114, 0, 16, 0, 26, 0, 0, 0, 86, 5, 16, 0, 19, 0, 0, 0, 2, 64, 0, 0, 177, 7, 0, 0, 98, 15, 0, 0, 19, 23, 0, 0, 0, 0, 0, 0, 167, 0, 0, 9, 34, 0, 16, 0, 24, 0, 0, 0, 10, 0, 16, 0, 26, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 66, 0, 16, 0, 24, 0, 0, 0, 26, 0, 16, 0, 26, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 130, 0, 16, 0, 24, 0, 0, 0, 42, 0, 16, 0, 26, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 17, 0, 0, 8, 66, 0, 16, 0, 19, 0, 0, 0, 70, 14, 16, 0, 24, 0, 0, 0, 70, 158, 144, 0, 10, 0, 16, 0, 4, 0, 0, 0, 56, 0, 0, 7, 66, 0, 16, 0, 19, 0, 0, 0, 42, 0, 16, 0, 0, 0, 0, 0, 42, 0, 16, 0, 19, 0, 0, 0, 168, 0, 0, 8, 18, 240, 17, 0, 4, 0, 0, 0, 10, 32, 2, 0, 1, 64, 0, 0, 0, 0, 0, 0, 42, 0, 16, 0, 19, 0, 0, 0, 54, 0, 0, 5, 66, 0, 16, 0, 19, 0, 0, 0, 26, 0, 16, 0, 19, 0, 0, 0, 48, 0, 0, 1, 30, 0, 0, 7, 18, 0, 16, 0, 20, 0, 0, 0, 42, 0, 16, 0, 19, 0, 0, 0, 1, 64, 0, 0, 32, 0, 0, 0, 80, 0, 0, 7, 66, 0, 16, 0, 20, 0, 0, 0, 10, 0, 16, 0, 20, 0, 0, 0, 10, 0, 16, 0, 19, 0, 0, 0, 3, 0, 4, 3, 42, 0, 16, 0, 20, 0, 0, 0, 167, 0, 0, 8, 66, 0, 16, 0, 20, 0, 0, 0, 10, 32, 2, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 4, 0, 0, 0, 167, 0, 0, 9, 18, 0, 16, 0, 24, 0, 0, 0, 10, 0, 16, 0, 20, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 30, 0, 0, 10, 114, 0, 16, 0, 26, 0, 0, 0, 166, 10, 16, 0, 19, 0, 0, 0, 2, 64, 0, 0, 209, 7, 0, 0, 130, 15, 0, 0, 51, 23, 0, 0, 0, 0, 0, 0, 167, 0, 0, 9, 34, 0, 16, 0, 24, 0, 0, 0, 10, 0, 16, 0, 26, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 66, 0, 16, 0, 24, 0, 0, 0, 26, 0, 16, 0, 26, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 130, 0, 16, 0, 24, 0, 0, 0, 42, 0, 16, 0, 26, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 17, 0, 0, 8, 18, 0, 16, 0, 21, 0, 0, 0, 70, 14, 16, 0, 24, 0, 0, 0, 70, 158, 144, 0, 10, 0, 16, 0, 4, 0, 0, 0, 56, 0, 0, 7, 18, 0, 16, 0, 21, 0, 0, 0, 42, 0, 16, 0, 0, 0, 0, 0, 10, 0, 16, 0, 21, 0, 0, 0, 52, 0, 0, 7, 66, 0, 16, 0, 20, 0, 0, 0, 42, 0, 16, 0, 20, 0, 0, 0, 10, 0, 16, 0, 21, 0, 0, 0, 168, 0, 0, 8, 18, 240, 17, 0, 4, 0, 0, 0, 10, 32, 2, 0, 1, 64, 0, 0, 0, 0, 0, 0, 42, 0, 16, 0, 20, 0, 0, 0, 54, 0, 0, 5, 66, 0, 16, 0, 19, 0, 0, 0, 10, 0, 16, 0, 20, 0, 0, 0, 22, 0, 0, 1, 21, 0, 0, 1, 190, 24, 0, 1, 31, 0, 4, 3, 26, 0, 16, 0, 1, 0, 0, 0, 167, 0, 0, 8, 18, 0, 16, 0, 19, 0, 0, 0, 10, 32, 2, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 4, 0, 0, 0, 167, 0, 0, 9, 34, 0, 16, 0, 19, 0, 0, 0, 10, 0, 16, 0, 3, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 4, 0, 0, 0, 52, 0, 0, 7, 18, 0, 16, 0, 19, 0, 0, 0, 26, 0, 16, 0, 19, 0, 0, 0, 10, 0, 16, 0, 19, 0, 0, 0, 168, 0, 0, 8, 18, 240, 17, 0, 4, 0, 0, 0, 10, 32, 2, 0, 1, 64, 0, 0, 0, 0, 0, 0, 10, 0, 16, 0, 19, 0, 0, 0, 21, 0, 0, 1, 190, 24, 0, 1, 31, 0, 4, 3, 26, 0, 16, 0, 1, 0, 0, 0, 167, 0, 0, 8, 18, 0, 16, 0, 19, 0, 0, 0, 10, 32, 2, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 4, 0, 0, 0, 167, 0, 0, 9, 34, 0, 16, 0, 19, 0, 0, 0, 26, 0, 16, 0, 3, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 4, 0, 0, 0, 52, 0, 0, 7, 18, 0, 16, 0, 19, 0, 0, 0, 26, 0, 16, 0, 19, 0, 0, 0, 10, 0, 16, 0, 19, 0, 0, 0, 168, 0, 0, 8, 18, 240, 17, 0, 4, 0, 0, 0, 10, 32, 2, 0, 1, 64, 0, 0, 0, 0, 0, 0, 10, 0, 16, 0, 19, 0, 0, 0, 21, 0, 0, 1, 190, 24, 0, 1, 31, 0, 4, 3, 26, 0, 16, 0, 1, 0, 0, 0, 167, 0, 0, 8, 18, 0, 16, 0, 19, 0, 0, 0, 10, 32, 2, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 4, 0, 0, 0, 167, 0, 0, 9, 34, 0, 16, 0, 19, 0, 0, 0, 42, 0, 16, 0, 3, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 4, 0, 0, 0, 52, 0, 0, 7, 18, 0, 16, 0, 19, 0, 0, 0, 26, 0, 16, 0, 19, 0, 0, 0, 10, 0, 16, 0, 19, 0, 0, 0, 168, 0, 0, 8, 18, 240, 17, 0, 4, 0, 0, 0, 10, 32, 2, 0, 1, 64, 0, 0, 0, 0, 0, 0, 10, 0, 16, 0, 19, 0, 0, 0, 21, 0, 0, 1, 190, 24, 0, 1, 31, 0, 4, 3, 26, 0, 16, 0, 1, 0, 0, 0, 167, 0, 0, 8, 18, 0, 16, 0, 19, 0, 0, 0, 10, 32, 2, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 4, 0, 0, 0, 167, 0, 0, 9, 34, 0, 16, 0, 19, 0, 0, 0, 58, 0, 16, 0, 3, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 4, 0, 0, 0, 52, 0, 0, 7, 18, 0, 16, 0, 19, 0, 0, 0, 26, 0, 16, 0, 19, 0, 0, 0, 10, 0, 16, 0, 19, 0, 0, 0, 168, 0, 0, 8, 18, 240, 17, 0, 4, 0, 0, 0, 10, 32, 2, 0, 1, 64, 0, 0, 0, 0, 0, 0, 10, 0, 16, 0, 19, 0, 0, 0, 21, 0, 0, 1, 190, 24, 0, 1, 31, 0, 4, 3, 26, 0, 16, 0, 1, 0, 0, 0, 167, 0, 0, 8, 18, 0, 16, 0, 19, 0, 0, 0, 10, 32, 2, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 4, 0, 0, 0, 167, 0, 0, 9, 34, 0, 16, 0, 19, 0, 0, 0, 10, 0, 16, 0, 6, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 4, 0, 0, 0, 52, 0, 0, 7, 18, 0, 16, 0, 19, 0, 0, 0, 26, 0, 16, 0, 19, 0, 0, 0, 10, 0, 16, 0, 19, 0, 0, 0, 168, 0, 0, 8, 18, 240, 17, 0, 4, 0, 0, 0, 10, 32, 2, 0, 1, 64, 0, 0, 0, 0, 0, 0, 10, 0, 16, 0, 19, 0, 0, 0, 21, 0, 0, 1, 190, 24, 0, 1, 31, 0, 4, 3, 58, 0, 16, 0, 0, 0, 0, 0, 167, 0, 0, 8, 18, 0, 16, 0, 19, 0, 0, 0, 10, 32, 2, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 4, 0, 0, 0, 166, 0, 0, 7, 18, 240, 17, 0, 1, 0, 0, 0, 10, 0, 16, 0, 2, 0, 0, 0, 10, 0, 16, 0, 19, 0, 0, 0, 21, 0, 0, 1, 190, 24, 0, 1, 165, 0, 0, 7, 18, 0, 16, 0, 19, 0, 0, 0, 1, 64, 0, 0, 16, 0, 0, 0, 6, 240, 17, 0, 1, 0, 0, 0, 86, 0, 0, 5, 18, 0, 16, 0, 19, 0, 0, 0, 10, 0, 16, 0, 19, 0, 0, 0, 14, 0, 0, 7, 18, 0, 16, 0, 19, 0, 0, 0, 26, 0, 16, 0, 23, 0, 0, 0, 10, 0, 16, 0, 19, 0, 0, 0, 165, 0, 0, 7, 34, 0, 16, 0, 19, 0, 0, 0, 1, 64, 0, 0, 68, 0, 0, 0, 6, 240, 17, 0, 0, 0, 0, 0, 31, 0, 4, 3, 26, 0, 16, 0, 19, 0, 0, 0, 165, 0, 0, 7, 66, 0, 16, 0, 19, 0, 0, 0, 1, 64, 0, 0, 92, 0, 0, 0, 6, 240, 17, 0, 0, 0, 0, 0, 49, 0, 0, 7, 66, 0, 16, 0, 19, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 42, 0, 16, 0, 19, 0, 0, 0, 165, 0, 0, 7, 18, 0, 16, 0, 20, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 0, 0, 0, 0, 165, 0, 0, 7, 66, 0, 16, 0, 20, 0, 0, 0, 1, 64, 0, 0, 72, 0, 0, 0, 6, 240, 17, 0, 0, 0, 0, 0, 165, 0, 0, 7, 82, 0, 16, 0, 21, 0, 0, 0, 1, 64, 0, 0, 104, 0, 0, 0, 6, 241, 17, 0, 1, 0, 0, 0, 54, 0, 0, 4, 18, 0, 16, 0, 22, 0, 0, 0, 10, 32, 2, 0, 48, 0, 0, 1, 80, 0, 0, 7, 66, 0, 16, 0, 22, 0, 0, 0, 10, 0, 16, 0, 22, 0, 0, 0, 10, 0, 16, 0, 20, 0, 0, 0, 3, 0, 4, 3, 42, 0, 16, 0, 22, 0, 0, 0, 167, 0, 0, 9, 18, 0, 16, 0, 24, 0, 0, 0, 10, 0, 16, 0, 22, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 30, 0, 0, 10, 242, 0, 16, 0, 26, 0, 0, 0, 6, 0, 16, 0, 22, 0, 0, 0, 2, 64, 0, 0, 177, 7, 0, 0, 98, 15, 0, 0, 19, 23, 0, 0, 0, 4, 0, 0, 167, 0, 0, 9, 34, 0, 16, 0, 24, 0, 0, 0, 10, 0, 16, 0, 26, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 66, 0, 16, 0, 24, 0, 0, 0, 26, 0, 16, 0, 26, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 66, 0, 16, 0, 22, 0, 0, 0, 42, 0, 16, 0, 26, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 54, 0, 0, 8, 242, 0, 16, 0, 27, 0, 0, 0, 2, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 54, 0, 0, 5, 34, 0, 16, 0, 23, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 48, 0, 0, 1, 80, 0, 0, 7, 66, 0, 16, 0, 23, 0, 0, 0, 26, 0, 16, 0, 23, 0, 0, 0, 26, 0, 16, 0, 19, 0, 0, 0, 3, 0, 4, 3, 42, 0, 16, 0, 23, 0, 0, 0, 30, 0, 0, 7, 66, 0, 16, 0, 23, 0, 0, 0, 42, 0, 16, 0, 20, 0, 0, 0, 26, 0, 16, 0, 23, 0, 0, 0, 167, 0, 0, 139, 2, 35, 0, 128, 131, 153, 25, 0, 66, 0, 16, 0, 23, 0, 0, 0, 42, 0, 16, 0, 23, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 112, 16, 0, 8, 0, 0, 0, 136, 0, 0, 5, 130, 0, 16, 0, 23, 0, 0, 0, 42, 0, 16, 0, 23, 0, 0, 0, 30, 0, 0, 7, 50, 0, 16, 0, 28, 0, 0, 0, 134, 0, 16, 0, 21, 0, 0, 0, 246, 15, 16, 0, 23, 0, 0, 0, 167, 0, 0, 139, 2, 131, 0, 128, 131, 153, 25, 0, 242, 0, 16, 0, 29, 0, 0, 0, 10, 0, 16, 0, 28, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 70, 126, 16, 0, 9, 0, 0, 0, 167, 0, 0, 139, 2, 131, 0, 128, 131, 153, 25, 0, 242, 0, 16, 0, 28, 0, 0, 0, 26, 0, 16, 0, 28, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 70, 126, 16, 0, 9, 0, 0, 0, 0, 0, 0, 8, 242, 0, 16, 0, 28, 0, 0, 0, 70, 14, 16, 128, 65, 0, 0, 0, 29, 0, 0, 0, 70, 14, 16, 0, 28, 0, 0, 0, 50, 0, 0, 9, 242, 0, 16, 0, 28, 0, 0, 0, 6, 0, 16, 0, 23, 0, 0, 0, 70, 14, 16, 0, 28, 0, 0, 0, 70, 14, 16, 0, 29, 0, 0, 0, 16, 0, 0, 7, 130, 0, 16, 0, 23, 0, 0, 0, 70, 2, 16, 0, 24, 0, 0, 0, 70, 2, 16, 0, 28, 0, 0, 0, 0, 0, 0, 7, 130, 0, 16, 0, 23, 0, 0, 0, 58, 0, 16, 0, 28, 0, 0, 0, 58, 0, 16, 0, 23, 0, 0, 0, 54, 0, 0, 5, 114, 0, 16, 0, 29, 0, 0, 0, 70, 2, 16, 0, 28, 0, 0, 0, 54, 0, 0, 5, 130, 0, 16, 0, 24, 0, 0, 0, 42, 0, 16, 0, 23, 0, 0, 0, 54, 0, 0, 5, 130, 0, 16, 0, 29, 0, 0, 0, 58, 0, 16, 0, 23, 0, 0, 0, 48, 0, 0, 1, 49, 0, 0, 7, 130, 0, 16, 0, 25, 0, 0, 0, 58, 0, 16, 0, 29, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 30, 0, 0, 7, 130, 0, 16, 0, 28, 0, 0, 0, 58, 0, 16, 0, 24, 0, 0, 0, 1, 64, 0, 0, 255, 255, 255, 255, 1, 0, 0, 7, 130, 0, 16, 0, 24, 0, 0, 0, 58, 0, 16, 0, 24, 0, 0, 0, 58, 0, 16, 0, 28, 0, 0, 0, 39, 0, 0, 7, 130, 0, 16, 0, 28, 0, 0, 0, 58, 0, 16, 0, 24, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 1, 0, 0, 7, 130, 0, 16, 0, 25, 0, 0, 0, 58, 0, 16, 0, 25, 0, 0, 0, 58, 0, 16, 0, 28, 0, 0, 0, 3, 0, 0, 3, 58, 0, 16, 0, 25, 0, 0, 0, 136, 0, 0, 5, 130, 0, 16, 0, 25, 0, 0, 0, 58, 0, 16, 0, 24, 0, 0, 0, 30, 0, 0, 7, 50, 0, 16, 0, 30, 0, 0, 0, 134, 0, 16, 0, 21, 0, 0, 0, 246, 15, 16, 0, 25, 0, 0, 0, 167, 0, 0, 139, 2, 131, 0, 128, 131, 153, 25, 0, 242, 0, 16, 0, 31, 0, 0, 0, 10, 0, 16, 0, 30, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 70, 126, 16, 0, 9, 0, 0, 0, 167, 0, 0, 139, 2, 131, 0, 128, 131, 153, 25, 0, 242, 0, 16, 0, 30, 0, 0, 0, 26, 0, 16, 0, 30, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 70, 126, 16, 0, 9, 0, 0, 0, 0, 0, 0, 8, 242, 0, 16, 0, 30, 0, 0, 0, 70, 14, 16, 128, 65, 0, 0, 0, 31, 0, 0, 0, 70, 14, 16, 0, 30, 0, 0, 0, 50, 0, 0, 9, 242, 0, 16, 0, 30, 0, 0, 0, 6, 0, 16, 0, 23, 0, 0, 0, 70, 14, 16, 0, 30, 0, 0, 0, 70, 14, 16, 0, 31, 0, 0, 0, 16, 0, 0, 7, 130, 0, 16, 0, 25, 0, 0, 0, 70, 2, 16, 0, 24, 0, 0, 0, 70, 2, 16, 0, 30, 0, 0, 0, 0, 0, 0, 7, 130, 0, 16, 0, 30, 0, 0, 0, 58, 0, 16, 0, 30, 0, 0, 0, 58, 0, 16, 0, 25, 0, 0, 0, 49, 0, 0, 7, 130, 0, 16, 0, 25, 0, 0, 0, 58, 0, 16, 0, 29, 0, 0, 0, 58, 0, 16, 0, 30, 0, 0, 0, 55, 0, 0, 9, 242, 0, 16, 0, 29, 0, 0, 0, 246, 15, 16, 0, 25, 0, 0, 0, 70, 14, 16, 0, 30, 0, 0, 0, 70, 14, 16, 0, 29, 0, 0, 0, 22, 0, 0, 1, 49, 0, 0, 7, 66, 0, 16, 0, 23, 0, 0, 0, 58, 0, 16, 0, 29, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 50, 0, 0, 10, 114, 0, 16, 0, 28, 0, 0, 0, 70, 2, 16, 128, 65, 0, 0, 0, 29, 0, 0, 0, 246, 15, 16, 0, 29, 0, 0, 0, 70, 2, 16, 0, 27, 0, 0, 0, 30, 0, 0, 7, 130, 0, 16, 0, 28, 0, 0, 0, 58, 0, 16, 0, 27, 0, 0, 0, 1, 64, 0, 0, 1, 0, 0, 0, 55, 0, 0, 9, 242, 0, 16, 0, 27, 0, 0, 0, 166, 10, 16, 0, 23, 0, 0, 0, 70, 14, 16, 0, 28, 0, 0, 0, 70, 14, 16, 0, 27, 0, 0, 0, 30, 0, 0, 7, 34, 0, 16, 0, 23, 0, 0, 0, 26, 0, 16, 0, 23, 0, 0, 0, 1, 64, 0, 0, 1, 0, 0, 0, 22, 0, 0, 1, 31, 0, 4, 3, 58, 0, 16, 0, 27, 0, 0, 0, 86, 0, 0, 5, 34, 0, 16, 0, 23, 0, 0, 0, 58, 0, 16, 0, 27, 0, 0, 0, 14, 0, 0, 10, 34, 0, 16, 0, 23, 0, 0, 0, 2, 64, 0, 0, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 26, 0, 16, 0, 23, 0, 0, 0, 31, 0, 4, 3, 42, 0, 16, 0, 19, 0, 0, 0, 30, 0, 0, 7, 66, 0, 16, 0, 23, 0, 0, 0, 10, 0, 16, 0, 0, 0, 0, 0, 10, 0, 16, 0, 22, 0, 0, 0, 41, 0, 0, 7, 66, 0, 16, 0, 23, 0, 0, 0, 42, 0, 16, 0, 23, 0, 0, 0, 1, 64, 0, 0, 4, 0, 0, 0, 165, 0, 0, 137, 194, 2, 0, 128, 131, 153, 25, 0, 242, 0, 16, 0, 28, 0, 0, 0, 42, 0, 16, 0, 23, 0, 0, 0, 70, 238, 17, 0, 0, 0, 0, 0, 165, 0, 0, 7, 130, 0, 16, 0, 23, 0, 0, 0, 1, 64, 0, 0, 92, 0, 0, 0, 6, 240, 17, 0, 0, 0, 0, 0, 16, 0, 0, 7, 130, 0, 16, 0, 24, 0, 0, 0, 70, 2, 16, 0, 27, 0, 0, 0, 70, 2, 16, 0, 27, 0, 0, 0, 0, 0, 0, 7, 130, 0, 16, 0, 25, 0, 0, 0, 58, 0, 16, 0, 24, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 52, 68, 0, 0, 5, 130, 0, 16, 0, 25, 0, 0, 0, 58, 0, 16, 0, 25, 0, 0, 0, 56, 0, 0, 7, 114, 0, 16, 0, 30, 0, 0, 0, 246, 15, 16, 0, 25, 0, 0, 0, 70, 2, 16, 0, 27, 0, 0, 0, 0, 0, 0, 8, 114, 0, 16, 0, 31, 0, 0, 0, 70, 2, 16, 0, 24, 0, 0, 0, 70, 2, 16, 128, 65, 0, 0, 0, 28, 0, 0, 0, 16, 0, 0, 7, 130, 0, 16, 0, 30, 0, 0, 0, 70, 2, 16, 0, 31, 0, 0, 0, 70, 2, 16, 0, 30, 0, 0, 0, 50, 0, 0, 10, 114, 0, 16, 0, 30, 0, 0, 0, 246, 15, 16, 128, 65, 0, 0, 0, 30, 0, 0, 0, 70, 2, 16, 0, 30, 0, 0, 0, 70, 2, 16, 0, 31, 0, 0, 0, 16, 0, 0, 7, 130, 0, 16, 0, 30, 0, 0, 0, 70, 2, 16, 0, 30, 0, 0, 0, 70, 2, 16, 0, 30, 0, 0, 0, 0, 0, 0, 7, 130, 0, 16, 0, 30, 0, 0, 0, 58, 0, 16, 0, 30, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 52, 68, 0, 0, 5, 130, 0, 16, 0, 30, 0, 0, 0, 58, 0, 16, 0, 30, 0, 0, 0, 56, 0, 0, 8, 130, 0, 16, 0, 23, 0, 0, 0, 58, 0, 16, 128, 65, 0, 0, 0, 23, 0, 0, 0, 58, 0, 16, 0, 24, 0, 0, 0, 56, 0, 0, 7, 130, 0, 16, 0, 23, 0, 0, 0, 58, 0, 16, 0, 25, 0, 0, 0, 58, 0, 16, 0, 23, 0, 0, 0, 56, 0, 0, 7, 130, 0, 16, 0, 23, 0, 0, 0, 26, 0, 16, 0, 23, 0, 0, 0, 58, 0, 16, 0, 23, 0, 0, 0, 56, 0, 0, 7, 130, 0, 16, 0, 23, 0, 0, 0, 58, 0, 16, 0, 30, 0, 0, 0, 58, 0, 16, 0, 23, 0, 0, 0, 52, 0, 0, 7, 130, 0, 16, 0, 23, 0, 0, 0, 58, 0, 16, 0, 23, 0, 0, 0, 1, 64, 0, 0, 0, 0, 128, 191, 50, 0, 0, 10, 114, 0, 16, 0, 28, 0, 0, 0, 70, 2, 16, 128, 65, 0, 0, 0, 30, 0, 0, 0, 246, 15, 16, 0, 23, 0, 0, 0, 70, 2, 16, 0, 28, 0, 0, 0, 166, 0, 0, 7, 242, 224, 17, 0, 0, 0, 0, 0, 42, 0, 16, 0, 23, 0, 0, 0, 70, 14, 16, 0, 28, 0, 0, 0, 21, 0, 0, 1, 50, 0, 0, 9, 226, 0, 16, 0, 23, 0, 0, 0, 6, 9, 16, 0, 27, 0, 0, 0, 86, 5, 16, 0, 23, 0, 0, 0, 6, 9, 16, 0, 24, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 10, 0, 16, 0, 22, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 26, 0, 16, 0, 23, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 10, 0, 16, 0, 26, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 42, 0, 16, 0, 23, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 26, 0, 16, 0, 26, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 58, 0, 16, 0, 23, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 42, 0, 16, 0, 26, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 42, 0, 16, 0, 22, 0, 0, 0, 21, 0, 0, 1, 54, 0, 0, 5, 18, 0, 16, 0, 22, 0, 0, 0, 58, 0, 16, 0, 26, 0, 0, 0, 22, 0, 0, 1, 21, 0, 0, 1, 165, 0, 0, 7, 34, 0, 16, 0, 19, 0, 0, 0, 1, 64, 0, 0, 76, 0, 0, 0, 6, 240, 17, 0, 0, 0, 0, 0, 31, 0, 4, 3, 26, 0, 16, 0, 19, 0, 0, 0, 190, 24, 0, 1, 165, 0, 0, 7, 34, 0, 16, 0, 19, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 0, 0, 0, 0, 165, 0, 0, 7, 66, 0, 16, 0, 19, 0, 0, 0, 1, 64, 0, 0, 76, 0, 0, 0, 6, 240, 17, 0, 0, 0, 0, 0, 165, 0, 0, 7, 82, 0, 16, 0, 20, 0, 0, 0, 1, 64, 0, 0, 112, 0, 0, 0, 6, 241, 17, 0, 1, 0, 0, 0, 54, 0, 0, 4, 18, 0, 16, 0, 21, 0, 0, 0, 10, 32, 2, 0, 48, 0, 0, 1, 80, 0, 0, 7, 66, 0, 16, 0, 21, 0, 0, 0, 10, 0, 16, 0, 21, 0, 0, 0, 26, 0, 16, 0, 19, 0, 0, 0, 3, 0, 4, 3, 42, 0, 16, 0, 21, 0, 0, 0, 167, 0, 0, 9, 18, 0, 16, 0, 24, 0, 0, 0, 10, 0, 16, 0, 21, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 30, 0, 0, 10, 242, 0, 16, 0, 26, 0, 0, 0, 6, 0, 16, 0, 21, 0, 0, 0, 2, 64, 0, 0, 177, 7, 0, 0, 98, 15, 0, 0, 19, 23, 0, 0, 0, 4, 0, 0, 167, 0, 0, 9, 34, 0, 16, 0, 24, 0, 0, 0, 10, 0, 16, 0, 26, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 66, 0, 16, 0, 24, 0, 0, 0, 26, 0, 16, 0, 26, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 66, 0, 16, 0, 21, 0, 0, 0, 42, 0, 16, 0, 26, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 54, 0, 0, 8, 226, 0, 16, 0, 23, 0, 0, 0, 2, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 54, 0, 0, 8, 50, 0, 16, 0, 28, 0, 0, 0, 2, 64, 0, 0, 0, 0, 0, 0, 255, 255, 127, 127, 0, 0, 0, 0, 0, 0, 0, 0, 54, 0, 0, 5, 18, 0, 16, 0, 22, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 48, 0, 0, 1, 80, 0, 0, 7, 66, 0, 16, 0, 22, 0, 0, 0, 10, 0, 16, 0, 22, 0, 0, 0, 42, 0, 16, 0, 19, 0, 0, 0, 3, 0, 4, 3, 42, 0, 16, 0, 22, 0, 0, 0, 35, 0, 0, 12, 242, 0, 16, 0, 30, 0, 0, 0, 2, 64, 0, 0, 3, 0, 0, 0, 3, 0, 0, 0, 3, 0, 0, 0, 3, 0, 0, 0, 6, 0, 16, 0, 22, 0, 0, 0, 134, 8, 16, 0, 20, 0, 0, 0, 167, 0, 0, 139, 2, 99, 0, 128, 131, 153, 25, 0, 114, 0, 16, 0, 31, 0, 0, 0, 42, 0, 16, 0, 30, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 70, 114, 16, 0, 10, 0, 0, 0, 167, 0, 0, 139, 2, 99, 0, 128, 131, 153, 25, 0, 114, 0, 16, 0, 32, 0, 0, 0, 58, 0, 16, 0, 30, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 70, 114, 16, 0, 10, 0, 0, 0, 30, 0, 0, 10, 242, 0, 16, 0, 30, 0, 0, 0, 70, 14, 16, 0, 30, 0, 0, 0, 2, 64, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 167, 0, 0, 139, 2, 99, 0, 128, 131, 153, 25, 0, 114, 0, 16, 0, 33, 0, 0, 0, 10, 0, 16, 0, 30, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 70, 114, 16, 0, 10, 0, 0, 0, 167, 0, 0, 139, 2, 99, 0, 128, 131, 153, 25, 0, 114, 0, 16, 0, 34, 0, 0, 0, 26, 0, 16, 0, 30, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 70, 114, 16, 0, 10, 0, 0, 0, 167, 0, 0, 139, 2, 99, 0, 128, 131, 153, 25, 0, 114, 0, 16, 0, 30, 0, 0, 0, 42, 0, 16, 0, 30, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 70, 114, 16, 0, 10, 0, 0, 0, 167, 0, 0, 139, 2, 99, 0, 128, 131, 153, 25, 0, 114, 0, 16, 0, 35, 0, 0, 0, 58, 0, 16, 0, 30, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 70, 114, 16, 0, 10, 0, 0, 0, 0, 0, 0, 8, 114, 0, 16, 0, 32, 0, 0, 0, 70, 2, 16, 128, 65, 0, 0, 0, 31, 0, 0, 0, 70, 2, 16, 0, 32, 0, 0, 0, 50, 0, 0, 9, 114, 0, 16, 0, 31, 0, 0, 0, 70, 2, 16, 0, 32, 0, 0, 0, 6, 0, 16, 0, 23, 0, 0, 0, 70, 2, 16, 0, 31, 0, 0, 0, 0, 0, 0, 8, 114, 0, 16, 0, 32, 0, 0, 0, 70, 2, 16, 128, 65, 0, 0, 0, 33, 0, 0, 0, 70, 2, 16, 0, 34, 0, 0, 0, 50, 0, 0, 9, 114, 0, 16, 0, 32, 0, 0, 0, 70, 2, 16, 0, 32, 0, 0, 0, 6, 0, 16, 0, 23, 0, 0, 0, 70, 2, 16, 0, 33, 0, 0, 0, 0, 0, 0, 8, 114, 0, 16, 0, 33, 0, 0, 0, 70, 2, 16, 128, 65, 0, 0, 0, 30, 0, 0, 0, 70, 2, 16, 0, 35, 0, 0, 0, 50, 0, 0, 9, 114, 0, 16, 0, 30, 0, 0, 0, 70, 2, 16, 0, 33, 0, 0, 0, 6, 0, 16, 0, 23, 0, 0, 0, 70, 2, 16, 0, 30, 0, 0, 0, 0, 0, 0, 8, 114, 0, 16, 0, 32, 0, 0, 0, 70, 2, 16, 128, 65, 0, 0, 0, 31, 0, 0, 0, 70, 2, 16, 0, 32, 0, 0, 0, 0, 0, 0, 8, 114, 0, 16, 0, 30, 0, 0, 0, 70, 2, 16, 128, 65, 0, 0, 0, 31, 0, 0, 0, 70, 2, 16, 0, 30, 0, 0, 0, 56, 0, 0, 7, 114, 0, 16, 0, 33, 0, 0, 0, 150, 4, 16, 0, 30, 0, 0, 0, 38, 9, 16, 0, 32, 0, 0, 0, 50, 0, 0, 10, 114, 0, 16, 0, 33, 0, 0, 0, 150, 4, 16, 0, 32, 0, 0, 0, 38, 9, 16, 0, 30, 0, 0, 0, 70, 2, 16, 128, 65, 0, 0, 0, 33, 0, 0, 0, 16, 0, 0, 7, 66, 0, 16, 0, 22, 0, 0, 0, 70, 2, 16, 0, 33, 0, 0, 0, 70, 2, 16, 0, 33, 0, 0, 0, 68, 0, 0, 5, 66, 0, 16, 0, 22, 0, 0, 0, 42, 0, 16, 0, 22, 0, 0, 0, 56, 0, 0, 7, 114, 0, 16, 0, 33, 0, 0, 0, 166, 10, 16, 0, 22, 0, 0, 0, 70, 2, 16, 0, 33, 0, 0, 0, 16, 0, 0, 7, 66, 0, 16, 0, 22, 0, 0, 0, 70, 2, 16, 0, 32, 0, 0, 0, 70, 2, 16, 0, 30, 0, 0, 0, 16, 0, 0, 7, 130, 0, 16, 0, 24, 0, 0, 0, 70, 2, 16, 0, 32, 0, 0, 0, 70, 2, 16, 0, 32, 0, 0, 0, 16, 0, 0, 7, 130, 0, 16, 0, 25, 0, 0, 0, 70, 2, 16, 0, 30, 0, 0, 0, 70, 2, 16, 0, 30, 0, 0, 0, 56, 0, 0, 7, 66, 0, 16, 0, 28, 0, 0, 0, 42, 0, 16, 0, 22, 0, 0, 0, 42, 0, 16, 0, 22, 0, 0, 0, 50, 0, 0, 10, 66, 0, 16, 0, 28, 0, 0, 0, 58, 0, 16, 0, 24, 0, 0, 0, 58, 0, 16, 0, 25, 0, 0, 0, 42, 0, 16, 128, 65, 0, 0, 0, 28, 0, 0, 0, 14, 0, 0, 10, 66, 0, 16, 0, 28, 0, 0, 0, 2, 64, 0, 0, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 42, 0, 16, 0, 28, 0, 0, 0, 0, 0, 0, 7, 130, 0, 16, 0, 28, 0, 0, 0, 58, 0, 16, 0, 24, 0, 0, 0, 58, 0, 16, 0, 25, 0, 0, 0, 50, 0, 0, 9, 130, 0, 16, 0, 28, 0, 0, 0, 42, 0, 16, 0, 22, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 192, 58, 0, 16, 0, 28, 0, 0, 0, 14, 0, 0, 10, 130, 0, 16, 0, 28, 0, 0, 0, 2, 64, 0, 0, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 58, 0, 16, 0, 28, 0, 0, 0, 14, 0, 0, 10, 130, 0, 16, 0, 30, 0, 0, 0, 2, 64, 0, 0, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 58, 0, 16, 0, 24, 0, 0, 0, 14, 0, 0, 10, 130, 0, 16, 0, 31, 0, 0, 0, 2, 64, 0, 0, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 58, 0, 16, 0, 25, 0, 0, 0, 0, 0, 0, 8, 114, 0, 16, 0, 31, 0, 0, 0, 70, 2, 16, 0, 24, 0, 0, 0, 70, 2, 16, 128, 65, 0, 0, 0, 31, 0, 0, 0, 16, 0, 0, 7, 130, 0, 16, 0, 32, 0, 0, 0, 70, 2, 16, 0, 31, 0, 0, 0, 70, 2, 16, 0, 32, 0, 0, 0, 16, 0, 0, 7, 130, 0, 16, 0, 33, 0, 0, 0, 70, 2, 16, 0, 31, 0, 0, 0, 70, 2, 16, 0, 30, 0, 0, 0, 16, 0, 0, 7, 18, 0, 16, 0, 34, 0, 0, 0, 70, 2, 16, 0, 31, 0, 0, 0, 70, 2, 16, 0, 33, 0, 0, 0, 56, 0, 0, 7, 66, 0, 16, 0, 34, 0, 0, 0, 42, 0, 16, 0, 22, 0, 0, 0, 58, 0, 16, 0, 33, 0, 0, 0, 50, 0, 0, 10, 66, 0, 16, 0, 34, 0, 0, 0, 58, 0, 16, 0, 25, 0, 0, 0, 58, 0, 16, 0, 32, 0, 0, 0, 42, 0, 16, 128, 65, 0, 0, 0, 34, 0, 0, 0, 56, 0, 0, 7, 130, 0, 16, 0, 34, 0, 0, 0, 42, 0, 16, 0, 22, 0, 0, 0, 58, 0, 16, 0, 32, 0, 0, 0, 50, 0, 0, 10, 130, 0, 16, 0, 24, 0, 0, 0, 58, 0, 16, 0, 24, 0, 0, 0, 58, 0, 16, 0, 33, 0, 0, 0, 58, 0, 16, 128, 65, 0, 0, 0, 34, 0, 0, 0, 49, 0, 0, 7, 130, 0, 16, 0, 34, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 58, 0, 16, 0, 24, 0, 0, 0, 56, 0, 0, 7, 66, 0, 16, 0, 34, 0, 0, 0, 42, 0, 16, 0, 28, 0, 0, 0, 42, 0, 16, 0, 34, 0, 0, 0, 56, 0, 0, 7, 130, 0, 16, 0, 30, 0, 0, 0, 58, 0, 16, 0, 30, 0, 0, 0, 58, 0, 16, 0, 32, 0, 0, 0, 55, 0, 0, 9, 130, 0, 16, 0, 30, 0, 0, 0, 58, 0, 16, 0, 34, 0, 0, 0, 42, 0, 16, 0, 34, 0, 0, 0, 58, 0, 16, 0, 30, 0, 0, 0, 49, 0, 0, 7, 66, 0, 16, 0, 34, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 58, 0, 16, 0, 30, 0, 0, 0, 56, 0, 0, 7, 130, 0, 16, 0, 24, 0, 0, 0, 42, 0, 16, 0, 28, 0, 0, 0, 58, 0, 16, 0, 24, 0, 0, 0, 56, 0, 0, 7, 66, 0, 16, 0, 28, 0, 0, 0, 58, 0, 16, 0, 31, 0, 0, 0, 58, 0, 16, 0, 33, 0, 0, 0, 55, 0, 0, 9, 130, 0, 16, 0, 24, 0, 0, 0, 42, 0, 16, 0, 34, 0, 0, 0, 58, 0, 16, 0, 24, 0, 0, 0, 42, 0, 16, 0, 28, 0, 0, 0, 0, 0, 0, 7, 66, 0, 16, 0, 28, 0, 0, 0, 58, 0, 16, 0, 24, 0, 0, 0, 58, 0, 16, 0, 30, 0, 0, 0, 49, 0, 0, 7, 66, 0, 16, 0, 28, 0, 0, 0, 1, 64, 0, 0, 0, 0, 128, 63, 42, 0, 16, 0, 28, 0, 0, 0, 0, 0, 0, 8, 66, 0, 16, 0, 22, 0, 0, 0, 42, 0, 16, 128, 65, 0, 0, 0, 22, 0, 0, 0, 58, 0, 16, 0, 25, 0, 0, 0, 0, 0, 0, 7, 66, 0, 16, 0, 22, 0, 0, 0, 58, 0, 16, 0, 32, 0, 0, 0, 42, 0, 16, 0, 22, 0, 0, 0, 0, 0, 0, 8, 66, 0, 16, 0, 22, 0, 0, 0, 58, 0, 16, 128, 65, 0, 0, 0, 33, 0, 0, 0, 42, 0, 16, 0, 22, 0, 0, 0, 56, 0, 0, 7, 66, 0, 16, 0, 22, 0, 0, 0, 58, 0, 16, 0, 28, 0, 0, 0, 42, 0, 16, 0, 22, 0, 0, 0, 55, 32, 0, 9, 66, 0, 16, 0, 22, 0, 0, 0, 42, 0, 16, 0, 28, 0, 0, 0, 42, 0, 16, 0, 22, 0, 0, 0, 58, 0, 16, 0, 30, 0, 0, 0, 0, 0, 0, 8, 130, 0, 16, 0, 25, 0, 0, 0, 42, 0, 16, 128, 65, 0, 0, 0, 22, 0, 0, 0, 1, 64, 0, 0, 0, 0, 128, 63, 51, 0, 0, 7, 130, 0, 16, 0, 24, 0, 0, 0, 58, 0, 16, 0, 24, 0, 0, 0, 58, 0, 16, 0, 25, 0, 0, 0, 52, 0, 0, 7, 130, 0, 16, 0, 24, 0, 0, 0, 58, 0, 16, 0, 24, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 56, 0, 0, 7, 114, 0, 16, 0, 30, 0, 0, 0, 246, 15, 16, 0, 24, 0, 0, 0, 70, 2, 16, 0, 30, 0, 0, 0, 50, 0, 0, 9, 114, 0, 16, 0, 30, 0, 0, 0, 70, 2, 16, 0, 32, 0, 0, 0, 166, 10, 16, 0, 22, 0, 0, 0, 70, 2, 16, 0, 30, 0, 0, 0, 0, 0, 0, 8, 114, 0, 16, 0, 30, 0, 0, 0, 70, 2, 16, 128, 65, 0, 0, 0, 30, 0, 0, 0, 70, 2, 16, 0, 31, 0, 0, 0, 16, 0, 0, 7, 66, 0, 16, 0, 22, 0, 0, 0, 70, 2, 16, 0, 30, 0, 0, 0, 70, 2, 16, 0, 30, 0, 0, 0, 49, 0, 0, 7, 130, 0, 16, 0, 24, 0, 0, 0, 10, 0, 16, 0, 34, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 56, 0, 0, 7, 130, 0, 16, 0, 25, 0, 0, 0, 42, 0, 16, 0, 22, 0, 0, 0, 1, 64, 0, 0, 71, 3, 128, 63, 55, 0, 0, 9, 34, 0, 16, 0, 34, 0, 0, 0, 58, 0, 16, 0, 24, 0, 0, 0, 58, 0, 16, 0, 25, 0, 0, 0, 42, 0, 16, 0, 22, 0, 0, 0, 49, 0, 0, 7, 66, 0, 16, 0, 22, 0, 0, 0, 26, 0, 16, 0, 34, 0, 0, 0, 26, 0, 16, 0, 28, 0, 0, 0, 55, 0, 0, 9, 226, 0, 16, 0, 23, 0, 0, 0, 166, 10, 16, 0, 22, 0, 0, 0, 6, 9, 16, 0, 33, 0, 0, 0, 86, 14, 16, 0, 23, 0, 0, 0, 55, 0, 0, 9, 50, 0, 16, 0, 28, 0, 0, 0, 166, 10, 16, 0, 22, 0, 0, 0, 70, 0, 16, 0, 34, 0, 0, 0, 70, 0, 16, 0, 28, 0, 0, 0, 30, 0, 0, 7, 18, 0, 16, 0, 22, 0, 0, 0, 10, 0, 16, 0, 22, 0, 0, 0, 1, 64, 0, 0, 1, 0, 0, 0, 22, 0, 0, 1, 49, 0, 0, 7, 18, 0, 16, 0, 22, 0, 0, 0, 10, 0, 16, 0, 28, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 31, 0, 4, 3, 10, 0, 16, 0, 22, 0, 0, 0, 50, 0, 0, 10, 114, 0, 16, 0, 24, 0, 0, 0, 150, 7, 16, 128, 65, 0, 0, 0, 23, 0, 0, 0, 6, 0, 16, 0, 28, 0, 0, 0, 70, 2, 16, 0, 24, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 10, 0, 16, 0, 21, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 10, 0, 16, 0, 24, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 10, 0, 16, 0, 26, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 26, 0, 16, 0, 24, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 26, 0, 16, 0, 26, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 42, 0, 16, 0, 24, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 42, 0, 16, 0, 26, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 42, 0, 16, 0, 21, 0, 0, 0, 21, 0, 0, 1, 54, 0, 0, 5, 18, 0, 16, 0, 21, 0, 0, 0, 58, 0, 16, 0, 26, 0, 0, 0, 22, 0, 0, 1, 190, 24, 0, 1, 21, 0, 0, 1, 165, 0, 0, 7, 34, 0, 16, 0, 19, 0, 0, 0, 1, 64, 0, 0, 84, 0, 0, 0, 6, 240, 17, 0, 0, 0, 0, 0, 31, 0, 4, 3, 26, 0, 16, 0, 19, 0, 0, 0, 165, 0, 0, 7, 34, 0, 16, 0, 19, 0, 0, 0, 1, 64, 0, 0, 92, 0, 0, 0, 6, 240, 17, 0, 0, 0, 0, 0, 49, 0, 0, 7, 66, 0, 16, 0, 19, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 26, 0, 16, 0, 19, 0, 0, 0, 165, 0, 0, 7, 18, 0, 16, 0, 20, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 0, 0, 0, 0, 165, 0, 0, 7, 82, 0, 16, 0, 21, 0, 0, 0, 1, 64, 0, 0, 96, 0, 0, 0, 6, 241, 17, 0, 1, 0, 0, 0, 165, 0, 0, 7, 82, 0, 16, 0, 22, 0, 0, 0, 1, 64, 0, 0, 52, 0, 0, 0, 6, 241, 17, 0, 0, 0, 0, 0, 54, 0, 0, 4, 66, 0, 16, 0, 20, 0, 0, 0, 10, 32, 2, 0, 48, 0, 0, 1, 80, 0, 0, 7, 18, 0, 16, 0, 24, 0, 0, 0, 42, 0, 16, 0, 20, 0, 0, 0, 10, 0, 16, 0, 20, 0, 0, 0, 3, 0, 4, 3, 10, 0, 16, 0, 24, 0, 0, 0, 167, 0, 0, 9, 18, 0, 16, 0, 24, 0, 0, 0, 42, 0, 16, 0, 20, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 30, 0, 0, 10, 242, 0, 16, 0, 26, 0, 0, 0, 166, 10, 16, 0, 20, 0, 0, 0, 2, 64, 0, 0, 177, 7, 0, 0, 98, 15, 0, 0, 19, 23, 0, 0, 0, 4, 0, 0, 167, 0, 0, 9, 34, 0, 16, 0, 24, 0, 0, 0, 10, 0, 16, 0, 26, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 66, 0, 16, 0, 24, 0, 0, 0, 26, 0, 16, 0, 26, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 130, 0, 16, 0, 24, 0, 0, 0, 42, 0, 16, 0, 26, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 30, 0, 0, 7, 130, 0, 16, 0, 25, 0, 0, 0, 10, 0, 16, 0, 0, 0, 0, 0, 42, 0, 16, 0, 20, 0, 0, 0, 41, 0, 0, 7, 130, 0, 16, 0, 25, 0, 0, 0, 58, 0, 16, 0, 25, 0, 0, 0, 1, 64, 0, 0, 4, 0, 0, 0, 165, 0, 0, 137, 194, 2, 0, 128, 131, 153, 25, 0, 226, 0, 16, 0, 28, 0, 0, 0, 58, 0, 16, 0, 25, 0, 0, 0, 6, 233, 17, 0, 0, 0, 0, 0, 54, 0, 0, 8, 242, 0, 16, 0, 31, 0, 0, 0, 2, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 54, 0, 0, 8, 242, 0, 16, 0, 30, 0, 0, 0, 2, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 0, 0, 1, 80, 0, 0, 7, 18, 0, 16, 0, 32, 0, 0, 0, 58, 0, 16, 0, 30, 0, 0, 0, 10, 0, 16, 0, 22, 0, 0, 0, 3, 0, 4, 3, 10, 0, 16, 0, 32, 0, 0, 0, 30, 0, 0, 7, 18, 0, 16, 0, 32, 0, 0, 0, 42, 0, 16, 0, 22, 0, 0, 0, 58, 0, 16, 0, 30, 0, 0, 0, 167, 0, 0, 139, 2, 67, 0, 128, 131, 153, 25, 0, 50, 0, 16, 0, 32, 0, 0, 0, 10, 0, 16, 0, 32, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 70, 112, 16, 0, 6, 0, 0, 0, 30, 0, 0, 7, 242, 0, 16, 0, 32, 0, 0, 0, 134, 8, 16, 0, 21, 0, 0, 0, 6, 5, 16, 0, 32, 0, 0, 0, 167, 0, 0, 139, 2, 131, 0, 128, 131, 153, 25, 0, 242, 0, 16, 0, 33, 0, 0, 0, 10, 0, 16, 0, 32, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 70, 126, 16, 0, 7, 0, 0, 0, 167, 0, 0, 139, 2, 131, 0, 128, 131, 153, 25, 0, 242, 0, 16, 0, 34, 0, 0, 0, 26, 0, 16, 0, 32, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 70, 126, 16, 0, 7, 0, 0, 0, 167, 0, 0, 139, 2, 131, 0, 128, 131, 153, 25, 0, 242, 0, 16, 0, 35, 0, 0, 0, 42, 0, 16, 0, 32, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 70, 126, 16, 0, 7, 0, 0, 0, 167, 0, 0, 139, 2, 131, 0, 128, 131, 153, 25, 0, 242, 0, 16, 0, 32, 0, 0, 0, 58, 0, 16, 0, 32, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 70, 126, 16, 0, 7, 0, 0, 0, 0, 0, 0, 8, 242, 0, 16, 0, 34, 0, 0, 0, 70, 14, 16, 128, 65, 0, 0, 0, 33, 0, 0, 0, 70, 14, 16, 0, 34, 0, 0, 0, 50, 0, 0, 9, 242, 0, 16, 0, 36, 0, 0, 0, 6, 0, 16, 0, 19, 0, 0, 0, 70, 14, 16, 0, 34, 0, 0, 0, 70, 14, 16, 0, 33, 0, 0, 0, 0, 0, 0, 8, 242, 0, 16, 0, 32, 0, 0, 0, 70, 14, 16, 128, 65, 0, 0, 0, 35, 0, 0, 0, 70, 14, 16, 0, 32, 0, 0, 0, 50, 0, 0, 9, 242, 0, 16, 0, 37, 0, 0, 0, 6, 0, 16, 0, 19, 0, 0, 0, 70, 14, 16, 0, 32, 0, 0, 0, 70, 14, 16, 0, 35, 0, 0, 0, 52, 0, 0, 7, 130, 0, 16, 0, 36, 0, 0, 0, 58, 0, 16, 0, 36, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 52, 0, 0, 7, 130, 0, 16, 0, 37, 0, 0, 0, 58, 0, 16, 0, 37, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 242, 0, 16, 0, 38, 0, 0, 0, 70, 14, 16, 128, 65, 0, 0, 0, 36, 0, 0, 0, 70, 14, 16, 0, 37, 0, 0, 0, 56, 0, 0, 10, 242, 0, 16, 0, 39, 0, 0, 0, 70, 14, 16, 0, 38, 0, 0, 0, 2, 64, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 16, 0, 0, 7, 130, 0, 16, 0, 37, 0, 0, 0, 70, 2, 16, 0, 39, 0, 0, 0, 70, 2, 16, 0, 39, 0, 0, 0, 50, 0, 0, 10, 18, 0, 16, 0, 38, 0, 0, 0, 58, 0, 16, 128, 65, 0, 0, 0, 39, 0, 0, 0, 58, 0, 16, 0, 39, 0, 0, 0, 58, 0, 16, 0, 37, 0, 0, 0, 29, 0, 0, 7, 34, 0, 16, 0, 38, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 10, 0, 16, 0, 38, 0, 0, 0, 31, 0, 4, 3, 26, 0, 16, 0, 38, 0, 0, 0, 30, 0, 0, 7, 34, 0, 16, 0, 38, 0, 0, 0, 58, 0, 16, 0, 30, 0, 0, 0, 1, 64, 0, 0, 1, 0, 0, 0, 54, 0, 0, 5, 130, 0, 16, 0, 30, 0, 0, 0, 26, 0, 16, 0, 38, 0, 0, 0, 7, 0, 0, 1, 21, 0, 0, 1, 50, 0, 0, 9, 242, 0, 16, 0, 33, 0, 0, 0, 6, 0, 16, 0, 23, 0, 0, 0, 70, 14, 16, 0, 34, 0, 0, 0, 70, 14, 16, 0, 33, 0, 0, 0, 50, 0, 0, 9, 242, 0, 16, 0, 32, 0, 0, 0, 6, 0, 16, 0, 23, 0, 0, 0, 70, 14, 16, 0, 32, 0, 0, 0, 70, 14, 16, 0, 35, 0, 0, 0, 52, 0, 0, 7, 130, 0, 16, 0, 33, 0, 0, 0, 58, 0, 16, 0, 33, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 52, 0, 0, 7, 130, 0, 16, 0, 32, 0, 0, 0, 58, 0, 16, 0, 32, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 242, 0, 16, 0, 34, 0, 0, 0, 70, 14, 16, 128, 65, 0, 0, 0, 33, 0, 0, 0, 70, 14, 16, 0, 32, 0, 0, 0, 56, 0, 0, 10, 242, 0, 16, 0, 35, 0, 0, 0, 70, 14, 16, 0, 34, 0, 0, 0, 2, 64, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 16, 0, 0, 7, 130, 0, 16, 0, 32, 0, 0, 0, 70, 2, 16, 0, 35, 0, 0, 0, 70, 2, 16, 0, 35, 0, 0, 0, 50, 0, 0, 10, 18, 0, 16, 0, 34, 0, 0, 0, 58, 0, 16, 128, 65, 0, 0, 0, 35, 0, 0, 0, 58, 0, 16, 0, 35, 0, 0, 0, 58, 0, 16, 0, 32, 0, 0, 0, 29, 0, 0, 7, 34, 0, 16, 0, 34, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 10, 0, 16, 0, 34, 0, 0, 0, 31, 0, 4, 3, 26, 0, 16, 0, 34, 0, 0, 0, 30, 0, 0, 7, 34, 0, 16, 0, 34, 0, 0, 0, 58, 0, 16, 0, 30, 0, 0, 0, 1, 64, 0, 0, 1, 0, 0, 0, 54, 0, 0, 5, 130, 0, 16, 0, 30, 0, 0, 0, 26, 0, 16, 0, 34, 0, 0, 0, 7, 0, 0, 1, 21, 0, 0, 1, 0, 0, 0, 7, 114, 0, 16, 0, 40, 0, 0, 0, 70, 2, 16, 0, 36, 0, 0, 0, 70, 2, 16, 0, 37, 0, 0, 0, 50, 0, 0, 13, 114, 0, 16, 0, 40, 0, 0, 0, 70, 2, 16, 128, 65, 0, 0, 0, 40, 0, 0, 0, 2, 64, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 0, 150, 7, 16, 0, 28, 0, 0, 0, 68, 0, 0, 5, 34, 0, 16, 0, 34, 0, 0, 0, 58, 0, 16, 0, 37, 0, 0, 0, 68, 0, 0, 5, 66, 0, 16, 0, 34, 0, 0, 0, 10, 0, 16, 0, 38, 0, 0, 0, 56, 0, 0, 7, 130, 0, 16, 0, 37, 0, 0, 0, 26, 0, 16, 0, 34, 0, 0, 0, 58, 0, 16, 0, 37, 0, 0, 0, 50, 0, 0, 9, 130, 0, 16, 0, 36, 0, 0, 0, 58, 0, 16, 0, 38, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 63, 58, 0, 16, 0, 36, 0, 0, 0, 56, 0, 0, 7, 130, 0, 16, 0, 36, 0, 0, 0, 42, 0, 16, 0, 34, 0, 0, 0, 58, 0, 16, 0, 36, 0, 0, 0, 56, 0, 0, 7, 130, 0, 16, 0, 36, 0, 0, 0, 58, 0, 16, 0, 37, 0, 0, 0, 58, 0, 16, 0, 36, 0, 0, 0, 56, 0, 0, 7, 114, 0, 16, 0, 38, 0, 0, 0, 86, 5, 16, 0, 34, 0, 0, 0, 70, 2, 16, 0, 39, 0, 0, 0, 56, 0, 0, 7, 34, 0, 16, 0, 34, 0, 0, 0, 42, 0, 16, 0, 34, 0, 0, 0, 58, 0, 16, 0, 39, 0, 0, 0, 56, 0, 0, 7, 114, 0, 16, 0, 39, 0, 0, 0, 150, 4, 16, 0, 38, 0, 0, 0, 38, 9, 16, 0, 40, 0, 0, 0, 50, 0, 0, 10, 114, 0, 16, 0, 39, 0, 0, 0, 150, 4, 16, 0, 40, 0, 0, 0, 38, 9, 16, 0, 38, 0, 0, 0, 70, 2, 16, 128, 65, 0, 0, 0, 39, 0, 0, 0, 16, 0, 0, 7, 66, 0, 16, 0, 34, 0, 0, 0, 70, 2, 16, 0, 40, 0, 0, 0, 70, 2, 16, 0, 38, 0, 0, 0, 0, 0, 0, 7, 114, 0, 16, 0, 41, 0, 0, 0, 70, 2, 16, 0, 33, 0, 0, 0, 70, 2, 16, 0, 32, 0, 0, 0, 50, 0, 0, 13, 114, 0, 16, 0, 41, 0, 0, 0, 70, 2, 16, 128, 65, 0, 0, 0, 41, 0, 0, 0, 2, 64, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 0, 70, 2, 16, 0, 24, 0, 0, 0, 68, 0, 0, 5, 130, 0, 16, 0, 38, 0, 0, 0, 58, 0, 16, 0, 32, 0, 0, 0, 68, 0, 0, 5, 18, 0, 16, 0, 34, 0, 0, 0, 10, 0, 16, 0, 34, 0, 0, 0, 56, 0, 0, 7, 130, 0, 16, 0, 32, 0, 0, 0, 58, 0, 16, 0, 32, 0, 0, 0, 58, 0, 16, 0, 38, 0, 0, 0, 50, 0, 0, 9, 130, 0, 16, 0, 33, 0, 0, 0, 58, 0, 16, 0, 34, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 63, 58, 0, 16, 0, 33, 0, 0, 0, 56, 0, 0, 7, 130, 0, 16, 0, 33, 0, 0, 0, 10, 0, 16, 0, 34, 0, 0, 0, 58, 0, 16, 0, 33, 0, 0, 0, 56, 0, 0, 7, 130, 0, 16, 0, 33, 0, 0, 0, 58, 0, 16, 0, 32, 0, 0, 0, 58, 0, 16, 0, 33, 0, 0, 0, 56, 0, 0, 7, 114, 0, 16, 0, 35, 0, 0, 0, 70, 2, 16, 0, 35, 0, 0, 0, 246, 15, 16, 0, 38, 0, 0, 0, 56, 0, 0, 7, 114, 0, 16, 0, 42, 0, 0, 0, 150, 4, 16, 0, 35, 0, 0, 0, 38, 9, 16, 0, 41, 0, 0, 0, 50, 0, 0, 10, 114, 0, 16, 0, 42, 0, 0, 0, 150, 4, 16, 0, 41, 0, 0, 0, 38, 9, 16, 0, 35, 0, 0, 0, 70, 2, 16, 128, 65, 0, 0, 0, 42, 0, 0, 0, 16, 0, 0, 7, 18, 0, 16, 0, 43, 0, 0, 0, 70, 2, 16, 0, 41, 0, 0, 0, 70, 2, 16, 0, 35, 0, 0, 0, 16, 0, 0, 7, 130, 0, 16, 0, 34, 0, 0, 0, 70, 2, 16, 0, 42, 0, 0, 0, 70, 2, 16, 0, 42, 0, 0, 0, 0, 0, 0, 7, 34, 0, 16, 0, 43, 0, 0, 0, 58, 0, 16, 0, 34, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 52, 50, 0, 0, 9, 66, 0, 16, 0, 34, 0, 0, 0, 42, 0, 16, 0, 34, 0, 0, 0, 26, 0, 16, 0, 34, 0, 0, 0, 58, 0, 16, 0, 36, 0, 0, 0, 52, 0, 0, 7, 66, 0, 16, 0, 34, 0, 0, 0, 42, 0, 16, 0, 34, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 56, 0, 0, 7, 18, 0, 16, 0, 34, 0, 0, 0, 10, 0, 16, 0, 34, 0, 0, 0, 58, 0, 16, 0, 35, 0, 0, 0, 50, 0, 0, 9, 130, 0, 16, 0, 34, 0, 0, 0, 10, 0, 16, 0, 43, 0, 0, 0, 10, 0, 16, 0, 34, 0, 0, 0, 58, 0, 16, 0, 33, 0, 0, 0, 52, 0, 0, 7, 66, 0, 16, 0, 43, 0, 0, 0, 58, 0, 16, 0, 34, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 16, 0, 0, 7, 130, 0, 16, 0, 34, 0, 0, 0, 70, 2, 16, 0, 39, 0, 0, 0, 70, 2, 16, 0, 39, 0, 0, 0, 50, 0, 0, 10, 130, 0, 16, 0, 34, 0, 0, 0, 42, 0, 16, 128, 65, 0, 0, 0, 34, 0, 0, 0, 42, 0, 16, 0, 34, 0, 0, 0, 58, 0, 16, 0, 34, 0, 0, 0, 16, 0, 0, 7, 130, 0, 16, 0, 36, 0, 0, 0, 70, 2, 16, 0, 39, 0, 0, 0, 70, 2, 16, 0, 42, 0, 0, 0, 50, 0, 0, 10, 130, 0, 16, 0, 36, 0, 0, 0, 42, 0, 16, 128, 65, 0, 0, 0, 34, 0, 0, 0, 42, 0, 16, 0, 43, 0, 0, 0, 58, 0, 16, 0, 36, 0, 0, 0, 50, 0, 0, 10, 18, 0, 16, 0, 39, 0, 0, 0, 42, 0, 16, 128, 65, 0, 0, 0, 43, 0, 0, 0, 42, 0, 16, 0, 43, 0, 0, 0, 26, 0, 16, 0, 43, 0, 0, 0, 56, 0, 0, 7, 34, 0, 16, 0, 39, 0, 0, 0, 58, 0, 16, 0, 34, 0, 0, 0, 10, 0, 16, 0, 39, 0, 0, 0, 50, 0, 0, 10, 34, 0, 16, 0, 39, 0, 0, 0, 58, 0, 16, 0, 36, 0, 0, 0, 58, 0, 16, 0, 36, 0, 0, 0, 26, 0, 16, 128, 65, 0, 0, 0, 39, 0, 0, 0, 75, 0, 0, 5, 66, 0, 16, 0, 39, 0, 0, 0, 26, 0, 16, 0, 39, 0, 0, 0, 0, 0, 0, 8, 130, 0, 16, 0, 34, 0, 0, 0, 58, 0, 16, 128, 65, 0, 0, 0, 34, 0, 0, 0, 58, 0, 16, 0, 36, 0, 0, 0, 0, 0, 0, 8, 130, 0, 16, 0, 36, 0, 0, 0, 58, 0, 16, 0, 36, 0, 0, 0, 10, 0, 16, 128, 65, 0, 0, 0, 39, 0, 0, 0, 0, 0, 0, 7, 130, 0, 16, 0, 36, 0, 0, 0, 58, 0, 16, 0, 34, 0, 0, 0, 58, 0, 16, 0, 36, 0, 0, 0, 0, 0, 0, 7, 18, 0, 16, 0, 39, 0, 0, 0, 42, 0, 16, 0, 39, 0, 0, 0, 58, 0, 16, 0, 34, 0, 0, 0, 51, 0, 0, 7, 18, 0, 16, 0, 39, 0, 0, 0, 10, 0, 16, 0, 39, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 14, 0, 0, 7, 18, 0, 16, 0, 39, 0, 0, 0, 10, 0, 16, 0, 39, 0, 0, 0, 58, 0, 16, 0, 36, 0, 0, 0, 49, 0, 0, 7, 130, 0, 16, 0, 39, 0, 0, 0, 10, 0, 16, 0, 39, 0, 0, 0, 1, 64, 0, 0, 0, 0, 128, 63, 49, 0, 0, 7, 130, 0, 16, 0, 40, 0, 0, 0, 58, 0, 16, 0, 34, 0, 0, 0, 42, 0, 16, 0, 39, 0, 0, 0, 1, 0, 0, 7, 130, 0, 16, 0, 39, 0, 0, 0, 58, 0, 16, 0, 39, 0, 0, 0, 58, 0, 16, 0, 40, 0, 0, 0, 56, 0, 0, 7, 130, 0, 16, 0, 34, 0, 0, 0, 58, 0, 16, 0, 34, 0, 0, 0, 58, 0, 16, 0, 36, 0, 0, 0, 0, 0, 0, 8, 130, 0, 16, 0, 40, 0, 0, 0, 42, 0, 16, 128, 65, 0, 0, 0, 34, 0, 0, 0, 42, 0, 16, 0, 43, 0, 0, 0, 50, 0, 0, 9, 66, 0, 16, 0, 34, 0, 0, 0, 58, 0, 16, 0, 34, 0, 0, 0, 58, 0, 16, 0, 40, 0, 0, 0, 42, 0, 16, 0, 34, 0, 0, 0, 56, 0, 0, 7, 66, 0, 16, 0, 34, 0, 0, 0, 42, 0, 16, 0, 34, 0, 0, 0, 42, 0, 16, 0, 34, 0, 0, 0, 56, 0, 0, 7, 66, 0, 16, 0, 34, 0, 0, 0, 58, 0, 16, 0, 36, 0, 0, 0, 42, 0, 16, 0, 34, 0, 0, 0, 56, 0, 0, 7, 66, 0, 16, 0, 34, 0, 0, 0, 42, 0, 16, 0, 34, 0, 0, 0, 1, 64, 0, 0, 236, 81, 184, 190, 49, 0, 0, 7, 66, 0, 16, 0, 34, 0, 0, 0, 42, 0, 16, 0, 34, 0, 0, 0, 26, 0, 16, 0, 39, 0, 0, 0, 1, 0, 0, 7, 66, 0, 16, 0, 34, 0, 0, 0, 42, 0, 16, 0, 34, 0, 0, 0, 58, 0, 16, 0, 39, 0, 0, 0, 49, 0, 0, 7, 130, 0, 16, 0, 34, 0, 0, 0, 58, 0, 16, 0, 36, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 180, 1, 0, 0, 7, 66, 0, 16, 0, 34, 0, 0, 0, 58, 0, 16, 0, 34, 0, 0, 0, 42, 0, 16, 0, 34, 0, 0, 0, 0, 0, 0, 8, 114, 0, 16, 0, 42, 0, 0, 0, 70, 2, 16, 0, 40, 0, 0, 0, 70, 2, 16, 128, 65, 0, 0, 0, 41, 0, 0, 0, 50, 0, 0, 10, 114, 0, 16, 0, 40, 0, 0, 0, 70, 2, 16, 128, 65, 0, 0, 0, 42, 0, 0, 0, 6, 0, 16, 0, 39, 0, 0, 0, 70, 2, 16, 0, 40, 0, 0, 0, 56, 0, 0, 7, 114, 0, 16, 0, 44, 0, 0, 0, 246, 15, 16, 0, 32, 0, 0, 0, 70, 2, 16, 0, 35, 0, 0, 0, 50, 0, 0, 10, 114, 0, 16, 0, 38, 0, 0, 0, 70, 2, 16, 128, 65, 0, 0, 0, 38, 0, 0, 0, 246, 15, 16, 0, 37, 0, 0, 0, 70, 2, 16, 0, 44, 0, 0, 0, 0, 0, 0, 8, 130, 0, 16, 0, 34, 0, 0, 0, 10, 0, 16, 128, 65, 0, 0, 0, 39, 0, 0, 0, 1, 64, 0, 0, 0, 0, 128, 63, 50, 0, 0, 10, 114, 0, 16, 0, 44, 0, 0, 0, 70, 2, 16, 128, 65, 0, 0, 0, 38, 0, 0, 0, 246, 15, 16, 0, 34, 0, 0, 0, 70, 2, 16, 0, 44, 0, 0, 0, 56, 0, 0, 7, 130, 0, 16, 0, 37, 0, 0, 0, 10, 0, 16, 0, 34, 0, 0, 0, 10, 0, 16, 0, 39, 0, 0, 0, 50, 0, 0, 9, 34, 0, 16, 0, 34, 0, 0, 0, 26, 0, 16, 0, 34, 0, 0, 0, 58, 0, 16, 0, 34, 0, 0, 0, 58, 0, 16, 0, 37, 0, 0, 0, 16, 0, 0, 7, 130, 0, 16, 0, 37, 0, 0, 0, 70, 2, 16, 0, 44, 0, 0, 0, 70, 2, 16, 0, 44, 0, 0, 0, 68, 0, 0, 5, 130, 0, 16, 0, 37, 0, 0, 0, 58, 0, 16, 0, 37, 0, 0, 0, 16, 0, 0, 7, 18, 0, 16, 0, 39, 0, 0, 0, 70, 2, 16, 0, 40, 0, 0, 0, 70, 2, 16, 0, 44, 0, 0, 0, 56, 0, 0, 7, 18, 0, 16, 0, 39, 0, 0, 0, 58, 0, 16, 0, 37, 0, 0, 0, 10, 0, 16, 0, 39, 0, 0, 0, 16, 0, 0, 7, 34, 0, 16, 0, 39, 0, 0, 0, 70, 2, 16, 0, 40, 0, 0, 0, 70, 2, 16, 0, 40, 0, 0, 0, 50, 0, 0, 10, 34, 0, 16, 0, 39, 0, 0, 0, 10, 0, 16, 128, 65, 0, 0, 0, 39, 0, 0, 0, 10, 0, 16, 0, 39, 0, 0, 0, 26, 0, 16, 0, 39, 0, 0, 0, 49, 0, 0, 7, 130, 0, 16, 0, 39, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 26, 0, 16, 0, 39, 0, 0, 0, 68, 0, 0, 5, 18, 0, 16, 0, 40, 0, 0, 0, 26, 0, 16, 0, 39, 0, 0, 0, 1, 0, 0, 7, 130, 0, 16, 0, 39, 0, 0, 0, 58, 0, 16, 0, 39, 0, 0, 0, 10, 0, 16, 0, 40, 0, 0, 0, 56, 0, 0, 7, 34, 0, 16, 0, 34, 0, 0, 0, 26, 0, 16, 0, 34, 0, 0, 0, 26, 0, 16, 0, 39, 0, 0, 0, 50, 0, 0, 9, 34, 0, 16, 0, 34, 0, 0, 0, 26, 0, 16, 0, 34, 0, 0, 0, 58, 0, 16, 0, 39, 0, 0, 0, 10, 0, 16, 0, 39, 0, 0, 0, 56, 0, 0, 7, 34, 0, 16, 0, 34, 0, 0, 0, 58, 0, 16, 0, 37, 0, 0, 0, 26, 0, 16, 0, 34, 0, 0, 0, 49, 0, 0, 8, 130, 0, 16, 0, 37, 0, 0, 0, 26, 0, 16, 128, 129, 0, 0, 0, 34, 0, 0, 0, 1, 64, 0, 0, 0, 0, 128, 63, 50, 0, 0, 9, 114, 0, 16, 0, 38, 0, 0, 0, 70, 2, 16, 0, 38, 0, 0, 0, 86, 5, 16, 0, 34, 0, 0, 0, 70, 2, 16, 0, 42, 0, 0, 0, 49, 0, 0, 7, 34, 0, 16, 0, 34, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 52, 58, 0, 16, 0, 34, 0, 0, 0, 56, 0, 0, 7, 130, 0, 16, 0, 36, 0, 0, 0, 58, 0, 16, 0, 34, 0, 0, 0, 58, 0, 16, 0, 36, 0, 0, 0, 14, 0, 0, 7, 130, 0, 16, 0, 36, 0, 0, 0, 42, 0, 16, 0, 39, 0, 0, 0, 58, 0, 16, 0, 36, 0, 0, 0, 1, 0, 0, 7, 34, 0, 16, 0, 34, 0, 0, 0, 26, 0, 16, 0, 34, 0, 0, 0, 58, 0, 16, 0, 36, 0, 0, 0, 0, 0, 0, 8, 34, 0, 16, 0, 34, 0, 0, 0, 26, 0, 16, 128, 65, 0, 0, 0, 34, 0, 0, 0, 1, 64, 0, 0, 0, 0, 128, 63, 14, 0, 0, 7, 34, 0, 16, 0, 34, 0, 0, 0, 58, 0, 16, 0, 34, 0, 0, 0, 26, 0, 16, 0, 34, 0, 0, 0, 50, 0, 0, 9, 114, 0, 16, 0, 38, 0, 0, 0, 70, 2, 16, 0, 38, 0, 0, 0, 86, 5, 16, 0, 34, 0, 0, 0, 70, 2, 16, 0, 41, 0, 0, 0, 16, 0, 0, 7, 18, 0, 16, 0, 39, 0, 0, 0, 70, 2, 16, 0, 38, 0, 0, 0, 70, 2, 16, 0, 35, 0, 0, 0, 50, 0, 0, 9, 130, 0, 16, 0, 33, 0, 0, 0, 10, 0, 16, 0, 39, 0, 0, 0, 10, 0, 16, 0, 34, 0, 0, 0, 58, 0, 16, 0, 33, 0, 0, 0, 52, 0, 0, 7, 66, 0, 16, 0, 39, 0, 0, 0, 58, 0, 16, 0, 33, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 16, 0, 0, 7, 130, 0, 16, 0, 33, 0, 0, 0, 70, 2, 16, 0, 38, 0, 0, 0, 70, 2, 16, 0, 38, 0, 0, 0, 50, 0, 0, 10, 34, 0, 16, 0, 39, 0, 0, 0, 10, 0, 16, 128, 65, 0, 0, 0, 39, 0, 0, 0, 10, 0, 16, 0, 39, 0, 0, 0, 58, 0, 16, 0, 33, 0, 0, 0, 55, 0, 0, 9, 114, 0, 16, 0, 39, 0, 0, 0, 246, 15, 16, 0, 37, 0, 0, 0, 70, 2, 16, 0, 39, 0, 0, 0, 70, 2, 16, 0, 43, 0, 0, 0, 55, 0, 0, 9, 114, 0, 16, 0, 39, 0, 0, 0, 166, 10, 16, 0, 34, 0, 0, 0, 70, 2, 16, 0, 39, 0, 0, 0, 70, 2, 16, 0, 43, 0, 0, 0, 56, 0, 0, 7, 130, 0, 16, 0, 33, 0, 0, 0, 42, 0, 16, 0, 39, 0, 0, 0, 42, 0, 16, 0, 39, 0, 0, 0, 49, 0, 0, 7, 130, 0, 16, 0, 33, 0, 0, 0, 58, 0, 16, 0, 33, 0, 0, 0, 26, 0, 16, 0, 39, 0, 0, 0, 31, 0, 4, 3, 58, 0, 16, 0, 33, 0, 0, 0, 30, 0, 0, 7, 130, 0, 16, 0, 33, 0, 0, 0, 58, 0, 16, 0, 30, 0, 0, 0, 1, 64, 0, 0, 1, 0, 0, 0, 54, 0, 0, 5, 130, 0, 16, 0, 30, 0, 0, 0, 58, 0, 16, 0, 33, 0, 0, 0, 7, 0, 0, 1, 21, 0, 0, 1, 56, 0, 0, 7, 130, 0, 16, 0, 33, 0, 0, 0, 58, 0, 16, 0, 35, 0, 0, 0, 58, 0, 16, 0, 38, 0, 0, 0, 50, 0, 0, 10, 130, 0, 16, 0, 33, 0, 0, 0, 58, 0, 16, 128, 65, 0, 0, 0, 33, 0, 0, 0, 58, 0, 16, 0, 33, 0, 0, 0, 1, 64, 0, 0, 0, 0, 128, 63, 55, 0, 0, 9, 114, 0, 16, 0, 38, 0, 0, 0, 246, 15, 16, 0, 37, 0, 0, 0, 70, 2, 16, 0, 38, 0, 0, 0, 70, 2, 16, 0, 41, 0, 0, 0, 55, 0, 0, 9, 226, 0, 16, 0, 34, 0, 0, 0, 166, 10, 16, 0, 34, 0, 0, 0, 6, 9, 16, 0, 38, 0, 0, 0, 6, 9, 16, 0, 41, 0, 0, 0, 52, 0, 0, 7, 130, 0, 16, 0, 35, 0, 0, 0, 26, 0, 16, 0, 39, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 52, 68, 0, 0, 5, 130, 0, 16, 0, 36, 0, 0, 0, 58, 0, 16, 0, 35, 0, 0, 0, 56, 0, 0, 7, 18, 0, 16, 0, 34, 0, 0, 0, 10, 0, 16, 0, 34, 0, 0, 0, 58, 0, 16, 0, 35, 0, 0, 0, 50, 0, 0, 9, 18, 0, 16, 0, 34, 0, 0, 0, 10, 0, 16, 0, 34, 0, 0, 0, 58, 0, 16, 0, 36, 0, 0, 0, 10, 0, 16, 0, 39, 0, 0, 0, 49, 0, 0, 8, 130, 0, 16, 0, 32, 0, 0, 0, 10, 0, 16, 128, 129, 0, 0, 0, 34, 0, 0, 0, 58, 0, 16, 0, 32, 0, 0, 0, 50, 0, 0, 10, 114, 0, 16, 0, 34, 0, 0, 0, 6, 0, 16, 128, 65, 0, 0, 0, 34, 0, 0, 0, 70, 2, 16, 0, 35, 0, 0, 0, 150, 7, 16, 0, 34, 0, 0, 0, 56, 0, 0, 7, 130, 0, 16, 0, 34, 0, 0, 0, 58, 0, 16, 0, 36, 0, 0, 0, 42, 0, 16, 0, 39, 0, 0, 0, 50, 0, 0, 10, 130, 0, 16, 0, 33, 0, 0, 0, 58, 0, 16, 0, 34, 0, 0, 0, 58, 0, 16, 0, 33, 0, 0, 0, 58, 0, 16, 128, 65, 0, 0, 0, 33, 0, 0, 0, 50, 0, 0, 9, 114, 0, 16, 0, 34, 0, 0, 0, 70, 2, 16, 0, 34, 0, 0, 0, 246, 15, 16, 0, 33, 0, 0, 0, 70, 2, 16, 0, 30, 0, 0, 0, 50, 0, 0, 9, 130, 0, 16, 0, 33, 0, 0, 0, 10, 0, 16, 0, 39, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 63, 1, 64, 0, 0, 0, 0, 0, 63, 0, 0, 0, 8, 114, 0, 16, 0, 33, 0, 0, 0, 70, 2, 16, 128, 65, 0, 0, 0, 36, 0, 0, 0, 70, 2, 16, 0, 33, 0, 0, 0, 0, 0, 0, 8, 114, 0, 16, 0, 32, 0, 0, 0, 70, 2, 16, 128, 65, 0, 0, 0, 37, 0, 0, 0, 70, 2, 16, 0, 32, 0, 0, 0, 0, 0, 0, 8, 114, 0, 16, 0, 32, 0, 0, 0, 70, 2, 16, 128, 65, 0, 0, 0, 33, 0, 0, 0, 70, 2, 16, 0, 32, 0, 0, 0, 50, 0, 0, 9, 114, 0, 16, 0, 32, 0, 0, 0, 246, 15, 16, 0, 33, 0, 0, 0, 70, 2, 16, 0, 32, 0, 0, 0, 70, 2, 16, 0, 33, 0, 0, 0, 0, 0, 0, 7, 114, 0, 16, 0, 32, 0, 0, 0, 70, 2, 16, 0, 31, 0, 0, 0, 70, 2, 16, 0, 32, 0, 0, 0, 55, 0, 0, 9, 114, 0, 16, 0, 33, 0, 0, 0, 166, 10, 16, 0, 19, 0, 0, 0, 70, 2, 16, 0, 32, 0, 0, 0, 70, 2, 16, 0, 31, 0, 0, 0, 30, 0, 0, 7, 130, 0, 16, 0, 33, 0, 0, 0, 58, 0, 16, 0, 31, 0, 0, 0, 1, 64, 0, 0, 1, 0, 0, 0, 55, 0, 0, 9, 114, 0, 16, 0, 30, 0, 0, 0, 246, 15, 16, 0, 32, 0, 0, 0, 70, 2, 16, 0, 34, 0, 0, 0, 70, 2, 16, 0, 30, 0, 0, 0, 55, 0, 0, 9, 242, 0, 16, 0, 31, 0, 0, 0, 246, 15, 16, 0, 32, 0, 0, 0, 70, 14, 16, 0, 33, 0, 0, 0, 70, 14, 16, 0, 31, 0, 0, 0, 30, 0, 0, 7, 130, 0, 16, 0, 30, 0, 0, 0, 58, 0, 16, 0, 30, 0, 0, 0, 1, 64, 0, 0, 1, 0, 0, 0, 22, 0, 0, 1, 165, 0, 0, 7, 130, 0, 16, 0, 30, 0, 0, 0, 1, 64, 0, 0, 60, 0, 0, 0, 6, 240, 17, 0, 0, 0, 0, 0, 54, 0, 0, 5, 114, 0, 16, 0, 32, 0, 0, 0, 70, 2, 16, 0, 24, 0, 0, 0, 54, 0, 0, 5, 114, 0, 16, 0, 33, 0, 0, 0, 70, 2, 16, 0, 30, 0, 0, 0, 54, 0, 0, 5, 242, 0, 16, 0, 34, 0, 0, 0, 70, 14, 16, 0, 31, 0, 0, 0, 54, 0, 0, 5, 130, 0, 16, 0, 32, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 48, 0, 0, 1, 80, 0, 0, 7, 130, 0, 16, 0, 33, 0, 0, 0, 58, 0, 16, 0, 32, 0, 0, 0, 58, 0, 16, 0, 30, 0, 0, 0, 3, 0, 4, 3, 58, 0, 16, 0, 33, 0, 0, 0, 30, 0, 0, 7, 50, 0, 16, 0, 35, 0, 0, 0, 134, 0, 16, 0, 21, 0, 0, 0, 246, 15, 16, 0, 32, 0, 0, 0, 167, 0, 0, 139, 2, 131, 0, 128, 131, 153, 25, 0, 242, 0, 16, 0, 36, 0, 0, 0, 10, 0, 16, 0, 35, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 70, 126, 16, 0, 7, 0, 0, 0, 167, 0, 0, 139, 2, 131, 0, 128, 131, 153, 25, 0, 242, 0, 16, 0, 35, 0, 0, 0, 26, 0, 16, 0, 35, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 70, 126, 16, 0, 7, 0, 0, 0, 0, 0, 0, 8, 242, 0, 16, 0, 35, 0, 0, 0, 70, 14, 16, 128, 65, 0, 0, 0, 36, 0, 0, 0, 70, 14, 16, 0, 35, 0, 0, 0, 50, 0, 0, 9, 242, 0, 16, 0, 37, 0, 0, 0, 6, 0, 16, 0, 23, 0, 0, 0, 70, 14, 16, 0, 35, 0, 0, 0, 70, 14, 16, 0, 36, 0, 0, 0, 52, 0, 0, 7, 130, 0, 16, 0, 33, 0, 0, 0, 58, 0, 16, 0, 37, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 50, 0, 0, 9, 114, 0, 16, 0, 35, 0, 0, 0, 6, 0, 16, 0, 19, 0, 0, 0, 70, 2, 16, 0, 35, 0, 0, 0, 70, 2, 16, 0, 36, 0, 0, 0, 0, 0, 0, 8, 114, 0, 16, 0, 36, 0, 0, 0, 70, 2, 16, 0, 32, 0, 0, 0, 70, 2, 16, 128, 65, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 8, 114, 0, 16, 0, 38, 0, 0, 0, 150, 7, 16, 0, 28, 0, 0, 0, 70, 2, 16, 128, 65, 0, 0, 0, 35, 0, 0, 0, 16, 0, 0, 7, 130, 0, 16, 0, 35, 0, 0, 0, 70, 2, 16, 0, 36, 0, 0, 0, 70, 2, 16, 0, 36, 0, 0, 0, 0, 0, 0, 7, 130, 0, 16, 0, 36, 0, 0, 0, 58, 0, 16, 0, 35, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 52, 16, 0, 0, 7, 130, 0, 16, 0, 35, 0, 0, 0, 70, 2, 16, 0, 38, 0, 0, 0, 70, 2, 16, 0, 38, 0, 0, 0, 56, 0, 0, 7, 130, 0, 16, 0, 37, 0, 0, 0, 58, 0, 16, 0, 33, 0, 0, 0, 58, 0, 16, 0, 33, 0, 0, 0, 50, 0, 0, 10, 130, 0, 16, 0, 35, 0, 0, 0, 58, 0, 16, 128, 65, 0, 0, 0, 33, 0, 0, 0, 58, 0, 16, 0, 33, 0, 0, 0, 58, 0, 16, 0, 35, 0, 0, 0, 16, 0, 0, 7, 130, 0, 16, 0, 38, 0, 0, 0, 70, 2, 16, 0, 38, 0, 0, 0, 70, 2, 16, 0, 36, 0, 0, 0, 50, 0, 0, 10, 130, 0, 16, 0, 38, 0, 0, 0, 58, 0, 16, 128, 65, 0, 0, 0, 33, 0, 0, 0, 58, 0, 16, 0, 33, 0, 0, 0, 58, 0, 16, 0, 38, 0, 0, 0, 50, 0, 0, 10, 18, 0, 16, 0, 39, 0, 0, 0, 58, 0, 16, 128, 65, 0, 0, 0, 33, 0, 0, 0, 58, 0, 16, 0, 33, 0, 0, 0, 58, 0, 16, 0, 36, 0, 0, 0, 56, 0, 0, 7, 34, 0, 16, 0, 39, 0, 0, 0, 58, 0, 16, 0, 35, 0, 0, 0, 10, 0, 16, 0, 39, 0, 0, 0, 50, 0, 0, 10, 34, 0, 16, 0, 39, 0, 0, 0, 58, 0, 16, 0, 38, 0, 0, 0, 58, 0, 16, 0, 38, 0, 0, 0, 26, 0, 16, 128, 65, 0, 0, 0, 39, 0, 0, 0, 75, 0, 0, 5, 66, 0, 16, 0, 39, 0, 0, 0, 26, 0, 16, 0, 39, 0, 0, 0, 0, 0, 0, 8, 130, 0, 16, 0, 35, 0, 0, 0, 58, 0, 16, 128, 65, 0, 0, 0, 35, 0, 0, 0, 58, 0, 16, 0, 38, 0, 0, 0, 0, 0, 0, 8, 130, 0, 16, 0, 38, 0, 0, 0, 58, 0, 16, 0, 38, 0, 0, 0, 10, 0, 16, 128, 65, 0, 0, 0, 39, 0, 0, 0, 0, 0, 0, 7, 130, 0, 16, 0, 38, 0, 0, 0, 58, 0, 16, 0, 35, 0, 0, 0, 58, 0, 16, 0, 38, 0, 0, 0, 0, 0, 0, 7, 18, 0, 16, 0, 39, 0, 0, 0, 42, 0, 16, 0, 39, 0, 0, 0, 58, 0, 16, 0, 35, 0, 0, 0, 51, 0, 0, 7, 18, 0, 16, 0, 39, 0, 0, 0, 10, 0, 16, 0, 39, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 14, 0, 0, 7, 18, 0, 16, 0, 39, 0, 0, 0, 10, 0, 16, 0, 39, 0, 0, 0, 58, 0, 16, 0, 38, 0, 0, 0, 49, 0, 0, 7, 130, 0, 16, 0, 39, 0, 0, 0, 10, 0, 16, 0, 39, 0, 0, 0, 1, 64, 0, 0, 0, 0, 128, 63, 49, 0, 0, 7, 130, 0, 16, 0, 35, 0, 0, 0, 58, 0, 16, 0, 35, 0, 0, 0, 42, 0, 16, 0, 39, 0, 0, 0, 1, 0, 0, 7, 130, 0, 16, 0, 35, 0, 0, 0, 58, 0, 16, 0, 35, 0, 0, 0, 58, 0, 16, 0, 39, 0, 0, 0, 56, 0, 0, 7, 130, 0, 16, 0, 37, 0, 0, 0, 58, 0, 16, 0, 37, 0, 0, 0, 58, 0, 16, 0, 38, 0, 0, 0, 56, 0, 0, 7, 130, 0, 16, 0, 37, 0, 0, 0, 58, 0, 16, 0, 37, 0, 0, 0, 1, 64, 0, 0, 236, 81, 184, 190, 49, 0, 0, 7, 130, 0, 16, 0, 37, 0, 0, 0, 58, 0, 16, 0, 37, 0, 0, 0, 26, 0, 16, 0, 39, 0, 0, 0, 1, 0, 0, 7, 130, 0, 16, 0, 35, 0, 0, 0, 58, 0, 16, 0, 35, 0, 0, 0, 58, 0, 16, 0, 37, 0, 0, 0, 49, 0, 0, 7, 130, 0, 16, 0, 37, 0, 0, 0, 58, 0, 16, 0, 38, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 180, 1, 0, 0, 7, 130, 0, 16, 0, 35, 0, 0, 0, 58, 0, 16, 0, 35, 0, 0, 0, 58, 0, 16, 0, 37, 0, 0, 0, 0, 0, 0, 8, 114, 0, 16, 0, 38, 0, 0, 0, 70, 2, 16, 128, 65, 0, 0, 0, 36, 0, 0, 0, 70, 2, 16, 0, 38, 0, 0, 0, 0, 0, 0, 8, 130, 0, 16, 0, 37, 0, 0, 0, 10, 0, 16, 128, 65, 0, 0, 0, 39, 0, 0, 0, 1, 64, 0, 0, 0, 0, 128, 63, 56, 0, 0, 7, 130, 0, 16, 0, 38, 0, 0, 0, 58, 0, 16, 0, 37, 0, 0, 0, 58, 0, 16, 0, 38, 0, 0, 0, 14, 0, 0, 7, 130, 0, 16, 0, 38, 0, 0, 0, 42, 0, 16, 0, 39, 0, 0, 0, 58, 0, 16, 0, 38, 0, 0, 0, 0, 0, 0, 8, 130, 0, 16, 0, 38, 0, 0, 0, 58, 0, 16, 128, 65, 0, 0, 0, 38, 0, 0, 0, 1, 64, 0, 0, 0, 0, 128, 63, 14, 0, 0, 7, 130, 0, 16, 0, 37, 0, 0, 0, 58, 0, 16, 0, 37, 0, 0, 0, 58, 0, 16, 0, 38, 0, 0, 0, 50, 0, 0, 9, 114, 0, 16, 0, 38, 0, 0, 0, 70, 2, 16, 0, 38, 0, 0, 0, 246, 15, 16, 0, 37, 0, 0, 0, 70, 2, 16, 0, 36, 0, 0, 0, 0, 0, 0, 7, 114, 0, 16, 0, 39, 0, 0, 0, 70, 2, 16, 0, 37, 0, 0, 0, 70, 2, 16, 0, 38, 0, 0, 0, 16, 0, 0, 7, 130, 0, 16, 0, 37, 0, 0, 0, 70, 2, 16, 0, 38, 0, 0, 0, 70, 2, 16, 0, 38, 0, 0, 0, 0, 0, 0, 7, 130, 0, 16, 0, 38, 0, 0, 0, 58, 0, 16, 0, 37, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 52, 55, 0, 0, 9, 114, 0, 16, 0, 32, 0, 0, 0, 246, 15, 16, 0, 35, 0, 0, 0, 70, 2, 16, 0, 39, 0, 0, 0, 70, 2, 16, 0, 32, 0, 0, 0, 55, 0, 0, 9, 242, 0, 16, 0, 36, 0, 0, 0, 246, 15, 16, 0, 35, 0, 0, 0, 70, 14, 16, 0, 38, 0, 0, 0, 70, 14, 16, 0, 36, 0, 0, 0, 68, 0, 0, 5, 130, 0, 16, 0, 35, 0, 0, 0, 58, 0, 16, 0, 36, 0, 0, 0, 56, 0, 0, 7, 130, 0, 16, 0, 36, 0, 0, 0, 58, 0, 16, 0, 33, 0, 0, 0, 58, 0, 16, 0, 35, 0, 0, 0, 49, 0, 0, 7, 130, 0, 16, 0, 36, 0, 0, 0, 1, 64, 0, 0, 0, 0, 128, 63, 58, 0, 16, 0, 36, 0, 0, 0, 50, 0, 0, 9, 130, 0, 16, 0, 33, 0, 0, 0, 58, 0, 16, 0, 35, 0, 0, 0, 58, 0, 16, 0, 33, 0, 0, 0, 1, 64, 0, 0, 0, 0, 128, 191, 50, 0, 0, 9, 114, 0, 16, 0, 36, 0, 0, 0, 70, 2, 16, 0, 36, 0, 0, 0, 246, 15, 16, 0, 33, 0, 0, 0, 70, 2, 16, 0, 33, 0, 0, 0, 0, 0, 0, 8, 114, 0, 16, 0, 35, 0, 0, 0, 70, 2, 16, 128, 65, 0, 0, 0, 35, 0, 0, 0, 70, 2, 16, 0, 37, 0, 0, 0, 0, 0, 0, 7, 114, 0, 16, 0, 35, 0, 0, 0, 70, 2, 16, 0, 34, 0, 0, 0, 70, 2, 16, 0, 35, 0, 0, 0, 55, 0, 0, 9, 114, 0, 16, 0, 35, 0, 0, 0, 166, 10, 16, 0, 19, 0, 0, 0, 70, 2, 16, 0, 35, 0, 0, 0, 70, 2, 16, 0, 34, 0, 0, 0, 30, 0, 0, 7, 130, 0, 16, 0, 35, 0, 0, 0, 58, 0, 16, 0, 34, 0, 0, 0, 1, 64, 0, 0, 1, 0, 0, 0, 55, 0, 0, 9, 114, 0, 16, 0, 33, 0, 0, 0, 246, 15, 16, 0, 36, 0, 0, 0, 70, 2, 16, 0, 36, 0, 0, 0, 70, 2, 16, 0, 33, 0, 0, 0, 55, 0, 0, 9, 242, 0, 16, 0, 34, 0, 0, 0, 246, 15, 16, 0, 36, 0, 0, 0, 70, 14, 16, 0, 35, 0, 0, 0, 70, 14, 16, 0, 34, 0, 0, 0, 30, 0, 0, 7, 130, 0, 16, 0, 32, 0, 0, 0, 58, 0, 16, 0, 32, 0, 0, 0, 1, 64, 0, 0, 1, 0, 0, 0, 22, 0, 0, 1, 31, 0, 4, 3, 58, 0, 16, 0, 34, 0, 0, 0, 86, 0, 0, 5, 130, 0, 16, 0, 30, 0, 0, 0, 58, 0, 16, 0, 34, 0, 0, 0, 14, 0, 0, 10, 130, 0, 16, 0, 30, 0, 0, 0, 2, 64, 0, 0, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 58, 0, 16, 0, 30, 0, 0, 0, 31, 0, 4, 3, 42, 0, 16, 0, 19, 0, 0, 0, 165, 0, 0, 7, 18, 0, 16, 0, 32, 0, 0, 0, 1, 64, 0, 0, 92, 0, 0, 0, 6, 240, 17, 0, 0, 0, 0, 0, 16, 0, 0, 7, 34, 0, 16, 0, 32, 0, 0, 0, 70, 2, 16, 0, 33, 0, 0, 0, 70, 2, 16, 0, 33, 0, 0, 0, 0, 0, 0, 7, 66, 0, 16, 0, 32, 0, 0, 0, 26, 0, 16, 0, 32, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 52, 68, 0, 0, 5, 66, 0, 16, 0, 32, 0, 0, 0, 42, 0, 16, 0, 32, 0, 0, 0, 56, 0, 0, 7, 114, 0, 16, 0, 35, 0, 0, 0, 166, 10, 16, 0, 32, 0, 0, 0, 70, 2, 16, 0, 33, 0, 0, 0, 0, 0, 0, 8, 114, 0, 16, 0, 36, 0, 0, 0, 70, 2, 16, 0, 24, 0, 0, 0, 150, 7, 16, 128, 65, 0, 0, 0, 28, 0, 0, 0, 50, 0, 0, 10, 114, 0, 16, 0, 36, 0, 0, 0, 70, 2, 16, 128, 65, 0, 0, 0, 34, 0, 0, 0, 246, 15, 16, 0, 30, 0, 0, 0, 70, 2, 16, 0, 36, 0, 0, 0, 16, 0, 0, 7, 130, 0, 16, 0, 32, 0, 0, 0, 70, 2, 16, 0, 36, 0, 0, 0, 70, 2, 16, 0, 35, 0, 0, 0, 50, 0, 0, 10, 114, 0, 16, 0, 35, 0, 0, 0, 246, 15, 16, 128, 65, 0, 0, 0, 32, 0, 0, 0, 70, 2, 16, 0, 35, 0, 0, 0, 70, 2, 16, 0, 36, 0, 0, 0, 16, 0, 0, 7, 130, 0, 16, 0, 32, 0, 0, 0, 70, 2, 16, 0, 35, 0, 0, 0, 70, 2, 16, 0, 35, 0, 0, 0, 0, 0, 0, 7, 130, 0, 16, 0, 32, 0, 0, 0, 58, 0, 16, 0, 32, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 52, 68, 0, 0, 5, 130, 0, 16, 0, 32, 0, 0, 0, 58, 0, 16, 0, 32, 0, 0, 0, 56, 0, 0, 8, 18, 0, 16, 0, 32, 0, 0, 0, 26, 0, 16, 0, 32, 0, 0, 0, 10, 0, 16, 128, 65, 0, 0, 0, 32, 0, 0, 0, 56, 0, 0, 7, 18, 0, 16, 0, 32, 0, 0, 0, 42, 0, 16, 0, 32, 0, 0, 0, 10, 0, 16, 0, 32, 0, 0, 0, 56, 0, 0, 7, 18, 0, 16, 0, 32, 0, 0, 0, 58, 0, 16, 0, 30, 0, 0, 0, 10, 0, 16, 0, 32, 0, 0, 0, 56, 0, 0, 7, 18, 0, 16, 0, 32, 0, 0, 0, 58, 0, 16, 0, 32, 0, 0, 0, 10, 0, 16, 0, 32, 0, 0, 0, 52, 0, 0, 7, 18, 0, 16, 0, 32, 0, 0, 0, 10, 0, 16, 0, 32, 0, 0, 0, 1, 64, 0, 0, 0, 0, 128, 191, 50, 0, 0, 10, 226, 0, 16, 0, 28, 0, 0, 0, 6, 9, 16, 128, 65, 0, 0, 0, 35, 0, 0, 0, 6, 0, 16, 0, 32, 0, 0, 0, 86, 14, 16, 0, 28, 0, 0, 0, 166, 0, 0, 7, 114, 224, 17, 0, 0, 0, 0, 0, 58, 0, 16, 0, 25, 0, 0, 0, 150, 7, 16, 0, 28, 0, 0, 0, 21, 0, 0, 1, 50, 0, 0, 9, 114, 0, 16, 0, 24, 0, 0, 0, 70, 2, 16, 0, 33, 0, 0, 0, 246, 15, 16, 0, 30, 0, 0, 0, 70, 2, 16, 0, 24, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 42, 0, 16, 0, 20, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 10, 0, 16, 0, 24, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 10, 0, 16, 0, 26, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 26, 0, 16, 0, 24, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 26, 0, 16, 0, 26, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 42, 0, 16, 0, 24, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 42, 0, 16, 0, 26, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 58, 0, 16, 0, 24, 0, 0, 0, 21, 0, 0, 1, 54, 0, 0, 5, 66, 0, 16, 0, 20, 0, 0, 0, 58, 0, 16, 0, 26, 0, 0, 0, 22, 0, 0, 1, 18, 0, 0, 1, 165, 0, 0, 7, 98, 0, 16, 0, 19, 0, 0, 0, 1, 64, 0, 0, 88, 0, 0, 0, 6, 241, 17, 0, 0, 0, 0, 0, 49, 0, 0, 10, 98, 0, 16, 0, 19, 0, 0, 0, 2, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 166, 9, 16, 0, 19, 0, 0, 0, 165, 0, 0, 7, 18, 0, 16, 0, 20, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 0, 0, 0, 0, 165, 0, 0, 7, 82, 0, 16, 0, 21, 0, 0, 0, 1, 64, 0, 0, 96, 0, 0, 0, 6, 241, 17, 0, 1, 0, 0, 0, 165, 0, 0, 7, 66, 0, 16, 0, 20, 0, 0, 0, 1, 64, 0, 0, 92, 0, 0, 0, 6, 240, 17, 0, 0, 0, 0, 0, 49, 0, 0, 7, 18, 0, 16, 0, 22, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 42, 0, 16, 0, 20, 0, 0, 0, 165, 0, 0, 7, 50, 0, 16, 0, 24, 0, 0, 0, 1, 64, 0, 0, 52, 0, 0, 0, 70, 240, 17, 0, 0, 0, 0, 0, 54, 0, 0, 4, 66, 0, 16, 0, 22, 0, 0, 0, 10, 32, 2, 0, 48, 0, 0, 1, 80, 0, 0, 7, 66, 0, 16, 0, 24, 0, 0, 0, 42, 0, 16, 0, 22, 0, 0, 0, 10, 0, 16, 0, 20, 0, 0, 0, 3, 0, 4, 3, 42, 0, 16, 0, 24, 0, 0, 0, 167, 0, 0, 9, 18, 0, 16, 0, 26, 0, 0, 0, 42, 0, 16, 0, 22, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 30, 0, 0, 10, 242, 0, 16, 0, 32, 0, 0, 0, 166, 10, 16, 0, 22, 0, 0, 0, 2, 64, 0, 0, 177, 7, 0, 0, 98, 15, 0, 0, 19, 23, 0, 0, 0, 4, 0, 0, 167, 0, 0, 9, 34, 0, 16, 0, 26, 0, 0, 0, 10, 0, 16, 0, 32, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 66, 0, 16, 0, 26, 0, 0, 0, 26, 0, 16, 0, 32, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 66, 0, 16, 0, 24, 0, 0, 0, 42, 0, 16, 0, 32, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 54, 0, 0, 8, 226, 0, 16, 0, 28, 0, 0, 0, 2, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 54, 0, 0, 8, 242, 0, 16, 0, 35, 0, 0, 0, 2, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 54, 0, 0, 5, 130, 0, 16, 0, 24, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 48, 0, 0, 1, 80, 0, 0, 7, 130, 0, 16, 0, 25, 0, 0, 0, 58, 0, 16, 0, 24, 0, 0, 0, 10, 0, 16, 0, 24, 0, 0, 0, 3, 0, 4, 3, 58, 0, 16, 0, 25, 0, 0, 0, 30, 0, 0, 7, 130, 0, 16, 0, 25, 0, 0, 0, 58, 0, 16, 0, 24, 0, 0, 0, 26, 0, 16, 0, 24, 0, 0, 0, 167, 0, 0, 139, 2, 67, 0, 128, 131, 153, 25, 0, 50, 0, 16, 0, 36, 0, 0, 0, 58, 0, 16, 0, 25, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 70, 112, 16, 0, 6, 0, 0, 0, 30, 0, 0, 7, 242, 0, 16, 0, 36, 0, 0, 0, 134, 8, 16, 0, 21, 0, 0, 0, 6, 5, 16, 0, 36, 0, 0, 0, 167, 0, 0, 139, 2, 131, 0, 128, 131, 153, 25, 0, 242, 0, 16, 0, 37, 0, 0, 0, 10, 0, 16, 0, 36, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 70, 126, 16, 0, 7, 0, 0, 0, 167, 0, 0, 139, 2, 131, 0, 128, 131, 153, 25, 0, 242, 0, 16, 0, 38, 0, 0, 0, 26, 0, 16, 0, 36, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 70, 126, 16, 0, 7, 0, 0, 0, 0, 0, 0, 8, 242, 0, 16, 0, 39, 0, 0, 0, 70, 14, 16, 128, 65, 0, 0, 0, 37, 0, 0, 0, 70, 14, 16, 0, 38, 0, 0, 0, 50, 0, 0, 9, 242, 0, 16, 0, 39, 0, 0, 0, 6, 0, 16, 0, 23, 0, 0, 0, 70, 14, 16, 0, 39, 0, 0, 0, 70, 14, 16, 0, 37, 0, 0, 0, 167, 0, 0, 139, 2, 131, 0, 128, 131, 153, 25, 0, 242, 0, 16, 0, 40, 0, 0, 0, 42, 0, 16, 0, 36, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 70, 126, 16, 0, 7, 0, 0, 0, 167, 0, 0, 139, 2, 131, 0, 128, 131, 153, 25, 0, 242, 0, 16, 0, 36, 0, 0, 0, 58, 0, 16, 0, 36, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 70, 126, 16, 0, 7, 0, 0, 0, 0, 0, 0, 8, 242, 0, 16, 0, 41, 0, 0, 0, 70, 14, 16, 128, 65, 0, 0, 0, 40, 0, 0, 0, 70, 14, 16, 0, 36, 0, 0, 0, 50, 0, 0, 9, 242, 0, 16, 0, 41, 0, 0, 0, 6, 0, 16, 0, 23, 0, 0, 0, 70, 14, 16, 0, 41, 0, 0, 0, 70, 14, 16, 0, 40, 0, 0, 0, 52, 0, 0, 7, 130, 0, 16, 0, 39, 0, 0, 0, 58, 0, 16, 0, 39, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 52, 0, 0, 7, 130, 0, 16, 0, 41, 0, 0, 0, 58, 0, 16, 0, 41, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 242, 0, 16, 0, 42, 0, 0, 0, 70, 14, 16, 128, 65, 0, 0, 0, 39, 0, 0, 0, 70, 14, 16, 0, 41, 0, 0, 0, 56, 0, 0, 10, 242, 0, 16, 0, 43, 0, 0, 0, 70, 14, 16, 0, 42, 0, 0, 0, 2, 64, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 16, 0, 0, 7, 130, 0, 16, 0, 25, 0, 0, 0, 70, 2, 16, 0, 43, 0, 0, 0, 70, 2, 16, 0, 43, 0, 0, 0, 50, 0, 0, 10, 130, 0, 16, 0, 26, 0, 0, 0, 58, 0, 16, 128, 65, 0, 0, 0, 43, 0, 0, 0, 58, 0, 16, 0, 43, 0, 0, 0, 58, 0, 16, 0, 25, 0, 0, 0, 29, 0, 0, 7, 130, 0, 16, 0, 30, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 58, 0, 16, 0, 26, 0, 0, 0, 31, 0, 4, 3, 58, 0, 16, 0, 30, 0, 0, 0, 30, 0, 0, 7, 130, 0, 16, 0, 30, 0, 0, 0, 58, 0, 16, 0, 24, 0, 0, 0, 1, 64, 0, 0, 1, 0, 0, 0, 54, 0, 0, 5, 130, 0, 16, 0, 24, 0, 0, 0, 58, 0, 16, 0, 30, 0, 0, 0, 7, 0, 0, 1, 21, 0, 0, 1, 68, 0, 0, 5, 130, 0, 16, 0, 30, 0, 0, 0, 58, 0, 16, 0, 25, 0, 0, 0, 68, 0, 0, 5, 130, 0, 16, 0, 26, 0, 0, 0, 58, 0, 16, 0, 26, 0, 0, 0, 56, 0, 0, 7, 130, 0, 16, 0, 25, 0, 0, 0, 58, 0, 16, 0, 25, 0, 0, 0, 58, 0, 16, 0, 30, 0, 0, 0, 0, 0, 0, 7, 114, 0, 16, 0, 42, 0, 0, 0, 70, 2, 16, 0, 39, 0, 0, 0, 70, 2, 16, 0, 41, 0, 0, 0, 50, 0, 0, 9, 130, 0, 16, 0, 33, 0, 0, 0, 58, 0, 16, 0, 42, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 63, 58, 0, 16, 0, 39, 0, 0, 0, 56, 0, 0, 7, 130, 0, 16, 0, 33, 0, 0, 0, 58, 0, 16, 0, 26, 0, 0, 0, 58, 0, 16, 0, 33, 0, 0, 0, 56, 0, 0, 7, 130, 0, 16, 0, 33, 0, 0, 0, 58, 0, 16, 0, 25, 0, 0, 0, 58, 0, 16, 0, 33, 0, 0, 0, 56, 0, 0, 7, 114, 0, 16, 0, 43, 0, 0, 0, 246, 15, 16, 0, 30, 0, 0, 0, 70, 2, 16, 0, 43, 0, 0, 0, 56, 0, 0, 7, 130, 0, 16, 0, 26, 0, 0, 0, 58, 0, 16, 0, 26, 0, 0, 0, 58, 0, 16, 0, 43, 0, 0, 0, 50, 0, 0, 13, 114, 0, 16, 0, 42, 0, 0, 0, 70, 2, 16, 128, 65, 0, 0, 0, 42, 0, 0, 0, 2, 64, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 0, 70, 2, 16, 0, 26, 0, 0, 0, 16, 0, 0, 7, 130, 0, 16, 0, 36, 0, 0, 0, 70, 2, 16, 0, 42, 0, 0, 0, 70, 2, 16, 0, 43, 0, 0, 0, 50, 0, 0, 9, 130, 0, 16, 0, 33, 0, 0, 0, 58, 0, 16, 0, 36, 0, 0, 0, 58, 0, 16, 0, 26, 0, 0, 0, 58, 0, 16, 0, 33, 0, 0, 0, 52, 0, 0, 7, 130, 0, 16, 0, 33, 0, 0, 0, 58, 0, 16, 0, 33, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 16, 0, 0, 7, 130, 0, 16, 0, 37, 0, 0, 0, 70, 2, 16, 0, 42, 0, 0, 0, 70, 2, 16, 0, 42, 0, 0, 0, 50, 0, 0, 10, 130, 0, 16, 0, 37, 0, 0, 0, 58, 0, 16, 128, 65, 0, 0, 0, 36, 0, 0, 0, 58, 0, 16, 0, 36, 0, 0, 0, 58, 0, 16, 0, 37, 0, 0, 0, 56, 0, 0, 7, 130, 0, 16, 0, 38, 0, 0, 0, 58, 0, 16, 0, 33, 0, 0, 0, 58, 0, 16, 0, 33, 0, 0, 0, 49, 0, 0, 7, 130, 0, 16, 0, 38, 0, 0, 0, 58, 0, 16, 0, 38, 0, 0, 0, 58, 0, 16, 0, 37, 0, 0, 0, 31, 0, 4, 3, 58, 0, 16, 0, 38, 0, 0, 0, 30, 0, 0, 7, 130, 0, 16, 0, 38, 0, 0, 0, 58, 0, 16, 0, 24, 0, 0, 0, 1, 64, 0, 0, 1, 0, 0, 0, 54, 0, 0, 5, 130, 0, 16, 0, 24, 0, 0, 0, 58, 0, 16, 0, 38, 0, 0, 0, 7, 0, 0, 1, 21, 0, 0, 1, 56, 0, 0, 7, 130, 0, 16, 0, 30, 0, 0, 0, 58, 0, 16, 0, 30, 0, 0, 0, 58, 0, 16, 0, 43, 0, 0, 0, 50, 0, 0, 10, 130, 0, 16, 0, 30, 0, 0, 0, 58, 0, 16, 128, 65, 0, 0, 0, 30, 0, 0, 0, 58, 0, 16, 0, 30, 0, 0, 0, 1, 64, 0, 0, 0, 0, 128, 63, 52, 0, 0, 7, 130, 0, 16, 0, 37, 0, 0, 0, 58, 0, 16, 0, 37, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 52, 68, 0, 0, 5, 130, 0, 16, 0, 38, 0, 0, 0, 58, 0, 16, 0, 37, 0, 0, 0, 56, 0, 0, 7, 130, 0, 16, 0, 26, 0, 0, 0, 58, 0, 16, 0, 26, 0, 0, 0, 58, 0, 16, 0, 37, 0, 0, 0, 50, 0, 0, 9, 130, 0, 16, 0, 26, 0, 0, 0, 58, 0, 16, 0, 26, 0, 0, 0, 58, 0, 16, 0, 38, 0, 0, 0, 58, 0, 16, 0, 36, 0, 0, 0, 49, 0, 0, 8, 130, 0, 16, 0, 25, 0, 0, 0, 58, 0, 16, 128, 129, 0, 0, 0, 26, 0, 0, 0, 58, 0, 16, 0, 25, 0, 0, 0, 50, 0, 0, 10, 114, 0, 16, 0, 42, 0, 0, 0, 246, 15, 16, 128, 65, 0, 0, 0, 26, 0, 0, 0, 70, 2, 16, 0, 43, 0, 0, 0, 70, 2, 16, 0, 42, 0, 0, 0, 56, 0, 0, 7, 130, 0, 16, 0, 26, 0, 0, 0, 58, 0, 16, 0, 33, 0, 0, 0, 58, 0, 16, 0, 38, 0, 0, 0, 50, 0, 0, 10, 130, 0, 16, 0, 26, 0, 0, 0, 58, 0, 16, 0, 26, 0, 0, 0, 58, 0, 16, 0, 30, 0, 0, 0, 58, 0, 16, 128, 65, 0, 0, 0, 30, 0, 0, 0, 50, 0, 0, 9, 114, 0, 16, 0, 42, 0, 0, 0, 70, 2, 16, 0, 42, 0, 0, 0, 246, 15, 16, 0, 26, 0, 0, 0, 150, 7, 16, 0, 28, 0, 0, 0, 0, 0, 0, 8, 114, 0, 16, 0, 38, 0, 0, 0, 70, 2, 16, 128, 65, 0, 0, 0, 37, 0, 0, 0, 70, 2, 16, 0, 38, 0, 0, 0, 50, 0, 0, 9, 114, 0, 16, 0, 37, 0, 0, 0, 6, 0, 16, 0, 19, 0, 0, 0, 70, 2, 16, 0, 38, 0, 0, 0, 70, 2, 16, 0, 37, 0, 0, 0, 0, 0, 0, 8, 114, 0, 16, 0, 36, 0, 0, 0, 70, 2, 16, 128, 65, 0, 0, 0, 40, 0, 0, 0, 70, 2, 16, 0, 36, 0, 0, 0, 50, 0, 0, 9, 114, 0, 16, 0, 36, 0, 0, 0, 6, 0, 16, 0, 19, 0, 0, 0, 70, 2, 16, 0, 36, 0, 0, 0, 70, 2, 16, 0, 40, 0, 0, 0, 50, 0, 0, 9, 130, 0, 16, 0, 26, 0, 0, 0, 58, 0, 16, 0, 36, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 63, 1, 64, 0, 0, 0, 0, 0, 63, 0, 0, 0, 8, 114, 0, 16, 0, 37, 0, 0, 0, 70, 2, 16, 128, 65, 0, 0, 0, 37, 0, 0, 0, 70, 2, 16, 0, 39, 0, 0, 0, 0, 0, 0, 8, 114, 0, 16, 0, 36, 0, 0, 0, 70, 2, 16, 128, 65, 0, 0, 0, 36, 0, 0, 0, 70, 2, 16, 0, 41, 0, 0, 0, 0, 0, 0, 8, 114, 0, 16, 0, 36, 0, 0, 0, 70, 2, 16, 128, 65, 0, 0, 0, 37, 0, 0, 0, 70, 2, 16, 0, 36, 0, 0, 0, 50, 0, 0, 9, 114, 0, 16, 0, 36, 0, 0, 0, 246, 15, 16, 0, 26, 0, 0, 0, 70, 2, 16, 0, 36, 0, 0, 0, 70, 2, 16, 0, 37, 0, 0, 0, 0, 0, 0, 7, 114, 0, 16, 0, 36, 0, 0, 0, 70, 2, 16, 0, 35, 0, 0, 0, 70, 2, 16, 0, 36, 0, 0, 0, 55, 0, 0, 9, 114, 0, 16, 0, 36, 0, 0, 0, 6, 0, 16, 0, 22, 0, 0, 0, 70, 2, 16, 0, 36, 0, 0, 0, 70, 2, 16, 0, 35, 0, 0, 0, 30, 0, 0, 7, 130, 0, 16, 0, 36, 0, 0, 0, 58, 0, 16, 0, 35, 0, 0, 0, 1, 64, 0, 0, 1, 0, 0, 0, 55, 0, 0, 9, 226, 0, 16, 0, 28, 0, 0, 0, 246, 15, 16, 0, 25, 0, 0, 0, 6, 9, 16, 0, 42, 0, 0, 0, 86, 14, 16, 0, 28, 0, 0, 0, 55, 0, 0, 9, 242, 0, 16, 0, 35, 0, 0, 0, 246, 15, 16, 0, 25, 0, 0, 0, 70, 14, 16, 0, 36, 0, 0, 0, 70, 14, 16, 0, 35, 0, 0, 0, 30, 0, 0, 7, 130, 0, 16, 0, 24, 0, 0, 0, 58, 0, 16, 0, 24, 0, 0, 0, 1, 64, 0, 0, 1, 0, 0, 0, 22, 0, 0, 1, 165, 0, 0, 7, 130, 0, 16, 0, 24, 0, 0, 0, 1, 64, 0, 0, 60, 0, 0, 0, 6, 240, 17, 0, 0, 0, 0, 0, 54, 0, 0, 5, 114, 0, 16, 0, 36, 0, 0, 0, 150, 7, 16, 0, 28, 0, 0, 0, 54, 0, 0, 5, 242, 0, 16, 0, 37, 0, 0, 0, 70, 14, 16, 0, 35, 0, 0, 0, 54, 0, 0, 5, 130, 0, 16, 0, 25, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 48, 0, 0, 1, 80, 0, 0, 7, 130, 0, 16, 0, 26, 0, 0, 0, 58, 0, 16, 0, 25, 0, 0, 0, 58, 0, 16, 0, 24, 0, 0, 0, 3, 0, 4, 3, 58, 0, 16, 0, 26, 0, 0, 0, 30, 0, 0, 7, 50, 0, 16, 0, 38, 0, 0, 0, 134, 0, 16, 0, 21, 0, 0, 0, 246, 15, 16, 0, 25, 0, 0, 0, 167, 0, 0, 139, 2, 131, 0, 128, 131, 153, 25, 0, 242, 0, 16, 0, 39, 0, 0, 0, 10, 0, 16, 0, 38, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 70, 126, 16, 0, 7, 0, 0, 0, 167, 0, 0, 139, 2, 131, 0, 128, 131, 153, 25, 0, 242, 0, 16, 0, 38, 0, 0, 0, 26, 0, 16, 0, 38, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 70, 126, 16, 0, 7, 0, 0, 0, 0, 0, 0, 8, 242, 0, 16, 0, 38, 0, 0, 0, 70, 14, 16, 128, 65, 0, 0, 0, 39, 0, 0, 0, 70, 14, 16, 0, 38, 0, 0, 0, 50, 0, 0, 9, 242, 0, 16, 0, 40, 0, 0, 0, 6, 0, 16, 0, 23, 0, 0, 0, 70, 14, 16, 0, 38, 0, 0, 0, 70, 14, 16, 0, 39, 0, 0, 0, 52, 0, 0, 7, 130, 0, 16, 0, 26, 0, 0, 0, 58, 0, 16, 0, 40, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 114, 0, 16, 0, 41, 0, 0, 0, 70, 2, 16, 0, 26, 0, 0, 0, 70, 2, 16, 128, 65, 0, 0, 0, 40, 0, 0, 0, 16, 0, 0, 7, 130, 0, 16, 0, 30, 0, 0, 0, 70, 2, 16, 0, 41, 0, 0, 0, 70, 2, 16, 0, 41, 0, 0, 0, 0, 0, 0, 7, 130, 0, 16, 0, 30, 0, 0, 0, 58, 0, 16, 0, 30, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 52, 68, 0, 0, 5, 130, 0, 16, 0, 30, 0, 0, 0, 58, 0, 16, 0, 30, 0, 0, 0, 56, 0, 0, 7, 130, 0, 16, 0, 33, 0, 0, 0, 58, 0, 16, 0, 26, 0, 0, 0, 58, 0, 16, 0, 30, 0, 0, 0, 49, 0, 0, 7, 130, 0, 16, 0, 33, 0, 0, 0, 1, 64, 0, 0, 0, 0, 128, 63, 58, 0, 16, 0, 33, 0, 0, 0, 50, 0, 0, 9, 130, 0, 16, 0, 26, 0, 0, 0, 58, 0, 16, 0, 30, 0, 0, 0, 58, 0, 16, 0, 26, 0, 0, 0, 1, 64, 0, 0, 0, 0, 128, 191, 50, 0, 0, 9, 114, 0, 16, 0, 41, 0, 0, 0, 70, 2, 16, 0, 41, 0, 0, 0, 246, 15, 16, 0, 26, 0, 0, 0, 70, 2, 16, 0, 36, 0, 0, 0, 50, 0, 0, 9, 114, 0, 16, 0, 38, 0, 0, 0, 6, 0, 16, 0, 19, 0, 0, 0, 70, 2, 16, 0, 38, 0, 0, 0, 70, 2, 16, 0, 39, 0, 0, 0, 0, 0, 0, 8, 114, 0, 16, 0, 38, 0, 0, 0, 70, 2, 16, 128, 65, 0, 0, 0, 38, 0, 0, 0, 70, 2, 16, 0, 40, 0, 0, 0, 0, 0, 0, 7, 114, 0, 16, 0, 38, 0, 0, 0, 70, 2, 16, 0, 37, 0, 0, 0, 70, 2, 16, 0, 38, 0, 0, 0, 55, 0, 0, 9, 114, 0, 16, 0, 38, 0, 0, 0, 6, 0, 16, 0, 22, 0, 0, 0, 70, 2, 16, 0, 38, 0, 0, 0, 70, 2, 16, 0, 37, 0, 0, 0, 30, 0, 0, 7, 130, 0, 16, 0, 38, 0, 0, 0, 58, 0, 16, 0, 37, 0, 0, 0, 1, 64, 0, 0, 1, 0, 0, 0, 55, 0, 0, 9, 114, 0, 16, 0, 36, 0, 0, 0, 246, 15, 16, 0, 33, 0, 0, 0, 70, 2, 16, 0, 41, 0, 0, 0, 70, 2, 16, 0, 36, 0, 0, 0, 55, 0, 0, 9, 242, 0, 16, 0, 37, 0, 0, 0, 246, 15, 16, 0, 33, 0, 0, 0, 70, 14, 16, 0, 38, 0, 0, 0, 70, 14, 16, 0, 37, 0, 0, 0, 30, 0, 0, 7, 130, 0, 16, 0, 25, 0, 0, 0, 58, 0, 16, 0, 25, 0, 0, 0, 1, 64, 0, 0, 1, 0, 0, 0, 22, 0, 0, 1, 31, 0, 4, 3, 58, 0, 16, 0, 37, 0, 0, 0, 86, 0, 0, 5, 130, 0, 16, 0, 24, 0, 0, 0, 58, 0, 16, 0, 37, 0, 0, 0, 14, 0, 0, 10, 130, 0, 16, 0, 24, 0, 0, 0, 2, 64, 0, 0, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 58, 0, 16, 0, 24, 0, 0, 0, 31, 0, 4, 3, 26, 0, 16, 0, 19, 0, 0, 0, 30, 0, 0, 7, 130, 0, 16, 0, 25, 0, 0, 0, 10, 0, 16, 0, 0, 0, 0, 0, 42, 0, 16, 0, 22, 0, 0, 0, 41, 0, 0, 7, 130, 0, 16, 0, 25, 0, 0, 0, 58, 0, 16, 0, 25, 0, 0, 0, 1, 64, 0, 0, 4, 0, 0, 0, 165, 0, 0, 137, 194, 2, 0, 128, 131, 153, 25, 0, 242, 0, 16, 0, 38, 0, 0, 0, 58, 0, 16, 0, 25, 0, 0, 0, 70, 238, 17, 0, 0, 0, 0, 0, 165, 0, 0, 7, 130, 0, 16, 0, 26, 0, 0, 0, 1, 64, 0, 0, 92, 0, 0, 0, 6, 240, 17, 0, 0, 0, 0, 0, 16, 0, 0, 7, 130, 0, 16, 0, 30, 0, 0, 0, 70, 2, 16, 0, 36, 0, 0, 0, 70, 2, 16, 0, 36, 0, 0, 0, 0, 0, 0, 7, 130, 0, 16, 0, 33, 0, 0, 0, 58, 0, 16, 0, 30, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 52, 68, 0, 0, 5, 130, 0, 16, 0, 33, 0, 0, 0, 58, 0, 16, 0, 33, 0, 0, 0, 56, 0, 0, 7, 114, 0, 16, 0, 39, 0, 0, 0, 246, 15, 16, 0, 33, 0, 0, 0, 70, 2, 16, 0, 36, 0, 0, 0, 0, 0, 0, 8, 114, 0, 16, 0, 40, 0, 0, 0, 70, 2, 16, 0, 26, 0, 0, 0, 70, 2, 16, 128, 65, 0, 0, 0, 38, 0, 0, 0, 50, 0, 0, 10, 114, 0, 16, 0, 40, 0, 0, 0, 70, 2, 16, 128, 65, 0, 0, 0, 37, 0, 0, 0, 246, 15, 16, 0, 24, 0, 0, 0, 70, 2, 16, 0, 40, 0, 0, 0, 16, 0, 0, 7, 130, 0, 16, 0, 36, 0, 0, 0, 70, 2, 16, 0, 40, 0, 0, 0, 70, 2, 16, 0, 39, 0, 0, 0, 50, 0, 0, 10, 114, 0, 16, 0, 39, 0, 0, 0, 246, 15, 16, 128, 65, 0, 0, 0, 36, 0, 0, 0, 70, 2, 16, 0, 39, 0, 0, 0, 70, 2, 16, 0, 40, 0, 0, 0, 16, 0, 0, 7, 130, 0, 16, 0, 36, 0, 0, 0, 70, 2, 16, 0, 39, 0, 0, 0, 70, 2, 16, 0, 39, 0, 0, 0, 0, 0, 0, 7, 130, 0, 16, 0, 36, 0, 0, 0, 58, 0, 16, 0, 36, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 52, 68, 0, 0, 5, 130, 0, 16, 0, 36, 0, 0, 0, 58, 0, 16, 0, 36, 0, 0, 0, 56, 0, 0, 8, 130, 0, 16, 0, 26, 0, 0, 0, 58, 0, 16, 128, 65, 0, 0, 0, 26, 0, 0, 0, 58, 0, 16, 0, 30, 0, 0, 0, 56, 0, 0, 7, 130, 0, 16, 0, 26, 0, 0, 0, 58, 0, 16, 0, 33, 0, 0, 0, 58, 0, 16, 0, 26, 0, 0, 0, 56, 0, 0, 7, 130, 0, 16, 0, 26, 0, 0, 0, 58, 0, 16, 0, 24, 0, 0, 0, 58, 0, 16, 0, 26, 0, 0, 0, 56, 0, 0, 7, 130, 0, 16, 0, 26, 0, 0, 0, 58, 0, 16, 0, 36, 0, 0, 0, 58, 0, 16, 0, 26, 0, 0, 0, 52, 0, 0, 7, 130, 0, 16, 0, 26, 0, 0, 0, 58, 0, 16, 0, 26, 0, 0, 0, 1, 64, 0, 0, 0, 0, 128, 191, 50, 0, 0, 10, 114, 0, 16, 0, 38, 0, 0, 0, 70, 2, 16, 128, 65, 0, 0, 0, 39, 0, 0, 0, 246, 15, 16, 0, 26, 0, 0, 0, 70, 2, 16, 0, 38, 0, 0, 0, 166, 0, 0, 7, 242, 224, 17, 0, 0, 0, 0, 0, 58, 0, 16, 0, 25, 0, 0, 0, 70, 14, 16, 0, 38, 0, 0, 0, 21, 0, 0, 1, 50, 0, 0, 9, 114, 0, 16, 0, 26, 0, 0, 0, 70, 2, 16, 0, 36, 0, 0, 0, 246, 15, 16, 0, 24, 0, 0, 0, 70, 2, 16, 0, 26, 0, 0, 0, 16, 0, 0, 7, 130, 0, 16, 0, 24, 0, 0, 0, 70, 2, 16, 0, 36, 0, 0, 0, 70, 2, 16, 0, 36, 0, 0, 0, 165, 0, 0, 7, 130, 0, 16, 0, 25, 0, 0, 0, 1, 64, 0, 0, 88, 0, 0, 0, 6, 240, 17, 0, 0, 0, 0, 0, 50, 0, 0, 9, 130, 0, 16, 0, 24, 0, 0, 0, 58, 0, 16, 0, 25, 0, 0, 0, 58, 0, 16, 0, 24, 0, 0, 0, 1, 64, 0, 0, 0, 0, 128, 63, 14, 0, 0, 7, 130, 0, 16, 0, 24, 0, 0, 0, 42, 0, 16, 0, 24, 0, 0, 0, 58, 0, 16, 0, 24, 0, 0, 0, 55, 0, 0, 9, 66, 0, 16, 0, 24, 0, 0, 0, 42, 0, 16, 0, 19, 0, 0, 0, 58, 0, 16, 0, 24, 0, 0, 0, 42, 0, 16, 0, 24, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 42, 0, 16, 0, 22, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 10, 0, 16, 0, 26, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 10, 0, 16, 0, 32, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 26, 0, 16, 0, 26, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 26, 0, 16, 0, 32, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 42, 0, 16, 0, 26, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 42, 0, 16, 0, 32, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 42, 0, 16, 0, 24, 0, 0, 0, 21, 0, 0, 1, 54, 0, 0, 5, 66, 0, 16, 0, 22, 0, 0, 0, 58, 0, 16, 0, 32, 0, 0, 0, 22, 0, 0, 1, 21, 0, 0, 1, 165, 0, 0, 7, 34, 0, 16, 0, 19, 0, 0, 0, 1, 64, 0, 0, 80, 0, 0, 0, 6, 240, 17, 0, 0, 0, 0, 0, 31, 0, 4, 3, 26, 0, 16, 0, 19, 0, 0, 0, 165, 0, 0, 7, 82, 0, 16, 0, 20, 0, 0, 0, 1, 64, 0, 0, 88, 0, 0, 0, 6, 241, 17, 0, 0, 0, 0, 0, 49, 0, 0, 10, 82, 0, 16, 0, 20, 0, 0, 0, 2, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 166, 8, 16, 0, 20, 0, 0, 0, 54, 0, 0, 5, 66, 0, 16, 0, 19, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 54, 0, 0, 5, 18, 0, 16, 0, 21, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 48, 0, 0, 1, 80, 0, 0, 7, 66, 0, 16, 0, 21, 0, 0, 0, 10, 0, 16, 0, 21, 0, 0, 0, 26, 0, 16, 0, 19, 0, 0, 0, 3, 0, 4, 3, 42, 0, 16, 0, 21, 0, 0, 0, 190, 24, 0, 1, 30, 0, 0, 7, 66, 0, 16, 0, 21, 0, 0, 0, 42, 0, 16, 0, 4, 0, 0, 0, 42, 0, 16, 0, 19, 0, 0, 0, 167, 0, 0, 139, 2, 35, 0, 128, 131, 153, 25, 0, 18, 0, 16, 0, 22, 0, 0, 0, 10, 0, 16, 0, 21, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 112, 16, 0, 18, 0, 0, 0, 41, 0, 0, 7, 18, 0, 16, 0, 22, 0, 0, 0, 10, 0, 16, 0, 22, 0, 0, 0, 1, 64, 0, 0, 2, 0, 0, 0, 30, 0, 0, 7, 66, 0, 16, 0, 19, 0, 0, 0, 42, 0, 16, 0, 19, 0, 0, 0, 10, 0, 16, 0, 22, 0, 0, 0, 165, 0, 0, 7, 82, 0, 16, 0, 22, 0, 0, 0, 1, 64, 0, 0, 96, 0, 0, 0, 6, 241, 17, 0, 1, 0, 0, 0, 165, 0, 0, 7, 18, 0, 16, 0, 24, 0, 0, 0, 1, 64, 0, 0, 92, 0, 0, 0, 6, 240, 17, 0, 0, 0, 0, 0, 49, 0, 0, 7, 34, 0, 16, 0, 24, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 10, 0, 16, 0, 24, 0, 0, 0, 165, 0, 0, 7, 194, 0, 16, 0, 24, 0, 0, 0, 1, 64, 0, 0, 52, 0, 0, 0, 6, 244, 17, 0, 0, 0, 0, 0, 54, 0, 0, 5, 130, 0, 16, 0, 25, 0, 0, 0, 42, 0, 16, 0, 21, 0, 0, 0, 48, 0, 0, 1, 80, 0, 0, 7, 18, 0, 16, 0, 26, 0, 0, 0, 58, 0, 16, 0, 25, 0, 0, 0, 42, 0, 16, 0, 19, 0, 0, 0, 3, 0, 4, 3, 10, 0, 16, 0, 26, 0, 0, 0, 85, 0, 0, 7, 18, 0, 16, 0, 26, 0, 0, 0, 58, 0, 16, 0, 25, 0, 0, 0, 1, 64, 0, 0, 1, 0, 0, 0, 167, 0, 0, 139, 2, 131, 0, 128, 131, 153, 25, 0, 242, 0, 16, 0, 26, 0, 0, 0, 10, 0, 16, 0, 26, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 70, 126, 16, 0, 19, 0, 0, 0, 1, 0, 0, 7, 130, 0, 16, 0, 30, 0, 0, 0, 58, 0, 16, 0, 25, 0, 0, 0, 1, 64, 0, 0, 1, 0, 0, 0, 1, 0, 0, 10, 242, 0, 16, 0, 32, 0, 0, 0, 230, 4, 16, 0, 26, 0, 0, 0, 2, 64, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 85, 0, 0, 10, 242, 0, 16, 0, 26, 0, 0, 0, 38, 7, 16, 0, 26, 0, 0, 0, 2, 64, 0, 0, 16, 0, 0, 0, 16, 0, 0, 0, 16, 0, 0, 0, 16, 0, 0, 0, 54, 0, 0, 5, 82, 0, 16, 0, 38, 0, 0, 0, 6, 1, 16, 0, 32, 0, 0, 0, 54, 0, 0, 5, 162, 0, 16, 0, 38, 0, 0, 0, 6, 8, 16, 0, 26, 0, 0, 0, 54, 0, 0, 5, 82, 0, 16, 0, 26, 0, 0, 0, 166, 11, 16, 0, 32, 0, 0, 0, 55, 0, 0, 9, 242, 0, 16, 0, 26, 0, 0, 0, 246, 15, 16, 0, 30, 0, 0, 0, 70, 14, 16, 0, 38, 0, 0, 0, 70, 14, 16, 0, 26, 0, 0, 0, 167, 0, 0, 139, 2, 131, 0, 128, 131, 153, 25, 0, 242, 0, 16, 0, 32, 0, 0, 0, 58, 0, 16, 0, 26, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 70, 126, 16, 0, 20, 0, 0, 0, 167, 0, 0, 9, 130, 0, 16, 0, 26, 0, 0, 0, 10, 0, 16, 0, 26, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 30, 0, 0, 10, 242, 0, 16, 0, 38, 0, 0, 0, 6, 5, 16, 0, 26, 0, 0, 0, 2, 64, 0, 0, 177, 7, 0, 0, 98, 15, 0, 0, 177, 7, 0, 0, 98, 15, 0, 0, 167, 0, 0, 9, 130, 0, 16, 0, 30, 0, 0, 0, 10, 0, 16, 0, 38, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 130, 0, 16, 0, 33, 0, 0, 0, 26, 0, 16, 0, 38, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 130, 0, 16, 0, 36, 0, 0, 0, 26, 0, 16, 0, 26, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 18, 0, 16, 0, 39, 0, 0, 0, 42, 0, 16, 0, 38, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 34, 0, 16, 0, 39, 0, 0, 0, 58, 0, 16, 0, 38, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 66, 0, 16, 0, 39, 0, 0, 0, 42, 0, 16, 0, 26, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 30, 0, 0, 10, 50, 0, 16, 0, 40, 0, 0, 0, 166, 10, 16, 0, 26, 0, 0, 0, 2, 64, 0, 0, 177, 7, 0, 0, 98, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 167, 0, 0, 9, 130, 0, 16, 0, 39, 0, 0, 0, 10, 0, 16, 0, 40, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 66, 0, 16, 0, 40, 0, 0, 0, 26, 0, 16, 0, 40, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 56, 0, 0, 7, 130, 0, 16, 0, 36, 0, 0, 0, 26, 0, 16, 0, 32, 0, 0, 0, 58, 0, 16, 0, 36, 0, 0, 0, 50, 0, 0, 9, 130, 0, 16, 0, 26, 0, 0, 0, 58, 0, 16, 0, 26, 0, 0, 0, 10, 0, 16, 0, 32, 0, 0, 0, 58, 0, 16, 0, 36, 0, 0, 0, 50, 0, 0, 9, 18, 0, 16, 0, 41, 0, 0, 0, 42, 0, 16, 0, 39, 0, 0, 0, 42, 0, 16, 0, 32, 0, 0, 0, 58, 0, 16, 0, 26, 0, 0, 0, 56, 0, 0, 7, 130, 0, 16, 0, 26, 0, 0, 0, 26, 0, 16, 0, 32, 0, 0, 0, 10, 0, 16, 0, 39, 0, 0, 0, 50, 0, 0, 9, 130, 0, 16, 0, 26, 0, 0, 0, 58, 0, 16, 0, 30, 0, 0, 0, 10, 0, 16, 0, 32, 0, 0, 0, 58, 0, 16, 0, 26, 0, 0, 0, 50, 0, 0, 9, 34, 0, 16, 0, 41, 0, 0, 0, 58, 0, 16, 0, 39, 0, 0, 0, 42, 0, 16, 0, 32, 0, 0, 0, 58, 0, 16, 0, 26, 0, 0, 0, 56, 0, 0, 7, 130, 0, 16, 0, 26, 0, 0, 0, 26, 0, 16, 0, 32, 0, 0, 0, 26, 0, 16, 0, 39, 0, 0, 0, 50, 0, 0, 9, 130, 0, 16, 0, 26, 0, 0, 0, 58, 0, 16, 0, 33, 0, 0, 0, 10, 0, 16, 0, 32, 0, 0, 0, 58, 0, 16, 0, 26, 0, 0, 0, 50, 0, 0, 9, 66, 0, 16, 0, 41, 0, 0, 0, 42, 0, 16, 0, 40, 0, 0, 0, 42, 0, 16, 0, 32, 0, 0, 0, 58, 0, 16, 0, 26, 0, 0, 0, 54, 0, 0, 8, 114, 0, 16, 0, 39, 0, 0, 0, 2, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 54, 0, 0, 8, 242, 0, 16, 0, 42, 0, 0, 0, 2, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 54, 0, 0, 5, 130, 0, 16, 0, 26, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 48, 0, 0, 1, 80, 0, 0, 7, 130, 0, 16, 0, 30, 0, 0, 0, 58, 0, 16, 0, 26, 0, 0, 0, 42, 0, 16, 0, 24, 0, 0, 0, 3, 0, 4, 3, 58, 0, 16, 0, 30, 0, 0, 0, 30, 0, 0, 7, 130, 0, 16, 0, 30, 0, 0, 0, 58, 0, 16, 0, 24, 0, 0, 0, 58, 0, 16, 0, 26, 0, 0, 0, 167, 0, 0, 139, 2, 67, 0, 128, 131, 153, 25, 0, 194, 0, 16, 0, 40, 0, 0, 0, 58, 0, 16, 0, 30, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 116, 16, 0, 6, 0, 0, 0, 30, 0, 0, 7, 242, 0, 16, 0, 43, 0, 0, 0, 134, 8, 16, 0, 22, 0, 0, 0, 166, 15, 16, 0, 40, 0, 0, 0, 167, 0, 0, 139, 2, 131, 0, 128, 131, 153, 25, 0, 242, 0, 16, 0, 44, 0, 0, 0, 10, 0, 16, 0, 43, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 70, 126, 16, 0, 7, 0, 0, 0, 167, 0, 0, 139, 2, 131, 0, 128, 131, 153, 25, 0, 242, 0, 16, 0, 45, 0, 0, 0, 26, 0, 16, 0, 43, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 70, 126, 16, 0, 7, 0, 0, 0, 0, 0, 0, 8, 242, 0, 16, 0, 46, 0, 0, 0, 70, 14, 16, 128, 65, 0, 0, 0, 44, 0, 0, 0, 70, 14, 16, 0, 45, 0, 0, 0, 50, 0, 0, 9, 242, 0, 16, 0, 46, 0, 0, 0, 6, 0, 16, 0, 23, 0, 0, 0, 70, 14, 16, 0, 46, 0, 0, 0, 70, 14, 16, 0, 44, 0, 0, 0, 167, 0, 0, 139, 2, 131, 0, 128, 131, 153, 25, 0, 242, 0, 16, 0, 47, 0, 0, 0, 42, 0, 16, 0, 43, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 70, 126, 16, 0, 7, 0, 0, 0, 167, 0, 0, 139, 2, 131, 0, 128, 131, 153, 25, 0, 242, 0, 16, 0, 43, 0, 0, 0, 58, 0, 16, 0, 43, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 70, 126, 16, 0, 7, 0, 0, 0, 0, 0, 0, 8, 242, 0, 16, 0, 48, 0, 0, 0, 70, 14, 16, 128, 65, 0, 0, 0, 47, 0, 0, 0, 70, 14, 16, 0, 43, 0, 0, 0, 50, 0, 0, 9, 242, 0, 16, 0, 48, 0, 0, 0, 6, 0, 16, 0, 23, 0, 0, 0, 70, 14, 16, 0, 48, 0, 0, 0, 70, 14, 16, 0, 47, 0, 0, 0, 52, 0, 0, 7, 130, 0, 16, 0, 46, 0, 0, 0, 58, 0, 16, 0, 46, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 52, 0, 0, 7, 130, 0, 16, 0, 48, 0, 0, 0, 58, 0, 16, 0, 48, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 242, 0, 16, 0, 49, 0, 0, 0, 70, 14, 16, 128, 65, 0, 0, 0, 46, 0, 0, 0, 70, 14, 16, 0, 48, 0, 0, 0, 56, 0, 0, 10, 242, 0, 16, 0, 50, 0, 0, 0, 70, 14, 16, 0, 49, 0, 0, 0, 2, 64, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 16, 0, 0, 7, 130, 0, 16, 0, 30, 0, 0, 0, 70, 2, 16, 0, 50, 0, 0, 0, 70, 2, 16, 0, 50, 0, 0, 0, 50, 0, 0, 10, 130, 0, 16, 0, 33, 0, 0, 0, 58, 0, 16, 128, 65, 0, 0, 0, 50, 0, 0, 0, 58, 0, 16, 0, 50, 0, 0, 0, 58, 0, 16, 0, 30, 0, 0, 0, 29, 0, 0, 7, 130, 0, 16, 0, 36, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 58, 0, 16, 0, 33, 0, 0, 0, 31, 0, 4, 3, 58, 0, 16, 0, 36, 0, 0, 0, 30, 0, 0, 7, 130, 0, 16, 0, 36, 0, 0, 0, 58, 0, 16, 0, 26, 0, 0, 0, 1, 64, 0, 0, 1, 0, 0, 0, 54, 0, 0, 5, 130, 0, 16, 0, 26, 0, 0, 0, 58, 0, 16, 0, 36, 0, 0, 0, 7, 0, 0, 1, 21, 0, 0, 1, 68, 0, 0, 5, 130, 0, 16, 0, 36, 0, 0, 0, 58, 0, 16, 0, 30, 0, 0, 0, 68, 0, 0, 5, 130, 0, 16, 0, 33, 0, 0, 0, 58, 0, 16, 0, 33, 0, 0, 0, 56, 0, 0, 7, 130, 0, 16, 0, 30, 0, 0, 0, 58, 0, 16, 0, 30, 0, 0, 0, 58, 0, 16, 0, 36, 0, 0, 0, 0, 0, 0, 7, 114, 0, 16, 0, 49, 0, 0, 0, 70, 2, 16, 0, 46, 0, 0, 0, 70, 2, 16, 0, 48, 0, 0, 0, 50, 0, 0, 9, 130, 0, 16, 0, 39, 0, 0, 0, 58, 0, 16, 0, 49, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 63, 58, 0, 16, 0, 46, 0, 0, 0, 56, 0, 0, 7, 130, 0, 16, 0, 39, 0, 0, 0, 58, 0, 16, 0, 33, 0, 0, 0, 58, 0, 16, 0, 39, 0, 0, 0, 56, 0, 0, 7, 130, 0, 16, 0, 39, 0, 0, 0, 58, 0, 16, 0, 30, 0, 0, 0, 58, 0, 16, 0, 39, 0, 0, 0, 56, 0, 0, 7, 114, 0, 16, 0, 50, 0, 0, 0, 246, 15, 16, 0, 36, 0, 0, 0, 70, 2, 16, 0, 50, 0, 0, 0, 56, 0, 0, 7, 130, 0, 16, 0, 33, 0, 0, 0, 58, 0, 16, 0, 33, 0, 0, 0, 58, 0, 16, 0, 50, 0, 0, 0, 50, 0, 0, 13, 114, 0, 16, 0, 49, 0, 0, 0, 70, 2, 16, 128, 65, 0, 0, 0, 49, 0, 0, 0, 2, 64, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 0, 70, 2, 16, 0, 41, 0, 0, 0, 16, 0, 0, 7, 66, 0, 16, 0, 40, 0, 0, 0, 70, 2, 16, 0, 49, 0, 0, 0, 70, 2, 16, 0, 50, 0, 0, 0, 50, 0, 0, 9, 130, 0, 16, 0, 39, 0, 0, 0, 42, 0, 16, 0, 40, 0, 0, 0, 58, 0, 16, 0, 33, 0, 0, 0, 58, 0, 16, 0, 39, 0, 0, 0, 52, 0, 0, 7, 130, 0, 16, 0, 39, 0, 0, 0, 58, 0, 16, 0, 39, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 16, 0, 0, 7, 130, 0, 16, 0, 40, 0, 0, 0, 70, 2, 16, 0, 49, 0, 0, 0, 70, 2, 16, 0, 49, 0, 0, 0, 50, 0, 0, 10, 130, 0, 16, 0, 40, 0, 0, 0, 42, 0, 16, 128, 65, 0, 0, 0, 40, 0, 0, 0, 42, 0, 16, 0, 40, 0, 0, 0, 58, 0, 16, 0, 40, 0, 0, 0, 56, 0, 0, 7, 130, 0, 16, 0, 41, 0, 0, 0, 58, 0, 16, 0, 39, 0, 0, 0, 58, 0, 16, 0, 39, 0, 0, 0, 49, 0, 0, 7, 130, 0, 16, 0, 41, 0, 0, 0, 58, 0, 16, 0, 41, 0, 0, 0, 58, 0, 16, 0, 40, 0, 0, 0, 31, 0, 4, 3, 58, 0, 16, 0, 41, 0, 0, 0, 30, 0, 0, 7, 130, 0, 16, 0, 41, 0, 0, 0, 58, 0, 16, 0, 26, 0, 0, 0, 1, 64, 0, 0, 1, 0, 0, 0, 54, 0, 0, 5, 130, 0, 16, 0, 26, 0, 0, 0, 58, 0, 16, 0, 41, 0, 0, 0, 7, 0, 0, 1, 21, 0, 0, 1, 56, 0, 0, 7, 130, 0, 16, 0, 36, 0, 0, 0, 58, 0, 16, 0, 36, 0, 0, 0, 58, 0, 16, 0, 50, 0, 0, 0, 50, 0, 0, 10, 130, 0, 16, 0, 36, 0, 0, 0, 58, 0, 16, 128, 65, 0, 0, 0, 36, 0, 0, 0, 58, 0, 16, 0, 36, 0, 0, 0, 1, 64, 0, 0, 0, 0, 128, 63, 52, 0, 0, 7, 130, 0, 16, 0, 40, 0, 0, 0, 58, 0, 16, 0, 40, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 52, 68, 0, 0, 5, 130, 0, 16, 0, 41, 0, 0, 0, 58, 0, 16, 0, 40, 0, 0, 0, 56, 0, 0, 7, 130, 0, 16, 0, 33, 0, 0, 0, 58, 0, 16, 0, 33, 0, 0, 0, 58, 0, 16, 0, 40, 0, 0, 0, 50, 0, 0, 9, 130, 0, 16, 0, 33, 0, 0, 0, 58, 0, 16, 0, 33, 0, 0, 0, 58, 0, 16, 0, 41, 0, 0, 0, 42, 0, 16, 0, 40, 0, 0, 0, 49, 0, 0, 8, 130, 0, 16, 0, 30, 0, 0, 0, 58, 0, 16, 128, 129, 0, 0, 0, 33, 0, 0, 0, 58, 0, 16, 0, 30, 0, 0, 0, 50, 0, 0, 10, 114, 0, 16, 0, 49, 0, 0, 0, 246, 15, 16, 128, 65, 0, 0, 0, 33, 0, 0, 0, 70, 2, 16, 0, 50, 0, 0, 0, 70, 2, 16, 0, 49, 0, 0, 0, 56, 0, 0, 7, 130, 0, 16, 0, 33, 0, 0, 0, 58, 0, 16, 0, 39, 0, 0, 0, 58, 0, 16, 0, 41, 0, 0, 0, 50, 0, 0, 10, 130, 0, 16, 0, 33, 0, 0, 0, 58, 0, 16, 0, 33, 0, 0, 0, 58, 0, 16, 0, 36, 0, 0, 0, 58, 0, 16, 128, 65, 0, 0, 0, 36, 0, 0, 0, 50, 0, 0, 9, 114, 0, 16, 0, 49, 0, 0, 0, 70, 2, 16, 0, 49, 0, 0, 0, 246, 15, 16, 0, 33, 0, 0, 0, 70, 2, 16, 0, 39, 0, 0, 0, 0, 0, 0, 8, 114, 0, 16, 0, 45, 0, 0, 0, 70, 2, 16, 128, 65, 0, 0, 0, 44, 0, 0, 0, 70, 2, 16, 0, 45, 0, 0, 0, 50, 0, 0, 9, 114, 0, 16, 0, 44, 0, 0, 0, 6, 0, 16, 0, 19, 0, 0, 0, 70, 2, 16, 0, 45, 0, 0, 0, 70, 2, 16, 0, 44, 0, 0, 0, 0, 0, 0, 8, 114, 0, 16, 0, 43, 0, 0, 0, 70, 2, 16, 128, 65, 0, 0, 0, 47, 0, 0, 0, 70, 2, 16, 0, 43, 0, 0, 0, 50, 0, 0, 9, 114, 0, 16, 0, 43, 0, 0, 0, 6, 0, 16, 0, 19, 0, 0, 0, 70, 2, 16, 0, 43, 0, 0, 0, 70, 2, 16, 0, 47, 0, 0, 0, 50, 0, 0, 9, 130, 0, 16, 0, 33, 0, 0, 0, 42, 0, 16, 0, 40, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 63, 1, 64, 0, 0, 0, 0, 0, 63, 0, 0, 0, 8, 114, 0, 16, 0, 44, 0, 0, 0, 70, 2, 16, 128, 65, 0, 0, 0, 44, 0, 0, 0, 70, 2, 16, 0, 46, 0, 0, 0, 0, 0, 0, 8, 114, 0, 16, 0, 43, 0, 0, 0, 70, 2, 16, 128, 65, 0, 0, 0, 43, 0, 0, 0, 70, 2, 16, 0, 48, 0, 0, 0, 0, 0, 0, 8, 114, 0, 16, 0, 43, 0, 0, 0, 70, 2, 16, 128, 65, 0, 0, 0, 44, 0, 0, 0, 70, 2, 16, 0, 43, 0, 0, 0, 50, 0, 0, 9, 114, 0, 16, 0, 43, 0, 0, 0, 246, 15, 16, 0, 33, 0, 0, 0, 70, 2, 16, 0, 43, 0, 0, 0, 70, 2, 16, 0, 44, 0, 0, 0, 0, 0, 0, 7, 114, 0, 16, 0, 43, 0, 0, 0, 70, 2, 16, 0, 42, 0, 0, 0, 70, 2, 16, 0, 43, 0, 0, 0, 55, 0, 0, 9, 114, 0, 16, 0, 43, 0, 0, 0, 86, 5, 16, 0, 24, 0, 0, 0, 70, 2, 16, 0, 43, 0, 0, 0, 70, 2, 16, 0, 42, 0, 0, 0, 30, 0, 0, 7, 130, 0, 16, 0, 43, 0, 0, 0, 58, 0, 16, 0, 42, 0, 0, 0, 1, 64, 0, 0, 1, 0, 0, 0, 55, 0, 0, 9, 114, 0, 16, 0, 39, 0, 0, 0, 246, 15, 16, 0, 30, 0, 0, 0, 70, 2, 16, 0, 49, 0, 0, 0, 70, 2, 16, 0, 39, 0, 0, 0, 55, 0, 0, 9, 242, 0, 16, 0, 42, 0, 0, 0, 246, 15, 16, 0, 30, 0, 0, 0, 70, 14, 16, 0, 43, 0, 0, 0, 70, 14, 16, 0, 42, 0, 0, 0, 30, 0, 0, 7, 130, 0, 16, 0, 26, 0, 0, 0, 58, 0, 16, 0, 26, 0, 0, 0, 1, 64, 0, 0, 1, 0, 0, 0, 22, 0, 0, 1, 165, 0, 0, 7, 130, 0, 16, 0, 26, 0, 0, 0, 1, 64, 0, 0, 60, 0, 0, 0, 6, 240, 17, 0, 0, 0, 0, 0, 54, 0, 0, 5, 114, 0, 16, 0, 43, 0, 0, 0, 70, 2, 16, 0, 39, 0, 0, 0, 54, 0, 0, 5, 242, 0, 16, 0, 44, 0, 0, 0, 70, 14, 16, 0, 42, 0, 0, 0, 54, 0, 0, 5, 130, 0, 16, 0, 30, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 48, 0, 0, 1, 80, 0, 0, 7, 130, 0, 16, 0, 33, 0, 0, 0, 58, 0, 16, 0, 30, 0, 0, 0, 58, 0, 16, 0, 26, 0, 0, 0, 3, 0, 4, 3, 58, 0, 16, 0, 33, 0, 0, 0, 30, 0, 0, 7, 194, 0, 16, 0, 40, 0, 0, 0, 6, 8, 16, 0, 22, 0, 0, 0, 246, 15, 16, 0, 30, 0, 0, 0, 167, 0, 0, 139, 2, 131, 0, 128, 131, 153, 25, 0, 242, 0, 16, 0, 45, 0, 0, 0, 42, 0, 16, 0, 40, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 70, 126, 16, 0, 7, 0, 0, 0, 167, 0, 0, 139, 2, 131, 0, 128, 131, 153, 25, 0, 242, 0, 16, 0, 46, 0, 0, 0, 58, 0, 16, 0, 40, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 70, 126, 16, 0, 7, 0, 0, 0, 0, 0, 0, 8, 242, 0, 16, 0, 46, 0, 0, 0, 70, 14, 16, 128, 65, 0, 0, 0, 45, 0, 0, 0, 70, 14, 16, 0, 46, 0, 0, 0, 50, 0, 0, 9, 242, 0, 16, 0, 47, 0, 0, 0, 6, 0, 16, 0, 23, 0, 0, 0, 70, 14, 16, 0, 46, 0, 0, 0, 70, 14, 16, 0, 45, 0, 0, 0, 52, 0, 0, 7, 130, 0, 16, 0, 33, 0, 0, 0, 58, 0, 16, 0, 47, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 114, 0, 16, 0, 48, 0, 0, 0, 70, 2, 16, 0, 41, 0, 0, 0, 70, 2, 16, 128, 65, 0, 0, 0, 47, 0, 0, 0, 16, 0, 0, 7, 130, 0, 16, 0, 36, 0, 0, 0, 70, 2, 16, 0, 48, 0, 0, 0, 70, 2, 16, 0, 48, 0, 0, 0, 0, 0, 0, 7, 130, 0, 16, 0, 36, 0, 0, 0, 58, 0, 16, 0, 36, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 52, 68, 0, 0, 5, 130, 0, 16, 0, 36, 0, 0, 0, 58, 0, 16, 0, 36, 0, 0, 0, 56, 0, 0, 7, 130, 0, 16, 0, 39, 0, 0, 0, 58, 0, 16, 0, 33, 0, 0, 0, 58, 0, 16, 0, 36, 0, 0, 0, 49, 0, 0, 7, 130, 0, 16, 0, 39, 0, 0, 0, 1, 64, 0, 0, 0, 0, 128, 63, 58, 0, 16, 0, 39, 0, 0, 0, 50, 0, 0, 9, 130, 0, 16, 0, 33, 0, 0, 0, 58, 0, 16, 0, 36, 0, 0, 0, 58, 0, 16, 0, 33, 0, 0, 0, 1, 64, 0, 0, 0, 0, 128, 191, 50, 0, 0, 9, 114, 0, 16, 0, 48, 0, 0, 0, 70, 2, 16, 0, 48, 0, 0, 0, 246, 15, 16, 0, 33, 0, 0, 0, 70, 2, 16, 0, 43, 0, 0, 0, 50, 0, 0, 9, 114, 0, 16, 0, 45, 0, 0, 0, 6, 0, 16, 0, 19, 0, 0, 0, 70, 2, 16, 0, 46, 0, 0, 0, 70, 2, 16, 0, 45, 0, 0, 0, 0, 0, 0, 8, 114, 0, 16, 0, 45, 0, 0, 0, 70, 2, 16, 128, 65, 0, 0, 0, 45, 0, 0, 0, 70, 2, 16, 0, 47, 0, 0, 0, 0, 0, 0, 7, 114, 0, 16, 0, 45, 0, 0, 0, 70, 2, 16, 0, 44, 0, 0, 0, 70, 2, 16, 0, 45, 0, 0, 0, 55, 0, 0, 9, 114, 0, 16, 0, 45, 0, 0, 0, 86, 5, 16, 0, 24, 0, 0, 0, 70, 2, 16, 0, 45, 0, 0, 0, 70, 2, 16, 0, 44, 0, 0, 0, 30, 0, 0, 7, 130, 0, 16, 0, 45, 0, 0, 0, 58, 0, 16, 0, 44, 0, 0, 0, 1, 64, 0, 0, 1, 0, 0, 0, 55, 0, 0, 9, 114, 0, 16, 0, 43, 0, 0, 0, 246, 15, 16, 0, 39, 0, 0, 0, 70, 2, 16, 0, 48, 0, 0, 0, 70, 2, 16, 0, 43, 0, 0, 0, 55, 0, 0, 9, 242, 0, 16, 0, 44, 0, 0, 0, 246, 15, 16, 0, 39, 0, 0, 0, 70, 14, 16, 0, 45, 0, 0, 0, 70, 14, 16, 0, 44, 0, 0, 0, 30, 0, 0, 7, 130, 0, 16, 0, 30, 0, 0, 0, 58, 0, 16, 0, 30, 0, 0, 0, 1, 64, 0, 0, 1, 0, 0, 0, 22, 0, 0, 1, 31, 0, 4, 3, 58, 0, 16, 0, 44, 0, 0, 0, 86, 0, 0, 5, 130, 0, 16, 0, 26, 0, 0, 0, 58, 0, 16, 0, 44, 0, 0, 0, 14, 0, 0, 10, 130, 0, 16, 0, 26, 0, 0, 0, 2, 64, 0, 0, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 58, 0, 16, 0, 26, 0, 0, 0, 167, 0, 0, 9, 130, 0, 16, 0, 30, 0, 0, 0, 10, 0, 16, 0, 26, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 130, 0, 16, 0, 33, 0, 0, 0, 10, 0, 16, 0, 38, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 130, 0, 16, 0, 36, 0, 0, 0, 26, 0, 16, 0, 38, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 30, 0, 0, 10, 114, 0, 16, 0, 45, 0, 0, 0, 70, 2, 16, 0, 26, 0, 0, 0, 2, 64, 0, 0, 19, 23, 0, 0, 19, 23, 0, 0, 19, 23, 0, 0, 0, 0, 0, 0, 167, 0, 0, 9, 130, 0, 16, 0, 39, 0, 0, 0, 10, 0, 16, 0, 45, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 66, 0, 16, 0, 40, 0, 0, 0, 26, 0, 16, 0, 26, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 130, 0, 16, 0, 40, 0, 0, 0, 42, 0, 16, 0, 38, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 130, 0, 16, 0, 41, 0, 0, 0, 58, 0, 16, 0, 38, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 130, 0, 16, 0, 43, 0, 0, 0, 26, 0, 16, 0, 45, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 130, 0, 16, 0, 45, 0, 0, 0, 42, 0, 16, 0, 26, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 18, 0, 16, 0, 46, 0, 0, 0, 10, 0, 16, 0, 40, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 34, 0, 16, 0, 46, 0, 0, 0, 26, 0, 16, 0, 40, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 66, 0, 16, 0, 46, 0, 0, 0, 42, 0, 16, 0, 45, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 56, 0, 0, 7, 114, 0, 16, 0, 47, 0, 0, 0, 246, 15, 16, 0, 26, 0, 0, 0, 70, 2, 16, 0, 43, 0, 0, 0, 57, 0, 0, 7, 130, 0, 16, 0, 46, 0, 0, 0, 58, 0, 16, 0, 39, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 31, 0, 4, 3, 58, 0, 16, 0, 46, 0, 0, 0, 50, 0, 0, 9, 130, 0, 16, 0, 30, 0, 0, 0, 10, 0, 16, 0, 47, 0, 0, 0, 10, 0, 16, 0, 32, 0, 0, 0, 58, 0, 16, 0, 30, 0, 0, 0, 50, 0, 0, 9, 130, 0, 16, 0, 33, 0, 0, 0, 26, 0, 16, 0, 47, 0, 0, 0, 10, 0, 16, 0, 32, 0, 0, 0, 58, 0, 16, 0, 33, 0, 0, 0, 50, 0, 0, 9, 130, 0, 16, 0, 36, 0, 0, 0, 42, 0, 16, 0, 47, 0, 0, 0, 10, 0, 16, 0, 32, 0, 0, 0, 58, 0, 16, 0, 36, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 10, 0, 16, 0, 26, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 58, 0, 16, 0, 30, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 10, 0, 16, 0, 38, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 58, 0, 16, 0, 33, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 26, 0, 16, 0, 38, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 58, 0, 16, 0, 36, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 10, 0, 16, 0, 45, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 58, 0, 16, 0, 39, 0, 0, 0, 21, 0, 0, 1, 57, 0, 0, 7, 130, 0, 16, 0, 30, 0, 0, 0, 58, 0, 16, 0, 43, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 31, 0, 4, 3, 58, 0, 16, 0, 30, 0, 0, 0, 50, 0, 0, 9, 130, 0, 16, 0, 30, 0, 0, 0, 10, 0, 16, 0, 47, 0, 0, 0, 26, 0, 16, 0, 32, 0, 0, 0, 42, 0, 16, 0, 40, 0, 0, 0, 50, 0, 0, 9, 130, 0, 16, 0, 33, 0, 0, 0, 26, 0, 16, 0, 47, 0, 0, 0, 26, 0, 16, 0, 32, 0, 0, 0, 58, 0, 16, 0, 40, 0, 0, 0, 50, 0, 0, 9, 130, 0, 16, 0, 36, 0, 0, 0, 42, 0, 16, 0, 47, 0, 0, 0, 26, 0, 16, 0, 32, 0, 0, 0, 58, 0, 16, 0, 41, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 26, 0, 16, 0, 26, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 58, 0, 16, 0, 30, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 42, 0, 16, 0, 38, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 58, 0, 16, 0, 33, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 58, 0, 16, 0, 38, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 58, 0, 16, 0, 36, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 26, 0, 16, 0, 45, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 58, 0, 16, 0, 43, 0, 0, 0, 21, 0, 0, 1, 57, 0, 0, 7, 130, 0, 16, 0, 30, 0, 0, 0, 42, 0, 16, 0, 46, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 31, 0, 4, 3, 58, 0, 16, 0, 30, 0, 0, 0, 50, 0, 0, 9, 130, 0, 16, 0, 30, 0, 0, 0, 10, 0, 16, 0, 47, 0, 0, 0, 42, 0, 16, 0, 32, 0, 0, 0, 58, 0, 16, 0, 45, 0, 0, 0, 50, 0, 0, 9, 130, 0, 16, 0, 33, 0, 0, 0, 26, 0, 16, 0, 47, 0, 0, 0, 42, 0, 16, 0, 32, 0, 0, 0, 10, 0, 16, 0, 46, 0, 0, 0, 50, 0, 0, 9, 130, 0, 16, 0, 36, 0, 0, 0, 42, 0, 16, 0, 47, 0, 0, 0, 42, 0, 16, 0, 32, 0, 0, 0, 26, 0, 16, 0, 46, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 42, 0, 16, 0, 26, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 58, 0, 16, 0, 30, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 10, 0, 16, 0, 40, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 58, 0, 16, 0, 33, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 26, 0, 16, 0, 40, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 58, 0, 16, 0, 36, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 42, 0, 16, 0, 45, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 42, 0, 16, 0, 46, 0, 0, 0, 21, 0, 0, 1, 31, 0, 4, 3, 10, 0, 16, 0, 20, 0, 0, 0, 30, 0, 0, 7, 114, 0, 16, 0, 46, 0, 0, 0, 6, 0, 16, 0, 0, 0, 0, 0, 70, 2, 16, 0, 26, 0, 0, 0, 41, 0, 0, 10, 114, 0, 16, 0, 46, 0, 0, 0, 70, 2, 16, 0, 46, 0, 0, 0, 2, 64, 0, 0, 4, 0, 0, 0, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 165, 0, 0, 137, 194, 2, 0, 128, 131, 153, 25, 0, 114, 0, 16, 0, 47, 0, 0, 0, 10, 0, 16, 0, 46, 0, 0, 0, 70, 226, 17, 0, 0, 0, 0, 0, 165, 0, 0, 137, 194, 2, 0, 128, 131, 153, 25, 0, 114, 0, 16, 0, 48, 0, 0, 0, 26, 0, 16, 0, 46, 0, 0, 0, 70, 226, 17, 0, 0, 0, 0, 0, 165, 0, 0, 137, 194, 2, 0, 128, 131, 153, 25, 0, 114, 0, 16, 0, 49, 0, 0, 0, 42, 0, 16, 0, 46, 0, 0, 0, 70, 226, 17, 0, 0, 0, 0, 0, 56, 0, 0, 7, 114, 0, 16, 0, 48, 0, 0, 0, 86, 5, 16, 0, 32, 0, 0, 0, 70, 2, 16, 0, 48, 0, 0, 0, 50, 0, 0, 9, 114, 0, 16, 0, 47, 0, 0, 0, 70, 2, 16, 0, 47, 0, 0, 0, 6, 0, 16, 0, 32, 0, 0, 0, 70, 2, 16, 0, 48, 0, 0, 0, 50, 0, 0, 9, 114, 0, 16, 0, 47, 0, 0, 0, 70, 2, 16, 0, 49, 0, 0, 0, 166, 10, 16, 0, 32, 0, 0, 0, 70, 2, 16, 0, 47, 0, 0, 0, 165, 0, 0, 7, 18, 0, 16, 0, 26, 0, 0, 0, 1, 64, 0, 0, 92, 0, 0, 0, 6, 240, 17, 0, 0, 0, 0, 0, 16, 0, 0, 7, 130, 0, 16, 0, 30, 0, 0, 0, 70, 2, 16, 0, 43, 0, 0, 0, 70, 2, 16, 0, 43, 0, 0, 0, 0, 0, 0, 7, 130, 0, 16, 0, 33, 0, 0, 0, 58, 0, 16, 0, 30, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 52, 68, 0, 0, 5, 130, 0, 16, 0, 33, 0, 0, 0, 58, 0, 16, 0, 33, 0, 0, 0, 56, 0, 0, 7, 114, 0, 16, 0, 48, 0, 0, 0, 246, 15, 16, 0, 33, 0, 0, 0, 70, 2, 16, 0, 43, 0, 0, 0, 0, 0, 0, 8, 114, 0, 16, 0, 41, 0, 0, 0, 70, 2, 16, 0, 41, 0, 0, 0, 70, 2, 16, 128, 65, 0, 0, 0, 47, 0, 0, 0, 50, 0, 0, 10, 114, 0, 16, 0, 41, 0, 0, 0, 70, 2, 16, 128, 65, 0, 0, 0, 44, 0, 0, 0, 246, 15, 16, 0, 26, 0, 0, 0, 70, 2, 16, 0, 41, 0, 0, 0, 16, 0, 0, 7, 130, 0, 16, 0, 36, 0, 0, 0, 70, 2, 16, 0, 41, 0, 0, 0, 70, 2, 16, 0, 48, 0, 0, 0, 50, 0, 0, 10, 114, 0, 16, 0, 41, 0, 0, 0, 246, 15, 16, 128, 65, 0, 0, 0, 36, 0, 0, 0, 70, 2, 16, 0, 48, 0, 0, 0, 70, 2, 16, 0, 41, 0, 0, 0, 16, 0, 0, 7, 130, 0, 16, 0, 36, 0, 0, 0, 70, 2, 16, 0, 41, 0, 0, 0, 70, 2, 16, 0, 41, 0, 0, 0, 0, 0, 0, 7, 130, 0, 16, 0, 36, 0, 0, 0, 58, 0, 16, 0, 36, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 52, 68, 0, 0, 5, 130, 0, 16, 0, 36, 0, 0, 0, 58, 0, 16, 0, 36, 0, 0, 0, 56, 0, 0, 8, 18, 0, 16, 0, 26, 0, 0, 0, 10, 0, 16, 128, 65, 0, 0, 0, 26, 0, 0, 0, 58, 0, 16, 0, 30, 0, 0, 0, 56, 0, 0, 7, 18, 0, 16, 0, 26, 0, 0, 0, 58, 0, 16, 0, 33, 0, 0, 0, 10, 0, 16, 0, 26, 0, 0, 0, 56, 0, 0, 7, 18, 0, 16, 0, 26, 0, 0, 0, 58, 0, 16, 0, 26, 0, 0, 0, 10, 0, 16, 0, 26, 0, 0, 0, 56, 0, 0, 7, 18, 0, 16, 0, 26, 0, 0, 0, 58, 0, 16, 0, 36, 0, 0, 0, 10, 0, 16, 0, 26, 0, 0, 0, 52, 0, 0, 7, 18, 0, 16, 0, 26, 0, 0, 0, 10, 0, 16, 0, 26, 0, 0, 0, 1, 64, 0, 0, 0, 0, 128, 191, 56, 0, 0, 7, 114, 0, 16, 0, 41, 0, 0, 0, 6, 0, 16, 0, 26, 0, 0, 0, 70, 2, 16, 0, 41, 0, 0, 0, 165, 0, 0, 137, 194, 2, 0, 128, 131, 153, 25, 0, 242, 0, 16, 0, 47, 0, 0, 0, 10, 0, 16, 0, 46, 0, 0, 0, 70, 238, 17, 0, 0, 0, 0, 0, 165, 0, 0, 137, 194, 2, 0, 128, 131, 153, 25, 0, 242, 0, 16, 0, 48, 0, 0, 0, 26, 0, 16, 0, 46, 0, 0, 0, 70, 238, 17, 0, 0, 0, 0, 0, 165, 0, 0, 137, 194, 2, 0, 128, 131, 153, 25, 0, 242, 0, 16, 0, 49, 0, 0, 0, 42, 0, 16, 0, 46, 0, 0, 0, 70, 238, 17, 0, 0, 0, 0, 0, 56, 0, 0, 8, 114, 0, 16, 0, 41, 0, 0, 0, 246, 15, 16, 128, 65, 0, 0, 0, 32, 0, 0, 0, 70, 2, 16, 0, 41, 0, 0, 0, 57, 0, 0, 7, 18, 0, 16, 0, 26, 0, 0, 0, 58, 0, 16, 0, 47, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 31, 0, 4, 3, 10, 0, 16, 0, 26, 0, 0, 0, 50, 0, 0, 9, 114, 0, 16, 0, 47, 0, 0, 0, 70, 2, 16, 0, 41, 0, 0, 0, 6, 0, 16, 0, 32, 0, 0, 0, 70, 2, 16, 0, 47, 0, 0, 0, 166, 0, 0, 7, 242, 224, 17, 0, 0, 0, 0, 0, 10, 0, 16, 0, 46, 0, 0, 0, 70, 14, 16, 0, 47, 0, 0, 0, 21, 0, 0, 1, 57, 0, 0, 7, 18, 0, 16, 0, 26, 0, 0, 0, 58, 0, 16, 0, 48, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 31, 0, 4, 3, 10, 0, 16, 0, 26, 0, 0, 0, 50, 0, 0, 9, 114, 0, 16, 0, 48, 0, 0, 0, 70, 2, 16, 0, 41, 0, 0, 0, 86, 5, 16, 0, 32, 0, 0, 0, 70, 2, 16, 0, 48, 0, 0, 0, 166, 0, 0, 7, 242, 224, 17, 0, 0, 0, 0, 0, 26, 0, 16, 0, 46, 0, 0, 0, 70, 14, 16, 0, 48, 0, 0, 0, 21, 0, 0, 1, 57, 0, 0, 7, 18, 0, 16, 0, 26, 0, 0, 0, 58, 0, 16, 0, 49, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 31, 0, 4, 3, 10, 0, 16, 0, 26, 0, 0, 0, 50, 0, 0, 9, 114, 0, 16, 0, 49, 0, 0, 0, 70, 2, 16, 0, 41, 0, 0, 0, 166, 10, 16, 0, 32, 0, 0, 0, 70, 2, 16, 0, 49, 0, 0, 0, 166, 0, 0, 7, 242, 224, 17, 0, 0, 0, 0, 0, 42, 0, 16, 0, 46, 0, 0, 0, 70, 14, 16, 0, 49, 0, 0, 0, 21, 0, 0, 1, 21, 0, 0, 1, 31, 0, 4, 3, 42, 0, 16, 0, 20, 0, 0, 0, 16, 0, 0, 7, 18, 0, 16, 0, 26, 0, 0, 0, 70, 2, 16, 0, 43, 0, 0, 0, 70, 2, 16, 0, 43, 0, 0, 0, 56, 0, 0, 7, 130, 0, 16, 0, 26, 0, 0, 0, 58, 0, 16, 0, 26, 0, 0, 0, 58, 0, 16, 0, 26, 0, 0, 0, 56, 0, 0, 7, 18, 0, 16, 0, 26, 0, 0, 0, 10, 0, 16, 0, 26, 0, 0, 0, 58, 0, 16, 0, 26, 0, 0, 0, 165, 0, 0, 7, 130, 0, 16, 0, 26, 0, 0, 0, 1, 64, 0, 0, 88, 0, 0, 0, 6, 240, 17, 0, 0, 0, 0, 0, 50, 0, 0, 9, 18, 0, 16, 0, 26, 0, 0, 0, 58, 0, 16, 0, 26, 0, 0, 0, 10, 0, 16, 0, 26, 0, 0, 0, 1, 64, 0, 0, 0, 0, 128, 63, 14, 0, 0, 10, 18, 0, 16, 0, 26, 0, 0, 0, 2, 64, 0, 0, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 10, 0, 16, 0, 26, 0, 0, 0, 0, 0, 0, 7, 18, 0, 16, 0, 26, 0, 0, 0, 10, 0, 16, 0, 26, 0, 0, 0, 1, 64, 0, 0, 0, 0, 128, 191, 167, 0, 0, 9, 130, 0, 16, 0, 26, 0, 0, 0, 10, 0, 16, 0, 45, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 130, 0, 16, 0, 30, 0, 0, 0, 26, 0, 16, 0, 26, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 130, 0, 16, 0, 32, 0, 0, 0, 42, 0, 16, 0, 38, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 130, 0, 16, 0, 33, 0, 0, 0, 58, 0, 16, 0, 38, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 130, 0, 16, 0, 36, 0, 0, 0, 26, 0, 16, 0, 45, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 18, 0, 16, 0, 38, 0, 0, 0, 42, 0, 16, 0, 26, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 34, 0, 16, 0, 38, 0, 0, 0, 10, 0, 16, 0, 40, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 130, 0, 16, 0, 39, 0, 0, 0, 26, 0, 16, 0, 40, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 66, 0, 16, 0, 40, 0, 0, 0, 42, 0, 16, 0, 45, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 50, 0, 0, 12, 114, 0, 16, 0, 32, 0, 0, 0, 70, 2, 16, 0, 32, 0, 0, 0, 6, 0, 16, 0, 26, 0, 0, 0, 2, 64, 0, 0, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 0, 0, 56, 0, 0, 7, 18, 0, 16, 0, 26, 0, 0, 0, 58, 0, 16, 0, 26, 0, 0, 0, 10, 0, 16, 0, 32, 0, 0, 0, 56, 0, 0, 7, 130, 0, 16, 0, 26, 0, 0, 0, 26, 0, 16, 0, 32, 0, 0, 0, 58, 0, 16, 0, 36, 0, 0, 0, 56, 0, 0, 7, 18, 0, 16, 0, 32, 0, 0, 0, 42, 0, 16, 0, 32, 0, 0, 0, 42, 0, 16, 0, 40, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 10, 0, 16, 0, 45, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 10, 0, 16, 0, 26, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 26, 0, 16, 0, 26, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 58, 0, 16, 0, 30, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 42, 0, 16, 0, 38, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 58, 0, 16, 0, 32, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 58, 0, 16, 0, 38, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 58, 0, 16, 0, 33, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 26, 0, 16, 0, 45, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 58, 0, 16, 0, 26, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 42, 0, 16, 0, 26, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 10, 0, 16, 0, 38, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 10, 0, 16, 0, 40, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 26, 0, 16, 0, 38, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 26, 0, 16, 0, 40, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 58, 0, 16, 0, 39, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 42, 0, 16, 0, 45, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 10, 0, 16, 0, 32, 0, 0, 0, 21, 0, 0, 1, 21, 0, 0, 1, 30, 0, 0, 7, 130, 0, 16, 0, 25, 0, 0, 0, 58, 0, 16, 0, 25, 0, 0, 0, 1, 64, 0, 0, 0, 16, 0, 0, 22, 0, 0, 1, 30, 0, 0, 7, 18, 0, 16, 0, 21, 0, 0, 0, 10, 0, 16, 0, 21, 0, 0, 0, 1, 64, 0, 0, 1, 0, 0, 0, 22, 0, 0, 1, 21, 0, 0, 1, 165, 0, 0, 7, 18, 0, 16, 0, 19, 0, 0, 0, 1, 64, 0, 0, 96, 0, 0, 0, 6, 240, 17, 0, 0, 0, 0, 0, 165, 0, 0, 7, 34, 0, 16, 0, 19, 0, 0, 0, 1, 64, 0, 0, 120, 0, 0, 0, 6, 240, 17, 0, 1, 0, 0, 0, 51, 0, 0, 7, 18, 0, 16, 0, 19, 0, 0, 0, 26, 0, 16, 0, 19, 0, 0, 0, 10, 0, 16, 0, 19, 0, 0, 0, 49, 0, 0, 7, 18, 0, 16, 0, 19, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 10, 0, 16, 0, 19, 0, 0, 0, 31, 0, 4, 3, 10, 0, 16, 0, 19, 0, 0, 0, 165, 0, 0, 7, 18, 0, 16, 0, 19, 0, 0, 0, 1, 64, 0, 0, 100, 0, 0, 0, 6, 240, 17, 0, 0, 0, 0, 0, 165, 0, 0, 7, 34, 0, 16, 0, 19, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 0, 0, 0, 0, 31, 0, 4, 3, 42, 0, 16, 0, 1, 0, 0, 0, 165, 0, 0, 7, 82, 0, 16, 0, 20, 0, 0, 0, 58, 0, 16, 0, 4, 0, 0, 0, 6, 241, 17, 0, 1, 0, 0, 0, 0, 0, 0, 7, 66, 0, 16, 0, 19, 0, 0, 0, 42, 0, 16, 0, 20, 0, 0, 0, 10, 0, 16, 0, 20, 0, 0, 0, 50, 0, 0, 12, 82, 0, 16, 0, 20, 0, 0, 0, 166, 10, 16, 0, 19, 0, 0, 0, 2, 64, 0, 0, 23, 183, 209, 56, 0, 0, 0, 0, 23, 183, 209, 56, 0, 0, 0, 0, 166, 8, 16, 0, 20, 0, 0, 0, 0, 0, 0, 7, 66, 0, 16, 0, 19, 0, 0, 0, 10, 0, 16, 0, 20, 0, 0, 0, 42, 0, 16, 0, 20, 0, 0, 0, 168, 0, 0, 8, 18, 240, 17, 0, 6, 0, 0, 0, 10, 32, 2, 0, 1, 64, 0, 0, 0, 0, 0, 0, 42, 0, 16, 0, 19, 0, 0, 0, 18, 0, 0, 1, 54, 0, 0, 5, 18, 0, 16, 0, 20, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 54, 0, 0, 5, 66, 0, 16, 0, 19, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 21, 0, 0, 1, 190, 24, 0, 1, 31, 0, 4, 3, 42, 0, 16, 0, 1, 0, 0, 0, 167, 0, 0, 9, 66, 0, 16, 0, 20, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 6, 0, 0, 0, 167, 0, 0, 9, 18, 0, 16, 0, 21, 0, 0, 0, 1, 64, 0, 0, 1, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 6, 0, 0, 0, 49, 0, 0, 7, 66, 0, 16, 0, 20, 0, 0, 0, 10, 0, 16, 0, 21, 0, 0, 0, 42, 0, 16, 0, 20, 0, 0, 0, 1, 0, 0, 7, 18, 0, 16, 0, 21, 0, 0, 0, 42, 0, 16, 0, 20, 0, 0, 0, 1, 64, 0, 0, 1, 0, 0, 0, 167, 0, 0, 9, 18, 0, 16, 0, 21, 0, 0, 0, 10, 0, 16, 0, 21, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 6, 0, 0, 0, 167, 0, 0, 9, 66, 0, 16, 0, 21, 0, 0, 0, 1, 64, 0, 0, 2, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 6, 0, 0, 0, 49, 0, 0, 7, 18, 0, 16, 0, 21, 0, 0, 0, 42, 0, 16, 0, 21, 0, 0, 0, 10, 0, 16, 0, 21, 0, 0, 0, 55, 0, 0, 9, 66, 0, 16, 0, 20, 0, 0, 0, 10, 0, 16, 0, 21, 0, 0, 0, 1, 64, 0, 0, 254, 255, 255, 255, 42, 0, 16, 0, 20, 0, 0, 0, 30, 0, 0, 6, 66, 0, 16, 0, 20, 0, 0, 0, 42, 0, 16, 0, 20, 0, 0, 0, 10, 32, 2, 0, 85, 0, 0, 7, 18, 0, 16, 0, 21, 0, 0, 0, 42, 0, 16, 0, 20, 0, 0, 0, 1, 64, 0, 0, 30, 0, 0, 0, 30, 0, 0, 7, 66, 0, 16, 0, 20, 0, 0, 0, 42, 0, 16, 0, 20, 0, 0, 0, 10, 0, 16, 0, 21, 0, 0, 0, 14, 0, 0, 7, 66, 0, 16, 0, 19, 0, 0, 0, 1, 64, 0, 0, 0, 0, 254, 66, 42, 0, 16, 0, 19, 0, 0, 0, 165, 0, 0, 7, 18, 0, 16, 0, 21, 0, 0, 0, 1, 64, 0, 0, 96, 0, 0, 0, 6, 240, 17, 0, 0, 0, 0, 0, 14, 0, 0, 10, 18, 0, 16, 0, 21, 0, 0, 0, 2, 64, 0, 0, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 10, 0, 16, 0, 21, 0, 0, 0, 51, 0, 0, 7, 66, 0, 16, 0, 19, 0, 0, 0, 42, 0, 16, 0, 19, 0, 0, 0, 10, 0, 16, 0, 21, 0, 0, 0, 41, 0, 0, 7, 66, 0, 16, 0, 20, 0, 0, 0, 42, 0, 16, 0, 20, 0, 0, 0, 1, 64, 0, 0, 2, 0, 0, 0, 30, 0, 0, 10, 82, 0, 16, 0, 21, 0, 0, 0, 166, 10, 16, 0, 20, 0, 0, 0, 2, 64, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 0, 0, 0, 0, 166, 0, 0, 7, 18, 240, 17, 0, 5, 0, 0, 0, 10, 0, 16, 0, 21, 0, 0, 0, 42, 0, 16, 0, 19, 0, 0, 0, 56, 0, 0, 7, 66, 0, 16, 0, 19, 0, 0, 0, 10, 0, 16, 0, 20, 0, 0, 0, 42, 0, 16, 0, 19, 0, 0, 0, 166, 0, 0, 7, 18, 240, 17, 0, 5, 0, 0, 0, 42, 0, 16, 0, 20, 0, 0, 0, 42, 0, 16, 0, 19, 0, 0, 0, 166, 0, 0, 6, 18, 240, 17, 0, 5, 0, 0, 0, 42, 0, 16, 0, 21, 0, 0, 0, 10, 32, 2, 0, 21, 0, 0, 1, 190, 24, 0, 1, 165, 0, 0, 7, 66, 0, 16, 0, 19, 0, 0, 0, 1, 64, 0, 0, 112, 0, 0, 0, 6, 240, 17, 0, 0, 0, 0, 0, 41, 0, 0, 7, 18, 0, 16, 0, 20, 0, 0, 0, 10, 0, 16, 0, 19, 0, 0, 0, 1, 64, 0, 0, 1, 0, 0, 0, 30, 0, 0, 7, 66, 0, 16, 0, 19, 0, 0, 0, 42, 0, 16, 0, 19, 0, 0, 0, 10, 0, 16, 0, 20, 0, 0, 0, 165, 0, 0, 7, 18, 0, 16, 0, 20, 0, 0, 0, 1, 64, 0, 0, 164, 0, 0, 0, 6, 240, 17, 0, 1, 0, 0, 0, 31, 0, 4, 3, 10, 0, 16, 0, 20, 0, 0, 0, 54, 0, 0, 4, 18, 0, 16, 0, 20, 0, 0, 0, 10, 32, 2, 0, 48, 0, 0, 1, 33, 0, 0, 7, 66, 0, 16, 0, 20, 0, 0, 0, 10, 0, 16, 0, 20, 0, 0, 0, 1, 64, 0, 0, 3, 65, 0, 0, 3, 0, 4, 3, 42, 0, 16, 0, 20, 0, 0, 0, 30, 0, 0, 7, 66, 0, 16, 0, 20, 0, 0, 0, 42, 0, 16, 0, 19, 0, 0, 0, 10, 0, 16, 0, 20, 0, 0, 0, 168, 0, 0, 9, 18, 224, 17, 0, 2, 0, 0, 0, 42, 0, 16, 0, 20, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 1, 64, 0, 0, 255, 255, 255, 255, 30, 0, 0, 7, 18, 0, 16, 0, 20, 0, 0, 0, 10, 0, 16, 0, 20, 0, 0, 0, 1, 64, 0, 0, 0, 4, 0, 0, 22, 0, 0, 1, 21, 0, 0, 1, 165, 0, 0, 7, 82, 0, 16, 0, 20, 0, 0, 0, 1, 64, 0, 0, 16, 0, 0, 0, 6, 241, 17, 0, 5, 0, 0, 0, 165, 0, 0, 7, 82, 0, 16, 0, 21, 0, 0, 0, 1, 64, 0, 0, 4, 0, 0, 0, 6, 241, 17, 0, 5, 0, 0, 0, 165, 0, 0, 7, 82, 0, 16, 0, 22, 0, 0, 0, 1, 64, 0, 0, 28, 0, 0, 0, 6, 241, 17, 0, 5, 0, 0, 0, 165, 0, 0, 7, 18, 0, 16, 0, 23, 0, 0, 0, 1, 64, 0, 0, 104, 0, 0, 0, 6, 240, 17, 0, 0, 0, 0, 0, 39, 0, 0, 7, 18, 0, 16, 0, 24, 0, 0, 0, 10, 0, 16, 0, 23, 0, 0, 0, 1, 64, 0, 0, 255, 255, 255, 255, 165, 0, 0, 7, 34, 0, 16, 0, 24, 0, 0, 0, 1, 64, 0, 0, 112, 0, 0, 0, 6, 240, 17, 0, 0, 0, 0, 0, 54, 0, 0, 4, 66, 0, 16, 0, 24, 0, 0, 0, 10, 32, 2, 0, 48, 0, 0, 1, 33, 0, 0, 7, 130, 0, 16, 0, 24, 0, 0, 0, 42, 0, 16, 0, 24, 0, 0, 0, 10, 0, 16, 0, 19, 0, 0, 0, 3, 0, 4, 3, 58, 0, 16, 0, 24, 0, 0, 0, 30, 0, 0, 7, 130, 0, 16, 0, 24, 0, 0, 0, 10, 0, 16, 0, 23, 0, 0, 0, 42, 0, 16, 0, 24, 0, 0, 0, 167, 0, 0, 139, 2, 35, 0, 128, 131, 153, 25, 0, 130, 0, 16, 0, 24, 0, 0, 0, 58, 0, 16, 0, 24, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 112, 16, 0, 15, 0, 0, 0, 55, 0, 0, 9, 130, 0, 16, 0, 24, 0, 0, 0, 10, 0, 16, 0, 24, 0, 0, 0, 58, 0, 16, 0, 24, 0, 0, 0, 42, 0, 16, 0, 24, 0, 0, 0, 167, 0, 0, 9, 18, 0, 16, 0, 26, 0, 0, 0, 58, 0, 16, 0, 24, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 30, 0, 0, 10, 114, 0, 16, 0, 32, 0, 0, 0, 246, 15, 16, 0, 24, 0, 0, 0, 2, 64, 0, 0, 177, 7, 0, 0, 98, 15, 0, 0, 19, 23, 0, 0, 0, 0, 0, 0, 167, 0, 0, 9, 34, 0, 16, 0, 26, 0, 0, 0, 10, 0, 16, 0, 32, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 66, 0, 16, 0, 26, 0, 0, 0, 26, 0, 16, 0, 32, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 130, 0, 16, 0, 26, 0, 0, 0, 42, 0, 16, 0, 32, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 17, 0, 0, 8, 130, 0, 16, 0, 25, 0, 0, 0, 70, 14, 16, 0, 26, 0, 0, 0, 70, 158, 144, 0, 10, 0, 16, 0, 22, 0, 0, 0, 50, 0, 0, 9, 130, 0, 16, 0, 25, 0, 0, 0, 58, 0, 16, 0, 25, 0, 0, 0, 10, 0, 16, 0, 20, 0, 0, 0, 10, 0, 16, 0, 21, 0, 0, 0, 51, 0, 0, 7, 130, 0, 16, 0, 25, 0, 0, 0, 58, 0, 16, 0, 25, 0, 0, 0, 1, 64, 0, 0, 0, 0, 255, 66, 52, 0, 0, 7, 130, 0, 16, 0, 25, 0, 0, 0, 58, 0, 16, 0, 25, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 27, 0, 0, 5, 130, 0, 16, 0, 25, 0, 0, 0, 58, 0, 16, 0, 25, 0, 0, 0, 17, 0, 0, 8, 18, 0, 16, 0, 26, 0, 0, 0, 70, 14, 16, 0, 26, 0, 0, 0, 70, 158, 144, 0, 42, 0, 16, 0, 22, 0, 0, 0, 50, 0, 0, 9, 18, 0, 16, 0, 26, 0, 0, 0, 10, 0, 16, 0, 26, 0, 0, 0, 42, 0, 16, 0, 20, 0, 0, 0, 42, 0, 16, 0, 21, 0, 0, 0, 51, 0, 0, 7, 18, 0, 16, 0, 26, 0, 0, 0, 10, 0, 16, 0, 26, 0, 0, 0, 1, 64, 0, 0, 0, 0, 255, 66, 52, 0, 0, 7, 18, 0, 16, 0, 26, 0, 0, 0, 10, 0, 16, 0, 26, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 27, 0, 0, 5, 18, 0, 16, 0, 26, 0, 0, 0, 10, 0, 16, 0, 26, 0, 0, 0, 30, 0, 0, 7, 34, 0, 16, 0, 26, 0, 0, 0, 42, 0, 16, 0, 24, 0, 0, 0, 26, 0, 16, 0, 24, 0, 0, 0, 41, 0, 0, 7, 18, 0, 16, 0, 26, 0, 0, 0, 10, 0, 16, 0, 26, 0, 0, 0, 1, 64, 0, 0, 23, 0, 0, 0, 35, 0, 0, 9, 130, 0, 16, 0, 25, 0, 0, 0, 58, 0, 16, 0, 25, 0, 0, 0, 1, 64, 0, 0, 0, 0, 1, 0, 10, 0, 16, 0, 26, 0, 0, 0, 30, 0, 0, 7, 130, 0, 16, 0, 25, 0, 0, 0, 58, 0, 16, 0, 25, 0, 0, 0, 1, 64, 0, 0, 0, 0, 129, 0, 60, 0, 0, 7, 130, 0, 16, 0, 24, 0, 0, 0, 58, 0, 16, 0, 24, 0, 0, 0, 58, 0, 16, 0, 25, 0, 0, 0, 168, 0, 0, 9, 18, 224, 17, 0, 2, 0, 0, 0, 26, 0, 16, 0, 26, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 58, 0, 16, 0, 24, 0, 0, 0, 30, 0, 0, 7, 66, 0, 16, 0, 24, 0, 0, 0, 42, 0, 16, 0, 24, 0, 0, 0, 1, 64, 0, 0, 0, 4, 0, 0, 22, 0, 0, 1, 190, 24, 0, 1, 165, 0, 0, 7, 50, 0, 16, 0, 24, 0, 0, 0, 1, 64, 0, 0, 108, 0, 0, 0, 70, 240, 17, 0, 0, 0, 0, 0, 30, 0, 0, 7, 18, 0, 16, 0, 23, 0, 0, 0, 10, 0, 16, 0, 19, 0, 0, 0, 26, 0, 16, 0, 24, 0, 0, 0, 54, 0, 0, 4, 18, 0, 16, 0, 26, 0, 0, 0, 10, 32, 2, 0, 48, 0, 0, 1, 33, 0, 0, 7, 66, 0, 16, 0, 24, 0, 0, 0, 10, 0, 16, 0, 26, 0, 0, 0, 26, 0, 16, 0, 19, 0, 0, 0, 3, 0, 4, 3, 42, 0, 16, 0, 24, 0, 0, 0, 30, 0, 0, 7, 66, 0, 16, 0, 24, 0, 0, 0, 10, 0, 16, 0, 24, 0, 0, 0, 10, 0, 16, 0, 26, 0, 0, 0, 167, 0, 0, 9, 18, 0, 16, 0, 32, 0, 0, 0, 10, 0, 16, 0, 26, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 30, 0, 0, 10, 242, 0, 16, 0, 26, 0, 0, 0, 6, 0, 16, 0, 26, 0, 0, 0, 2, 64, 0, 0, 0, 4, 0, 0, 177, 7, 0, 0, 98, 15, 0, 0, 19, 23, 0, 0, 167, 0, 0, 9, 34, 0, 16, 0, 32, 0, 0, 0, 26, 0, 16, 0, 26, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 66, 0, 16, 0, 32, 0, 0, 0, 42, 0, 16, 0, 26, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 130, 0, 16, 0, 32, 0, 0, 0, 58, 0, 16, 0, 26, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 168, 0, 0, 9, 242, 224, 17, 0, 1, 0, 0, 0, 42, 0, 16, 0, 24, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 70, 14, 16, 0, 32, 0, 0, 0, 22, 0, 0, 1, 190, 24, 0, 1, 30, 0, 0, 7, 18, 0, 16, 0, 24, 0, 0, 0, 10, 0, 16, 0, 19, 0, 0, 0, 1, 64, 0, 0, 31, 0, 0, 0, 138, 0, 0, 9, 66, 0, 16, 0, 24, 0, 0, 0, 1, 64, 0, 0, 5, 0, 0, 0, 1, 64, 0, 0, 5, 0, 0, 0, 10, 0, 16, 0, 24, 0, 0, 0, 85, 0, 0, 7, 18, 0, 16, 0, 24, 0, 0, 0, 10, 0, 16, 0, 24, 0, 0, 0, 1, 64, 0, 0, 10, 0, 0, 0, 79, 0, 0, 7, 130, 0, 16, 0, 24, 0, 0, 0, 26, 0, 16, 0, 4, 0, 0, 0, 42, 0, 16, 0, 24, 0, 0, 0, 1, 0, 0, 7, 130, 0, 16, 0, 25, 0, 0, 0, 58, 0, 16, 0, 24, 0, 0, 0, 1, 64, 0, 0, 1, 0, 0, 0, 30, 0, 0, 7, 130, 0, 16, 0, 25, 0, 0, 0, 10, 0, 16, 0, 24, 0, 0, 0, 58, 0, 16, 0, 25, 0, 0, 0, 55, 0, 0, 9, 18, 0, 16, 0, 26, 0, 0, 0, 58, 0, 16, 0, 24, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 1, 64, 0, 0, 1, 0, 0, 0, 38, 0, 0, 8, 0, 208, 0, 0, 18, 0, 16, 0, 26, 0, 0, 0, 42, 0, 16, 0, 24, 0, 0, 0, 10, 0, 16, 0, 26, 0, 0, 0, 35, 0, 0, 9, 18, 0, 16, 0, 26, 0, 0, 0, 26, 0, 16, 0, 4, 0, 0, 0, 58, 0, 16, 0, 25, 0, 0, 0, 10, 0, 16, 0, 26, 0, 0, 0, 41, 0, 0, 7, 34, 0, 16, 0, 26, 0, 0, 0, 10, 0, 16, 0, 26, 0, 0, 0, 1, 64, 0, 0, 5, 0, 0, 0, 41, 0, 0, 7, 130, 0, 16, 0, 25, 0, 0, 0, 58, 0, 16, 0, 25, 0, 0, 0, 1, 64, 0, 0, 5, 0, 0, 0, 30, 0, 0, 7, 130, 0, 16, 0, 25, 0, 0, 0, 58, 0, 16, 0, 25, 0, 0, 0, 26, 0, 16, 0, 26, 0, 0, 0, 84, 0, 0, 7, 130, 0, 16, 0, 25, 0, 0, 0, 10, 0, 16, 0, 19, 0, 0, 0, 58, 0, 16, 0, 25, 0, 0, 0, 140, 0, 0, 10, 18, 0, 16, 0, 26, 0, 0, 0, 1, 64, 0, 0, 27, 0, 0, 0, 1, 64, 0, 0, 5, 0, 0, 0, 10, 0, 16, 0, 26, 0, 0, 0, 10, 32, 2, 0, 54, 0, 0, 5, 34, 0, 16, 0, 26, 0, 0, 0, 1, 64, 0, 0, 16, 0, 0, 0, 54, 0, 0, 5, 66, 0, 16, 0, 26, 0, 0, 0, 26, 0, 16, 0, 24, 0, 0, 0, 54, 0, 0, 5, 130, 0, 16, 0, 26, 0, 0, 0, 10, 0, 16, 0, 23, 0, 0, 0, 48, 0, 0, 1, 80, 0, 0, 7, 130, 0, 16, 0, 30, 0, 0, 0, 26, 0, 16, 0, 26, 0, 0, 0, 1, 64, 0, 0, 32, 0, 0, 0, 3, 0, 4, 3, 58, 0, 16, 0, 30, 0, 0, 0, 54, 0, 0, 5, 130, 0, 16, 0, 30, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 54, 0, 0, 5, 18, 0, 16, 0, 32, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 54, 0, 0, 5, 34, 0, 16, 0, 32, 0, 0, 0, 10, 0, 16, 0, 26, 0, 0, 0, 48, 0, 0, 1, 80, 0, 0, 7, 66, 0, 16, 0, 32, 0, 0, 0, 10, 0, 16, 0, 32, 0, 0, 0, 10, 0, 16, 0, 24, 0, 0, 0, 3, 0, 4, 3, 42, 0, 16, 0, 32, 0, 0, 0, 79, 0, 0, 7, 66, 0, 16, 0, 32, 0, 0, 0, 26, 0, 16, 0, 32, 0, 0, 0, 58, 0, 16, 0, 25, 0, 0, 0, 30, 0, 0, 7, 130, 0, 16, 0, 32, 0, 0, 0, 42, 0, 16, 0, 26, 0, 0, 0, 26, 0, 16, 0, 32, 0, 0, 0, 167, 0, 0, 139, 2, 35, 0, 128, 131, 153, 25, 0, 130, 0, 16, 0, 32, 0, 0, 0, 58, 0, 16, 0, 32, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 224, 17, 0, 2, 0, 0, 0, 55, 0, 0, 9, 66, 0, 16, 0, 32, 0, 0, 0, 42, 0, 16, 0, 32, 0, 0, 0, 58, 0, 16, 0, 32, 0, 0, 0, 1, 64, 0, 0, 255, 255, 255, 255, 85, 0, 0, 7, 66, 0, 16, 0, 32, 0, 0, 0, 42, 0, 16, 0, 32, 0, 0, 0, 26, 0, 16, 0, 26, 0, 0, 0, 1, 0, 0, 10, 242, 0, 16, 0, 38, 0, 0, 0, 166, 10, 16, 0, 32, 0, 0, 0, 2, 64, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 4, 0, 0, 0, 8, 0, 0, 0, 39, 0, 0, 10, 242, 0, 16, 0, 38, 0, 0, 0, 70, 14, 16, 0, 38, 0, 0, 0, 2, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 140, 0, 0, 16, 242, 0, 16, 0, 38, 0, 0, 0, 2, 64, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 6, 32, 2, 0, 70, 14, 16, 0, 38, 0, 0, 0, 2, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 168, 0, 0, 8, 18, 240, 17, 0, 3, 0, 0, 0, 10, 32, 2, 0, 1, 64, 0, 0, 0, 0, 0, 0, 10, 0, 16, 0, 38, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 10, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 26, 0, 16, 0, 38, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 26, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 42, 0, 16, 0, 38, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 42, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 58, 0, 16, 0, 38, 0, 0, 0, 190, 24, 0, 1, 31, 0, 4, 3, 10, 0, 16, 0, 7, 0, 0, 0, 167, 0, 0, 8, 18, 0, 16, 0, 38, 0, 0, 0, 10, 32, 2, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 34, 0, 16, 0, 38, 0, 0, 0, 10, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 66, 0, 16, 0, 38, 0, 0, 0, 26, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 130, 0, 16, 0, 38, 0, 0, 0, 42, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 18, 0, 16, 0, 40, 0, 0, 0, 10, 0, 16, 0, 3, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 34, 0, 16, 0, 40, 0, 0, 0, 26, 0, 16, 0, 6, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 66, 0, 16, 0, 40, 0, 0, 0, 10, 0, 16, 0, 9, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 130, 0, 16, 0, 40, 0, 0, 0, 42, 0, 16, 0, 6, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 60, 0, 0, 7, 242, 0, 16, 0, 38, 0, 0, 0, 70, 14, 16, 0, 38, 0, 0, 0, 70, 14, 16, 0, 40, 0, 0, 0, 168, 0, 0, 8, 18, 240, 17, 0, 3, 0, 0, 0, 10, 32, 2, 0, 1, 64, 0, 0, 0, 0, 0, 0, 10, 0, 16, 0, 38, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 10, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 26, 0, 16, 0, 38, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 26, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 42, 0, 16, 0, 38, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 42, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 58, 0, 16, 0, 38, 0, 0, 0, 21, 0, 0, 1, 190, 24, 0, 1, 31, 0, 4, 3, 26, 0, 16, 0, 7, 0, 0, 0, 167, 0, 0, 8, 18, 0, 16, 0, 38, 0, 0, 0, 10, 32, 2, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 34, 0, 16, 0, 38, 0, 0, 0, 10, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 66, 0, 16, 0, 38, 0, 0, 0, 26, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 130, 0, 16, 0, 38, 0, 0, 0, 42, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 18, 0, 16, 0, 40, 0, 0, 0, 26, 0, 16, 0, 3, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 34, 0, 16, 0, 40, 0, 0, 0, 58, 0, 16, 0, 6, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 66, 0, 16, 0, 40, 0, 0, 0, 26, 0, 16, 0, 9, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 130, 0, 16, 0, 40, 0, 0, 0, 10, 0, 16, 0, 8, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 60, 0, 0, 7, 242, 0, 16, 0, 38, 0, 0, 0, 70, 14, 16, 0, 38, 0, 0, 0, 70, 14, 16, 0, 40, 0, 0, 0, 168, 0, 0, 8, 18, 240, 17, 0, 3, 0, 0, 0, 10, 32, 2, 0, 1, 64, 0, 0, 0, 0, 0, 0, 10, 0, 16, 0, 38, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 10, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 26, 0, 16, 0, 38, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 26, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 42, 0, 16, 0, 38, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 42, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 58, 0, 16, 0, 38, 0, 0, 0, 21, 0, 0, 1, 190, 24, 0, 1, 31, 0, 4, 3, 42, 0, 16, 0, 7, 0, 0, 0, 167, 0, 0, 8, 18, 0, 16, 0, 38, 0, 0, 0, 10, 32, 2, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 34, 0, 16, 0, 38, 0, 0, 0, 10, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 66, 0, 16, 0, 38, 0, 0, 0, 26, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 130, 0, 16, 0, 38, 0, 0, 0, 42, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 18, 0, 16, 0, 40, 0, 0, 0, 42, 0, 16, 0, 3, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 34, 0, 16, 0, 40, 0, 0, 0, 26, 0, 16, 0, 8, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 66, 0, 16, 0, 40, 0, 0, 0, 42, 0, 16, 0, 9, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 130, 0, 16, 0, 40, 0, 0, 0, 42, 0, 16, 0, 8, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 60, 0, 0, 7, 242, 0, 16, 0, 38, 0, 0, 0, 70, 14, 16, 0, 38, 0, 0, 0, 70, 14, 16, 0, 40, 0, 0, 0, 168, 0, 0, 8, 18, 240, 17, 0, 3, 0, 0, 0, 10, 32, 2, 0, 1, 64, 0, 0, 0, 0, 0, 0, 10, 0, 16, 0, 38, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 10, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 26, 0, 16, 0, 38, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 26, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 42, 0, 16, 0, 38, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 42, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 58, 0, 16, 0, 38, 0, 0, 0, 21, 0, 0, 1, 190, 24, 0, 1, 31, 0, 4, 3, 58, 0, 16, 0, 7, 0, 0, 0, 167, 0, 0, 8, 18, 0, 16, 0, 38, 0, 0, 0, 10, 32, 2, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 34, 0, 16, 0, 38, 0, 0, 0, 10, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 66, 0, 16, 0, 38, 0, 0, 0, 26, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 130, 0, 16, 0, 38, 0, 0, 0, 42, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 18, 0, 16, 0, 40, 0, 0, 0, 58, 0, 16, 0, 3, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 34, 0, 16, 0, 40, 0, 0, 0, 58, 0, 16, 0, 8, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 66, 0, 16, 0, 40, 0, 0, 0, 58, 0, 16, 0, 9, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 130, 0, 16, 0, 40, 0, 0, 0, 10, 0, 16, 0, 13, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 60, 0, 0, 7, 242, 0, 16, 0, 38, 0, 0, 0, 70, 14, 16, 0, 38, 0, 0, 0, 70, 14, 16, 0, 40, 0, 0, 0, 168, 0, 0, 8, 18, 240, 17, 0, 3, 0, 0, 0, 10, 32, 2, 0, 1, 64, 0, 0, 0, 0, 0, 0, 10, 0, 16, 0, 38, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 10, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 26, 0, 16, 0, 38, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 26, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 42, 0, 16, 0, 38, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 42, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 58, 0, 16, 0, 38, 0, 0, 0, 21, 0, 0, 1, 190, 24, 0, 1, 31, 0, 4, 3, 58, 0, 16, 0, 5, 0, 0, 0, 167, 0, 0, 8, 18, 0, 16, 0, 38, 0, 0, 0, 10, 32, 2, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 34, 0, 16, 0, 38, 0, 0, 0, 10, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 66, 0, 16, 0, 38, 0, 0, 0, 26, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 130, 0, 16, 0, 38, 0, 0, 0, 42, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 18, 0, 16, 0, 40, 0, 0, 0, 10, 0, 16, 0, 6, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 34, 0, 16, 0, 40, 0, 0, 0, 26, 0, 16, 0, 13, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 66, 0, 16, 0, 40, 0, 0, 0, 10, 0, 16, 0, 14, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 130, 0, 16, 0, 40, 0, 0, 0, 42, 0, 16, 0, 13, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 60, 0, 0, 7, 242, 0, 16, 0, 38, 0, 0, 0, 70, 14, 16, 0, 38, 0, 0, 0, 70, 14, 16, 0, 40, 0, 0, 0, 168, 0, 0, 8, 18, 240, 17, 0, 3, 0, 0, 0, 10, 32, 2, 0, 1, 64, 0, 0, 0, 0, 0, 0, 10, 0, 16, 0, 38, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 10, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 26, 0, 16, 0, 38, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 26, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 42, 0, 16, 0, 38, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 42, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 58, 0, 16, 0, 38, 0, 0, 0, 21, 0, 0, 1, 190, 24, 0, 1, 167, 0, 0, 9, 66, 0, 16, 0, 32, 0, 0, 0, 42, 0, 16, 0, 5, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 130, 0, 16, 0, 32, 0, 0, 0, 10, 0, 16, 0, 10, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 130, 0, 16, 0, 33, 0, 0, 0, 26, 0, 16, 0, 10, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 130, 0, 16, 0, 36, 0, 0, 0, 42, 0, 16, 0, 10, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 87, 0, 0, 7, 194, 0, 16, 0, 32, 0, 0, 0, 166, 14, 16, 0, 2, 0, 0, 0, 166, 14, 16, 0, 32, 0, 0, 0, 1, 0, 0, 7, 66, 0, 16, 0, 32, 0, 0, 0, 58, 0, 16, 0, 32, 0, 0, 0, 42, 0, 16, 0, 32, 0, 0, 0, 87, 0, 0, 7, 130, 0, 16, 0, 32, 0, 0, 0, 10, 0, 16, 0, 5, 0, 0, 0, 58, 0, 16, 0, 33, 0, 0, 0, 1, 0, 0, 7, 66, 0, 16, 0, 32, 0, 0, 0, 58, 0, 16, 0, 32, 0, 0, 0, 42, 0, 16, 0, 32, 0, 0, 0, 87, 0, 0, 7, 130, 0, 16, 0, 32, 0, 0, 0, 26, 0, 16, 0, 5, 0, 0, 0, 58, 0, 16, 0, 36, 0, 0, 0, 1, 0, 0, 7, 66, 0, 16, 0, 32, 0, 0, 0, 58, 0, 16, 0, 32, 0, 0, 0, 42, 0, 16, 0, 32, 0, 0, 0, 134, 0, 0, 5, 66, 0, 16, 0, 32, 0, 0, 0, 42, 0, 16, 0, 32, 0, 0, 0, 30, 0, 0, 7, 130, 0, 16, 0, 30, 0, 0, 0, 58, 0, 16, 0, 30, 0, 0, 0, 42, 0, 16, 0, 32, 0, 0, 0, 30, 0, 0, 10, 50, 0, 16, 0, 32, 0, 0, 0, 70, 0, 16, 0, 32, 0, 0, 0, 2, 64, 0, 0, 1, 0, 0, 0, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 22, 0, 0, 1, 31, 0, 4, 3, 42, 0, 16, 0, 24, 0, 0, 0, 30, 0, 0, 7, 18, 0, 16, 0, 32, 0, 0, 0, 42, 0, 16, 0, 26, 0, 0, 0, 26, 0, 16, 0, 32, 0, 0, 0, 167, 0, 0, 139, 2, 35, 0, 128, 131, 153, 25, 0, 18, 0, 16, 0, 32, 0, 0, 0, 10, 0, 16, 0, 32, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 224, 17, 0, 2, 0, 0, 0, 31, 0, 4, 3, 58, 0, 16, 0, 24, 0, 0, 0, 79, 0, 0, 7, 66, 0, 16, 0, 32, 0, 0, 0, 26, 0, 16, 0, 32, 0, 0, 0, 58, 0, 16, 0, 25, 0, 0, 0, 55, 0, 0, 9, 18, 0, 16, 0, 32, 0, 0, 0, 42, 0, 16, 0, 32, 0, 0, 0, 10, 0, 16, 0, 32, 0, 0, 0, 1, 64, 0, 0, 255, 255, 255, 255, 85, 0, 0, 7, 18, 0, 16, 0, 32, 0, 0, 0, 10, 0, 16, 0, 32, 0, 0, 0, 26, 0, 16, 0, 26, 0, 0, 0, 1, 0, 0, 10, 242, 0, 16, 0, 38, 0, 0, 0, 6, 0, 16, 0, 32, 0, 0, 0, 2, 64, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 4, 0, 0, 0, 8, 0, 0, 0, 39, 0, 0, 10, 242, 0, 16, 0, 38, 0, 0, 0, 70, 14, 16, 0, 38, 0, 0, 0, 2, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 140, 0, 0, 16, 242, 0, 16, 0, 38, 0, 0, 0, 2, 64, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 6, 32, 2, 0, 70, 14, 16, 0, 38, 0, 0, 0, 2, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 168, 0, 0, 8, 18, 240, 17, 0, 3, 0, 0, 0, 10, 32, 2, 0, 1, 64, 0, 0, 0, 0, 0, 0, 10, 0, 16, 0, 38, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 10, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 26, 0, 16, 0, 38, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 26, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 42, 0, 16, 0, 38, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 42, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 58, 0, 16, 0, 38, 0, 0, 0, 21, 0, 0, 1, 190, 24, 0, 1, 31, 0, 4, 3, 58, 0, 16, 0, 24, 0, 0, 0, 31, 0, 4, 3, 10, 0, 16, 0, 7, 0, 0, 0, 167, 0, 0, 8, 18, 0, 16, 0, 38, 0, 0, 0, 10, 32, 2, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 34, 0, 16, 0, 38, 0, 0, 0, 10, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 66, 0, 16, 0, 38, 0, 0, 0, 26, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 130, 0, 16, 0, 38, 0, 0, 0, 42, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 18, 0, 16, 0, 40, 0, 0, 0, 10, 0, 16, 0, 3, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 34, 0, 16, 0, 40, 0, 0, 0, 26, 0, 16, 0, 6, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 66, 0, 16, 0, 40, 0, 0, 0, 10, 0, 16, 0, 9, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 130, 0, 16, 0, 40, 0, 0, 0, 42, 0, 16, 0, 6, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 60, 0, 0, 7, 242, 0, 16, 0, 38, 0, 0, 0, 70, 14, 16, 0, 38, 0, 0, 0, 70, 14, 16, 0, 40, 0, 0, 0, 168, 0, 0, 8, 18, 240, 17, 0, 3, 0, 0, 0, 10, 32, 2, 0, 1, 64, 0, 0, 0, 0, 0, 0, 10, 0, 16, 0, 38, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 10, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 26, 0, 16, 0, 38, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 26, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 42, 0, 16, 0, 38, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 42, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 58, 0, 16, 0, 38, 0, 0, 0, 21, 0, 0, 1, 21, 0, 0, 1, 190, 24, 0, 1, 31, 0, 4, 3, 58, 0, 16, 0, 24, 0, 0, 0, 31, 0, 4, 3, 26, 0, 16, 0, 7, 0, 0, 0, 167, 0, 0, 8, 18, 0, 16, 0, 38, 0, 0, 0, 10, 32, 2, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 34, 0, 16, 0, 38, 0, 0, 0, 10, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 66, 0, 16, 0, 38, 0, 0, 0, 26, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 130, 0, 16, 0, 38, 0, 0, 0, 42, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 18, 0, 16, 0, 40, 0, 0, 0, 26, 0, 16, 0, 3, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 34, 0, 16, 0, 40, 0, 0, 0, 58, 0, 16, 0, 6, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 66, 0, 16, 0, 40, 0, 0, 0, 26, 0, 16, 0, 9, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 130, 0, 16, 0, 40, 0, 0, 0, 10, 0, 16, 0, 8, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 60, 0, 0, 7, 242, 0, 16, 0, 38, 0, 0, 0, 70, 14, 16, 0, 38, 0, 0, 0, 70, 14, 16, 0, 40, 0, 0, 0, 168, 0, 0, 8, 18, 240, 17, 0, 3, 0, 0, 0, 10, 32, 2, 0, 1, 64, 0, 0, 0, 0, 0, 0, 10, 0, 16, 0, 38, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 10, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 26, 0, 16, 0, 38, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 26, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 42, 0, 16, 0, 38, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 42, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 58, 0, 16, 0, 38, 0, 0, 0, 21, 0, 0, 1, 21, 0, 0, 1, 190, 24, 0, 1, 31, 0, 4, 3, 58, 0, 16, 0, 24, 0, 0, 0, 31, 0, 4, 3, 42, 0, 16, 0, 7, 0, 0, 0, 167, 0, 0, 8, 18, 0, 16, 0, 38, 0, 0, 0, 10, 32, 2, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 34, 0, 16, 0, 38, 0, 0, 0, 10, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 66, 0, 16, 0, 38, 0, 0, 0, 26, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 130, 0, 16, 0, 38, 0, 0, 0, 42, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 18, 0, 16, 0, 40, 0, 0, 0, 42, 0, 16, 0, 3, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 34, 0, 16, 0, 40, 0, 0, 0, 26, 0, 16, 0, 8, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 66, 0, 16, 0, 40, 0, 0, 0, 42, 0, 16, 0, 9, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 130, 0, 16, 0, 40, 0, 0, 0, 42, 0, 16, 0, 8, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 60, 0, 0, 7, 242, 0, 16, 0, 38, 0, 0, 0, 70, 14, 16, 0, 38, 0, 0, 0, 70, 14, 16, 0, 40, 0, 0, 0, 168, 0, 0, 8, 18, 240, 17, 0, 3, 0, 0, 0, 10, 32, 2, 0, 1, 64, 0, 0, 0, 0, 0, 0, 10, 0, 16, 0, 38, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 10, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 26, 0, 16, 0, 38, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 26, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 42, 0, 16, 0, 38, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 42, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 58, 0, 16, 0, 38, 0, 0, 0, 21, 0, 0, 1, 21, 0, 0, 1, 190, 24, 0, 1, 31, 0, 4, 3, 58, 0, 16, 0, 24, 0, 0, 0, 31, 0, 4, 3, 58, 0, 16, 0, 7, 0, 0, 0, 167, 0, 0, 8, 18, 0, 16, 0, 38, 0, 0, 0, 10, 32, 2, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 34, 0, 16, 0, 38, 0, 0, 0, 10, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 66, 0, 16, 0, 38, 0, 0, 0, 26, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 130, 0, 16, 0, 38, 0, 0, 0, 42, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 18, 0, 16, 0, 40, 0, 0, 0, 58, 0, 16, 0, 3, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 34, 0, 16, 0, 40, 0, 0, 0, 58, 0, 16, 0, 8, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 66, 0, 16, 0, 40, 0, 0, 0, 58, 0, 16, 0, 9, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 130, 0, 16, 0, 40, 0, 0, 0, 10, 0, 16, 0, 13, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 60, 0, 0, 7, 242, 0, 16, 0, 38, 0, 0, 0, 70, 14, 16, 0, 38, 0, 0, 0, 70, 14, 16, 0, 40, 0, 0, 0, 168, 0, 0, 8, 18, 240, 17, 0, 3, 0, 0, 0, 10, 32, 2, 0, 1, 64, 0, 0, 0, 0, 0, 0, 10, 0, 16, 0, 38, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 10, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 26, 0, 16, 0, 38, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 26, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 42, 0, 16, 0, 38, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 42, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 58, 0, 16, 0, 38, 0, 0, 0, 21, 0, 0, 1, 21, 0, 0, 1, 190, 24, 0, 1, 31, 0, 4, 3, 58, 0, 16, 0, 24, 0, 0, 0, 31, 0, 4, 3, 58, 0, 16, 0, 5, 0, 0, 0, 167, 0, 0, 8, 18, 0, 16, 0, 38, 0, 0, 0, 10, 32, 2, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 34, 0, 16, 0, 38, 0, 0, 0, 10, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 66, 0, 16, 0, 38, 0, 0, 0, 26, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 130, 0, 16, 0, 38, 0, 0, 0, 42, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 18, 0, 16, 0, 40, 0, 0, 0, 10, 0, 16, 0, 6, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 34, 0, 16, 0, 40, 0, 0, 0, 26, 0, 16, 0, 13, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 66, 0, 16, 0, 40, 0, 0, 0, 10, 0, 16, 0, 14, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 130, 0, 16, 0, 40, 0, 0, 0, 42, 0, 16, 0, 13, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 60, 0, 0, 7, 242, 0, 16, 0, 38, 0, 0, 0, 70, 14, 16, 0, 38, 0, 0, 0, 70, 14, 16, 0, 40, 0, 0, 0, 168, 0, 0, 8, 18, 240, 17, 0, 3, 0, 0, 0, 10, 32, 2, 0, 1, 64, 0, 0, 0, 0, 0, 0, 10, 0, 16, 0, 38, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 10, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 26, 0, 16, 0, 38, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 26, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 42, 0, 16, 0, 38, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 42, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 58, 0, 16, 0, 38, 0, 0, 0, 21, 0, 0, 1, 21, 0, 0, 1, 190, 24, 0, 1, 31, 0, 4, 3, 58, 0, 16, 0, 24, 0, 0, 0, 167, 0, 0, 9, 18, 0, 16, 0, 38, 0, 0, 0, 42, 0, 16, 0, 5, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 34, 0, 16, 0, 38, 0, 0, 0, 10, 0, 16, 0, 10, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 66, 0, 16, 0, 38, 0, 0, 0, 26, 0, 16, 0, 10, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 130, 0, 16, 0, 38, 0, 0, 0, 42, 0, 16, 0, 10, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 18, 0, 0, 1, 54, 0, 0, 8, 242, 0, 16, 0, 38, 0, 0, 0, 2, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21, 0, 0, 1, 87, 0, 0, 7, 82, 0, 16, 0, 32, 0, 0, 0, 166, 11, 16, 0, 2, 0, 0, 0, 6, 1, 16, 0, 38, 0, 0, 0, 1, 0, 0, 7, 18, 0, 16, 0, 32, 0, 0, 0, 42, 0, 16, 0, 32, 0, 0, 0, 10, 0, 16, 0, 32, 0, 0, 0, 87, 0, 0, 7, 194, 0, 16, 0, 32, 0, 0, 0, 6, 4, 16, 0, 5, 0, 0, 0, 166, 14, 16, 0, 38, 0, 0, 0, 1, 0, 0, 7, 18, 0, 16, 0, 32, 0, 0, 0, 42, 0, 16, 0, 32, 0, 0, 0, 10, 0, 16, 0, 32, 0, 0, 0, 1, 0, 0, 7, 18, 0, 16, 0, 32, 0, 0, 0, 58, 0, 16, 0, 32, 0, 0, 0, 10, 0, 16, 0, 32, 0, 0, 0, 134, 0, 0, 5, 18, 0, 16, 0, 32, 0, 0, 0, 10, 0, 16, 0, 32, 0, 0, 0, 1, 0, 0, 7, 18, 0, 16, 0, 32, 0, 0, 0, 58, 0, 16, 0, 24, 0, 0, 0, 10, 0, 16, 0, 32, 0, 0, 0, 30, 0, 0, 7, 130, 0, 16, 0, 30, 0, 0, 0, 58, 0, 16, 0, 30, 0, 0, 0, 10, 0, 16, 0, 32, 0, 0, 0, 21, 0, 0, 1, 31, 0, 4, 3, 10, 0, 16, 0, 7, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 10, 0, 16, 0, 11, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 58, 0, 16, 0, 30, 0, 0, 0, 21, 0, 0, 1, 190, 24, 0, 1, 31, 0, 0, 2, 10, 32, 2, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 1, 64, 0, 0, 0, 16, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 1, 64, 0, 0, 1, 18, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 21, 0, 0, 1, 31, 0, 4, 3, 58, 0, 16, 0, 1, 0, 0, 0, 31, 0, 4, 3, 10, 0, 16, 0, 16, 0, 0, 0, 167, 0, 0, 9, 18, 0, 16, 0, 32, 0, 0, 0, 26, 0, 16, 0, 14, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 66, 0, 16, 0, 32, 0, 0, 0, 58, 0, 16, 0, 10, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 30, 0, 0, 7, 18, 0, 16, 0, 32, 0, 0, 0, 42, 0, 16, 0, 32, 0, 0, 0, 10, 0, 16, 0, 32, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 58, 0, 16, 0, 11, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 10, 0, 16, 0, 32, 0, 0, 0, 18, 0, 0, 1, 167, 0, 0, 9, 18, 0, 16, 0, 32, 0, 0, 0, 1, 64, 0, 0, 1, 16, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 1, 64, 0, 0, 2, 18, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 10, 0, 16, 0, 32, 0, 0, 0, 21, 0, 0, 1, 21, 0, 0, 1, 190, 24, 0, 1, 31, 0, 4, 3, 58, 0, 16, 0, 1, 0, 0, 0, 31, 0, 4, 3, 26, 0, 16, 0, 16, 0, 0, 0, 167, 0, 0, 9, 18, 0, 16, 0, 32, 0, 0, 0, 58, 0, 16, 0, 11, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 66, 0, 16, 0, 32, 0, 0, 0, 58, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 30, 0, 0, 7, 18, 0, 16, 0, 32, 0, 0, 0, 42, 0, 16, 0, 32, 0, 0, 0, 10, 0, 16, 0, 32, 0, 0, 0, 18, 0, 0, 1, 167, 0, 0, 9, 18, 0, 16, 0, 32, 0, 0, 0, 58, 0, 16, 0, 11, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 21, 0, 0, 1, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 10, 0, 16, 0, 15, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 10, 0, 16, 0, 32, 0, 0, 0, 21, 0, 0, 1, 190, 24, 0, 1, 31, 0, 4, 3, 58, 0, 16, 0, 1, 0, 0, 0, 31, 0, 4, 3, 42, 0, 16, 0, 16, 0, 0, 0, 167, 0, 0, 9, 18, 0, 16, 0, 32, 0, 0, 0, 26, 0, 16, 0, 14, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 66, 0, 16, 0, 32, 0, 0, 0, 58, 0, 16, 0, 15, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 30, 0, 0, 7, 18, 0, 16, 0, 32, 0, 0, 0, 42, 0, 16, 0, 32, 0, 0, 0, 10, 0, 16, 0, 32, 0, 0, 0, 18, 0, 0, 1, 167, 0, 0, 9, 18, 0, 16, 0, 32, 0, 0, 0, 26, 0, 16, 0, 14, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 21, 0, 0, 1, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 42, 0, 16, 0, 15, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 10, 0, 16, 0, 32, 0, 0, 0, 21, 0, 0, 1, 190, 24, 0, 1, 31, 0, 4, 3, 58, 0, 16, 0, 1, 0, 0, 0, 31, 0, 4, 3, 58, 0, 16, 0, 16, 0, 0, 0, 167, 0, 0, 9, 18, 0, 16, 0, 32, 0, 0, 0, 58, 0, 16, 0, 11, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 66, 0, 16, 0, 32, 0, 0, 0, 42, 0, 16, 0, 14, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 30, 0, 0, 7, 18, 0, 16, 0, 32, 0, 0, 0, 42, 0, 16, 0, 32, 0, 0, 0, 10, 0, 16, 0, 32, 0, 0, 0, 18, 0, 0, 1, 167, 0, 0, 9, 18, 0, 16, 0, 32, 0, 0, 0, 58, 0, 16, 0, 11, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 21, 0, 0, 1, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 10, 0, 16, 0, 15, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 10, 0, 16, 0, 32, 0, 0, 0, 21, 0, 0, 1, 190, 24, 0, 1, 31, 0, 4, 3, 58, 0, 16, 0, 1, 0, 0, 0, 31, 0, 4, 3, 10, 0, 16, 0, 18, 0, 0, 0, 167, 0, 0, 9, 18, 0, 16, 0, 32, 0, 0, 0, 26, 0, 16, 0, 14, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 66, 0, 16, 0, 32, 0, 0, 0, 26, 0, 16, 0, 17, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 30, 0, 0, 7, 18, 0, 16, 0, 32, 0, 0, 0, 42, 0, 16, 0, 32, 0, 0, 0, 10, 0, 16, 0, 32, 0, 0, 0, 18, 0, 0, 1, 167, 0, 0, 9, 18, 0, 16, 0, 32, 0, 0, 0, 26, 0, 16, 0, 14, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 21, 0, 0, 1, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 42, 0, 16, 0, 15, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 10, 0, 16, 0, 32, 0, 0, 0, 21, 0, 0, 1, 190, 24, 0, 1, 31, 0, 4, 3, 58, 0, 16, 0, 1, 0, 0, 0, 31, 0, 4, 3, 26, 0, 16, 0, 18, 0, 0, 0, 167, 0, 0, 9, 18, 0, 16, 0, 32, 0, 0, 0, 58, 0, 16, 0, 11, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 66, 0, 16, 0, 32, 0, 0, 0, 58, 0, 16, 0, 14, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 30, 0, 0, 7, 18, 0, 16, 0, 32, 0, 0, 0, 42, 0, 16, 0, 32, 0, 0, 0, 10, 0, 16, 0, 32, 0, 0, 0, 18, 0, 0, 1, 167, 0, 0, 9, 18, 0, 16, 0, 32, 0, 0, 0, 58, 0, 16, 0, 11, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 21, 0, 0, 1, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 10, 0, 16, 0, 15, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 10, 0, 16, 0, 32, 0, 0, 0, 21, 0, 0, 1, 190, 24, 0, 1, 31, 0, 4, 3, 58, 0, 16, 0, 1, 0, 0, 0, 31, 0, 4, 3, 42, 0, 16, 0, 18, 0, 0, 0, 167, 0, 0, 9, 18, 0, 16, 0, 32, 0, 0, 0, 26, 0, 16, 0, 14, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 66, 0, 16, 0, 32, 0, 0, 0, 58, 0, 16, 0, 17, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 30, 0, 0, 7, 18, 0, 16, 0, 32, 0, 0, 0, 42, 0, 16, 0, 32, 0, 0, 0, 10, 0, 16, 0, 32, 0, 0, 0, 18, 0, 0, 1, 167, 0, 0, 9, 18, 0, 16, 0, 32, 0, 0, 0, 26, 0, 16, 0, 14, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 21, 0, 0, 1, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 42, 0, 16, 0, 15, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 10, 0, 16, 0, 32, 0, 0, 0, 21, 0, 0, 1, 190, 24, 0, 1, 31, 0, 4, 3, 58, 0, 16, 0, 1, 0, 0, 0, 31, 0, 4, 3, 58, 0, 16, 0, 18, 0, 0, 0, 167, 0, 0, 9, 18, 0, 16, 0, 32, 0, 0, 0, 58, 0, 16, 0, 11, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 66, 0, 16, 0, 32, 0, 0, 0, 58, 0, 16, 0, 13, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 30, 0, 0, 7, 18, 0, 16, 0, 32, 0, 0, 0, 42, 0, 16, 0, 32, 0, 0, 0, 10, 0, 16, 0, 32, 0, 0, 0, 18, 0, 0, 1, 167, 0, 0, 9, 18, 0, 16, 0, 32, 0, 0, 0, 58, 0, 16, 0, 11, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 21, 0, 0, 1, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 10, 0, 16, 0, 15, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 10, 0, 16, 0, 32, 0, 0, 0, 21, 0, 0, 1, 190, 24, 0, 1, 31, 0, 4, 3, 58, 0, 16, 0, 1, 0, 0, 0, 31, 0, 4, 3, 26, 0, 16, 0, 15, 0, 0, 0, 167, 0, 0, 9, 18, 0, 16, 0, 32, 0, 0, 0, 26, 0, 16, 0, 14, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 66, 0, 16, 0, 32, 0, 0, 0, 42, 0, 16, 0, 17, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 30, 0, 0, 7, 18, 0, 16, 0, 32, 0, 0, 0, 42, 0, 16, 0, 32, 0, 0, 0, 10, 0, 16, 0, 32, 0, 0, 0, 18, 0, 0, 1, 167, 0, 0, 9, 18, 0, 16, 0, 32, 0, 0, 0, 26, 0, 16, 0, 14, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 21, 0, 0, 1, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 42, 0, 16, 0, 15, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 10, 0, 16, 0, 32, 0, 0, 0, 21, 0, 0, 1, 190, 24, 0, 1, 54, 0, 0, 5, 18, 0, 16, 0, 32, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 54, 0, 0, 5, 66, 0, 16, 0, 32, 0, 0, 0, 10, 0, 16, 0, 26, 0, 0, 0, 48, 0, 0, 1, 80, 0, 0, 7, 130, 0, 16, 0, 32, 0, 0, 0, 10, 0, 16, 0, 32, 0, 0, 0, 10, 0, 16, 0, 24, 0, 0, 0, 3, 0, 4, 3, 58, 0, 16, 0, 32, 0, 0, 0, 79, 0, 0, 7, 130, 0, 16, 0, 32, 0, 0, 0, 42, 0, 16, 0, 32, 0, 0, 0, 58, 0, 16, 0, 25, 0, 0, 0, 30, 0, 0, 7, 130, 0, 16, 0, 33, 0, 0, 0, 42, 0, 16, 0, 26, 0, 0, 0, 42, 0, 16, 0, 32, 0, 0, 0, 167, 0, 0, 139, 2, 35, 0, 128, 131, 153, 25, 0, 130, 0, 16, 0, 33, 0, 0, 0, 58, 0, 16, 0, 33, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 224, 17, 0, 2, 0, 0, 0, 55, 0, 0, 9, 130, 0, 16, 0, 33, 0, 0, 0, 58, 0, 16, 0, 32, 0, 0, 0, 58, 0, 16, 0, 33, 0, 0, 0, 1, 64, 0, 0, 255, 255, 255, 255, 85, 0, 0, 7, 130, 0, 16, 0, 36, 0, 0, 0, 58, 0, 16, 0, 33, 0, 0, 0, 26, 0, 16, 0, 26, 0, 0, 0, 1, 0, 0, 10, 242, 0, 16, 0, 38, 0, 0, 0, 246, 15, 16, 0, 36, 0, 0, 0, 2, 64, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 4, 0, 0, 0, 8, 0, 0, 0, 39, 0, 0, 10, 242, 0, 16, 0, 40, 0, 0, 0, 70, 14, 16, 0, 38, 0, 0, 0, 2, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 140, 0, 0, 16, 242, 0, 16, 0, 41, 0, 0, 0, 2, 64, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 6, 32, 2, 0, 70, 14, 16, 0, 40, 0, 0, 0, 2, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 168, 0, 0, 8, 18, 240, 17, 0, 3, 0, 0, 0, 10, 32, 2, 0, 1, 64, 0, 0, 0, 0, 0, 0, 10, 0, 16, 0, 41, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 10, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 26, 0, 16, 0, 41, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 26, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 42, 0, 16, 0, 41, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 42, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 58, 0, 16, 0, 41, 0, 0, 0, 190, 24, 0, 1, 31, 0, 4, 3, 10, 0, 16, 0, 7, 0, 0, 0, 167, 0, 0, 8, 18, 0, 16, 0, 41, 0, 0, 0, 10, 32, 2, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 34, 0, 16, 0, 41, 0, 0, 0, 10, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 66, 0, 16, 0, 41, 0, 0, 0, 26, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 130, 0, 16, 0, 41, 0, 0, 0, 42, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 18, 0, 16, 0, 45, 0, 0, 0, 10, 0, 16, 0, 3, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 34, 0, 16, 0, 45, 0, 0, 0, 26, 0, 16, 0, 6, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 66, 0, 16, 0, 45, 0, 0, 0, 10, 0, 16, 0, 9, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 130, 0, 16, 0, 45, 0, 0, 0, 42, 0, 16, 0, 6, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 60, 0, 0, 7, 242, 0, 16, 0, 41, 0, 0, 0, 70, 14, 16, 0, 41, 0, 0, 0, 70, 14, 16, 0, 45, 0, 0, 0, 168, 0, 0, 8, 18, 240, 17, 0, 3, 0, 0, 0, 10, 32, 2, 0, 1, 64, 0, 0, 0, 0, 0, 0, 10, 0, 16, 0, 41, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 10, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 26, 0, 16, 0, 41, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 26, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 42, 0, 16, 0, 41, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 42, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 58, 0, 16, 0, 41, 0, 0, 0, 21, 0, 0, 1, 190, 24, 0, 1, 31, 0, 4, 3, 26, 0, 16, 0, 7, 0, 0, 0, 167, 0, 0, 8, 18, 0, 16, 0, 41, 0, 0, 0, 10, 32, 2, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 34, 0, 16, 0, 41, 0, 0, 0, 10, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 66, 0, 16, 0, 41, 0, 0, 0, 26, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 130, 0, 16, 0, 41, 0, 0, 0, 42, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 18, 0, 16, 0, 45, 0, 0, 0, 26, 0, 16, 0, 3, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 34, 0, 16, 0, 45, 0, 0, 0, 58, 0, 16, 0, 6, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 66, 0, 16, 0, 45, 0, 0, 0, 26, 0, 16, 0, 9, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 130, 0, 16, 0, 45, 0, 0, 0, 10, 0, 16, 0, 8, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 60, 0, 0, 7, 242, 0, 16, 0, 41, 0, 0, 0, 70, 14, 16, 0, 41, 0, 0, 0, 70, 14, 16, 0, 45, 0, 0, 0, 168, 0, 0, 8, 18, 240, 17, 0, 3, 0, 0, 0, 10, 32, 2, 0, 1, 64, 0, 0, 0, 0, 0, 0, 10, 0, 16, 0, 41, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 10, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 26, 0, 16, 0, 41, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 26, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 42, 0, 16, 0, 41, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 42, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 58, 0, 16, 0, 41, 0, 0, 0, 21, 0, 0, 1, 190, 24, 0, 1, 31, 0, 4, 3, 42, 0, 16, 0, 7, 0, 0, 0, 167, 0, 0, 8, 18, 0, 16, 0, 41, 0, 0, 0, 10, 32, 2, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 34, 0, 16, 0, 41, 0, 0, 0, 10, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 66, 0, 16, 0, 41, 0, 0, 0, 26, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 130, 0, 16, 0, 41, 0, 0, 0, 42, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 18, 0, 16, 0, 45, 0, 0, 0, 42, 0, 16, 0, 3, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 34, 0, 16, 0, 45, 0, 0, 0, 26, 0, 16, 0, 8, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 66, 0, 16, 0, 45, 0, 0, 0, 42, 0, 16, 0, 9, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 130, 0, 16, 0, 45, 0, 0, 0, 42, 0, 16, 0, 8, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 60, 0, 0, 7, 242, 0, 16, 0, 41, 0, 0, 0, 70, 14, 16, 0, 41, 0, 0, 0, 70, 14, 16, 0, 45, 0, 0, 0, 168, 0, 0, 8, 18, 240, 17, 0, 3, 0, 0, 0, 10, 32, 2, 0, 1, 64, 0, 0, 0, 0, 0, 0, 10, 0, 16, 0, 41, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 10, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 26, 0, 16, 0, 41, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 26, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 42, 0, 16, 0, 41, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 42, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 58, 0, 16, 0, 41, 0, 0, 0, 21, 0, 0, 1, 190, 24, 0, 1, 31, 0, 4, 3, 58, 0, 16, 0, 7, 0, 0, 0, 167, 0, 0, 8, 18, 0, 16, 0, 41, 0, 0, 0, 10, 32, 2, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 34, 0, 16, 0, 41, 0, 0, 0, 10, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 66, 0, 16, 0, 41, 0, 0, 0, 26, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 130, 0, 16, 0, 41, 0, 0, 0, 42, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 18, 0, 16, 0, 45, 0, 0, 0, 58, 0, 16, 0, 3, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 34, 0, 16, 0, 45, 0, 0, 0, 58, 0, 16, 0, 8, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 66, 0, 16, 0, 45, 0, 0, 0, 58, 0, 16, 0, 9, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 130, 0, 16, 0, 45, 0, 0, 0, 10, 0, 16, 0, 13, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 60, 0, 0, 7, 242, 0, 16, 0, 41, 0, 0, 0, 70, 14, 16, 0, 41, 0, 0, 0, 70, 14, 16, 0, 45, 0, 0, 0, 168, 0, 0, 8, 18, 240, 17, 0, 3, 0, 0, 0, 10, 32, 2, 0, 1, 64, 0, 0, 0, 0, 0, 0, 10, 0, 16, 0, 41, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 10, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 26, 0, 16, 0, 41, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 26, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 42, 0, 16, 0, 41, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 42, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 58, 0, 16, 0, 41, 0, 0, 0, 21, 0, 0, 1, 190, 24, 0, 1, 31, 0, 4, 3, 58, 0, 16, 0, 5, 0, 0, 0, 167, 0, 0, 8, 18, 0, 16, 0, 41, 0, 0, 0, 10, 32, 2, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 34, 0, 16, 0, 41, 0, 0, 0, 10, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 66, 0, 16, 0, 41, 0, 0, 0, 26, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 130, 0, 16, 0, 41, 0, 0, 0, 42, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 18, 0, 16, 0, 45, 0, 0, 0, 10, 0, 16, 0, 6, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 34, 0, 16, 0, 45, 0, 0, 0, 26, 0, 16, 0, 13, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 66, 0, 16, 0, 45, 0, 0, 0, 10, 0, 16, 0, 14, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 130, 0, 16, 0, 45, 0, 0, 0, 42, 0, 16, 0, 13, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 60, 0, 0, 7, 242, 0, 16, 0, 41, 0, 0, 0, 70, 14, 16, 0, 41, 0, 0, 0, 70, 14, 16, 0, 45, 0, 0, 0, 168, 0, 0, 8, 18, 240, 17, 0, 3, 0, 0, 0, 10, 32, 2, 0, 1, 64, 0, 0, 0, 0, 0, 0, 10, 0, 16, 0, 41, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 10, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 26, 0, 16, 0, 41, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 26, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 42, 0, 16, 0, 41, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 42, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 58, 0, 16, 0, 41, 0, 0, 0, 21, 0, 0, 1, 190, 24, 0, 1, 167, 0, 0, 9, 34, 0, 16, 0, 38, 0, 0, 0, 42, 0, 16, 0, 5, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 66, 0, 16, 0, 38, 0, 0, 0, 10, 0, 16, 0, 10, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 130, 0, 16, 0, 38, 0, 0, 0, 26, 0, 16, 0, 10, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 130, 0, 16, 0, 39, 0, 0, 0, 42, 0, 16, 0, 10, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 140, 0, 0, 11, 130, 0, 16, 0, 36, 0, 0, 0, 1, 64, 0, 0, 4, 0, 0, 0, 1, 64, 0, 0, 5, 0, 0, 0, 58, 0, 16, 0, 36, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 30, 0, 0, 7, 130, 0, 16, 0, 36, 0, 0, 0, 26, 0, 16, 0, 11, 0, 0, 0, 58, 0, 16, 0, 36, 0, 0, 0, 30, 0, 0, 7, 130, 0, 16, 0, 36, 0, 0, 0, 58, 0, 16, 0, 36, 0, 0, 0, 1, 64, 0, 0, 0, 16, 0, 0, 167, 0, 0, 9, 130, 0, 16, 0, 36, 0, 0, 0, 58, 0, 16, 0, 36, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 31, 0, 4, 3, 58, 0, 16, 0, 32, 0, 0, 0, 30, 0, 0, 7, 130, 0, 16, 0, 32, 0, 0, 0, 10, 0, 16, 0, 38, 0, 0, 0, 1, 64, 0, 0, 255, 255, 255, 255, 87, 0, 0, 7, 130, 0, 16, 0, 32, 0, 0, 0, 26, 0, 16, 0, 38, 0, 0, 0, 58, 0, 16, 0, 32, 0, 0, 0, 32, 0, 0, 10, 114, 0, 16, 0, 40, 0, 0, 0, 150, 7, 16, 0, 40, 0, 0, 0, 2, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 87, 0, 0, 7, 18, 0, 16, 0, 38, 0, 0, 0, 42, 0, 16, 0, 38, 0, 0, 0, 10, 0, 16, 0, 40, 0, 0, 0, 1, 0, 0, 7, 130, 0, 16, 0, 32, 0, 0, 0, 58, 0, 16, 0, 32, 0, 0, 0, 10, 0, 16, 0, 38, 0, 0, 0, 87, 0, 0, 7, 18, 0, 16, 0, 38, 0, 0, 0, 58, 0, 16, 0, 38, 0, 0, 0, 26, 0, 16, 0, 40, 0, 0, 0, 1, 0, 0, 7, 130, 0, 16, 0, 32, 0, 0, 0, 58, 0, 16, 0, 32, 0, 0, 0, 10, 0, 16, 0, 38, 0, 0, 0, 87, 0, 0, 7, 18, 0, 16, 0, 38, 0, 0, 0, 58, 0, 16, 0, 39, 0, 0, 0, 42, 0, 16, 0, 40, 0, 0, 0, 1, 0, 0, 7, 130, 0, 16, 0, 32, 0, 0, 0, 58, 0, 16, 0, 32, 0, 0, 0, 10, 0, 16, 0, 38, 0, 0, 0, 138, 0, 0, 8, 130, 0, 16, 0, 32, 0, 0, 0, 10, 32, 2, 0, 1, 64, 0, 0, 0, 0, 0, 0, 58, 0, 16, 0, 32, 0, 0, 0, 134, 0, 0, 5, 130, 0, 16, 0, 32, 0, 0, 0, 58, 0, 16, 0, 32, 0, 0, 0, 30, 0, 0, 7, 130, 0, 16, 0, 32, 0, 0, 0, 58, 0, 16, 0, 32, 0, 0, 0, 58, 0, 16, 0, 36, 0, 0, 0, 30, 0, 0, 7, 130, 0, 16, 0, 32, 0, 0, 0, 58, 0, 16, 0, 26, 0, 0, 0, 58, 0, 16, 0, 32, 0, 0, 0, 168, 0, 0, 9, 18, 224, 17, 0, 2, 0, 0, 0, 58, 0, 16, 0, 32, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 58, 0, 16, 0, 33, 0, 0, 0, 21, 0, 0, 1, 190, 24, 0, 1, 31, 0, 4, 3, 10, 0, 16, 0, 7, 0, 0, 0, 167, 0, 0, 9, 130, 0, 16, 0, 32, 0, 0, 0, 42, 0, 16, 0, 11, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 87, 0, 0, 7, 130, 0, 16, 0, 33, 0, 0, 0, 42, 0, 16, 0, 2, 0, 0, 0, 26, 0, 16, 0, 38, 0, 0, 0, 87, 0, 0, 7, 130, 0, 16, 0, 36, 0, 0, 0, 58, 0, 16, 0, 2, 0, 0, 0, 42, 0, 16, 0, 38, 0, 0, 0, 1, 0, 0, 7, 130, 0, 16, 0, 33, 0, 0, 0, 58, 0, 16, 0, 33, 0, 0, 0, 58, 0, 16, 0, 36, 0, 0, 0, 87, 0, 0, 7, 130, 0, 16, 0, 36, 0, 0, 0, 10, 0, 16, 0, 5, 0, 0, 0, 58, 0, 16, 0, 38, 0, 0, 0, 1, 0, 0, 7, 130, 0, 16, 0, 33, 0, 0, 0, 58, 0, 16, 0, 33, 0, 0, 0, 58, 0, 16, 0, 36, 0, 0, 0, 87, 0, 0, 7, 130, 0, 16, 0, 36, 0, 0, 0, 26, 0, 16, 0, 5, 0, 0, 0, 58, 0, 16, 0, 39, 0, 0, 0, 1, 0, 0, 7, 130, 0, 16, 0, 33, 0, 0, 0, 58, 0, 16, 0, 33, 0, 0, 0, 58, 0, 16, 0, 36, 0, 0, 0, 134, 0, 0, 5, 130, 0, 16, 0, 33, 0, 0, 0, 58, 0, 16, 0, 33, 0, 0, 0, 30, 0, 0, 7, 130, 0, 16, 0, 32, 0, 0, 0, 58, 0, 16, 0, 32, 0, 0, 0, 58, 0, 16, 0, 33, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 42, 0, 16, 0, 11, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 58, 0, 16, 0, 32, 0, 0, 0, 21, 0, 0, 1, 30, 0, 0, 10, 82, 0, 16, 0, 32, 0, 0, 0, 6, 2, 16, 0, 32, 0, 0, 0, 2, 64, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 32, 0, 0, 0, 0, 0, 0, 0, 22, 0, 0, 1, 31, 0, 4, 3, 42, 0, 16, 0, 24, 0, 0, 0, 79, 0, 0, 7, 18, 0, 16, 0, 32, 0, 0, 0, 42, 0, 16, 0, 32, 0, 0, 0, 58, 0, 16, 0, 25, 0, 0, 0, 30, 0, 0, 7, 130, 0, 16, 0, 32, 0, 0, 0, 42, 0, 16, 0, 26, 0, 0, 0, 42, 0, 16, 0, 32, 0, 0, 0, 167, 0, 0, 139, 2, 35, 0, 128, 131, 153, 25, 0, 130, 0, 16, 0, 32, 0, 0, 0, 58, 0, 16, 0, 32, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 224, 17, 0, 2, 0, 0, 0, 55, 0, 0, 9, 130, 0, 16, 0, 32, 0, 0, 0, 10, 0, 16, 0, 32, 0, 0, 0, 58, 0, 16, 0, 32, 0, 0, 0, 1, 64, 0, 0, 255, 255, 255, 255, 85, 0, 0, 7, 130, 0, 16, 0, 33, 0, 0, 0, 58, 0, 16, 0, 32, 0, 0, 0, 26, 0, 16, 0, 26, 0, 0, 0, 31, 0, 4, 3, 58, 0, 16, 0, 24, 0, 0, 0, 1, 0, 0, 10, 242, 0, 16, 0, 38, 0, 0, 0, 246, 15, 16, 0, 33, 0, 0, 0, 2, 64, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 4, 0, 0, 0, 8, 0, 0, 0, 39, 0, 0, 10, 242, 0, 16, 0, 38, 0, 0, 0, 70, 14, 16, 0, 38, 0, 0, 0, 2, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 140, 0, 0, 16, 242, 0, 16, 0, 38, 0, 0, 0, 2, 64, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 6, 32, 2, 0, 70, 14, 16, 0, 38, 0, 0, 0, 2, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 168, 0, 0, 8, 18, 240, 17, 0, 3, 0, 0, 0, 10, 32, 2, 0, 1, 64, 0, 0, 0, 0, 0, 0, 10, 0, 16, 0, 38, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 10, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 26, 0, 16, 0, 38, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 26, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 42, 0, 16, 0, 38, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 42, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 58, 0, 16, 0, 38, 0, 0, 0, 21, 0, 0, 1, 190, 24, 0, 1, 31, 0, 4, 3, 58, 0, 16, 0, 24, 0, 0, 0, 31, 0, 4, 3, 10, 0, 16, 0, 7, 0, 0, 0, 167, 0, 0, 8, 18, 0, 16, 0, 38, 0, 0, 0, 10, 32, 2, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 34, 0, 16, 0, 38, 0, 0, 0, 10, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 66, 0, 16, 0, 38, 0, 0, 0, 26, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 130, 0, 16, 0, 38, 0, 0, 0, 42, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 18, 0, 16, 0, 40, 0, 0, 0, 10, 0, 16, 0, 3, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 34, 0, 16, 0, 40, 0, 0, 0, 26, 0, 16, 0, 6, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 66, 0, 16, 0, 40, 0, 0, 0, 10, 0, 16, 0, 9, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 130, 0, 16, 0, 40, 0, 0, 0, 42, 0, 16, 0, 6, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 60, 0, 0, 7, 242, 0, 16, 0, 38, 0, 0, 0, 70, 14, 16, 0, 38, 0, 0, 0, 70, 14, 16, 0, 40, 0, 0, 0, 168, 0, 0, 8, 18, 240, 17, 0, 3, 0, 0, 0, 10, 32, 2, 0, 1, 64, 0, 0, 0, 0, 0, 0, 10, 0, 16, 0, 38, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 10, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 26, 0, 16, 0, 38, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 26, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 42, 0, 16, 0, 38, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 42, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 58, 0, 16, 0, 38, 0, 0, 0, 21, 0, 0, 1, 21, 0, 0, 1, 190, 24, 0, 1, 31, 0, 4, 3, 58, 0, 16, 0, 24, 0, 0, 0, 31, 0, 4, 3, 26, 0, 16, 0, 7, 0, 0, 0, 167, 0, 0, 8, 18, 0, 16, 0, 38, 0, 0, 0, 10, 32, 2, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 34, 0, 16, 0, 38, 0, 0, 0, 10, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 66, 0, 16, 0, 38, 0, 0, 0, 26, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 130, 0, 16, 0, 38, 0, 0, 0, 42, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 18, 0, 16, 0, 40, 0, 0, 0, 26, 0, 16, 0, 3, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 34, 0, 16, 0, 40, 0, 0, 0, 58, 0, 16, 0, 6, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 66, 0, 16, 0, 40, 0, 0, 0, 26, 0, 16, 0, 9, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 130, 0, 16, 0, 40, 0, 0, 0, 10, 0, 16, 0, 8, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 60, 0, 0, 7, 242, 0, 16, 0, 38, 0, 0, 0, 70, 14, 16, 0, 38, 0, 0, 0, 70, 14, 16, 0, 40, 0, 0, 0, 168, 0, 0, 8, 18, 240, 17, 0, 3, 0, 0, 0, 10, 32, 2, 0, 1, 64, 0, 0, 0, 0, 0, 0, 10, 0, 16, 0, 38, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 10, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 26, 0, 16, 0, 38, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 26, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 42, 0, 16, 0, 38, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 42, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 58, 0, 16, 0, 38, 0, 0, 0, 21, 0, 0, 1, 21, 0, 0, 1, 190, 24, 0, 1, 31, 0, 4, 3, 58, 0, 16, 0, 24, 0, 0, 0, 31, 0, 4, 3, 42, 0, 16, 0, 7, 0, 0, 0, 167, 0, 0, 8, 18, 0, 16, 0, 38, 0, 0, 0, 10, 32, 2, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 34, 0, 16, 0, 38, 0, 0, 0, 10, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 66, 0, 16, 0, 38, 0, 0, 0, 26, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 130, 0, 16, 0, 38, 0, 0, 0, 42, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 18, 0, 16, 0, 40, 0, 0, 0, 42, 0, 16, 0, 3, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 34, 0, 16, 0, 40, 0, 0, 0, 26, 0, 16, 0, 8, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 66, 0, 16, 0, 40, 0, 0, 0, 42, 0, 16, 0, 9, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 130, 0, 16, 0, 40, 0, 0, 0, 42, 0, 16, 0, 8, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 60, 0, 0, 7, 242, 0, 16, 0, 38, 0, 0, 0, 70, 14, 16, 0, 38, 0, 0, 0, 70, 14, 16, 0, 40, 0, 0, 0, 168, 0, 0, 8, 18, 240, 17, 0, 3, 0, 0, 0, 10, 32, 2, 0, 1, 64, 0, 0, 0, 0, 0, 0, 10, 0, 16, 0, 38, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 10, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 26, 0, 16, 0, 38, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 26, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 42, 0, 16, 0, 38, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 42, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 58, 0, 16, 0, 38, 0, 0, 0, 21, 0, 0, 1, 21, 0, 0, 1, 190, 24, 0, 1, 31, 0, 4, 3, 58, 0, 16, 0, 24, 0, 0, 0, 31, 0, 4, 3, 58, 0, 16, 0, 7, 0, 0, 0, 167, 0, 0, 8, 18, 0, 16, 0, 38, 0, 0, 0, 10, 32, 2, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 34, 0, 16, 0, 38, 0, 0, 0, 10, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 66, 0, 16, 0, 38, 0, 0, 0, 26, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 130, 0, 16, 0, 38, 0, 0, 0, 42, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 18, 0, 16, 0, 40, 0, 0, 0, 58, 0, 16, 0, 3, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 34, 0, 16, 0, 40, 0, 0, 0, 58, 0, 16, 0, 8, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 66, 0, 16, 0, 40, 0, 0, 0, 58, 0, 16, 0, 9, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 130, 0, 16, 0, 40, 0, 0, 0, 10, 0, 16, 0, 13, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 60, 0, 0, 7, 242, 0, 16, 0, 38, 0, 0, 0, 70, 14, 16, 0, 38, 0, 0, 0, 70, 14, 16, 0, 40, 0, 0, 0, 168, 0, 0, 8, 18, 240, 17, 0, 3, 0, 0, 0, 10, 32, 2, 0, 1, 64, 0, 0, 0, 0, 0, 0, 10, 0, 16, 0, 38, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 10, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 26, 0, 16, 0, 38, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 26, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 42, 0, 16, 0, 38, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 42, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 58, 0, 16, 0, 38, 0, 0, 0, 21, 0, 0, 1, 21, 0, 0, 1, 190, 24, 0, 1, 31, 0, 4, 3, 58, 0, 16, 0, 24, 0, 0, 0, 31, 0, 4, 3, 58, 0, 16, 0, 5, 0, 0, 0, 167, 0, 0, 8, 18, 0, 16, 0, 38, 0, 0, 0, 10, 32, 2, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 34, 0, 16, 0, 38, 0, 0, 0, 10, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 66, 0, 16, 0, 38, 0, 0, 0, 26, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 130, 0, 16, 0, 38, 0, 0, 0, 42, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 18, 0, 16, 0, 40, 0, 0, 0, 10, 0, 16, 0, 6, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 34, 0, 16, 0, 40, 0, 0, 0, 26, 0, 16, 0, 13, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 66, 0, 16, 0, 40, 0, 0, 0, 10, 0, 16, 0, 14, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 130, 0, 16, 0, 40, 0, 0, 0, 42, 0, 16, 0, 13, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 60, 0, 0, 7, 242, 0, 16, 0, 38, 0, 0, 0, 70, 14, 16, 0, 38, 0, 0, 0, 70, 14, 16, 0, 40, 0, 0, 0, 168, 0, 0, 8, 18, 240, 17, 0, 3, 0, 0, 0, 10, 32, 2, 0, 1, 64, 0, 0, 0, 0, 0, 0, 10, 0, 16, 0, 38, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 10, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 26, 0, 16, 0, 38, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 26, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 42, 0, 16, 0, 38, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 42, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 58, 0, 16, 0, 38, 0, 0, 0, 21, 0, 0, 1, 21, 0, 0, 1, 190, 24, 0, 1, 31, 0, 4, 3, 58, 0, 16, 0, 24, 0, 0, 0, 167, 0, 0, 9, 18, 0, 16, 0, 38, 0, 0, 0, 42, 0, 16, 0, 5, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 34, 0, 16, 0, 38, 0, 0, 0, 10, 0, 16, 0, 10, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 66, 0, 16, 0, 38, 0, 0, 0, 26, 0, 16, 0, 10, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 130, 0, 16, 0, 38, 0, 0, 0, 42, 0, 16, 0, 10, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 1, 0, 0, 10, 242, 0, 16, 0, 40, 0, 0, 0, 246, 15, 16, 0, 33, 0, 0, 0, 2, 64, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 4, 0, 0, 0, 8, 0, 0, 0, 30, 0, 0, 7, 130, 0, 16, 0, 36, 0, 0, 0, 10, 0, 16, 0, 40, 0, 0, 0, 1, 64, 0, 0, 255, 255, 255, 255, 87, 0, 0, 7, 130, 0, 16, 0, 36, 0, 0, 0, 10, 0, 16, 0, 38, 0, 0, 0, 58, 0, 16, 0, 36, 0, 0, 0, 39, 0, 0, 10, 114, 0, 16, 0, 40, 0, 0, 0, 150, 7, 16, 0, 40, 0, 0, 0, 2, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 0, 0, 10, 114, 0, 16, 0, 40, 0, 0, 0, 70, 2, 16, 0, 40, 0, 0, 0, 2, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 87, 0, 0, 7, 114, 0, 16, 0, 40, 0, 0, 0, 150, 7, 16, 0, 38, 0, 0, 0, 70, 2, 16, 0, 40, 0, 0, 0, 1, 0, 0, 7, 130, 0, 16, 0, 36, 0, 0, 0, 58, 0, 16, 0, 36, 0, 0, 0, 10, 0, 16, 0, 40, 0, 0, 0, 1, 0, 0, 7, 130, 0, 16, 0, 36, 0, 0, 0, 26, 0, 16, 0, 40, 0, 0, 0, 58, 0, 16, 0, 36, 0, 0, 0, 1, 0, 0, 7, 130, 0, 16, 0, 36, 0, 0, 0, 42, 0, 16, 0, 40, 0, 0, 0, 58, 0, 16, 0, 36, 0, 0, 0, 140, 0, 0, 11, 130, 0, 16, 0, 33, 0, 0, 0, 1, 64, 0, 0, 4, 0, 0, 0, 1, 64, 0, 0, 5, 0, 0, 0, 58, 0, 16, 0, 33, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 30, 0, 0, 7, 130, 0, 16, 0, 33, 0, 0, 0, 26, 0, 16, 0, 11, 0, 0, 0, 58, 0, 16, 0, 33, 0, 0, 0, 30, 0, 0, 7, 130, 0, 16, 0, 33, 0, 0, 0, 58, 0, 16, 0, 33, 0, 0, 0, 1, 64, 0, 0, 0, 16, 0, 0, 167, 0, 0, 9, 130, 0, 16, 0, 33, 0, 0, 0, 58, 0, 16, 0, 33, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 138, 0, 0, 8, 130, 0, 16, 0, 36, 0, 0, 0, 10, 32, 2, 0, 1, 64, 0, 0, 0, 0, 0, 0, 58, 0, 16, 0, 36, 0, 0, 0, 134, 0, 0, 5, 130, 0, 16, 0, 36, 0, 0, 0, 58, 0, 16, 0, 36, 0, 0, 0, 30, 0, 0, 7, 130, 0, 16, 0, 33, 0, 0, 0, 58, 0, 16, 0, 33, 0, 0, 0, 58, 0, 16, 0, 36, 0, 0, 0, 18, 0, 0, 1, 54, 0, 0, 8, 242, 0, 16, 0, 38, 0, 0, 0, 2, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 54, 0, 0, 5, 130, 0, 16, 0, 33, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 21, 0, 0, 1, 31, 0, 4, 3, 10, 0, 16, 0, 32, 0, 0, 0, 30, 0, 0, 7, 18, 0, 16, 0, 32, 0, 0, 0, 58, 0, 16, 0, 26, 0, 0, 0, 58, 0, 16, 0, 33, 0, 0, 0, 168, 0, 0, 9, 18, 224, 17, 0, 2, 0, 0, 0, 10, 0, 16, 0, 32, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 58, 0, 16, 0, 32, 0, 0, 0, 21, 0, 0, 1, 190, 24, 0, 1, 31, 0, 4, 3, 58, 0, 16, 0, 24, 0, 0, 0, 31, 0, 4, 3, 10, 0, 16, 0, 7, 0, 0, 0, 167, 0, 0, 9, 18, 0, 16, 0, 32, 0, 0, 0, 42, 0, 16, 0, 11, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 87, 0, 0, 7, 130, 0, 16, 0, 32, 0, 0, 0, 42, 0, 16, 0, 2, 0, 0, 0, 10, 0, 16, 0, 38, 0, 0, 0, 87, 0, 0, 7, 130, 0, 16, 0, 33, 0, 0, 0, 58, 0, 16, 0, 2, 0, 0, 0, 26, 0, 16, 0, 38, 0, 0, 0, 1, 0, 0, 7, 130, 0, 16, 0, 32, 0, 0, 0, 58, 0, 16, 0, 32, 0, 0, 0, 58, 0, 16, 0, 33, 0, 0, 0, 87, 0, 0, 7, 50, 0, 16, 0, 38, 0, 0, 0, 70, 0, 16, 0, 5, 0, 0, 0, 230, 10, 16, 0, 38, 0, 0, 0, 1, 0, 0, 7, 130, 0, 16, 0, 32, 0, 0, 0, 58, 0, 16, 0, 32, 0, 0, 0, 10, 0, 16, 0, 38, 0, 0, 0, 1, 0, 0, 7, 130, 0, 16, 0, 32, 0, 0, 0, 26, 0, 16, 0, 38, 0, 0, 0, 58, 0, 16, 0, 32, 0, 0, 0, 134, 0, 0, 5, 130, 0, 16, 0, 32, 0, 0, 0, 58, 0, 16, 0, 32, 0, 0, 0, 30, 0, 0, 7, 18, 0, 16, 0, 32, 0, 0, 0, 58, 0, 16, 0, 32, 0, 0, 0, 10, 0, 16, 0, 32, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 42, 0, 16, 0, 11, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 10, 0, 16, 0, 32, 0, 0, 0, 21, 0, 0, 1, 21, 0, 0, 1, 21, 0, 0, 1, 30, 0, 0, 7, 34, 0, 16, 0, 26, 0, 0, 0, 26, 0, 16, 0, 26, 0, 0, 0, 1, 64, 0, 0, 4, 0, 0, 0, 54, 0, 0, 5, 18, 0, 16, 0, 32, 0, 0, 0, 58, 0, 16, 0, 26, 0, 0, 0, 54, 0, 0, 5, 130, 0, 16, 0, 26, 0, 0, 0, 42, 0, 16, 0, 26, 0, 0, 0, 54, 0, 0, 5, 66, 0, 16, 0, 26, 0, 0, 0, 10, 0, 16, 0, 32, 0, 0, 0, 22, 0, 0, 1, 54, 0, 0, 4, 18, 0, 16, 0, 23, 0, 0, 0, 10, 32, 2, 0, 48, 0, 0, 1, 33, 0, 0, 7, 18, 0, 16, 0, 24, 0, 0, 0, 10, 0, 16, 0, 23, 0, 0, 0, 10, 0, 16, 0, 19, 0, 0, 0, 3, 0, 4, 3, 10, 0, 16, 0, 24, 0, 0, 0, 30, 0, 0, 7, 18, 0, 16, 0, 24, 0, 0, 0, 10, 0, 16, 0, 23, 0, 0, 0, 26, 0, 16, 0, 24, 0, 0, 0, 167, 0, 0, 139, 2, 35, 0, 128, 131, 153, 25, 0, 66, 0, 16, 0, 24, 0, 0, 0, 10, 0, 16, 0, 24, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 224, 17, 0, 2, 0, 0, 0, 30, 0, 0, 7, 18, 0, 16, 0, 24, 0, 0, 0, 10, 0, 16, 0, 24, 0, 0, 0, 1, 64, 0, 0, 255, 255, 255, 255, 167, 0, 0, 139, 2, 35, 0, 128, 131, 153, 25, 0, 18, 0, 16, 0, 24, 0, 0, 0, 10, 0, 16, 0, 24, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 224, 17, 0, 2, 0, 0, 0, 42, 0, 0, 10, 82, 0, 16, 0, 24, 0, 0, 0, 6, 2, 16, 0, 24, 0, 0, 0, 2, 64, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 30, 0, 0, 7, 130, 0, 16, 0, 24, 0, 0, 0, 42, 0, 16, 0, 24, 0, 0, 0, 1, 64, 0, 0, 255, 255, 255, 255, 55, 0, 0, 9, 18, 0, 16, 0, 24, 0, 0, 0, 10, 0, 16, 0, 23, 0, 0, 0, 10, 0, 16, 0, 24, 0, 0, 0, 58, 0, 16, 0, 24, 0, 0, 0, 39, 0, 0, 7, 130, 0, 16, 0, 24, 0, 0, 0, 10, 0, 16, 0, 24, 0, 0, 0, 42, 0, 16, 0, 24, 0, 0, 0, 31, 0, 4, 3, 58, 0, 16, 0, 24, 0, 0, 0, 30, 0, 0, 7, 82, 0, 16, 0, 24, 0, 0, 0, 166, 10, 16, 0, 19, 0, 0, 0, 6, 2, 16, 0, 24, 0, 0, 0, 168, 0, 0, 9, 18, 224, 17, 0, 2, 0, 0, 0, 42, 0, 16, 0, 24, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 10, 0, 16, 0, 23, 0, 0, 0, 30, 0, 0, 7, 18, 0, 16, 0, 24, 0, 0, 0, 10, 0, 16, 0, 24, 0, 0, 0, 1, 64, 0, 0, 1, 0, 0, 0, 168, 0, 0, 9, 18, 224, 17, 0, 2, 0, 0, 0, 10, 0, 16, 0, 24, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 10, 0, 16, 0, 23, 0, 0, 0, 21, 0, 0, 1, 30, 0, 0, 7, 18, 0, 16, 0, 23, 0, 0, 0, 10, 0, 16, 0, 23, 0, 0, 0, 1, 64, 0, 0, 0, 4, 0, 0, 22, 0, 0, 1, 165, 0, 0, 7, 50, 0, 16, 0, 24, 0, 0, 0, 1, 64, 0, 0, 108, 0, 0, 0, 70, 240, 17, 0, 0, 0, 0, 0, 54, 0, 0, 4, 18, 0, 16, 0, 26, 0, 0, 0, 10, 32, 2, 0, 48, 0, 0, 1, 33, 0, 0, 7, 18, 0, 16, 0, 23, 0, 0, 0, 10, 0, 16, 0, 26, 0, 0, 0, 10, 0, 16, 0, 19, 0, 0, 0, 3, 0, 4, 3, 10, 0, 16, 0, 23, 0, 0, 0, 30, 0, 0, 7, 18, 0, 16, 0, 23, 0, 0, 0, 26, 0, 16, 0, 24, 0, 0, 0, 10, 0, 16, 0, 26, 0, 0, 0, 167, 0, 0, 139, 2, 35, 0, 128, 131, 153, 25, 0, 18, 0, 16, 0, 23, 0, 0, 0, 10, 0, 16, 0, 23, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 224, 17, 0, 2, 0, 0, 0, 1, 0, 0, 7, 18, 0, 16, 0, 23, 0, 0, 0, 10, 0, 16, 0, 23, 0, 0, 0, 1, 64, 0, 0, 255, 255, 0, 0, 30, 0, 0, 7, 18, 0, 16, 0, 23, 0, 0, 0, 10, 0, 16, 0, 23, 0, 0, 0, 10, 0, 16, 0, 24, 0, 0, 0, 167, 0, 0, 139, 2, 131, 0, 128, 131, 153, 25, 0, 242, 0, 16, 0, 38, 0, 0, 0, 10, 0, 16, 0, 23, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 70, 238, 17, 0, 1, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 10, 0, 16, 0, 26, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 10, 0, 16, 0, 38, 0, 0, 0, 30, 0, 0, 10, 242, 0, 16, 0, 26, 0, 0, 0, 6, 0, 16, 0, 26, 0, 0, 0, 2, 64, 0, 0, 0, 4, 0, 0, 177, 7, 0, 0, 98, 15, 0, 0, 19, 23, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 26, 0, 16, 0, 26, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 26, 0, 16, 0, 38, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 42, 0, 16, 0, 26, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 42, 0, 16, 0, 38, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 58, 0, 16, 0, 26, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 58, 0, 16, 0, 38, 0, 0, 0, 22, 0, 0, 1, 190, 24, 0, 1, 165, 0, 0, 7, 18, 0, 16, 0, 23, 0, 0, 0, 1, 64, 0, 0, 96, 0, 0, 0, 6, 240, 17, 0, 0, 0, 0, 0, 56, 0, 0, 7, 18, 0, 16, 0, 24, 0, 0, 0, 10, 0, 16, 0, 23, 0, 0, 0, 10, 0, 16, 0, 23, 0, 0, 0, 165, 0, 0, 7, 34, 0, 16, 0, 24, 0, 0, 0, 1, 64, 0, 0, 112, 0, 0, 0, 6, 240, 17, 0, 0, 0, 0, 0, 165, 0, 0, 7, 66, 0, 16, 0, 24, 0, 0, 0, 1, 64, 0, 0, 160, 0, 0, 0, 6, 240, 17, 0, 1, 0, 0, 0, 54, 0, 0, 4, 130, 0, 16, 0, 24, 0, 0, 0, 10, 32, 2, 0, 48, 0, 0, 1, 33, 0, 0, 7, 130, 0, 16, 0, 25, 0, 0, 0, 58, 0, 16, 0, 24, 0, 0, 0, 10, 0, 16, 0, 19, 0, 0, 0, 3, 0, 4, 3, 58, 0, 16, 0, 25, 0, 0, 0, 30, 0, 0, 7, 130, 0, 16, 0, 25, 0, 0, 0, 58, 0, 16, 0, 24, 0, 0, 0, 26, 0, 16, 0, 24, 0, 0, 0, 167, 0, 0, 139, 2, 35, 0, 128, 131, 153, 25, 0, 130, 0, 16, 0, 25, 0, 0, 0, 58, 0, 16, 0, 25, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 224, 17, 0, 2, 0, 0, 0, 1, 0, 0, 7, 130, 0, 16, 0, 25, 0, 0, 0, 58, 0, 16, 0, 25, 0, 0, 0, 1, 64, 0, 0, 255, 255, 0, 0, 167, 0, 0, 9, 18, 0, 16, 0, 26, 0, 0, 0, 58, 0, 16, 0, 24, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 30, 0, 0, 10, 242, 0, 16, 0, 38, 0, 0, 0, 246, 15, 16, 0, 24, 0, 0, 0, 2, 64, 0, 0, 177, 7, 0, 0, 98, 15, 0, 0, 19, 23, 0, 0, 0, 4, 0, 0, 167, 0, 0, 9, 34, 0, 16, 0, 26, 0, 0, 0, 10, 0, 16, 0, 38, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 66, 0, 16, 0, 26, 0, 0, 0, 26, 0, 16, 0, 38, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 130, 0, 16, 0, 26, 0, 0, 0, 42, 0, 16, 0, 38, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 30, 0, 0, 7, 18, 0, 16, 0, 32, 0, 0, 0, 42, 0, 16, 0, 24, 0, 0, 0, 58, 0, 16, 0, 25, 0, 0, 0, 167, 0, 0, 139, 2, 131, 0, 128, 131, 153, 25, 0, 114, 0, 16, 0, 38, 0, 0, 0, 10, 0, 16, 0, 32, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 70, 114, 16, 0, 14, 0, 0, 0, 17, 0, 0, 8, 18, 0, 16, 0, 32, 0, 0, 0, 70, 14, 16, 0, 26, 0, 0, 0, 70, 158, 144, 0, 10, 0, 16, 0, 22, 0, 0, 0, 50, 0, 0, 9, 18, 0, 16, 0, 32, 0, 0, 0, 10, 0, 16, 0, 32, 0, 0, 0, 10, 0, 16, 0, 20, 0, 0, 0, 10, 0, 16, 0, 21, 0, 0, 0, 51, 0, 0, 7, 18, 0, 16, 0, 32, 0, 0, 0, 10, 0, 16, 0, 32, 0, 0, 0, 1, 64, 0, 0, 0, 0, 255, 66, 52, 0, 0, 7, 18, 0, 16, 0, 32, 0, 0, 0, 10, 0, 16, 0, 32, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 17, 0, 0, 8, 130, 0, 16, 0, 32, 0, 0, 0, 70, 14, 16, 0, 26, 0, 0, 0, 70, 158, 144, 0, 42, 0, 16, 0, 22, 0, 0, 0, 50, 0, 0, 9, 130, 0, 16, 0, 32, 0, 0, 0, 58, 0, 16, 0, 32, 0, 0, 0, 42, 0, 16, 0, 20, 0, 0, 0, 42, 0, 16, 0, 21, 0, 0, 0, 51, 0, 0, 7, 130, 0, 16, 0, 32, 0, 0, 0, 58, 0, 16, 0, 32, 0, 0, 0, 1, 64, 0, 0, 0, 0, 255, 66, 52, 0, 0, 7, 130, 0, 16, 0, 32, 0, 0, 0, 58, 0, 16, 0, 32, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 27, 0, 0, 5, 146, 0, 16, 0, 32, 0, 0, 0, 6, 12, 16, 0, 32, 0, 0, 0, 35, 0, 0, 9, 18, 0, 16, 0, 32, 0, 0, 0, 58, 0, 16, 0, 32, 0, 0, 0, 1, 64, 0, 0, 128, 0, 0, 0, 10, 0, 16, 0, 32, 0, 0, 0, 30, 0, 0, 7, 130, 0, 16, 0, 32, 0, 0, 0, 10, 0, 16, 0, 32, 0, 0, 0, 1, 64, 0, 0, 0, 1, 0, 0, 0, 0, 0, 7, 130, 0, 16, 0, 33, 0, 0, 0, 58, 0, 16, 0, 26, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 52, 54, 0, 0, 8, 114, 0, 16, 0, 40, 0, 0, 0, 2, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 54, 0, 0, 5, 130, 0, 16, 0, 36, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 52, 54, 0, 0, 5, 130, 0, 16, 0, 39, 0, 0, 0, 10, 0, 16, 0, 32, 0, 0, 0, 48, 0, 0, 1, 34, 0, 0, 7, 130, 0, 16, 0, 40, 0, 0, 0, 58, 0, 16, 0, 32, 0, 0, 0, 58, 0, 16, 0, 39, 0, 0, 0, 3, 0, 4, 3, 58, 0, 16, 0, 40, 0, 0, 0, 30, 0, 0, 7, 130, 0, 16, 0, 40, 0, 0, 0, 42, 0, 16, 0, 19, 0, 0, 0, 58, 0, 16, 0, 39, 0, 0, 0, 167, 0, 0, 139, 2, 35, 0, 128, 131, 153, 25, 0, 18, 0, 16, 0, 41, 0, 0, 0, 58, 0, 16, 0, 40, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 224, 17, 0, 2, 0, 0, 0, 30, 0, 0, 10, 226, 0, 16, 0, 41, 0, 0, 0, 246, 15, 16, 0, 40, 0, 0, 0, 2, 64, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 3, 0, 0, 0, 167, 0, 0, 139, 2, 35, 0, 128, 131, 153, 25, 0, 130, 0, 16, 0, 40, 0, 0, 0, 26, 0, 16, 0, 41, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 224, 17, 0, 2, 0, 0, 0, 167, 0, 0, 139, 2, 35, 0, 128, 131, 153, 25, 0, 34, 0, 16, 0, 41, 0, 0, 0, 42, 0, 16, 0, 41, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 224, 17, 0, 2, 0, 0, 0, 167, 0, 0, 139, 2, 35, 0, 128, 131, 153, 25, 0, 66, 0, 16, 0, 41, 0, 0, 0, 58, 0, 16, 0, 41, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 224, 17, 0, 2, 0, 0, 0, 84, 0, 0, 7, 18, 0, 16, 0, 41, 0, 0, 0, 58, 0, 16, 0, 40, 0, 0, 0, 10, 0, 16, 0, 41, 0, 0, 0, 84, 0, 0, 7, 18, 0, 16, 0, 41, 0, 0, 0, 26, 0, 16, 0, 41, 0, 0, 0, 10, 0, 16, 0, 41, 0, 0, 0, 36, 0, 0, 7, 130, 0, 16, 0, 40, 0, 0, 0, 58, 0, 16, 0, 40, 0, 0, 0, 26, 0, 16, 0, 41, 0, 0, 0, 36, 0, 0, 7, 130, 0, 16, 0, 40, 0, 0, 0, 42, 0, 16, 0, 41, 0, 0, 0, 58, 0, 16, 0, 40, 0, 0, 0, 36, 0, 0, 7, 130, 0, 16, 0, 40, 0, 0, 0, 58, 0, 16, 0, 40, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 54, 0, 0, 5, 226, 0, 16, 0, 41, 0, 0, 0, 6, 9, 16, 0, 40, 0, 0, 0, 54, 0, 0, 5, 130, 0, 16, 0, 43, 0, 0, 0, 58, 0, 16, 0, 36, 0, 0, 0, 54, 0, 0, 5, 18, 0, 16, 0, 45, 0, 0, 0, 10, 0, 16, 0, 41, 0, 0, 0, 48, 0, 0, 1, 80, 0, 0, 7, 34, 0, 16, 0, 45, 0, 0, 0, 10, 0, 16, 0, 45, 0, 0, 0, 58, 0, 16, 0, 40, 0, 0, 0, 3, 0, 4, 3, 26, 0, 16, 0, 45, 0, 0, 0, 39, 0, 0, 7, 34, 0, 16, 0, 45, 0, 0, 0, 58, 0, 16, 0, 24, 0, 0, 0, 10, 0, 16, 0, 45, 0, 0, 0, 31, 0, 4, 3, 26, 0, 16, 0, 45, 0, 0, 0, 167, 0, 0, 9, 18, 0, 16, 0, 46, 0, 0, 0, 10, 0, 16, 0, 45, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 30, 0, 0, 10, 226, 0, 16, 0, 45, 0, 0, 0, 6, 0, 16, 0, 45, 0, 0, 0, 2, 64, 0, 0, 0, 0, 0, 0, 177, 7, 0, 0, 98, 15, 0, 0, 19, 23, 0, 0, 167, 0, 0, 9, 34, 0, 16, 0, 46, 0, 0, 0, 26, 0, 16, 0, 45, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 66, 0, 16, 0, 46, 0, 0, 0, 42, 0, 16, 0, 45, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 34, 0, 16, 0, 45, 0, 0, 0, 58, 0, 16, 0, 45, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 0, 0, 0, 8, 114, 0, 16, 0, 46, 0, 0, 0, 70, 2, 16, 0, 26, 0, 0, 0, 70, 2, 16, 128, 65, 0, 0, 0, 46, 0, 0, 0, 16, 0, 0, 7, 66, 0, 16, 0, 45, 0, 0, 0, 70, 2, 16, 0, 46, 0, 0, 0, 70, 2, 16, 0, 46, 0, 0, 0, 49, 0, 0, 7, 130, 0, 16, 0, 45, 0, 0, 0, 10, 0, 16, 0, 24, 0, 0, 0, 42, 0, 16, 0, 45, 0, 0, 0, 31, 0, 4, 3, 58, 0, 16, 0, 45, 0, 0, 0, 30, 0, 0, 7, 130, 0, 16, 0, 45, 0, 0, 0, 10, 0, 16, 0, 45, 0, 0, 0, 1, 64, 0, 0, 1, 0, 0, 0, 54, 0, 0, 5, 18, 0, 16, 0, 45, 0, 0, 0, 58, 0, 16, 0, 45, 0, 0, 0, 7, 0, 0, 1, 21, 0, 0, 1, 165, 0, 0, 7, 130, 0, 16, 0, 45, 0, 0, 0, 1, 64, 0, 0, 160, 0, 0, 0, 6, 240, 17, 0, 1, 0, 0, 0, 39, 0, 0, 7, 130, 0, 16, 0, 46, 0, 0, 0, 58, 0, 16, 0, 45, 0, 0, 0, 1, 64, 0, 0, 255, 255, 255, 255, 31, 0, 4, 3, 58, 0, 16, 0, 46, 0, 0, 0, 165, 0, 0, 7, 130, 0, 16, 0, 46, 0, 0, 0, 1, 64, 0, 0, 112, 0, 0, 0, 6, 240, 17, 0, 0, 0, 0, 0, 30, 0, 0, 7, 130, 0, 16, 0, 46, 0, 0, 0, 10, 0, 16, 0, 45, 0, 0, 0, 58, 0, 16, 0, 46, 0, 0, 0, 167, 0, 0, 139, 2, 35, 0, 128, 131, 153, 25, 0, 130, 0, 16, 0, 46, 0, 0, 0, 58, 0, 16, 0, 46, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 224, 17, 0, 2, 0, 0, 0, 1, 0, 0, 7, 130, 0, 16, 0, 46, 0, 0, 0, 58, 0, 16, 0, 46, 0, 0, 0, 1, 64, 0, 0, 255, 255, 0, 0, 30, 0, 0, 7, 130, 0, 16, 0, 45, 0, 0, 0, 58, 0, 16, 0, 45, 0, 0, 0, 58, 0, 16, 0, 46, 0, 0, 0, 167, 0, 0, 139, 2, 131, 0, 128, 131, 153, 25, 0, 114, 0, 16, 0, 47, 0, 0, 0, 58, 0, 16, 0, 45, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 70, 114, 16, 0, 14, 0, 0, 0, 0, 0, 0, 8, 114, 0, 16, 0, 47, 0, 0, 0, 70, 2, 16, 0, 38, 0, 0, 0, 70, 2, 16, 128, 65, 0, 0, 0, 47, 0, 0, 0, 16, 0, 0, 7, 130, 0, 16, 0, 45, 0, 0, 0, 70, 2, 16, 0, 47, 0, 0, 0, 70, 2, 16, 0, 47, 0, 0, 0, 29, 0, 0, 7, 130, 0, 16, 0, 46, 0, 0, 0, 10, 0, 16, 0, 24, 0, 0, 0, 58, 0, 16, 0, 45, 0, 0, 0, 31, 0, 4, 3, 58, 0, 16, 0, 46, 0, 0, 0, 30, 0, 0, 7, 130, 0, 16, 0, 46, 0, 0, 0, 10, 0, 16, 0, 45, 0, 0, 0, 1, 64, 0, 0, 1, 0, 0, 0, 54, 0, 0, 5, 18, 0, 16, 0, 45, 0, 0, 0, 58, 0, 16, 0, 46, 0, 0, 0, 7, 0, 0, 1, 21, 0, 0, 1, 0, 0, 0, 7, 130, 0, 16, 0, 45, 0, 0, 0, 58, 0, 16, 0, 45, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 52, 14, 0, 0, 7, 130, 0, 16, 0, 45, 0, 0, 0, 10, 0, 16, 0, 24, 0, 0, 0, 58, 0, 16, 0, 45, 0, 0, 0, 68, 0, 0, 5, 130, 0, 16, 0, 45, 0, 0, 0, 58, 0, 16, 0, 45, 0, 0, 0, 0, 0, 0, 7, 130, 0, 16, 0, 45, 0, 0, 0, 58, 0, 16, 0, 45, 0, 0, 0, 1, 64, 0, 0, 0, 0, 128, 191, 51, 0, 0, 7, 130, 0, 16, 0, 45, 0, 0, 0, 58, 0, 16, 0, 45, 0, 0, 0, 1, 64, 0, 0, 0, 0, 128, 63, 18, 0, 0, 1, 54, 0, 0, 5, 130, 0, 16, 0, 45, 0, 0, 0, 1, 64, 0, 0, 0, 0, 128, 63, 21, 0, 0, 1, 0, 0, 0, 7, 66, 0, 16, 0, 45, 0, 0, 0, 42, 0, 16, 0, 45, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 52, 68, 0, 0, 5, 66, 0, 16, 0, 45, 0, 0, 0, 42, 0, 16, 0, 45, 0, 0, 0, 50, 0, 0, 9, 66, 0, 16, 0, 45, 0, 0, 0, 10, 0, 16, 0, 23, 0, 0, 0, 42, 0, 16, 0, 45, 0, 0, 0, 1, 64, 0, 0, 0, 0, 128, 191, 52, 0, 0, 7, 66, 0, 16, 0, 45, 0, 0, 0, 42, 0, 16, 0, 45, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 56, 0, 0, 7, 130, 0, 16, 0, 46, 0, 0, 0, 42, 0, 16, 0, 45, 0, 0, 0, 42, 0, 16, 0, 45, 0, 0, 0, 56, 0, 0, 7, 130, 0, 16, 0, 45, 0, 0, 0, 58, 0, 16, 0, 45, 0, 0, 0, 58, 0, 16, 0, 46, 0, 0, 0, 0, 0, 0, 7, 34, 0, 16, 0, 45, 0, 0, 0, 58, 0, 16, 0, 33, 0, 0, 0, 26, 0, 16, 0, 45, 0, 0, 0, 14, 0, 0, 7, 34, 0, 16, 0, 45, 0, 0, 0, 58, 0, 16, 0, 45, 0, 0, 0, 26, 0, 16, 0, 45, 0, 0, 0, 50, 0, 0, 9, 226, 0, 16, 0, 41, 0, 0, 0, 86, 5, 16, 0, 45, 0, 0, 0, 6, 9, 16, 0, 46, 0, 0, 0, 86, 14, 16, 0, 41, 0, 0, 0, 0, 0, 0, 7, 130, 0, 16, 0, 43, 0, 0, 0, 58, 0, 16, 0, 43, 0, 0, 0, 42, 0, 16, 0, 45, 0, 0, 0, 21, 0, 0, 1, 30, 0, 0, 7, 18, 0, 16, 0, 45, 0, 0, 0, 10, 0, 16, 0, 45, 0, 0, 0, 1, 64, 0, 0, 1, 0, 0, 0, 22, 0, 0, 1, 54, 0, 0, 5, 114, 0, 16, 0, 40, 0, 0, 0, 150, 7, 16, 0, 41, 0, 0, 0, 54, 0, 0, 5, 130, 0, 16, 0, 36, 0, 0, 0, 58, 0, 16, 0, 43, 0, 0, 0, 30, 0, 0, 7, 130, 0, 16, 0, 39, 0, 0, 0, 58, 0, 16, 0, 39, 0, 0, 0, 1, 64, 0, 0, 128, 0, 0, 0, 22, 0, 0, 1, 165, 0, 0, 7, 18, 0, 16, 0, 26, 0, 0, 0, 1, 64, 0, 0, 120, 0, 0, 0, 6, 240, 17, 0, 1, 0, 0, 0, 56, 0, 0, 7, 18, 0, 16, 0, 26, 0, 0, 0, 58, 0, 16, 0, 26, 0, 0, 0, 10, 0, 16, 0, 26, 0, 0, 0, 14, 0, 0, 7, 18, 0, 16, 0, 26, 0, 0, 0, 10, 0, 16, 0, 26, 0, 0, 0, 58, 0, 16, 0, 36, 0, 0, 0, 165, 0, 0, 7, 34, 0, 16, 0, 26, 0, 0, 0, 1, 64, 0, 0, 108, 0, 0, 0, 6, 240, 17, 0, 0, 0, 0, 0, 30, 0, 0, 7, 130, 0, 16, 0, 25, 0, 0, 0, 58, 0, 16, 0, 25, 0, 0, 0, 26, 0, 16, 0, 26, 0, 0, 0, 167, 0, 0, 139, 2, 131, 0, 128, 131, 153, 25, 0, 114, 0, 16, 0, 38, 0, 0, 0, 58, 0, 16, 0, 25, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 70, 226, 17, 0, 1, 0, 0, 0, 50, 0, 0, 9, 210, 0, 16, 0, 26, 0, 0, 0, 6, 9, 16, 0, 40, 0, 0, 0, 6, 0, 16, 0, 26, 0, 0, 0, 6, 9, 16, 0, 38, 0, 0, 0, 168, 0, 0, 9, 114, 224, 17, 0, 1, 0, 0, 0, 58, 0, 16, 0, 25, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 134, 3, 16, 0, 26, 0, 0, 0, 54, 0, 0, 5, 130, 0, 16, 0, 24, 0, 0, 0, 58, 0, 16, 0, 38, 0, 0, 0, 22, 0, 0, 1, 190, 24, 0, 1, 165, 0, 0, 7, 18, 0, 16, 0, 20, 0, 0, 0, 1, 64, 0, 0, 108, 0, 0, 0, 6, 240, 17, 0, 0, 0, 0, 0, 54, 0, 0, 4, 18, 0, 16, 0, 24, 0, 0, 0, 10, 32, 2, 0, 48, 0, 0, 1, 33, 0, 0, 7, 66, 0, 16, 0, 20, 0, 0, 0, 10, 0, 16, 0, 24, 0, 0, 0, 26, 0, 16, 0, 19, 0, 0, 0, 3, 0, 4, 3, 42, 0, 16, 0, 20, 0, 0, 0, 30, 0, 0, 7, 66, 0, 16, 0, 20, 0, 0, 0, 10, 0, 16, 0, 20, 0, 0, 0, 10, 0, 16, 0, 24, 0, 0, 0, 167, 0, 0, 139, 2, 131, 0, 128, 131, 153, 25, 0, 242, 0, 16, 0, 26, 0, 0, 0, 42, 0, 16, 0, 20, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 70, 238, 17, 0, 1, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 10, 0, 16, 0, 24, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 10, 0, 16, 0, 26, 0, 0, 0, 30, 0, 0, 10, 242, 0, 16, 0, 24, 0, 0, 0, 6, 0, 16, 0, 24, 0, 0, 0, 2, 64, 0, 0, 0, 4, 0, 0, 177, 7, 0, 0, 98, 15, 0, 0, 19, 23, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 26, 0, 16, 0, 24, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 26, 0, 16, 0, 26, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 42, 0, 16, 0, 24, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 42, 0, 16, 0, 26, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 58, 0, 16, 0, 24, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 58, 0, 16, 0, 26, 0, 0, 0, 22, 0, 0, 1, 165, 0, 0, 7, 34, 0, 16, 0, 19, 0, 0, 0, 1, 64, 0, 0, 112, 0, 0, 0, 6, 240, 17, 0, 0, 0, 0, 0, 54, 0, 0, 4, 18, 0, 16, 0, 20, 0, 0, 0, 10, 32, 2, 0, 48, 0, 0, 1, 33, 0, 0, 7, 66, 0, 16, 0, 20, 0, 0, 0, 10, 0, 16, 0, 20, 0, 0, 0, 10, 0, 16, 0, 19, 0, 0, 0, 3, 0, 4, 3, 42, 0, 16, 0, 20, 0, 0, 0, 30, 0, 0, 7, 66, 0, 16, 0, 20, 0, 0, 0, 26, 0, 16, 0, 19, 0, 0, 0, 10, 0, 16, 0, 20, 0, 0, 0, 167, 0, 0, 139, 2, 35, 0, 128, 131, 153, 25, 0, 66, 0, 16, 0, 20, 0, 0, 0, 42, 0, 16, 0, 20, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 224, 17, 0, 2, 0, 0, 0, 85, 0, 0, 7, 66, 0, 16, 0, 20, 0, 0, 0, 42, 0, 16, 0, 20, 0, 0, 0, 1, 64, 0, 0, 16, 0, 0, 0, 30, 0, 0, 7, 66, 0, 16, 0, 20, 0, 0, 0, 42, 0, 16, 0, 19, 0, 0, 0, 42, 0, 16, 0, 20, 0, 0, 0, 168, 0, 0, 9, 18, 224, 17, 0, 2, 0, 0, 0, 42, 0, 16, 0, 20, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 1, 64, 0, 0, 255, 255, 255, 255, 30, 0, 0, 7, 18, 0, 16, 0, 21, 0, 0, 0, 42, 0, 16, 0, 20, 0, 0, 0, 1, 64, 0, 0, 1, 0, 0, 0, 168, 0, 0, 9, 18, 224, 17, 0, 2, 0, 0, 0, 10, 0, 16, 0, 21, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 1, 64, 0, 0, 255, 255, 255, 255, 30, 0, 0, 7, 18, 0, 16, 0, 20, 0, 0, 0, 10, 0, 16, 0, 20, 0, 0, 0, 1, 64, 0, 0, 0, 4, 0, 0, 22, 0, 0, 1, 21, 0, 0, 1, 31, 0, 0, 2, 10, 32, 2, 0, 165, 0, 0, 7, 18, 0, 16, 0, 19, 0, 0, 0, 1, 64, 0, 0, 8, 0, 0, 0, 6, 240, 17, 0, 1, 0, 0, 0, 56, 0, 0, 7, 18, 0, 16, 0, 19, 0, 0, 0, 10, 0, 16, 0, 19, 0, 0, 0, 1, 64, 0, 0, 0, 0, 122, 68, 28, 0, 0, 5, 18, 0, 16, 0, 19, 0, 0, 0, 10, 0, 16, 0, 19, 0, 0, 0, 83, 0, 0, 7, 18, 0, 16, 0, 19, 0, 0, 0, 10, 0, 16, 0, 19, 0, 0, 0, 1, 64, 0, 0, 1, 0, 0, 0, 165, 0, 0, 7, 34, 0, 16, 0, 19, 0, 0, 0, 1, 64, 0, 0, 152, 0, 0, 0, 6, 240, 17, 0, 1, 0, 0, 0, 30, 0, 0, 7, 18, 0, 16, 0, 19, 0, 0, 0, 10, 0, 16, 0, 19, 0, 0, 0, 26, 0, 16, 0, 19, 0, 0, 0, 166, 0, 0, 7, 18, 240, 17, 0, 1, 0, 0, 0, 1, 64, 0, 0, 152, 0, 0, 0, 10, 0, 16, 0, 19, 0, 0, 0, 21, 0, 0, 1, 190, 24, 0, 1, 165, 0, 0, 7, 18, 0, 16, 0, 19, 0, 0, 0, 1, 64, 0, 0, 152, 0, 0, 0, 6, 240, 17, 0, 1, 0, 0, 0, 165, 0, 0, 7, 34, 0, 16, 0, 19, 0, 0, 0, 1, 64, 0, 0, 116, 0, 0, 0, 6, 240, 17, 0, 0, 0, 0, 0, 80, 0, 0, 7, 18, 0, 16, 0, 19, 0, 0, 0, 10, 0, 16, 0, 19, 0, 0, 0, 26, 0, 16, 0, 19, 0, 0, 0, 31, 0, 4, 3, 10, 0, 16, 0, 19, 0, 0, 0, 165, 0, 0, 7, 18, 0, 16, 0, 19, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 0, 0, 0, 0, 54, 0, 0, 5, 34, 0, 16, 0, 19, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 54, 0, 0, 4, 66, 0, 16, 0, 19, 0, 0, 0, 10, 32, 2, 0, 48, 0, 0, 1, 80, 0, 0, 7, 18, 0, 16, 0, 20, 0, 0, 0, 42, 0, 16, 0, 19, 0, 0, 0, 10, 0, 16, 0, 19, 0, 0, 0, 3, 0, 4, 3, 10, 0, 16, 0, 20, 0, 0, 0, 167, 0, 0, 9, 18, 0, 16, 0, 24, 0, 0, 0, 42, 0, 16, 0, 19, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 30, 0, 0, 10, 114, 0, 16, 0, 26, 0, 0, 0, 166, 10, 16, 0, 19, 0, 0, 0, 2, 64, 0, 0, 177, 7, 0, 0, 98, 15, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 167, 0, 0, 9, 34, 0, 16, 0, 24, 0, 0, 0, 10, 0, 16, 0, 26, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 66, 0, 16, 0, 24, 0, 0, 0, 26, 0, 16, 0, 26, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 30, 0, 0, 7, 18, 0, 16, 0, 20, 0, 0, 0, 10, 0, 16, 0, 0, 0, 0, 0, 42, 0, 16, 0, 19, 0, 0, 0, 41, 0, 0, 7, 18, 0, 16, 0, 20, 0, 0, 0, 10, 0, 16, 0, 20, 0, 0, 0, 1, 64, 0, 0, 4, 0, 0, 0, 165, 0, 0, 137, 194, 2, 0, 128, 131, 153, 25, 0, 178, 0, 16, 0, 26, 0, 0, 0, 10, 0, 16, 0, 20, 0, 0, 0, 70, 232, 17, 0, 0, 0, 0, 0, 0, 0, 0, 8, 114, 0, 16, 0, 24, 0, 0, 0, 70, 2, 16, 0, 24, 0, 0, 0, 70, 3, 16, 128, 65, 0, 0, 0, 26, 0, 0, 0, 52, 0, 0, 9, 18, 0, 16, 0, 20, 0, 0, 0, 26, 0, 16, 128, 129, 0, 0, 0, 24, 0, 0, 0, 10, 0, 16, 128, 129, 0, 0, 0, 24, 0, 0, 0, 52, 0, 0, 8, 18, 0, 16, 0, 20, 0, 0, 0, 42, 0, 16, 128, 129, 0, 0, 0, 24, 0, 0, 0, 10, 0, 16, 0, 20, 0, 0, 0, 52, 0, 0, 7, 34, 0, 16, 0, 19, 0, 0, 0, 26, 0, 16, 0, 19, 0, 0, 0, 10, 0, 16, 0, 20, 0, 0, 0, 54, 0, 0, 5, 66, 0, 16, 0, 19, 0, 0, 0, 42, 0, 16, 0, 26, 0, 0, 0, 22, 0, 0, 1, 31, 0, 0, 2, 10, 32, 2, 0, 165, 0, 0, 7, 18, 0, 16, 0, 19, 0, 0, 0, 1, 64, 0, 0, 148, 0, 0, 0, 6, 240, 17, 0, 1, 0, 0, 0, 30, 0, 0, 7, 18, 0, 16, 0, 19, 0, 0, 0, 10, 0, 16, 0, 19, 0, 0, 0, 1, 64, 0, 0, 1, 0, 0, 0, 166, 0, 0, 7, 18, 240, 17, 0, 1, 0, 0, 0, 1, 64, 0, 0, 148, 0, 0, 0, 10, 0, 16, 0, 19, 0, 0, 0, 165, 0, 0, 7, 18, 0, 16, 0, 19, 0, 0, 0, 1, 64, 0, 0, 116, 0, 0, 0, 6, 240, 17, 0, 0, 0, 0, 0, 165, 0, 0, 7, 66, 0, 16, 0, 19, 0, 0, 0, 1, 64, 0, 0, 152, 0, 0, 0, 6, 240, 17, 0, 1, 0, 0, 0, 30, 0, 0, 8, 18, 0, 16, 0, 19, 0, 0, 0, 10, 0, 16, 128, 65, 0, 0, 0, 19, 0, 0, 0, 42, 0, 16, 0, 19, 0, 0, 0, 166, 0, 0, 7, 18, 240, 17, 0, 1, 0, 0, 0, 1, 64, 0, 0, 152, 0, 0, 0, 10, 0, 16, 0, 19, 0, 0, 0, 21, 0, 0, 1, 165, 0, 0, 7, 18, 0, 16, 0, 19, 0, 0, 0, 1, 64, 0, 0, 124, 0, 0, 0, 6, 240, 17, 0, 0, 0, 0, 0, 165, 0, 0, 7, 66, 0, 16, 0, 19, 0, 0, 0, 1, 64, 0, 0, 8, 0, 0, 0, 6, 240, 17, 0, 1, 0, 0, 0, 56, 0, 0, 7, 18, 0, 16, 0, 19, 0, 0, 0, 42, 0, 16, 0, 19, 0, 0, 0, 10, 0, 16, 0, 19, 0, 0, 0, 49, 0, 0, 7, 18, 0, 16, 0, 19, 0, 0, 0, 10, 0, 16, 0, 19, 0, 0, 0, 26, 0, 16, 0, 19, 0, 0, 0, 31, 0, 4, 3, 10, 0, 16, 0, 19, 0, 0, 0, 166, 0, 0, 7, 18, 240, 17, 0, 1, 0, 0, 0, 1, 64, 0, 0, 148, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 21, 0, 0, 1, 21, 0, 0, 1, 30, 0, 0, 7, 18, 0, 16, 0, 17, 0, 0, 0, 10, 0, 16, 0, 17, 0, 0, 0, 1, 64, 0, 0, 1, 0, 0, 0, 22, 0, 0, 1, 190, 24, 0, 1, 165, 0, 0, 7, 98, 0, 16, 0, 0, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 241, 17, 0, 0, 0, 0, 0, 54, 0, 0, 4, 18, 0, 16, 0, 1, 0, 0, 0, 10, 32, 2, 0, 48, 0, 0, 1, 80, 0, 0, 7, 130, 0, 16, 0, 0, 0, 0, 0, 10, 0, 16, 0, 1, 0, 0, 0, 26, 0, 16, 0, 0, 0, 0, 0, 3, 0, 4, 3, 58, 0, 16, 0, 0, 0, 0, 0, 30, 0, 0, 7, 130, 0, 16, 0, 0, 0, 0, 0, 42, 0, 16, 0, 0, 0, 0, 0, 10, 0, 16, 0, 1, 0, 0, 0, 41, 0, 0, 7, 130, 0, 16, 0, 0, 0, 0, 0, 58, 0, 16, 0, 0, 0, 0, 0, 1, 64, 0, 0, 4, 0, 0, 0, 167, 0, 0, 9, 18, 0, 16, 0, 2, 0, 0, 0, 10, 0, 16, 0, 1, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 30, 0, 0, 10, 242, 0, 16, 0, 1, 0, 0, 0, 6, 0, 16, 0, 1, 0, 0, 0, 2, 64, 0, 0, 0, 4, 0, 0, 177, 7, 0, 0, 98, 15, 0, 0, 19, 23, 0, 0, 167, 0, 0, 9, 34, 0, 16, 0, 2, 0, 0, 0, 26, 0, 16, 0, 1, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 66, 0, 16, 0, 2, 0, 0, 0, 42, 0, 16, 0, 1, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 130, 0, 16, 0, 2, 0, 0, 0, 58, 0, 16, 0, 1, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 166, 0, 0, 7, 242, 224, 17, 0, 0, 0, 0, 0, 58, 0, 16, 0, 0, 0, 0, 0, 70, 14, 16, 0, 2, 0, 0, 0, 22, 0, 0, 1, 18, 0, 0, 1, 165, 0, 0, 7, 34, 0, 16, 0, 0, 0, 0, 0, 1, 64, 0, 0, 4, 0, 0, 0, 6, 240, 17, 0, 0, 0, 0, 0, 59, 0, 0, 4, 66, 0, 16, 0, 0, 0, 0, 0, 10, 32, 2, 0, 1, 0, 0, 7, 66, 0, 16, 0, 0, 0, 0, 0, 42, 0, 16, 0, 0, 0, 0, 0, 1, 64, 0, 0, 3, 0, 0, 0, 79, 0, 0, 9, 242, 0, 16, 0, 1, 0, 0, 0, 6, 32, 2, 0, 2, 64, 0, 0, 192, 0, 0, 0, 176, 0, 0, 0, 3, 0, 0, 0, 0, 2, 0, 0, 1, 0, 0, 9, 242, 0, 16, 0, 2, 0, 0, 0, 6, 32, 2, 0, 2, 64, 0, 0, 32, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 55, 0, 0, 9, 130, 0, 16, 0, 0, 0, 0, 0, 10, 0, 16, 0, 2, 0, 0, 0, 1, 64, 0, 0, 0, 0, 128, 191, 1, 64, 0, 0, 0, 0, 128, 63, 30, 0, 0, 9, 242, 0, 16, 0, 3, 0, 0, 0, 6, 32, 2, 0, 2, 64, 0, 0, 16, 0, 0, 0, 8, 0, 0, 0, 4, 0, 0, 0, 2, 0, 0, 0, 32, 0, 0, 7, 18, 0, 16, 0, 2, 0, 0, 0, 26, 0, 16, 0, 2, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 1, 0, 0, 7, 18, 0, 16, 0, 2, 0, 0, 0, 10, 0, 16, 0, 1, 0, 0, 0, 10, 0, 16, 0, 2, 0, 0, 0, 85, 0, 0, 9, 50, 0, 16, 0, 4, 0, 0, 0, 6, 32, 2, 0, 2, 64, 0, 0, 6, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 41, 0, 0, 7, 66, 0, 16, 0, 4, 0, 0, 0, 26, 0, 16, 0, 4, 0, 0, 0, 1, 64, 0, 0, 2, 0, 0, 0, 30, 0, 0, 7, 66, 0, 16, 0, 4, 0, 0, 0, 42, 0, 16, 0, 4, 0, 0, 0, 1, 64, 0, 0, 124, 0, 0, 0, 41, 0, 0, 9, 50, 0, 16, 0, 5, 0, 0, 0, 6, 32, 2, 0, 2, 64, 0, 0, 2, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 0, 0, 7, 130, 0, 16, 0, 4, 0, 0, 0, 26, 0, 16, 0, 5, 0, 0, 0, 1, 64, 0, 0, 124, 0, 0, 0, 30, 0, 0, 7, 66, 0, 16, 0, 2, 0, 0, 0, 42, 0, 16, 0, 2, 0, 0, 0, 1, 64, 0, 0, 255, 255, 255, 255, 39, 0, 0, 7, 130, 0, 16, 0, 2, 0, 0, 0, 58, 0, 16, 0, 2, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 32, 0, 0, 7, 130, 0, 16, 0, 2, 0, 0, 0, 58, 0, 16, 0, 2, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 1, 0, 0, 9, 226, 0, 16, 0, 5, 0, 0, 0, 6, 32, 2, 0, 2, 64, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 8, 0, 0, 0, 224, 3, 0, 0, 39, 0, 0, 10, 98, 0, 16, 0, 5, 0, 0, 0, 86, 6, 16, 0, 5, 0, 0, 0, 2, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 0, 0, 10, 98, 0, 16, 0, 5, 0, 0, 0, 86, 6, 16, 0, 5, 0, 0, 0, 2, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 0, 0, 9, 242, 0, 16, 0, 6, 0, 0, 0, 6, 32, 2, 0, 2, 64, 0, 0, 1, 0, 0, 0, 16, 4, 0, 0, 16, 12, 0, 0, 8, 4, 0, 0, 79, 0, 0, 10, 242, 0, 16, 0, 7, 0, 0, 0, 86, 5, 16, 0, 2, 0, 0, 0, 2, 64, 0, 0, 16, 0, 0, 0, 8, 0, 0, 0, 4, 0, 0, 0, 2, 0, 0, 0, 79, 0, 0, 7, 18, 0, 16, 0, 8, 0, 0, 0, 26, 0, 16, 0, 2, 0, 0, 0, 1, 64, 0, 0, 1, 0, 0, 0, 30, 0, 0, 9, 242, 0, 16, 0, 9, 0, 0, 0, 6, 32, 2, 0, 2, 64, 0, 0, 8, 12, 0, 0, 4, 4, 0, 0, 4, 12, 0, 0, 2, 4, 0, 0, 30, 0, 0, 10, 242, 0, 16, 0, 10, 0, 0, 0, 70, 14, 16, 0, 3, 0, 0, 0, 2, 64, 0, 0, 0, 8, 0, 0, 0, 8, 0, 0, 0, 8, 0, 0, 0, 8, 0, 0, 30, 0, 0, 10, 226, 0, 16, 0, 8, 0, 0, 0, 246, 15, 16, 0, 5, 0, 0, 0, 2, 64, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 8, 0, 0, 0, 12, 0, 0, 30, 0, 0, 10, 50, 0, 16, 0, 11, 0, 0, 0, 86, 5, 16, 0, 4, 0, 0, 0, 2, 64, 0, 0, 1, 0, 0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 140, 0, 0, 19, 242, 0, 16, 0, 12, 0, 0, 0, 2, 64, 0, 0, 10, 0, 0, 0, 11, 0, 0, 0, 10, 0, 0, 0, 5, 0, 0, 0, 2, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 6, 32, 2, 0, 2, 64, 0, 0, 0, 4, 0, 0, 0, 8, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 30, 0, 0, 7, 82, 0, 16, 0, 11, 0, 0, 0, 6, 1, 16, 0, 11, 0, 0, 0, 246, 15, 16, 0, 12, 0, 0, 0, 30, 0, 0, 9, 242, 0, 16, 0, 13, 0, 0, 0, 6, 32, 2, 0, 2, 64, 0, 0, 2, 12, 0, 0, 1, 4, 0, 0, 1, 12, 0, 0, 2, 2, 0, 0, 30, 0, 0, 10, 50, 0, 16, 0, 14, 0, 0, 0, 6, 0, 16, 0, 6, 0, 0, 0, 2, 64, 0, 0, 0, 8, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 0, 0, 6, 130, 0, 16, 0, 11, 0, 0, 0, 10, 32, 2, 0, 1, 64, 0, 0, 0, 16, 0, 0, 30, 0, 0, 7, 130, 0, 16, 0, 12, 0, 0, 0, 58, 0, 16, 0, 13, 0, 0, 0, 1, 64, 0, 0, 0, 16, 0, 0, 30, 0, 0, 9, 242, 0, 16, 0, 15, 0, 0, 0, 6, 32, 2, 0, 2, 64, 0, 0, 1, 16, 0, 0, 0, 2, 0, 0, 2, 18, 0, 0, 253, 15, 0, 0, 30, 0, 0, 7, 130, 0, 16, 0, 13, 0, 0, 0, 26, 0, 16, 0, 15, 0, 0, 0, 1, 64, 0, 0, 0, 16, 0, 0, 80, 0, 0, 9, 242, 0, 16, 0, 16, 0, 0, 0, 6, 32, 2, 0, 2, 64, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 4, 0, 0, 0, 8, 0, 0, 0, 30, 0, 0, 9, 242, 0, 16, 0, 17, 0, 0, 0, 6, 32, 2, 0, 2, 64, 0, 0, 250, 1, 0, 0, 241, 15, 0, 0, 226, 1, 0, 0, 193, 15, 0, 0, 30, 0, 0, 10, 194, 0, 16, 0, 14, 0, 0, 0, 6, 8, 16, 0, 17, 0, 0, 0, 2, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 16, 0, 0, 80, 0, 0, 9, 242, 0, 16, 0, 18, 0, 0, 0, 6, 32, 2, 0, 2, 64, 0, 0, 16, 0, 0, 0, 32, 0, 0, 0, 64, 0, 0, 0, 128, 0, 0, 0, 30, 0, 0, 9, 82, 0, 16, 0, 17, 0, 0, 0, 6, 32, 2, 0, 2, 64, 0, 0, 130, 1, 0, 0, 0, 0, 0, 0, 1, 15, 0, 0, 0, 0, 0, 0, 30, 0, 0, 7, 34, 0, 16, 0, 15, 0, 0, 0, 10, 0, 16, 0, 17, 0, 0, 0, 1, 64, 0, 0, 0, 16, 0, 0, 80, 0, 0, 6, 18, 0, 16, 0, 17, 0, 0, 0, 10, 32, 2, 0, 1, 64, 0, 0, 0, 1, 0, 0, 30, 0, 0, 10, 82, 0, 16, 0, 11, 0, 0, 0, 6, 2, 16, 0, 11, 0, 0, 0, 2, 64, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 54, 0, 0, 5, 18, 0, 16, 0, 19, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 48, 0, 0, 1, 165, 0, 0, 7, 34, 0, 16, 0, 19, 0, 0, 0, 1, 64, 0, 0, 16, 0, 0, 0, 6, 240, 17, 0, 1, 0, 0, 0, 80, 0, 0, 7, 66, 0, 16, 0, 19, 0, 0, 0, 10, 0, 16, 0, 19, 0, 0, 0, 26, 0, 16, 0, 19, 0, 0, 0, 3, 0, 4, 3, 42, 0, 16, 0, 19, 0, 0, 0, 86, 0, 0, 5, 66, 0, 16, 0, 19, 0, 0, 0, 10, 0, 16, 0, 19, 0, 0, 0, 0, 0, 0, 7, 130, 0, 16, 0, 19, 0, 0, 0, 42, 0, 16, 0, 19, 0, 0, 0, 1, 64, 0, 0, 0, 0, 128, 63, 86, 0, 0, 5, 34, 0, 16, 0, 19, 0, 0, 0, 26, 0, 16, 0, 19, 0, 0, 0, 14, 0, 0, 7, 34, 0, 16, 0, 19, 0, 0, 0, 58, 0, 16, 0, 19, 0, 0, 0, 26, 0, 16, 0, 19, 0, 0, 0, 31, 0, 0, 2, 10, 32, 2, 0, 165, 0, 0, 7, 130, 0, 16, 0, 19, 0, 0, 0, 1, 64, 0, 0, 12, 0, 0, 0, 6, 240, 17, 0, 1, 0, 0, 0, 30, 0, 0, 7, 130, 0, 16, 0, 19, 0, 0, 0, 10, 0, 16, 0, 19, 0, 0, 0, 58, 0, 16, 0, 19, 0, 0, 0, 167, 0, 0, 139, 2, 131, 3, 128, 131, 153, 25, 0, 242, 0, 16, 0, 20, 0, 0, 0, 58, 0, 16, 0, 19, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 70, 126, 16, 0, 2, 0, 0, 0, 167, 0, 0, 139, 2, 131, 3, 128, 131, 153, 25, 0, 242, 0, 16, 0, 21, 0, 0, 0, 58, 0, 16, 0, 19, 0, 0, 0, 1, 64, 0, 0, 16, 0, 0, 0, 70, 126, 16, 0, 2, 0, 0, 0, 167, 0, 0, 139, 2, 131, 3, 128, 131, 153, 25, 0, 242, 0, 16, 0, 22, 0, 0, 0, 58, 0, 16, 0, 19, 0, 0, 0, 1, 64, 0, 0, 32, 0, 0, 0, 70, 126, 16, 0, 2, 0, 0, 0, 167, 0, 0, 139, 2, 131, 3, 128, 131, 153, 25, 0, 242, 0, 16, 0, 23, 0, 0, 0, 58, 0, 16, 0, 19, 0, 0, 0, 1, 64, 0, 0, 48, 0, 0, 0, 70, 126, 16, 0, 2, 0, 0, 0, 167, 0, 0, 139, 2, 131, 3, 128, 131, 153, 25, 0, 242, 0, 16, 0, 24, 0, 0, 0, 58, 0, 16, 0, 19, 0, 0, 0, 1, 64, 0, 0, 64, 0, 0, 0, 70, 126, 16, 0, 2, 0, 0, 0, 167, 0, 0, 139, 2, 131, 3, 128, 131, 153, 25, 0, 242, 0, 16, 0, 25, 0, 0, 0, 58, 0, 16, 0, 19, 0, 0, 0, 1, 64, 0, 0, 80, 0, 0, 0, 70, 126, 16, 0, 2, 0, 0, 0, 167, 0, 0, 139, 2, 131, 3, 128, 131, 153, 25, 0, 242, 0, 16, 0, 26, 0, 0, 0, 58, 0, 16, 0, 19, 0, 0, 0, 1, 64, 0, 0, 96, 0, 0, 0, 70, 126, 16, 0, 2, 0, 0, 0, 166, 0, 0, 7, 242, 240, 17, 0, 2, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 70, 14, 16, 0, 20, 0, 0, 0, 166, 0, 0, 7, 242, 240, 17, 0, 2, 0, 0, 0, 1, 64, 0, 0, 16, 0, 0, 0, 70, 14, 16, 0, 21, 0, 0, 0, 166, 0, 0, 7, 242, 240, 17, 0, 2, 0, 0, 0, 1, 64, 0, 0, 32, 0, 0, 0, 70, 14, 16, 0, 22, 0, 0, 0, 166, 0, 0, 7, 242, 240, 17, 0, 2, 0, 0, 0, 1, 64, 0, 0, 48, 0, 0, 0, 70, 14, 16, 0, 23, 0, 0, 0, 166, 0, 0, 7, 242, 240, 17, 0, 2, 0, 0, 0, 1, 64, 0, 0, 64, 0, 0, 0, 70, 14, 16, 0, 24, 0, 0, 0, 166, 0, 0, 7, 242, 240, 17, 0, 2, 0, 0, 0, 1, 64, 0, 0, 80, 0, 0, 0, 70, 14, 16, 0, 25, 0, 0, 0, 166, 0, 0, 7, 242, 240, 17, 0, 2, 0, 0, 0, 1, 64, 0, 0, 96, 0, 0, 0, 70, 14, 16, 0, 26, 0, 0, 0, 21, 0, 0, 1, 190, 24, 0, 1, 165, 0, 0, 7, 130, 0, 16, 0, 19, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 0, 0, 0, 0, 165, 0, 0, 7, 18, 0, 16, 0, 20, 0, 0, 0, 1, 64, 0, 0, 108, 0, 0, 0, 6, 240, 17, 0, 2, 0, 0, 0, 165, 0, 0, 7, 226, 0, 16, 0, 20, 0, 0, 0, 1, 64, 0, 0, 12, 0, 0, 0, 6, 249, 17, 0, 2, 0, 0, 0, 165, 0, 0, 7, 242, 0, 16, 0, 21, 0, 0, 0, 1, 64, 0, 0, 60, 0, 0, 0, 70, 254, 17, 0, 2, 0, 0, 0, 165, 0, 0, 7, 242, 0, 16, 0, 22, 0, 0, 0, 1, 64, 0, 0, 24, 0, 0, 0, 70, 254, 17, 0, 2, 0, 0, 0, 165, 0, 0, 7, 242, 0, 16, 0, 23, 0, 0, 0, 1, 64, 0, 0, 76, 0, 0, 0, 70, 254, 17, 0, 2, 0, 0, 0, 165, 0, 0, 7, 242, 0, 16, 0, 24, 0, 0, 0, 1, 64, 0, 0, 40, 0, 0, 0, 70, 254, 17, 0, 2, 0, 0, 0, 165, 0, 0, 7, 18, 0, 16, 0, 25, 0, 0, 0, 1, 64, 0, 0, 92, 0, 0, 0, 6, 240, 17, 0, 2, 0, 0, 0, 165, 0, 0, 7, 34, 0, 16, 0, 25, 0, 0, 0, 1, 64, 0, 0, 56, 0, 0, 0, 6, 240, 17, 0, 2, 0, 0, 0, 165, 0, 0, 7, 242, 0, 16, 0, 26, 0, 0, 0, 1, 64, 0, 0, 12, 0, 0, 0, 70, 254, 17, 0, 2, 0, 0, 0, 165, 0, 0, 7, 66, 0, 16, 0, 25, 0, 0, 0, 1, 64, 0, 0, 36, 0, 0, 0, 6, 240, 17, 0, 2, 0, 0, 0, 165, 0, 0, 7, 130, 0, 16, 0, 25, 0, 0, 0, 1, 64, 0, 0, 48, 0, 0, 0, 6, 240, 17, 0, 2, 0, 0, 0, 54, 0, 0, 4, 18, 0, 16, 0, 27, 0, 0, 0, 10, 32, 2, 0, 48, 0, 0, 1, 80, 0, 0, 7, 34, 0, 16, 0, 27, 0, 0, 0, 10, 0, 16, 0, 27, 0, 0, 0, 58, 0, 16, 0, 19, 0, 0, 0, 3, 0, 4, 3, 26, 0, 16, 0, 27, 0, 0, 0, 30, 0, 0, 7, 34, 0, 16, 0, 27, 0, 0, 0, 26, 0, 16, 0, 0, 0, 0, 0, 10, 0, 16, 0, 27, 0, 0, 0, 41, 0, 0, 7, 34, 0, 16, 0, 27, 0, 0, 0, 26, 0, 16, 0, 27, 0, 0, 0, 1, 64, 0, 0, 4, 0, 0, 0, 165, 0, 0, 137, 194, 2, 0, 128, 131, 153, 25, 0, 242, 0, 16, 0, 28, 0, 0, 0, 26, 0, 16, 0, 27, 0, 0, 0, 70, 238, 17, 0, 0, 0, 0, 0, 30, 0, 0, 7, 66, 0, 16, 0, 27, 0, 0, 0, 10, 0, 16, 0, 0, 0, 0, 0, 10, 0, 16, 0, 27, 0, 0, 0, 41, 0, 0, 7, 66, 0, 16, 0, 27, 0, 0, 0, 42, 0, 16, 0, 27, 0, 0, 0, 1, 64, 0, 0, 4, 0, 0, 0, 165, 0, 0, 137, 194, 2, 0, 128, 131, 153, 25, 0, 242, 0, 16, 0, 29, 0, 0, 0, 42, 0, 16, 0, 27, 0, 0, 0, 70, 238, 17, 0, 0, 0, 0, 0, 24, 0, 0, 7, 130, 0, 16, 0, 27, 0, 0, 0, 58, 0, 16, 0, 28, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 55, 0, 0, 9, 130, 0, 16, 0, 28, 0, 0, 0, 58, 0, 16, 0, 27, 0, 0, 0, 58, 0, 16, 0, 29, 0, 0, 0, 58, 0, 16, 0, 28, 0, 0, 0, 49, 0, 0, 7, 130, 0, 16, 0, 27, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 58, 0, 16, 0, 28, 0, 0, 0, 31, 0, 4, 3, 58, 0, 16, 0, 27, 0, 0, 0, 31, 0, 4, 3, 10, 0, 16, 0, 20, 0, 0, 0, 0, 0, 0, 7, 114, 0, 16, 0, 30, 0, 0, 0, 150, 7, 16, 0, 20, 0, 0, 0, 70, 2, 16, 0, 28, 0, 0, 0, 50, 0, 0, 9, 50, 0, 16, 0, 30, 0, 0, 0, 6, 0, 16, 0, 28, 0, 0, 0, 198, 0, 16, 0, 21, 0, 0, 0, 70, 0, 16, 0, 30, 0, 0, 0, 50, 0, 0, 9, 50, 0, 16, 0, 30, 0, 0, 0, 6, 0, 16, 0, 29, 0, 0, 0, 198, 0, 16, 0, 22, 0, 0, 0, 70, 0, 16, 0, 30, 0, 0, 0, 50, 0, 0, 9, 130, 0, 16, 0, 27, 0, 0, 0, 26, 0, 16, 0, 28, 0, 0, 0, 26, 0, 16, 0, 21, 0, 0, 0, 10, 0, 16, 0, 30, 0, 0, 0, 50, 0, 0, 9, 130, 0, 16, 0, 27, 0, 0, 0, 26, 0, 16, 0, 29, 0, 0, 0, 26, 0, 16, 0, 22, 0, 0, 0, 58, 0, 16, 0, 27, 0, 0, 0, 50, 0, 0, 9, 130, 0, 16, 0, 27, 0, 0, 0, 42, 0, 16, 0, 28, 0, 0, 0, 42, 0, 16, 0, 21, 0, 0, 0, 58, 0, 16, 0, 27, 0, 0, 0, 50, 0, 0, 9, 18, 0, 16, 0, 31, 0, 0, 0, 42, 0, 16, 0, 29, 0, 0, 0, 42, 0, 16, 0, 22, 0, 0, 0, 58, 0, 16, 0, 27, 0, 0, 0, 50, 0, 0, 9, 130, 0, 16, 0, 27, 0, 0, 0, 26, 0, 16, 0, 28, 0, 0, 0, 10, 0, 16, 0, 23, 0, 0, 0, 26, 0, 16, 0, 30, 0, 0, 0, 50, 0, 0, 9, 130, 0, 16, 0, 27, 0, 0, 0, 26, 0, 16, 0, 29, 0, 0, 0, 10, 0, 16, 0, 24, 0, 0, 0, 58, 0, 16, 0, 27, 0, 0, 0, 50, 0, 0, 9, 130, 0, 16, 0, 27, 0, 0, 0, 42, 0, 16, 0, 28, 0, 0, 0, 26, 0, 16, 0, 23, 0, 0, 0, 58, 0, 16, 0, 27, 0, 0, 0, 50, 0, 0, 9, 34, 0, 16, 0, 31, 0, 0, 0, 42, 0, 16, 0, 29, 0, 0, 0, 26, 0, 16, 0, 24, 0, 0, 0, 58, 0, 16, 0, 27, 0, 0, 0, 50, 0, 0, 9, 130, 0, 16, 0, 27, 0, 0, 0, 10, 0, 16, 0, 28, 0, 0, 0, 42, 0, 16, 0, 23, 0, 0, 0, 42, 0, 16, 0, 30, 0, 0, 0, 50, 0, 0, 9, 130, 0, 16, 0, 27, 0, 0, 0, 10, 0, 16, 0, 29, 0, 0, 0, 42, 0, 16, 0, 24, 0, 0, 0, 58, 0, 16, 0, 27, 0, 0, 0, 50, 0, 0, 9, 130, 0, 16, 0, 27, 0, 0, 0, 26, 0, 16, 0, 28, 0, 0, 0, 58, 0, 16, 0, 23, 0, 0, 0, 58, 0, 16, 0, 27, 0, 0, 0, 50, 0, 0, 9, 130, 0, 16, 0, 27, 0, 0, 0, 26, 0, 16, 0, 29, 0, 0, 0, 58, 0, 16, 0, 24, 0, 0, 0, 58, 0, 16, 0, 27, 0, 0, 0, 50, 0, 0, 9, 130, 0, 16, 0, 27, 0, 0, 0, 42, 0, 16, 0, 28, 0, 0, 0, 10, 0, 16, 0, 25, 0, 0, 0, 58, 0, 16, 0, 27, 0, 0, 0, 50, 0, 0, 9, 130, 0, 16, 0, 27, 0, 0, 0, 42, 0, 16, 0, 29, 0, 0, 0, 26, 0, 16, 0, 25, 0, 0, 0, 58, 0, 16, 0, 27, 0, 0, 0, 18, 0, 0, 1, 0, 0, 0, 8, 114, 0, 16, 0, 30, 0, 0, 0, 70, 2, 16, 0, 28, 0, 0, 0, 70, 2, 16, 128, 65, 0, 0, 0, 29, 0, 0, 0, 50, 0, 0, 9, 18, 0, 16, 0, 30, 0, 0, 0, 10, 0, 16, 0, 30, 0, 0, 0, 58, 0, 16, 0, 26, 0, 0, 0, 10, 0, 16, 0, 26, 0, 0, 0, 0, 0, 0, 7, 18, 0, 16, 0, 31, 0, 0, 0, 10, 0, 16, 0, 28, 0, 0, 0, 10, 0, 16, 0, 30, 0, 0, 0, 50, 0, 0, 9, 18, 0, 16, 0, 30, 0, 0, 0, 26, 0, 16, 0, 30, 0, 0, 0, 42, 0, 16, 0, 25, 0, 0, 0, 26, 0, 16, 0, 26, 0, 0, 0, 0, 0, 0, 7, 34, 0, 16, 0, 31, 0, 0, 0, 26, 0, 16, 0, 28, 0, 0, 0, 10, 0, 16, 0, 30, 0, 0, 0, 50, 0, 0, 9, 18, 0, 16, 0, 30, 0, 0, 0, 42, 0, 16, 0, 30, 0, 0, 0, 58, 0, 16, 0, 25, 0, 0, 0, 42, 0, 16, 0, 26, 0, 0, 0, 0, 0, 0, 7, 130, 0, 16, 0, 27, 0, 0, 0, 42, 0, 16, 0, 28, 0, 0, 0, 10, 0, 16, 0, 30, 0, 0, 0, 21, 0, 0, 1, 165, 0, 0, 7, 114, 0, 16, 0, 30, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 70, 242, 17, 0, 2, 0, 0, 0, 0, 0, 0, 7, 114, 0, 16, 0, 29, 0, 0, 0, 70, 2, 16, 0, 28, 0, 0, 0, 70, 2, 16, 0, 30, 0, 0, 0, 54, 0, 0, 5, 50, 0, 16, 0, 28, 0, 0, 0, 70, 0, 16, 0, 31, 0, 0, 0, 54, 0, 0, 5, 66, 0, 16, 0, 28, 0, 0, 0, 58, 0, 16, 0, 27, 0, 0, 0, 18, 0, 0, 1, 54, 0, 0, 5, 114, 0, 16, 0, 29, 0, 0, 0, 70, 2, 16, 0, 28, 0, 0, 0, 21, 0, 0, 1, 166, 0, 0, 7, 242, 224, 17, 0, 0, 0, 0, 0, 26, 0, 16, 0, 27, 0, 0, 0, 70, 14, 16, 0, 28, 0, 0, 0, 166, 0, 0, 7, 242, 224, 17, 0, 0, 0, 0, 0, 42, 0, 16, 0, 27, 0, 0, 0, 70, 14, 16, 0, 29, 0, 0, 0, 30, 0, 0, 7, 18, 0, 16, 0, 27, 0, 0, 0, 10, 0, 16, 0, 27, 0, 0, 0, 1, 64, 0, 0, 0, 4, 0, 0, 22, 0, 0, 1, 165, 0, 0, 7, 130, 0, 16, 0, 19, 0, 0, 0, 1, 64, 0, 0, 92, 0, 0, 0, 6, 240, 17, 0, 1, 0, 0, 0, 190, 24, 0, 1, 165, 0, 0, 7, 18, 0, 16, 0, 20, 0, 0, 0, 1, 64, 0, 0, 8, 0, 0, 0, 6, 240, 17, 0, 1, 0, 0, 0, 56, 0, 0, 7, 18, 0, 16, 0, 20, 0, 0, 0, 10, 0, 16, 0, 20, 0, 0, 0, 10, 0, 16, 0, 20, 0, 0, 0, 55, 0, 0, 9, 18, 0, 16, 0, 20, 0, 0, 0, 42, 0, 16, 0, 0, 0, 0, 0, 10, 0, 16, 0, 20, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 165, 0, 0, 7, 34, 0, 16, 0, 20, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 0, 0, 0, 0, 41, 0, 0, 7, 66, 0, 16, 0, 20, 0, 0, 0, 26, 0, 16, 0, 20, 0, 0, 0, 1, 64, 0, 0, 2, 0, 0, 0, 54, 0, 0, 4, 130, 0, 16, 0, 20, 0, 0, 0, 10, 32, 2, 0, 48, 0, 0, 1, 80, 0, 0, 7, 18, 0, 16, 0, 21, 0, 0, 0, 58, 0, 16, 0, 20, 0, 0, 0, 42, 0, 16, 0, 20, 0, 0, 0, 3, 0, 4, 3, 10, 0, 16, 0, 21, 0, 0, 0, 85, 0, 0, 7, 18, 0, 16, 0, 21, 0, 0, 0, 58, 0, 16, 0, 20, 0, 0, 0, 1, 64, 0, 0, 2, 0, 0, 0, 30, 0, 0, 7, 18, 0, 16, 0, 21, 0, 0, 0, 26, 0, 16, 0, 0, 0, 0, 0, 10, 0, 16, 0, 21, 0, 0, 0, 41, 0, 0, 7, 18, 0, 16, 0, 21, 0, 0, 0, 10, 0, 16, 0, 21, 0, 0, 0, 1, 64, 0, 0, 4, 0, 0, 0, 165, 0, 0, 137, 194, 2, 0, 128, 131, 153, 25, 0, 242, 0, 16, 0, 22, 0, 0, 0, 10, 0, 16, 0, 21, 0, 0, 0, 70, 238, 17, 0, 0, 0, 0, 0, 49, 0, 0, 7, 34, 0, 16, 0, 21, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 58, 0, 16, 0, 22, 0, 0, 0, 31, 0, 4, 3, 26, 0, 16, 0, 21, 0, 0, 0, 30, 0, 0, 7, 34, 0, 16, 0, 21, 0, 0, 0, 58, 0, 16, 0, 19, 0, 0, 0, 58, 0, 16, 0, 20, 0, 0, 0, 167, 0, 0, 139, 2, 131, 0, 128, 131, 153, 25, 0, 242, 0, 16, 0, 23, 0, 0, 0, 26, 0, 16, 0, 21, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 70, 126, 16, 0, 13, 0, 0, 0, 50, 0, 0, 9, 242, 0, 16, 0, 22, 0, 0, 0, 70, 14, 16, 0, 23, 0, 0, 0, 6, 0, 16, 0, 20, 0, 0, 0, 70, 14, 16, 0, 22, 0, 0, 0, 166, 0, 0, 7, 242, 224, 17, 0, 0, 0, 0, 0, 10, 0, 16, 0, 21, 0, 0, 0, 70, 14, 16, 0, 22, 0, 0, 0, 21, 0, 0, 1, 30, 0, 0, 7, 130, 0, 16, 0, 20, 0, 0, 0, 58, 0, 16, 0, 20, 0, 0, 0, 1, 64, 0, 0, 0, 4, 0, 0, 22, 0, 0, 1, 190, 24, 0, 1, 165, 0, 0, 7, 114, 0, 16, 0, 20, 0, 0, 0, 1, 64, 0, 0, 24, 0, 0, 0, 70, 242, 17, 0, 1, 0, 0, 0, 165, 0, 0, 7, 130, 0, 16, 0, 19, 0, 0, 0, 1, 64, 0, 0, 8, 0, 0, 0, 6, 240, 17, 0, 1, 0, 0, 0, 24, 0, 0, 10, 50, 0, 16, 0, 21, 0, 0, 0, 70, 0, 16, 0, 20, 0, 0, 0, 2, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 7, 130, 0, 16, 0, 20, 0, 0, 0, 26, 0, 16, 0, 21, 0, 0, 0, 10, 0, 16, 0, 21, 0, 0, 0, 31, 0, 0, 3, 58, 0, 16, 0, 20, 0, 0, 0, 165, 0, 0, 7, 114, 0, 16, 0, 21, 0, 0, 0, 1, 64, 0, 0, 96, 0, 0, 0, 70, 242, 17, 0, 2, 0, 0, 0, 190, 24, 0, 1, 165, 0, 0, 7, 50, 0, 16, 0, 22, 0, 0, 0, 1, 64, 0, 0, 36, 0, 0, 0, 70, 240, 17, 0, 0, 0, 0, 0, 165, 0, 0, 7, 130, 0, 16, 0, 20, 0, 0, 0, 1, 64, 0, 0, 108, 0, 0, 0, 6, 240, 17, 0, 2, 0, 0, 0, 165, 0, 0, 7, 242, 0, 16, 0, 23, 0, 0, 0, 1, 64, 0, 0, 36, 0, 0, 0, 70, 254, 17, 0, 1, 0, 0, 0, 165, 0, 0, 7, 242, 0, 16, 0, 24, 0, 0, 0, 1, 64, 0, 0, 52, 0, 0, 0, 70, 254, 17, 0, 1, 0, 0, 0, 165, 0, 0, 7, 18, 0, 16, 0, 25, 0, 0, 0, 1, 64, 0, 0, 68, 0, 0, 0, 6, 240, 17, 0, 1, 0, 0, 0, 54, 0, 0, 5, 18, 0, 16, 0, 26, 0, 0, 0, 58, 0, 16, 0, 23, 0, 0, 0, 54, 0, 0, 5, 98, 0, 16, 0, 26, 0, 0, 0, 6, 1, 16, 0, 24, 0, 0, 0, 54, 0, 0, 5, 98, 0, 16, 0, 25, 0, 0, 0, 166, 11, 16, 0, 24, 0, 0, 0, 54, 0, 0, 4, 130, 0, 16, 0, 21, 0, 0, 0, 10, 32, 2, 0, 48, 0, 0, 1, 80, 0, 0, 7, 66, 0, 16, 0, 22, 0, 0, 0, 58, 0, 16, 0, 21, 0, 0, 0, 10, 0, 16, 0, 22, 0, 0, 0, 3, 0, 4, 3, 42, 0, 16, 0, 22, 0, 0, 0, 38, 0, 0, 8, 0, 208, 0, 0, 66, 0, 16, 0, 22, 0, 0, 0, 58, 0, 16, 0, 21, 0, 0, 0, 1, 64, 0, 0, 3, 0, 0, 0, 85, 0, 0, 7, 130, 0, 16, 0, 22, 0, 0, 0, 42, 0, 16, 0, 22, 0, 0, 0, 1, 64, 0, 0, 1, 0, 0, 0, 30, 0, 0, 7, 130, 0, 16, 0, 22, 0, 0, 0, 58, 0, 16, 0, 22, 0, 0, 0, 26, 0, 16, 0, 22, 0, 0, 0, 167, 0, 0, 139, 2, 35, 0, 128, 131, 153, 25, 0, 130, 0, 16, 0, 22, 0, 0, 0, 58, 0, 16, 0, 22, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 112, 16, 0, 17, 0, 0, 0, 35, 0, 0, 15, 50, 0, 16, 0, 27, 0, 0, 0, 246, 15, 16, 0, 21, 0, 0, 0, 2, 64, 0, 0, 3, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 64, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 85, 0, 0, 10, 50, 0, 16, 0, 27, 0, 0, 0, 70, 0, 16, 0, 27, 0, 0, 0, 2, 64, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 0, 0, 7, 50, 0, 16, 0, 27, 0, 0, 0, 86, 5, 16, 0, 22, 0, 0, 0, 70, 0, 16, 0, 27, 0, 0, 0, 167, 0, 0, 139, 2, 35, 0, 128, 131, 153, 25, 0, 130, 0, 16, 0, 25, 0, 0, 0, 10, 0, 16, 0, 27, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 112, 16, 0, 17, 0, 0, 0, 167, 0, 0, 139, 2, 35, 0, 128, 131, 153, 25, 0, 130, 0, 16, 0, 26, 0, 0, 0, 26, 0, 16, 0, 27, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 112, 16, 0, 17, 0, 0, 0, 1, 0, 0, 7, 66, 0, 16, 0, 22, 0, 0, 0, 42, 0, 16, 0, 22, 0, 0, 0, 1, 64, 0, 0, 1, 0, 0, 0, 85, 0, 0, 7, 18, 0, 16, 0, 27, 0, 0, 0, 58, 0, 16, 0, 22, 0, 0, 0, 1, 64, 0, 0, 16, 0, 0, 0, 1, 0, 0, 7, 34, 0, 16, 0, 27, 0, 0, 0, 58, 0, 16, 0, 25, 0, 0, 0, 1, 64, 0, 0, 255, 255, 0, 0, 85, 0, 0, 7, 66, 0, 16, 0, 27, 0, 0, 0, 58, 0, 16, 0, 26, 0, 0, 0, 1, 64, 0, 0, 16, 0, 0, 0, 1, 0, 0, 7, 18, 0, 16, 0, 28, 0, 0, 0, 58, 0, 16, 0, 22, 0, 0, 0, 1, 64, 0, 0, 255, 255, 0, 0, 85, 0, 0, 7, 34, 0, 16, 0, 28, 0, 0, 0, 58, 0, 16, 0, 25, 0, 0, 0, 1, 64, 0, 0, 16, 0, 0, 0, 1, 0, 0, 7, 66, 0, 16, 0, 28, 0, 0, 0, 58, 0, 16, 0, 26, 0, 0, 0, 1, 64, 0, 0, 255, 255, 0, 0, 55, 0, 0, 9, 114, 0, 16, 0, 27, 0, 0, 0, 166, 10, 16, 0, 22, 0, 0, 0, 70, 2, 16, 0, 27, 0, 0, 0, 70, 2, 16, 0, 28, 0, 0, 0, 30, 0, 0, 7, 114, 0, 16, 0, 28, 0, 0, 0, 86, 5, 16, 0, 0, 0, 0, 0, 70, 2, 16, 0, 27, 0, 0, 0, 41, 0, 0, 10, 114, 0, 16, 0, 29, 0, 0, 0, 70, 2, 16, 0, 28, 0, 0, 0, 2, 64, 0, 0, 4, 0, 0, 0, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 165, 0, 0, 137, 194, 2, 0, 128, 131, 153, 25, 0, 242, 0, 16, 0, 30, 0, 0, 0, 10, 0, 16, 0, 29, 0, 0, 0, 70, 238, 17, 0, 0, 0, 0, 0, 165, 0, 0, 137, 194, 2, 0, 128, 131, 153, 25, 0, 242, 0, 16, 0, 31, 0, 0, 0, 26, 0, 16, 0, 29, 0, 0, 0, 70, 238, 17, 0, 0, 0, 0, 0, 165, 0, 0, 137, 194, 2, 0, 128, 131, 153, 25, 0, 242, 0, 16, 0, 32, 0, 0, 0, 42, 0, 16, 0, 29, 0, 0, 0, 70, 238, 17, 0, 0, 0, 0, 0, 30, 0, 0, 7, 114, 0, 16, 0, 27, 0, 0, 0, 6, 0, 16, 0, 0, 0, 0, 0, 70, 2, 16, 0, 27, 0, 0, 0, 41, 0, 0, 10, 114, 0, 16, 0, 27, 0, 0, 0, 70, 2, 16, 0, 27, 0, 0, 0, 2, 64, 0, 0, 4, 0, 0, 0, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 165, 0, 0, 137, 194, 2, 0, 128, 131, 153, 25, 0, 114, 0, 16, 0, 33, 0, 0, 0, 10, 0, 16, 0, 27, 0, 0, 0, 70, 226, 17, 0, 0, 0, 0, 0, 165, 0, 0, 137, 194, 2, 0, 128, 131, 153, 25, 0, 178, 0, 16, 0, 27, 0, 0, 0, 26, 0, 16, 0, 27, 0, 0, 0, 70, 232, 17, 0, 0, 0, 0, 0, 165, 0, 0, 137, 194, 2, 0, 128, 131, 153, 25, 0, 114, 0, 16, 0, 34, 0, 0, 0, 42, 0, 16, 0, 27, 0, 0, 0, 70, 226, 17, 0, 0, 0, 0, 0, 0, 0, 0, 7, 114, 0, 16, 0, 35, 0, 0, 0, 70, 2, 16, 0, 30, 0, 0, 0, 70, 2, 16, 0, 31, 0, 0, 0, 0, 0, 0, 7, 114, 0, 16, 0, 35, 0, 0, 0, 70, 2, 16, 0, 32, 0, 0, 0, 70, 2, 16, 0, 35, 0, 0, 0, 56, 0, 0, 10, 114, 0, 16, 0, 36, 0, 0, 0, 70, 2, 16, 0, 35, 0, 0, 0, 2, 64, 0, 0, 171, 170, 170, 62, 171, 170, 170, 62, 171, 170, 170, 62, 0, 0, 0, 0, 0, 0, 0, 7, 114, 0, 16, 0, 27, 0, 0, 0, 70, 3, 16, 0, 27, 0, 0, 0, 70, 2, 16, 0, 33, 0, 0, 0, 0, 0, 0, 7, 114, 0, 16, 0, 27, 0, 0, 0, 70, 2, 16, 0, 34, 0, 0, 0, 70, 2, 16, 0, 27, 0, 0, 0, 56, 0, 0, 10, 114, 0, 16, 0, 33, 0, 0, 0, 70, 2, 16, 0, 27, 0, 0, 0, 2, 64, 0, 0, 171, 170, 170, 62, 171, 170, 170, 62, 171, 170, 170, 62, 0, 0, 0, 0, 50, 0, 0, 13, 114, 0, 16, 0, 33, 0, 0, 0, 70, 2, 16, 0, 35, 0, 0, 0, 2, 64, 0, 0, 171, 170, 170, 62, 171, 170, 170, 62, 171, 170, 170, 62, 0, 0, 0, 0, 70, 2, 16, 128, 65, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 7, 114, 0, 16, 0, 33, 0, 0, 0, 70, 2, 16, 0, 21, 0, 0, 0, 70, 2, 16, 0, 33, 0, 0, 0, 50, 0, 0, 13, 114, 0, 16, 0, 27, 0, 0, 0, 70, 2, 16, 128, 65, 0, 0, 0, 27, 0, 0, 0, 2, 64, 0, 0, 171, 170, 170, 62, 171, 170, 170, 62, 171, 170, 170, 62, 0, 0, 0, 0, 70, 2, 16, 0, 21, 0, 0, 0, 50, 0, 0, 9, 114, 0, 16, 0, 34, 0, 0, 0, 6, 0, 16, 0, 27, 0, 0, 0, 70, 2, 16, 0, 23, 0, 0, 0, 70, 2, 16, 0, 36, 0, 0, 0, 50, 0, 0, 9, 178, 0, 16, 0, 27, 0, 0, 0, 86, 5, 16, 0, 27, 0, 0, 0, 70, 8, 16, 0, 26, 0, 0, 0, 70, 8, 16, 0, 34, 0, 0, 0, 50, 0, 0, 9, 114, 0, 16, 0, 27, 0, 0, 0, 166, 10, 16, 0, 27, 0, 0, 0, 150, 4, 16, 0, 25, 0, 0, 0, 70, 3, 16, 0, 27, 0, 0, 0, 55, 0, 0, 9, 114, 0, 16, 0, 27, 0, 0, 0, 246, 15, 16, 0, 20, 0, 0, 0, 70, 2, 16, 0, 27, 0, 0, 0, 70, 2, 16, 0, 33, 0, 0, 0, 0, 0, 0, 8, 114, 0, 16, 0, 32, 0, 0, 0, 38, 9, 16, 128, 65, 0, 0, 0, 30, 0, 0, 0, 38, 9, 16, 0, 32, 0, 0, 0, 0, 0, 0, 8, 114, 0, 16, 0, 30, 0, 0, 0, 150, 4, 16, 128, 65, 0, 0, 0, 30, 0, 0, 0, 150, 4, 16, 0, 31, 0, 0, 0, 56, 0, 0, 7, 114, 0, 16, 0, 31, 0, 0, 0, 70, 2, 16, 0, 30, 0, 0, 0, 70, 2, 16, 0, 32, 0, 0, 0, 50, 0, 0, 10, 114, 0, 16, 0, 30, 0, 0, 0, 38, 9, 16, 0, 32, 0, 0, 0, 150, 4, 16, 0, 30, 0, 0, 0, 70, 2, 16, 128, 65, 0, 0, 0, 31, 0, 0, 0, 16, 0, 0, 7, 66, 0, 16, 0, 22, 0, 0, 0, 70, 2, 16, 0, 30, 0, 0, 0, 70, 2, 16, 0, 30, 0, 0, 0, 75, 0, 0, 5, 66, 0, 16, 0, 22, 0, 0, 0, 42, 0, 16, 0, 22, 0, 0, 0, 14, 0, 0, 7, 114, 0, 16, 0, 30, 0, 0, 0, 70, 2, 16, 0, 30, 0, 0, 0, 166, 10, 16, 0, 22, 0, 0, 0, 16, 0, 0, 7, 130, 0, 16, 0, 22, 0, 0, 0, 70, 2, 16, 0, 27, 0, 0, 0, 70, 2, 16, 0, 27, 0, 0, 0, 68, 0, 0, 5, 130, 0, 16, 0, 25, 0, 0, 0, 58, 0, 16, 0, 22, 0, 0, 0, 75, 0, 0, 5, 130, 0, 16, 0, 26, 0, 0, 0, 58, 0, 16, 0, 22, 0, 0, 0, 16, 0, 0, 7, 130, 0, 16, 0, 27, 0, 0, 0, 70, 2, 16, 0, 30, 0, 0, 0, 70, 2, 16, 0, 27, 0, 0, 0, 56, 0, 0, 7, 130, 0, 16, 0, 27, 0, 0, 0, 58, 0, 16, 0, 25, 0, 0, 0, 58, 0, 16, 0, 27, 0, 0, 0, 50, 0, 0, 10, 130, 0, 16, 0, 28, 0, 0, 0, 58, 0, 16, 128, 65, 0, 0, 0, 27, 0, 0, 0, 58, 0, 16, 0, 27, 0, 0, 0, 1, 64, 0, 0, 0, 0, 128, 63, 52, 0, 0, 7, 130, 0, 16, 0, 28, 0, 0, 0, 58, 0, 16, 0, 28, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 75, 0, 0, 5, 130, 0, 16, 0, 28, 0, 0, 0, 58, 0, 16, 0, 28, 0, 0, 0, 56, 0, 0, 7, 114, 0, 16, 0, 31, 0, 0, 0, 150, 4, 16, 0, 27, 0, 0, 0, 70, 2, 16, 0, 30, 0, 0, 0, 50, 0, 0, 10, 114, 0, 16, 0, 30, 0, 0, 0, 70, 2, 16, 0, 27, 0, 0, 0, 150, 4, 16, 0, 30, 0, 0, 0, 70, 2, 16, 128, 65, 0, 0, 0, 31, 0, 0, 0, 56, 0, 0, 7, 114, 0, 16, 0, 31, 0, 0, 0, 150, 4, 16, 0, 27, 0, 0, 0, 246, 15, 16, 0, 25, 0, 0, 0, 56, 0, 0, 7, 114, 0, 16, 0, 32, 0, 0, 0, 70, 2, 16, 0, 30, 0, 0, 0, 70, 2, 16, 0, 31, 0, 0, 0, 50, 0, 0, 10, 114, 0, 16, 0, 30, 0, 0, 0, 38, 9, 16, 0, 30, 0, 0, 0, 150, 4, 16, 0, 31, 0, 0, 0, 70, 2, 16, 128, 65, 0, 0, 0, 32, 0, 0, 0, 56, 0, 0, 7, 130, 0, 16, 0, 25, 0, 0, 0, 26, 0, 16, 0, 20, 0, 0, 0, 58, 0, 16, 0, 27, 0, 0, 0, 56, 0, 0, 7, 130, 0, 16, 0, 25, 0, 0, 0, 58, 0, 16, 0, 28, 0, 0, 0, 58, 0, 16, 0, 25, 0, 0, 0, 56, 0, 0, 7, 114, 0, 16, 0, 30, 0, 0, 0, 70, 2, 16, 0, 30, 0, 0, 0, 246, 15, 16, 0, 25, 0, 0, 0, 56, 0, 0, 7, 114, 0, 16, 0, 30, 0, 0, 0, 246, 15, 16, 0, 26, 0, 0, 0, 70, 2, 16, 0, 30, 0, 0, 0, 14, 0, 0, 7, 114, 0, 16, 0, 30, 0, 0, 0, 70, 2, 16, 0, 30, 0, 0, 0, 246, 15, 16, 0, 19, 0, 0, 0, 56, 0, 0, 8, 130, 0, 16, 0, 25, 0, 0, 0, 10, 0, 16, 0, 20, 0, 0, 0, 58, 0, 16, 128, 129, 0, 0, 0, 27, 0, 0, 0, 56, 0, 0, 7, 114, 0, 16, 0, 27, 0, 0, 0, 70, 2, 16, 0, 27, 0, 0, 0, 246, 15, 16, 0, 25, 0, 0, 0, 56, 0, 0, 7, 114, 0, 16, 0, 27, 0, 0, 0, 246, 15, 16, 0, 26, 0, 0, 0, 70, 2, 16, 0, 27, 0, 0, 0, 14, 0, 0, 7, 114, 0, 16, 0, 27, 0, 0, 0, 70, 2, 16, 0, 27, 0, 0, 0, 246, 15, 16, 0, 19, 0, 0, 0, 49, 0, 0, 7, 130, 0, 16, 0, 22, 0, 0, 0, 58, 0, 16, 0, 22, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 52, 0, 0, 0, 7, 114, 0, 16, 0, 27, 0, 0, 0, 70, 2, 16, 0, 27, 0, 0, 0, 70, 2, 16, 0, 30, 0, 0, 0, 56, 0, 0, 7, 114, 0, 16, 0, 27, 0, 0, 0, 166, 10, 16, 0, 20, 0, 0, 0, 70, 2, 16, 0, 27, 0, 0, 0, 56, 0, 0, 7, 114, 0, 16, 0, 27, 0, 0, 0, 166, 10, 16, 0, 22, 0, 0, 0, 70, 2, 16, 0, 27, 0, 0, 0, 55, 0, 0, 13, 114, 0, 16, 0, 27, 0, 0, 0, 246, 15, 16, 0, 22, 0, 0, 0, 2, 64, 0, 0, 0, 0, 0, 128, 0, 0, 0, 128, 0, 0, 0, 128, 0, 0, 0, 0, 70, 2, 16, 128, 65, 0, 0, 0, 27, 0, 0, 0, 165, 0, 0, 137, 194, 2, 0, 128, 131, 153, 25, 0, 66, 0, 16, 0, 22, 0, 0, 0, 10, 0, 16, 0, 29, 0, 0, 0, 6, 224, 17, 0, 0, 0, 0, 0, 50, 0, 0, 9, 130, 0, 16, 0, 22, 0, 0, 0, 10, 0, 16, 0, 27, 0, 0, 0, 58, 0, 16, 0, 30, 0, 0, 0, 42, 0, 16, 0, 22, 0, 0, 0, 185, 0, 0, 11, 18, 0, 16, 0, 33, 0, 0, 0, 0, 224, 17, 0, 0, 0, 0, 0, 10, 0, 16, 0, 29, 0, 0, 0, 42, 0, 16, 0, 22, 0, 0, 0, 58, 0, 16, 0, 22, 0, 0, 0, 54, 0, 0, 5, 18, 0, 16, 0, 30, 0, 0, 0, 42, 0, 16, 0, 22, 0, 0, 0, 54, 0, 0, 5, 34, 0, 16, 0, 30, 0, 0, 0, 10, 0, 16, 0, 33, 0, 0, 0, 48, 0, 0, 1, 32, 0, 0, 7, 130, 0, 16, 0, 22, 0, 0, 0, 10, 0, 16, 0, 30, 0, 0, 0, 26, 0, 16, 0, 30, 0, 0, 0, 3, 0, 4, 3, 58, 0, 16, 0, 22, 0, 0, 0, 50, 0, 0, 9, 130, 0, 16, 0, 22, 0, 0, 0, 10, 0, 16, 0, 27, 0, 0, 0, 58, 0, 16, 0, 30, 0, 0, 0, 26, 0, 16, 0, 30, 0, 0, 0, 185, 0, 0, 11, 18, 0, 16, 0, 30, 0, 0, 0, 0, 224, 17, 0, 0, 0, 0, 0, 10, 0, 16, 0, 29, 0, 0, 0, 26, 0, 16, 0, 30, 0, 0, 0, 58, 0, 16, 0, 22, 0, 0, 0, 54, 0, 0, 5, 50, 0, 16, 0, 30, 0, 0, 0, 22, 5, 16, 0, 30, 0, 0, 0, 22, 0, 0, 1, 140, 0, 0, 20, 242, 0, 16, 0, 33, 0, 0, 0, 2, 64, 0, 0, 28, 0, 0, 0, 28, 0, 0, 0, 28, 0, 0, 0, 28, 0, 0, 0, 2, 64, 0, 0, 4, 0, 0, 0, 4, 0, 0, 0, 4, 0, 0, 0, 4, 0, 0, 0, 6, 5, 16, 0, 28, 0, 0, 0, 2, 64, 0, 0, 4, 0, 0, 0, 8, 0, 0, 0, 4, 0, 0, 0, 8, 0, 0, 0, 165, 0, 0, 137, 194, 2, 0, 128, 131, 153, 25, 0, 66, 0, 16, 0, 22, 0, 0, 0, 10, 0, 16, 0, 33, 0, 0, 0, 6, 224, 17, 0, 0, 0, 0, 0, 50, 0, 0, 9, 130, 0, 16, 0, 22, 0, 0, 0, 26, 0, 16, 0, 27, 0, 0, 0, 58, 0, 16, 0, 30, 0, 0, 0, 42, 0, 16, 0, 22, 0, 0, 0, 185, 0, 0, 11, 18, 0, 16, 0, 34, 0, 0, 0, 0, 224, 17, 0, 0, 0, 0, 0, 10, 0, 16, 0, 33, 0, 0, 0, 42, 0, 16, 0, 22, 0, 0, 0, 58, 0, 16, 0, 22, 0, 0, 0, 54, 0, 0, 5, 18, 0, 16, 0, 28, 0, 0, 0, 42, 0, 16, 0, 22, 0, 0, 0, 54, 0, 0, 5, 34, 0, 16, 0, 28, 0, 0, 0, 10, 0, 16, 0, 34, 0, 0, 0, 48, 0, 0, 1, 32, 0, 0, 7, 130, 0, 16, 0, 22, 0, 0, 0, 10, 0, 16, 0, 28, 0, 0, 0, 26, 0, 16, 0, 28, 0, 0, 0, 3, 0, 4, 3, 58, 0, 16, 0, 22, 0, 0, 0, 50, 0, 0, 9, 130, 0, 16, 0, 22, 0, 0, 0, 26, 0, 16, 0, 27, 0, 0, 0, 58, 0, 16, 0, 30, 0, 0, 0, 26, 0, 16, 0, 28, 0, 0, 0, 185, 0, 0, 11, 18, 0, 16, 0, 28, 0, 0, 0, 0, 224, 17, 0, 0, 0, 0, 0, 10, 0, 16, 0, 33, 0, 0, 0, 26, 0, 16, 0, 28, 0, 0, 0, 58, 0, 16, 0, 22, 0, 0, 0, 54, 0, 0, 5, 50, 0, 16, 0, 28, 0, 0, 0, 22, 5, 16, 0, 28, 0, 0, 0, 22, 0, 0, 1, 165, 0, 0, 137, 194, 2, 0, 128, 131, 153, 25, 0, 66, 0, 16, 0, 22, 0, 0, 0, 26, 0, 16, 0, 33, 0, 0, 0, 6, 224, 17, 0, 0, 0, 0, 0, 50, 0, 0, 9, 130, 0, 16, 0, 22, 0, 0, 0, 42, 0, 16, 0, 27, 0, 0, 0, 58, 0, 16, 0, 30, 0, 0, 0, 42, 0, 16, 0, 22, 0, 0, 0, 185, 0, 0, 11, 18, 0, 16, 0, 34, 0, 0, 0, 0, 224, 17, 0, 0, 0, 0, 0, 26, 0, 16, 0, 33, 0, 0, 0, 42, 0, 16, 0, 22, 0, 0, 0, 58, 0, 16, 0, 22, 0, 0, 0, 54, 0, 0, 5, 18, 0, 16, 0, 28, 0, 0, 0, 42, 0, 16, 0, 22, 0, 0, 0, 54, 0, 0, 5, 34, 0, 16, 0, 28, 0, 0, 0, 10, 0, 16, 0, 34, 0, 0, 0, 48, 0, 0, 1, 32, 0, 0, 7, 130, 0, 16, 0, 22, 0, 0, 0, 10, 0, 16, 0, 28, 0, 0, 0, 26, 0, 16, 0, 28, 0, 0, 0, 3, 0, 4, 3, 58, 0, 16, 0, 22, 0, 0, 0, 50, 0, 0, 9, 130, 0, 16, 0, 22, 0, 0, 0, 42, 0, 16, 0, 27, 0, 0, 0, 58, 0, 16, 0, 30, 0, 0, 0, 26, 0, 16, 0, 28, 0, 0, 0, 185, 0, 0, 11, 18, 0, 16, 0, 28, 0, 0, 0, 0, 224, 17, 0, 0, 0, 0, 0, 26, 0, 16, 0, 33, 0, 0, 0, 26, 0, 16, 0, 28, 0, 0, 0, 58, 0, 16, 0, 22, 0, 0, 0, 54, 0, 0, 5, 50, 0, 16, 0, 28, 0, 0, 0, 22, 5, 16, 0, 28, 0, 0, 0, 22, 0, 0, 1, 165, 0, 0, 137, 194, 2, 0, 128, 131, 153, 25, 0, 66, 0, 16, 0, 22, 0, 0, 0, 26, 0, 16, 0, 29, 0, 0, 0, 6, 224, 17, 0, 0, 0, 0, 0, 50, 0, 0, 9, 130, 0, 16, 0, 22, 0, 0, 0, 10, 0, 16, 0, 27, 0, 0, 0, 58, 0, 16, 0, 31, 0, 0, 0, 42, 0, 16, 0, 22, 0, 0, 0, 185, 0, 0, 11, 18, 0, 16, 0, 30, 0, 0, 0, 0, 224, 17, 0, 0, 0, 0, 0, 26, 0, 16, 0, 29, 0, 0, 0, 42, 0, 16, 0, 22, 0, 0, 0, 58, 0, 16, 0, 22, 0, 0, 0, 54, 0, 0, 5, 18, 0, 16, 0, 28, 0, 0, 0, 42, 0, 16, 0, 22, 0, 0, 0, 54, 0, 0, 5, 34, 0, 16, 0, 28, 0, 0, 0, 10, 0, 16, 0, 30, 0, 0, 0, 48, 0, 0, 1, 32, 0, 0, 7, 130, 0, 16, 0, 22, 0, 0, 0, 10, 0, 16, 0, 28, 0, 0, 0, 26, 0, 16, 0, 28, 0, 0, 0, 3, 0, 4, 3, 58, 0, 16, 0, 22, 0, 0, 0, 50, 0, 0, 9, 130, 0, 16, 0, 22, 0, 0, 0, 10, 0, 16, 0, 27, 0, 0, 0, 58, 0, 16, 0, 31, 0, 0, 0, 26, 0, 16, 0, 28, 0, 0, 0, 185, 0, 0, 11, 18, 0, 16, 0, 28, 0, 0, 0, 0, 224, 17, 0, 0, 0, 0, 0, 26, 0, 16, 0, 29, 0, 0, 0, 26, 0, 16, 0, 28, 0, 0, 0, 58, 0, 16, 0, 22, 0, 0, 0, 54, 0, 0, 5, 50, 0, 16, 0, 28, 0, 0, 0, 22, 5, 16, 0, 28, 0, 0, 0, 22, 0, 0, 1, 165, 0, 0, 137, 194, 2, 0, 128, 131, 153, 25, 0, 66, 0, 16, 0, 22, 0, 0, 0, 42, 0, 16, 0, 33, 0, 0, 0, 6, 224, 17, 0, 0, 0, 0, 0, 50, 0, 0, 9, 130, 0, 16, 0, 22, 0, 0, 0, 26, 0, 16, 0, 27, 0, 0, 0, 58, 0, 16, 0, 31, 0, 0, 0, 42, 0, 16, 0, 22, 0, 0, 0, 185, 0, 0, 11, 18, 0, 16, 0, 30, 0, 0, 0, 0, 224, 17, 0, 0, 0, 0, 0, 42, 0, 16, 0, 33, 0, 0, 0, 42, 0, 16, 0, 22, 0, 0, 0, 58, 0, 16, 0, 22, 0, 0, 0, 54, 0, 0, 5, 18, 0, 16, 0, 28, 0, 0, 0, 42, 0, 16, 0, 22, 0, 0, 0, 54, 0, 0, 5, 34, 0, 16, 0, 28, 0, 0, 0, 10, 0, 16, 0, 30, 0, 0, 0, 48, 0, 0, 1, 32, 0, 0, 7, 130, 0, 16, 0, 22, 0, 0, 0, 10, 0, 16, 0, 28, 0, 0, 0, 26, 0, 16, 0, 28, 0, 0, 0, 3, 0, 4, 3, 58, 0, 16, 0, 22, 0, 0, 0, 50, 0, 0, 9, 130, 0, 16, 0, 22, 0, 0, 0, 26, 0, 16, 0, 27, 0, 0, 0, 58, 0, 16, 0, 31, 0, 0, 0, 26, 0, 16, 0, 28, 0, 0, 0, 185, 0, 0, 11, 18, 0, 16, 0, 28, 0, 0, 0, 0, 224, 17, 0, 0, 0, 0, 0, 42, 0, 16, 0, 33, 0, 0, 0, 26, 0, 16, 0, 28, 0, 0, 0, 58, 0, 16, 0, 22, 0, 0, 0, 54, 0, 0, 5, 50, 0, 16, 0, 28, 0, 0, 0, 22, 5, 16, 0, 28, 0, 0, 0, 22, 0, 0, 1, 165, 0, 0, 137, 194, 2, 0, 128, 131, 153, 25, 0, 66, 0, 16, 0, 22, 0, 0, 0, 58, 0, 16, 0, 33, 0, 0, 0, 6, 224, 17, 0, 0, 0, 0, 0, 50, 0, 0, 9, 130, 0, 16, 0, 22, 0, 0, 0, 42, 0, 16, 0, 27, 0, 0, 0, 58, 0, 16, 0, 31, 0, 0, 0, 42, 0, 16, 0, 22, 0, 0, 0, 185, 0, 0, 11, 18, 0, 16, 0, 30, 0, 0, 0, 0, 224, 17, 0, 0, 0, 0, 0, 58, 0, 16, 0, 33, 0, 0, 0, 42, 0, 16, 0, 22, 0, 0, 0, 58, 0, 16, 0, 22, 0, 0, 0, 54, 0, 0, 5, 18, 0, 16, 0, 28, 0, 0, 0, 42, 0, 16, 0, 22, 0, 0, 0, 54, 0, 0, 5, 34, 0, 16, 0, 28, 0, 0, 0, 10, 0, 16, 0, 30, 0, 0, 0, 48, 0, 0, 1, 32, 0, 0, 7, 130, 0, 16, 0, 22, 0, 0, 0, 10, 0, 16, 0, 28, 0, 0, 0, 26, 0, 16, 0, 28, 0, 0, 0, 3, 0, 4, 3, 58, 0, 16, 0, 22, 0, 0, 0, 50, 0, 0, 9, 130, 0, 16, 0, 22, 0, 0, 0, 42, 0, 16, 0, 27, 0, 0, 0, 58, 0, 16, 0, 31, 0, 0, 0, 26, 0, 16, 0, 28, 0, 0, 0, 185, 0, 0, 11, 18, 0, 16, 0, 28, 0, 0, 0, 0, 224, 17, 0, 0, 0, 0, 0, 58, 0, 16, 0, 33, 0, 0, 0, 26, 0, 16, 0, 28, 0, 0, 0, 58, 0, 16, 0, 22, 0, 0, 0, 54, 0, 0, 5, 50, 0, 16, 0, 28, 0, 0, 0, 22, 5, 16, 0, 28, 0, 0, 0, 22, 0, 0, 1, 165, 0, 0, 137, 194, 2, 0, 128, 131, 153, 25, 0, 66, 0, 16, 0, 22, 0, 0, 0, 42, 0, 16, 0, 29, 0, 0, 0, 6, 224, 17, 0, 0, 0, 0, 0, 50, 0, 0, 9, 130, 0, 16, 0, 22, 0, 0, 0, 10, 0, 16, 0, 27, 0, 0, 0, 58, 0, 16, 0, 32, 0, 0, 0, 42, 0, 16, 0, 22, 0, 0, 0, 185, 0, 0, 11, 18, 0, 16, 0, 30, 0, 0, 0, 0, 224, 17, 0, 0, 0, 0, 0, 42, 0, 16, 0, 29, 0, 0, 0, 42, 0, 16, 0, 22, 0, 0, 0, 58, 0, 16, 0, 22, 0, 0, 0, 54, 0, 0, 5, 18, 0, 16, 0, 28, 0, 0, 0, 42, 0, 16, 0, 22, 0, 0, 0, 54, 0, 0, 5, 34, 0, 16, 0, 28, 0, 0, 0, 10, 0, 16, 0, 30, 0, 0, 0, 48, 0, 0, 1, 32, 0, 0, 7, 130, 0, 16, 0, 22, 0, 0, 0, 10, 0, 16, 0, 28, 0, 0, 0, 26, 0, 16, 0, 28, 0, 0, 0, 3, 0, 4, 3, 58, 0, 16, 0, 22, 0, 0, 0, 50, 0, 0, 9, 130, 0, 16, 0, 22, 0, 0, 0, 10, 0, 16, 0, 27, 0, 0, 0, 58, 0, 16, 0, 32, 0, 0, 0, 26, 0, 16, 0, 28, 0, 0, 0, 185, 0, 0, 11, 18, 0, 16, 0, 28, 0, 0, 0, 0, 224, 17, 0, 0, 0, 0, 0, 42, 0, 16, 0, 29, 0, 0, 0, 26, 0, 16, 0, 28, 0, 0, 0, 58, 0, 16, 0, 22, 0, 0, 0, 54, 0, 0, 5, 50, 0, 16, 0, 28, 0, 0, 0, 22, 5, 16, 0, 28, 0, 0, 0, 22, 0, 0, 1, 140, 0, 0, 20, 194, 0, 16, 0, 22, 0, 0, 0, 2, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28, 0, 0, 0, 28, 0, 0, 0, 2, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 4, 0, 0, 0, 166, 10, 16, 0, 28, 0, 0, 0, 2, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 8, 0, 0, 0, 165, 0, 0, 137, 194, 2, 0, 128, 131, 153, 25, 0, 130, 0, 16, 0, 25, 0, 0, 0, 42, 0, 16, 0, 22, 0, 0, 0, 6, 224, 17, 0, 0, 0, 0, 0, 50, 0, 0, 9, 130, 0, 16, 0, 26, 0, 0, 0, 26, 0, 16, 0, 27, 0, 0, 0, 58, 0, 16, 0, 32, 0, 0, 0, 58, 0, 16, 0, 25, 0, 0, 0, 185, 0, 0, 11, 18, 0, 16, 0, 28, 0, 0, 0, 0, 224, 17, 0, 0, 0, 0, 0, 42, 0, 16, 0, 22, 0, 0, 0, 58, 0, 16, 0, 25, 0, 0, 0, 58, 0, 16, 0, 26, 0, 0, 0, 54, 0, 0, 5, 18, 0, 16, 0, 29, 0, 0, 0, 58, 0, 16, 0, 25, 0, 0, 0, 54, 0, 0, 5, 34, 0, 16, 0, 29, 0, 0, 0, 10, 0, 16, 0, 28, 0, 0, 0, 48, 0, 0, 1, 32, 0, 0, 7, 130, 0, 16, 0, 26, 0, 0, 0, 10, 0, 16, 0, 29, 0, 0, 0, 26, 0, 16, 0, 29, 0, 0, 0, 3, 0, 4, 3, 58, 0, 16, 0, 26, 0, 0, 0, 50, 0, 0, 9, 130, 0, 16, 0, 26, 0, 0, 0, 26, 0, 16, 0, 27, 0, 0, 0, 58, 0, 16, 0, 32, 0, 0, 0, 26, 0, 16, 0, 29, 0, 0, 0, 185, 0, 0, 11, 18, 0, 16, 0, 29, 0, 0, 0, 0, 224, 17, 0, 0, 0, 0, 0, 42, 0, 16, 0, 22, 0, 0, 0, 26, 0, 16, 0, 29, 0, 0, 0, 58, 0, 16, 0, 26, 0, 0, 0, 54, 0, 0, 5, 50, 0, 16, 0, 29, 0, 0, 0, 22, 5, 16, 0, 29, 0, 0, 0, 22, 0, 0, 1, 165, 0, 0, 137, 194, 2, 0, 128, 131, 153, 25, 0, 66, 0, 16, 0, 22, 0, 0, 0, 58, 0, 16, 0, 22, 0, 0, 0, 6, 224, 17, 0, 0, 0, 0, 0, 50, 0, 0, 9, 130, 0, 16, 0, 25, 0, 0, 0, 42, 0, 16, 0, 27, 0, 0, 0, 58, 0, 16, 0, 32, 0, 0, 0, 42, 0, 16, 0, 22, 0, 0, 0, 185, 0, 0, 11, 18, 0, 16, 0, 28, 0, 0, 0, 0, 224, 17, 0, 0, 0, 0, 0, 58, 0, 16, 0, 22, 0, 0, 0, 42, 0, 16, 0, 22, 0, 0, 0, 58, 0, 16, 0, 25, 0, 0, 0, 54, 0, 0, 5, 18, 0, 16, 0, 27, 0, 0, 0, 42, 0, 16, 0, 22, 0, 0, 0, 54, 0, 0, 5, 34, 0, 16, 0, 27, 0, 0, 0, 10, 0, 16, 0, 28, 0, 0, 0, 48, 0, 0, 1, 32, 0, 0, 7, 130, 0, 16, 0, 25, 0, 0, 0, 10, 0, 16, 0, 27, 0, 0, 0, 26, 0, 16, 0, 27, 0, 0, 0, 3, 0, 4, 3, 58, 0, 16, 0, 25, 0, 0, 0, 50, 0, 0, 9, 130, 0, 16, 0, 25, 0, 0, 0, 42, 0, 16, 0, 27, 0, 0, 0, 58, 0, 16, 0, 32, 0, 0, 0, 26, 0, 16, 0, 27, 0, 0, 0, 185, 0, 0, 11, 18, 0, 16, 0, 27, 0, 0, 0, 0, 224, 17, 0, 0, 0, 0, 0, 58, 0, 16, 0, 22, 0, 0, 0, 26, 0, 16, 0, 27, 0, 0, 0, 58, 0, 16, 0, 25, 0, 0, 0, 54, 0, 0, 5, 50, 0, 16, 0, 27, 0, 0, 0, 22, 5, 16, 0, 27, 0, 0, 0, 22, 0, 0, 1, 30, 0, 0, 7, 130, 0, 16, 0, 21, 0, 0, 0, 58, 0, 16, 0, 21, 0, 0, 0, 1, 64, 0, 0, 0, 4, 0, 0, 22, 0, 0, 1, 190, 24, 0, 1, 21, 0, 0, 1, 165, 0, 0, 7, 130, 0, 16, 0, 19, 0, 0, 0, 1, 64, 0, 0, 76, 0, 0, 0, 6, 240, 17, 0, 1, 0, 0, 0, 39, 0, 0, 7, 130, 0, 16, 0, 19, 0, 0, 0, 58, 0, 16, 0, 19, 0, 0, 0, 1, 64, 0, 0, 255, 255, 255, 255, 31, 0, 4, 3, 58, 0, 16, 0, 19, 0, 0, 0, 165, 0, 0, 7, 50, 0, 16, 0, 20, 0, 0, 0, 1, 64, 0, 0, 44, 0, 0, 0, 70, 240, 17, 0, 0, 0, 0, 0, 165, 0, 0, 7, 114, 0, 16, 0, 21, 0, 0, 0, 1, 64, 0, 0, 72, 0, 0, 0, 70, 242, 17, 0, 1, 0, 0, 0, 165, 0, 0, 7, 130, 0, 16, 0, 19, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 0, 0, 0, 0, 54, 0, 0, 4, 66, 0, 16, 0, 20, 0, 0, 0, 10, 32, 2, 0, 48, 0, 0, 1, 80, 0, 0, 7, 130, 0, 16, 0, 20, 0, 0, 0, 42, 0, 16, 0, 20, 0, 0, 0, 58, 0, 16, 0, 19, 0, 0, 0, 3, 0, 4, 3, 58, 0, 16, 0, 20, 0, 0, 0, 30, 0, 0, 7, 50, 0, 16, 0, 22, 0, 0, 0, 166, 10, 16, 0, 20, 0, 0, 0, 150, 5, 16, 0, 21, 0, 0, 0, 167, 0, 0, 139, 2, 131, 0, 128, 131, 153, 25, 0, 242, 0, 16, 0, 23, 0, 0, 0, 10, 0, 16, 0, 22, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 70, 126, 16, 0, 11, 0, 0, 0, 167, 0, 0, 139, 2, 131, 0, 128, 131, 153, 25, 0, 242, 0, 16, 0, 22, 0, 0, 0, 26, 0, 16, 0, 22, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 70, 126, 16, 0, 11, 0, 0, 0, 0, 0, 0, 8, 242, 0, 16, 0, 22, 0, 0, 0, 70, 14, 16, 128, 65, 0, 0, 0, 23, 0, 0, 0, 70, 14, 16, 0, 22, 0, 0, 0, 50, 0, 0, 9, 242, 0, 16, 0, 22, 0, 0, 0, 70, 14, 16, 0, 22, 0, 0, 0, 86, 5, 16, 0, 19, 0, 0, 0, 70, 14, 16, 0, 23, 0, 0, 0, 30, 0, 0, 7, 130, 0, 16, 0, 20, 0, 0, 0, 26, 0, 16, 0, 0, 0, 0, 0, 42, 0, 16, 0, 20, 0, 0, 0, 41, 0, 0, 7, 130, 0, 16, 0, 20, 0, 0, 0, 58, 0, 16, 0, 20, 0, 0, 0, 1, 64, 0, 0, 4, 0, 0, 0, 165, 0, 0, 137, 194, 2, 0, 128, 131, 153, 25, 0, 242, 0, 16, 0, 23, 0, 0, 0, 58, 0, 16, 0, 20, 0, 0, 0, 70, 238, 17, 0, 0, 0, 0, 0, 0, 0, 0, 8, 114, 0, 16, 0, 22, 0, 0, 0, 70, 2, 16, 0, 22, 0, 0, 0, 70, 2, 16, 128, 65, 0, 0, 0, 23, 0, 0, 0, 16, 0, 0, 7, 130, 0, 16, 0, 21, 0, 0, 0, 70, 2, 16, 0, 22, 0, 0, 0, 70, 2, 16, 0, 22, 0, 0, 0, 0, 0, 0, 7, 130, 0, 16, 0, 21, 0, 0, 0, 58, 0, 16, 0, 21, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 52, 50, 0, 0, 11, 130, 0, 16, 0, 22, 0, 0, 0, 58, 0, 16, 0, 22, 0, 0, 0, 10, 0, 16, 128, 65, 0, 0, 0, 20, 0, 0, 0, 26, 0, 16, 128, 65, 0, 0, 0, 20, 0, 0, 0, 51, 0, 0, 7, 130, 0, 16, 0, 22, 0, 0, 0, 58, 0, 16, 0, 22, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 68, 0, 0, 5, 130, 0, 16, 0, 21, 0, 0, 0, 58, 0, 16, 0, 21, 0, 0, 0, 50, 0, 0, 9, 130, 0, 16, 0, 21, 0, 0, 0, 58, 0, 16, 0, 22, 0, 0, 0, 58, 0, 16, 0, 21, 0, 0, 0, 1, 64, 0, 0, 0, 0, 128, 63, 52, 0, 0, 7, 130, 0, 16, 0, 21, 0, 0, 0, 58, 0, 16, 0, 21, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 56, 0, 0, 7, 130, 0, 16, 0, 21, 0, 0, 0, 10, 0, 16, 0, 21, 0, 0, 0, 58, 0, 16, 0, 21, 0, 0, 0, 50, 0, 0, 9, 114, 0, 16, 0, 24, 0, 0, 0, 246, 15, 16, 0, 21, 0, 0, 0, 70, 2, 16, 0, 22, 0, 0, 0, 70, 2, 16, 0, 23, 0, 0, 0, 29, 0, 0, 7, 130, 0, 16, 0, 21, 0, 0, 0, 58, 0, 16, 0, 22, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 55, 0, 0, 9, 130, 0, 16, 0, 24, 0, 0, 0, 58, 0, 16, 0, 21, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 58, 0, 16, 0, 23, 0, 0, 0, 166, 0, 0, 7, 242, 224, 17, 0, 0, 0, 0, 0, 58, 0, 16, 0, 20, 0, 0, 0, 70, 14, 16, 0, 24, 0, 0, 0, 30, 0, 0, 7, 66, 0, 16, 0, 20, 0, 0, 0, 42, 0, 16, 0, 20, 0, 0, 0, 1, 64, 0, 0, 0, 4, 0, 0, 22, 0, 0, 1, 21, 0, 0, 1, 165, 0, 0, 7, 130, 0, 16, 0, 19, 0, 0, 0, 1, 64, 0, 0, 20, 0, 0, 0, 6, 240, 17, 0, 1, 0, 0, 0, 24, 0, 0, 7, 18, 0, 16, 0, 20, 0, 0, 0, 58, 0, 16, 0, 19, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 165, 0, 0, 7, 34, 0, 16, 0, 20, 0, 0, 0, 1, 64, 0, 0, 24, 0, 0, 0, 6, 240, 17, 0, 0, 0, 0, 0, 32, 0, 0, 7, 66, 0, 16, 0, 20, 0, 0, 0, 26, 0, 16, 0, 20, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 60, 0, 0, 7, 18, 0, 16, 0, 20, 0, 0, 0, 42, 0, 16, 0, 20, 0, 0, 0, 10, 0, 16, 0, 20, 0, 0, 0, 31, 0, 0, 3, 10, 0, 16, 0, 20, 0, 0, 0, 165, 0, 0, 7, 18, 0, 16, 0, 20, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 0, 0, 0, 0, 86, 0, 0, 5, 66, 0, 16, 0, 20, 0, 0, 0, 10, 0, 16, 0, 20, 0, 0, 0, 56, 0, 0, 7, 130, 0, 16, 0, 19, 0, 0, 0, 58, 0, 16, 0, 19, 0, 0, 0, 42, 0, 16, 0, 20, 0, 0, 0, 86, 0, 0, 5, 66, 0, 16, 0, 20, 0, 0, 0, 26, 0, 16, 0, 20, 0, 0, 0, 14, 0, 0, 7, 130, 0, 16, 0, 19, 0, 0, 0, 58, 0, 16, 0, 19, 0, 0, 0, 42, 0, 16, 0, 20, 0, 0, 0, 165, 0, 0, 7, 194, 0, 16, 0, 20, 0, 0, 0, 1, 64, 0, 0, 28, 0, 0, 0, 6, 244, 17, 0, 0, 0, 0, 0, 54, 0, 0, 4, 18, 0, 16, 0, 21, 0, 0, 0, 10, 32, 2, 0, 48, 0, 0, 1, 80, 0, 0, 7, 34, 0, 16, 0, 21, 0, 0, 0, 10, 0, 16, 0, 21, 0, 0, 0, 10, 0, 16, 0, 20, 0, 0, 0, 3, 0, 4, 3, 26, 0, 16, 0, 21, 0, 0, 0, 30, 0, 0, 7, 34, 0, 16, 0, 21, 0, 0, 0, 26, 0, 16, 0, 0, 0, 0, 0, 10, 0, 16, 0, 21, 0, 0, 0, 41, 0, 0, 7, 34, 0, 16, 0, 21, 0, 0, 0, 26, 0, 16, 0, 21, 0, 0, 0, 1, 64, 0, 0, 4, 0, 0, 0, 165, 0, 0, 137, 194, 2, 0, 128, 131, 153, 25, 0, 242, 0, 16, 0, 22, 0, 0, 0, 26, 0, 16, 0, 21, 0, 0, 0, 70, 238, 17, 0, 0, 0, 0, 0, 54, 0, 0, 8, 114, 0, 16, 0, 23, 0, 0, 0, 2, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 54, 0, 0, 5, 66, 0, 16, 0, 21, 0, 0, 0, 10, 0, 16, 0, 21, 0, 0, 0, 48, 0, 0, 1, 80, 0, 0, 7, 130, 0, 16, 0, 21, 0, 0, 0, 42, 0, 16, 0, 21, 0, 0, 0, 26, 0, 16, 0, 20, 0, 0, 0, 3, 0, 4, 3, 58, 0, 16, 0, 21, 0, 0, 0, 30, 0, 0, 7, 130, 0, 16, 0, 21, 0, 0, 0, 42, 0, 16, 0, 20, 0, 0, 0, 42, 0, 16, 0, 21, 0, 0, 0, 167, 0, 0, 139, 2, 35, 0, 128, 131, 153, 25, 0, 130, 0, 16, 0, 21, 0, 0, 0, 58, 0, 16, 0, 21, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 112, 16, 0, 5, 0, 0, 0, 1, 0, 0, 7, 130, 0, 16, 0, 23, 0, 0, 0, 58, 0, 16, 0, 21, 0, 0, 0, 1, 64, 0, 0, 255, 255, 0, 0, 30, 0, 0, 7, 130, 0, 16, 0, 23, 0, 0, 0, 26, 0, 16, 0, 0, 0, 0, 0, 58, 0, 16, 0, 23, 0, 0, 0, 41, 0, 0, 7, 130, 0, 16, 0, 23, 0, 0, 0, 58, 0, 16, 0, 23, 0, 0, 0, 1, 64, 0, 0, 4, 0, 0, 0, 165, 0, 0, 137, 194, 2, 0, 128, 131, 153, 25, 0, 114, 0, 16, 0, 24, 0, 0, 0, 58, 0, 16, 0, 23, 0, 0, 0, 70, 226, 17, 0, 0, 0, 0, 0, 0, 0, 0, 8, 114, 0, 16, 0, 24, 0, 0, 0, 70, 2, 16, 128, 65, 0, 0, 0, 22, 0, 0, 0, 70, 2, 16, 0, 24, 0, 0, 0, 50, 0, 0, 9, 130, 0, 16, 0, 23, 0, 0, 0, 10, 0, 16, 0, 24, 0, 0, 0, 10, 0, 16, 0, 24, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 52, 50, 0, 0, 9, 130, 0, 16, 0, 23, 0, 0, 0, 26, 0, 16, 0, 24, 0, 0, 0, 26, 0, 16, 0, 24, 0, 0, 0, 58, 0, 16, 0, 23, 0, 0, 0, 50, 0, 0, 9, 130, 0, 16, 0, 23, 0, 0, 0, 42, 0, 16, 0, 24, 0, 0, 0, 42, 0, 16, 0, 24, 0, 0, 0, 58, 0, 16, 0, 23, 0, 0, 0, 85, 0, 0, 7, 130, 0, 16, 0, 21, 0, 0, 0, 58, 0, 16, 0, 21, 0, 0, 0, 1, 64, 0, 0, 16, 0, 0, 0, 86, 0, 0, 5, 130, 0, 16, 0, 21, 0, 0, 0, 58, 0, 16, 0, 21, 0, 0, 0, 56, 0, 0, 7, 130, 0, 16, 0, 21, 0, 0, 0, 58, 0, 16, 0, 20, 0, 0, 0, 58, 0, 16, 0, 21, 0, 0, 0, 68, 0, 0, 5, 130, 0, 16, 0, 23, 0, 0, 0, 58, 0, 16, 0, 23, 0, 0, 0, 50, 0, 0, 10, 130, 0, 16, 0, 21, 0, 0, 0, 58, 0, 16, 128, 65, 0, 0, 0, 21, 0, 0, 0, 58, 0, 16, 0, 23, 0, 0, 0, 1, 64, 0, 0, 0, 0, 128, 63, 49, 0, 0, 7, 130, 0, 16, 0, 23, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 58, 0, 16, 0, 21, 0, 0, 0, 50, 0, 0, 9, 114, 0, 16, 0, 24, 0, 0, 0, 70, 2, 16, 0, 24, 0, 0, 0, 246, 15, 16, 0, 21, 0, 0, 0, 70, 2, 16, 0, 23, 0, 0, 0, 55, 0, 0, 9, 114, 0, 16, 0, 23, 0, 0, 0, 246, 15, 16, 0, 23, 0, 0, 0, 70, 2, 16, 0, 24, 0, 0, 0, 70, 2, 16, 0, 23, 0, 0, 0, 30, 0, 0, 7, 66, 0, 16, 0, 21, 0, 0, 0, 10, 0, 16, 0, 20, 0, 0, 0, 42, 0, 16, 0, 21, 0, 0, 0, 22, 0, 0, 1, 50, 0, 0, 9, 114, 0, 16, 0, 22, 0, 0, 0, 70, 2, 16, 0, 23, 0, 0, 0, 246, 15, 16, 0, 19, 0, 0, 0, 70, 2, 16, 0, 22, 0, 0, 0, 166, 0, 0, 7, 242, 224, 17, 0, 0, 0, 0, 0, 26, 0, 16, 0, 21, 0, 0, 0, 70, 14, 16, 0, 22, 0, 0, 0, 30, 0, 0, 7, 18, 0, 16, 0, 21, 0, 0, 0, 10, 0, 16, 0, 21, 0, 0, 0, 1, 64, 0, 0, 0, 4, 0, 0, 22, 0, 0, 1, 21, 0, 0, 1, 54, 0, 0, 5, 130, 0, 16, 0, 19, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 48, 0, 0, 1, 165, 0, 0, 7, 18, 0, 16, 0, 20, 0, 0, 0, 1, 64, 0, 0, 8, 0, 0, 0, 6, 240, 17, 0, 0, 0, 0, 0, 80, 0, 0, 7, 18, 0, 16, 0, 20, 0, 0, 0, 58, 0, 16, 0, 19, 0, 0, 0, 10, 0, 16, 0, 20, 0, 0, 0, 3, 0, 4, 3, 10, 0, 16, 0, 20, 0, 0, 0, 165, 0, 0, 7, 114, 0, 16, 0, 20, 0, 0, 0, 1, 64, 0, 0, 12, 0, 0, 0, 70, 242, 17, 0, 0, 0, 0, 0, 30, 0, 0, 7, 18, 0, 16, 0, 20, 0, 0, 0, 58, 0, 16, 0, 19, 0, 0, 0, 10, 0, 16, 0, 20, 0, 0, 0, 167, 0, 0, 139, 2, 195, 0, 128, 131, 153, 25, 0, 242, 0, 16, 0, 21, 0, 0, 0, 10, 0, 16, 0, 20, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 70, 126, 16, 0, 3, 0, 0, 0, 167, 0, 0, 139, 2, 195, 0, 128, 131, 153, 25, 0, 146, 0, 16, 0, 20, 0, 0, 0, 10, 0, 16, 0, 20, 0, 0, 0, 1, 64, 0, 0, 16, 0, 0, 0, 6, 116, 16, 0, 3, 0, 0, 0, 165, 0, 0, 7, 18, 0, 16, 0, 22, 0, 0, 0, 1, 64, 0, 0, 156, 0, 0, 0, 6, 240, 17, 0, 1, 0, 0, 0, 56, 0, 0, 7, 50, 0, 16, 0, 21, 0, 0, 0, 70, 0, 16, 0, 21, 0, 0, 0, 6, 0, 16, 0, 22, 0, 0, 0, 25, 0, 0, 5, 50, 0, 16, 0, 21, 0, 0, 0, 70, 0, 16, 0, 21, 0, 0, 0, 0, 0, 0, 11, 50, 0, 16, 0, 21, 0, 0, 0, 70, 0, 16, 128, 65, 0, 0, 0, 21, 0, 0, 0, 2, 64, 0, 0, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 30, 0, 0, 7, 34, 0, 16, 0, 20, 0, 0, 0, 10, 0, 16, 0, 20, 0, 0, 0, 26, 0, 16, 0, 20, 0, 0, 0, 39, 0, 0, 7, 66, 0, 16, 0, 20, 0, 0, 0, 42, 0, 16, 0, 20, 0, 0, 0, 1, 64, 0, 0, 255, 255, 255, 255, 165, 0, 0, 7, 34, 0, 16, 0, 22, 0, 0, 0, 1, 64, 0, 0, 20, 0, 0, 0, 6, 240, 17, 0, 0, 0, 0, 0, 30, 0, 0, 7, 18, 0, 16, 0, 20, 0, 0, 0, 10, 0, 16, 0, 20, 0, 0, 0, 26, 0, 16, 0, 22, 0, 0, 0, 190, 24, 0, 1, 54, 0, 0, 4, 34, 0, 16, 0, 22, 0, 0, 0, 10, 32, 2, 0, 48, 0, 0, 1, 80, 0, 0, 7, 66, 0, 16, 0, 22, 0, 0, 0, 26, 0, 16, 0, 22, 0, 0, 0, 58, 0, 16, 0, 20, 0, 0, 0, 3, 0, 4, 3, 42, 0, 16, 0, 22, 0, 0, 0, 30, 0, 0, 7, 66, 0, 16, 0, 22, 0, 0, 0, 26, 0, 16, 0, 20, 0, 0, 0, 26, 0, 16, 0, 22, 0, 0, 0, 167, 0, 0, 139, 2, 67, 0, 128, 131, 153, 25, 0, 194, 0, 16, 0, 22, 0, 0, 0, 42, 0, 16, 0, 22, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 116, 16, 0, 4, 0, 0, 0, 1, 0, 0, 7, 130, 0, 16, 0, 23, 0, 0, 0, 58, 0, 16, 0, 22, 0, 0, 0, 1, 64, 0, 0, 255, 255, 0, 0, 85, 0, 0, 7, 130, 0, 16, 0, 22, 0, 0, 0, 58, 0, 16, 0, 22, 0, 0, 0, 1, 64, 0, 0, 16, 0, 0, 0, 30, 0, 0, 7, 130, 0, 16, 0, 23, 0, 0, 0, 26, 0, 16, 0, 0, 0, 0, 0, 58, 0, 16, 0, 23, 0, 0, 0, 41, 0, 0, 7, 130, 0, 16, 0, 23, 0, 0, 0, 58, 0, 16, 0, 23, 0, 0, 0, 1, 64, 0, 0, 4, 0, 0, 0, 165, 0, 0, 137, 194, 2, 0, 128, 131, 153, 25, 0, 242, 0, 16, 0, 24, 0, 0, 0, 58, 0, 16, 0, 23, 0, 0, 0, 70, 238, 17, 0, 0, 0, 0, 0, 30, 0, 0, 7, 130, 0, 16, 0, 22, 0, 0, 0, 26, 0, 16, 0, 0, 0, 0, 0, 58, 0, 16, 0, 22, 0, 0, 0, 41, 0, 0, 7, 130, 0, 16, 0, 22, 0, 0, 0, 58, 0, 16, 0, 22, 0, 0, 0, 1, 64, 0, 0, 4, 0, 0, 0, 165, 0, 0, 137, 194, 2, 0, 128, 131, 153, 25, 0, 242, 0, 16, 0, 25, 0, 0, 0, 58, 0, 16, 0, 22, 0, 0, 0, 70, 238, 17, 0, 0, 0, 0, 0, 0, 0, 0, 8, 114, 0, 16, 0, 26, 0, 0, 0, 70, 2, 16, 128, 65, 0, 0, 0, 24, 0, 0, 0, 70, 2, 16, 0, 25, 0, 0, 0, 50, 0, 0, 9, 130, 0, 16, 0, 26, 0, 0, 0, 10, 0, 16, 0, 26, 0, 0, 0, 10, 0, 16, 0, 26, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 52, 50, 0, 0, 9, 130, 0, 16, 0, 26, 0, 0, 0, 26, 0, 16, 0, 26, 0, 0, 0, 26, 0, 16, 0, 26, 0, 0, 0, 58, 0, 16, 0, 26, 0, 0, 0, 50, 0, 0, 9, 130, 0, 16, 0, 26, 0, 0, 0, 42, 0, 16, 0, 26, 0, 0, 0, 42, 0, 16, 0, 26, 0, 0, 0, 58, 0, 16, 0, 26, 0, 0, 0, 49, 0, 0, 7, 18, 0, 16, 0, 27, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 52, 42, 0, 16, 0, 22, 0, 0, 0, 68, 0, 0, 5, 130, 0, 16, 0, 26, 0, 0, 0, 58, 0, 16, 0, 26, 0, 0, 0, 50, 0, 0, 9, 66, 0, 16, 0, 22, 0, 0, 0, 42, 0, 16, 0, 22, 0, 0, 0, 58, 0, 16, 0, 26, 0, 0, 0, 1, 64, 0, 0, 0, 0, 128, 191, 1, 0, 0, 7, 66, 0, 16, 0, 22, 0, 0, 0, 42, 0, 16, 0, 22, 0, 0, 0, 10, 0, 16, 0, 27, 0, 0, 0, 51, 0, 0, 8, 130, 0, 16, 0, 26, 0, 0, 0, 58, 0, 16, 0, 21, 0, 0, 0, 42, 0, 16, 128, 65, 0, 0, 0, 22, 0, 0, 0, 52, 0, 0, 7, 130, 0, 16, 0, 26, 0, 0, 0, 42, 0, 16, 0, 21, 0, 0, 0, 58, 0, 16, 0, 26, 0, 0, 0, 50, 0, 0, 9, 66, 0, 16, 0, 22, 0, 0, 0, 26, 0, 16, 0, 21, 0, 0, 0, 58, 0, 16, 0, 26, 0, 0, 0, 42, 0, 16, 0, 22, 0, 0, 0, 30, 0, 0, 7, 130, 0, 16, 0, 26, 0, 0, 0, 10, 0, 16, 0, 20, 0, 0, 0, 26, 0, 16, 0, 22, 0, 0, 0, 167, 0, 0, 139, 2, 35, 0, 128, 131, 153, 25, 0, 130, 0, 16, 0, 26, 0, 0, 0, 58, 0, 16, 0, 26, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 112, 16, 0, 16, 0, 0, 0, 56, 0, 0, 7, 130, 0, 16, 0, 26, 0, 0, 0, 10, 0, 16, 0, 22, 0, 0, 0, 58, 0, 16, 0, 26, 0, 0, 0, 25, 0, 0, 5, 130, 0, 16, 0, 26, 0, 0, 0, 58, 0, 16, 0, 26, 0, 0, 0, 0, 0, 0, 8, 130, 0, 16, 0, 26, 0, 0, 0, 58, 0, 16, 128, 65, 0, 0, 0, 26, 0, 0, 0, 1, 64, 0, 0, 0, 0, 128, 63, 55, 0, 0, 9, 130, 0, 16, 0, 26, 0, 0, 0, 42, 0, 16, 0, 20, 0, 0, 0, 58, 0, 16, 0, 26, 0, 0, 0, 10, 0, 16, 0, 21, 0, 0, 0, 56, 0, 0, 7, 66, 0, 16, 0, 22, 0, 0, 0, 42, 0, 16, 0, 22, 0, 0, 0, 58, 0, 16, 0, 26, 0, 0, 0, 0, 0, 0, 7, 130, 0, 16, 0, 26, 0, 0, 0, 58, 0, 16, 0, 24, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 52, 0, 0, 0, 7, 130, 0, 16, 0, 26, 0, 0, 0, 58, 0, 16, 0, 25, 0, 0, 0, 58, 0, 16, 0, 26, 0, 0, 0, 14, 0, 0, 7, 66, 0, 16, 0, 22, 0, 0, 0, 42, 0, 16, 0, 22, 0, 0, 0, 58, 0, 16, 0, 26, 0, 0, 0, 56, 0, 0, 8, 130, 0, 16, 0, 26, 0, 0, 0, 42, 0, 16, 0, 22, 0, 0, 0, 58, 0, 16, 128, 65, 0, 0, 0, 24, 0, 0, 0, 50, 0, 0, 9, 114, 0, 16, 0, 24, 0, 0, 0, 246, 15, 16, 0, 26, 0, 0, 0, 70, 2, 16, 0, 26, 0, 0, 0, 70, 2, 16, 0, 24, 0, 0, 0, 166, 0, 0, 7, 242, 224, 17, 0, 0, 0, 0, 0, 58, 0, 16, 0, 23, 0, 0, 0, 70, 14, 16, 0, 24, 0, 0, 0, 56, 0, 0, 7, 66, 0, 16, 0, 22, 0, 0, 0, 42, 0, 16, 0, 22, 0, 0, 0, 58, 0, 16, 0, 25, 0, 0, 0, 50, 0, 0, 9, 114, 0, 16, 0, 25, 0, 0, 0, 166, 10, 16, 0, 22, 0, 0, 0, 70, 2, 16, 0, 26, 0, 0, 0, 70, 2, 16, 0, 25, 0, 0, 0, 166, 0, 0, 7, 242, 224, 17, 0, 0, 0, 0, 0, 58, 0, 16, 0, 22, 0, 0, 0, 70, 14, 16, 0, 25, 0, 0, 0, 30, 0, 0, 7, 34, 0, 16, 0, 22, 0, 0, 0, 26, 0, 16, 0, 22, 0, 0, 0, 1, 64, 0, 0, 0, 4, 0, 0, 22, 0, 0, 1, 30, 0, 0, 7, 130, 0, 16, 0, 19, 0, 0, 0, 58, 0, 16, 0, 19, 0, 0, 0, 1, 64, 0, 0, 1, 0, 0, 0, 22, 0, 0, 1, 190, 24, 0, 1, 165, 0, 0, 7, 130, 0, 16, 0, 19, 0, 0, 0, 1, 64, 0, 0, 84, 0, 0, 0, 6, 240, 17, 0, 1, 0, 0, 0, 39, 0, 0, 7, 130, 0, 16, 0, 19, 0, 0, 0, 58, 0, 16, 0, 19, 0, 0, 0, 1, 64, 0, 0, 255, 255, 255, 255, 31, 0, 4, 3, 58, 0, 16, 0, 19, 0, 0, 0, 165, 0, 0, 7, 130, 0, 16, 0, 19, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 0, 0, 0, 0, 165, 0, 0, 7, 50, 0, 16, 0, 20, 0, 0, 0, 1, 64, 0, 0, 84, 0, 0, 0, 70, 240, 17, 0, 1, 0, 0, 0, 54, 0, 0, 4, 66, 0, 16, 0, 20, 0, 0, 0, 10, 32, 2, 0, 48, 0, 0, 1, 80, 0, 0, 7, 130, 0, 16, 0, 20, 0, 0, 0, 42, 0, 16, 0, 20, 0, 0, 0, 58, 0, 16, 0, 19, 0, 0, 0, 3, 0, 4, 3, 58, 0, 16, 0, 20, 0, 0, 0, 30, 0, 0, 7, 50, 0, 16, 0, 21, 0, 0, 0, 70, 0, 16, 0, 20, 0, 0, 0, 166, 10, 16, 0, 20, 0, 0, 0, 167, 0, 0, 139, 2, 131, 0, 128, 131, 153, 25, 0, 242, 0, 16, 0, 22, 0, 0, 0, 10, 0, 16, 0, 21, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 70, 126, 16, 0, 12, 0, 0, 0, 167, 0, 0, 139, 2, 131, 0, 128, 131, 153, 25, 0, 242, 0, 16, 0, 21, 0, 0, 0, 26, 0, 16, 0, 21, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 70, 126, 16, 0, 12, 0, 0, 0, 0, 0, 0, 8, 242, 0, 16, 0, 21, 0, 0, 0, 70, 14, 16, 128, 65, 0, 0, 0, 22, 0, 0, 0, 70, 14, 16, 0, 21, 0, 0, 0, 50, 0, 0, 9, 242, 0, 16, 0, 21, 0, 0, 0, 70, 14, 16, 0, 21, 0, 0, 0, 86, 5, 16, 0, 19, 0, 0, 0, 70, 14, 16, 0, 22, 0, 0, 0, 30, 0, 0, 7, 130, 0, 16, 0, 20, 0, 0, 0, 26, 0, 16, 0, 0, 0, 0, 0, 42, 0, 16, 0, 20, 0, 0, 0, 41, 0, 0, 7, 130, 0, 16, 0, 20, 0, 0, 0, 58, 0, 16, 0, 20, 0, 0, 0, 1, 64, 0, 0, 4, 0, 0, 0, 165, 0, 0, 137, 194, 2, 0, 128, 131, 153, 25, 0, 242, 0, 16, 0, 22, 0, 0, 0, 58, 0, 16, 0, 20, 0, 0, 0, 70, 238, 17, 0, 0, 0, 0, 0, 0, 0, 0, 8, 114, 0, 16, 0, 21, 0, 0, 0, 70, 2, 16, 0, 21, 0, 0, 0, 70, 2, 16, 128, 65, 0, 0, 0, 22, 0, 0, 0, 16, 0, 0, 7, 130, 0, 16, 0, 23, 0, 0, 0, 70, 2, 16, 0, 21, 0, 0, 0, 70, 2, 16, 0, 21, 0, 0, 0, 0, 0, 0, 7, 130, 0, 16, 0, 23, 0, 0, 0, 58, 0, 16, 0, 23, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 52, 68, 0, 0, 5, 130, 0, 16, 0, 23, 0, 0, 0, 58, 0, 16, 0, 23, 0, 0, 0, 50, 0, 0, 10, 130, 0, 16, 0, 21, 0, 0, 0, 58, 0, 16, 128, 65, 0, 0, 0, 21, 0, 0, 0, 58, 0, 16, 0, 23, 0, 0, 0, 1, 64, 0, 0, 0, 0, 128, 63, 51, 0, 0, 7, 130, 0, 16, 0, 21, 0, 0, 0, 58, 0, 16, 0, 21, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 50, 0, 0, 9, 114, 0, 16, 0, 22, 0, 0, 0, 246, 15, 16, 0, 21, 0, 0, 0, 70, 2, 16, 0, 21, 0, 0, 0, 70, 2, 16, 0, 22, 0, 0, 0, 166, 0, 0, 7, 242, 224, 17, 0, 0, 0, 0, 0, 58, 0, 16, 0, 20, 0, 0, 0, 70, 14, 16, 0, 22, 0, 0, 0, 30, 0, 0, 7, 66, 0, 16, 0, 20, 0, 0, 0, 42, 0, 16, 0, 20, 0, 0, 0, 1, 64, 0, 0, 0, 4, 0, 0, 22, 0, 0, 1, 190, 24, 0, 1, 21, 0, 0, 1, 31, 0, 4, 3, 10, 0, 16, 0, 1, 0, 0, 0, 165, 0, 0, 7, 130, 0, 16, 0, 19, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 0, 0, 0, 0, 30, 0, 0, 7, 18, 0, 16, 0, 20, 0, 0, 0, 58, 0, 16, 0, 19, 0, 0, 0, 1, 64, 0, 0, 255, 255, 255, 255, 84, 0, 0, 7, 18, 0, 16, 0, 20, 0, 0, 0, 26, 0, 16, 0, 2, 0, 0, 0, 10, 0, 16, 0, 20, 0, 0, 0, 30, 0, 0, 7, 34, 0, 16, 0, 20, 0, 0, 0, 26, 0, 16, 0, 0, 0, 0, 0, 10, 0, 16, 0, 20, 0, 0, 0, 41, 0, 0, 7, 34, 0, 16, 0, 20, 0, 0, 0, 26, 0, 16, 0, 20, 0, 0, 0, 1, 64, 0, 0, 4, 0, 0, 0, 165, 0, 0, 137, 194, 2, 0, 128, 131, 153, 25, 0, 242, 0, 16, 0, 21, 0, 0, 0, 26, 0, 16, 0, 20, 0, 0, 0, 70, 238, 17, 0, 0, 0, 0, 0, 17, 0, 0, 8, 34, 0, 16, 0, 20, 0, 0, 0, 70, 14, 16, 0, 21, 0, 0, 0, 70, 158, 144, 0, 10, 0, 16, 0, 4, 0, 0, 0, 56, 0, 0, 7, 34, 0, 16, 0, 20, 0, 0, 0, 58, 0, 16, 0, 0, 0, 0, 0, 26, 0, 16, 0, 20, 0, 0, 0, 168, 0, 0, 8, 18, 240, 17, 0, 4, 0, 0, 0, 10, 32, 2, 0, 1, 64, 0, 0, 0, 0, 0, 0, 26, 0, 16, 0, 20, 0, 0, 0, 54, 0, 0, 5, 34, 0, 16, 0, 20, 0, 0, 0, 10, 0, 16, 0, 20, 0, 0, 0, 48, 0, 0, 1, 30, 0, 0, 7, 34, 0, 16, 0, 20, 0, 0, 0, 26, 0, 16, 0, 20, 0, 0, 0, 1, 64, 0, 0, 32, 0, 0, 0, 80, 0, 0, 7, 66, 0, 16, 0, 20, 0, 0, 0, 26, 0, 16, 0, 20, 0, 0, 0, 58, 0, 16, 0, 19, 0, 0, 0, 3, 0, 4, 3, 42, 0, 16, 0, 20, 0, 0, 0, 167, 0, 0, 8, 66, 0, 16, 0, 20, 0, 0, 0, 10, 32, 2, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 4, 0, 0, 0, 30, 0, 0, 7, 130, 0, 16, 0, 20, 0, 0, 0, 26, 0, 16, 0, 0, 0, 0, 0, 26, 0, 16, 0, 20, 0, 0, 0, 41, 0, 0, 7, 130, 0, 16, 0, 20, 0, 0, 0, 58, 0, 16, 0, 20, 0, 0, 0, 1, 64, 0, 0, 4, 0, 0, 0, 165, 0, 0, 137, 194, 2, 0, 128, 131, 153, 25, 0, 242, 0, 16, 0, 21, 0, 0, 0, 58, 0, 16, 0, 20, 0, 0, 0, 70, 238, 17, 0, 0, 0, 0, 0, 17, 0, 0, 8, 130, 0, 16, 0, 20, 0, 0, 0, 70, 14, 16, 0, 21, 0, 0, 0, 70, 158, 144, 0, 10, 0, 16, 0, 4, 0, 0, 0, 56, 0, 0, 7, 130, 0, 16, 0, 20, 0, 0, 0, 58, 0, 16, 0, 0, 0, 0, 0, 58, 0, 16, 0, 20, 0, 0, 0, 52, 0, 0, 7, 66, 0, 16, 0, 20, 0, 0, 0, 58, 0, 16, 0, 20, 0, 0, 0, 42, 0, 16, 0, 20, 0, 0, 0, 168, 0, 0, 8, 18, 240, 17, 0, 4, 0, 0, 0, 10, 32, 2, 0, 1, 64, 0, 0, 0, 0, 0, 0, 42, 0, 16, 0, 20, 0, 0, 0, 22, 0, 0, 1, 21, 0, 0, 1, 190, 24, 0, 1, 31, 0, 4, 3, 26, 0, 16, 0, 1, 0, 0, 0, 167, 0, 0, 8, 130, 0, 16, 0, 19, 0, 0, 0, 10, 32, 2, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 4, 0, 0, 0, 167, 0, 0, 9, 18, 0, 16, 0, 20, 0, 0, 0, 10, 0, 16, 0, 3, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 4, 0, 0, 0, 52, 0, 0, 7, 130, 0, 16, 0, 19, 0, 0, 0, 58, 0, 16, 0, 19, 0, 0, 0, 10, 0, 16, 0, 20, 0, 0, 0, 168, 0, 0, 8, 18, 240, 17, 0, 4, 0, 0, 0, 10, 32, 2, 0, 1, 64, 0, 0, 0, 0, 0, 0, 58, 0, 16, 0, 19, 0, 0, 0, 21, 0, 0, 1, 190, 24, 0, 1, 31, 0, 4, 3, 26, 0, 16, 0, 1, 0, 0, 0, 167, 0, 0, 8, 130, 0, 16, 0, 19, 0, 0, 0, 10, 32, 2, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 4, 0, 0, 0, 167, 0, 0, 9, 18, 0, 16, 0, 20, 0, 0, 0, 26, 0, 16, 0, 3, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 4, 0, 0, 0, 52, 0, 0, 7, 130, 0, 16, 0, 19, 0, 0, 0, 58, 0, 16, 0, 19, 0, 0, 0, 10, 0, 16, 0, 20, 0, 0, 0, 168, 0, 0, 8, 18, 240, 17, 0, 4, 0, 0, 0, 10, 32, 2, 0, 1, 64, 0, 0, 0, 0, 0, 0, 58, 0, 16, 0, 19, 0, 0, 0, 21, 0, 0, 1, 190, 24, 0, 1, 31, 0, 4, 3, 26, 0, 16, 0, 1, 0, 0, 0, 167, 0, 0, 8, 130, 0, 16, 0, 19, 0, 0, 0, 10, 32, 2, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 4, 0, 0, 0, 167, 0, 0, 9, 18, 0, 16, 0, 20, 0, 0, 0, 42, 0, 16, 0, 3, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 4, 0, 0, 0, 52, 0, 0, 7, 130, 0, 16, 0, 19, 0, 0, 0, 58, 0, 16, 0, 19, 0, 0, 0, 10, 0, 16, 0, 20, 0, 0, 0, 168, 0, 0, 8, 18, 240, 17, 0, 4, 0, 0, 0, 10, 32, 2, 0, 1, 64, 0, 0, 0, 0, 0, 0, 58, 0, 16, 0, 19, 0, 0, 0, 21, 0, 0, 1, 190, 24, 0, 1, 31, 0, 4, 3, 26, 0, 16, 0, 1, 0, 0, 0, 167, 0, 0, 8, 130, 0, 16, 0, 19, 0, 0, 0, 10, 32, 2, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 4, 0, 0, 0, 167, 0, 0, 9, 18, 0, 16, 0, 20, 0, 0, 0, 58, 0, 16, 0, 3, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 4, 0, 0, 0, 52, 0, 0, 7, 130, 0, 16, 0, 19, 0, 0, 0, 58, 0, 16, 0, 19, 0, 0, 0, 10, 0, 16, 0, 20, 0, 0, 0, 168, 0, 0, 8, 18, 240, 17, 0, 4, 0, 0, 0, 10, 32, 2, 0, 1, 64, 0, 0, 0, 0, 0, 0, 58, 0, 16, 0, 19, 0, 0, 0, 21, 0, 0, 1, 190, 24, 0, 1, 31, 0, 4, 3, 26, 0, 16, 0, 1, 0, 0, 0, 167, 0, 0, 8, 130, 0, 16, 0, 19, 0, 0, 0, 10, 32, 2, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 4, 0, 0, 0, 167, 0, 0, 9, 18, 0, 16, 0, 20, 0, 0, 0, 10, 0, 16, 0, 6, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 4, 0, 0, 0, 52, 0, 0, 7, 130, 0, 16, 0, 19, 0, 0, 0, 58, 0, 16, 0, 19, 0, 0, 0, 10, 0, 16, 0, 20, 0, 0, 0, 168, 0, 0, 8, 18, 240, 17, 0, 4, 0, 0, 0, 10, 32, 2, 0, 1, 64, 0, 0, 0, 0, 0, 0, 58, 0, 16, 0, 19, 0, 0, 0, 21, 0, 0, 1, 190, 24, 0, 1, 31, 0, 4, 3, 10, 0, 16, 0, 2, 0, 0, 0, 167, 0, 0, 8, 130, 0, 16, 0, 19, 0, 0, 0, 10, 32, 2, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 4, 0, 0, 0, 166, 0, 0, 7, 18, 240, 17, 0, 1, 0, 0, 0, 42, 0, 16, 0, 4, 0, 0, 0, 58, 0, 16, 0, 19, 0, 0, 0, 21, 0, 0, 1, 190, 24, 0, 1, 165, 0, 0, 7, 130, 0, 16, 0, 19, 0, 0, 0, 1, 64, 0, 0, 16, 0, 0, 0, 6, 240, 17, 0, 1, 0, 0, 0, 86, 0, 0, 5, 130, 0, 16, 0, 19, 0, 0, 0, 58, 0, 16, 0, 19, 0, 0, 0, 14, 0, 0, 7, 66, 0, 16, 0, 19, 0, 0, 0, 42, 0, 16, 0, 19, 0, 0, 0, 58, 0, 16, 0, 19, 0, 0, 0, 165, 0, 0, 7, 130, 0, 16, 0, 19, 0, 0, 0, 1, 64, 0, 0, 68, 0, 0, 0, 6, 240, 17, 0, 0, 0, 0, 0, 31, 0, 4, 3, 58, 0, 16, 0, 19, 0, 0, 0, 165, 0, 0, 7, 18, 0, 16, 0, 20, 0, 0, 0, 1, 64, 0, 0, 92, 0, 0, 0, 6, 240, 17, 0, 0, 0, 0, 0, 49, 0, 0, 7, 18, 0, 16, 0, 20, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 10, 0, 16, 0, 20, 0, 0, 0, 165, 0, 0, 7, 34, 0, 16, 0, 20, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 0, 0, 0, 0, 165, 0, 0, 7, 66, 0, 16, 0, 20, 0, 0, 0, 1, 64, 0, 0, 72, 0, 0, 0, 6, 240, 17, 0, 0, 0, 0, 0, 165, 0, 0, 7, 50, 0, 16, 0, 21, 0, 0, 0, 1, 64, 0, 0, 104, 0, 0, 0, 70, 240, 17, 0, 1, 0, 0, 0, 54, 0, 0, 4, 130, 0, 16, 0, 20, 0, 0, 0, 10, 32, 2, 0, 48, 0, 0, 1, 80, 0, 0, 7, 66, 0, 16, 0, 21, 0, 0, 0, 58, 0, 16, 0, 20, 0, 0, 0, 26, 0, 16, 0, 20, 0, 0, 0, 3, 0, 4, 3, 42, 0, 16, 0, 21, 0, 0, 0, 30, 0, 0, 7, 66, 0, 16, 0, 21, 0, 0, 0, 26, 0, 16, 0, 0, 0, 0, 0, 58, 0, 16, 0, 20, 0, 0, 0, 41, 0, 0, 7, 66, 0, 16, 0, 21, 0, 0, 0, 42, 0, 16, 0, 21, 0, 0, 0, 1, 64, 0, 0, 4, 0, 0, 0, 165, 0, 0, 137, 194, 2, 0, 128, 131, 153, 25, 0, 242, 0, 16, 0, 22, 0, 0, 0, 42, 0, 16, 0, 21, 0, 0, 0, 70, 238, 17, 0, 0, 0, 0, 0, 54, 0, 0, 8, 242, 0, 16, 0, 24, 0, 0, 0, 2, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 54, 0, 0, 5, 130, 0, 16, 0, 21, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 48, 0, 0, 1, 80, 0, 0, 7, 130, 0, 16, 0, 23, 0, 0, 0, 58, 0, 16, 0, 21, 0, 0, 0, 58, 0, 16, 0, 19, 0, 0, 0, 3, 0, 4, 3, 58, 0, 16, 0, 23, 0, 0, 0, 30, 0, 0, 7, 130, 0, 16, 0, 23, 0, 0, 0, 42, 0, 16, 0, 20, 0, 0, 0, 58, 0, 16, 0, 21, 0, 0, 0, 167, 0, 0, 139, 2, 35, 0, 128, 131, 153, 25, 0, 130, 0, 16, 0, 23, 0, 0, 0, 58, 0, 16, 0, 23, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 112, 16, 0, 8, 0, 0, 0, 136, 0, 0, 5, 18, 0, 16, 0, 25, 0, 0, 0, 58, 0, 16, 0, 23, 0, 0, 0, 30, 0, 0, 7, 50, 0, 16, 0, 25, 0, 0, 0, 70, 0, 16, 0, 21, 0, 0, 0, 6, 0, 16, 0, 25, 0, 0, 0, 167, 0, 0, 139, 2, 131, 0, 128, 131, 153, 25, 0, 242, 0, 16, 0, 26, 0, 0, 0, 10, 0, 16, 0, 25, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 70, 126, 16, 0, 9, 0, 0, 0, 167, 0, 0, 139, 2, 131, 0, 128, 131, 153, 25, 0, 242, 0, 16, 0, 25, 0, 0, 0, 26, 0, 16, 0, 25, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 70, 126, 16, 0, 9, 0, 0, 0, 0, 0, 0, 8, 242, 0, 16, 0, 25, 0, 0, 0, 70, 14, 16, 128, 65, 0, 0, 0, 26, 0, 0, 0, 70, 14, 16, 0, 25, 0, 0, 0, 50, 0, 0, 9, 242, 0, 16, 0, 25, 0, 0, 0, 86, 5, 16, 0, 19, 0, 0, 0, 70, 14, 16, 0, 25, 0, 0, 0, 70, 14, 16, 0, 26, 0, 0, 0, 16, 0, 0, 7, 18, 0, 16, 0, 26, 0, 0, 0, 70, 2, 16, 0, 22, 0, 0, 0, 70, 2, 16, 0, 25, 0, 0, 0, 0, 0, 0, 7, 130, 0, 16, 0, 25, 0, 0, 0, 58, 0, 16, 0, 25, 0, 0, 0, 10, 0, 16, 0, 26, 0, 0, 0, 54, 0, 0, 5, 18, 0, 16, 0, 27, 0, 0, 0, 58, 0, 16, 0, 23, 0, 0, 0, 54, 0, 0, 5, 242, 0, 16, 0, 26, 0, 0, 0, 70, 14, 16, 0, 25, 0, 0, 0, 48, 0, 0, 1, 49, 0, 0, 7, 34, 0, 16, 0, 27, 0, 0, 0, 58, 0, 16, 0, 26, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 30, 0, 0, 7, 66, 0, 16, 0, 27, 0, 0, 0, 10, 0, 16, 0, 27, 0, 0, 0, 1, 64, 0, 0, 255, 255, 255, 255, 1, 0, 0, 7, 18, 0, 16, 0, 27, 0, 0, 0, 42, 0, 16, 0, 27, 0, 0, 0, 10, 0, 16, 0, 27, 0, 0, 0, 39, 0, 0, 7, 66, 0, 16, 0, 27, 0, 0, 0, 10, 0, 16, 0, 27, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 1, 0, 0, 7, 34, 0, 16, 0, 27, 0, 0, 0, 42, 0, 16, 0, 27, 0, 0, 0, 26, 0, 16, 0, 27, 0, 0, 0, 3, 0, 0, 3, 26, 0, 16, 0, 27, 0, 0, 0, 136, 0, 0, 5, 34, 0, 16, 0, 27, 0, 0, 0, 10, 0, 16, 0, 27, 0, 0, 0, 30, 0, 0, 7, 98, 0, 16, 0, 27, 0, 0, 0, 6, 1, 16, 0, 21, 0, 0, 0, 86, 5, 16, 0, 27, 0, 0, 0, 167, 0, 0, 139, 2, 131, 0, 128, 131, 153, 25, 0, 242, 0, 16, 0, 28, 0, 0, 0, 26, 0, 16, 0, 27, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 70, 126, 16, 0, 9, 0, 0, 0, 167, 0, 0, 139, 2, 131, 0, 128, 131, 153, 25, 0, 242, 0, 16, 0, 29, 0, 0, 0, 42, 0, 16, 0, 27, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 70, 126, 16, 0, 9, 0, 0, 0, 0, 0, 0, 8, 242, 0, 16, 0, 29, 0, 0, 0, 70, 14, 16, 128, 65, 0, 0, 0, 28, 0, 0, 0, 70, 14, 16, 0, 29, 0, 0, 0, 50, 0, 0, 9, 242, 0, 16, 0, 28, 0, 0, 0, 86, 5, 16, 0, 19, 0, 0, 0, 70, 14, 16, 0, 29, 0, 0, 0, 70, 14, 16, 0, 28, 0, 0, 0, 16, 0, 0, 7, 34, 0, 16, 0, 27, 0, 0, 0, 70, 2, 16, 0, 22, 0, 0, 0, 70, 2, 16, 0, 28, 0, 0, 0, 0, 0, 0, 7, 130, 0, 16, 0, 28, 0, 0, 0, 58, 0, 16, 0, 28, 0, 0, 0, 26, 0, 16, 0, 27, 0, 0, 0, 49, 0, 0, 7, 34, 0, 16, 0, 27, 0, 0, 0, 58, 0, 16, 0, 26, 0, 0, 0, 58, 0, 16, 0, 28, 0, 0, 0, 55, 0, 0, 9, 242, 0, 16, 0, 26, 0, 0, 0, 86, 5, 16, 0, 27, 0, 0, 0, 70, 14, 16, 0, 28, 0, 0, 0, 70, 14, 16, 0, 26, 0, 0, 0, 22, 0, 0, 1, 49, 0, 0, 7, 130, 0, 16, 0, 23, 0, 0, 0, 58, 0, 16, 0, 26, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 50, 0, 0, 10, 114, 0, 16, 0, 25, 0, 0, 0, 70, 2, 16, 128, 65, 0, 0, 0, 26, 0, 0, 0, 246, 15, 16, 0, 26, 0, 0, 0, 70, 2, 16, 0, 24, 0, 0, 0, 30, 0, 0, 7, 130, 0, 16, 0, 25, 0, 0, 0, 58, 0, 16, 0, 24, 0, 0, 0, 1, 64, 0, 0, 1, 0, 0, 0, 55, 0, 0, 9, 242, 0, 16, 0, 24, 0, 0, 0, 246, 15, 16, 0, 23, 0, 0, 0, 70, 14, 16, 0, 25, 0, 0, 0, 70, 14, 16, 0, 24, 0, 0, 0, 30, 0, 0, 7, 130, 0, 16, 0, 21, 0, 0, 0, 58, 0, 16, 0, 21, 0, 0, 0, 1, 64, 0, 0, 1, 0, 0, 0, 22, 0, 0, 1, 31, 0, 4, 3, 58, 0, 16, 0, 24, 0, 0, 0, 86, 0, 0, 5, 130, 0, 16, 0, 21, 0, 0, 0, 58, 0, 16, 0, 24, 0, 0, 0, 14, 0, 0, 10, 130, 0, 16, 0, 21, 0, 0, 0, 2, 64, 0, 0, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 58, 0, 16, 0, 21, 0, 0, 0, 31, 0, 4, 3, 10, 0, 16, 0, 20, 0, 0, 0, 30, 0, 0, 7, 130, 0, 16, 0, 23, 0, 0, 0, 10, 0, 16, 0, 0, 0, 0, 0, 58, 0, 16, 0, 20, 0, 0, 0, 41, 0, 0, 7, 130, 0, 16, 0, 23, 0, 0, 0, 58, 0, 16, 0, 23, 0, 0, 0, 1, 64, 0, 0, 4, 0, 0, 0, 165, 0, 0, 137, 194, 2, 0, 128, 131, 153, 25, 0, 242, 0, 16, 0, 25, 0, 0, 0, 58, 0, 16, 0, 23, 0, 0, 0, 70, 238, 17, 0, 0, 0, 0, 0, 165, 0, 0, 7, 18, 0, 16, 0, 27, 0, 0, 0, 1, 64, 0, 0, 92, 0, 0, 0, 6, 240, 17, 0, 0, 0, 0, 0, 16, 0, 0, 7, 34, 0, 16, 0, 27, 0, 0, 0, 70, 2, 16, 0, 24, 0, 0, 0, 70, 2, 16, 0, 24, 0, 0, 0, 0, 0, 0, 7, 66, 0, 16, 0, 27, 0, 0, 0, 26, 0, 16, 0, 27, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 52, 68, 0, 0, 5, 66, 0, 16, 0, 27, 0, 0, 0, 42, 0, 16, 0, 27, 0, 0, 0, 56, 0, 0, 7, 114, 0, 16, 0, 28, 0, 0, 0, 70, 2, 16, 0, 24, 0, 0, 0, 166, 10, 16, 0, 27, 0, 0, 0, 0, 0, 0, 8, 114, 0, 16, 0, 29, 0, 0, 0, 70, 2, 16, 0, 22, 0, 0, 0, 70, 2, 16, 128, 65, 0, 0, 0, 25, 0, 0, 0, 16, 0, 0, 7, 130, 0, 16, 0, 27, 0, 0, 0, 70, 2, 16, 0, 29, 0, 0, 0, 70, 2, 16, 0, 28, 0, 0, 0, 50, 0, 0, 10, 114, 0, 16, 0, 28, 0, 0, 0, 246, 15, 16, 128, 65, 0, 0, 0, 27, 0, 0, 0, 70, 2, 16, 0, 28, 0, 0, 0, 70, 2, 16, 0, 29, 0, 0, 0, 16, 0, 0, 7, 130, 0, 16, 0, 27, 0, 0, 0, 70, 2, 16, 0, 28, 0, 0, 0, 70, 2, 16, 0, 28, 0, 0, 0, 0, 0, 0, 7, 130, 0, 16, 0, 27, 0, 0, 0, 58, 0, 16, 0, 27, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 52, 68, 0, 0, 5, 130, 0, 16, 0, 27, 0, 0, 0, 58, 0, 16, 0, 27, 0, 0, 0, 56, 0, 0, 8, 18, 0, 16, 0, 27, 0, 0, 0, 26, 0, 16, 0, 27, 0, 0, 0, 10, 0, 16, 128, 65, 0, 0, 0, 27, 0, 0, 0, 56, 0, 0, 7, 18, 0, 16, 0, 27, 0, 0, 0, 42, 0, 16, 0, 27, 0, 0, 0, 10, 0, 16, 0, 27, 0, 0, 0, 56, 0, 0, 7, 18, 0, 16, 0, 27, 0, 0, 0, 58, 0, 16, 0, 21, 0, 0, 0, 10, 0, 16, 0, 27, 0, 0, 0, 56, 0, 0, 7, 18, 0, 16, 0, 27, 0, 0, 0, 58, 0, 16, 0, 27, 0, 0, 0, 10, 0, 16, 0, 27, 0, 0, 0, 52, 0, 0, 7, 18, 0, 16, 0, 27, 0, 0, 0, 10, 0, 16, 0, 27, 0, 0, 0, 1, 64, 0, 0, 0, 0, 128, 191, 50, 0, 0, 10, 114, 0, 16, 0, 25, 0, 0, 0, 70, 2, 16, 128, 65, 0, 0, 0, 28, 0, 0, 0, 6, 0, 16, 0, 27, 0, 0, 0, 70, 2, 16, 0, 25, 0, 0, 0, 166, 0, 0, 7, 242, 224, 17, 0, 0, 0, 0, 0, 58, 0, 16, 0, 23, 0, 0, 0, 70, 14, 16, 0, 25, 0, 0, 0, 21, 0, 0, 1, 50, 0, 0, 9, 114, 0, 16, 0, 22, 0, 0, 0, 70, 2, 16, 0, 24, 0, 0, 0, 246, 15, 16, 0, 21, 0, 0, 0, 70, 2, 16, 0, 22, 0, 0, 0, 166, 0, 0, 7, 242, 224, 17, 0, 0, 0, 0, 0, 42, 0, 16, 0, 21, 0, 0, 0, 70, 14, 16, 0, 22, 0, 0, 0, 21, 0, 0, 1, 30, 0, 0, 7, 130, 0, 16, 0, 20, 0, 0, 0, 58, 0, 16, 0, 20, 0, 0, 0, 1, 64, 0, 0, 0, 4, 0, 0, 22, 0, 0, 1, 21, 0, 0, 1, 165, 0, 0, 7, 130, 0, 16, 0, 19, 0, 0, 0, 1, 64, 0, 0, 76, 0, 0, 0, 6, 240, 17, 0, 0, 0, 0, 0, 31, 0, 4, 3, 58, 0, 16, 0, 19, 0, 0, 0, 190, 24, 0, 1, 165, 0, 0, 7, 130, 0, 16, 0, 19, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 0, 0, 0, 0, 165, 0, 0, 7, 18, 0, 16, 0, 20, 0, 0, 0, 1, 64, 0, 0, 76, 0, 0, 0, 6, 240, 17, 0, 0, 0, 0, 0, 165, 0, 0, 7, 98, 0, 16, 0, 20, 0, 0, 0, 1, 64, 0, 0, 112, 0, 0, 0, 6, 241, 17, 0, 1, 0, 0, 0, 54, 0, 0, 4, 130, 0, 16, 0, 20, 0, 0, 0, 10, 32, 2, 0, 48, 0, 0, 1, 80, 0, 0, 7, 18, 0, 16, 0, 21, 0, 0, 0, 58, 0, 16, 0, 20, 0, 0, 0, 58, 0, 16, 0, 19, 0, 0, 0, 3, 0, 4, 3, 10, 0, 16, 0, 21, 0, 0, 0, 30, 0, 0, 7, 18, 0, 16, 0, 21, 0, 0, 0, 26, 0, 16, 0, 0, 0, 0, 0, 58, 0, 16, 0, 20, 0, 0, 0, 41, 0, 0, 7, 18, 0, 16, 0, 21, 0, 0, 0, 10, 0, 16, 0, 21, 0, 0, 0, 1, 64, 0, 0, 4, 0, 0, 0, 165, 0, 0, 137, 194, 2, 0, 128, 131, 153, 25, 0, 226, 0, 16, 0, 21, 0, 0, 0, 10, 0, 16, 0, 21, 0, 0, 0, 6, 233, 17, 0, 0, 0, 0, 0, 54, 0, 0, 8, 50, 0, 16, 0, 25, 0, 0, 0, 2, 64, 0, 0, 0, 0, 0, 0, 255, 255, 127, 127, 0, 0, 0, 0, 0, 0, 0, 0, 54, 0, 0, 8, 242, 0, 16, 0, 22, 0, 0, 0, 2, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 0, 0, 1, 80, 0, 0, 7, 130, 0, 16, 0, 23, 0, 0, 0, 58, 0, 16, 0, 22, 0, 0, 0, 10, 0, 16, 0, 20, 0, 0, 0, 3, 0, 4, 3, 58, 0, 16, 0, 23, 0, 0, 0, 35, 0, 0, 12, 242, 0, 16, 0, 27, 0, 0, 0, 2, 64, 0, 0, 3, 0, 0, 0, 3, 0, 0, 0, 3, 0, 0, 0, 3, 0, 0, 0, 246, 15, 16, 0, 22, 0, 0, 0, 150, 9, 16, 0, 20, 0, 0, 0, 167, 0, 0, 139, 2, 99, 0, 128, 131, 153, 25, 0, 114, 0, 16, 0, 28, 0, 0, 0, 42, 0, 16, 0, 27, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 70, 114, 16, 0, 10, 0, 0, 0, 167, 0, 0, 139, 2, 99, 0, 128, 131, 153, 25, 0, 114, 0, 16, 0, 29, 0, 0, 0, 58, 0, 16, 0, 27, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 70, 114, 16, 0, 10, 0, 0, 0, 30, 0, 0, 10, 242, 0, 16, 0, 27, 0, 0, 0, 70, 14, 16, 0, 27, 0, 0, 0, 2, 64, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 167, 0, 0, 139, 2, 99, 0, 128, 131, 153, 25, 0, 114, 0, 16, 0, 30, 0, 0, 0, 10, 0, 16, 0, 27, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 70, 114, 16, 0, 10, 0, 0, 0, 167, 0, 0, 139, 2, 99, 0, 128, 131, 153, 25, 0, 114, 0, 16, 0, 31, 0, 0, 0, 26, 0, 16, 0, 27, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 70, 114, 16, 0, 10, 0, 0, 0, 167, 0, 0, 139, 2, 99, 0, 128, 131, 153, 25, 0, 114, 0, 16, 0, 27, 0, 0, 0, 42, 0, 16, 0, 27, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 70, 114, 16, 0, 10, 0, 0, 0, 167, 0, 0, 139, 2, 99, 0, 128, 131, 153, 25, 0, 114, 0, 16, 0, 32, 0, 0, 0, 58, 0, 16, 0, 27, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 70, 114, 16, 0, 10, 0, 0, 0, 0, 0, 0, 8, 114, 0, 16, 0, 29, 0, 0, 0, 70, 2, 16, 128, 65, 0, 0, 0, 28, 0, 0, 0, 70, 2, 16, 0, 29, 0, 0, 0, 50, 0, 0, 9, 114, 0, 16, 0, 28, 0, 0, 0, 70, 2, 16, 0, 29, 0, 0, 0, 86, 5, 16, 0, 19, 0, 0, 0, 70, 2, 16, 0, 28, 0, 0, 0, 0, 0, 0, 8, 114, 0, 16, 0, 29, 0, 0, 0, 70, 2, 16, 128, 65, 0, 0, 0, 30, 0, 0, 0, 70, 2, 16, 0, 31, 0, 0, 0, 50, 0, 0, 9, 114, 0, 16, 0, 29, 0, 0, 0, 70, 2, 16, 0, 29, 0, 0, 0, 86, 5, 16, 0, 19, 0, 0, 0, 70, 2, 16, 0, 30, 0, 0, 0, 0, 0, 0, 8, 114, 0, 16, 0, 30, 0, 0, 0, 70, 2, 16, 128, 65, 0, 0, 0, 27, 0, 0, 0, 70, 2, 16, 0, 32, 0, 0, 0, 50, 0, 0, 9, 114, 0, 16, 0, 27, 0, 0, 0, 70, 2, 16, 0, 30, 0, 0, 0, 86, 5, 16, 0, 19, 0, 0, 0, 70, 2, 16, 0, 27, 0, 0, 0, 0, 0, 0, 8, 114, 0, 16, 0, 29, 0, 0, 0, 70, 2, 16, 128, 65, 0, 0, 0, 28, 0, 0, 0, 70, 2, 16, 0, 29, 0, 0, 0, 0, 0, 0, 8, 114, 0, 16, 0, 27, 0, 0, 0, 70, 2, 16, 128, 65, 0, 0, 0, 28, 0, 0, 0, 70, 2, 16, 0, 27, 0, 0, 0, 56, 0, 0, 7, 114, 0, 16, 0, 30, 0, 0, 0, 150, 4, 16, 0, 27, 0, 0, 0, 38, 9, 16, 0, 29, 0, 0, 0, 50, 0, 0, 10, 114, 0, 16, 0, 30, 0, 0, 0, 150, 4, 16, 0, 29, 0, 0, 0, 38, 9, 16, 0, 27, 0, 0, 0, 70, 2, 16, 128, 65, 0, 0, 0, 30, 0, 0, 0, 16, 0, 0, 7, 130, 0, 16, 0, 23, 0, 0, 0, 70, 2, 16, 0, 30, 0, 0, 0, 70, 2, 16, 0, 30, 0, 0, 0, 68, 0, 0, 5, 130, 0, 16, 0, 23, 0, 0, 0, 58, 0, 16, 0, 23, 0, 0, 0, 56, 0, 0, 7, 114, 0, 16, 0, 30, 0, 0, 0, 246, 15, 16, 0, 23, 0, 0, 0, 70, 2, 16, 0, 30, 0, 0, 0, 16, 0, 0, 7, 130, 0, 16, 0, 23, 0, 0, 0, 70, 2, 16, 0, 29, 0, 0, 0, 70, 2, 16, 0, 27, 0, 0, 0, 16, 0, 0, 7, 66, 0, 16, 0, 25, 0, 0, 0, 70, 2, 16, 0, 29, 0, 0, 0, 70, 2, 16, 0, 29, 0, 0, 0, 16, 0, 0, 7, 130, 0, 16, 0, 25, 0, 0, 0, 70, 2, 16, 0, 27, 0, 0, 0, 70, 2, 16, 0, 27, 0, 0, 0, 56, 0, 0, 7, 130, 0, 16, 0, 27, 0, 0, 0, 58, 0, 16, 0, 23, 0, 0, 0, 58, 0, 16, 0, 23, 0, 0, 0, 50, 0, 0, 10, 130, 0, 16, 0, 27, 0, 0, 0, 42, 0, 16, 0, 25, 0, 0, 0, 58, 0, 16, 0, 25, 0, 0, 0, 58, 0, 16, 128, 65, 0, 0, 0, 27, 0, 0, 0, 14, 0, 0, 10, 130, 0, 16, 0, 27, 0, 0, 0, 2, 64, 0, 0, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 58, 0, 16, 0, 27, 0, 0, 0, 0, 0, 0, 7, 130, 0, 16, 0, 28, 0, 0, 0, 58, 0, 16, 0, 25, 0, 0, 0, 42, 0, 16, 0, 25, 0, 0, 0, 50, 0, 0, 9, 130, 0, 16, 0, 28, 0, 0, 0, 58, 0, 16, 0, 23, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 192, 58, 0, 16, 0, 28, 0, 0, 0, 14, 0, 0, 10, 130, 0, 16, 0, 28, 0, 0, 0, 2, 64, 0, 0, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 58, 0, 16, 0, 28, 0, 0, 0, 14, 0, 0, 10, 130, 0, 16, 0, 29, 0, 0, 0, 2, 64, 0, 0, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 42, 0, 16, 0, 25, 0, 0, 0, 14, 0, 0, 10, 130, 0, 16, 0, 30, 0, 0, 0, 2, 64, 0, 0, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 58, 0, 16, 0, 25, 0, 0, 0, 0, 0, 0, 8, 114, 0, 16, 0, 28, 0, 0, 0, 150, 7, 16, 0, 21, 0, 0, 0, 70, 2, 16, 128, 65, 0, 0, 0, 28, 0, 0, 0, 16, 0, 0, 7, 18, 0, 16, 0, 31, 0, 0, 0, 70, 2, 16, 0, 28, 0, 0, 0, 70, 2, 16, 0, 29, 0, 0, 0, 16, 0, 0, 7, 34, 0, 16, 0, 31, 0, 0, 0, 70, 2, 16, 0, 28, 0, 0, 0, 70, 2, 16, 0, 27, 0, 0, 0, 16, 0, 0, 7, 18, 0, 16, 0, 32, 0, 0, 0, 70, 2, 16, 0, 28, 0, 0, 0, 70, 2, 16, 0, 30, 0, 0, 0, 56, 0, 0, 7, 194, 0, 16, 0, 31, 0, 0, 0, 246, 15, 16, 0, 23, 0, 0, 0, 86, 1, 16, 0, 31, 0, 0, 0, 50, 0, 0, 10, 66, 0, 16, 0, 31, 0, 0, 0, 58, 0, 16, 0, 25, 0, 0, 0, 10, 0, 16, 0, 31, 0, 0, 0, 42, 0, 16, 128, 65, 0, 0, 0, 31, 0, 0, 0, 50, 0, 0, 10, 66, 0, 16, 0, 25, 0, 0, 0, 42, 0, 16, 0, 25, 0, 0, 0, 26, 0, 16, 0, 31, 0, 0, 0, 58, 0, 16, 128, 65, 0, 0, 0, 31, 0, 0, 0, 49, 0, 0, 7, 130, 0, 16, 0, 31, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 42, 0, 16, 0, 25, 0, 0, 0, 56, 0, 0, 7, 66, 0, 16, 0, 31, 0, 0, 0, 58, 0, 16, 0, 27, 0, 0, 0, 42, 0, 16, 0, 31, 0, 0, 0, 56, 0, 0, 7, 130, 0, 16, 0, 29, 0, 0, 0, 58, 0, 16, 0, 29, 0, 0, 0, 10, 0, 16, 0, 31, 0, 0, 0, 55, 0, 0, 9, 130, 0, 16, 0, 29, 0, 0, 0, 58, 0, 16, 0, 31, 0, 0, 0, 42, 0, 16, 0, 31, 0, 0, 0, 58, 0, 16, 0, 29, 0, 0, 0, 49, 0, 0, 7, 66, 0, 16, 0, 31, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 58, 0, 16, 0, 29, 0, 0, 0, 56, 0, 0, 7, 66, 0, 16, 0, 25, 0, 0, 0, 58, 0, 16, 0, 27, 0, 0, 0, 42, 0, 16, 0, 25, 0, 0, 0, 56, 0, 0, 7, 130, 0, 16, 0, 27, 0, 0, 0, 58, 0, 16, 0, 30, 0, 0, 0, 26, 0, 16, 0, 31, 0, 0, 0, 55, 0, 0, 9, 66, 0, 16, 0, 25, 0, 0, 0, 42, 0, 16, 0, 31, 0, 0, 0, 42, 0, 16, 0, 25, 0, 0, 0, 58, 0, 16, 0, 27, 0, 0, 0, 0, 0, 0, 7, 130, 0, 16, 0, 27, 0, 0, 0, 42, 0, 16, 0, 25, 0, 0, 0, 58, 0, 16, 0, 29, 0, 0, 0, 49, 0, 0, 7, 130, 0, 16, 0, 27, 0, 0, 0, 1, 64, 0, 0, 0, 0, 128, 63, 58, 0, 16, 0, 27, 0, 0, 0, 0, 0, 0, 8, 130, 0, 16, 0, 23, 0, 0, 0, 58, 0, 16, 128, 65, 0, 0, 0, 23, 0, 0, 0, 58, 0, 16, 0, 25, 0, 0, 0, 0, 0, 0, 7, 130, 0, 16, 0, 23, 0, 0, 0, 10, 0, 16, 0, 31, 0, 0, 0, 58, 0, 16, 0, 23, 0, 0, 0, 0, 0, 0, 8, 130, 0, 16, 0, 23, 0, 0, 0, 26, 0, 16, 128, 65, 0, 0, 0, 31, 0, 0, 0, 58, 0, 16, 0, 23, 0, 0, 0, 56, 0, 0, 7, 130, 0, 16, 0, 23, 0, 0, 0, 58, 0, 16, 0, 28, 0, 0, 0, 58, 0, 16, 0, 23, 0, 0, 0, 55, 32, 0, 9, 130, 0, 16, 0, 23, 0, 0, 0, 58, 0, 16, 0, 27, 0, 0, 0, 58, 0, 16, 0, 23, 0, 0, 0, 58, 0, 16, 0, 29, 0, 0, 0, 0, 0, 0, 8, 130, 0, 16, 0, 25, 0, 0, 0, 58, 0, 16, 128, 65, 0, 0, 0, 23, 0, 0, 0, 1, 64, 0, 0, 0, 0, 128, 63, 51, 0, 0, 7, 66, 0, 16, 0, 25, 0, 0, 0, 42, 0, 16, 0, 25, 0, 0, 0, 58, 0, 16, 0, 25, 0, 0, 0, 52, 0, 0, 7, 66, 0, 16, 0, 25, 0, 0, 0, 42, 0, 16, 0, 25, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 56, 0, 0, 7, 114, 0, 16, 0, 27, 0, 0, 0, 166, 10, 16, 0, 25, 0, 0, 0, 70, 2, 16, 0, 27, 0, 0, 0, 50, 0, 0, 9, 114, 0, 16, 0, 27, 0, 0, 0, 70, 2, 16, 0, 29, 0, 0, 0, 246, 15, 16, 0, 23, 0, 0, 0, 70, 2, 16, 0, 27, 0, 0, 0, 0, 0, 0, 8, 114, 0, 16, 0, 27, 0, 0, 0, 70, 2, 16, 128, 65, 0, 0, 0, 27, 0, 0, 0, 70, 2, 16, 0, 28, 0, 0, 0, 16, 0, 0, 7, 130, 0, 16, 0, 23, 0, 0, 0, 70, 2, 16, 0, 27, 0, 0, 0, 70, 2, 16, 0, 27, 0, 0, 0, 49, 0, 0, 7, 66, 0, 16, 0, 25, 0, 0, 0, 10, 0, 16, 0, 32, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 56, 0, 0, 7, 130, 0, 16, 0, 25, 0, 0, 0, 58, 0, 16, 0, 23, 0, 0, 0, 1, 64, 0, 0, 71, 3, 128, 63, 55, 0, 0, 9, 34, 0, 16, 0, 32, 0, 0, 0, 42, 0, 16, 0, 25, 0, 0, 0, 58, 0, 16, 0, 25, 0, 0, 0, 58, 0, 16, 0, 23, 0, 0, 0, 49, 0, 0, 7, 130, 0, 16, 0, 23, 0, 0, 0, 26, 0, 16, 0, 32, 0, 0, 0, 26, 0, 16, 0, 25, 0, 0, 0, 55, 0, 0, 9, 114, 0, 16, 0, 22, 0, 0, 0, 246, 15, 16, 0, 23, 0, 0, 0, 70, 2, 16, 0, 30, 0, 0, 0, 70, 2, 16, 0, 22, 0, 0, 0, 55, 0, 0, 9, 50, 0, 16, 0, 25, 0, 0, 0, 246, 15, 16, 0, 23, 0, 0, 0, 70, 0, 16, 0, 32, 0, 0, 0, 70, 0, 16, 0, 25, 0, 0, 0, 30, 0, 0, 7, 130, 0, 16, 0, 22, 0, 0, 0, 58, 0, 16, 0, 22, 0, 0, 0, 1, 64, 0, 0, 1, 0, 0, 0, 22, 0, 0, 1, 49, 0, 0, 7, 130, 0, 16, 0, 22, 0, 0, 0, 10, 0, 16, 0, 25, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 31, 0, 4, 3, 58, 0, 16, 0, 22, 0, 0, 0, 50, 0, 0, 10, 226, 0, 16, 0, 21, 0, 0, 0, 6, 9, 16, 128, 65, 0, 0, 0, 22, 0, 0, 0, 6, 0, 16, 0, 25, 0, 0, 0, 86, 14, 16, 0, 21, 0, 0, 0, 166, 0, 0, 7, 114, 224, 17, 0, 0, 0, 0, 0, 10, 0, 16, 0, 21, 0, 0, 0, 150, 7, 16, 0, 21, 0, 0, 0, 21, 0, 0, 1, 30, 0, 0, 7, 130, 0, 16, 0, 20, 0, 0, 0, 58, 0, 16, 0, 20, 0, 0, 0, 1, 64, 0, 0, 0, 4, 0, 0, 22, 0, 0, 1, 190, 24, 0, 1, 21, 0, 0, 1, 165, 0, 0, 7, 130, 0, 16, 0, 19, 0, 0, 0, 1, 64, 0, 0, 84, 0, 0, 0, 6, 240, 17, 0, 0, 0, 0, 0, 31, 0, 4, 3, 58, 0, 16, 0, 19, 0, 0, 0, 165, 0, 0, 7, 130, 0, 16, 0, 19, 0, 0, 0, 1, 64, 0, 0, 92, 0, 0, 0, 6, 240, 17, 0, 0, 0, 0, 0, 49, 0, 0, 7, 18, 0, 16, 0, 20, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 58, 0, 16, 0, 19, 0, 0, 0, 165, 0, 0, 7, 34, 0, 16, 0, 20, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 0, 0, 0, 0, 165, 0, 0, 7, 194, 0, 16, 0, 20, 0, 0, 0, 1, 64, 0, 0, 96, 0, 0, 0, 6, 244, 17, 0, 1, 0, 0, 0, 165, 0, 0, 7, 50, 0, 16, 0, 21, 0, 0, 0, 1, 64, 0, 0, 52, 0, 0, 0, 70, 240, 17, 0, 0, 0, 0, 0, 54, 0, 0, 4, 66, 0, 16, 0, 21, 0, 0, 0, 10, 32, 2, 0, 48, 0, 0, 1, 80, 0, 0, 7, 130, 0, 16, 0, 21, 0, 0, 0, 42, 0, 16, 0, 21, 0, 0, 0, 26, 0, 16, 0, 20, 0, 0, 0, 3, 0, 4, 3, 58, 0, 16, 0, 21, 0, 0, 0, 30, 0, 0, 7, 130, 0, 16, 0, 21, 0, 0, 0, 26, 0, 16, 0, 0, 0, 0, 0, 42, 0, 16, 0, 21, 0, 0, 0, 41, 0, 0, 7, 130, 0, 16, 0, 21, 0, 0, 0, 58, 0, 16, 0, 21, 0, 0, 0, 1, 64, 0, 0, 4, 0, 0, 0, 165, 0, 0, 137, 194, 2, 0, 128, 131, 153, 25, 0, 242, 0, 16, 0, 27, 0, 0, 0, 58, 0, 16, 0, 21, 0, 0, 0, 70, 238, 17, 0, 0, 0, 0, 0, 30, 0, 0, 7, 130, 0, 16, 0, 22, 0, 0, 0, 10, 0, 16, 0, 0, 0, 0, 0, 42, 0, 16, 0, 21, 0, 0, 0, 41, 0, 0, 7, 130, 0, 16, 0, 22, 0, 0, 0, 58, 0, 16, 0, 22, 0, 0, 0, 1, 64, 0, 0, 4, 0, 0, 0, 165, 0, 0, 137, 194, 2, 0, 128, 131, 153, 25, 0, 226, 0, 16, 0, 25, 0, 0, 0, 58, 0, 16, 0, 22, 0, 0, 0, 6, 233, 17, 0, 0, 0, 0, 0, 54, 0, 0, 8, 114, 0, 16, 0, 28, 0, 0, 0, 2, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 54, 0, 0, 8, 242, 0, 16, 0, 29, 0, 0, 0, 2, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 54, 0, 0, 5, 130, 0, 16, 0, 23, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 48, 0, 0, 1, 80, 0, 0, 7, 130, 0, 16, 0, 28, 0, 0, 0, 58, 0, 16, 0, 23, 0, 0, 0, 10, 0, 16, 0, 21, 0, 0, 0, 3, 0, 4, 3, 58, 0, 16, 0, 28, 0, 0, 0, 30, 0, 0, 7, 130, 0, 16, 0, 28, 0, 0, 0, 26, 0, 16, 0, 21, 0, 0, 0, 58, 0, 16, 0, 23, 0, 0, 0, 167, 0, 0, 139, 2, 67, 0, 128, 131, 153, 25, 0, 50, 0, 16, 0, 30, 0, 0, 0, 58, 0, 16, 0, 28, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 70, 112, 16, 0, 6, 0, 0, 0, 30, 0, 0, 7, 242, 0, 16, 0, 30, 0, 0, 0, 230, 14, 16, 0, 20, 0, 0, 0, 6, 5, 16, 0, 30, 0, 0, 0, 167, 0, 0, 139, 2, 131, 0, 128, 131, 153, 25, 0, 242, 0, 16, 0, 31, 0, 0, 0, 10, 0, 16, 0, 30, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 70, 126, 16, 0, 7, 0, 0, 0, 167, 0, 0, 139, 2, 131, 0, 128, 131, 153, 25, 0, 242, 0, 16, 0, 32, 0, 0, 0, 26, 0, 16, 0, 30, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 70, 126, 16, 0, 7, 0, 0, 0, 167, 0, 0, 139, 2, 131, 0, 128, 131, 153, 25, 0, 242, 0, 16, 0, 33, 0, 0, 0, 42, 0, 16, 0, 30, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 70, 126, 16, 0, 7, 0, 0, 0, 167, 0, 0, 139, 2, 131, 0, 128, 131, 153, 25, 0, 242, 0, 16, 0, 30, 0, 0, 0, 58, 0, 16, 0, 30, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 70, 126, 16, 0, 7, 0, 0, 0, 0, 0, 0, 8, 242, 0, 16, 0, 32, 0, 0, 0, 70, 14, 16, 128, 65, 0, 0, 0, 31, 0, 0, 0, 70, 14, 16, 0, 32, 0, 0, 0, 50, 0, 0, 9, 242, 0, 16, 0, 34, 0, 0, 0, 166, 10, 16, 0, 19, 0, 0, 0, 70, 14, 16, 0, 32, 0, 0, 0, 70, 14, 16, 0, 31, 0, 0, 0, 0, 0, 0, 8, 242, 0, 16, 0, 30, 0, 0, 0, 70, 14, 16, 128, 65, 0, 0, 0, 33, 0, 0, 0, 70, 14, 16, 0, 30, 0, 0, 0, 50, 0, 0, 9, 242, 0, 16, 0, 35, 0, 0, 0, 166, 10, 16, 0, 19, 0, 0, 0, 70, 14, 16, 0, 30, 0, 0, 0, 70, 14, 16, 0, 33, 0, 0, 0, 52, 0, 0, 7, 130, 0, 16, 0, 34, 0, 0, 0, 58, 0, 16, 0, 34, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 52, 0, 0, 7, 130, 0, 16, 0, 35, 0, 0, 0, 58, 0, 16, 0, 35, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 242, 0, 16, 0, 36, 0, 0, 0, 70, 14, 16, 128, 65, 0, 0, 0, 34, 0, 0, 0, 70, 14, 16, 0, 35, 0, 0, 0, 56, 0, 0, 10, 242, 0, 16, 0, 37, 0, 0, 0, 70, 14, 16, 0, 36, 0, 0, 0, 2, 64, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 16, 0, 0, 7, 130, 0, 16, 0, 28, 0, 0, 0, 70, 2, 16, 0, 37, 0, 0, 0, 70, 2, 16, 0, 37, 0, 0, 0, 50, 0, 0, 10, 130, 0, 16, 0, 35, 0, 0, 0, 58, 0, 16, 128, 65, 0, 0, 0, 37, 0, 0, 0, 58, 0, 16, 0, 37, 0, 0, 0, 58, 0, 16, 0, 28, 0, 0, 0, 29, 0, 0, 7, 18, 0, 16, 0, 36, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 58, 0, 16, 0, 35, 0, 0, 0, 31, 0, 4, 3, 10, 0, 16, 0, 36, 0, 0, 0, 30, 0, 0, 7, 18, 0, 16, 0, 36, 0, 0, 0, 58, 0, 16, 0, 23, 0, 0, 0, 1, 64, 0, 0, 1, 0, 0, 0, 54, 0, 0, 5, 130, 0, 16, 0, 23, 0, 0, 0, 10, 0, 16, 0, 36, 0, 0, 0, 7, 0, 0, 1, 21, 0, 0, 1, 50, 0, 0, 9, 242, 0, 16, 0, 31, 0, 0, 0, 86, 5, 16, 0, 19, 0, 0, 0, 70, 14, 16, 0, 32, 0, 0, 0, 70, 14, 16, 0, 31, 0, 0, 0, 50, 0, 0, 9, 242, 0, 16, 0, 30, 0, 0, 0, 86, 5, 16, 0, 19, 0, 0, 0, 70, 14, 16, 0, 30, 0, 0, 0, 70, 14, 16, 0, 33, 0, 0, 0, 52, 0, 0, 7, 130, 0, 16, 0, 31, 0, 0, 0, 58, 0, 16, 0, 31, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 52, 0, 0, 7, 130, 0, 16, 0, 30, 0, 0, 0, 58, 0, 16, 0, 30, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 242, 0, 16, 0, 32, 0, 0, 0, 70, 14, 16, 128, 65, 0, 0, 0, 31, 0, 0, 0, 70, 14, 16, 0, 30, 0, 0, 0, 56, 0, 0, 10, 242, 0, 16, 0, 33, 0, 0, 0, 70, 14, 16, 0, 32, 0, 0, 0, 2, 64, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 16, 0, 0, 7, 130, 0, 16, 0, 30, 0, 0, 0, 70, 2, 16, 0, 33, 0, 0, 0, 70, 2, 16, 0, 33, 0, 0, 0, 50, 0, 0, 10, 18, 0, 16, 0, 32, 0, 0, 0, 58, 0, 16, 128, 65, 0, 0, 0, 33, 0, 0, 0, 58, 0, 16, 0, 33, 0, 0, 0, 58, 0, 16, 0, 30, 0, 0, 0, 29, 0, 0, 7, 34, 0, 16, 0, 32, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 10, 0, 16, 0, 32, 0, 0, 0, 31, 0, 4, 3, 26, 0, 16, 0, 32, 0, 0, 0, 30, 0, 0, 7, 34, 0, 16, 0, 32, 0, 0, 0, 58, 0, 16, 0, 23, 0, 0, 0, 1, 64, 0, 0, 1, 0, 0, 0, 54, 0, 0, 5, 130, 0, 16, 0, 23, 0, 0, 0, 26, 0, 16, 0, 32, 0, 0, 0, 7, 0, 0, 1, 21, 0, 0, 1, 0, 0, 0, 7, 114, 0, 16, 0, 36, 0, 0, 0, 70, 2, 16, 0, 34, 0, 0, 0, 70, 2, 16, 0, 35, 0, 0, 0, 50, 0, 0, 13, 114, 0, 16, 0, 36, 0, 0, 0, 70, 2, 16, 128, 65, 0, 0, 0, 36, 0, 0, 0, 2, 64, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 0, 150, 7, 16, 0, 25, 0, 0, 0, 68, 0, 0, 5, 34, 0, 16, 0, 32, 0, 0, 0, 58, 0, 16, 0, 28, 0, 0, 0, 68, 0, 0, 5, 66, 0, 16, 0, 32, 0, 0, 0, 58, 0, 16, 0, 35, 0, 0, 0, 56, 0, 0, 7, 130, 0, 16, 0, 28, 0, 0, 0, 58, 0, 16, 0, 28, 0, 0, 0, 26, 0, 16, 0, 32, 0, 0, 0, 50, 0, 0, 9, 130, 0, 16, 0, 34, 0, 0, 0, 58, 0, 16, 0, 36, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 63, 58, 0, 16, 0, 34, 0, 0, 0, 56, 0, 0, 7, 130, 0, 16, 0, 34, 0, 0, 0, 42, 0, 16, 0, 32, 0, 0, 0, 58, 0, 16, 0, 34, 0, 0, 0, 56, 0, 0, 7, 130, 0, 16, 0, 34, 0, 0, 0, 58, 0, 16, 0, 28, 0, 0, 0, 58, 0, 16, 0, 34, 0, 0, 0, 56, 0, 0, 7, 114, 0, 16, 0, 37, 0, 0, 0, 86, 5, 16, 0, 32, 0, 0, 0, 70, 2, 16, 0, 37, 0, 0, 0, 56, 0, 0, 7, 34, 0, 16, 0, 32, 0, 0, 0, 42, 0, 16, 0, 32, 0, 0, 0, 58, 0, 16, 0, 37, 0, 0, 0, 56, 0, 0, 7, 114, 0, 16, 0, 38, 0, 0, 0, 38, 9, 16, 0, 36, 0, 0, 0, 150, 4, 16, 0, 37, 0, 0, 0, 50, 0, 0, 10, 114, 0, 16, 0, 38, 0, 0, 0, 150, 4, 16, 0, 36, 0, 0, 0, 38, 9, 16, 0, 37, 0, 0, 0, 70, 2, 16, 128, 65, 0, 0, 0, 38, 0, 0, 0, 16, 0, 0, 7, 66, 0, 16, 0, 32, 0, 0, 0, 70, 2, 16, 0, 36, 0, 0, 0, 70, 2, 16, 0, 37, 0, 0, 0, 0, 0, 0, 7, 114, 0, 16, 0, 39, 0, 0, 0, 70, 2, 16, 0, 31, 0, 0, 0, 70, 2, 16, 0, 30, 0, 0, 0, 50, 0, 0, 13, 114, 0, 16, 0, 39, 0, 0, 0, 70, 2, 16, 128, 65, 0, 0, 0, 39, 0, 0, 0, 2, 64, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 0, 70, 2, 16, 0, 27, 0, 0, 0, 68, 0, 0, 5, 130, 0, 16, 0, 35, 0, 0, 0, 58, 0, 16, 0, 30, 0, 0, 0, 68, 0, 0, 5, 18, 0, 16, 0, 32, 0, 0, 0, 10, 0, 16, 0, 32, 0, 0, 0, 56, 0, 0, 7, 130, 0, 16, 0, 30, 0, 0, 0, 58, 0, 16, 0, 30, 0, 0, 0, 58, 0, 16, 0, 35, 0, 0, 0, 50, 0, 0, 9, 130, 0, 16, 0, 31, 0, 0, 0, 58, 0, 16, 0, 32, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 63, 58, 0, 16, 0, 31, 0, 0, 0, 56, 0, 0, 7, 130, 0, 16, 0, 31, 0, 0, 0, 10, 0, 16, 0, 32, 0, 0, 0, 58, 0, 16, 0, 31, 0, 0, 0, 56, 0, 0, 7, 130, 0, 16, 0, 31, 0, 0, 0, 58, 0, 16, 0, 30, 0, 0, 0, 58, 0, 16, 0, 31, 0, 0, 0, 56, 0, 0, 7, 114, 0, 16, 0, 33, 0, 0, 0, 70, 2, 16, 0, 33, 0, 0, 0, 246, 15, 16, 0, 35, 0, 0, 0, 56, 0, 0, 7, 114, 0, 16, 0, 40, 0, 0, 0, 150, 4, 16, 0, 33, 0, 0, 0, 38, 9, 16, 0, 39, 0, 0, 0, 50, 0, 0, 10, 114, 0, 16, 0, 40, 0, 0, 0, 150, 4, 16, 0, 39, 0, 0, 0, 38, 9, 16, 0, 33, 0, 0, 0, 70, 2, 16, 128, 65, 0, 0, 0, 40, 0, 0, 0, 16, 0, 0, 7, 18, 0, 16, 0, 41, 0, 0, 0, 70, 2, 16, 0, 39, 0, 0, 0, 70, 2, 16, 0, 33, 0, 0, 0, 16, 0, 0, 7, 130, 0, 16, 0, 32, 0, 0, 0, 70, 2, 16, 0, 40, 0, 0, 0, 70, 2, 16, 0, 40, 0, 0, 0, 0, 0, 0, 7, 34, 0, 16, 0, 41, 0, 0, 0, 58, 0, 16, 0, 32, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 52, 50, 0, 0, 9, 66, 0, 16, 0, 32, 0, 0, 0, 42, 0, 16, 0, 32, 0, 0, 0, 26, 0, 16, 0, 32, 0, 0, 0, 58, 0, 16, 0, 34, 0, 0, 0, 52, 0, 0, 7, 66, 0, 16, 0, 32, 0, 0, 0, 42, 0, 16, 0, 32, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 56, 0, 0, 7, 18, 0, 16, 0, 32, 0, 0, 0, 10, 0, 16, 0, 32, 0, 0, 0, 58, 0, 16, 0, 33, 0, 0, 0, 50, 0, 0, 9, 130, 0, 16, 0, 32, 0, 0, 0, 10, 0, 16, 0, 41, 0, 0, 0, 10, 0, 16, 0, 32, 0, 0, 0, 58, 0, 16, 0, 31, 0, 0, 0, 52, 0, 0, 7, 66, 0, 16, 0, 41, 0, 0, 0, 58, 0, 16, 0, 32, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 16, 0, 0, 7, 130, 0, 16, 0, 32, 0, 0, 0, 70, 2, 16, 0, 38, 0, 0, 0, 70, 2, 16, 0, 38, 0, 0, 0, 50, 0, 0, 10, 130, 0, 16, 0, 32, 0, 0, 0, 42, 0, 16, 128, 65, 0, 0, 0, 32, 0, 0, 0, 42, 0, 16, 0, 32, 0, 0, 0, 58, 0, 16, 0, 32, 0, 0, 0, 16, 0, 0, 7, 130, 0, 16, 0, 34, 0, 0, 0, 70, 2, 16, 0, 38, 0, 0, 0, 70, 2, 16, 0, 40, 0, 0, 0, 50, 0, 0, 10, 130, 0, 16, 0, 34, 0, 0, 0, 42, 0, 16, 128, 65, 0, 0, 0, 32, 0, 0, 0, 42, 0, 16, 0, 41, 0, 0, 0, 58, 0, 16, 0, 34, 0, 0, 0, 50, 0, 0, 10, 130, 0, 16, 0, 36, 0, 0, 0, 42, 0, 16, 128, 65, 0, 0, 0, 41, 0, 0, 0, 42, 0, 16, 0, 41, 0, 0, 0, 26, 0, 16, 0, 41, 0, 0, 0, 56, 0, 0, 7, 130, 0, 16, 0, 37, 0, 0, 0, 58, 0, 16, 0, 32, 0, 0, 0, 58, 0, 16, 0, 36, 0, 0, 0, 50, 0, 0, 10, 130, 0, 16, 0, 37, 0, 0, 0, 58, 0, 16, 0, 34, 0, 0, 0, 58, 0, 16, 0, 34, 0, 0, 0, 58, 0, 16, 128, 65, 0, 0, 0, 37, 0, 0, 0, 75, 0, 0, 5, 18, 0, 16, 0, 38, 0, 0, 0, 58, 0, 16, 0, 37, 0, 0, 0, 0, 0, 0, 8, 130, 0, 16, 0, 32, 0, 0, 0, 58, 0, 16, 128, 65, 0, 0, 0, 32, 0, 0, 0, 58, 0, 16, 0, 34, 0, 0, 0, 0, 0, 0, 8, 130, 0, 16, 0, 34, 0, 0, 0, 58, 0, 16, 0, 34, 0, 0, 0, 58, 0, 16, 128, 65, 0, 0, 0, 36, 0, 0, 0, 0, 0, 0, 7, 130, 0, 16, 0, 34, 0, 0, 0, 58, 0, 16, 0, 32, 0, 0, 0, 58, 0, 16, 0, 34, 0, 0, 0, 0, 0, 0, 7, 130, 0, 16, 0, 36, 0, 0, 0, 10, 0, 16, 0, 38, 0, 0, 0, 58, 0, 16, 0, 32, 0, 0, 0, 51, 0, 0, 7, 130, 0, 16, 0, 36, 0, 0, 0, 58, 0, 16, 0, 36, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 14, 0, 0, 7, 130, 0, 16, 0, 36, 0, 0, 0, 58, 0, 16, 0, 36, 0, 0, 0, 58, 0, 16, 0, 34, 0, 0, 0, 49, 0, 0, 7, 34, 0, 16, 0, 38, 0, 0, 0, 58, 0, 16, 0, 36, 0, 0, 0, 1, 64, 0, 0, 0, 0, 128, 63, 49, 0, 0, 7, 66, 0, 16, 0, 38, 0, 0, 0, 58, 0, 16, 0, 32, 0, 0, 0, 10, 0, 16, 0, 38, 0, 0, 0, 1, 0, 0, 7, 34, 0, 16, 0, 38, 0, 0, 0, 42, 0, 16, 0, 38, 0, 0, 0, 26, 0, 16, 0, 38, 0, 0, 0, 56, 0, 0, 7, 130, 0, 16, 0, 32, 0, 0, 0, 58, 0, 16, 0, 32, 0, 0, 0, 58, 0, 16, 0, 34, 0, 0, 0, 0, 0, 0, 8, 66, 0, 16, 0, 38, 0, 0, 0, 42, 0, 16, 128, 65, 0, 0, 0, 32, 0, 0, 0, 42, 0, 16, 0, 41, 0, 0, 0, 50, 0, 0, 9, 66, 0, 16, 0, 32, 0, 0, 0, 58, 0, 16, 0, 32, 0, 0, 0, 42, 0, 16, 0, 38, 0, 0, 0, 42, 0, 16, 0, 32, 0, 0, 0, 56, 0, 0, 7, 66, 0, 16, 0, 32, 0, 0, 0, 42, 0, 16, 0, 32, 0, 0, 0, 42, 0, 16, 0, 32, 0, 0, 0, 56, 0, 0, 7, 66, 0, 16, 0, 32, 0, 0, 0, 58, 0, 16, 0, 34, 0, 0, 0, 42, 0, 16, 0, 32, 0, 0, 0, 56, 0, 0, 7, 66, 0, 16, 0, 32, 0, 0, 0, 42, 0, 16, 0, 32, 0, 0, 0, 1, 64, 0, 0, 236, 81, 184, 190, 49, 0, 0, 7, 66, 0, 16, 0, 32, 0, 0, 0, 42, 0, 16, 0, 32, 0, 0, 0, 58, 0, 16, 0, 37, 0, 0, 0, 1, 0, 0, 7, 66, 0, 16, 0, 32, 0, 0, 0, 42, 0, 16, 0, 32, 0, 0, 0, 26, 0, 16, 0, 38, 0, 0, 0, 49, 0, 0, 7, 130, 0, 16, 0, 32, 0, 0, 0, 58, 0, 16, 0, 34, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 180, 1, 0, 0, 7, 66, 0, 16, 0, 32, 0, 0, 0, 58, 0, 16, 0, 32, 0, 0, 0, 42, 0, 16, 0, 32, 0, 0, 0, 0, 0, 0, 8, 226, 0, 16, 0, 38, 0, 0, 0, 6, 9, 16, 0, 36, 0, 0, 0, 6, 9, 16, 128, 65, 0, 0, 0, 39, 0, 0, 0, 50, 0, 0, 10, 114, 0, 16, 0, 36, 0, 0, 0, 150, 7, 16, 128, 65, 0, 0, 0, 38, 0, 0, 0, 246, 15, 16, 0, 36, 0, 0, 0, 70, 2, 16, 0, 36, 0, 0, 0, 56, 0, 0, 7, 114, 0, 16, 0, 40, 0, 0, 0, 246, 15, 16, 0, 30, 0, 0, 0, 70, 2, 16, 0, 33, 0, 0, 0, 50, 0, 0, 10, 114, 0, 16, 0, 37, 0, 0, 0, 70, 2, 16, 128, 65, 0, 0, 0, 37, 0, 0, 0, 246, 15, 16, 0, 28, 0, 0, 0, 70, 2, 16, 0, 40, 0, 0, 0, 0, 0, 0, 8, 130, 0, 16, 0, 28, 0, 0, 0, 58, 0, 16, 128, 65, 0, 0, 0, 36, 0, 0, 0, 1, 64, 0, 0, 0, 0, 128, 63, 50, 0, 0, 10, 114, 0, 16, 0, 40, 0, 0, 0, 70, 2, 16, 128, 65, 0, 0, 0, 37, 0, 0, 0, 246, 15, 16, 0, 28, 0, 0, 0, 70, 2, 16, 0, 40, 0, 0, 0, 56, 0, 0, 7, 130, 0, 16, 0, 32, 0, 0, 0, 10, 0, 16, 0, 32, 0, 0, 0, 58, 0, 16, 0, 36, 0, 0, 0, 50, 0, 0, 9, 34, 0, 16, 0, 32, 0, 0, 0, 26, 0, 16, 0, 32, 0, 0, 0, 58, 0, 16, 0, 28, 0, 0, 0, 58, 0, 16, 0, 32, 0, 0, 0, 16, 0, 0, 7, 130, 0, 16, 0, 32, 0, 0, 0, 70, 2, 16, 0, 40, 0, 0, 0, 70, 2, 16, 0, 40, 0, 0, 0, 68, 0, 0, 5, 130, 0, 16, 0, 32, 0, 0, 0, 58, 0, 16, 0, 32, 0, 0, 0, 16, 0, 0, 7, 130, 0, 16, 0, 36, 0, 0, 0, 70, 2, 16, 0, 36, 0, 0, 0, 70, 2, 16, 0, 40, 0, 0, 0, 56, 0, 0, 7, 130, 0, 16, 0, 36, 0, 0, 0, 58, 0, 16, 0, 32, 0, 0, 0, 58, 0, 16, 0, 36, 0, 0, 0, 16, 0, 0, 7, 18, 0, 16, 0, 36, 0, 0, 0, 70, 2, 16, 0, 36, 0, 0, 0, 70, 2, 16, 0, 36, 0, 0, 0, 50, 0, 0, 10, 18, 0, 16, 0, 36, 0, 0, 0, 58, 0, 16, 128, 65, 0, 0, 0, 36, 0, 0, 0, 58, 0, 16, 0, 36, 0, 0, 0, 10, 0, 16, 0, 36, 0, 0, 0, 49, 0, 0, 7, 34, 0, 16, 0, 36, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 10, 0, 16, 0, 36, 0, 0, 0, 68, 0, 0, 5, 66, 0, 16, 0, 36, 0, 0, 0, 10, 0, 16, 0, 36, 0, 0, 0, 1, 0, 0, 7, 34, 0, 16, 0, 36, 0, 0, 0, 42, 0, 16, 0, 36, 0, 0, 0, 26, 0, 16, 0, 36, 0, 0, 0, 56, 0, 0, 7, 34, 0, 16, 0, 32, 0, 0, 0, 26, 0, 16, 0, 32, 0, 0, 0, 10, 0, 16, 0, 36, 0, 0, 0, 50, 0, 0, 9, 34, 0, 16, 0, 32, 0, 0, 0, 26, 0, 16, 0, 32, 0, 0, 0, 26, 0, 16, 0, 36, 0, 0, 0, 58, 0, 16, 0, 36, 0, 0, 0, 56, 0, 0, 7, 34, 0, 16, 0, 32, 0, 0, 0, 58, 0, 16, 0, 32, 0, 0, 0, 26, 0, 16, 0, 32, 0, 0, 0, 49, 0, 0, 8, 130, 0, 16, 0, 32, 0, 0, 0, 26, 0, 16, 128, 129, 0, 0, 0, 32, 0, 0, 0, 1, 64, 0, 0, 0, 0, 128, 63, 50, 0, 0, 9, 114, 0, 16, 0, 36, 0, 0, 0, 70, 2, 16, 0, 37, 0, 0, 0, 86, 5, 16, 0, 32, 0, 0, 0, 150, 7, 16, 0, 38, 0, 0, 0, 49, 0, 0, 7, 34, 0, 16, 0, 32, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 52, 58, 0, 16, 0, 28, 0, 0, 0, 56, 0, 0, 7, 130, 0, 16, 0, 34, 0, 0, 0, 58, 0, 16, 0, 28, 0, 0, 0, 58, 0, 16, 0, 34, 0, 0, 0, 14, 0, 0, 7, 130, 0, 16, 0, 34, 0, 0, 0, 10, 0, 16, 0, 38, 0, 0, 0, 58, 0, 16, 0, 34, 0, 0, 0, 1, 0, 0, 7, 34, 0, 16, 0, 32, 0, 0, 0, 26, 0, 16, 0, 32, 0, 0, 0, 58, 0, 16, 0, 34, 0, 0, 0, 0, 0, 0, 8, 34, 0, 16, 0, 32, 0, 0, 0, 26, 0, 16, 128, 65, 0, 0, 0, 32, 0, 0, 0, 1, 64, 0, 0, 0, 0, 128, 63, 14, 0, 0, 7, 130, 0, 16, 0, 28, 0, 0, 0, 58, 0, 16, 0, 28, 0, 0, 0, 26, 0, 16, 0, 32, 0, 0, 0, 50, 0, 0, 9, 114, 0, 16, 0, 36, 0, 0, 0, 70, 2, 16, 0, 36, 0, 0, 0, 246, 15, 16, 0, 28, 0, 0, 0, 70, 2, 16, 0, 39, 0, 0, 0, 16, 0, 0, 7, 18, 0, 16, 0, 37, 0, 0, 0, 70, 2, 16, 0, 36, 0, 0, 0, 70, 2, 16, 0, 33, 0, 0, 0, 50, 0, 0, 9, 130, 0, 16, 0, 28, 0, 0, 0, 10, 0, 16, 0, 37, 0, 0, 0, 10, 0, 16, 0, 32, 0, 0, 0, 58, 0, 16, 0, 31, 0, 0, 0, 52, 0, 0, 7, 66, 0, 16, 0, 37, 0, 0, 0, 58, 0, 16, 0, 28, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 16, 0, 0, 7, 130, 0, 16, 0, 28, 0, 0, 0, 70, 2, 16, 0, 36, 0, 0, 0, 70, 2, 16, 0, 36, 0, 0, 0, 50, 0, 0, 10, 34, 0, 16, 0, 37, 0, 0, 0, 10, 0, 16, 128, 65, 0, 0, 0, 37, 0, 0, 0, 10, 0, 16, 0, 37, 0, 0, 0, 58, 0, 16, 0, 28, 0, 0, 0, 55, 0, 0, 9, 114, 0, 16, 0, 37, 0, 0, 0, 246, 15, 16, 0, 32, 0, 0, 0, 70, 2, 16, 0, 37, 0, 0, 0, 70, 2, 16, 0, 41, 0, 0, 0, 55, 0, 0, 9, 114, 0, 16, 0, 37, 0, 0, 0, 166, 10, 16, 0, 32, 0, 0, 0, 70, 2, 16, 0, 37, 0, 0, 0, 70, 2, 16, 0, 41, 0, 0, 0, 56, 0, 0, 7, 130, 0, 16, 0, 28, 0, 0, 0, 42, 0, 16, 0, 37, 0, 0, 0, 42, 0, 16, 0, 37, 0, 0, 0, 49, 0, 0, 7, 130, 0, 16, 0, 28, 0, 0, 0, 58, 0, 16, 0, 28, 0, 0, 0, 26, 0, 16, 0, 37, 0, 0, 0, 31, 0, 4, 3, 58, 0, 16, 0, 28, 0, 0, 0, 30, 0, 0, 7, 130, 0, 16, 0, 28, 0, 0, 0, 58, 0, 16, 0, 23, 0, 0, 0, 1, 64, 0, 0, 1, 0, 0, 0, 54, 0, 0, 5, 130, 0, 16, 0, 23, 0, 0, 0, 58, 0, 16, 0, 28, 0, 0, 0, 7, 0, 0, 1, 21, 0, 0, 1, 56, 0, 0, 7, 130, 0, 16, 0, 28, 0, 0, 0, 58, 0, 16, 0, 33, 0, 0, 0, 58, 0, 16, 0, 35, 0, 0, 0, 50, 0, 0, 10, 130, 0, 16, 0, 28, 0, 0, 0, 58, 0, 16, 128, 65, 0, 0, 0, 28, 0, 0, 0, 58, 0, 16, 0, 28, 0, 0, 0, 1, 64, 0, 0, 0, 0, 128, 63, 55, 0, 0, 9, 114, 0, 16, 0, 36, 0, 0, 0, 246, 15, 16, 0, 32, 0, 0, 0, 70, 2, 16, 0, 36, 0, 0, 0, 70, 2, 16, 0, 39, 0, 0, 0, 55, 0, 0, 9, 226, 0, 16, 0, 32, 0, 0, 0, 166, 10, 16, 0, 32, 0, 0, 0, 6, 9, 16, 0, 36, 0, 0, 0, 6, 9, 16, 0, 39, 0, 0, 0, 52, 0, 0, 7, 130, 0, 16, 0, 31, 0, 0, 0, 26, 0, 16, 0, 37, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 52, 68, 0, 0, 5, 130, 0, 16, 0, 33, 0, 0, 0, 58, 0, 16, 0, 31, 0, 0, 0, 56, 0, 0, 7, 130, 0, 16, 0, 31, 0, 0, 0, 58, 0, 16, 0, 31, 0, 0, 0, 10, 0, 16, 0, 32, 0, 0, 0, 50, 0, 0, 9, 130, 0, 16, 0, 31, 0, 0, 0, 58, 0, 16, 0, 31, 0, 0, 0, 58, 0, 16, 0, 33, 0, 0, 0, 10, 0, 16, 0, 37, 0, 0, 0, 49, 0, 0, 8, 130, 0, 16, 0, 30, 0, 0, 0, 58, 0, 16, 128, 129, 0, 0, 0, 31, 0, 0, 0, 58, 0, 16, 0, 30, 0, 0, 0, 50, 0, 0, 10, 114, 0, 16, 0, 32, 0, 0, 0, 246, 15, 16, 128, 65, 0, 0, 0, 31, 0, 0, 0, 70, 2, 16, 0, 33, 0, 0, 0, 150, 7, 16, 0, 32, 0, 0, 0, 56, 0, 0, 7, 130, 0, 16, 0, 31, 0, 0, 0, 58, 0, 16, 0, 33, 0, 0, 0, 42, 0, 16, 0, 37, 0, 0, 0, 50, 0, 0, 10, 130, 0, 16, 0, 28, 0, 0, 0, 58, 0, 16, 0, 31, 0, 0, 0, 58, 0, 16, 0, 28, 0, 0, 0, 58, 0, 16, 128, 65, 0, 0, 0, 28, 0, 0, 0, 50, 0, 0, 9, 114, 0, 16, 0, 32, 0, 0, 0, 70, 2, 16, 0, 32, 0, 0, 0, 246, 15, 16, 0, 28, 0, 0, 0, 70, 2, 16, 0, 28, 0, 0, 0, 50, 0, 0, 9, 130, 0, 16, 0, 28, 0, 0, 0, 10, 0, 16, 0, 37, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 63, 1, 64, 0, 0, 0, 0, 0, 63, 0, 0, 0, 8, 114, 0, 16, 0, 31, 0, 0, 0, 70, 2, 16, 128, 65, 0, 0, 0, 34, 0, 0, 0, 70, 2, 16, 0, 31, 0, 0, 0, 0, 0, 0, 8, 114, 0, 16, 0, 30, 0, 0, 0, 70, 2, 16, 128, 65, 0, 0, 0, 35, 0, 0, 0, 70, 2, 16, 0, 30, 0, 0, 0, 0, 0, 0, 8, 114, 0, 16, 0, 30, 0, 0, 0, 70, 2, 16, 128, 65, 0, 0, 0, 31, 0, 0, 0, 70, 2, 16, 0, 30, 0, 0, 0, 50, 0, 0, 9, 114, 0, 16, 0, 30, 0, 0, 0, 246, 15, 16, 0, 28, 0, 0, 0, 70, 2, 16, 0, 30, 0, 0, 0, 70, 2, 16, 0, 31, 0, 0, 0, 0, 0, 0, 7, 114, 0, 16, 0, 30, 0, 0, 0, 70, 2, 16, 0, 29, 0, 0, 0, 70, 2, 16, 0, 30, 0, 0, 0, 55, 0, 0, 9, 114, 0, 16, 0, 31, 0, 0, 0, 6, 0, 16, 0, 20, 0, 0, 0, 70, 2, 16, 0, 30, 0, 0, 0, 70, 2, 16, 0, 29, 0, 0, 0, 30, 0, 0, 7, 130, 0, 16, 0, 31, 0, 0, 0, 58, 0, 16, 0, 29, 0, 0, 0, 1, 64, 0, 0, 1, 0, 0, 0, 55, 0, 0, 9, 114, 0, 16, 0, 28, 0, 0, 0, 246, 15, 16, 0, 30, 0, 0, 0, 70, 2, 16, 0, 32, 0, 0, 0, 70, 2, 16, 0, 28, 0, 0, 0, 55, 0, 0, 9, 242, 0, 16, 0, 29, 0, 0, 0, 246, 15, 16, 0, 30, 0, 0, 0, 70, 14, 16, 0, 31, 0, 0, 0, 70, 14, 16, 0, 29, 0, 0, 0, 30, 0, 0, 7, 130, 0, 16, 0, 23, 0, 0, 0, 58, 0, 16, 0, 23, 0, 0, 0, 1, 64, 0, 0, 1, 0, 0, 0, 22, 0, 0, 1, 165, 0, 0, 7, 130, 0, 16, 0, 23, 0, 0, 0, 1, 64, 0, 0, 60, 0, 0, 0, 6, 240, 17, 0, 0, 0, 0, 0, 54, 0, 0, 5, 114, 0, 16, 0, 30, 0, 0, 0, 70, 2, 16, 0, 27, 0, 0, 0, 54, 0, 0, 5, 114, 0, 16, 0, 31, 0, 0, 0, 70, 2, 16, 0, 28, 0, 0, 0, 54, 0, 0, 5, 242, 0, 16, 0, 32, 0, 0, 0, 70, 14, 16, 0, 29, 0, 0, 0, 54, 0, 0, 5, 130, 0, 16, 0, 28, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 48, 0, 0, 1, 80, 0, 0, 7, 130, 0, 16, 0, 30, 0, 0, 0, 58, 0, 16, 0, 28, 0, 0, 0, 58, 0, 16, 0, 23, 0, 0, 0, 3, 0, 4, 3, 58, 0, 16, 0, 30, 0, 0, 0, 30, 0, 0, 7, 50, 0, 16, 0, 33, 0, 0, 0, 230, 10, 16, 0, 20, 0, 0, 0, 246, 15, 16, 0, 28, 0, 0, 0, 167, 0, 0, 139, 2, 131, 0, 128, 131, 153, 25, 0, 242, 0, 16, 0, 34, 0, 0, 0, 10, 0, 16, 0, 33, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 70, 126, 16, 0, 7, 0, 0, 0, 167, 0, 0, 139, 2, 131, 0, 128, 131, 153, 25, 0, 242, 0, 16, 0, 33, 0, 0, 0, 26, 0, 16, 0, 33, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 70, 126, 16, 0, 7, 0, 0, 0, 0, 0, 0, 8, 242, 0, 16, 0, 33, 0, 0, 0, 70, 14, 16, 128, 65, 0, 0, 0, 34, 0, 0, 0, 70, 14, 16, 0, 33, 0, 0, 0, 50, 0, 0, 9, 242, 0, 16, 0, 35, 0, 0, 0, 86, 5, 16, 0, 19, 0, 0, 0, 70, 14, 16, 0, 33, 0, 0, 0, 70, 14, 16, 0, 34, 0, 0, 0, 52, 0, 0, 7, 130, 0, 16, 0, 30, 0, 0, 0, 58, 0, 16, 0, 35, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 50, 0, 0, 9, 114, 0, 16, 0, 33, 0, 0, 0, 166, 10, 16, 0, 19, 0, 0, 0, 70, 2, 16, 0, 33, 0, 0, 0, 70, 2, 16, 0, 34, 0, 0, 0, 0, 0, 0, 8, 114, 0, 16, 0, 34, 0, 0, 0, 70, 2, 16, 0, 30, 0, 0, 0, 70, 2, 16, 128, 65, 0, 0, 0, 35, 0, 0, 0, 0, 0, 0, 8, 114, 0, 16, 0, 36, 0, 0, 0, 150, 7, 16, 0, 25, 0, 0, 0, 70, 2, 16, 128, 65, 0, 0, 0, 33, 0, 0, 0, 16, 0, 0, 7, 130, 0, 16, 0, 31, 0, 0, 0, 70, 2, 16, 0, 34, 0, 0, 0, 70, 2, 16, 0, 34, 0, 0, 0, 0, 0, 0, 7, 130, 0, 16, 0, 34, 0, 0, 0, 58, 0, 16, 0, 31, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 52, 16, 0, 0, 7, 130, 0, 16, 0, 31, 0, 0, 0, 70, 2, 16, 0, 36, 0, 0, 0, 70, 2, 16, 0, 36, 0, 0, 0, 56, 0, 0, 7, 130, 0, 16, 0, 33, 0, 0, 0, 58, 0, 16, 0, 30, 0, 0, 0, 58, 0, 16, 0, 30, 0, 0, 0, 50, 0, 0, 10, 130, 0, 16, 0, 31, 0, 0, 0, 58, 0, 16, 128, 65, 0, 0, 0, 30, 0, 0, 0, 58, 0, 16, 0, 30, 0, 0, 0, 58, 0, 16, 0, 31, 0, 0, 0, 16, 0, 0, 7, 130, 0, 16, 0, 35, 0, 0, 0, 70, 2, 16, 0, 36, 0, 0, 0, 70, 2, 16, 0, 34, 0, 0, 0, 50, 0, 0, 10, 130, 0, 16, 0, 35, 0, 0, 0, 58, 0, 16, 128, 65, 0, 0, 0, 30, 0, 0, 0, 58, 0, 16, 0, 30, 0, 0, 0, 58, 0, 16, 0, 35, 0, 0, 0, 50, 0, 0, 10, 130, 0, 16, 0, 36, 0, 0, 0, 58, 0, 16, 128, 65, 0, 0, 0, 30, 0, 0, 0, 58, 0, 16, 0, 30, 0, 0, 0, 58, 0, 16, 0, 34, 0, 0, 0, 56, 0, 0, 7, 18, 0, 16, 0, 37, 0, 0, 0, 58, 0, 16, 0, 31, 0, 0, 0, 58, 0, 16, 0, 36, 0, 0, 0, 50, 0, 0, 10, 18, 0, 16, 0, 37, 0, 0, 0, 58, 0, 16, 0, 35, 0, 0, 0, 58, 0, 16, 0, 35, 0, 0, 0, 10, 0, 16, 128, 65, 0, 0, 0, 37, 0, 0, 0, 75, 0, 0, 5, 34, 0, 16, 0, 37, 0, 0, 0, 10, 0, 16, 0, 37, 0, 0, 0, 0, 0, 0, 8, 130, 0, 16, 0, 31, 0, 0, 0, 58, 0, 16, 128, 65, 0, 0, 0, 31, 0, 0, 0, 58, 0, 16, 0, 35, 0, 0, 0, 0, 0, 0, 8, 130, 0, 16, 0, 35, 0, 0, 0, 58, 0, 16, 0, 35, 0, 0, 0, 58, 0, 16, 128, 65, 0, 0, 0, 36, 0, 0, 0, 0, 0, 0, 7, 130, 0, 16, 0, 35, 0, 0, 0, 58, 0, 16, 0, 31, 0, 0, 0, 58, 0, 16, 0, 35, 0, 0, 0, 0, 0, 0, 7, 130, 0, 16, 0, 36, 0, 0, 0, 26, 0, 16, 0, 37, 0, 0, 0, 58, 0, 16, 0, 31, 0, 0, 0, 51, 0, 0, 7, 130, 0, 16, 0, 36, 0, 0, 0, 58, 0, 16, 0, 36, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 14, 0, 0, 7, 130, 0, 16, 0, 36, 0, 0, 0, 58, 0, 16, 0, 36, 0, 0, 0, 58, 0, 16, 0, 35, 0, 0, 0, 49, 0, 0, 7, 66, 0, 16, 0, 37, 0, 0, 0, 58, 0, 16, 0, 36, 0, 0, 0, 1, 64, 0, 0, 0, 0, 128, 63, 49, 0, 0, 7, 130, 0, 16, 0, 31, 0, 0, 0, 58, 0, 16, 0, 31, 0, 0, 0, 26, 0, 16, 0, 37, 0, 0, 0, 1, 0, 0, 7, 130, 0, 16, 0, 31, 0, 0, 0, 58, 0, 16, 0, 31, 0, 0, 0, 42, 0, 16, 0, 37, 0, 0, 0, 56, 0, 0, 7, 130, 0, 16, 0, 33, 0, 0, 0, 58, 0, 16, 0, 33, 0, 0, 0, 58, 0, 16, 0, 35, 0, 0, 0, 56, 0, 0, 7, 130, 0, 16, 0, 33, 0, 0, 0, 58, 0, 16, 0, 33, 0, 0, 0, 1, 64, 0, 0, 236, 81, 184, 190, 49, 0, 0, 7, 130, 0, 16, 0, 33, 0, 0, 0, 58, 0, 16, 0, 33, 0, 0, 0, 10, 0, 16, 0, 37, 0, 0, 0, 1, 0, 0, 7, 130, 0, 16, 0, 31, 0, 0, 0, 58, 0, 16, 0, 31, 0, 0, 0, 58, 0, 16, 0, 33, 0, 0, 0, 49, 0, 0, 7, 130, 0, 16, 0, 33, 0, 0, 0, 58, 0, 16, 0, 35, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 180, 1, 0, 0, 7, 130, 0, 16, 0, 31, 0, 0, 0, 58, 0, 16, 0, 31, 0, 0, 0, 58, 0, 16, 0, 33, 0, 0, 0, 0, 0, 0, 8, 114, 0, 16, 0, 36, 0, 0, 0, 70, 2, 16, 128, 65, 0, 0, 0, 34, 0, 0, 0, 70, 2, 16, 0, 36, 0, 0, 0, 0, 0, 0, 8, 130, 0, 16, 0, 33, 0, 0, 0, 58, 0, 16, 128, 65, 0, 0, 0, 36, 0, 0, 0, 1, 64, 0, 0, 0, 0, 128, 63, 56, 0, 0, 7, 130, 0, 16, 0, 35, 0, 0, 0, 58, 0, 16, 0, 33, 0, 0, 0, 58, 0, 16, 0, 35, 0, 0, 0, 14, 0, 0, 7, 130, 0, 16, 0, 35, 0, 0, 0, 26, 0, 16, 0, 37, 0, 0, 0, 58, 0, 16, 0, 35, 0, 0, 0, 0, 0, 0, 8, 130, 0, 16, 0, 35, 0, 0, 0, 58, 0, 16, 128, 65, 0, 0, 0, 35, 0, 0, 0, 1, 64, 0, 0, 0, 0, 128, 63, 14, 0, 0, 7, 130, 0, 16, 0, 33, 0, 0, 0, 58, 0, 16, 0, 33, 0, 0, 0, 58, 0, 16, 0, 35, 0, 0, 0, 50, 0, 0, 9, 114, 0, 16, 0, 36, 0, 0, 0, 70, 2, 16, 0, 36, 0, 0, 0, 246, 15, 16, 0, 33, 0, 0, 0, 70, 2, 16, 0, 34, 0, 0, 0, 0, 0, 0, 7, 114, 0, 16, 0, 37, 0, 0, 0, 70, 2, 16, 0, 35, 0, 0, 0, 70, 2, 16, 0, 36, 0, 0, 0, 16, 0, 0, 7, 130, 0, 16, 0, 33, 0, 0, 0, 70, 2, 16, 0, 36, 0, 0, 0, 70, 2, 16, 0, 36, 0, 0, 0, 0, 0, 0, 7, 130, 0, 16, 0, 36, 0, 0, 0, 58, 0, 16, 0, 33, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 52, 55, 0, 0, 9, 114, 0, 16, 0, 30, 0, 0, 0, 246, 15, 16, 0, 31, 0, 0, 0, 70, 2, 16, 0, 37, 0, 0, 0, 70, 2, 16, 0, 30, 0, 0, 0, 55, 0, 0, 9, 242, 0, 16, 0, 34, 0, 0, 0, 246, 15, 16, 0, 31, 0, 0, 0, 70, 14, 16, 0, 36, 0, 0, 0, 70, 14, 16, 0, 34, 0, 0, 0, 68, 0, 0, 5, 130, 0, 16, 0, 31, 0, 0, 0, 58, 0, 16, 0, 34, 0, 0, 0, 56, 0, 0, 7, 130, 0, 16, 0, 33, 0, 0, 0, 58, 0, 16, 0, 30, 0, 0, 0, 58, 0, 16, 0, 31, 0, 0, 0, 49, 0, 0, 7, 130, 0, 16, 0, 33, 0, 0, 0, 1, 64, 0, 0, 0, 0, 128, 63, 58, 0, 16, 0, 33, 0, 0, 0, 50, 0, 0, 9, 130, 0, 16, 0, 30, 0, 0, 0, 58, 0, 16, 0, 31, 0, 0, 0, 58, 0, 16, 0, 30, 0, 0, 0, 1, 64, 0, 0, 0, 0, 128, 191, 50, 0, 0, 9, 114, 0, 16, 0, 34, 0, 0, 0, 70, 2, 16, 0, 34, 0, 0, 0, 246, 15, 16, 0, 30, 0, 0, 0, 70, 2, 16, 0, 31, 0, 0, 0, 0, 0, 0, 8, 114, 0, 16, 0, 33, 0, 0, 0, 70, 2, 16, 128, 65, 0, 0, 0, 33, 0, 0, 0, 70, 2, 16, 0, 35, 0, 0, 0, 0, 0, 0, 7, 114, 0, 16, 0, 33, 0, 0, 0, 70, 2, 16, 0, 32, 0, 0, 0, 70, 2, 16, 0, 33, 0, 0, 0, 55, 0, 0, 9, 114, 0, 16, 0, 35, 0, 0, 0, 6, 0, 16, 0, 20, 0, 0, 0, 70, 2, 16, 0, 33, 0, 0, 0, 70, 2, 16, 0, 32, 0, 0, 0, 30, 0, 0, 7, 130, 0, 16, 0, 35, 0, 0, 0, 58, 0, 16, 0, 32, 0, 0, 0, 1, 64, 0, 0, 1, 0, 0, 0, 55, 0, 0, 9, 114, 0, 16, 0, 31, 0, 0, 0, 246, 15, 16, 0, 33, 0, 0, 0, 70, 2, 16, 0, 34, 0, 0, 0, 70, 2, 16, 0, 31, 0, 0, 0, 55, 0, 0, 9, 242, 0, 16, 0, 32, 0, 0, 0, 246, 15, 16, 0, 33, 0, 0, 0, 70, 14, 16, 0, 35, 0, 0, 0, 70, 14, 16, 0, 32, 0, 0, 0, 30, 0, 0, 7, 130, 0, 16, 0, 28, 0, 0, 0, 58, 0, 16, 0, 28, 0, 0, 0, 1, 64, 0, 0, 1, 0, 0, 0, 22, 0, 0, 1, 31, 0, 4, 3, 58, 0, 16, 0, 32, 0, 0, 0, 86, 0, 0, 5, 130, 0, 16, 0, 23, 0, 0, 0, 58, 0, 16, 0, 32, 0, 0, 0, 14, 0, 0, 10, 130, 0, 16, 0, 23, 0, 0, 0, 2, 64, 0, 0, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 58, 0, 16, 0, 23, 0, 0, 0, 31, 0, 4, 3, 10, 0, 16, 0, 20, 0, 0, 0, 165, 0, 0, 7, 130, 0, 16, 0, 28, 0, 0, 0, 1, 64, 0, 0, 92, 0, 0, 0, 6, 240, 17, 0, 0, 0, 0, 0, 16, 0, 0, 7, 18, 0, 16, 0, 30, 0, 0, 0, 70, 2, 16, 0, 31, 0, 0, 0, 70, 2, 16, 0, 31, 0, 0, 0, 0, 0, 0, 7, 34, 0, 16, 0, 30, 0, 0, 0, 10, 0, 16, 0, 30, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 52, 68, 0, 0, 5, 34, 0, 16, 0, 30, 0, 0, 0, 26, 0, 16, 0, 30, 0, 0, 0, 56, 0, 0, 7, 114, 0, 16, 0, 33, 0, 0, 0, 86, 5, 16, 0, 30, 0, 0, 0, 70, 2, 16, 0, 31, 0, 0, 0, 0, 0, 0, 8, 114, 0, 16, 0, 34, 0, 0, 0, 150, 7, 16, 128, 65, 0, 0, 0, 25, 0, 0, 0, 70, 2, 16, 0, 27, 0, 0, 0, 50, 0, 0, 10, 114, 0, 16, 0, 34, 0, 0, 0, 70, 2, 16, 128, 65, 0, 0, 0, 32, 0, 0, 0, 246, 15, 16, 0, 23, 0, 0, 0, 70, 2, 16, 0, 34, 0, 0, 0, 16, 0, 0, 7, 66, 0, 16, 0, 30, 0, 0, 0, 70, 2, 16, 0, 34, 0, 0, 0, 70, 2, 16, 0, 33, 0, 0, 0, 50, 0, 0, 10, 114, 0, 16, 0, 33, 0, 0, 0, 166, 10, 16, 128, 65, 0, 0, 0, 30, 0, 0, 0, 70, 2, 16, 0, 33, 0, 0, 0, 70, 2, 16, 0, 34, 0, 0, 0, 16, 0, 0, 7, 66, 0, 16, 0, 30, 0, 0, 0, 70, 2, 16, 0, 33, 0, 0, 0, 70, 2, 16, 0, 33, 0, 0, 0, 0, 0, 0, 7, 66, 0, 16, 0, 30, 0, 0, 0, 42, 0, 16, 0, 30, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 52, 68, 0, 0, 5, 66, 0, 16, 0, 30, 0, 0, 0, 42, 0, 16, 0, 30, 0, 0, 0, 56, 0, 0, 8, 130, 0, 16, 0, 28, 0, 0, 0, 58, 0, 16, 128, 65, 0, 0, 0, 28, 0, 0, 0, 10, 0, 16, 0, 30, 0, 0, 0, 56, 0, 0, 7, 130, 0, 16, 0, 28, 0, 0, 0, 26, 0, 16, 0, 30, 0, 0, 0, 58, 0, 16, 0, 28, 0, 0, 0, 56, 0, 0, 7, 130, 0, 16, 0, 28, 0, 0, 0, 58, 0, 16, 0, 23, 0, 0, 0, 58, 0, 16, 0, 28, 0, 0, 0, 56, 0, 0, 7, 130, 0, 16, 0, 28, 0, 0, 0, 42, 0, 16, 0, 30, 0, 0, 0, 58, 0, 16, 0, 28, 0, 0, 0, 52, 0, 0, 7, 130, 0, 16, 0, 28, 0, 0, 0, 58, 0, 16, 0, 28, 0, 0, 0, 1, 64, 0, 0, 0, 0, 128, 191, 50, 0, 0, 10, 226, 0, 16, 0, 25, 0, 0, 0, 6, 9, 16, 128, 65, 0, 0, 0, 33, 0, 0, 0, 246, 15, 16, 0, 28, 0, 0, 0, 86, 14, 16, 0, 25, 0, 0, 0, 166, 0, 0, 7, 114, 224, 17, 0, 0, 0, 0, 0, 58, 0, 16, 0, 22, 0, 0, 0, 150, 7, 16, 0, 25, 0, 0, 0, 21, 0, 0, 1, 50, 0, 0, 9, 114, 0, 16, 0, 27, 0, 0, 0, 70, 2, 16, 0, 31, 0, 0, 0, 246, 15, 16, 0, 23, 0, 0, 0, 70, 2, 16, 0, 27, 0, 0, 0, 166, 0, 0, 7, 242, 224, 17, 0, 0, 0, 0, 0, 58, 0, 16, 0, 21, 0, 0, 0, 70, 14, 16, 0, 27, 0, 0, 0, 21, 0, 0, 1, 30, 0, 0, 7, 66, 0, 16, 0, 21, 0, 0, 0, 42, 0, 16, 0, 21, 0, 0, 0, 1, 64, 0, 0, 0, 4, 0, 0, 22, 0, 0, 1, 18, 0, 0, 1, 165, 0, 0, 7, 50, 0, 16, 0, 20, 0, 0, 0, 1, 64, 0, 0, 88, 0, 0, 0, 70, 240, 17, 0, 0, 0, 0, 0, 49, 0, 0, 10, 50, 0, 16, 0, 20, 0, 0, 0, 2, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 22, 5, 16, 0, 20, 0, 0, 0, 165, 0, 0, 7, 130, 0, 16, 0, 19, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 0, 0, 0, 0, 165, 0, 0, 7, 194, 0, 16, 0, 20, 0, 0, 0, 1, 64, 0, 0, 96, 0, 0, 0, 6, 244, 17, 0, 1, 0, 0, 0, 165, 0, 0, 7, 18, 0, 16, 0, 21, 0, 0, 0, 1, 64, 0, 0, 92, 0, 0, 0, 6, 240, 17, 0, 0, 0, 0, 0, 49, 0, 0, 7, 34, 0, 16, 0, 21, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 10, 0, 16, 0, 21, 0, 0, 0, 165, 0, 0, 7, 194, 0, 16, 0, 21, 0, 0, 0, 1, 64, 0, 0, 52, 0, 0, 0, 6, 244, 17, 0, 0, 0, 0, 0, 54, 0, 0, 4, 130, 0, 16, 0, 22, 0, 0, 0, 10, 32, 2, 0, 48, 0, 0, 1, 80, 0, 0, 7, 130, 0, 16, 0, 23, 0, 0, 0, 58, 0, 16, 0, 22, 0, 0, 0, 58, 0, 16, 0, 19, 0, 0, 0, 3, 0, 4, 3, 58, 0, 16, 0, 23, 0, 0, 0, 30, 0, 0, 7, 130, 0, 16, 0, 23, 0, 0, 0, 26, 0, 16, 0, 0, 0, 0, 0, 58, 0, 16, 0, 22, 0, 0, 0, 41, 0, 0, 7, 130, 0, 16, 0, 23, 0, 0, 0, 58, 0, 16, 0, 23, 0, 0, 0, 1, 64, 0, 0, 4, 0, 0, 0, 165, 0, 0, 137, 194, 2, 0, 128, 131, 153, 25, 0, 242, 0, 16, 0, 27, 0, 0, 0, 58, 0, 16, 0, 23, 0, 0, 0, 70, 238, 17, 0, 0, 0, 0, 0, 54, 0, 0, 8, 226, 0, 16, 0, 25, 0, 0, 0, 2, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 54, 0, 0, 8, 242, 0, 16, 0, 30, 0, 0, 0, 2, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 54, 0, 0, 5, 130, 0, 16, 0, 28, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 48, 0, 0, 1, 80, 0, 0, 7, 130, 0, 16, 0, 31, 0, 0, 0, 58, 0, 16, 0, 28, 0, 0, 0, 42, 0, 16, 0, 21, 0, 0, 0, 3, 0, 4, 3, 58, 0, 16, 0, 31, 0, 0, 0, 30, 0, 0, 7, 130, 0, 16, 0, 31, 0, 0, 0, 58, 0, 16, 0, 21, 0, 0, 0, 58, 0, 16, 0, 28, 0, 0, 0, 167, 0, 0, 139, 2, 67, 0, 128, 131, 153, 25, 0, 50, 0, 16, 0, 33, 0, 0, 0, 58, 0, 16, 0, 31, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 70, 112, 16, 0, 6, 0, 0, 0, 30, 0, 0, 7, 242, 0, 16, 0, 33, 0, 0, 0, 230, 14, 16, 0, 20, 0, 0, 0, 6, 5, 16, 0, 33, 0, 0, 0, 167, 0, 0, 139, 2, 131, 0, 128, 131, 153, 25, 0, 242, 0, 16, 0, 34, 0, 0, 0, 10, 0, 16, 0, 33, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 70, 126, 16, 0, 7, 0, 0, 0, 167, 0, 0, 139, 2, 131, 0, 128, 131, 153, 25, 0, 242, 0, 16, 0, 35, 0, 0, 0, 26, 0, 16, 0, 33, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 70, 126, 16, 0, 7, 0, 0, 0, 0, 0, 0, 8, 242, 0, 16, 0, 36, 0, 0, 0, 70, 14, 16, 128, 65, 0, 0, 0, 34, 0, 0, 0, 70, 14, 16, 0, 35, 0, 0, 0, 50, 0, 0, 9, 242, 0, 16, 0, 36, 0, 0, 0, 86, 5, 16, 0, 19, 0, 0, 0, 70, 14, 16, 0, 36, 0, 0, 0, 70, 14, 16, 0, 34, 0, 0, 0, 167, 0, 0, 139, 2, 131, 0, 128, 131, 153, 25, 0, 242, 0, 16, 0, 37, 0, 0, 0, 42, 0, 16, 0, 33, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 70, 126, 16, 0, 7, 0, 0, 0, 167, 0, 0, 139, 2, 131, 0, 128, 131, 153, 25, 0, 242, 0, 16, 0, 33, 0, 0, 0, 58, 0, 16, 0, 33, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 70, 126, 16, 0, 7, 0, 0, 0, 0, 0, 0, 8, 242, 0, 16, 0, 38, 0, 0, 0, 70, 14, 16, 128, 65, 0, 0, 0, 37, 0, 0, 0, 70, 14, 16, 0, 33, 0, 0, 0, 50, 0, 0, 9, 242, 0, 16, 0, 38, 0, 0, 0, 86, 5, 16, 0, 19, 0, 0, 0, 70, 14, 16, 0, 38, 0, 0, 0, 70, 14, 16, 0, 37, 0, 0, 0, 52, 0, 0, 7, 130, 0, 16, 0, 36, 0, 0, 0, 58, 0, 16, 0, 36, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 52, 0, 0, 7, 130, 0, 16, 0, 38, 0, 0, 0, 58, 0, 16, 0, 38, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 242, 0, 16, 0, 39, 0, 0, 0, 70, 14, 16, 128, 65, 0, 0, 0, 36, 0, 0, 0, 70, 14, 16, 0, 38, 0, 0, 0, 56, 0, 0, 10, 242, 0, 16, 0, 40, 0, 0, 0, 70, 14, 16, 0, 39, 0, 0, 0, 2, 64, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 16, 0, 0, 7, 130, 0, 16, 0, 31, 0, 0, 0, 70, 2, 16, 0, 40, 0, 0, 0, 70, 2, 16, 0, 40, 0, 0, 0, 50, 0, 0, 10, 130, 0, 16, 0, 33, 0, 0, 0, 58, 0, 16, 128, 65, 0, 0, 0, 40, 0, 0, 0, 58, 0, 16, 0, 40, 0, 0, 0, 58, 0, 16, 0, 31, 0, 0, 0, 29, 0, 0, 7, 130, 0, 16, 0, 34, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 58, 0, 16, 0, 33, 0, 0, 0, 31, 0, 4, 3, 58, 0, 16, 0, 34, 0, 0, 0, 30, 0, 0, 7, 130, 0, 16, 0, 34, 0, 0, 0, 58, 0, 16, 0, 28, 0, 0, 0, 1, 64, 0, 0, 1, 0, 0, 0, 54, 0, 0, 5, 130, 0, 16, 0, 28, 0, 0, 0, 58, 0, 16, 0, 34, 0, 0, 0, 7, 0, 0, 1, 21, 0, 0, 1, 68, 0, 0, 5, 130, 0, 16, 0, 34, 0, 0, 0, 58, 0, 16, 0, 31, 0, 0, 0, 68, 0, 0, 5, 130, 0, 16, 0, 33, 0, 0, 0, 58, 0, 16, 0, 33, 0, 0, 0, 56, 0, 0, 7, 130, 0, 16, 0, 31, 0, 0, 0, 58, 0, 16, 0, 31, 0, 0, 0, 58, 0, 16, 0, 34, 0, 0, 0, 0, 0, 0, 7, 114, 0, 16, 0, 39, 0, 0, 0, 70, 2, 16, 0, 36, 0, 0, 0, 70, 2, 16, 0, 38, 0, 0, 0, 50, 0, 0, 9, 130, 0, 16, 0, 35, 0, 0, 0, 58, 0, 16, 0, 39, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 63, 58, 0, 16, 0, 36, 0, 0, 0, 56, 0, 0, 7, 130, 0, 16, 0, 35, 0, 0, 0, 58, 0, 16, 0, 33, 0, 0, 0, 58, 0, 16, 0, 35, 0, 0, 0, 56, 0, 0, 7, 130, 0, 16, 0, 35, 0, 0, 0, 58, 0, 16, 0, 31, 0, 0, 0, 58, 0, 16, 0, 35, 0, 0, 0, 56, 0, 0, 7, 114, 0, 16, 0, 40, 0, 0, 0, 246, 15, 16, 0, 34, 0, 0, 0, 70, 2, 16, 0, 40, 0, 0, 0, 56, 0, 0, 7, 130, 0, 16, 0, 33, 0, 0, 0, 58, 0, 16, 0, 33, 0, 0, 0, 58, 0, 16, 0, 40, 0, 0, 0, 50, 0, 0, 13, 114, 0, 16, 0, 39, 0, 0, 0, 70, 2, 16, 128, 65, 0, 0, 0, 39, 0, 0, 0, 2, 64, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 0, 70, 2, 16, 0, 27, 0, 0, 0, 16, 0, 0, 7, 130, 0, 16, 0, 36, 0, 0, 0, 70, 2, 16, 0, 39, 0, 0, 0, 70, 2, 16, 0, 40, 0, 0, 0, 50, 0, 0, 9, 130, 0, 16, 0, 35, 0, 0, 0, 58, 0, 16, 0, 36, 0, 0, 0, 58, 0, 16, 0, 33, 0, 0, 0, 58, 0, 16, 0, 35, 0, 0, 0, 52, 0, 0, 7, 130, 0, 16, 0, 35, 0, 0, 0, 58, 0, 16, 0, 35, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 16, 0, 0, 7, 130, 0, 16, 0, 37, 0, 0, 0, 70, 2, 16, 0, 39, 0, 0, 0, 70, 2, 16, 0, 39, 0, 0, 0, 50, 0, 0, 10, 130, 0, 16, 0, 37, 0, 0, 0, 58, 0, 16, 128, 65, 0, 0, 0, 36, 0, 0, 0, 58, 0, 16, 0, 36, 0, 0, 0, 58, 0, 16, 0, 37, 0, 0, 0, 56, 0, 0, 7, 130, 0, 16, 0, 38, 0, 0, 0, 58, 0, 16, 0, 35, 0, 0, 0, 58, 0, 16, 0, 35, 0, 0, 0, 49, 0, 0, 7, 130, 0, 16, 0, 38, 0, 0, 0, 58, 0, 16, 0, 38, 0, 0, 0, 58, 0, 16, 0, 37, 0, 0, 0, 31, 0, 4, 3, 58, 0, 16, 0, 38, 0, 0, 0, 30, 0, 0, 7, 130, 0, 16, 0, 38, 0, 0, 0, 58, 0, 16, 0, 28, 0, 0, 0, 1, 64, 0, 0, 1, 0, 0, 0, 54, 0, 0, 5, 130, 0, 16, 0, 28, 0, 0, 0, 58, 0, 16, 0, 38, 0, 0, 0, 7, 0, 0, 1, 21, 0, 0, 1, 56, 0, 0, 7, 130, 0, 16, 0, 34, 0, 0, 0, 58, 0, 16, 0, 34, 0, 0, 0, 58, 0, 16, 0, 40, 0, 0, 0, 50, 0, 0, 10, 130, 0, 16, 0, 34, 0, 0, 0, 58, 0, 16, 128, 65, 0, 0, 0, 34, 0, 0, 0, 58, 0, 16, 0, 34, 0, 0, 0, 1, 64, 0, 0, 0, 0, 128, 63, 52, 0, 0, 7, 130, 0, 16, 0, 37, 0, 0, 0, 58, 0, 16, 0, 37, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 52, 68, 0, 0, 5, 130, 0, 16, 0, 38, 0, 0, 0, 58, 0, 16, 0, 37, 0, 0, 0, 56, 0, 0, 7, 130, 0, 16, 0, 33, 0, 0, 0, 58, 0, 16, 0, 33, 0, 0, 0, 58, 0, 16, 0, 37, 0, 0, 0, 50, 0, 0, 9, 130, 0, 16, 0, 33, 0, 0, 0, 58, 0, 16, 0, 33, 0, 0, 0, 58, 0, 16, 0, 38, 0, 0, 0, 58, 0, 16, 0, 36, 0, 0, 0, 49, 0, 0, 8, 130, 0, 16, 0, 31, 0, 0, 0, 58, 0, 16, 128, 129, 0, 0, 0, 33, 0, 0, 0, 58, 0, 16, 0, 31, 0, 0, 0, 50, 0, 0, 10, 114, 0, 16, 0, 39, 0, 0, 0, 246, 15, 16, 128, 65, 0, 0, 0, 33, 0, 0, 0, 70, 2, 16, 0, 40, 0, 0, 0, 70, 2, 16, 0, 39, 0, 0, 0, 56, 0, 0, 7, 130, 0, 16, 0, 33, 0, 0, 0, 58, 0, 16, 0, 35, 0, 0, 0, 58, 0, 16, 0, 38, 0, 0, 0, 50, 0, 0, 10, 130, 0, 16, 0, 33, 0, 0, 0, 58, 0, 16, 0, 33, 0, 0, 0, 58, 0, 16, 0, 34, 0, 0, 0, 58, 0, 16, 128, 65, 0, 0, 0, 34, 0, 0, 0, 50, 0, 0, 9, 114, 0, 16, 0, 39, 0, 0, 0, 70, 2, 16, 0, 39, 0, 0, 0, 246, 15, 16, 0, 33, 0, 0, 0, 150, 7, 16, 0, 25, 0, 0, 0, 0, 0, 0, 8, 114, 0, 16, 0, 35, 0, 0, 0, 70, 2, 16, 128, 65, 0, 0, 0, 34, 0, 0, 0, 70, 2, 16, 0, 35, 0, 0, 0, 50, 0, 0, 9, 114, 0, 16, 0, 34, 0, 0, 0, 166, 10, 16, 0, 19, 0, 0, 0, 70, 2, 16, 0, 35, 0, 0, 0, 70, 2, 16, 0, 34, 0, 0, 0, 0, 0, 0, 8, 114, 0, 16, 0, 33, 0, 0, 0, 70, 2, 16, 128, 65, 0, 0, 0, 37, 0, 0, 0, 70, 2, 16, 0, 33, 0, 0, 0, 50, 0, 0, 9, 114, 0, 16, 0, 33, 0, 0, 0, 166, 10, 16, 0, 19, 0, 0, 0, 70, 2, 16, 0, 33, 0, 0, 0, 70, 2, 16, 0, 37, 0, 0, 0, 50, 0, 0, 9, 130, 0, 16, 0, 33, 0, 0, 0, 58, 0, 16, 0, 36, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 63, 1, 64, 0, 0, 0, 0, 0, 63, 0, 0, 0, 8, 114, 0, 16, 0, 34, 0, 0, 0, 70, 2, 16, 128, 65, 0, 0, 0, 34, 0, 0, 0, 70, 2, 16, 0, 36, 0, 0, 0, 0, 0, 0, 8, 114, 0, 16, 0, 33, 0, 0, 0, 70, 2, 16, 128, 65, 0, 0, 0, 33, 0, 0, 0, 70, 2, 16, 0, 38, 0, 0, 0, 0, 0, 0, 8, 114, 0, 16, 0, 33, 0, 0, 0, 70, 2, 16, 128, 65, 0, 0, 0, 34, 0, 0, 0, 70, 2, 16, 0, 33, 0, 0, 0, 50, 0, 0, 9, 114, 0, 16, 0, 33, 0, 0, 0, 246, 15, 16, 0, 33, 0, 0, 0, 70, 2, 16, 0, 33, 0, 0, 0, 70, 2, 16, 0, 34, 0, 0, 0, 0, 0, 0, 7, 114, 0, 16, 0, 33, 0, 0, 0, 70, 2, 16, 0, 30, 0, 0, 0, 70, 2, 16, 0, 33, 0, 0, 0, 55, 0, 0, 9, 114, 0, 16, 0, 33, 0, 0, 0, 86, 5, 16, 0, 21, 0, 0, 0, 70, 2, 16, 0, 33, 0, 0, 0, 70, 2, 16, 0, 30, 0, 0, 0, 30, 0, 0, 7, 130, 0, 16, 0, 33, 0, 0, 0, 58, 0, 16, 0, 30, 0, 0, 0, 1, 64, 0, 0, 1, 0, 0, 0, 55, 0, 0, 9, 226, 0, 16, 0, 25, 0, 0, 0, 246, 15, 16, 0, 31, 0, 0, 0, 6, 9, 16, 0, 39, 0, 0, 0, 86, 14, 16, 0, 25, 0, 0, 0, 55, 0, 0, 9, 242, 0, 16, 0, 30, 0, 0, 0, 246, 15, 16, 0, 31, 0, 0, 0, 70, 14, 16, 0, 33, 0, 0, 0, 70, 14, 16, 0, 30, 0, 0, 0, 30, 0, 0, 7, 130, 0, 16, 0, 28, 0, 0, 0, 58, 0, 16, 0, 28, 0, 0, 0, 1, 64, 0, 0, 1, 0, 0, 0, 22, 0, 0, 1, 165, 0, 0, 7, 130, 0, 16, 0, 28, 0, 0, 0, 1, 64, 0, 0, 60, 0, 0, 0, 6, 240, 17, 0, 0, 0, 0, 0, 54, 0, 0, 5, 114, 0, 16, 0, 33, 0, 0, 0, 150, 7, 16, 0, 25, 0, 0, 0, 54, 0, 0, 5, 242, 0, 16, 0, 34, 0, 0, 0, 70, 14, 16, 0, 30, 0, 0, 0, 54, 0, 0, 5, 130, 0, 16, 0, 31, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 48, 0, 0, 1, 80, 0, 0, 7, 130, 0, 16, 0, 33, 0, 0, 0, 58, 0, 16, 0, 31, 0, 0, 0, 58, 0, 16, 0, 28, 0, 0, 0, 3, 0, 4, 3, 58, 0, 16, 0, 33, 0, 0, 0, 30, 0, 0, 7, 50, 0, 16, 0, 35, 0, 0, 0, 230, 10, 16, 0, 20, 0, 0, 0, 246, 15, 16, 0, 31, 0, 0, 0, 167, 0, 0, 139, 2, 131, 0, 128, 131, 153, 25, 0, 242, 0, 16, 0, 36, 0, 0, 0, 10, 0, 16, 0, 35, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 70, 126, 16, 0, 7, 0, 0, 0, 167, 0, 0, 139, 2, 131, 0, 128, 131, 153, 25, 0, 242, 0, 16, 0, 35, 0, 0, 0, 26, 0, 16, 0, 35, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 70, 126, 16, 0, 7, 0, 0, 0, 0, 0, 0, 8, 242, 0, 16, 0, 35, 0, 0, 0, 70, 14, 16, 128, 65, 0, 0, 0, 36, 0, 0, 0, 70, 14, 16, 0, 35, 0, 0, 0, 50, 0, 0, 9, 242, 0, 16, 0, 37, 0, 0, 0, 86, 5, 16, 0, 19, 0, 0, 0, 70, 14, 16, 0, 35, 0, 0, 0, 70, 14, 16, 0, 36, 0, 0, 0, 52, 0, 0, 7, 130, 0, 16, 0, 33, 0, 0, 0, 58, 0, 16, 0, 37, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 114, 0, 16, 0, 38, 0, 0, 0, 70, 2, 16, 0, 27, 0, 0, 0, 70, 2, 16, 128, 65, 0, 0, 0, 37, 0, 0, 0, 16, 0, 0, 7, 130, 0, 16, 0, 35, 0, 0, 0, 70, 2, 16, 0, 38, 0, 0, 0, 70, 2, 16, 0, 38, 0, 0, 0, 0, 0, 0, 7, 130, 0, 16, 0, 35, 0, 0, 0, 58, 0, 16, 0, 35, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 52, 68, 0, 0, 5, 130, 0, 16, 0, 35, 0, 0, 0, 58, 0, 16, 0, 35, 0, 0, 0, 56, 0, 0, 7, 130, 0, 16, 0, 36, 0, 0, 0, 58, 0, 16, 0, 33, 0, 0, 0, 58, 0, 16, 0, 35, 0, 0, 0, 49, 0, 0, 7, 130, 0, 16, 0, 36, 0, 0, 0, 1, 64, 0, 0, 0, 0, 128, 63, 58, 0, 16, 0, 36, 0, 0, 0, 50, 0, 0, 9, 130, 0, 16, 0, 33, 0, 0, 0, 58, 0, 16, 0, 35, 0, 0, 0, 58, 0, 16, 0, 33, 0, 0, 0, 1, 64, 0, 0, 0, 0, 128, 191, 50, 0, 0, 9, 114, 0, 16, 0, 38, 0, 0, 0, 70, 2, 16, 0, 38, 0, 0, 0, 246, 15, 16, 0, 33, 0, 0, 0, 70, 2, 16, 0, 33, 0, 0, 0, 50, 0, 0, 9, 114, 0, 16, 0, 35, 0, 0, 0, 166, 10, 16, 0, 19, 0, 0, 0, 70, 2, 16, 0, 35, 0, 0, 0, 70, 2, 16, 0, 36, 0, 0, 0, 0, 0, 0, 8, 114, 0, 16, 0, 35, 0, 0, 0, 70, 2, 16, 128, 65, 0, 0, 0, 35, 0, 0, 0, 70, 2, 16, 0, 37, 0, 0, 0, 0, 0, 0, 7, 114, 0, 16, 0, 35, 0, 0, 0, 70, 2, 16, 0, 34, 0, 0, 0, 70, 2, 16, 0, 35, 0, 0, 0, 55, 0, 0, 9, 114, 0, 16, 0, 35, 0, 0, 0, 86, 5, 16, 0, 21, 0, 0, 0, 70, 2, 16, 0, 35, 0, 0, 0, 70, 2, 16, 0, 34, 0, 0, 0, 30, 0, 0, 7, 130, 0, 16, 0, 35, 0, 0, 0, 58, 0, 16, 0, 34, 0, 0, 0, 1, 64, 0, 0, 1, 0, 0, 0, 55, 0, 0, 9, 114, 0, 16, 0, 33, 0, 0, 0, 246, 15, 16, 0, 36, 0, 0, 0, 70, 2, 16, 0, 38, 0, 0, 0, 70, 2, 16, 0, 33, 0, 0, 0, 55, 0, 0, 9, 242, 0, 16, 0, 34, 0, 0, 0, 246, 15, 16, 0, 36, 0, 0, 0, 70, 14, 16, 0, 35, 0, 0, 0, 70, 14, 16, 0, 34, 0, 0, 0, 30, 0, 0, 7, 130, 0, 16, 0, 31, 0, 0, 0, 58, 0, 16, 0, 31, 0, 0, 0, 1, 64, 0, 0, 1, 0, 0, 0, 22, 0, 0, 1, 31, 0, 4, 3, 58, 0, 16, 0, 34, 0, 0, 0, 86, 0, 0, 5, 130, 0, 16, 0, 28, 0, 0, 0, 58, 0, 16, 0, 34, 0, 0, 0, 14, 0, 0, 10, 130, 0, 16, 0, 28, 0, 0, 0, 2, 64, 0, 0, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 58, 0, 16, 0, 28, 0, 0, 0, 31, 0, 4, 3, 10, 0, 16, 0, 20, 0, 0, 0, 30, 0, 0, 7, 130, 0, 16, 0, 31, 0, 0, 0, 10, 0, 16, 0, 0, 0, 0, 0, 58, 0, 16, 0, 22, 0, 0, 0, 41, 0, 0, 7, 130, 0, 16, 0, 31, 0, 0, 0, 58, 0, 16, 0, 31, 0, 0, 0, 1, 64, 0, 0, 4, 0, 0, 0, 165, 0, 0, 137, 194, 2, 0, 128, 131, 153, 25, 0, 242, 0, 16, 0, 35, 0, 0, 0, 58, 0, 16, 0, 31, 0, 0, 0, 70, 238, 17, 0, 0, 0, 0, 0, 165, 0, 0, 7, 130, 0, 16, 0, 33, 0, 0, 0, 1, 64, 0, 0, 92, 0, 0, 0, 6, 240, 17, 0, 0, 0, 0, 0, 16, 0, 0, 7, 18, 0, 16, 0, 36, 0, 0, 0, 70, 2, 16, 0, 33, 0, 0, 0, 70, 2, 16, 0, 33, 0, 0, 0, 0, 0, 0, 7, 34, 0, 16, 0, 36, 0, 0, 0, 10, 0, 16, 0, 36, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 52, 68, 0, 0, 5, 34, 0, 16, 0, 36, 0, 0, 0, 26, 0, 16, 0, 36, 0, 0, 0, 56, 0, 0, 7, 114, 0, 16, 0, 37, 0, 0, 0, 70, 2, 16, 0, 33, 0, 0, 0, 86, 5, 16, 0, 36, 0, 0, 0, 0, 0, 0, 8, 114, 0, 16, 0, 38, 0, 0, 0, 70, 2, 16, 0, 27, 0, 0, 0, 70, 2, 16, 128, 65, 0, 0, 0, 35, 0, 0, 0, 50, 0, 0, 10, 114, 0, 16, 0, 38, 0, 0, 0, 70, 2, 16, 128, 65, 0, 0, 0, 34, 0, 0, 0, 246, 15, 16, 0, 28, 0, 0, 0, 70, 2, 16, 0, 38, 0, 0, 0, 16, 0, 0, 7, 66, 0, 16, 0, 36, 0, 0, 0, 70, 2, 16, 0, 38, 0, 0, 0, 70, 2, 16, 0, 37, 0, 0, 0, 50, 0, 0, 10, 114, 0, 16, 0, 37, 0, 0, 0, 166, 10, 16, 128, 65, 0, 0, 0, 36, 0, 0, 0, 70, 2, 16, 0, 37, 0, 0, 0, 70, 2, 16, 0, 38, 0, 0, 0, 16, 0, 0, 7, 66, 0, 16, 0, 36, 0, 0, 0, 70, 2, 16, 0, 37, 0, 0, 0, 70, 2, 16, 0, 37, 0, 0, 0, 0, 0, 0, 7, 66, 0, 16, 0, 36, 0, 0, 0, 42, 0, 16, 0, 36, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 52, 68, 0, 0, 5, 66, 0, 16, 0, 36, 0, 0, 0, 42, 0, 16, 0, 36, 0, 0, 0, 56, 0, 0, 8, 130, 0, 16, 0, 33, 0, 0, 0, 58, 0, 16, 128, 65, 0, 0, 0, 33, 0, 0, 0, 10, 0, 16, 0, 36, 0, 0, 0, 56, 0, 0, 7, 130, 0, 16, 0, 33, 0, 0, 0, 26, 0, 16, 0, 36, 0, 0, 0, 58, 0, 16, 0, 33, 0, 0, 0, 56, 0, 0, 7, 130, 0, 16, 0, 33, 0, 0, 0, 58, 0, 16, 0, 28, 0, 0, 0, 58, 0, 16, 0, 33, 0, 0, 0, 56, 0, 0, 7, 130, 0, 16, 0, 33, 0, 0, 0, 42, 0, 16, 0, 36, 0, 0, 0, 58, 0, 16, 0, 33, 0, 0, 0, 52, 0, 0, 7, 130, 0, 16, 0, 33, 0, 0, 0, 58, 0, 16, 0, 33, 0, 0, 0, 1, 64, 0, 0, 0, 0, 128, 191, 50, 0, 0, 10, 114, 0, 16, 0, 35, 0, 0, 0, 70, 2, 16, 128, 65, 0, 0, 0, 37, 0, 0, 0, 246, 15, 16, 0, 33, 0, 0, 0, 70, 2, 16, 0, 35, 0, 0, 0, 166, 0, 0, 7, 242, 224, 17, 0, 0, 0, 0, 0, 58, 0, 16, 0, 31, 0, 0, 0, 70, 14, 16, 0, 35, 0, 0, 0, 21, 0, 0, 1, 50, 0, 0, 9, 114, 0, 16, 0, 35, 0, 0, 0, 70, 2, 16, 0, 33, 0, 0, 0, 246, 15, 16, 0, 28, 0, 0, 0, 70, 2, 16, 0, 27, 0, 0, 0, 16, 0, 0, 7, 18, 0, 16, 0, 27, 0, 0, 0, 70, 2, 16, 0, 33, 0, 0, 0, 70, 2, 16, 0, 33, 0, 0, 0, 165, 0, 0, 7, 34, 0, 16, 0, 27, 0, 0, 0, 1, 64, 0, 0, 88, 0, 0, 0, 6, 240, 17, 0, 0, 0, 0, 0, 50, 0, 0, 9, 18, 0, 16, 0, 27, 0, 0, 0, 26, 0, 16, 0, 27, 0, 0, 0, 10, 0, 16, 0, 27, 0, 0, 0, 1, 64, 0, 0, 0, 0, 128, 63, 14, 0, 0, 7, 18, 0, 16, 0, 27, 0, 0, 0, 58, 0, 16, 0, 27, 0, 0, 0, 10, 0, 16, 0, 27, 0, 0, 0, 55, 0, 0, 9, 130, 0, 16, 0, 35, 0, 0, 0, 26, 0, 16, 0, 20, 0, 0, 0, 10, 0, 16, 0, 27, 0, 0, 0, 58, 0, 16, 0, 27, 0, 0, 0, 166, 0, 0, 7, 242, 224, 17, 0, 0, 0, 0, 0, 58, 0, 16, 0, 23, 0, 0, 0, 70, 14, 16, 0, 35, 0, 0, 0, 21, 0, 0, 1, 30, 0, 0, 7, 130, 0, 16, 0, 22, 0, 0, 0, 58, 0, 16, 0, 22, 0, 0, 0, 1, 64, 0, 0, 0, 4, 0, 0, 22, 0, 0, 1, 21, 0, 0, 1, 165, 0, 0, 7, 130, 0, 16, 0, 19, 0, 0, 0, 1, 64, 0, 0, 80, 0, 0, 0, 6, 240, 17, 0, 0, 0, 0, 0, 31, 0, 4, 3, 58, 0, 16, 0, 19, 0, 0, 0, 165, 0, 0, 7, 50, 0, 16, 0, 20, 0, 0, 0, 1, 64, 0, 0, 88, 0, 0, 0, 70, 240, 17, 0, 0, 0, 0, 0, 49, 0, 0, 10, 50, 0, 16, 0, 20, 0, 0, 0, 2, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 22, 5, 16, 0, 20, 0, 0, 0, 54, 0, 0, 8, 194, 0, 16, 0, 20, 0, 0, 0, 2, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 0, 0, 1, 80, 0, 0, 7, 18, 0, 16, 0, 21, 0, 0, 0, 58, 0, 16, 0, 20, 0, 0, 0, 58, 0, 16, 0, 19, 0, 0, 0, 3, 0, 4, 3, 10, 0, 16, 0, 21, 0, 0, 0, 190, 24, 0, 1, 30, 0, 0, 7, 18, 0, 16, 0, 21, 0, 0, 0, 10, 0, 16, 0, 5, 0, 0, 0, 42, 0, 16, 0, 20, 0, 0, 0, 167, 0, 0, 139, 2, 35, 0, 128, 131, 153, 25, 0, 34, 0, 16, 0, 21, 0, 0, 0, 58, 0, 16, 0, 20, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 112, 16, 0, 18, 0, 0, 0, 41, 0, 0, 7, 34, 0, 16, 0, 21, 0, 0, 0, 26, 0, 16, 0, 21, 0, 0, 0, 1, 64, 0, 0, 2, 0, 0, 0, 30, 0, 0, 7, 66, 0, 16, 0, 20, 0, 0, 0, 42, 0, 16, 0, 20, 0, 0, 0, 26, 0, 16, 0, 21, 0, 0, 0, 165, 0, 0, 7, 98, 0, 16, 0, 21, 0, 0, 0, 1, 64, 0, 0, 96, 0, 0, 0, 6, 241, 17, 0, 1, 0, 0, 0, 165, 0, 0, 7, 130, 0, 16, 0, 21, 0, 0, 0, 1, 64, 0, 0, 92, 0, 0, 0, 6, 240, 17, 0, 0, 0, 0, 0, 49, 0, 0, 7, 130, 0, 16, 0, 22, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 58, 0, 16, 0, 21, 0, 0, 0, 165, 0, 0, 7, 50, 0, 16, 0, 27, 0, 0, 0, 1, 64, 0, 0, 52, 0, 0, 0, 70, 240, 17, 0, 0, 0, 0, 0, 54, 0, 0, 5, 130, 0, 16, 0, 23, 0, 0, 0, 10, 0, 16, 0, 21, 0, 0, 0, 48, 0, 0, 1, 80, 0, 0, 7, 66, 0, 16, 0, 27, 0, 0, 0, 58, 0, 16, 0, 23, 0, 0, 0, 42, 0, 16, 0, 20, 0, 0, 0, 3, 0, 4, 3, 42, 0, 16, 0, 27, 0, 0, 0, 85, 0, 0, 7, 66, 0, 16, 0, 27, 0, 0, 0, 58, 0, 16, 0, 23, 0, 0, 0, 1, 64, 0, 0, 1, 0, 0, 0, 167, 0, 0, 139, 2, 131, 0, 128, 131, 153, 25, 0, 242, 0, 16, 0, 35, 0, 0, 0, 42, 0, 16, 0, 27, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 70, 126, 16, 0, 19, 0, 0, 0, 1, 0, 0, 7, 66, 0, 16, 0, 27, 0, 0, 0, 58, 0, 16, 0, 23, 0, 0, 0, 1, 64, 0, 0, 1, 0, 0, 0, 1, 0, 0, 10, 242, 0, 16, 0, 36, 0, 0, 0, 230, 4, 16, 0, 35, 0, 0, 0, 2, 64, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 85, 0, 0, 10, 242, 0, 16, 0, 35, 0, 0, 0, 38, 7, 16, 0, 35, 0, 0, 0, 2, 64, 0, 0, 16, 0, 0, 0, 16, 0, 0, 0, 16, 0, 0, 0, 16, 0, 0, 0, 54, 0, 0, 5, 82, 0, 16, 0, 37, 0, 0, 0, 6, 1, 16, 0, 36, 0, 0, 0, 54, 0, 0, 5, 162, 0, 16, 0, 37, 0, 0, 0, 6, 8, 16, 0, 35, 0, 0, 0, 54, 0, 0, 5, 82, 0, 16, 0, 35, 0, 0, 0, 166, 11, 16, 0, 36, 0, 0, 0, 55, 0, 0, 9, 242, 0, 16, 0, 35, 0, 0, 0, 166, 10, 16, 0, 27, 0, 0, 0, 70, 14, 16, 0, 37, 0, 0, 0, 70, 14, 16, 0, 35, 0, 0, 0, 167, 0, 0, 139, 2, 131, 0, 128, 131, 153, 25, 0, 242, 0, 16, 0, 36, 0, 0, 0, 58, 0, 16, 0, 35, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 70, 126, 16, 0, 20, 0, 0, 0, 30, 0, 0, 7, 114, 0, 16, 0, 37, 0, 0, 0, 86, 5, 16, 0, 0, 0, 0, 0, 70, 2, 16, 0, 35, 0, 0, 0, 41, 0, 0, 10, 114, 0, 16, 0, 37, 0, 0, 0, 70, 2, 16, 0, 37, 0, 0, 0, 2, 64, 0, 0, 4, 0, 0, 0, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 165, 0, 0, 137, 194, 2, 0, 128, 131, 153, 25, 0, 114, 0, 16, 0, 38, 0, 0, 0, 10, 0, 16, 0, 37, 0, 0, 0, 70, 226, 17, 0, 0, 0, 0, 0, 165, 0, 0, 137, 194, 2, 0, 128, 131, 153, 25, 0, 114, 0, 16, 0, 39, 0, 0, 0, 26, 0, 16, 0, 37, 0, 0, 0, 70, 226, 17, 0, 0, 0, 0, 0, 165, 0, 0, 137, 194, 2, 0, 128, 131, 153, 25, 0, 114, 0, 16, 0, 40, 0, 0, 0, 42, 0, 16, 0, 37, 0, 0, 0, 70, 226, 17, 0, 0, 0, 0, 0, 56, 0, 0, 7, 114, 0, 16, 0, 39, 0, 0, 0, 86, 5, 16, 0, 36, 0, 0, 0, 70, 2, 16, 0, 39, 0, 0, 0, 50, 0, 0, 9, 114, 0, 16, 0, 38, 0, 0, 0, 70, 2, 16, 0, 38, 0, 0, 0, 6, 0, 16, 0, 36, 0, 0, 0, 70, 2, 16, 0, 39, 0, 0, 0, 50, 0, 0, 9, 114, 0, 16, 0, 38, 0, 0, 0, 70, 2, 16, 0, 40, 0, 0, 0, 166, 10, 16, 0, 36, 0, 0, 0, 70, 2, 16, 0, 38, 0, 0, 0, 54, 0, 0, 8, 114, 0, 16, 0, 39, 0, 0, 0, 2, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 54, 0, 0, 8, 242, 0, 16, 0, 40, 0, 0, 0, 2, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 54, 0, 0, 5, 66, 0, 16, 0, 27, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 48, 0, 0, 1, 80, 0, 0, 7, 130, 0, 16, 0, 27, 0, 0, 0, 42, 0, 16, 0, 27, 0, 0, 0, 10, 0, 16, 0, 27, 0, 0, 0, 3, 0, 4, 3, 58, 0, 16, 0, 27, 0, 0, 0, 30, 0, 0, 7, 130, 0, 16, 0, 27, 0, 0, 0, 42, 0, 16, 0, 27, 0, 0, 0, 26, 0, 16, 0, 27, 0, 0, 0, 167, 0, 0, 139, 2, 67, 0, 128, 131, 153, 25, 0, 50, 0, 16, 0, 41, 0, 0, 0, 58, 0, 16, 0, 27, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 70, 112, 16, 0, 6, 0, 0, 0, 30, 0, 0, 7, 242, 0, 16, 0, 41, 0, 0, 0, 150, 9, 16, 0, 21, 0, 0, 0, 6, 5, 16, 0, 41, 0, 0, 0, 167, 0, 0, 139, 2, 131, 0, 128, 131, 153, 25, 0, 242, 0, 16, 0, 42, 0, 0, 0, 10, 0, 16, 0, 41, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 70, 126, 16, 0, 7, 0, 0, 0, 167, 0, 0, 139, 2, 131, 0, 128, 131, 153, 25, 0, 242, 0, 16, 0, 43, 0, 0, 0, 26, 0, 16, 0, 41, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 70, 126, 16, 0, 7, 0, 0, 0, 0, 0, 0, 8, 242, 0, 16, 0, 44, 0, 0, 0, 70, 14, 16, 128, 65, 0, 0, 0, 42, 0, 0, 0, 70, 14, 16, 0, 43, 0, 0, 0, 50, 0, 0, 9, 242, 0, 16, 0, 44, 0, 0, 0, 86, 5, 16, 0, 19, 0, 0, 0, 70, 14, 16, 0, 44, 0, 0, 0, 70, 14, 16, 0, 42, 0, 0, 0, 167, 0, 0, 139, 2, 131, 0, 128, 131, 153, 25, 0, 242, 0, 16, 0, 45, 0, 0, 0, 42, 0, 16, 0, 41, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 70, 126, 16, 0, 7, 0, 0, 0, 167, 0, 0, 139, 2, 131, 0, 128, 131, 153, 25, 0, 242, 0, 16, 0, 41, 0, 0, 0, 58, 0, 16, 0, 41, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 70, 126, 16, 0, 7, 0, 0, 0, 0, 0, 0, 8, 242, 0, 16, 0, 46, 0, 0, 0, 70, 14, 16, 128, 65, 0, 0, 0, 45, 0, 0, 0, 70, 14, 16, 0, 41, 0, 0, 0, 50, 0, 0, 9, 242, 0, 16, 0, 46, 0, 0, 0, 86, 5, 16, 0, 19, 0, 0, 0, 70, 14, 16, 0, 46, 0, 0, 0, 70, 14, 16, 0, 45, 0, 0, 0, 52, 0, 0, 7, 130, 0, 16, 0, 44, 0, 0, 0, 58, 0, 16, 0, 44, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 52, 0, 0, 7, 130, 0, 16, 0, 46, 0, 0, 0, 58, 0, 16, 0, 46, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 242, 0, 16, 0, 47, 0, 0, 0, 70, 14, 16, 128, 65, 0, 0, 0, 44, 0, 0, 0, 70, 14, 16, 0, 46, 0, 0, 0, 56, 0, 0, 10, 242, 0, 16, 0, 48, 0, 0, 0, 70, 14, 16, 0, 47, 0, 0, 0, 2, 64, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 16, 0, 0, 7, 130, 0, 16, 0, 27, 0, 0, 0, 70, 2, 16, 0, 48, 0, 0, 0, 70, 2, 16, 0, 48, 0, 0, 0, 50, 0, 0, 10, 130, 0, 16, 0, 28, 0, 0, 0, 58, 0, 16, 128, 65, 0, 0, 0, 48, 0, 0, 0, 58, 0, 16, 0, 48, 0, 0, 0, 58, 0, 16, 0, 27, 0, 0, 0, 29, 0, 0, 7, 130, 0, 16, 0, 31, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 58, 0, 16, 0, 28, 0, 0, 0, 31, 0, 4, 3, 58, 0, 16, 0, 31, 0, 0, 0, 30, 0, 0, 7, 130, 0, 16, 0, 31, 0, 0, 0, 42, 0, 16, 0, 27, 0, 0, 0, 1, 64, 0, 0, 1, 0, 0, 0, 54, 0, 0, 5, 66, 0, 16, 0, 27, 0, 0, 0, 58, 0, 16, 0, 31, 0, 0, 0, 7, 0, 0, 1, 21, 0, 0, 1, 68, 0, 0, 5, 130, 0, 16, 0, 31, 0, 0, 0, 58, 0, 16, 0, 27, 0, 0, 0, 68, 0, 0, 5, 130, 0, 16, 0, 28, 0, 0, 0, 58, 0, 16, 0, 28, 0, 0, 0, 56, 0, 0, 7, 130, 0, 16, 0, 27, 0, 0, 0, 58, 0, 16, 0, 27, 0, 0, 0, 58, 0, 16, 0, 31, 0, 0, 0, 0, 0, 0, 7, 114, 0, 16, 0, 47, 0, 0, 0, 70, 2, 16, 0, 44, 0, 0, 0, 70, 2, 16, 0, 46, 0, 0, 0, 50, 0, 0, 9, 130, 0, 16, 0, 33, 0, 0, 0, 58, 0, 16, 0, 47, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 63, 58, 0, 16, 0, 44, 0, 0, 0, 56, 0, 0, 7, 130, 0, 16, 0, 33, 0, 0, 0, 58, 0, 16, 0, 28, 0, 0, 0, 58, 0, 16, 0, 33, 0, 0, 0, 56, 0, 0, 7, 130, 0, 16, 0, 33, 0, 0, 0, 58, 0, 16, 0, 27, 0, 0, 0, 58, 0, 16, 0, 33, 0, 0, 0, 56, 0, 0, 7, 114, 0, 16, 0, 48, 0, 0, 0, 246, 15, 16, 0, 31, 0, 0, 0, 70, 2, 16, 0, 48, 0, 0, 0, 56, 0, 0, 7, 130, 0, 16, 0, 28, 0, 0, 0, 58, 0, 16, 0, 28, 0, 0, 0, 58, 0, 16, 0, 48, 0, 0, 0, 50, 0, 0, 13, 114, 0, 16, 0, 47, 0, 0, 0, 70, 2, 16, 128, 65, 0, 0, 0, 47, 0, 0, 0, 2, 64, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 0, 70, 2, 16, 0, 38, 0, 0, 0, 16, 0, 0, 7, 130, 0, 16, 0, 35, 0, 0, 0, 70, 2, 16, 0, 47, 0, 0, 0, 70, 2, 16, 0, 48, 0, 0, 0, 50, 0, 0, 9, 130, 0, 16, 0, 33, 0, 0, 0, 58, 0, 16, 0, 35, 0, 0, 0, 58, 0, 16, 0, 28, 0, 0, 0, 58, 0, 16, 0, 33, 0, 0, 0, 52, 0, 0, 7, 130, 0, 16, 0, 33, 0, 0, 0, 58, 0, 16, 0, 33, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 16, 0, 0, 7, 130, 0, 16, 0, 37, 0, 0, 0, 70, 2, 16, 0, 47, 0, 0, 0, 70, 2, 16, 0, 47, 0, 0, 0, 50, 0, 0, 10, 130, 0, 16, 0, 37, 0, 0, 0, 58, 0, 16, 128, 65, 0, 0, 0, 35, 0, 0, 0, 58, 0, 16, 0, 35, 0, 0, 0, 58, 0, 16, 0, 37, 0, 0, 0, 56, 0, 0, 7, 130, 0, 16, 0, 38, 0, 0, 0, 58, 0, 16, 0, 33, 0, 0, 0, 58, 0, 16, 0, 33, 0, 0, 0, 49, 0, 0, 7, 130, 0, 16, 0, 38, 0, 0, 0, 58, 0, 16, 0, 38, 0, 0, 0, 58, 0, 16, 0, 37, 0, 0, 0, 31, 0, 4, 3, 58, 0, 16, 0, 38, 0, 0, 0, 30, 0, 0, 7, 130, 0, 16, 0, 38, 0, 0, 0, 42, 0, 16, 0, 27, 0, 0, 0, 1, 64, 0, 0, 1, 0, 0, 0, 54, 0, 0, 5, 66, 0, 16, 0, 27, 0, 0, 0, 58, 0, 16, 0, 38, 0, 0, 0, 7, 0, 0, 1, 21, 0, 0, 1, 56, 0, 0, 7, 130, 0, 16, 0, 31, 0, 0, 0, 58, 0, 16, 0, 31, 0, 0, 0, 58, 0, 16, 0, 48, 0, 0, 0, 50, 0, 0, 10, 130, 0, 16, 0, 31, 0, 0, 0, 58, 0, 16, 128, 65, 0, 0, 0, 31, 0, 0, 0, 58, 0, 16, 0, 31, 0, 0, 0, 1, 64, 0, 0, 0, 0, 128, 63, 52, 0, 0, 7, 130, 0, 16, 0, 37, 0, 0, 0, 58, 0, 16, 0, 37, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 52, 68, 0, 0, 5, 130, 0, 16, 0, 38, 0, 0, 0, 58, 0, 16, 0, 37, 0, 0, 0, 56, 0, 0, 7, 130, 0, 16, 0, 28, 0, 0, 0, 58, 0, 16, 0, 28, 0, 0, 0, 58, 0, 16, 0, 37, 0, 0, 0, 50, 0, 0, 9, 130, 0, 16, 0, 28, 0, 0, 0, 58, 0, 16, 0, 28, 0, 0, 0, 58, 0, 16, 0, 38, 0, 0, 0, 58, 0, 16, 0, 35, 0, 0, 0, 49, 0, 0, 8, 130, 0, 16, 0, 27, 0, 0, 0, 58, 0, 16, 128, 129, 0, 0, 0, 28, 0, 0, 0, 58, 0, 16, 0, 27, 0, 0, 0, 50, 0, 0, 10, 114, 0, 16, 0, 47, 0, 0, 0, 246, 15, 16, 128, 65, 0, 0, 0, 28, 0, 0, 0, 70, 2, 16, 0, 48, 0, 0, 0, 70, 2, 16, 0, 47, 0, 0, 0, 56, 0, 0, 7, 130, 0, 16, 0, 28, 0, 0, 0, 58, 0, 16, 0, 33, 0, 0, 0, 58, 0, 16, 0, 38, 0, 0, 0, 50, 0, 0, 10, 130, 0, 16, 0, 28, 0, 0, 0, 58, 0, 16, 0, 28, 0, 0, 0, 58, 0, 16, 0, 31, 0, 0, 0, 58, 0, 16, 128, 65, 0, 0, 0, 31, 0, 0, 0, 50, 0, 0, 9, 114, 0, 16, 0, 47, 0, 0, 0, 70, 2, 16, 0, 47, 0, 0, 0, 246, 15, 16, 0, 28, 0, 0, 0, 70, 2, 16, 0, 39, 0, 0, 0, 0, 0, 0, 8, 114, 0, 16, 0, 43, 0, 0, 0, 70, 2, 16, 128, 65, 0, 0, 0, 42, 0, 0, 0, 70, 2, 16, 0, 43, 0, 0, 0, 50, 0, 0, 9, 114, 0, 16, 0, 42, 0, 0, 0, 166, 10, 16, 0, 19, 0, 0, 0, 70, 2, 16, 0, 43, 0, 0, 0, 70, 2, 16, 0, 42, 0, 0, 0, 0, 0, 0, 8, 114, 0, 16, 0, 41, 0, 0, 0, 70, 2, 16, 128, 65, 0, 0, 0, 45, 0, 0, 0, 70, 2, 16, 0, 41, 0, 0, 0, 50, 0, 0, 9, 114, 0, 16, 0, 41, 0, 0, 0, 166, 10, 16, 0, 19, 0, 0, 0, 70, 2, 16, 0, 41, 0, 0, 0, 70, 2, 16, 0, 45, 0, 0, 0, 50, 0, 0, 9, 130, 0, 16, 0, 28, 0, 0, 0, 58, 0, 16, 0, 35, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 63, 1, 64, 0, 0, 0, 0, 0, 63, 0, 0, 0, 8, 114, 0, 16, 0, 42, 0, 0, 0, 70, 2, 16, 128, 65, 0, 0, 0, 42, 0, 0, 0, 70, 2, 16, 0, 44, 0, 0, 0, 0, 0, 0, 8, 114, 0, 16, 0, 41, 0, 0, 0, 70, 2, 16, 128, 65, 0, 0, 0, 41, 0, 0, 0, 70, 2, 16, 0, 46, 0, 0, 0, 0, 0, 0, 8, 114, 0, 16, 0, 41, 0, 0, 0, 70, 2, 16, 128, 65, 0, 0, 0, 42, 0, 0, 0, 70, 2, 16, 0, 41, 0, 0, 0, 50, 0, 0, 9, 114, 0, 16, 0, 41, 0, 0, 0, 246, 15, 16, 0, 28, 0, 0, 0, 70, 2, 16, 0, 41, 0, 0, 0, 70, 2, 16, 0, 42, 0, 0, 0, 0, 0, 0, 7, 114, 0, 16, 0, 41, 0, 0, 0, 70, 2, 16, 0, 40, 0, 0, 0, 70, 2, 16, 0, 41, 0, 0, 0, 55, 0, 0, 9, 114, 0, 16, 0, 41, 0, 0, 0, 246, 15, 16, 0, 22, 0, 0, 0, 70, 2, 16, 0, 41, 0, 0, 0, 70, 2, 16, 0, 40, 0, 0, 0, 30, 0, 0, 7, 130, 0, 16, 0, 41, 0, 0, 0, 58, 0, 16, 0, 40, 0, 0, 0, 1, 64, 0, 0, 1, 0, 0, 0, 55, 0, 0, 9, 114, 0, 16, 0, 39, 0, 0, 0, 246, 15, 16, 0, 27, 0, 0, 0, 70, 2, 16, 0, 47, 0, 0, 0, 70, 2, 16, 0, 39, 0, 0, 0, 55, 0, 0, 9, 242, 0, 16, 0, 40, 0, 0, 0, 246, 15, 16, 0, 27, 0, 0, 0, 70, 14, 16, 0, 41, 0, 0, 0, 70, 14, 16, 0, 40, 0, 0, 0, 30, 0, 0, 7, 66, 0, 16, 0, 27, 0, 0, 0, 42, 0, 16, 0, 27, 0, 0, 0, 1, 64, 0, 0, 1, 0, 0, 0, 22, 0, 0, 1, 165, 0, 0, 7, 66, 0, 16, 0, 27, 0, 0, 0, 1, 64, 0, 0, 60, 0, 0, 0, 6, 240, 17, 0, 0, 0, 0, 0, 54, 0, 0, 5, 114, 0, 16, 0, 41, 0, 0, 0, 70, 2, 16, 0, 39, 0, 0, 0, 54, 0, 0, 5, 242, 0, 16, 0, 42, 0, 0, 0, 70, 14, 16, 0, 40, 0, 0, 0, 54, 0, 0, 5, 130, 0, 16, 0, 27, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 48, 0, 0, 1, 80, 0, 0, 7, 130, 0, 16, 0, 28, 0, 0, 0, 58, 0, 16, 0, 27, 0, 0, 0, 42, 0, 16, 0, 27, 0, 0, 0, 3, 0, 4, 3, 58, 0, 16, 0, 28, 0, 0, 0, 30, 0, 0, 7, 50, 0, 16, 0, 43, 0, 0, 0, 150, 5, 16, 0, 21, 0, 0, 0, 246, 15, 16, 0, 27, 0, 0, 0, 167, 0, 0, 139, 2, 131, 0, 128, 131, 153, 25, 0, 242, 0, 16, 0, 44, 0, 0, 0, 10, 0, 16, 0, 43, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 70, 126, 16, 0, 7, 0, 0, 0, 167, 0, 0, 139, 2, 131, 0, 128, 131, 153, 25, 0, 242, 0, 16, 0, 43, 0, 0, 0, 26, 0, 16, 0, 43, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 70, 126, 16, 0, 7, 0, 0, 0, 0, 0, 0, 8, 242, 0, 16, 0, 43, 0, 0, 0, 70, 14, 16, 128, 65, 0, 0, 0, 44, 0, 0, 0, 70, 14, 16, 0, 43, 0, 0, 0, 50, 0, 0, 9, 242, 0, 16, 0, 45, 0, 0, 0, 86, 5, 16, 0, 19, 0, 0, 0, 70, 14, 16, 0, 43, 0, 0, 0, 70, 14, 16, 0, 44, 0, 0, 0, 52, 0, 0, 7, 130, 0, 16, 0, 28, 0, 0, 0, 58, 0, 16, 0, 45, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 114, 0, 16, 0, 46, 0, 0, 0, 70, 2, 16, 0, 38, 0, 0, 0, 70, 2, 16, 128, 65, 0, 0, 0, 45, 0, 0, 0, 16, 0, 0, 7, 130, 0, 16, 0, 31, 0, 0, 0, 70, 2, 16, 0, 46, 0, 0, 0, 70, 2, 16, 0, 46, 0, 0, 0, 0, 0, 0, 7, 130, 0, 16, 0, 31, 0, 0, 0, 58, 0, 16, 0, 31, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 52, 68, 0, 0, 5, 130, 0, 16, 0, 31, 0, 0, 0, 58, 0, 16, 0, 31, 0, 0, 0, 56, 0, 0, 7, 130, 0, 16, 0, 33, 0, 0, 0, 58, 0, 16, 0, 28, 0, 0, 0, 58, 0, 16, 0, 31, 0, 0, 0, 49, 0, 0, 7, 130, 0, 16, 0, 33, 0, 0, 0, 1, 64, 0, 0, 0, 0, 128, 63, 58, 0, 16, 0, 33, 0, 0, 0, 50, 0, 0, 9, 130, 0, 16, 0, 28, 0, 0, 0, 58, 0, 16, 0, 31, 0, 0, 0, 58, 0, 16, 0, 28, 0, 0, 0, 1, 64, 0, 0, 0, 0, 128, 191, 50, 0, 0, 9, 114, 0, 16, 0, 46, 0, 0, 0, 70, 2, 16, 0, 46, 0, 0, 0, 246, 15, 16, 0, 28, 0, 0, 0, 70, 2, 16, 0, 41, 0, 0, 0, 50, 0, 0, 9, 114, 0, 16, 0, 43, 0, 0, 0, 166, 10, 16, 0, 19, 0, 0, 0, 70, 2, 16, 0, 43, 0, 0, 0, 70, 2, 16, 0, 44, 0, 0, 0, 0, 0, 0, 8, 114, 0, 16, 0, 43, 0, 0, 0, 70, 2, 16, 128, 65, 0, 0, 0, 43, 0, 0, 0, 70, 2, 16, 0, 45, 0, 0, 0, 0, 0, 0, 7, 114, 0, 16, 0, 43, 0, 0, 0, 70, 2, 16, 0, 42, 0, 0, 0, 70, 2, 16, 0, 43, 0, 0, 0, 55, 0, 0, 9, 114, 0, 16, 0, 43, 0, 0, 0, 246, 15, 16, 0, 22, 0, 0, 0, 70, 2, 16, 0, 43, 0, 0, 0, 70, 2, 16, 0, 42, 0, 0, 0, 30, 0, 0, 7, 130, 0, 16, 0, 43, 0, 0, 0, 58, 0, 16, 0, 42, 0, 0, 0, 1, 64, 0, 0, 1, 0, 0, 0, 55, 0, 0, 9, 114, 0, 16, 0, 41, 0, 0, 0, 246, 15, 16, 0, 33, 0, 0, 0, 70, 2, 16, 0, 46, 0, 0, 0, 70, 2, 16, 0, 41, 0, 0, 0, 55, 0, 0, 9, 242, 0, 16, 0, 42, 0, 0, 0, 246, 15, 16, 0, 33, 0, 0, 0, 70, 14, 16, 0, 43, 0, 0, 0, 70, 14, 16, 0, 42, 0, 0, 0, 30, 0, 0, 7, 130, 0, 16, 0, 27, 0, 0, 0, 58, 0, 16, 0, 27, 0, 0, 0, 1, 64, 0, 0, 1, 0, 0, 0, 22, 0, 0, 1, 31, 0, 4, 3, 58, 0, 16, 0, 42, 0, 0, 0, 86, 0, 0, 5, 66, 0, 16, 0, 27, 0, 0, 0, 58, 0, 16, 0, 42, 0, 0, 0, 14, 0, 0, 10, 66, 0, 16, 0, 27, 0, 0, 0, 2, 64, 0, 0, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 42, 0, 16, 0, 27, 0, 0, 0, 165, 0, 0, 137, 194, 2, 0, 128, 131, 153, 25, 0, 242, 0, 16, 0, 43, 0, 0, 0, 10, 0, 16, 0, 37, 0, 0, 0, 70, 238, 17, 0, 0, 0, 0, 0, 165, 0, 0, 137, 194, 2, 0, 128, 131, 153, 25, 0, 242, 0, 16, 0, 44, 0, 0, 0, 26, 0, 16, 0, 37, 0, 0, 0, 70, 238, 17, 0, 0, 0, 0, 0, 165, 0, 0, 137, 194, 2, 0, 128, 131, 153, 25, 0, 242, 0, 16, 0, 45, 0, 0, 0, 42, 0, 16, 0, 37, 0, 0, 0, 70, 238, 17, 0, 0, 0, 0, 0, 56, 0, 0, 7, 114, 0, 16, 0, 46, 0, 0, 0, 166, 10, 16, 0, 27, 0, 0, 0, 70, 2, 16, 0, 41, 0, 0, 0, 57, 0, 0, 7, 130, 0, 16, 0, 27, 0, 0, 0, 58, 0, 16, 0, 43, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 31, 0, 4, 3, 58, 0, 16, 0, 27, 0, 0, 0, 50, 0, 0, 9, 114, 0, 16, 0, 43, 0, 0, 0, 70, 2, 16, 0, 46, 0, 0, 0, 6, 0, 16, 0, 36, 0, 0, 0, 70, 2, 16, 0, 43, 0, 0, 0, 166, 0, 0, 7, 242, 224, 17, 0, 0, 0, 0, 0, 10, 0, 16, 0, 37, 0, 0, 0, 70, 14, 16, 0, 43, 0, 0, 0, 21, 0, 0, 1, 57, 0, 0, 7, 130, 0, 16, 0, 27, 0, 0, 0, 58, 0, 16, 0, 44, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 31, 0, 4, 3, 58, 0, 16, 0, 27, 0, 0, 0, 50, 0, 0, 9, 114, 0, 16, 0, 44, 0, 0, 0, 70, 2, 16, 0, 46, 0, 0, 0, 86, 5, 16, 0, 36, 0, 0, 0, 70, 2, 16, 0, 44, 0, 0, 0, 166, 0, 0, 7, 242, 224, 17, 0, 0, 0, 0, 0, 26, 0, 16, 0, 37, 0, 0, 0, 70, 14, 16, 0, 44, 0, 0, 0, 21, 0, 0, 1, 57, 0, 0, 7, 130, 0, 16, 0, 27, 0, 0, 0, 58, 0, 16, 0, 45, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 31, 0, 4, 3, 58, 0, 16, 0, 27, 0, 0, 0, 50, 0, 0, 9, 114, 0, 16, 0, 45, 0, 0, 0, 70, 2, 16, 0, 46, 0, 0, 0, 166, 10, 16, 0, 36, 0, 0, 0, 70, 2, 16, 0, 45, 0, 0, 0, 166, 0, 0, 7, 242, 224, 17, 0, 0, 0, 0, 0, 42, 0, 16, 0, 37, 0, 0, 0, 70, 14, 16, 0, 45, 0, 0, 0, 21, 0, 0, 1, 31, 0, 4, 3, 10, 0, 16, 0, 20, 0, 0, 0, 30, 0, 0, 7, 114, 0, 16, 0, 35, 0, 0, 0, 6, 0, 16, 0, 0, 0, 0, 0, 70, 2, 16, 0, 35, 0, 0, 0, 41, 0, 0, 10, 114, 0, 16, 0, 35, 0, 0, 0, 70, 2, 16, 0, 35, 0, 0, 0, 2, 64, 0, 0, 4, 0, 0, 0, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 165, 0, 0, 137, 194, 2, 0, 128, 131, 153, 25, 0, 114, 0, 16, 0, 43, 0, 0, 0, 10, 0, 16, 0, 35, 0, 0, 0, 70, 226, 17, 0, 0, 0, 0, 0, 165, 0, 0, 137, 194, 2, 0, 128, 131, 153, 25, 0, 114, 0, 16, 0, 44, 0, 0, 0, 26, 0, 16, 0, 35, 0, 0, 0, 70, 226, 17, 0, 0, 0, 0, 0, 165, 0, 0, 137, 194, 2, 0, 128, 131, 153, 25, 0, 114, 0, 16, 0, 45, 0, 0, 0, 42, 0, 16, 0, 35, 0, 0, 0, 70, 226, 17, 0, 0, 0, 0, 0, 56, 0, 0, 7, 114, 0, 16, 0, 44, 0, 0, 0, 86, 5, 16, 0, 36, 0, 0, 0, 70, 2, 16, 0, 44, 0, 0, 0, 50, 0, 0, 9, 114, 0, 16, 0, 43, 0, 0, 0, 70, 2, 16, 0, 43, 0, 0, 0, 6, 0, 16, 0, 36, 0, 0, 0, 70, 2, 16, 0, 44, 0, 0, 0, 50, 0, 0, 9, 114, 0, 16, 0, 43, 0, 0, 0, 70, 2, 16, 0, 45, 0, 0, 0, 166, 10, 16, 0, 36, 0, 0, 0, 70, 2, 16, 0, 43, 0, 0, 0, 165, 0, 0, 7, 130, 0, 16, 0, 27, 0, 0, 0, 1, 64, 0, 0, 92, 0, 0, 0, 6, 240, 17, 0, 0, 0, 0, 0, 16, 0, 0, 7, 130, 0, 16, 0, 28, 0, 0, 0, 70, 2, 16, 0, 41, 0, 0, 0, 70, 2, 16, 0, 41, 0, 0, 0, 0, 0, 0, 7, 130, 0, 16, 0, 31, 0, 0, 0, 58, 0, 16, 0, 28, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 52, 68, 0, 0, 5, 130, 0, 16, 0, 31, 0, 0, 0, 58, 0, 16, 0, 31, 0, 0, 0, 56, 0, 0, 7, 114, 0, 16, 0, 44, 0, 0, 0, 246, 15, 16, 0, 31, 0, 0, 0, 70, 2, 16, 0, 41, 0, 0, 0, 0, 0, 0, 8, 114, 0, 16, 0, 38, 0, 0, 0, 70, 2, 16, 0, 38, 0, 0, 0, 70, 2, 16, 128, 65, 0, 0, 0, 43, 0, 0, 0, 50, 0, 0, 10, 114, 0, 16, 0, 38, 0, 0, 0, 70, 2, 16, 128, 65, 0, 0, 0, 42, 0, 0, 0, 166, 10, 16, 0, 27, 0, 0, 0, 70, 2, 16, 0, 38, 0, 0, 0, 16, 0, 0, 7, 130, 0, 16, 0, 33, 0, 0, 0, 70, 2, 16, 0, 38, 0, 0, 0, 70, 2, 16, 0, 44, 0, 0, 0, 50, 0, 0, 10, 114, 0, 16, 0, 38, 0, 0, 0, 246, 15, 16, 128, 65, 0, 0, 0, 33, 0, 0, 0, 70, 2, 16, 0, 44, 0, 0, 0, 70, 2, 16, 0, 38, 0, 0, 0, 16, 0, 0, 7, 130, 0, 16, 0, 33, 0, 0, 0, 70, 2, 16, 0, 38, 0, 0, 0, 70, 2, 16, 0, 38, 0, 0, 0, 0, 0, 0, 7, 130, 0, 16, 0, 33, 0, 0, 0, 58, 0, 16, 0, 33, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 52, 68, 0, 0, 5, 130, 0, 16, 0, 33, 0, 0, 0, 58, 0, 16, 0, 33, 0, 0, 0, 56, 0, 0, 8, 130, 0, 16, 0, 27, 0, 0, 0, 58, 0, 16, 128, 65, 0, 0, 0, 27, 0, 0, 0, 58, 0, 16, 0, 28, 0, 0, 0, 56, 0, 0, 7, 130, 0, 16, 0, 27, 0, 0, 0, 58, 0, 16, 0, 31, 0, 0, 0, 58, 0, 16, 0, 27, 0, 0, 0, 56, 0, 0, 7, 130, 0, 16, 0, 27, 0, 0, 0, 42, 0, 16, 0, 27, 0, 0, 0, 58, 0, 16, 0, 27, 0, 0, 0, 56, 0, 0, 7, 130, 0, 16, 0, 27, 0, 0, 0, 58, 0, 16, 0, 33, 0, 0, 0, 58, 0, 16, 0, 27, 0, 0, 0, 52, 0, 0, 7, 130, 0, 16, 0, 27, 0, 0, 0, 58, 0, 16, 0, 27, 0, 0, 0, 1, 64, 0, 0, 0, 0, 128, 191, 56, 0, 0, 7, 114, 0, 16, 0, 38, 0, 0, 0, 246, 15, 16, 0, 27, 0, 0, 0, 70, 2, 16, 0, 38, 0, 0, 0, 165, 0, 0, 137, 194, 2, 0, 128, 131, 153, 25, 0, 242, 0, 16, 0, 43, 0, 0, 0, 10, 0, 16, 0, 35, 0, 0, 0, 70, 238, 17, 0, 0, 0, 0, 0, 165, 0, 0, 137, 194, 2, 0, 128, 131, 153, 25, 0, 242, 0, 16, 0, 44, 0, 0, 0, 26, 0, 16, 0, 35, 0, 0, 0, 70, 238, 17, 0, 0, 0, 0, 0, 165, 0, 0, 137, 194, 2, 0, 128, 131, 153, 25, 0, 242, 0, 16, 0, 45, 0, 0, 0, 42, 0, 16, 0, 35, 0, 0, 0, 70, 238, 17, 0, 0, 0, 0, 0, 56, 0, 0, 8, 114, 0, 16, 0, 38, 0, 0, 0, 246, 15, 16, 128, 65, 0, 0, 0, 36, 0, 0, 0, 70, 2, 16, 0, 38, 0, 0, 0, 57, 0, 0, 7, 130, 0, 16, 0, 27, 0, 0, 0, 58, 0, 16, 0, 43, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 31, 0, 4, 3, 58, 0, 16, 0, 27, 0, 0, 0, 50, 0, 0, 9, 114, 0, 16, 0, 43, 0, 0, 0, 70, 2, 16, 0, 38, 0, 0, 0, 6, 0, 16, 0, 36, 0, 0, 0, 70, 2, 16, 0, 43, 0, 0, 0, 166, 0, 0, 7, 242, 224, 17, 0, 0, 0, 0, 0, 10, 0, 16, 0, 35, 0, 0, 0, 70, 14, 16, 0, 43, 0, 0, 0, 21, 0, 0, 1, 57, 0, 0, 7, 130, 0, 16, 0, 27, 0, 0, 0, 58, 0, 16, 0, 44, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 31, 0, 4, 3, 58, 0, 16, 0, 27, 0, 0, 0, 50, 0, 0, 9, 114, 0, 16, 0, 44, 0, 0, 0, 70, 2, 16, 0, 38, 0, 0, 0, 86, 5, 16, 0, 36, 0, 0, 0, 70, 2, 16, 0, 44, 0, 0, 0, 166, 0, 0, 7, 242, 224, 17, 0, 0, 0, 0, 0, 26, 0, 16, 0, 35, 0, 0, 0, 70, 14, 16, 0, 44, 0, 0, 0, 21, 0, 0, 1, 57, 0, 0, 7, 130, 0, 16, 0, 27, 0, 0, 0, 58, 0, 16, 0, 45, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 31, 0, 4, 3, 58, 0, 16, 0, 27, 0, 0, 0, 50, 0, 0, 9, 114, 0, 16, 0, 45, 0, 0, 0, 70, 2, 16, 0, 38, 0, 0, 0, 166, 10, 16, 0, 36, 0, 0, 0, 70, 2, 16, 0, 45, 0, 0, 0, 166, 0, 0, 7, 242, 224, 17, 0, 0, 0, 0, 0, 42, 0, 16, 0, 35, 0, 0, 0, 70, 14, 16, 0, 45, 0, 0, 0, 21, 0, 0, 1, 21, 0, 0, 1, 31, 0, 4, 3, 26, 0, 16, 0, 20, 0, 0, 0, 16, 0, 0, 7, 130, 0, 16, 0, 27, 0, 0, 0, 70, 2, 16, 0, 41, 0, 0, 0, 70, 2, 16, 0, 41, 0, 0, 0, 56, 0, 0, 7, 66, 0, 16, 0, 27, 0, 0, 0, 42, 0, 16, 0, 27, 0, 0, 0, 42, 0, 16, 0, 27, 0, 0, 0, 56, 0, 0, 7, 66, 0, 16, 0, 27, 0, 0, 0, 58, 0, 16, 0, 27, 0, 0, 0, 42, 0, 16, 0, 27, 0, 0, 0, 165, 0, 0, 7, 130, 0, 16, 0, 27, 0, 0, 0, 1, 64, 0, 0, 88, 0, 0, 0, 6, 240, 17, 0, 0, 0, 0, 0, 50, 0, 0, 9, 66, 0, 16, 0, 27, 0, 0, 0, 58, 0, 16, 0, 27, 0, 0, 0, 42, 0, 16, 0, 27, 0, 0, 0, 1, 64, 0, 0, 0, 0, 128, 63, 14, 0, 0, 10, 66, 0, 16, 0, 27, 0, 0, 0, 2, 64, 0, 0, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 42, 0, 16, 0, 27, 0, 0, 0, 0, 0, 0, 7, 66, 0, 16, 0, 27, 0, 0, 0, 42, 0, 16, 0, 27, 0, 0, 0, 1, 64, 0, 0, 0, 0, 128, 191, 165, 0, 0, 137, 194, 2, 0, 128, 131, 153, 25, 0, 242, 0, 16, 0, 35, 0, 0, 0, 10, 0, 16, 0, 37, 0, 0, 0, 70, 238, 17, 0, 0, 0, 0, 0, 165, 0, 0, 137, 194, 2, 0, 128, 131, 153, 25, 0, 242, 0, 16, 0, 38, 0, 0, 0, 26, 0, 16, 0, 37, 0, 0, 0, 70, 238, 17, 0, 0, 0, 0, 0, 165, 0, 0, 137, 194, 2, 0, 128, 131, 153, 25, 0, 242, 0, 16, 0, 43, 0, 0, 0, 42, 0, 16, 0, 37, 0, 0, 0, 70, 238, 17, 0, 0, 0, 0, 0, 50, 0, 0, 12, 114, 0, 16, 0, 36, 0, 0, 0, 70, 2, 16, 0, 36, 0, 0, 0, 166, 10, 16, 0, 27, 0, 0, 0, 2, 64, 0, 0, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 0, 0, 56, 0, 0, 7, 130, 0, 16, 0, 35, 0, 0, 0, 58, 0, 16, 0, 35, 0, 0, 0, 10, 0, 16, 0, 36, 0, 0, 0, 56, 0, 0, 7, 130, 0, 16, 0, 38, 0, 0, 0, 26, 0, 16, 0, 36, 0, 0, 0, 58, 0, 16, 0, 38, 0, 0, 0, 56, 0, 0, 7, 130, 0, 16, 0, 43, 0, 0, 0, 42, 0, 16, 0, 36, 0, 0, 0, 58, 0, 16, 0, 43, 0, 0, 0, 166, 0, 0, 7, 242, 224, 17, 0, 0, 0, 0, 0, 10, 0, 16, 0, 37, 0, 0, 0, 70, 14, 16, 0, 35, 0, 0, 0, 166, 0, 0, 7, 242, 224, 17, 0, 0, 0, 0, 0, 26, 0, 16, 0, 37, 0, 0, 0, 70, 14, 16, 0, 38, 0, 0, 0, 166, 0, 0, 7, 242, 224, 17, 0, 0, 0, 0, 0, 42, 0, 16, 0, 37, 0, 0, 0, 70, 14, 16, 0, 43, 0, 0, 0, 21, 0, 0, 1, 21, 0, 0, 1, 30, 0, 0, 7, 130, 0, 16, 0, 23, 0, 0, 0, 58, 0, 16, 0, 23, 0, 0, 0, 1, 64, 0, 0, 0, 16, 0, 0, 22, 0, 0, 1, 30, 0, 0, 7, 130, 0, 16, 0, 20, 0, 0, 0, 58, 0, 16, 0, 20, 0, 0, 0, 1, 64, 0, 0, 1, 0, 0, 0, 22, 0, 0, 1, 21, 0, 0, 1, 165, 0, 0, 7, 34, 0, 16, 0, 19, 0, 0, 0, 1, 64, 0, 0, 96, 0, 0, 0, 6, 240, 17, 0, 0, 0, 0, 0, 165, 0, 0, 7, 66, 0, 16, 0, 19, 0, 0, 0, 1, 64, 0, 0, 120, 0, 0, 0, 6, 240, 17, 0, 1, 0, 0, 0, 51, 0, 0, 7, 34, 0, 16, 0, 19, 0, 0, 0, 42, 0, 16, 0, 19, 0, 0, 0, 26, 0, 16, 0, 19, 0, 0, 0, 49, 0, 0, 7, 34, 0, 16, 0, 19, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 26, 0, 16, 0, 19, 0, 0, 0, 31, 0, 4, 3, 26, 0, 16, 0, 19, 0, 0, 0, 165, 0, 0, 7, 34, 0, 16, 0, 19, 0, 0, 0, 1, 64, 0, 0, 100, 0, 0, 0, 6, 240, 17, 0, 0, 0, 0, 0, 165, 0, 0, 7, 66, 0, 16, 0, 19, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 0, 0, 0, 0, 31, 0, 4, 3, 42, 0, 16, 0, 1, 0, 0, 0, 165, 0, 0, 7, 50, 0, 16, 0, 20, 0, 0, 0, 58, 0, 16, 0, 4, 0, 0, 0, 70, 240, 17, 0, 1, 0, 0, 0, 0, 0, 0, 7, 130, 0, 16, 0, 19, 0, 0, 0, 26, 0, 16, 0, 20, 0, 0, 0, 10, 0, 16, 0, 20, 0, 0, 0, 50, 0, 0, 12, 50, 0, 16, 0, 20, 0, 0, 0, 246, 15, 16, 0, 19, 0, 0, 0, 2, 64, 0, 0, 23, 183, 209, 56, 23, 183, 209, 56, 0, 0, 0, 0, 0, 0, 0, 0, 22, 5, 16, 0, 20, 0, 0, 0, 0, 0, 0, 7, 130, 0, 16, 0, 19, 0, 0, 0, 10, 0, 16, 0, 20, 0, 0, 0, 26, 0, 16, 0, 20, 0, 0, 0, 168, 0, 0, 8, 18, 240, 17, 0, 6, 0, 0, 0, 10, 32, 2, 0, 1, 64, 0, 0, 0, 0, 0, 0, 58, 0, 16, 0, 19, 0, 0, 0, 18, 0, 0, 1, 54, 0, 0, 5, 18, 0, 16, 0, 20, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 54, 0, 0, 5, 130, 0, 16, 0, 19, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 21, 0, 0, 1, 190, 24, 0, 1, 31, 0, 4, 3, 42, 0, 16, 0, 1, 0, 0, 0, 167, 0, 0, 9, 34, 0, 16, 0, 20, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 6, 0, 0, 0, 167, 0, 0, 9, 66, 0, 16, 0, 20, 0, 0, 0, 1, 64, 0, 0, 1, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 6, 0, 0, 0, 49, 0, 0, 7, 34, 0, 16, 0, 20, 0, 0, 0, 42, 0, 16, 0, 20, 0, 0, 0, 26, 0, 16, 0, 20, 0, 0, 0, 1, 0, 0, 7, 66, 0, 16, 0, 20, 0, 0, 0, 26, 0, 16, 0, 20, 0, 0, 0, 1, 64, 0, 0, 1, 0, 0, 0, 167, 0, 0, 9, 66, 0, 16, 0, 20, 0, 0, 0, 42, 0, 16, 0, 20, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 6, 0, 0, 0, 167, 0, 0, 9, 130, 0, 16, 0, 20, 0, 0, 0, 1, 64, 0, 0, 2, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 6, 0, 0, 0, 49, 0, 0, 7, 66, 0, 16, 0, 20, 0, 0, 0, 58, 0, 16, 0, 20, 0, 0, 0, 42, 0, 16, 0, 20, 0, 0, 0, 55, 0, 0, 9, 34, 0, 16, 0, 20, 0, 0, 0, 42, 0, 16, 0, 20, 0, 0, 0, 1, 64, 0, 0, 254, 255, 255, 255, 26, 0, 16, 0, 20, 0, 0, 0, 30, 0, 0, 6, 34, 0, 16, 0, 20, 0, 0, 0, 26, 0, 16, 0, 20, 0, 0, 0, 10, 32, 2, 0, 85, 0, 0, 7, 66, 0, 16, 0, 20, 0, 0, 0, 26, 0, 16, 0, 20, 0, 0, 0, 1, 64, 0, 0, 30, 0, 0, 0, 30, 0, 0, 7, 34, 0, 16, 0, 20, 0, 0, 0, 42, 0, 16, 0, 20, 0, 0, 0, 26, 0, 16, 0, 20, 0, 0, 0, 14, 0, 0, 7, 130, 0, 16, 0, 19, 0, 0, 0, 1, 64, 0, 0, 0, 0, 254, 66, 58, 0, 16, 0, 19, 0, 0, 0, 165, 0, 0, 7, 66, 0, 16, 0, 20, 0, 0, 0, 1, 64, 0, 0, 96, 0, 0, 0, 6, 240, 17, 0, 0, 0, 0, 0, 14, 0, 0, 10, 66, 0, 16, 0, 20, 0, 0, 0, 2, 64, 0, 0, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 42, 0, 16, 0, 20, 0, 0, 0, 51, 0, 0, 7, 130, 0, 16, 0, 19, 0, 0, 0, 58, 0, 16, 0, 19, 0, 0, 0, 42, 0, 16, 0, 20, 0, 0, 0, 41, 0, 0, 7, 34, 0, 16, 0, 20, 0, 0, 0, 26, 0, 16, 0, 20, 0, 0, 0, 1, 64, 0, 0, 2, 0, 0, 0, 30, 0, 0, 10, 194, 0, 16, 0, 20, 0, 0, 0, 86, 5, 16, 0, 20, 0, 0, 0, 2, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 24, 0, 0, 0, 166, 0, 0, 7, 18, 240, 17, 0, 5, 0, 0, 0, 42, 0, 16, 0, 20, 0, 0, 0, 58, 0, 16, 0, 19, 0, 0, 0, 56, 0, 0, 7, 130, 0, 16, 0, 19, 0, 0, 0, 10, 0, 16, 0, 20, 0, 0, 0, 58, 0, 16, 0, 19, 0, 0, 0, 166, 0, 0, 7, 18, 240, 17, 0, 5, 0, 0, 0, 26, 0, 16, 0, 20, 0, 0, 0, 58, 0, 16, 0, 19, 0, 0, 0, 166, 0, 0, 6, 18, 240, 17, 0, 5, 0, 0, 0, 58, 0, 16, 0, 20, 0, 0, 0, 10, 32, 2, 0, 21, 0, 0, 1, 190, 24, 0, 1, 165, 0, 0, 7, 130, 0, 16, 0, 19, 0, 0, 0, 1, 64, 0, 0, 112, 0, 0, 0, 6, 240, 17, 0, 0, 0, 0, 0, 41, 0, 0, 7, 18, 0, 16, 0, 20, 0, 0, 0, 26, 0, 16, 0, 19, 0, 0, 0, 1, 64, 0, 0, 1, 0, 0, 0, 30, 0, 0, 7, 130, 0, 16, 0, 19, 0, 0, 0, 58, 0, 16, 0, 19, 0, 0, 0, 10, 0, 16, 0, 20, 0, 0, 0, 165, 0, 0, 7, 18, 0, 16, 0, 20, 0, 0, 0, 1, 64, 0, 0, 164, 0, 0, 0, 6, 240, 17, 0, 1, 0, 0, 0, 31, 0, 4, 3, 10, 0, 16, 0, 20, 0, 0, 0, 54, 0, 0, 4, 18, 0, 16, 0, 20, 0, 0, 0, 10, 32, 2, 0, 48, 0, 0, 1, 33, 0, 0, 7, 34, 0, 16, 0, 20, 0, 0, 0, 10, 0, 16, 0, 20, 0, 0, 0, 1, 64, 0, 0, 3, 65, 0, 0, 3, 0, 4, 3, 26, 0, 16, 0, 20, 0, 0, 0, 30, 0, 0, 7, 34, 0, 16, 0, 20, 0, 0, 0, 58, 0, 16, 0, 19, 0, 0, 0, 10, 0, 16, 0, 20, 0, 0, 0, 168, 0, 0, 9, 18, 224, 17, 0, 2, 0, 0, 0, 26, 0, 16, 0, 20, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 1, 64, 0, 0, 255, 255, 255, 255, 30, 0, 0, 7, 18, 0, 16, 0, 20, 0, 0, 0, 10, 0, 16, 0, 20, 0, 0, 0, 1, 64, 0, 0, 0, 4, 0, 0, 22, 0, 0, 1, 21, 0, 0, 1, 165, 0, 0, 7, 50, 0, 16, 0, 20, 0, 0, 0, 1, 64, 0, 0, 16, 0, 0, 0, 70, 240, 17, 0, 5, 0, 0, 0, 165, 0, 0, 7, 194, 0, 16, 0, 20, 0, 0, 0, 1, 64, 0, 0, 4, 0, 0, 0, 6, 244, 17, 0, 5, 0, 0, 0, 165, 0, 0, 7, 50, 0, 16, 0, 21, 0, 0, 0, 1, 64, 0, 0, 28, 0, 0, 0, 70, 240, 17, 0, 5, 0, 0, 0, 165, 0, 0, 7, 66, 0, 16, 0, 21, 0, 0, 0, 1, 64, 0, 0, 104, 0, 0, 0, 6, 240, 17, 0, 0, 0, 0, 0, 39, 0, 0, 7, 130, 0, 16, 0, 21, 0, 0, 0, 42, 0, 16, 0, 21, 0, 0, 0, 1, 64, 0, 0, 255, 255, 255, 255, 165, 0, 0, 7, 130, 0, 16, 0, 22, 0, 0, 0, 1, 64, 0, 0, 112, 0, 0, 0, 6, 240, 17, 0, 0, 0, 0, 0, 54, 0, 0, 4, 130, 0, 16, 0, 23, 0, 0, 0, 10, 32, 2, 0, 48, 0, 0, 1, 33, 0, 0, 7, 18, 0, 16, 0, 27, 0, 0, 0, 58, 0, 16, 0, 23, 0, 0, 0, 26, 0, 16, 0, 19, 0, 0, 0, 3, 0, 4, 3, 10, 0, 16, 0, 27, 0, 0, 0, 30, 0, 0, 7, 18, 0, 16, 0, 27, 0, 0, 0, 42, 0, 16, 0, 21, 0, 0, 0, 58, 0, 16, 0, 23, 0, 0, 0, 167, 0, 0, 139, 2, 35, 0, 128, 131, 153, 25, 0, 18, 0, 16, 0, 27, 0, 0, 0, 10, 0, 16, 0, 27, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 112, 16, 0, 15, 0, 0, 0, 55, 0, 0, 9, 18, 0, 16, 0, 27, 0, 0, 0, 58, 0, 16, 0, 21, 0, 0, 0, 10, 0, 16, 0, 27, 0, 0, 0, 58, 0, 16, 0, 23, 0, 0, 0, 30, 0, 0, 7, 34, 0, 16, 0, 27, 0, 0, 0, 26, 0, 16, 0, 0, 0, 0, 0, 10, 0, 16, 0, 27, 0, 0, 0, 41, 0, 0, 7, 34, 0, 16, 0, 27, 0, 0, 0, 26, 0, 16, 0, 27, 0, 0, 0, 1, 64, 0, 0, 4, 0, 0, 0, 165, 0, 0, 137, 194, 2, 0, 128, 131, 153, 25, 0, 242, 0, 16, 0, 35, 0, 0, 0, 26, 0, 16, 0, 27, 0, 0, 0, 70, 238, 17, 0, 0, 0, 0, 0, 17, 0, 0, 8, 34, 0, 16, 0, 27, 0, 0, 0, 70, 14, 16, 0, 35, 0, 0, 0, 70, 158, 144, 0, 10, 0, 16, 0, 21, 0, 0, 0, 50, 0, 0, 9, 34, 0, 16, 0, 27, 0, 0, 0, 26, 0, 16, 0, 27, 0, 0, 0, 10, 0, 16, 0, 20, 0, 0, 0, 42, 0, 16, 0, 20, 0, 0, 0, 51, 0, 0, 7, 34, 0, 16, 0, 27, 0, 0, 0, 26, 0, 16, 0, 27, 0, 0, 0, 1, 64, 0, 0, 0, 0, 255, 66, 52, 0, 0, 7, 34, 0, 16, 0, 27, 0, 0, 0, 26, 0, 16, 0, 27, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 17, 0, 0, 8, 66, 0, 16, 0, 27, 0, 0, 0, 70, 14, 16, 0, 35, 0, 0, 0, 70, 158, 144, 0, 26, 0, 16, 0, 21, 0, 0, 0, 50, 0, 0, 9, 66, 0, 16, 0, 27, 0, 0, 0, 42, 0, 16, 0, 27, 0, 0, 0, 26, 0, 16, 0, 20, 0, 0, 0, 58, 0, 16, 0, 20, 0, 0, 0, 51, 0, 0, 7, 66, 0, 16, 0, 27, 0, 0, 0, 42, 0, 16, 0, 27, 0, 0, 0, 1, 64, 0, 0, 0, 0, 255, 66, 52, 0, 0, 7, 66, 0, 16, 0, 27, 0, 0, 0, 42, 0, 16, 0, 27, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 27, 0, 0, 5, 98, 0, 16, 0, 27, 0, 0, 0, 86, 6, 16, 0, 27, 0, 0, 0, 30, 0, 0, 7, 130, 0, 16, 0, 27, 0, 0, 0, 58, 0, 16, 0, 22, 0, 0, 0, 58, 0, 16, 0, 23, 0, 0, 0, 41, 0, 0, 7, 66, 0, 16, 0, 27, 0, 0, 0, 42, 0, 16, 0, 27, 0, 0, 0, 1, 64, 0, 0, 23, 0, 0, 0, 35, 0, 0, 9, 34, 0, 16, 0, 27, 0, 0, 0, 26, 0, 16, 0, 27, 0, 0, 0, 1, 64, 0, 0, 0, 0, 1, 0, 42, 0, 16, 0, 27, 0, 0, 0, 30, 0, 0, 7, 34, 0, 16, 0, 27, 0, 0, 0, 26, 0, 16, 0, 27, 0, 0, 0, 1, 64, 0, 0, 0, 0, 129, 0, 60, 0, 0, 7, 18, 0, 16, 0, 27, 0, 0, 0, 10, 0, 16, 0, 27, 0, 0, 0, 26, 0, 16, 0, 27, 0, 0, 0, 168, 0, 0, 9, 18, 224, 17, 0, 2, 0, 0, 0, 58, 0, 16, 0, 27, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 10, 0, 16, 0, 27, 0, 0, 0, 30, 0, 0, 7, 130, 0, 16, 0, 23, 0, 0, 0, 58, 0, 16, 0, 23, 0, 0, 0, 1, 64, 0, 0, 0, 4, 0, 0, 22, 0, 0, 1, 190, 24, 0, 1, 165, 0, 0, 7, 194, 0, 16, 0, 21, 0, 0, 0, 1, 64, 0, 0, 108, 0, 0, 0, 6, 244, 17, 0, 0, 0, 0, 0, 30, 0, 0, 7, 130, 0, 16, 0, 22, 0, 0, 0, 26, 0, 16, 0, 19, 0, 0, 0, 58, 0, 16, 0, 21, 0, 0, 0, 54, 0, 0, 4, 130, 0, 16, 0, 23, 0, 0, 0, 10, 32, 2, 0, 48, 0, 0, 1, 33, 0, 0, 7, 18, 0, 16, 0, 27, 0, 0, 0, 58, 0, 16, 0, 23, 0, 0, 0, 42, 0, 16, 0, 19, 0, 0, 0, 3, 0, 4, 3, 10, 0, 16, 0, 27, 0, 0, 0, 30, 0, 0, 7, 18, 0, 16, 0, 27, 0, 0, 0, 42, 0, 16, 0, 21, 0, 0, 0, 58, 0, 16, 0, 23, 0, 0, 0, 30, 0, 0, 7, 34, 0, 16, 0, 27, 0, 0, 0, 26, 0, 16, 0, 0, 0, 0, 0, 58, 0, 16, 0, 23, 0, 0, 0, 41, 0, 0, 7, 34, 0, 16, 0, 27, 0, 0, 0, 26, 0, 16, 0, 27, 0, 0, 0, 1, 64, 0, 0, 4, 0, 0, 0, 165, 0, 0, 137, 194, 2, 0, 128, 131, 153, 25, 0, 242, 0, 16, 0, 35, 0, 0, 0, 26, 0, 16, 0, 27, 0, 0, 0, 70, 238, 17, 0, 0, 0, 0, 0, 168, 0, 0, 9, 242, 224, 17, 0, 1, 0, 0, 0, 10, 0, 16, 0, 27, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 70, 14, 16, 0, 35, 0, 0, 0, 30, 0, 0, 7, 130, 0, 16, 0, 23, 0, 0, 0, 58, 0, 16, 0, 23, 0, 0, 0, 1, 64, 0, 0, 0, 4, 0, 0, 22, 0, 0, 1, 190, 24, 0, 1, 30, 0, 0, 7, 66, 0, 16, 0, 21, 0, 0, 0, 26, 0, 16, 0, 19, 0, 0, 0, 1, 64, 0, 0, 31, 0, 0, 0, 138, 0, 0, 9, 130, 0, 16, 0, 23, 0, 0, 0, 1, 64, 0, 0, 5, 0, 0, 0, 1, 64, 0, 0, 5, 0, 0, 0, 42, 0, 16, 0, 21, 0, 0, 0, 85, 0, 0, 7, 66, 0, 16, 0, 21, 0, 0, 0, 42, 0, 16, 0, 21, 0, 0, 0, 1, 64, 0, 0, 10, 0, 0, 0, 79, 0, 0, 7, 18, 0, 16, 0, 27, 0, 0, 0, 26, 0, 16, 0, 4, 0, 0, 0, 58, 0, 16, 0, 23, 0, 0, 0, 1, 0, 0, 7, 34, 0, 16, 0, 27, 0, 0, 0, 10, 0, 16, 0, 27, 0, 0, 0, 1, 64, 0, 0, 1, 0, 0, 0, 30, 0, 0, 7, 34, 0, 16, 0, 27, 0, 0, 0, 42, 0, 16, 0, 21, 0, 0, 0, 26, 0, 16, 0, 27, 0, 0, 0, 55, 0, 0, 9, 66, 0, 16, 0, 27, 0, 0, 0, 10, 0, 16, 0, 27, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 1, 64, 0, 0, 1, 0, 0, 0, 38, 0, 0, 8, 0, 208, 0, 0, 66, 0, 16, 0, 27, 0, 0, 0, 58, 0, 16, 0, 23, 0, 0, 0, 42, 0, 16, 0, 27, 0, 0, 0, 35, 0, 0, 9, 66, 0, 16, 0, 27, 0, 0, 0, 26, 0, 16, 0, 4, 0, 0, 0, 26, 0, 16, 0, 27, 0, 0, 0, 42, 0, 16, 0, 27, 0, 0, 0, 41, 0, 0, 10, 162, 0, 16, 0, 27, 0, 0, 0, 86, 9, 16, 0, 27, 0, 0, 0, 2, 64, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 30, 0, 0, 7, 34, 0, 16, 0, 27, 0, 0, 0, 26, 0, 16, 0, 27, 0, 0, 0, 58, 0, 16, 0, 27, 0, 0, 0, 84, 0, 0, 7, 34, 0, 16, 0, 27, 0, 0, 0, 26, 0, 16, 0, 19, 0, 0, 0, 26, 0, 16, 0, 27, 0, 0, 0, 140, 0, 0, 10, 66, 0, 16, 0, 27, 0, 0, 0, 1, 64, 0, 0, 27, 0, 0, 0, 1, 64, 0, 0, 5, 0, 0, 0, 42, 0, 16, 0, 27, 0, 0, 0, 10, 32, 2, 0, 54, 0, 0, 5, 130, 0, 16, 0, 27, 0, 0, 0, 1, 64, 0, 0, 16, 0, 0, 0, 54, 0, 0, 5, 130, 0, 16, 0, 28, 0, 0, 0, 58, 0, 16, 0, 21, 0, 0, 0, 54, 0, 0, 5, 130, 0, 16, 0, 31, 0, 0, 0, 58, 0, 16, 0, 22, 0, 0, 0, 48, 0, 0, 1, 80, 0, 0, 7, 130, 0, 16, 0, 33, 0, 0, 0, 58, 0, 16, 0, 27, 0, 0, 0, 1, 64, 0, 0, 32, 0, 0, 0, 3, 0, 4, 3, 58, 0, 16, 0, 33, 0, 0, 0, 54, 0, 0, 5, 130, 0, 16, 0, 33, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 54, 0, 0, 5, 18, 0, 16, 0, 35, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 54, 0, 0, 5, 34, 0, 16, 0, 35, 0, 0, 0, 42, 0, 16, 0, 27, 0, 0, 0, 48, 0, 0, 1, 80, 0, 0, 7, 66, 0, 16, 0, 35, 0, 0, 0, 10, 0, 16, 0, 35, 0, 0, 0, 42, 0, 16, 0, 21, 0, 0, 0, 3, 0, 4, 3, 42, 0, 16, 0, 35, 0, 0, 0, 79, 0, 0, 7, 66, 0, 16, 0, 35, 0, 0, 0, 26, 0, 16, 0, 35, 0, 0, 0, 26, 0, 16, 0, 27, 0, 0, 0, 30, 0, 0, 7, 130, 0, 16, 0, 35, 0, 0, 0, 58, 0, 16, 0, 28, 0, 0, 0, 26, 0, 16, 0, 35, 0, 0, 0, 167, 0, 0, 139, 2, 35, 0, 128, 131, 153, 25, 0, 130, 0, 16, 0, 35, 0, 0, 0, 58, 0, 16, 0, 35, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 224, 17, 0, 2, 0, 0, 0, 55, 0, 0, 9, 66, 0, 16, 0, 35, 0, 0, 0, 42, 0, 16, 0, 35, 0, 0, 0, 58, 0, 16, 0, 35, 0, 0, 0, 1, 64, 0, 0, 255, 255, 255, 255, 85, 0, 0, 7, 66, 0, 16, 0, 35, 0, 0, 0, 42, 0, 16, 0, 35, 0, 0, 0, 58, 0, 16, 0, 27, 0, 0, 0, 1, 0, 0, 10, 242, 0, 16, 0, 36, 0, 0, 0, 166, 10, 16, 0, 35, 0, 0, 0, 2, 64, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 4, 0, 0, 0, 8, 0, 0, 0, 39, 0, 0, 10, 242, 0, 16, 0, 36, 0, 0, 0, 70, 14, 16, 0, 36, 0, 0, 0, 2, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 140, 0, 0, 16, 242, 0, 16, 0, 36, 0, 0, 0, 2, 64, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 6, 32, 2, 0, 70, 14, 16, 0, 36, 0, 0, 0, 2, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 168, 0, 0, 8, 18, 240, 17, 0, 3, 0, 0, 0, 10, 32, 2, 0, 1, 64, 0, 0, 0, 0, 0, 0, 10, 0, 16, 0, 36, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 10, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 26, 0, 16, 0, 36, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 26, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 42, 0, 16, 0, 36, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 42, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 58, 0, 16, 0, 36, 0, 0, 0, 190, 24, 0, 1, 31, 0, 4, 3, 10, 0, 16, 0, 7, 0, 0, 0, 167, 0, 0, 8, 18, 0, 16, 0, 36, 0, 0, 0, 10, 32, 2, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 34, 0, 16, 0, 36, 0, 0, 0, 10, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 66, 0, 16, 0, 36, 0, 0, 0, 26, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 130, 0, 16, 0, 36, 0, 0, 0, 42, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 18, 0, 16, 0, 37, 0, 0, 0, 10, 0, 16, 0, 3, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 34, 0, 16, 0, 37, 0, 0, 0, 26, 0, 16, 0, 6, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 66, 0, 16, 0, 37, 0, 0, 0, 10, 0, 16, 0, 10, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 130, 0, 16, 0, 37, 0, 0, 0, 42, 0, 16, 0, 6, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 60, 0, 0, 7, 242, 0, 16, 0, 36, 0, 0, 0, 70, 14, 16, 0, 36, 0, 0, 0, 70, 14, 16, 0, 37, 0, 0, 0, 168, 0, 0, 8, 18, 240, 17, 0, 3, 0, 0, 0, 10, 32, 2, 0, 1, 64, 0, 0, 0, 0, 0, 0, 10, 0, 16, 0, 36, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 10, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 26, 0, 16, 0, 36, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 26, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 42, 0, 16, 0, 36, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 42, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 58, 0, 16, 0, 36, 0, 0, 0, 21, 0, 0, 1, 190, 24, 0, 1, 31, 0, 4, 3, 26, 0, 16, 0, 7, 0, 0, 0, 167, 0, 0, 8, 18, 0, 16, 0, 36, 0, 0, 0, 10, 32, 2, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 34, 0, 16, 0, 36, 0, 0, 0, 10, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 66, 0, 16, 0, 36, 0, 0, 0, 26, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 130, 0, 16, 0, 36, 0, 0, 0, 42, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 18, 0, 16, 0, 37, 0, 0, 0, 26, 0, 16, 0, 3, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 34, 0, 16, 0, 37, 0, 0, 0, 58, 0, 16, 0, 6, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 66, 0, 16, 0, 37, 0, 0, 0, 26, 0, 16, 0, 10, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 130, 0, 16, 0, 37, 0, 0, 0, 10, 0, 16, 0, 9, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 60, 0, 0, 7, 242, 0, 16, 0, 36, 0, 0, 0, 70, 14, 16, 0, 36, 0, 0, 0, 70, 14, 16, 0, 37, 0, 0, 0, 168, 0, 0, 8, 18, 240, 17, 0, 3, 0, 0, 0, 10, 32, 2, 0, 1, 64, 0, 0, 0, 0, 0, 0, 10, 0, 16, 0, 36, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 10, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 26, 0, 16, 0, 36, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 26, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 42, 0, 16, 0, 36, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 42, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 58, 0, 16, 0, 36, 0, 0, 0, 21, 0, 0, 1, 190, 24, 0, 1, 31, 0, 4, 3, 42, 0, 16, 0, 7, 0, 0, 0, 167, 0, 0, 8, 18, 0, 16, 0, 36, 0, 0, 0, 10, 32, 2, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 34, 0, 16, 0, 36, 0, 0, 0, 10, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 66, 0, 16, 0, 36, 0, 0, 0, 26, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 130, 0, 16, 0, 36, 0, 0, 0, 42, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 18, 0, 16, 0, 37, 0, 0, 0, 42, 0, 16, 0, 3, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 34, 0, 16, 0, 37, 0, 0, 0, 26, 0, 16, 0, 9, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 66, 0, 16, 0, 37, 0, 0, 0, 42, 0, 16, 0, 10, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 130, 0, 16, 0, 37, 0, 0, 0, 42, 0, 16, 0, 9, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 60, 0, 0, 7, 242, 0, 16, 0, 36, 0, 0, 0, 70, 14, 16, 0, 36, 0, 0, 0, 70, 14, 16, 0, 37, 0, 0, 0, 168, 0, 0, 8, 18, 240, 17, 0, 3, 0, 0, 0, 10, 32, 2, 0, 1, 64, 0, 0, 0, 0, 0, 0, 10, 0, 16, 0, 36, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 10, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 26, 0, 16, 0, 36, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 26, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 42, 0, 16, 0, 36, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 42, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 58, 0, 16, 0, 36, 0, 0, 0, 21, 0, 0, 1, 190, 24, 0, 1, 31, 0, 4, 3, 58, 0, 16, 0, 7, 0, 0, 0, 167, 0, 0, 8, 18, 0, 16, 0, 36, 0, 0, 0, 10, 32, 2, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 34, 0, 16, 0, 36, 0, 0, 0, 10, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 66, 0, 16, 0, 36, 0, 0, 0, 26, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 130, 0, 16, 0, 36, 0, 0, 0, 42, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 18, 0, 16, 0, 37, 0, 0, 0, 58, 0, 16, 0, 3, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 34, 0, 16, 0, 37, 0, 0, 0, 58, 0, 16, 0, 9, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 66, 0, 16, 0, 37, 0, 0, 0, 58, 0, 16, 0, 10, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 130, 0, 16, 0, 37, 0, 0, 0, 10, 0, 16, 0, 13, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 60, 0, 0, 7, 242, 0, 16, 0, 36, 0, 0, 0, 70, 14, 16, 0, 36, 0, 0, 0, 70, 14, 16, 0, 37, 0, 0, 0, 168, 0, 0, 8, 18, 240, 17, 0, 3, 0, 0, 0, 10, 32, 2, 0, 1, 64, 0, 0, 0, 0, 0, 0, 10, 0, 16, 0, 36, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 10, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 26, 0, 16, 0, 36, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 26, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 42, 0, 16, 0, 36, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 42, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 58, 0, 16, 0, 36, 0, 0, 0, 21, 0, 0, 1, 190, 24, 0, 1, 31, 0, 4, 3, 10, 0, 16, 0, 8, 0, 0, 0, 167, 0, 0, 8, 18, 0, 16, 0, 36, 0, 0, 0, 10, 32, 2, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 34, 0, 16, 0, 36, 0, 0, 0, 10, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 66, 0, 16, 0, 36, 0, 0, 0, 26, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 130, 0, 16, 0, 36, 0, 0, 0, 42, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 18, 0, 16, 0, 37, 0, 0, 0, 10, 0, 16, 0, 6, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 34, 0, 16, 0, 37, 0, 0, 0, 26, 0, 16, 0, 13, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 66, 0, 16, 0, 37, 0, 0, 0, 10, 0, 16, 0, 14, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 130, 0, 16, 0, 37, 0, 0, 0, 42, 0, 16, 0, 13, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 60, 0, 0, 7, 242, 0, 16, 0, 36, 0, 0, 0, 70, 14, 16, 0, 36, 0, 0, 0, 70, 14, 16, 0, 37, 0, 0, 0, 168, 0, 0, 8, 18, 240, 17, 0, 3, 0, 0, 0, 10, 32, 2, 0, 1, 64, 0, 0, 0, 0, 0, 0, 10, 0, 16, 0, 36, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 10, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 26, 0, 16, 0, 36, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 26, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 42, 0, 16, 0, 36, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 42, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 58, 0, 16, 0, 36, 0, 0, 0, 21, 0, 0, 1, 190, 24, 0, 1, 167, 0, 0, 9, 66, 0, 16, 0, 35, 0, 0, 0, 58, 0, 16, 0, 5, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 130, 0, 16, 0, 35, 0, 0, 0, 26, 0, 16, 0, 8, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 18, 0, 16, 0, 36, 0, 0, 0, 42, 0, 16, 0, 8, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 34, 0, 16, 0, 36, 0, 0, 0, 58, 0, 16, 0, 8, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 87, 0, 0, 7, 194, 0, 16, 0, 35, 0, 0, 0, 166, 14, 16, 0, 2, 0, 0, 0, 166, 14, 16, 0, 35, 0, 0, 0, 1, 0, 0, 7, 66, 0, 16, 0, 35, 0, 0, 0, 58, 0, 16, 0, 35, 0, 0, 0, 42, 0, 16, 0, 35, 0, 0, 0, 87, 0, 0, 7, 130, 0, 16, 0, 35, 0, 0, 0, 26, 0, 16, 0, 5, 0, 0, 0, 10, 0, 16, 0, 36, 0, 0, 0, 1, 0, 0, 7, 66, 0, 16, 0, 35, 0, 0, 0, 58, 0, 16, 0, 35, 0, 0, 0, 42, 0, 16, 0, 35, 0, 0, 0, 87, 0, 0, 7, 130, 0, 16, 0, 35, 0, 0, 0, 42, 0, 16, 0, 5, 0, 0, 0, 26, 0, 16, 0, 36, 0, 0, 0, 1, 0, 0, 7, 66, 0, 16, 0, 35, 0, 0, 0, 58, 0, 16, 0, 35, 0, 0, 0, 42, 0, 16, 0, 35, 0, 0, 0, 134, 0, 0, 5, 66, 0, 16, 0, 35, 0, 0, 0, 42, 0, 16, 0, 35, 0, 0, 0, 30, 0, 0, 7, 130, 0, 16, 0, 33, 0, 0, 0, 58, 0, 16, 0, 33, 0, 0, 0, 42, 0, 16, 0, 35, 0, 0, 0, 30, 0, 0, 10, 50, 0, 16, 0, 35, 0, 0, 0, 70, 0, 16, 0, 35, 0, 0, 0, 2, 64, 0, 0, 1, 0, 0, 0, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 22, 0, 0, 1, 31, 0, 4, 3, 58, 0, 16, 0, 23, 0, 0, 0, 30, 0, 0, 7, 18, 0, 16, 0, 35, 0, 0, 0, 58, 0, 16, 0, 28, 0, 0, 0, 26, 0, 16, 0, 35, 0, 0, 0, 167, 0, 0, 139, 2, 35, 0, 128, 131, 153, 25, 0, 18, 0, 16, 0, 35, 0, 0, 0, 10, 0, 16, 0, 35, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 224, 17, 0, 2, 0, 0, 0, 31, 0, 4, 3, 10, 0, 16, 0, 27, 0, 0, 0, 79, 0, 0, 7, 66, 0, 16, 0, 35, 0, 0, 0, 26, 0, 16, 0, 35, 0, 0, 0, 26, 0, 16, 0, 27, 0, 0, 0, 55, 0, 0, 9, 18, 0, 16, 0, 35, 0, 0, 0, 42, 0, 16, 0, 35, 0, 0, 0, 10, 0, 16, 0, 35, 0, 0, 0, 1, 64, 0, 0, 255, 255, 255, 255, 85, 0, 0, 7, 18, 0, 16, 0, 35, 0, 0, 0, 10, 0, 16, 0, 35, 0, 0, 0, 58, 0, 16, 0, 27, 0, 0, 0, 1, 0, 0, 10, 242, 0, 16, 0, 36, 0, 0, 0, 6, 0, 16, 0, 35, 0, 0, 0, 2, 64, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 4, 0, 0, 0, 8, 0, 0, 0, 39, 0, 0, 10, 242, 0, 16, 0, 36, 0, 0, 0, 70, 14, 16, 0, 36, 0, 0, 0, 2, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 140, 0, 0, 16, 242, 0, 16, 0, 36, 0, 0, 0, 2, 64, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 6, 32, 2, 0, 70, 14, 16, 0, 36, 0, 0, 0, 2, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 168, 0, 0, 8, 18, 240, 17, 0, 3, 0, 0, 0, 10, 32, 2, 0, 1, 64, 0, 0, 0, 0, 0, 0, 10, 0, 16, 0, 36, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 10, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 26, 0, 16, 0, 36, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 26, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 42, 0, 16, 0, 36, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 42, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 58, 0, 16, 0, 36, 0, 0, 0, 21, 0, 0, 1, 190, 24, 0, 1, 31, 0, 4, 3, 10, 0, 16, 0, 27, 0, 0, 0, 31, 0, 4, 3, 10, 0, 16, 0, 7, 0, 0, 0, 167, 0, 0, 8, 18, 0, 16, 0, 36, 0, 0, 0, 10, 32, 2, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 34, 0, 16, 0, 36, 0, 0, 0, 10, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 66, 0, 16, 0, 36, 0, 0, 0, 26, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 130, 0, 16, 0, 36, 0, 0, 0, 42, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 18, 0, 16, 0, 37, 0, 0, 0, 10, 0, 16, 0, 3, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 34, 0, 16, 0, 37, 0, 0, 0, 26, 0, 16, 0, 6, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 66, 0, 16, 0, 37, 0, 0, 0, 10, 0, 16, 0, 10, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 130, 0, 16, 0, 37, 0, 0, 0, 42, 0, 16, 0, 6, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 60, 0, 0, 7, 242, 0, 16, 0, 36, 0, 0, 0, 70, 14, 16, 0, 36, 0, 0, 0, 70, 14, 16, 0, 37, 0, 0, 0, 168, 0, 0, 8, 18, 240, 17, 0, 3, 0, 0, 0, 10, 32, 2, 0, 1, 64, 0, 0, 0, 0, 0, 0, 10, 0, 16, 0, 36, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 10, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 26, 0, 16, 0, 36, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 26, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 42, 0, 16, 0, 36, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 42, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 58, 0, 16, 0, 36, 0, 0, 0, 21, 0, 0, 1, 21, 0, 0, 1, 190, 24, 0, 1, 31, 0, 4, 3, 10, 0, 16, 0, 27, 0, 0, 0, 31, 0, 4, 3, 26, 0, 16, 0, 7, 0, 0, 0, 167, 0, 0, 8, 18, 0, 16, 0, 36, 0, 0, 0, 10, 32, 2, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 34, 0, 16, 0, 36, 0, 0, 0, 10, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 66, 0, 16, 0, 36, 0, 0, 0, 26, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 130, 0, 16, 0, 36, 0, 0, 0, 42, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 18, 0, 16, 0, 37, 0, 0, 0, 26, 0, 16, 0, 3, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 34, 0, 16, 0, 37, 0, 0, 0, 58, 0, 16, 0, 6, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 66, 0, 16, 0, 37, 0, 0, 0, 26, 0, 16, 0, 10, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 130, 0, 16, 0, 37, 0, 0, 0, 10, 0, 16, 0, 9, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 60, 0, 0, 7, 242, 0, 16, 0, 36, 0, 0, 0, 70, 14, 16, 0, 36, 0, 0, 0, 70, 14, 16, 0, 37, 0, 0, 0, 168, 0, 0, 8, 18, 240, 17, 0, 3, 0, 0, 0, 10, 32, 2, 0, 1, 64, 0, 0, 0, 0, 0, 0, 10, 0, 16, 0, 36, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 10, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 26, 0, 16, 0, 36, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 26, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 42, 0, 16, 0, 36, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 42, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 58, 0, 16, 0, 36, 0, 0, 0, 21, 0, 0, 1, 21, 0, 0, 1, 190, 24, 0, 1, 31, 0, 4, 3, 10, 0, 16, 0, 27, 0, 0, 0, 31, 0, 4, 3, 42, 0, 16, 0, 7, 0, 0, 0, 167, 0, 0, 8, 18, 0, 16, 0, 36, 0, 0, 0, 10, 32, 2, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 34, 0, 16, 0, 36, 0, 0, 0, 10, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 66, 0, 16, 0, 36, 0, 0, 0, 26, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 130, 0, 16, 0, 36, 0, 0, 0, 42, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 18, 0, 16, 0, 37, 0, 0, 0, 42, 0, 16, 0, 3, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 34, 0, 16, 0, 37, 0, 0, 0, 26, 0, 16, 0, 9, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 66, 0, 16, 0, 37, 0, 0, 0, 42, 0, 16, 0, 10, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 130, 0, 16, 0, 37, 0, 0, 0, 42, 0, 16, 0, 9, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 60, 0, 0, 7, 242, 0, 16, 0, 36, 0, 0, 0, 70, 14, 16, 0, 36, 0, 0, 0, 70, 14, 16, 0, 37, 0, 0, 0, 168, 0, 0, 8, 18, 240, 17, 0, 3, 0, 0, 0, 10, 32, 2, 0, 1, 64, 0, 0, 0, 0, 0, 0, 10, 0, 16, 0, 36, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 10, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 26, 0, 16, 0, 36, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 26, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 42, 0, 16, 0, 36, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 42, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 58, 0, 16, 0, 36, 0, 0, 0, 21, 0, 0, 1, 21, 0, 0, 1, 190, 24, 0, 1, 31, 0, 4, 3, 10, 0, 16, 0, 27, 0, 0, 0, 31, 0, 4, 3, 58, 0, 16, 0, 7, 0, 0, 0, 167, 0, 0, 8, 18, 0, 16, 0, 36, 0, 0, 0, 10, 32, 2, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 34, 0, 16, 0, 36, 0, 0, 0, 10, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 66, 0, 16, 0, 36, 0, 0, 0, 26, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 130, 0, 16, 0, 36, 0, 0, 0, 42, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 18, 0, 16, 0, 37, 0, 0, 0, 58, 0, 16, 0, 3, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 34, 0, 16, 0, 37, 0, 0, 0, 58, 0, 16, 0, 9, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 66, 0, 16, 0, 37, 0, 0, 0, 58, 0, 16, 0, 10, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 130, 0, 16, 0, 37, 0, 0, 0, 10, 0, 16, 0, 13, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 60, 0, 0, 7, 242, 0, 16, 0, 36, 0, 0, 0, 70, 14, 16, 0, 36, 0, 0, 0, 70, 14, 16, 0, 37, 0, 0, 0, 168, 0, 0, 8, 18, 240, 17, 0, 3, 0, 0, 0, 10, 32, 2, 0, 1, 64, 0, 0, 0, 0, 0, 0, 10, 0, 16, 0, 36, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 10, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 26, 0, 16, 0, 36, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 26, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 42, 0, 16, 0, 36, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 42, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 58, 0, 16, 0, 36, 0, 0, 0, 21, 0, 0, 1, 21, 0, 0, 1, 190, 24, 0, 1, 31, 0, 4, 3, 10, 0, 16, 0, 27, 0, 0, 0, 31, 0, 4, 3, 10, 0, 16, 0, 8, 0, 0, 0, 167, 0, 0, 8, 18, 0, 16, 0, 36, 0, 0, 0, 10, 32, 2, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 34, 0, 16, 0, 36, 0, 0, 0, 10, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 66, 0, 16, 0, 36, 0, 0, 0, 26, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 130, 0, 16, 0, 36, 0, 0, 0, 42, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 18, 0, 16, 0, 37, 0, 0, 0, 10, 0, 16, 0, 6, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 34, 0, 16, 0, 37, 0, 0, 0, 26, 0, 16, 0, 13, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 66, 0, 16, 0, 37, 0, 0, 0, 10, 0, 16, 0, 14, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 130, 0, 16, 0, 37, 0, 0, 0, 42, 0, 16, 0, 13, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 60, 0, 0, 7, 242, 0, 16, 0, 36, 0, 0, 0, 70, 14, 16, 0, 36, 0, 0, 0, 70, 14, 16, 0, 37, 0, 0, 0, 168, 0, 0, 8, 18, 240, 17, 0, 3, 0, 0, 0, 10, 32, 2, 0, 1, 64, 0, 0, 0, 0, 0, 0, 10, 0, 16, 0, 36, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 10, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 26, 0, 16, 0, 36, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 26, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 42, 0, 16, 0, 36, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 42, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 58, 0, 16, 0, 36, 0, 0, 0, 21, 0, 0, 1, 21, 0, 0, 1, 190, 24, 0, 1, 31, 0, 4, 3, 10, 0, 16, 0, 27, 0, 0, 0, 167, 0, 0, 9, 18, 0, 16, 0, 36, 0, 0, 0, 58, 0, 16, 0, 5, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 34, 0, 16, 0, 36, 0, 0, 0, 26, 0, 16, 0, 8, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 66, 0, 16, 0, 36, 0, 0, 0, 42, 0, 16, 0, 8, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 130, 0, 16, 0, 36, 0, 0, 0, 58, 0, 16, 0, 8, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 18, 0, 0, 1, 54, 0, 0, 8, 242, 0, 16, 0, 36, 0, 0, 0, 2, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21, 0, 0, 1, 87, 0, 0, 7, 82, 0, 16, 0, 35, 0, 0, 0, 166, 11, 16, 0, 2, 0, 0, 0, 6, 1, 16, 0, 36, 0, 0, 0, 1, 0, 0, 7, 18, 0, 16, 0, 35, 0, 0, 0, 42, 0, 16, 0, 35, 0, 0, 0, 10, 0, 16, 0, 35, 0, 0, 0, 87, 0, 0, 7, 194, 0, 16, 0, 35, 0, 0, 0, 86, 9, 16, 0, 5, 0, 0, 0, 166, 14, 16, 0, 36, 0, 0, 0, 1, 0, 0, 7, 18, 0, 16, 0, 35, 0, 0, 0, 42, 0, 16, 0, 35, 0, 0, 0, 10, 0, 16, 0, 35, 0, 0, 0, 1, 0, 0, 7, 18, 0, 16, 0, 35, 0, 0, 0, 58, 0, 16, 0, 35, 0, 0, 0, 10, 0, 16, 0, 35, 0, 0, 0, 134, 0, 0, 5, 18, 0, 16, 0, 35, 0, 0, 0, 10, 0, 16, 0, 35, 0, 0, 0, 1, 0, 0, 7, 18, 0, 16, 0, 35, 0, 0, 0, 10, 0, 16, 0, 27, 0, 0, 0, 10, 0, 16, 0, 35, 0, 0, 0, 30, 0, 0, 7, 130, 0, 16, 0, 33, 0, 0, 0, 58, 0, 16, 0, 33, 0, 0, 0, 10, 0, 16, 0, 35, 0, 0, 0, 21, 0, 0, 1, 31, 0, 4, 3, 10, 0, 16, 0, 7, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 10, 0, 16, 0, 11, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 58, 0, 16, 0, 33, 0, 0, 0, 21, 0, 0, 1, 190, 24, 0, 1, 31, 0, 0, 2, 10, 32, 2, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 1, 64, 0, 0, 0, 16, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 1, 64, 0, 0, 1, 18, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 21, 0, 0, 1, 31, 0, 4, 3, 58, 0, 16, 0, 1, 0, 0, 0, 31, 0, 4, 3, 10, 0, 16, 0, 16, 0, 0, 0, 167, 0, 0, 9, 18, 0, 16, 0, 35, 0, 0, 0, 26, 0, 16, 0, 14, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 66, 0, 16, 0, 35, 0, 0, 0, 58, 0, 16, 0, 11, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 30, 0, 0, 7, 18, 0, 16, 0, 35, 0, 0, 0, 42, 0, 16, 0, 35, 0, 0, 0, 10, 0, 16, 0, 35, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 58, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 10, 0, 16, 0, 35, 0, 0, 0, 18, 0, 0, 1, 167, 0, 0, 9, 18, 0, 16, 0, 35, 0, 0, 0, 1, 64, 0, 0, 1, 16, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 1, 64, 0, 0, 2, 18, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 10, 0, 16, 0, 35, 0, 0, 0, 21, 0, 0, 1, 21, 0, 0, 1, 190, 24, 0, 1, 31, 0, 4, 3, 58, 0, 16, 0, 1, 0, 0, 0, 31, 0, 4, 3, 26, 0, 16, 0, 16, 0, 0, 0, 167, 0, 0, 9, 18, 0, 16, 0, 35, 0, 0, 0, 58, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 66, 0, 16, 0, 35, 0, 0, 0, 58, 0, 16, 0, 13, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 30, 0, 0, 7, 18, 0, 16, 0, 35, 0, 0, 0, 42, 0, 16, 0, 35, 0, 0, 0, 10, 0, 16, 0, 35, 0, 0, 0, 18, 0, 0, 1, 167, 0, 0, 9, 18, 0, 16, 0, 35, 0, 0, 0, 58, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 21, 0, 0, 1, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 10, 0, 16, 0, 15, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 10, 0, 16, 0, 35, 0, 0, 0, 21, 0, 0, 1, 190, 24, 0, 1, 31, 0, 4, 3, 58, 0, 16, 0, 1, 0, 0, 0, 31, 0, 4, 3, 42, 0, 16, 0, 16, 0, 0, 0, 167, 0, 0, 9, 18, 0, 16, 0, 35, 0, 0, 0, 26, 0, 16, 0, 14, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 66, 0, 16, 0, 35, 0, 0, 0, 58, 0, 16, 0, 15, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 30, 0, 0, 7, 18, 0, 16, 0, 35, 0, 0, 0, 42, 0, 16, 0, 35, 0, 0, 0, 10, 0, 16, 0, 35, 0, 0, 0, 18, 0, 0, 1, 167, 0, 0, 9, 18, 0, 16, 0, 35, 0, 0, 0, 26, 0, 16, 0, 14, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 21, 0, 0, 1, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 42, 0, 16, 0, 15, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 10, 0, 16, 0, 35, 0, 0, 0, 21, 0, 0, 1, 190, 24, 0, 1, 31, 0, 4, 3, 58, 0, 16, 0, 1, 0, 0, 0, 31, 0, 4, 3, 58, 0, 16, 0, 16, 0, 0, 0, 167, 0, 0, 9, 18, 0, 16, 0, 35, 0, 0, 0, 58, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 66, 0, 16, 0, 35, 0, 0, 0, 42, 0, 16, 0, 14, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 30, 0, 0, 7, 18, 0, 16, 0, 35, 0, 0, 0, 42, 0, 16, 0, 35, 0, 0, 0, 10, 0, 16, 0, 35, 0, 0, 0, 18, 0, 0, 1, 167, 0, 0, 9, 18, 0, 16, 0, 35, 0, 0, 0, 58, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 21, 0, 0, 1, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 10, 0, 16, 0, 15, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 10, 0, 16, 0, 35, 0, 0, 0, 21, 0, 0, 1, 190, 24, 0, 1, 31, 0, 4, 3, 58, 0, 16, 0, 1, 0, 0, 0, 31, 0, 4, 3, 10, 0, 16, 0, 18, 0, 0, 0, 167, 0, 0, 9, 18, 0, 16, 0, 35, 0, 0, 0, 26, 0, 16, 0, 14, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 66, 0, 16, 0, 35, 0, 0, 0, 26, 0, 16, 0, 17, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 30, 0, 0, 7, 18, 0, 16, 0, 35, 0, 0, 0, 42, 0, 16, 0, 35, 0, 0, 0, 10, 0, 16, 0, 35, 0, 0, 0, 18, 0, 0, 1, 167, 0, 0, 9, 18, 0, 16, 0, 35, 0, 0, 0, 26, 0, 16, 0, 14, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 21, 0, 0, 1, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 42, 0, 16, 0, 15, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 10, 0, 16, 0, 35, 0, 0, 0, 21, 0, 0, 1, 190, 24, 0, 1, 31, 0, 4, 3, 58, 0, 16, 0, 1, 0, 0, 0, 31, 0, 4, 3, 26, 0, 16, 0, 18, 0, 0, 0, 167, 0, 0, 9, 18, 0, 16, 0, 35, 0, 0, 0, 58, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 66, 0, 16, 0, 35, 0, 0, 0, 58, 0, 16, 0, 14, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 30, 0, 0, 7, 18, 0, 16, 0, 35, 0, 0, 0, 42, 0, 16, 0, 35, 0, 0, 0, 10, 0, 16, 0, 35, 0, 0, 0, 18, 0, 0, 1, 167, 0, 0, 9, 18, 0, 16, 0, 35, 0, 0, 0, 58, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 21, 0, 0, 1, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 10, 0, 16, 0, 15, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 10, 0, 16, 0, 35, 0, 0, 0, 21, 0, 0, 1, 190, 24, 0, 1, 31, 0, 4, 3, 58, 0, 16, 0, 1, 0, 0, 0, 31, 0, 4, 3, 42, 0, 16, 0, 18, 0, 0, 0, 167, 0, 0, 9, 18, 0, 16, 0, 35, 0, 0, 0, 26, 0, 16, 0, 14, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 66, 0, 16, 0, 35, 0, 0, 0, 58, 0, 16, 0, 17, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 30, 0, 0, 7, 18, 0, 16, 0, 35, 0, 0, 0, 42, 0, 16, 0, 35, 0, 0, 0, 10, 0, 16, 0, 35, 0, 0, 0, 18, 0, 0, 1, 167, 0, 0, 9, 18, 0, 16, 0, 35, 0, 0, 0, 26, 0, 16, 0, 14, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 21, 0, 0, 1, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 42, 0, 16, 0, 15, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 10, 0, 16, 0, 35, 0, 0, 0, 21, 0, 0, 1, 190, 24, 0, 1, 31, 0, 4, 3, 58, 0, 16, 0, 1, 0, 0, 0, 31, 0, 4, 3, 58, 0, 16, 0, 18, 0, 0, 0, 167, 0, 0, 9, 18, 0, 16, 0, 35, 0, 0, 0, 58, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 66, 0, 16, 0, 35, 0, 0, 0, 26, 0, 16, 0, 15, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 30, 0, 0, 7, 18, 0, 16, 0, 35, 0, 0, 0, 42, 0, 16, 0, 35, 0, 0, 0, 10, 0, 16, 0, 35, 0, 0, 0, 18, 0, 0, 1, 167, 0, 0, 9, 18, 0, 16, 0, 35, 0, 0, 0, 58, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 21, 0, 0, 1, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 10, 0, 16, 0, 15, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 10, 0, 16, 0, 35, 0, 0, 0, 21, 0, 0, 1, 190, 24, 0, 1, 31, 0, 4, 3, 58, 0, 16, 0, 1, 0, 0, 0, 31, 0, 4, 3, 10, 0, 16, 0, 17, 0, 0, 0, 167, 0, 0, 9, 18, 0, 16, 0, 35, 0, 0, 0, 26, 0, 16, 0, 14, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 66, 0, 16, 0, 35, 0, 0, 0, 42, 0, 16, 0, 17, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 30, 0, 0, 7, 18, 0, 16, 0, 35, 0, 0, 0, 42, 0, 16, 0, 35, 0, 0, 0, 10, 0, 16, 0, 35, 0, 0, 0, 18, 0, 0, 1, 167, 0, 0, 9, 18, 0, 16, 0, 35, 0, 0, 0, 26, 0, 16, 0, 14, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 21, 0, 0, 1, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 42, 0, 16, 0, 15, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 10, 0, 16, 0, 35, 0, 0, 0, 21, 0, 0, 1, 190, 24, 0, 1, 54, 0, 0, 5, 18, 0, 16, 0, 35, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 54, 0, 0, 5, 66, 0, 16, 0, 35, 0, 0, 0, 42, 0, 16, 0, 27, 0, 0, 0, 48, 0, 0, 1, 80, 0, 0, 7, 130, 0, 16, 0, 35, 0, 0, 0, 10, 0, 16, 0, 35, 0, 0, 0, 42, 0, 16, 0, 21, 0, 0, 0, 3, 0, 4, 3, 58, 0, 16, 0, 35, 0, 0, 0, 79, 0, 0, 7, 130, 0, 16, 0, 35, 0, 0, 0, 42, 0, 16, 0, 35, 0, 0, 0, 26, 0, 16, 0, 27, 0, 0, 0, 30, 0, 0, 7, 18, 0, 16, 0, 36, 0, 0, 0, 58, 0, 16, 0, 28, 0, 0, 0, 42, 0, 16, 0, 35, 0, 0, 0, 167, 0, 0, 139, 2, 35, 0, 128, 131, 153, 25, 0, 18, 0, 16, 0, 36, 0, 0, 0, 10, 0, 16, 0, 36, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 224, 17, 0, 2, 0, 0, 0, 55, 0, 0, 9, 18, 0, 16, 0, 36, 0, 0, 0, 58, 0, 16, 0, 35, 0, 0, 0, 10, 0, 16, 0, 36, 0, 0, 0, 1, 64, 0, 0, 255, 255, 255, 255, 85, 0, 0, 7, 34, 0, 16, 0, 36, 0, 0, 0, 10, 0, 16, 0, 36, 0, 0, 0, 58, 0, 16, 0, 27, 0, 0, 0, 1, 0, 0, 10, 242, 0, 16, 0, 37, 0, 0, 0, 86, 5, 16, 0, 36, 0, 0, 0, 2, 64, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 4, 0, 0, 0, 8, 0, 0, 0, 39, 0, 0, 10, 242, 0, 16, 0, 38, 0, 0, 0, 70, 14, 16, 0, 37, 0, 0, 0, 2, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 140, 0, 0, 16, 242, 0, 16, 0, 43, 0, 0, 0, 2, 64, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 6, 32, 2, 0, 70, 14, 16, 0, 38, 0, 0, 0, 2, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 168, 0, 0, 8, 18, 240, 17, 0, 3, 0, 0, 0, 10, 32, 2, 0, 1, 64, 0, 0, 0, 0, 0, 0, 10, 0, 16, 0, 43, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 10, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 26, 0, 16, 0, 43, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 26, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 42, 0, 16, 0, 43, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 42, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 58, 0, 16, 0, 43, 0, 0, 0, 190, 24, 0, 1, 31, 0, 4, 3, 10, 0, 16, 0, 7, 0, 0, 0, 167, 0, 0, 8, 18, 0, 16, 0, 43, 0, 0, 0, 10, 32, 2, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 34, 0, 16, 0, 43, 0, 0, 0, 10, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 66, 0, 16, 0, 43, 0, 0, 0, 26, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 130, 0, 16, 0, 43, 0, 0, 0, 42, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 18, 0, 16, 0, 44, 0, 0, 0, 10, 0, 16, 0, 3, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 34, 0, 16, 0, 44, 0, 0, 0, 26, 0, 16, 0, 6, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 66, 0, 16, 0, 44, 0, 0, 0, 10, 0, 16, 0, 10, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 130, 0, 16, 0, 44, 0, 0, 0, 42, 0, 16, 0, 6, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 60, 0, 0, 7, 242, 0, 16, 0, 43, 0, 0, 0, 70, 14, 16, 0, 43, 0, 0, 0, 70, 14, 16, 0, 44, 0, 0, 0, 168, 0, 0, 8, 18, 240, 17, 0, 3, 0, 0, 0, 10, 32, 2, 0, 1, 64, 0, 0, 0, 0, 0, 0, 10, 0, 16, 0, 43, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 10, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 26, 0, 16, 0, 43, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 26, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 42, 0, 16, 0, 43, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 42, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 58, 0, 16, 0, 43, 0, 0, 0, 21, 0, 0, 1, 190, 24, 0, 1, 31, 0, 4, 3, 26, 0, 16, 0, 7, 0, 0, 0, 167, 0, 0, 8, 18, 0, 16, 0, 43, 0, 0, 0, 10, 32, 2, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 34, 0, 16, 0, 43, 0, 0, 0, 10, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 66, 0, 16, 0, 43, 0, 0, 0, 26, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 130, 0, 16, 0, 43, 0, 0, 0, 42, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 18, 0, 16, 0, 44, 0, 0, 0, 26, 0, 16, 0, 3, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 34, 0, 16, 0, 44, 0, 0, 0, 58, 0, 16, 0, 6, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 66, 0, 16, 0, 44, 0, 0, 0, 26, 0, 16, 0, 10, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 130, 0, 16, 0, 44, 0, 0, 0, 10, 0, 16, 0, 9, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 60, 0, 0, 7, 242, 0, 16, 0, 43, 0, 0, 0, 70, 14, 16, 0, 43, 0, 0, 0, 70, 14, 16, 0, 44, 0, 0, 0, 168, 0, 0, 8, 18, 240, 17, 0, 3, 0, 0, 0, 10, 32, 2, 0, 1, 64, 0, 0, 0, 0, 0, 0, 10, 0, 16, 0, 43, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 10, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 26, 0, 16, 0, 43, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 26, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 42, 0, 16, 0, 43, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 42, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 58, 0, 16, 0, 43, 0, 0, 0, 21, 0, 0, 1, 190, 24, 0, 1, 31, 0, 4, 3, 42, 0, 16, 0, 7, 0, 0, 0, 167, 0, 0, 8, 18, 0, 16, 0, 43, 0, 0, 0, 10, 32, 2, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 34, 0, 16, 0, 43, 0, 0, 0, 10, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 66, 0, 16, 0, 43, 0, 0, 0, 26, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 130, 0, 16, 0, 43, 0, 0, 0, 42, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 18, 0, 16, 0, 44, 0, 0, 0, 42, 0, 16, 0, 3, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 34, 0, 16, 0, 44, 0, 0, 0, 26, 0, 16, 0, 9, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 66, 0, 16, 0, 44, 0, 0, 0, 42, 0, 16, 0, 10, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 130, 0, 16, 0, 44, 0, 0, 0, 42, 0, 16, 0, 9, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 60, 0, 0, 7, 242, 0, 16, 0, 43, 0, 0, 0, 70, 14, 16, 0, 43, 0, 0, 0, 70, 14, 16, 0, 44, 0, 0, 0, 168, 0, 0, 8, 18, 240, 17, 0, 3, 0, 0, 0, 10, 32, 2, 0, 1, 64, 0, 0, 0, 0, 0, 0, 10, 0, 16, 0, 43, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 10, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 26, 0, 16, 0, 43, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 26, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 42, 0, 16, 0, 43, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 42, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 58, 0, 16, 0, 43, 0, 0, 0, 21, 0, 0, 1, 190, 24, 0, 1, 31, 0, 4, 3, 58, 0, 16, 0, 7, 0, 0, 0, 167, 0, 0, 8, 18, 0, 16, 0, 43, 0, 0, 0, 10, 32, 2, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 34, 0, 16, 0, 43, 0, 0, 0, 10, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 66, 0, 16, 0, 43, 0, 0, 0, 26, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 130, 0, 16, 0, 43, 0, 0, 0, 42, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 18, 0, 16, 0, 44, 0, 0, 0, 58, 0, 16, 0, 3, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 34, 0, 16, 0, 44, 0, 0, 0, 58, 0, 16, 0, 9, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 66, 0, 16, 0, 44, 0, 0, 0, 58, 0, 16, 0, 10, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 130, 0, 16, 0, 44, 0, 0, 0, 10, 0, 16, 0, 13, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 60, 0, 0, 7, 242, 0, 16, 0, 43, 0, 0, 0, 70, 14, 16, 0, 43, 0, 0, 0, 70, 14, 16, 0, 44, 0, 0, 0, 168, 0, 0, 8, 18, 240, 17, 0, 3, 0, 0, 0, 10, 32, 2, 0, 1, 64, 0, 0, 0, 0, 0, 0, 10, 0, 16, 0, 43, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 10, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 26, 0, 16, 0, 43, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 26, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 42, 0, 16, 0, 43, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 42, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 58, 0, 16, 0, 43, 0, 0, 0, 21, 0, 0, 1, 190, 24, 0, 1, 31, 0, 4, 3, 10, 0, 16, 0, 8, 0, 0, 0, 167, 0, 0, 8, 18, 0, 16, 0, 43, 0, 0, 0, 10, 32, 2, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 34, 0, 16, 0, 43, 0, 0, 0, 10, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 66, 0, 16, 0, 43, 0, 0, 0, 26, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 130, 0, 16, 0, 43, 0, 0, 0, 42, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 18, 0, 16, 0, 44, 0, 0, 0, 10, 0, 16, 0, 6, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 34, 0, 16, 0, 44, 0, 0, 0, 26, 0, 16, 0, 13, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 66, 0, 16, 0, 44, 0, 0, 0, 10, 0, 16, 0, 14, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 130, 0, 16, 0, 44, 0, 0, 0, 42, 0, 16, 0, 13, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 60, 0, 0, 7, 242, 0, 16, 0, 43, 0, 0, 0, 70, 14, 16, 0, 43, 0, 0, 0, 70, 14, 16, 0, 44, 0, 0, 0, 168, 0, 0, 8, 18, 240, 17, 0, 3, 0, 0, 0, 10, 32, 2, 0, 1, 64, 0, 0, 0, 0, 0, 0, 10, 0, 16, 0, 43, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 10, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 26, 0, 16, 0, 43, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 26, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 42, 0, 16, 0, 43, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 42, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 58, 0, 16, 0, 43, 0, 0, 0, 21, 0, 0, 1, 190, 24, 0, 1, 167, 0, 0, 9, 66, 0, 16, 0, 36, 0, 0, 0, 58, 0, 16, 0, 5, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 130, 0, 16, 0, 36, 0, 0, 0, 26, 0, 16, 0, 8, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 34, 0, 16, 0, 37, 0, 0, 0, 42, 0, 16, 0, 8, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 66, 0, 16, 0, 37, 0, 0, 0, 58, 0, 16, 0, 8, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 140, 0, 0, 11, 34, 0, 16, 0, 36, 0, 0, 0, 1, 64, 0, 0, 4, 0, 0, 0, 1, 64, 0, 0, 5, 0, 0, 0, 26, 0, 16, 0, 36, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 30, 0, 0, 7, 34, 0, 16, 0, 36, 0, 0, 0, 26, 0, 16, 0, 11, 0, 0, 0, 26, 0, 16, 0, 36, 0, 0, 0, 30, 0, 0, 7, 34, 0, 16, 0, 36, 0, 0, 0, 26, 0, 16, 0, 36, 0, 0, 0, 1, 64, 0, 0, 0, 16, 0, 0, 167, 0, 0, 9, 34, 0, 16, 0, 36, 0, 0, 0, 26, 0, 16, 0, 36, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 31, 0, 4, 3, 58, 0, 16, 0, 35, 0, 0, 0, 30, 0, 0, 7, 130, 0, 16, 0, 35, 0, 0, 0, 10, 0, 16, 0, 37, 0, 0, 0, 1, 64, 0, 0, 255, 255, 255, 255, 87, 0, 0, 7, 130, 0, 16, 0, 35, 0, 0, 0, 42, 0, 16, 0, 36, 0, 0, 0, 58, 0, 16, 0, 35, 0, 0, 0, 32, 0, 0, 10, 114, 0, 16, 0, 38, 0, 0, 0, 150, 7, 16, 0, 38, 0, 0, 0, 2, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 87, 0, 0, 7, 18, 0, 16, 0, 37, 0, 0, 0, 58, 0, 16, 0, 36, 0, 0, 0, 10, 0, 16, 0, 38, 0, 0, 0, 1, 0, 0, 7, 130, 0, 16, 0, 35, 0, 0, 0, 58, 0, 16, 0, 35, 0, 0, 0, 10, 0, 16, 0, 37, 0, 0, 0, 87, 0, 0, 7, 18, 0, 16, 0, 37, 0, 0, 0, 26, 0, 16, 0, 37, 0, 0, 0, 26, 0, 16, 0, 38, 0, 0, 0, 1, 0, 0, 7, 130, 0, 16, 0, 35, 0, 0, 0, 58, 0, 16, 0, 35, 0, 0, 0, 10, 0, 16, 0, 37, 0, 0, 0, 87, 0, 0, 7, 18, 0, 16, 0, 37, 0, 0, 0, 42, 0, 16, 0, 37, 0, 0, 0, 42, 0, 16, 0, 38, 0, 0, 0, 1, 0, 0, 7, 130, 0, 16, 0, 35, 0, 0, 0, 58, 0, 16, 0, 35, 0, 0, 0, 10, 0, 16, 0, 37, 0, 0, 0, 138, 0, 0, 8, 130, 0, 16, 0, 35, 0, 0, 0, 10, 32, 2, 0, 1, 64, 0, 0, 0, 0, 0, 0, 58, 0, 16, 0, 35, 0, 0, 0, 134, 0, 0, 5, 130, 0, 16, 0, 35, 0, 0, 0, 58, 0, 16, 0, 35, 0, 0, 0, 30, 0, 0, 7, 130, 0, 16, 0, 35, 0, 0, 0, 58, 0, 16, 0, 35, 0, 0, 0, 26, 0, 16, 0, 36, 0, 0, 0, 30, 0, 0, 7, 130, 0, 16, 0, 35, 0, 0, 0, 58, 0, 16, 0, 31, 0, 0, 0, 58, 0, 16, 0, 35, 0, 0, 0, 168, 0, 0, 9, 18, 224, 17, 0, 2, 0, 0, 0, 58, 0, 16, 0, 35, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 10, 0, 16, 0, 36, 0, 0, 0, 21, 0, 0, 1, 190, 24, 0, 1, 31, 0, 4, 3, 10, 0, 16, 0, 7, 0, 0, 0, 167, 0, 0, 9, 130, 0, 16, 0, 35, 0, 0, 0, 42, 0, 16, 0, 11, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 87, 0, 0, 7, 50, 0, 16, 0, 36, 0, 0, 0, 230, 10, 16, 0, 2, 0, 0, 0, 230, 10, 16, 0, 36, 0, 0, 0, 1, 0, 0, 7, 18, 0, 16, 0, 36, 0, 0, 0, 26, 0, 16, 0, 36, 0, 0, 0, 10, 0, 16, 0, 36, 0, 0, 0, 87, 0, 0, 7, 34, 0, 16, 0, 36, 0, 0, 0, 26, 0, 16, 0, 5, 0, 0, 0, 26, 0, 16, 0, 37, 0, 0, 0, 1, 0, 0, 7, 18, 0, 16, 0, 36, 0, 0, 0, 26, 0, 16, 0, 36, 0, 0, 0, 10, 0, 16, 0, 36, 0, 0, 0, 87, 0, 0, 7, 34, 0, 16, 0, 36, 0, 0, 0, 42, 0, 16, 0, 5, 0, 0, 0, 42, 0, 16, 0, 37, 0, 0, 0, 1, 0, 0, 7, 18, 0, 16, 0, 36, 0, 0, 0, 26, 0, 16, 0, 36, 0, 0, 0, 10, 0, 16, 0, 36, 0, 0, 0, 134, 0, 0, 5, 18, 0, 16, 0, 36, 0, 0, 0, 10, 0, 16, 0, 36, 0, 0, 0, 30, 0, 0, 7, 130, 0, 16, 0, 35, 0, 0, 0, 58, 0, 16, 0, 35, 0, 0, 0, 10, 0, 16, 0, 36, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 42, 0, 16, 0, 11, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 58, 0, 16, 0, 35, 0, 0, 0, 21, 0, 0, 1, 30, 0, 0, 10, 82, 0, 16, 0, 35, 0, 0, 0, 6, 2, 16, 0, 35, 0, 0, 0, 2, 64, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 32, 0, 0, 0, 0, 0, 0, 0, 22, 0, 0, 1, 31, 0, 4, 3, 58, 0, 16, 0, 23, 0, 0, 0, 79, 0, 0, 7, 18, 0, 16, 0, 35, 0, 0, 0, 42, 0, 16, 0, 35, 0, 0, 0, 26, 0, 16, 0, 27, 0, 0, 0, 30, 0, 0, 7, 130, 0, 16, 0, 35, 0, 0, 0, 58, 0, 16, 0, 28, 0, 0, 0, 42, 0, 16, 0, 35, 0, 0, 0, 167, 0, 0, 139, 2, 35, 0, 128, 131, 153, 25, 0, 130, 0, 16, 0, 35, 0, 0, 0, 58, 0, 16, 0, 35, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 224, 17, 0, 2, 0, 0, 0, 55, 0, 0, 9, 130, 0, 16, 0, 35, 0, 0, 0, 10, 0, 16, 0, 35, 0, 0, 0, 58, 0, 16, 0, 35, 0, 0, 0, 1, 64, 0, 0, 255, 255, 255, 255, 85, 0, 0, 7, 18, 0, 16, 0, 36, 0, 0, 0, 58, 0, 16, 0, 35, 0, 0, 0, 58, 0, 16, 0, 27, 0, 0, 0, 31, 0, 4, 3, 10, 0, 16, 0, 27, 0, 0, 0, 1, 0, 0, 10, 242, 0, 16, 0, 37, 0, 0, 0, 6, 0, 16, 0, 36, 0, 0, 0, 2, 64, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 4, 0, 0, 0, 8, 0, 0, 0, 39, 0, 0, 10, 242, 0, 16, 0, 37, 0, 0, 0, 70, 14, 16, 0, 37, 0, 0, 0, 2, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 140, 0, 0, 16, 242, 0, 16, 0, 37, 0, 0, 0, 2, 64, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 6, 32, 2, 0, 70, 14, 16, 0, 37, 0, 0, 0, 2, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 168, 0, 0, 8, 18, 240, 17, 0, 3, 0, 0, 0, 10, 32, 2, 0, 1, 64, 0, 0, 0, 0, 0, 0, 10, 0, 16, 0, 37, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 10, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 26, 0, 16, 0, 37, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 26, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 42, 0, 16, 0, 37, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 42, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 58, 0, 16, 0, 37, 0, 0, 0, 21, 0, 0, 1, 190, 24, 0, 1, 31, 0, 4, 3, 10, 0, 16, 0, 27, 0, 0, 0, 31, 0, 4, 3, 10, 0, 16, 0, 7, 0, 0, 0, 167, 0, 0, 8, 18, 0, 16, 0, 37, 0, 0, 0, 10, 32, 2, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 34, 0, 16, 0, 37, 0, 0, 0, 10, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 66, 0, 16, 0, 37, 0, 0, 0, 26, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 130, 0, 16, 0, 37, 0, 0, 0, 42, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 18, 0, 16, 0, 38, 0, 0, 0, 10, 0, 16, 0, 3, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 34, 0, 16, 0, 38, 0, 0, 0, 26, 0, 16, 0, 6, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 66, 0, 16, 0, 38, 0, 0, 0, 10, 0, 16, 0, 10, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 130, 0, 16, 0, 38, 0, 0, 0, 42, 0, 16, 0, 6, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 60, 0, 0, 7, 242, 0, 16, 0, 37, 0, 0, 0, 70, 14, 16, 0, 37, 0, 0, 0, 70, 14, 16, 0, 38, 0, 0, 0, 168, 0, 0, 8, 18, 240, 17, 0, 3, 0, 0, 0, 10, 32, 2, 0, 1, 64, 0, 0, 0, 0, 0, 0, 10, 0, 16, 0, 37, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 10, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 26, 0, 16, 0, 37, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 26, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 42, 0, 16, 0, 37, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 42, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 58, 0, 16, 0, 37, 0, 0, 0, 21, 0, 0, 1, 21, 0, 0, 1, 190, 24, 0, 1, 31, 0, 4, 3, 10, 0, 16, 0, 27, 0, 0, 0, 31, 0, 4, 3, 26, 0, 16, 0, 7, 0, 0, 0, 167, 0, 0, 8, 18, 0, 16, 0, 37, 0, 0, 0, 10, 32, 2, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 34, 0, 16, 0, 37, 0, 0, 0, 10, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 66, 0, 16, 0, 37, 0, 0, 0, 26, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 130, 0, 16, 0, 37, 0, 0, 0, 42, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 18, 0, 16, 0, 38, 0, 0, 0, 26, 0, 16, 0, 3, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 34, 0, 16, 0, 38, 0, 0, 0, 58, 0, 16, 0, 6, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 66, 0, 16, 0, 38, 0, 0, 0, 26, 0, 16, 0, 10, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 130, 0, 16, 0, 38, 0, 0, 0, 10, 0, 16, 0, 9, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 60, 0, 0, 7, 242, 0, 16, 0, 37, 0, 0, 0, 70, 14, 16, 0, 37, 0, 0, 0, 70, 14, 16, 0, 38, 0, 0, 0, 168, 0, 0, 8, 18, 240, 17, 0, 3, 0, 0, 0, 10, 32, 2, 0, 1, 64, 0, 0, 0, 0, 0, 0, 10, 0, 16, 0, 37, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 10, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 26, 0, 16, 0, 37, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 26, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 42, 0, 16, 0, 37, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 42, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 58, 0, 16, 0, 37, 0, 0, 0, 21, 0, 0, 1, 21, 0, 0, 1, 190, 24, 0, 1, 31, 0, 4, 3, 10, 0, 16, 0, 27, 0, 0, 0, 31, 0, 4, 3, 42, 0, 16, 0, 7, 0, 0, 0, 167, 0, 0, 8, 18, 0, 16, 0, 37, 0, 0, 0, 10, 32, 2, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 34, 0, 16, 0, 37, 0, 0, 0, 10, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 66, 0, 16, 0, 37, 0, 0, 0, 26, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 130, 0, 16, 0, 37, 0, 0, 0, 42, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 18, 0, 16, 0, 38, 0, 0, 0, 42, 0, 16, 0, 3, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 34, 0, 16, 0, 38, 0, 0, 0, 26, 0, 16, 0, 9, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 66, 0, 16, 0, 38, 0, 0, 0, 42, 0, 16, 0, 10, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 130, 0, 16, 0, 38, 0, 0, 0, 42, 0, 16, 0, 9, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 60, 0, 0, 7, 242, 0, 16, 0, 37, 0, 0, 0, 70, 14, 16, 0, 37, 0, 0, 0, 70, 14, 16, 0, 38, 0, 0, 0, 168, 0, 0, 8, 18, 240, 17, 0, 3, 0, 0, 0, 10, 32, 2, 0, 1, 64, 0, 0, 0, 0, 0, 0, 10, 0, 16, 0, 37, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 10, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 26, 0, 16, 0, 37, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 26, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 42, 0, 16, 0, 37, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 42, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 58, 0, 16, 0, 37, 0, 0, 0, 21, 0, 0, 1, 21, 0, 0, 1, 190, 24, 0, 1, 31, 0, 4, 3, 10, 0, 16, 0, 27, 0, 0, 0, 31, 0, 4, 3, 58, 0, 16, 0, 7, 0, 0, 0, 167, 0, 0, 8, 18, 0, 16, 0, 37, 0, 0, 0, 10, 32, 2, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 34, 0, 16, 0, 37, 0, 0, 0, 10, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 66, 0, 16, 0, 37, 0, 0, 0, 26, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 130, 0, 16, 0, 37, 0, 0, 0, 42, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 18, 0, 16, 0, 38, 0, 0, 0, 58, 0, 16, 0, 3, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 34, 0, 16, 0, 38, 0, 0, 0, 58, 0, 16, 0, 9, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 66, 0, 16, 0, 38, 0, 0, 0, 58, 0, 16, 0, 10, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 130, 0, 16, 0, 38, 0, 0, 0, 10, 0, 16, 0, 13, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 60, 0, 0, 7, 242, 0, 16, 0, 37, 0, 0, 0, 70, 14, 16, 0, 37, 0, 0, 0, 70, 14, 16, 0, 38, 0, 0, 0, 168, 0, 0, 8, 18, 240, 17, 0, 3, 0, 0, 0, 10, 32, 2, 0, 1, 64, 0, 0, 0, 0, 0, 0, 10, 0, 16, 0, 37, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 10, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 26, 0, 16, 0, 37, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 26, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 42, 0, 16, 0, 37, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 42, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 58, 0, 16, 0, 37, 0, 0, 0, 21, 0, 0, 1, 21, 0, 0, 1, 190, 24, 0, 1, 31, 0, 4, 3, 10, 0, 16, 0, 27, 0, 0, 0, 31, 0, 4, 3, 10, 0, 16, 0, 8, 0, 0, 0, 167, 0, 0, 8, 18, 0, 16, 0, 37, 0, 0, 0, 10, 32, 2, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 34, 0, 16, 0, 37, 0, 0, 0, 10, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 66, 0, 16, 0, 37, 0, 0, 0, 26, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 130, 0, 16, 0, 37, 0, 0, 0, 42, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 18, 0, 16, 0, 38, 0, 0, 0, 10, 0, 16, 0, 6, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 34, 0, 16, 0, 38, 0, 0, 0, 26, 0, 16, 0, 13, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 66, 0, 16, 0, 38, 0, 0, 0, 10, 0, 16, 0, 14, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 130, 0, 16, 0, 38, 0, 0, 0, 42, 0, 16, 0, 13, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 60, 0, 0, 7, 242, 0, 16, 0, 37, 0, 0, 0, 70, 14, 16, 0, 37, 0, 0, 0, 70, 14, 16, 0, 38, 0, 0, 0, 168, 0, 0, 8, 18, 240, 17, 0, 3, 0, 0, 0, 10, 32, 2, 0, 1, 64, 0, 0, 0, 0, 0, 0, 10, 0, 16, 0, 37, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 10, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 26, 0, 16, 0, 37, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 26, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 42, 0, 16, 0, 37, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 42, 0, 16, 0, 12, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 58, 0, 16, 0, 37, 0, 0, 0, 21, 0, 0, 1, 21, 0, 0, 1, 190, 24, 0, 1, 31, 0, 4, 3, 10, 0, 16, 0, 27, 0, 0, 0, 167, 0, 0, 9, 18, 0, 16, 0, 37, 0, 0, 0, 58, 0, 16, 0, 5, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 34, 0, 16, 0, 37, 0, 0, 0, 26, 0, 16, 0, 8, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 66, 0, 16, 0, 37, 0, 0, 0, 42, 0, 16, 0, 8, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 167, 0, 0, 9, 130, 0, 16, 0, 37, 0, 0, 0, 58, 0, 16, 0, 8, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 1, 0, 0, 10, 242, 0, 16, 0, 38, 0, 0, 0, 6, 0, 16, 0, 36, 0, 0, 0, 2, 64, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 4, 0, 0, 0, 8, 0, 0, 0, 30, 0, 0, 7, 34, 0, 16, 0, 36, 0, 0, 0, 10, 0, 16, 0, 38, 0, 0, 0, 1, 64, 0, 0, 255, 255, 255, 255, 87, 0, 0, 7, 34, 0, 16, 0, 36, 0, 0, 0, 10, 0, 16, 0, 37, 0, 0, 0, 26, 0, 16, 0, 36, 0, 0, 0, 39, 0, 0, 10, 114, 0, 16, 0, 38, 0, 0, 0, 150, 7, 16, 0, 38, 0, 0, 0, 2, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 0, 0, 10, 114, 0, 16, 0, 38, 0, 0, 0, 70, 2, 16, 0, 38, 0, 0, 0, 2, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 87, 0, 0, 7, 114, 0, 16, 0, 38, 0, 0, 0, 150, 7, 16, 0, 37, 0, 0, 0, 70, 2, 16, 0, 38, 0, 0, 0, 1, 0, 0, 7, 34, 0, 16, 0, 36, 0, 0, 0, 26, 0, 16, 0, 36, 0, 0, 0, 10, 0, 16, 0, 38, 0, 0, 0, 1, 0, 0, 7, 34, 0, 16, 0, 36, 0, 0, 0, 26, 0, 16, 0, 38, 0, 0, 0, 26, 0, 16, 0, 36, 0, 0, 0, 1, 0, 0, 7, 34, 0, 16, 0, 36, 0, 0, 0, 42, 0, 16, 0, 38, 0, 0, 0, 26, 0, 16, 0, 36, 0, 0, 0, 140, 0, 0, 11, 18, 0, 16, 0, 36, 0, 0, 0, 1, 64, 0, 0, 4, 0, 0, 0, 1, 64, 0, 0, 5, 0, 0, 0, 10, 0, 16, 0, 36, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 30, 0, 0, 7, 18, 0, 16, 0, 36, 0, 0, 0, 26, 0, 16, 0, 11, 0, 0, 0, 10, 0, 16, 0, 36, 0, 0, 0, 30, 0, 0, 7, 18, 0, 16, 0, 36, 0, 0, 0, 10, 0, 16, 0, 36, 0, 0, 0, 1, 64, 0, 0, 0, 16, 0, 0, 167, 0, 0, 9, 18, 0, 16, 0, 36, 0, 0, 0, 10, 0, 16, 0, 36, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 138, 0, 0, 8, 34, 0, 16, 0, 36, 0, 0, 0, 10, 32, 2, 0, 1, 64, 0, 0, 0, 0, 0, 0, 26, 0, 16, 0, 36, 0, 0, 0, 134, 0, 0, 5, 34, 0, 16, 0, 36, 0, 0, 0, 26, 0, 16, 0, 36, 0, 0, 0, 30, 0, 0, 7, 18, 0, 16, 0, 36, 0, 0, 0, 26, 0, 16, 0, 36, 0, 0, 0, 10, 0, 16, 0, 36, 0, 0, 0, 18, 0, 0, 1, 54, 0, 0, 8, 242, 0, 16, 0, 37, 0, 0, 0, 2, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 54, 0, 0, 5, 18, 0, 16, 0, 36, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 21, 0, 0, 1, 31, 0, 4, 3, 10, 0, 16, 0, 35, 0, 0, 0, 30, 0, 0, 7, 18, 0, 16, 0, 35, 0, 0, 0, 58, 0, 16, 0, 31, 0, 0, 0, 10, 0, 16, 0, 36, 0, 0, 0, 168, 0, 0, 9, 18, 224, 17, 0, 2, 0, 0, 0, 10, 0, 16, 0, 35, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 58, 0, 16, 0, 35, 0, 0, 0, 21, 0, 0, 1, 190, 24, 0, 1, 31, 0, 4, 3, 10, 0, 16, 0, 27, 0, 0, 0, 31, 0, 4, 3, 10, 0, 16, 0, 7, 0, 0, 0, 167, 0, 0, 9, 18, 0, 16, 0, 35, 0, 0, 0, 42, 0, 16, 0, 11, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 3, 0, 0, 0, 87, 0, 0, 7, 130, 0, 16, 0, 35, 0, 0, 0, 42, 0, 16, 0, 2, 0, 0, 0, 10, 0, 16, 0, 37, 0, 0, 0, 87, 0, 0, 7, 18, 0, 16, 0, 36, 0, 0, 0, 58, 0, 16, 0, 2, 0, 0, 0, 26, 0, 16, 0, 37, 0, 0, 0, 1, 0, 0, 7, 130, 0, 16, 0, 35, 0, 0, 0, 58, 0, 16, 0, 35, 0, 0, 0, 10, 0, 16, 0, 36, 0, 0, 0, 87, 0, 0, 7, 50, 0, 16, 0, 36, 0, 0, 0, 150, 5, 16, 0, 5, 0, 0, 0, 230, 10, 16, 0, 37, 0, 0, 0, 1, 0, 0, 7, 130, 0, 16, 0, 35, 0, 0, 0, 58, 0, 16, 0, 35, 0, 0, 0, 10, 0, 16, 0, 36, 0, 0, 0, 1, 0, 0, 7, 130, 0, 16, 0, 35, 0, 0, 0, 26, 0, 16, 0, 36, 0, 0, 0, 58, 0, 16, 0, 35, 0, 0, 0, 134, 0, 0, 5, 130, 0, 16, 0, 35, 0, 0, 0, 58, 0, 16, 0, 35, 0, 0, 0, 30, 0, 0, 7, 18, 0, 16, 0, 35, 0, 0, 0, 58, 0, 16, 0, 35, 0, 0, 0, 10, 0, 16, 0, 35, 0, 0, 0, 168, 0, 0, 9, 18, 240, 17, 0, 3, 0, 0, 0, 42, 0, 16, 0, 11, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 10, 0, 16, 0, 35, 0, 0, 0, 21, 0, 0, 1, 21, 0, 0, 1, 21, 0, 0, 1, 30, 0, 0, 7, 130, 0, 16, 0, 27, 0, 0, 0, 58, 0, 16, 0, 27, 0, 0, 0, 1, 64, 0, 0, 4, 0, 0, 0, 54, 0, 0, 5, 18, 0, 16, 0, 35, 0, 0, 0, 58, 0, 16, 0, 31, 0, 0, 0, 54, 0, 0, 5, 130, 0, 16, 0, 31, 0, 0, 0, 58, 0, 16, 0, 28, 0, 0, 0, 54, 0, 0, 5, 130, 0, 16, 0, 28, 0, 0, 0, 10, 0, 16, 0, 35, 0, 0, 0, 22, 0, 0, 1, 54, 0, 0, 4, 66, 0, 16, 0, 21, 0, 0, 0, 10, 32, 2, 0, 48, 0, 0, 1, 33, 0, 0, 7, 130, 0, 16, 0, 22, 0, 0, 0, 42, 0, 16, 0, 21, 0, 0, 0, 26, 0, 16, 0, 19, 0, 0, 0, 3, 0, 4, 3, 58, 0, 16, 0, 22, 0, 0, 0, 30, 0, 0, 7, 130, 0, 16, 0, 22, 0, 0, 0, 42, 0, 16, 0, 21, 0, 0, 0, 58, 0, 16, 0, 21, 0, 0, 0, 167, 0, 0, 139, 2, 35, 0, 128, 131, 153, 25, 0, 130, 0, 16, 0, 23, 0, 0, 0, 58, 0, 16, 0, 22, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 224, 17, 0, 2, 0, 0, 0, 42, 0, 0, 7, 130, 0, 16, 0, 23, 0, 0, 0, 58, 0, 16, 0, 23, 0, 0, 0, 1, 64, 0, 0, 16, 0, 0, 0, 30, 0, 0, 7, 130, 0, 16, 0, 22, 0, 0, 0, 58, 0, 16, 0, 22, 0, 0, 0, 1, 64, 0, 0, 255, 255, 255, 255, 167, 0, 0, 139, 2, 35, 0, 128, 131, 153, 25, 0, 130, 0, 16, 0, 22, 0, 0, 0, 58, 0, 16, 0, 22, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 224, 17, 0, 2, 0, 0, 0, 42, 0, 0, 7, 130, 0, 16, 0, 22, 0, 0, 0, 58, 0, 16, 0, 22, 0, 0, 0, 1, 64, 0, 0, 16, 0, 0, 0, 30, 0, 0, 7, 18, 0, 16, 0, 27, 0, 0, 0, 58, 0, 16, 0, 23, 0, 0, 0, 1, 64, 0, 0, 255, 255, 255, 255, 55, 0, 0, 9, 130, 0, 16, 0, 22, 0, 0, 0, 42, 0, 16, 0, 21, 0, 0, 0, 58, 0, 16, 0, 22, 0, 0, 0, 10, 0, 16, 0, 27, 0, 0, 0, 39, 0, 0, 7, 18, 0, 16, 0, 27, 0, 0, 0, 58, 0, 16, 0, 22, 0, 0, 0, 58, 0, 16, 0, 23, 0, 0, 0, 31, 0, 4, 3, 10, 0, 16, 0, 27, 0, 0, 0, 30, 0, 0, 7, 130, 0, 16, 0, 23, 0, 0, 0, 58, 0, 16, 0, 19, 0, 0, 0, 58, 0, 16, 0, 23, 0, 0, 0, 168, 0, 0, 9, 18, 224, 17, 0, 2, 0, 0, 0, 58, 0, 16, 0, 23, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 42, 0, 16, 0, 21, 0, 0, 0, 30, 0, 0, 7, 130, 0, 16, 0, 22, 0, 0, 0, 58, 0, 16, 0, 19, 0, 0, 0, 58, 0, 16, 0, 22, 0, 0, 0, 30, 0, 0, 7, 130, 0, 16, 0, 22, 0, 0, 0, 58, 0, 16, 0, 22, 0, 0, 0, 1, 64, 0, 0, 1, 0, 0, 0, 168, 0, 0, 9, 18, 224, 17, 0, 2, 0, 0, 0, 58, 0, 16, 0, 22, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 42, 0, 16, 0, 21, 0, 0, 0, 21, 0, 0, 1, 30, 0, 0, 7, 66, 0, 16, 0, 21, 0, 0, 0, 42, 0, 16, 0, 21, 0, 0, 0, 1, 64, 0, 0, 0, 4, 0, 0, 22, 0, 0, 1, 165, 0, 0, 7, 194, 0, 16, 0, 21, 0, 0, 0, 1, 64, 0, 0, 108, 0, 0, 0, 6, 244, 17, 0, 0, 0, 0, 0, 54, 0, 0, 4, 130, 0, 16, 0, 22, 0, 0, 0, 10, 32, 2, 0, 48, 0, 0, 1, 33, 0, 0, 7, 130, 0, 16, 0, 23, 0, 0, 0, 58, 0, 16, 0, 22, 0, 0, 0, 26, 0, 16, 0, 19, 0, 0, 0, 3, 0, 4, 3, 58, 0, 16, 0, 23, 0, 0, 0, 30, 0, 0, 7, 130, 0, 16, 0, 23, 0, 0, 0, 58, 0, 16, 0, 21, 0, 0, 0, 58, 0, 16, 0, 22, 0, 0, 0, 167, 0, 0, 139, 2, 35, 0, 128, 131, 153, 25, 0, 130, 0, 16, 0, 23, 0, 0, 0, 58, 0, 16, 0, 23, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 224, 17, 0, 2, 0, 0, 0, 1, 0, 0, 7, 130, 0, 16, 0, 23, 0, 0, 0, 58, 0, 16, 0, 23, 0, 0, 0, 1, 64, 0, 0, 255, 255, 0, 0, 30, 0, 0, 7, 130, 0, 16, 0, 23, 0, 0, 0, 42, 0, 16, 0, 21, 0, 0, 0, 58, 0, 16, 0, 23, 0, 0, 0, 167, 0, 0, 139, 2, 131, 0, 128, 131, 153, 25, 0, 242, 0, 16, 0, 27, 0, 0, 0, 58, 0, 16, 0, 23, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 70, 238, 17, 0, 1, 0, 0, 0, 30, 0, 0, 7, 130, 0, 16, 0, 23, 0, 0, 0, 26, 0, 16, 0, 0, 0, 0, 0, 58, 0, 16, 0, 22, 0, 0, 0, 41, 0, 0, 7, 130, 0, 16, 0, 23, 0, 0, 0, 58, 0, 16, 0, 23, 0, 0, 0, 1, 64, 0, 0, 4, 0, 0, 0, 166, 0, 0, 7, 242, 224, 17, 0, 0, 0, 0, 0, 58, 0, 16, 0, 23, 0, 0, 0, 70, 14, 16, 0, 27, 0, 0, 0, 30, 0, 0, 7, 130, 0, 16, 0, 22, 0, 0, 0, 58, 0, 16, 0, 22, 0, 0, 0, 1, 64, 0, 0, 0, 4, 0, 0, 22, 0, 0, 1, 190, 24, 0, 1, 165, 0, 0, 7, 66, 0, 16, 0, 21, 0, 0, 0, 1, 64, 0, 0, 96, 0, 0, 0, 6, 240, 17, 0, 0, 0, 0, 0, 56, 0, 0, 7, 130, 0, 16, 0, 21, 0, 0, 0, 42, 0, 16, 0, 21, 0, 0, 0, 42, 0, 16, 0, 21, 0, 0, 0, 165, 0, 0, 7, 130, 0, 16, 0, 22, 0, 0, 0, 1, 64, 0, 0, 112, 0, 0, 0, 6, 240, 17, 0, 0, 0, 0, 0, 165, 0, 0, 7, 130, 0, 16, 0, 23, 0, 0, 0, 1, 64, 0, 0, 160, 0, 0, 0, 6, 240, 17, 0, 1, 0, 0, 0, 54, 0, 0, 4, 18, 0, 16, 0, 27, 0, 0, 0, 10, 32, 2, 0, 48, 0, 0, 1, 33, 0, 0, 7, 34, 0, 16, 0, 27, 0, 0, 0, 10, 0, 16, 0, 27, 0, 0, 0, 26, 0, 16, 0, 19, 0, 0, 0, 3, 0, 4, 3, 26, 0, 16, 0, 27, 0, 0, 0, 30, 0, 0, 7, 34, 0, 16, 0, 27, 0, 0, 0, 58, 0, 16, 0, 22, 0, 0, 0, 10, 0, 16, 0, 27, 0, 0, 0, 167, 0, 0, 139, 2, 35, 0, 128, 131, 153, 25, 0, 34, 0, 16, 0, 27, 0, 0, 0, 26, 0, 16, 0, 27, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 224, 17, 0, 2, 0, 0, 0, 1, 0, 0, 7, 34, 0, 16, 0, 27, 0, 0, 0, 26, 0, 16, 0, 27, 0, 0, 0, 1, 64, 0, 0, 255, 255, 0, 0, 30, 0, 0, 7, 66, 0, 16, 0, 27, 0, 0, 0, 26, 0, 16, 0, 0, 0, 0, 0, 10, 0, 16, 0, 27, 0, 0, 0, 41, 0, 0, 7, 66, 0, 16, 0, 27, 0, 0, 0, 42, 0, 16, 0, 27, 0, 0, 0, 1, 64, 0, 0, 4, 0, 0, 0, 165, 0, 0, 137, 194, 2, 0, 128, 131, 153, 25, 0, 242, 0, 16, 0, 36, 0, 0, 0, 42, 0, 16, 0, 27, 0, 0, 0, 70, 238, 17, 0, 0, 0, 0, 0, 30, 0, 0, 7, 66, 0, 16, 0, 27, 0, 0, 0, 58, 0, 16, 0, 23, 0, 0, 0, 26, 0, 16, 0, 27, 0, 0, 0, 167, 0, 0, 139, 2, 131, 0, 128, 131, 153, 25, 0, 114, 0, 16, 0, 37, 0, 0, 0, 42, 0, 16, 0, 27, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 70, 114, 16, 0, 14, 0, 0, 0, 17, 0, 0, 8, 66, 0, 16, 0, 27, 0, 0, 0, 70, 14, 16, 0, 36, 0, 0, 0, 70, 158, 144, 0, 10, 0, 16, 0, 21, 0, 0, 0, 50, 0, 0, 9, 66, 0, 16, 0, 27, 0, 0, 0, 42, 0, 16, 0, 27, 0, 0, 0, 10, 0, 16, 0, 20, 0, 0, 0, 42, 0, 16, 0, 20, 0, 0, 0, 51, 0, 0, 7, 66, 0, 16, 0, 27, 0, 0, 0, 42, 0, 16, 0, 27, 0, 0, 0, 1, 64, 0, 0, 0, 0, 255, 66, 52, 0, 0, 7, 66, 0, 16, 0, 27, 0, 0, 0, 42, 0, 16, 0, 27, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 17, 0, 0, 8, 130, 0, 16, 0, 27, 0, 0, 0, 70, 14, 16, 0, 36, 0, 0, 0, 70, 158, 144, 0, 26, 0, 16, 0, 21, 0, 0, 0, 50, 0, 0, 9, 130, 0, 16, 0, 27, 0, 0, 0, 58, 0, 16, 0, 27, 0, 0, 0, 26, 0, 16, 0, 20, 0, 0, 0, 58, 0, 16, 0, 20, 0, 0, 0, 51, 0, 0, 7, 130, 0, 16, 0, 27, 0, 0, 0, 58, 0, 16, 0, 27, 0, 0, 0, 1, 64, 0, 0, 0, 0, 255, 66, 52, 0, 0, 7, 130, 0, 16, 0, 27, 0, 0, 0, 58, 0, 16, 0, 27, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 27, 0, 0, 5, 194, 0, 16, 0, 27, 0, 0, 0, 166, 14, 16, 0, 27, 0, 0, 0, 35, 0, 0, 9, 66, 0, 16, 0, 27, 0, 0, 0, 58, 0, 16, 0, 27, 0, 0, 0, 1, 64, 0, 0, 128, 0, 0, 0, 42, 0, 16, 0, 27, 0, 0, 0, 30, 0, 0, 7, 130, 0, 16, 0, 27, 0, 0, 0, 42, 0, 16, 0, 27, 0, 0, 0, 1, 64, 0, 0, 0, 1, 0, 0, 0, 0, 0, 7, 130, 0, 16, 0, 28, 0, 0, 0, 58, 0, 16, 0, 36, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 52, 54, 0, 0, 8, 114, 0, 16, 0, 38, 0, 0, 0, 2, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 54, 0, 0, 5, 130, 0, 16, 0, 31, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 52, 54, 0, 0, 5, 18, 0, 16, 0, 35, 0, 0, 0, 42, 0, 16, 0, 27, 0, 0, 0, 48, 0, 0, 1, 34, 0, 0, 7, 130, 0, 16, 0, 35, 0, 0, 0, 58, 0, 16, 0, 27, 0, 0, 0, 10, 0, 16, 0, 35, 0, 0, 0, 3, 0, 4, 3, 58, 0, 16, 0, 35, 0, 0, 0, 30, 0, 0, 7, 130, 0, 16, 0, 35, 0, 0, 0, 58, 0, 16, 0, 19, 0, 0, 0, 10, 0, 16, 0, 35, 0, 0, 0, 167, 0, 0, 139, 2, 35, 0, 128, 131, 153, 25, 0, 130, 0, 16, 0, 37, 0, 0, 0, 58, 0, 16, 0, 35, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 224, 17, 0, 2, 0, 0, 0, 30, 0, 0, 10, 114, 0, 16, 0, 43, 0, 0, 0, 246, 15, 16, 0, 35, 0, 0, 0, 2, 64, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 167, 0, 0, 139, 2, 35, 0, 128, 131, 153, 25, 0, 130, 0, 16, 0, 35, 0, 0, 0, 10, 0, 16, 0, 43, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 224, 17, 0, 2, 0, 0, 0, 167, 0, 0, 139, 2, 35, 0, 128, 131, 153, 25, 0, 130, 0, 16, 0, 38, 0, 0, 0, 26, 0, 16, 0, 43, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 224, 17, 0, 2, 0, 0, 0, 167, 0, 0, 139, 2, 35, 0, 128, 131, 153, 25, 0, 130, 0, 16, 0, 39, 0, 0, 0, 42, 0, 16, 0, 43, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 224, 17, 0, 2, 0, 0, 0, 84, 0, 0, 7, 130, 0, 16, 0, 37, 0, 0, 0, 58, 0, 16, 0, 35, 0, 0, 0, 58, 0, 16, 0, 37, 0, 0, 0, 84, 0, 0, 7, 130, 0, 16, 0, 37, 0, 0, 0, 58, 0, 16, 0, 38, 0, 0, 0, 58, 0, 16, 0, 37, 0, 0, 0, 36, 0, 0, 7, 130, 0, 16, 0, 35, 0, 0, 0, 58, 0, 16, 0, 35, 0, 0, 0, 58, 0, 16, 0, 38, 0, 0, 0, 36, 0, 0, 7, 130, 0, 16, 0, 35, 0, 0, 0, 58, 0, 16, 0, 39, 0, 0, 0, 58, 0, 16, 0, 35, 0, 0, 0, 36, 0, 0, 7, 130, 0, 16, 0, 35, 0, 0, 0, 58, 0, 16, 0, 35, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 54, 0, 0, 5, 114, 0, 16, 0, 43, 0, 0, 0, 70, 2, 16, 0, 38, 0, 0, 0, 54, 0, 0, 5, 130, 0, 16, 0, 38, 0, 0, 0, 58, 0, 16, 0, 31, 0, 0, 0, 54, 0, 0, 5, 130, 0, 16, 0, 39, 0, 0, 0, 58, 0, 16, 0, 37, 0, 0, 0, 48, 0, 0, 1, 80, 0, 0, 7, 130, 0, 16, 0, 41, 0, 0, 0, 58, 0, 16, 0, 39, 0, 0, 0, 58, 0, 16, 0, 35, 0, 0, 0, 3, 0, 4, 3, 58, 0, 16, 0, 41, 0, 0, 0, 39, 0, 0, 7, 130, 0, 16, 0, 41, 0, 0, 0, 10, 0, 16, 0, 27, 0, 0, 0, 58, 0, 16, 0, 39, 0, 0, 0, 31, 0, 4, 3, 58, 0, 16, 0, 41, 0, 0, 0, 30, 0, 0, 7, 130, 0, 16, 0, 41, 0, 0, 0, 26, 0, 16, 0, 0, 0, 0, 0, 58, 0, 16, 0, 39, 0, 0, 0, 41, 0, 0, 7, 130, 0, 16, 0, 41, 0, 0, 0, 58, 0, 16, 0, 41, 0, 0, 0, 1, 64, 0, 0, 4, 0, 0, 0, 165, 0, 0, 137, 194, 2, 0, 128, 131, 153, 25, 0, 242, 0, 16, 0, 44, 0, 0, 0, 58, 0, 16, 0, 41, 0, 0, 0, 70, 238, 17, 0, 0, 0, 0, 0, 0, 0, 0, 8, 114, 0, 16, 0, 44, 0, 0, 0, 70, 2, 16, 0, 36, 0, 0, 0, 70, 2, 16, 128, 65, 0, 0, 0, 44, 0, 0, 0, 16, 0, 0, 7, 130, 0, 16, 0, 41, 0, 0, 0, 70, 2, 16, 0, 44, 0, 0, 0, 70, 2, 16, 0, 44, 0, 0, 0, 49, 0, 0, 7, 130, 0, 16, 0, 43, 0, 0, 0, 58, 0, 16, 0, 21, 0, 0, 0, 58, 0, 16, 0, 41, 0, 0, 0, 31, 0, 4, 3, 58, 0, 16, 0, 43, 0, 0, 0, 30, 0, 0, 7, 130, 0, 16, 0, 43, 0, 0, 0, 58, 0, 16, 0, 39, 0, 0, 0, 1, 64, 0, 0, 1, 0, 0, 0, 54, 0, 0, 5, 130, 0, 16, 0, 39, 0, 0, 0, 58, 0, 16, 0, 43, 0, 0, 0, 7, 0, 0, 1, 21, 0, 0, 1, 165, 0, 0, 7, 130, 0, 16, 0, 43, 0, 0, 0, 1, 64, 0, 0, 160, 0, 0, 0, 6, 240, 17, 0, 1, 0, 0, 0, 39, 0, 0, 7, 18, 0, 16, 0, 45, 0, 0, 0, 58, 0, 16, 0, 43, 0, 0, 0, 1, 64, 0, 0, 255, 255, 255, 255, 31, 0, 4, 3, 10, 0, 16, 0, 45, 0, 0, 0, 165, 0, 0, 7, 18, 0, 16, 0, 45, 0, 0, 0, 1, 64, 0, 0, 112, 0, 0, 0, 6, 240, 17, 0, 0, 0, 0, 0, 30, 0, 0, 7, 18, 0, 16, 0, 45, 0, 0, 0, 58, 0, 16, 0, 39, 0, 0, 0, 10, 0, 16, 0, 45, 0, 0, 0, 167, 0, 0, 139, 2, 35, 0, 128, 131, 153, 25, 0, 18, 0, 16, 0, 45, 0, 0, 0, 10, 0, 16, 0, 45, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 224, 17, 0, 2, 0, 0, 0, 1, 0, 0, 7, 18, 0, 16, 0, 45, 0, 0, 0, 10, 0, 16, 0, 45, 0, 0, 0, 1, 64, 0, 0, 255, 255, 0, 0, 30, 0, 0, 7, 130, 0, 16, 0, 43, 0, 0, 0, 58, 0, 16, 0, 43, 0, 0, 0, 10, 0, 16, 0, 45, 0, 0, 0, 167, 0, 0, 139, 2, 131, 0, 128, 131, 153, 25, 0, 114, 0, 16, 0, 45, 0, 0, 0, 58, 0, 16, 0, 43, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 70, 114, 16, 0, 14, 0, 0, 0, 0, 0, 0, 8, 114, 0, 16, 0, 45, 0, 0, 0, 70, 2, 16, 0, 37, 0, 0, 0, 70, 2, 16, 128, 65, 0, 0, 0, 45, 0, 0, 0, 16, 0, 0, 7, 130, 0, 16, 0, 43, 0, 0, 0, 70, 2, 16, 0, 45, 0, 0, 0, 70, 2, 16, 0, 45, 0, 0, 0, 29, 0, 0, 7, 18, 0, 16, 0, 45, 0, 0, 0, 58, 0, 16, 0, 21, 0, 0, 0, 58, 0, 16, 0, 43, 0, 0, 0, 31, 0, 4, 3, 10, 0, 16, 0, 45, 0, 0, 0, 30, 0, 0, 7, 18, 0, 16, 0, 45, 0, 0, 0, 58, 0, 16, 0, 39, 0, 0, 0, 1, 64, 0, 0, 1, 0, 0, 0, 54, 0, 0, 5, 130, 0, 16, 0, 39, 0, 0, 0, 10, 0, 16, 0, 45, 0, 0, 0, 7, 0, 0, 1, 21, 0, 0, 1, 0, 0, 0, 7, 130, 0, 16, 0, 43, 0, 0, 0, 58, 0, 16, 0, 43, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 52, 14, 0, 0, 7, 130, 0, 16, 0, 43, 0, 0, 0, 58, 0, 16, 0, 21, 0, 0, 0, 58, 0, 16, 0, 43, 0, 0, 0, 68, 0, 0, 5, 130, 0, 16, 0, 43, 0, 0, 0, 58, 0, 16, 0, 43, 0, 0, 0, 0, 0, 0, 7, 130, 0, 16, 0, 43, 0, 0, 0, 58, 0, 16, 0, 43, 0, 0, 0, 1, 64, 0, 0, 0, 0, 128, 191, 51, 0, 0, 7, 130, 0, 16, 0, 43, 0, 0, 0, 58, 0, 16, 0, 43, 0, 0, 0, 1, 64, 0, 0, 0, 0, 128, 63, 18, 0, 0, 1, 54, 0, 0, 5, 130, 0, 16, 0, 43, 0, 0, 0, 1, 64, 0, 0, 0, 0, 128, 63, 21, 0, 0, 1, 0, 0, 0, 7, 130, 0, 16, 0, 41, 0, 0, 0, 58, 0, 16, 0, 41, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 52, 68, 0, 0, 5, 130, 0, 16, 0, 41, 0, 0, 0, 58, 0, 16, 0, 41, 0, 0, 0, 50, 0, 0, 9, 130, 0, 16, 0, 41, 0, 0, 0, 42, 0, 16, 0, 21, 0, 0, 0, 58, 0, 16, 0, 41, 0, 0, 0, 1, 64, 0, 0, 0, 0, 128, 191, 52, 0, 0, 7, 130, 0, 16, 0, 41, 0, 0, 0, 58, 0, 16, 0, 41, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 56, 0, 0, 7, 18, 0, 16, 0, 45, 0, 0, 0, 58, 0, 16, 0, 41, 0, 0, 0, 58, 0, 16, 0, 41, 0, 0, 0, 56, 0, 0, 7, 130, 0, 16, 0, 43, 0, 0, 0, 58, 0, 16, 0, 43, 0, 0, 0, 10, 0, 16, 0, 45, 0, 0, 0, 0, 0, 0, 7, 130, 0, 16, 0, 44, 0, 0, 0, 58, 0, 16, 0, 28, 0, 0, 0, 58, 0, 16, 0, 44, 0, 0, 0, 14, 0, 0, 7, 130, 0, 16, 0, 43, 0, 0, 0, 58, 0, 16, 0, 43, 0, 0, 0, 58, 0, 16, 0, 44, 0, 0, 0, 50, 0, 0, 9, 114, 0, 16, 0, 43, 0, 0, 0, 246, 15, 16, 0, 43, 0, 0, 0, 70, 2, 16, 0, 44, 0, 0, 0, 70, 2, 16, 0, 43, 0, 0, 0, 0, 0, 0, 7, 130, 0, 16, 0, 38, 0, 0, 0, 58, 0, 16, 0, 38, 0, 0, 0, 58, 0, 16, 0, 41, 0, 0, 0, 21, 0, 0, 1, 30, 0, 0, 7, 130, 0, 16, 0, 39, 0, 0, 0, 58, 0, 16, 0, 39, 0, 0, 0, 1, 64, 0, 0, 1, 0, 0, 0, 22, 0, 0, 1, 54, 0, 0, 5, 114, 0, 16, 0, 38, 0, 0, 0, 70, 2, 16, 0, 43, 0, 0, 0, 54, 0, 0, 5, 130, 0, 16, 0, 31, 0, 0, 0, 58, 0, 16, 0, 38, 0, 0, 0, 30, 0, 0, 7, 18, 0, 16, 0, 35, 0, 0, 0, 10, 0, 16, 0, 35, 0, 0, 0, 1, 64, 0, 0, 128, 0, 0, 0, 22, 0, 0, 1, 165, 0, 0, 7, 66, 0, 16, 0, 27, 0, 0, 0, 1, 64, 0, 0, 120, 0, 0, 0, 6, 240, 17, 0, 1, 0, 0, 0, 56, 0, 0, 7, 66, 0, 16, 0, 27, 0, 0, 0, 58, 0, 16, 0, 36, 0, 0, 0, 42, 0, 16, 0, 27, 0, 0, 0, 14, 0, 0, 7, 66, 0, 16, 0, 27, 0, 0, 0, 42, 0, 16, 0, 27, 0, 0, 0, 58, 0, 16, 0, 31, 0, 0, 0, 165, 0, 0, 7, 130, 0, 16, 0, 27, 0, 0, 0, 1, 64, 0, 0, 108, 0, 0, 0, 6, 240, 17, 0, 0, 0, 0, 0, 30, 0, 0, 7, 34, 0, 16, 0, 27, 0, 0, 0, 26, 0, 16, 0, 27, 0, 0, 0, 58, 0, 16, 0, 27, 0, 0, 0, 167, 0, 0, 139, 2, 131, 0, 128, 131, 153, 25, 0, 114, 0, 16, 0, 36, 0, 0, 0, 26, 0, 16, 0, 27, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 70, 226, 17, 0, 1, 0, 0, 0, 50, 0, 0, 9, 114, 0, 16, 0, 36, 0, 0, 0, 70, 2, 16, 0, 38, 0, 0, 0, 166, 10, 16, 0, 27, 0, 0, 0, 70, 2, 16, 0, 36, 0, 0, 0, 168, 0, 0, 9, 114, 224, 17, 0, 1, 0, 0, 0, 26, 0, 16, 0, 27, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 70, 2, 16, 0, 36, 0, 0, 0, 30, 0, 0, 7, 18, 0, 16, 0, 27, 0, 0, 0, 10, 0, 16, 0, 27, 0, 0, 0, 1, 64, 0, 0, 0, 4, 0, 0, 22, 0, 0, 1, 190, 24, 0, 1, 165, 0, 0, 7, 18, 0, 16, 0, 20, 0, 0, 0, 1, 64, 0, 0, 108, 0, 0, 0, 6, 240, 17, 0, 0, 0, 0, 0, 54, 0, 0, 4, 34, 0, 16, 0, 20, 0, 0, 0, 10, 32, 2, 0, 48, 0, 0, 1, 33, 0, 0, 7, 66, 0, 16, 0, 20, 0, 0, 0, 26, 0, 16, 0, 20, 0, 0, 0, 42, 0, 16, 0, 19, 0, 0, 0, 3, 0, 4, 3, 42, 0, 16, 0, 20, 0, 0, 0, 30, 0, 0, 7, 66, 0, 16, 0, 20, 0, 0, 0, 26, 0, 16, 0, 20, 0, 0, 0, 10, 0, 16, 0, 20, 0, 0, 0, 167, 0, 0, 139, 2, 131, 0, 128, 131, 153, 25, 0, 242, 0, 16, 0, 21, 0, 0, 0, 42, 0, 16, 0, 20, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 70, 238, 17, 0, 1, 0, 0, 0, 30, 0, 0, 7, 66, 0, 16, 0, 20, 0, 0, 0, 26, 0, 16, 0, 0, 0, 0, 0, 26, 0, 16, 0, 20, 0, 0, 0, 41, 0, 0, 7, 66, 0, 16, 0, 20, 0, 0, 0, 42, 0, 16, 0, 20, 0, 0, 0, 1, 64, 0, 0, 4, 0, 0, 0, 166, 0, 0, 7, 242, 224, 17, 0, 0, 0, 0, 0, 42, 0, 16, 0, 20, 0, 0, 0, 70, 14, 16, 0, 21, 0, 0, 0, 30, 0, 0, 7, 34, 0, 16, 0, 20, 0, 0, 0, 26, 0, 16, 0, 20, 0, 0, 0, 1, 64, 0, 0, 0, 4, 0, 0, 22, 0, 0, 1, 165, 0, 0, 7, 66, 0, 16, 0, 19, 0, 0, 0, 1, 64, 0, 0, 112, 0, 0, 0, 6, 240, 17, 0, 0, 0, 0, 0, 54, 0, 0, 4, 18, 0, 16, 0, 20, 0, 0, 0, 10, 32, 2, 0, 48, 0, 0, 1, 33, 0, 0, 7, 34, 0, 16, 0, 20, 0, 0, 0, 10, 0, 16, 0, 20, 0, 0, 0, 26, 0, 16, 0, 19, 0, 0, 0, 3, 0, 4, 3, 26, 0, 16, 0, 20, 0, 0, 0, 30, 0, 0, 7, 34, 0, 16, 0, 20, 0, 0, 0, 42, 0, 16, 0, 19, 0, 0, 0, 10, 0, 16, 0, 20, 0, 0, 0, 167, 0, 0, 139, 2, 35, 0, 128, 131, 153, 25, 0, 34, 0, 16, 0, 20, 0, 0, 0, 26, 0, 16, 0, 20, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 224, 17, 0, 2, 0, 0, 0, 85, 0, 0, 7, 34, 0, 16, 0, 20, 0, 0, 0, 26, 0, 16, 0, 20, 0, 0, 0, 1, 64, 0, 0, 16, 0, 0, 0, 30, 0, 0, 7, 34, 0, 16, 0, 20, 0, 0, 0, 58, 0, 16, 0, 19, 0, 0, 0, 26, 0, 16, 0, 20, 0, 0, 0, 168, 0, 0, 9, 18, 224, 17, 0, 2, 0, 0, 0, 26, 0, 16, 0, 20, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 1, 64, 0, 0, 255, 255, 255, 255, 30, 0, 0, 7, 66, 0, 16, 0, 20, 0, 0, 0, 26, 0, 16, 0, 20, 0, 0, 0, 1, 64, 0, 0, 1, 0, 0, 0, 168, 0, 0, 9, 18, 224, 17, 0, 2, 0, 0, 0, 42, 0, 16, 0, 20, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 1, 64, 0, 0, 255, 255, 255, 255, 30, 0, 0, 7, 18, 0, 16, 0, 20, 0, 0, 0, 10, 0, 16, 0, 20, 0, 0, 0, 1, 64, 0, 0, 0, 4, 0, 0, 22, 0, 0, 1, 21, 0, 0, 1, 31, 0, 0, 2, 10, 32, 2, 0, 165, 0, 0, 7, 34, 0, 16, 0, 19, 0, 0, 0, 1, 64, 0, 0, 8, 0, 0, 0, 6, 240, 17, 0, 1, 0, 0, 0, 56, 0, 0, 7, 34, 0, 16, 0, 19, 0, 0, 0, 26, 0, 16, 0, 19, 0, 0, 0, 1, 64, 0, 0, 0, 0, 122, 68, 28, 0, 0, 5, 34, 0, 16, 0, 19, 0, 0, 0, 26, 0, 16, 0, 19, 0, 0, 0, 83, 0, 0, 7, 34, 0, 16, 0, 19, 0, 0, 0, 26, 0, 16, 0, 19, 0, 0, 0, 1, 64, 0, 0, 1, 0, 0, 0, 165, 0, 0, 7, 66, 0, 16, 0, 19, 0, 0, 0, 1, 64, 0, 0, 152, 0, 0, 0, 6, 240, 17, 0, 1, 0, 0, 0, 30, 0, 0, 7, 34, 0, 16, 0, 19, 0, 0, 0, 26, 0, 16, 0, 19, 0, 0, 0, 42, 0, 16, 0, 19, 0, 0, 0, 166, 0, 0, 7, 18, 240, 17, 0, 1, 0, 0, 0, 1, 64, 0, 0, 152, 0, 0, 0, 26, 0, 16, 0, 19, 0, 0, 0, 21, 0, 0, 1, 190, 24, 0, 1, 165, 0, 0, 7, 34, 0, 16, 0, 19, 0, 0, 0, 1, 64, 0, 0, 152, 0, 0, 0, 6, 240, 17, 0, 1, 0, 0, 0, 165, 0, 0, 7, 66, 0, 16, 0, 19, 0, 0, 0, 1, 64, 0, 0, 116, 0, 0, 0, 6, 240, 17, 0, 0, 0, 0, 0, 80, 0, 0, 7, 34, 0, 16, 0, 19, 0, 0, 0, 26, 0, 16, 0, 19, 0, 0, 0, 42, 0, 16, 0, 19, 0, 0, 0, 31, 0, 4, 3, 26, 0, 16, 0, 19, 0, 0, 0, 165, 0, 0, 7, 34, 0, 16, 0, 19, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 6, 240, 17, 0, 0, 0, 0, 0, 54, 0, 0, 5, 66, 0, 16, 0, 19, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 54, 0, 0, 4, 130, 0, 16, 0, 19, 0, 0, 0, 10, 32, 2, 0, 48, 0, 0, 1, 80, 0, 0, 7, 18, 0, 16, 0, 20, 0, 0, 0, 58, 0, 16, 0, 19, 0, 0, 0, 26, 0, 16, 0, 19, 0, 0, 0, 3, 0, 4, 3, 10, 0, 16, 0, 20, 0, 0, 0, 30, 0, 0, 7, 18, 0, 16, 0, 20, 0, 0, 0, 26, 0, 16, 0, 0, 0, 0, 0, 58, 0, 16, 0, 19, 0, 0, 0, 41, 0, 0, 7, 18, 0, 16, 0, 20, 0, 0, 0, 10, 0, 16, 0, 20, 0, 0, 0, 1, 64, 0, 0, 4, 0, 0, 0, 165, 0, 0, 137, 194, 2, 0, 128, 131, 153, 25, 0, 114, 0, 16, 0, 20, 0, 0, 0, 10, 0, 16, 0, 20, 0, 0, 0, 70, 226, 17, 0, 0, 0, 0, 0, 30, 0, 0, 7, 130, 0, 16, 0, 20, 0, 0, 0, 10, 0, 16, 0, 0, 0, 0, 0, 58, 0, 16, 0, 19, 0, 0, 0, 41, 0, 0, 7, 130, 0, 16, 0, 20, 0, 0, 0, 58, 0, 16, 0, 20, 0, 0, 0, 1, 64, 0, 0, 4, 0, 0, 0, 165, 0, 0, 137, 194, 2, 0, 128, 131, 153, 25, 0, 114, 0, 16, 0, 21, 0, 0, 0, 58, 0, 16, 0, 20, 0, 0, 0, 70, 226, 17, 0, 0, 0, 0, 0, 0, 0, 0, 8, 114, 0, 16, 0, 20, 0, 0, 0, 70, 2, 16, 0, 20, 0, 0, 0, 70, 2, 16, 128, 65, 0, 0, 0, 21, 0, 0, 0, 52, 0, 0, 9, 18, 0, 16, 0, 20, 0, 0, 0, 26, 0, 16, 128, 129, 0, 0, 0, 20, 0, 0, 0, 10, 0, 16, 128, 129, 0, 0, 0, 20, 0, 0, 0, 52, 0, 0, 8, 18, 0, 16, 0, 20, 0, 0, 0, 42, 0, 16, 128, 129, 0, 0, 0, 20, 0, 0, 0, 10, 0, 16, 0, 20, 0, 0, 0, 52, 0, 0, 7, 66, 0, 16, 0, 19, 0, 0, 0, 42, 0, 16, 0, 19, 0, 0, 0, 10, 0, 16, 0, 20, 0, 0, 0, 30, 0, 0, 7, 130, 0, 16, 0, 19, 0, 0, 0, 58, 0, 16, 0, 19, 0, 0, 0, 1, 64, 0, 0, 0, 4, 0, 0, 22, 0, 0, 1, 31, 0, 0, 2, 10, 32, 2, 0, 165, 0, 0, 7, 34, 0, 16, 0, 19, 0, 0, 0, 1, 64, 0, 0, 148, 0, 0, 0, 6, 240, 17, 0, 1, 0, 0, 0, 30, 0, 0, 7, 34, 0, 16, 0, 19, 0, 0, 0, 26, 0, 16, 0, 19, 0, 0, 0, 1, 64, 0, 0, 1, 0, 0, 0, 166, 0, 0, 7, 18, 240, 17, 0, 1, 0, 0, 0, 1, 64, 0, 0, 148, 0, 0, 0, 26, 0, 16, 0, 19, 0, 0, 0, 165, 0, 0, 7, 34, 0, 16, 0, 19, 0, 0, 0, 1, 64, 0, 0, 116, 0, 0, 0, 6, 240, 17, 0, 0, 0, 0, 0, 165, 0, 0, 7, 130, 0, 16, 0, 19, 0, 0, 0, 1, 64, 0, 0, 152, 0, 0, 0, 6, 240, 17, 0, 1, 0, 0, 0, 30, 0, 0, 8, 34, 0, 16, 0, 19, 0, 0, 0, 26, 0, 16, 128, 65, 0, 0, 0, 19, 0, 0, 0, 58, 0, 16, 0, 19, 0, 0, 0, 166, 0, 0, 7, 18, 240, 17, 0, 1, 0, 0, 0, 1, 64, 0, 0, 152, 0, 0, 0, 26, 0, 16, 0, 19, 0, 0, 0, 21, 0, 0, 1, 165, 0, 0, 7, 34, 0, 16, 0, 19, 0, 0, 0, 1, 64, 0, 0, 124, 0, 0, 0, 6, 240, 17, 0, 0, 0, 0, 0, 165, 0, 0, 7, 130, 0, 16, 0, 19, 0, 0, 0, 1, 64, 0, 0, 8, 0, 0, 0, 6, 240, 17, 0, 1, 0, 0, 0, 56, 0, 0, 7, 34, 0, 16, 0, 19, 0, 0, 0, 58, 0, 16, 0, 19, 0, 0, 0, 26, 0, 16, 0, 19, 0, 0, 0, 49, 0, 0, 7, 34, 0, 16, 0, 19, 0, 0, 0, 26, 0, 16, 0, 19, 0, 0, 0, 42, 0, 16, 0, 19, 0, 0, 0, 31, 0, 4, 3, 26, 0, 16, 0, 19, 0, 0, 0, 166, 0, 0, 7, 18, 240, 17, 0, 1, 0, 0, 0, 1, 64, 0, 0, 148, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 21, 0, 0, 1, 21, 0, 0, 1, 30, 0, 0, 7, 18, 0, 16, 0, 19, 0, 0, 0, 10, 0, 16, 0, 19, 0, 0, 0, 1, 64, 0, 0, 1, 0, 0, 0, 22, 0, 0, 1, 190, 24, 0, 1, 21, 0, 0, 1, 31, 0, 0, 2, 10, 32, 2, 0, 165, 0, 0, 7, 242, 0, 16, 0, 0, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 70, 254, 17, 0, 1, 0, 0, 0, 165, 0, 0, 7, 242, 0, 16, 0, 1, 0, 0, 0, 1, 64, 0, 0, 16, 0, 0, 0, 70, 254, 17, 0, 1, 0, 0, 0, 165, 0, 0, 7, 242, 0, 16, 0, 2, 0, 0, 0, 1, 64, 0, 0, 32, 0, 0, 0, 70, 254, 17, 0, 1, 0, 0, 0, 165, 0, 0, 7, 242, 0, 16, 0, 3, 0, 0, 0, 1, 64, 0, 0, 48, 0, 0, 0, 70, 254, 17, 0, 1, 0, 0, 0, 165, 0, 0, 7, 242, 0, 16, 0, 4, 0, 0, 0, 1, 64, 0, 0, 64, 0, 0, 0, 70, 254, 17, 0, 1, 0, 0, 0, 165, 0, 0, 7, 242, 0, 16, 0, 5, 0, 0, 0, 1, 64, 0, 0, 80, 0, 0, 0, 70, 254, 17, 0, 1, 0, 0, 0, 165, 0, 0, 7, 242, 0, 16, 0, 6, 0, 0, 0, 1, 64, 0, 0, 96, 0, 0, 0, 70, 254, 17, 0, 1, 0, 0, 0, 165, 0, 0, 7, 242, 0, 16, 0, 7, 0, 0, 0, 1, 64, 0, 0, 112, 0, 0, 0, 70, 254, 17, 0, 1, 0, 0, 0, 165, 0, 0, 7, 242, 0, 16, 0, 8, 0, 0, 0, 1, 64, 0, 0, 128, 0, 0, 0, 70, 254, 17, 0, 1, 0, 0, 0, 165, 0, 0, 7, 242, 0, 16, 0, 9, 0, 0, 0, 1, 64, 0, 0, 144, 0, 0, 0, 70, 254, 17, 0, 1, 0, 0, 0, 165, 0, 0, 7, 50, 0, 16, 0, 10, 0, 0, 0, 1, 64, 0, 0, 160, 0, 0, 0, 70, 240, 17, 0, 1, 0, 0, 0, 168, 0, 0, 8, 242, 224, 17, 0, 3, 0, 0, 0, 10, 16, 2, 0, 1, 64, 0, 0, 0, 0, 0, 0, 70, 14, 16, 0, 0, 0, 0, 0, 168, 0, 0, 8, 242, 224, 17, 0, 3, 0, 0, 0, 10, 16, 2, 0, 1, 64, 0, 0, 16, 0, 0, 0, 70, 14, 16, 0, 1, 0, 0, 0, 168, 0, 0, 8, 242, 224, 17, 0, 3, 0, 0, 0, 10, 16, 2, 0, 1, 64, 0, 0, 32, 0, 0, 0, 70, 14, 16, 0, 2, 0, 0, 0, 168, 0, 0, 8, 242, 224, 17, 0, 3, 0, 0, 0, 10, 16, 2, 0, 1, 64, 0, 0, 48, 0, 0, 0, 70, 14, 16, 0, 3, 0, 0, 0, 168, 0, 0, 8, 242, 224, 17, 0, 3, 0, 0, 0, 10, 16, 2, 0, 1, 64, 0, 0, 64, 0, 0, 0, 70, 14, 16, 0, 4, 0, 0, 0, 168, 0, 0, 8, 242, 224, 17, 0, 3, 0, 0, 0, 10, 16, 2, 0, 1, 64, 0, 0, 80, 0, 0, 0, 70, 14, 16, 0, 5, 0, 0, 0, 168, 0, 0, 8, 242, 224, 17, 0, 3, 0, 0, 0, 10, 16, 2, 0, 1, 64, 0, 0, 96, 0, 0, 0, 70, 14, 16, 0, 6, 0, 0, 0, 168, 0, 0, 8, 242, 224, 17, 0, 3, 0, 0, 0, 10, 16, 2, 0, 1, 64, 0, 0, 112, 0, 0, 0, 70, 14, 16, 0, 7, 0, 0, 0, 168, 0, 0, 8, 242, 224, 17, 0, 3, 0, 0, 0, 10, 16, 2, 0, 1, 64, 0, 0, 128, 0, 0, 0, 70, 14, 16, 0, 8, 0, 0, 0, 168, 0, 0, 8, 242, 224, 17, 0, 3, 0, 0, 0, 10, 16, 2, 0, 1, 64, 0, 0, 144, 0, 0, 0, 70, 14, 16, 0, 9, 0, 0, 0, 168, 0, 0, 8, 50, 224, 17, 0, 3, 0, 0, 0, 10, 16, 2, 0, 1, 64, 0, 0, 160, 0, 0, 0, 70, 0, 16, 0, 10, 0, 0, 0, 21, 0, 0, 1, 62, 0, 0, 1, 53, 16, 0, 0, 246, 34, 0, 0, 23, 0, 1, 0, 51, 186, 74, 1, 120, 1, 236, 189, 11, 108, 28, 247, 153, 39, 88, 221, 213, 108, 22, 155, 205, 98, 147, 108, 246, 131, 108, 146, 253, 168, 110, 118, 55, 155, 205, 102, 179, 217, 108, 81, 84, 169, 217, 108, 190, 138, 20, 159, 34, 69, 61, 40, 81, 111, 137, 182, 101, 217, 177, 29, 39, 35, 149, 91, 12, 99, 9, 90, 193, 17, 178, 65, 198, 200, 25, 25, 35, 184, 203, 57, 218, 156, 161, 11, 230, 50, 185, 220, 129, 178, 141, 32, 216, 49, 102, 13, 155, 152, 155, 85, 2, 207, 172, 38, 51, 187, 119, 177, 103, 23, 177, 141, 59, 96, 14, 179, 226, 253, 190, 127, 85, 81, 148, 76, 43, 49, 70, 179, 9, 14, 22, 80, 250, 234, 255, 254, 254, 223, 255, 123, 119, 177, 234, 167, 138, 137, 163, 127, 255, 238, 187, 117, 54, 130, 171, 255, 203, 175, 61, 127, 31, 55, 115, 101, 184, 231, 113, 89, 113, 209, 191, 188, 153, 254, 231, 184, 220, 136, 214, 159, 253, 79, 255, 161, 126, 55, 192, 113, 92, 191, 25, 64, 133, 133, 227, 28, 184, 167, 203, 143, 139, 123, 190, 97, 240, 227, 175, 189, 174, 44, 225, 246, 111, 113, 77, 224, 122, 254, 255, 173, 98, 215, 205, 54, 142, 251, 179, 26, 142, 251, 203, 102, 142, 91, 172, 69, 3, 254, 237, 97, 88, 112, 220, 87, 113, 61, 137, 233, 50, 149, 184, 193, 191, 23, 129, 204, 91, 58, 14, 211, 184, 118, 3, 177, 1, 140, 245, 163, 254, 61, 244, 163, 127, 215, 233, 63, 252, 203, 218, 57, 46, 169, 215, 209, 63, 255, 81, 13, 221, 237, 254, 157, 222, 165, 225, 255, 89, 255, 8, 183, 95, 99, 180, 129, 151, 129, 39, 237, 247, 247, 253, 15, 91, 199, 63, 39, 145, 124, 243, 159, 113, 78, 244, 143, 157, 199, 150, 127, 34, 46, 163, 57, 53, 164, 181, 121, 232, 63, 252, 91, 208, 203, 198, 89, 190, 129, 235, 193, 127, 78, 92, 119, 94, 224, 184, 37, 238, 16, 174, 123, 255, 232, 222, 160, 253, 215, 181, 83, 103, 124, 64, 51, 106, 179, 114, 220, 9, 211, 202, 27, 47, 112, 215, 110, 89, 248, 247, 215, 202, 248, 191, 94, 179, 242, 127, 179, 86, 206, 255, 135, 53, 158, 191, 179, 102, 225, 206, 223, 225, 56, 55, 191, 193, 255, 211, 26, 141, 48, 113, 174, 117, 174, 220, 196, 101, 168, 222, 228, 230, 75, 220, 234, 197, 101, 105, 117, 237, 127, 228, 174, 220, 58, 100, 90, 125, 195, 108, 182, 168, 102, 179, 85, 165, 249, 56, 127, 238, 142, 217, 98, 46, 57, 0, 121, 193, 92, 242, 83, 217, 110, 46, 165, 168, 236, 48, 151, 242, 84, 118, 154, 75, 83, 84, 246, 152, 75, 75, 84, 246, 153, 75, 231, 169, 236, 55, 151, 74, 84, 150, 204, 165, 235, 84, 142, 154, 75, 175, 250, 51, 119, 204, 102, 115, 137, 163, 117, 46, 243, 223, 160, 53, 120, 225, 197, 183, 248, 235, 214, 75, 86, 225, 202, 91, 252, 171, 4, 175, 190, 85, 50, 47, 176, 245, 237, 230, 3, 106, 149, 249, 144, 202, 223, 164, 250, 107, 111, 113, 166, 220, 237, 68, 123, 146, 19, 81, 95, 141, 122, 51, 175, 149, 29, 40, 215, 80, 191, 13, 235, 165, 34, 232, 97, 197, 156, 150, 50, 173, 173, 22, 109, 117, 104, 179, 150, 107, 101, 39, 202, 245, 122, 223, 189, 172, 239, 149, 183, 132, 10, 173, 205, 133, 54, 55, 218, 108, 149, 90, 153, 112, 240, 160, 206, 171, 247, 63, 193, 250, 95, 125, 203, 94, 165, 181, 55, 160, 173, 17, 109, 98, 181, 86, 222, 196, 23, 125, 159, 65, 223, 11, 220, 215, 254, 204, 42, 240, 111, 241, 87, 76, 111, 213, 212, 106, 125, 12, 220, 235, 156, 90, 217, 192, 189, 222, 165, 149, 13, 124, 221, 30, 173, 76, 56, 24, 56, 123, 27, 180, 58, 3, 207, 70, 159, 86, 182, 162, 204, 163, 220, 212, 162, 149, 191, 90, 125, 237, 150, 63, 128, 123, 75, 25, 23, 12, 1, 90, 203, 185, 175, 160, 78, 10, 227, 94, 168, 224, 34, 173, 128, 182, 74, 238, 121, 212, 69, 99, 184, 183, 87, 113, 241, 54, 64, 177, 154, 251, 50, 234, 18, 237, 184, 119, 212, 112, 201, 14, 192, 218, 58, 238, 57, 212, 165, 58, 113, 239, 172, 231, 210, 93, 128, 46, 55, 247, 44, 234, 50, 221, 184, 247, 120, 185, 108, 15, 96, 67, 35, 247, 12, 234, 114, 59, 112, 239, 107, 226, 122, 119, 2, 54, 183, 112, 95, 66, 93, 223, 46, 220, 251, 3, 156, 188, 27, 48, 24, 226, 158, 70, 93, 190, 31, 247, 82, 152, 43, 12, 0, 70, 90, 185, 167, 80, 87, 28, 196, 125, 52, 198, 13, 13, 3, 198, 219, 184, 243, 168, 27, 25, 197, 189, 153, 231, 44, 150, 187, 107, 231, 65, 11, 142, 187, 122, 171, 4, 30, 229, 76, 239, 223, 134, 188, 153, 137, 62, 230, 114, 171, 194, 17, 63, 243, 238, 37, 174, 101, 117, 109, 131, 127, 113, 237, 149, 188, 137, 219, 224, 47, 131, 231, 29, 156, 197, 106, 41, 149, 149, 151, 173, 124, 141, 19, 50, 57, 234, 103, 113, 47, 173, 112, 182, 76, 31, 221, 151, 185, 151, 44, 156, 245, 38, 245, 253, 225, 164, 153, 219, 48, 219, 213, 255, 185, 28, 19, 87, 189, 120, 241, 185, 232, 139, 88, 203, 174, 90, 184, 219, 183, 161, 18, 173, 170, 229, 202, 154, 106, 185, 186, 198, 241, 162, 106, 231, 174, 189, 87, 94, 102, 230, 166, 76, 87, 222, 176, 75, 215, 214, 108, 234, 213, 171, 117, 220, 234, 45, 187, 237, 238, 101, 194, 201, 90, 237, 80, 86, 29, 142, 204, 138, 88, 155, 217, 16, 69, 133, 41, 18, 71, 238, 142, 96, 179, 148, 104, 95, 47, 155, 50, 183, 43, 160, 247, 14, 249, 1, 161, 135, 253, 187, 1, 161, 91, 255, 126, 17, 176, 138, 227, 254, 207, 141, 149, 91, 2, 246, 252, 6, 199, 223, 20, 184, 149, 247, 56, 224, 244, 39, 156, 37, 235, 39, 156, 205, 238, 165, 146, 197, 114, 81, 88, 190, 202, 214, 250, 58, 103, 79, 36, 168, 222, 234, 94, 250, 58, 39, 102, 238, 240, 252, 205, 114, 238, 91, 235, 188, 8, 73, 174, 22, 149, 40, 181, 149, 99, 159, 166, 23, 223, 144, 76, 87, 223, 112, 154, 254, 226, 141, 5, 211, 245, 55, 84, 203, 127, 143, 253, 124, 127, 173, 100, 118, 168, 28, 127, 65, 53, 241, 156, 106, 225, 205, 106, 25, 47, 168, 86, 222, 166, 242, 188, 93, 45, 231, 173, 170, 140, 253, 74, 52, 135, 128, 117, 205, 181, 234, 117, 208, 163, 130, 227, 42, 104, 109, 161, 238, 26, 244, 199, 107, 107, 17, 245, 251, 87, 43, 162, 171, 183, 162, 145, 187, 151, 133, 42, 167, 90, 81, 85, 171, 86, 204, 213, 170, 31, 59, 93, 214, 202, 186, 90, 71, 138, 198, 87, 96, 188, 72, 250, 230, 53, 172, 233, 82, 187, 161, 115, 174, 97, 46, 108, 223, 206, 230, 242, 122, 20, 206, 255, 201, 135, 246, 42, 30, 58, 7, 176, 134, 135, 206, 1, 172, 231, 161, 115, 0, 189, 60, 116, 14, 96, 19, 15, 157, 3, 24, 224, 161, 115, 0, 195, 124, 137, 120, 84, 25, 203, 221, 174, 172, 18, 185, 241, 61, 128, 213, 14, 198, 163, 19, 147, 184, 175, 169, 229, 166, 166, 1, 235, 156, 140, 71, 103, 102, 113, 95, 239, 226, 246, 206, 1, 186, 61, 140, 71, 231, 247, 225, 222, 219, 192, 45, 236, 7, 108, 244, 49, 30, 61, 112, 16, 247, 77, 205, 220, 161, 69, 192, 22, 63, 227, 209, 195, 71, 112, 31, 8, 114, 75, 71, 1, 67, 160, 10, 234, 142, 29, 199, 125, 56, 194, 157, 56, 9, 216, 26, 229, 162, 247, 241, 170, 75, 229, 78, 190, 207, 246, 184, 103, 130, 65, 113, 114, 63, 131, 142, 3, 7, 25, 172, 61, 52, 197, 160, 115, 122, 134, 65, 215, 236, 34, 131, 158, 195, 71, 24, 108, 88, 218, 203, 160, 111, 110, 158, 193, 230, 125, 71, 25, 244, 47, 104, 227, 130, 179, 90, 189, 164, 90, 94, 131, 222, 199, 122, 92, 9, 107, 151, 110, 189, 96, 191, 118, 171, 210, 123, 237, 162, 186, 124, 247, 234, 121, 208, 218, 234, 30, 87, 86, 199, 199, 51, 196, 135, 145, 86, 75, 105, 197, 53, 159, 249, 251, 197, 219, 183, 225, 42, 36, 94, 54, 49, 216, 126, 200, 207, 96, 210, 191, 155, 193, 142, 23, 248, 107, 183, 226, 156, 229, 221, 132, 9, 242, 228, 114, 49, 62, 166, 61, 199, 57, 110, 61, 49, 119, 131, 43, 237, 53, 95, 88, 150, 110, 172, 149, 26, 174, 94, 28, 192, 26, 203, 210, 15, 215, 94, 48, 95, 187, 37, 30, 92, 176, 122, 81, 126, 193, 116, 237, 86, 245, 226, 146, 181, 61, 180, 32, 183, 199, 150, 228, 214, 182, 5, 185, 181, 115, 73, 78, 134, 23, 228, 104, 251, 130, 76, 231, 222, 209, 186, 32, 199, 58, 22, 228, 100, 215, 146, 28, 221, 185, 36, 119, 116, 47, 201, 177, 93, 75, 178, 227, 200, 49, 107, 123, 207, 49, 185, 117, 247, 49, 57, 185, 227, 152, 28, 237, 63, 38, 119, 12, 160, 204, 173, 172, 199, 6, 127, 110, 73, 240, 83, 106, 138, 159, 81, 19, 234, 221, 171, 237, 147, 19, 66, 141, 190, 94, 114, 122, 74, 160, 62, 173, 195, 189, 22, 212, 91, 163, 184, 143, 142, 202, 22, 212, 91, 217, 122, 179, 51, 66, 12, 117, 177, 177, 130, 5, 247, 214, 24, 120, 63, 138, 121, 90, 49, 159, 204, 79, 168, 9, 156, 31, 217, 32, 101, 236, 253, 219, 9, 152, 243, 20, 104, 3, 152, 160, 185, 219, 143, 30, 176, 38, 143, 31, 210, 230, 217, 191, 96, 109, 103, 99, 15, 168, 73, 140, 141, 241, 135, 212, 4, 155, 103, 129, 205, 19, 7, 94, 68, 139, 118, 220, 51, 188, 208, 135, 141, 67, 159, 14, 244, 137, 99, 29, 210, 3, 109, 237, 154, 30, 104, 75, 106, 122, 160, 13, 139, 145, 30, 104, 3, 145, 57, 199, 5, 118, 86, 215, 160, 15, 136, 175, 136, 159, 222, 215, 101, 198, 224, 177, 32, 199, 206, 191, 170, 252, 73, 151, 250, 53, 151, 43, 75, 107, 84, 53, 54, 136, 37, 151, 237, 98, 169, 193, 5, 161, 126, 13, 114, 126, 3, 188, 209, 160, 174, 248, 154, 51, 85, 45, 36, 179, 63, 92, 139, 171, 55, 174, 74, 208, 89, 137, 248, 221, 203, 63, 107, 104, 206, 18, 15, 84, 99, 69, 226, 1, 192, 26, 226, 1, 192, 90, 226, 17, 192, 58, 154, 183, 20, 161, 243, 254, 225, 154, 189, 49, 170, 16, 189, 83, 166, 151, 153, 239, 65, 114, 235, 116, 218, 153, 110, 115, 186, 253, 114, 189, 59, 40, 187, 220, 146, 236, 118, 71, 100, 218, 35, 196, 145, 237, 177, 154, 252, 74, 236, 177, 26, 190, 30, 237, 177, 186, 14, 132, 197, 190, 54, 26, 26, 24, 111, 253, 123, 125, 159, 108, 78, 93, 126, 34, 173, 108, 127, 246, 104, 144, 65, 145, 104, 25, 5, 79, 218, 193, 147, 165, 6, 203, 133, 232, 242, 7, 151, 105, 143, 81, 240, 57, 245, 255, 191, 76, 87, 32, 147, 172, 175, 227, 58, 246, 4, 88, 107, 204, 87, 97, 99, 245, 117, 39, 99, 12, 214, 199, 219, 24, 116, 39, 218, 25, 244, 38, 59, 24, 108, 76, 117, 50, 216, 164, 209, 13, 50, 197, 203, 234, 11, 101, 144, 167, 86, 77, 158, 254, 29, 214, 184, 36, 231, 149, 75, 114, 33, 113, 41, 159, 79, 172, 200, 69, 197, 57, 80, 80, 156, 253, 168, 43, 22, 19, 206, 193, 162, 146, 55, 125, 91, 167, 205, 171, 31, 6, 2, 149, 37, 130, 126, 191, 6, 131, 193, 202, 210, 37, 121, 40, 91, 26, 178, 93, 36, 93, 19, 226, 174, 175, 7, 76, 253, 230, 235, 133, 66, 130, 244, 204, 245, 252, 72, 194, 143, 58, 63, 234, 66, 3, 5, 78, 234, 207, 51, 185, 163, 126, 65, 234, 135, 53, 66, 131, 69, 206, 58, 48, 164, 88, 251, 71, 20, 235, 160, 162, 172, 14, 13, 101, 86, 71, 70, 50, 171, 138, 2, 25, 239, 187, 19, 138, 88, 74, 4, 165, 152, 6, 195, 33, 200, 124, 161, 144, 89, 201, 231, 51, 43, 197, 98, 134, 206, 59, 0, 242, 211, 121, 3, 182, 211, 121, 3, 38, 169, 30, 158, 102, 7, 149, 1, 83, 212, 30, 228, 184, 78, 130, 40, 167, 169, 29, 229, 46, 106, 7, 204, 188, 96, 1, 111, 31, 93, 182, 18, 222, 145, 217, 113, 43, 233, 140, 246, 227, 51, 182, 196, 145, 199, 109, 140, 255, 79, 158, 99, 242, 146, 121, 108, 217, 218, 58, 7, 121, 220, 55, 101, 101, 123, 217, 51, 100, 221, 224, 191, 182, 246, 111, 110, 220, 144, 19, 167, 199, 109, 237, 39, 247, 218, 146, 71, 231, 109, 177, 39, 14, 136, 137, 35, 135, 173, 157, 79, 46, 89, 165, 201, 17, 107, 120, 90, 177, 242, 203, 19, 98, 148, 43, 173, 135, 202, 243, 82, 242, 236, 33, 91, 100, 223, 49, 177, 29, 229, 200, 220, 143, 87, 187, 142, 140, 91, 249, 165, 195, 34, 175, 156, 16, 187, 80, 39, 149, 23, 165, 104, 231, 132, 156, 156, 219, 43, 118, 162, 156, 124, 226, 231, 171, 237, 7, 15, 137, 252, 248, 25, 145, 31, 25, 17, 211, 168, 235, 46, 255, 183, 171, 97, 192, 112, 249, 136, 20, 237, 56, 44, 119, 245, 76, 200, 113, 148, 99, 251, 110, 172, 118, 30, 63, 36, 243, 67, 67, 162, 132, 114, 170, 252, 250, 106, 237, 201, 25, 107, 180, 253, 140, 220, 213, 125, 88, 14, 239, 154, 144, 75, 113, 219, 197, 248, 220, 33, 57, 132, 246, 72, 249, 181, 213, 154, 209, 17, 107, 87, 215, 25, 57, 188, 243, 176, 28, 155, 28, 231, 146, 139, 19, 170, 99, 120, 200, 26, 222, 113, 70, 150, 142, 140, 112, 237, 147, 138, 35, 178, 103, 74, 12, 157, 29, 226, 58, 39, 103, 28, 210, 232, 148, 28, 25, 155, 23, 227, 147, 19, 142, 208, 240, 148, 28, 27, 157, 151, 91, 135, 231, 229, 232, 226, 94, 53, 190, 111, 94, 148, 38, 15, 136, 161, 177, 195, 108, 127, 161, 217, 31, 175, 74, 115, 75, 98, 167, 80, 90, 111, 219, 247, 118, 40, 50, 59, 35, 118, 208, 186, 147, 107, 171, 145, 185, 9, 177, 253, 232, 9, 177, 106, 223, 41, 177, 243, 244, 49, 181, 205, 44, 174, 219, 247, 153, 185, 24, 218, 165, 177, 239, 175, 134, 230, 20, 182, 215, 142, 201, 183, 87, 59, 79, 239, 21, 163, 232, 19, 218, 55, 36, 198, 38, 39, 196, 14, 204, 159, 158, 59, 33, 118, 14, 15, 137, 213, 115, 167, 84, 146, 113, 156, 125, 166, 21, 253, 219, 199, 190, 187, 74, 107, 196, 142, 174, 173, 118, 158, 84, 68, 105, 223, 136, 24, 217, 55, 46, 134, 78, 15, 57, 112, 126, 98, 199, 220, 140, 216, 57, 58, 34, 118, 238, 25, 23, 195, 167, 135, 228, 206, 73, 69, 236, 156, 157, 16, 165, 211, 35, 142, 200, 233, 113, 135, 136, 57, 147, 167, 103, 84, 58, 91, 104, 176, 76, 248, 244, 136, 220, 122, 122, 92, 142, 161, 158, 159, 18, 46, 108, 152, 21, 216, 40, 174, 36, 98, 14, 17, 115, 132, 96, 75, 66, 99, 55, 2, 132, 3, 248, 171, 149, 32, 248, 42, 26, 67, 123, 12, 237, 196, 67, 164, 175, 67, 103, 127, 100, 145, 208, 87, 66, 223, 48, 96, 4, 240, 101, 211, 27, 183, 3, 137, 88, 76, 181, 252, 16, 58, 238, 245, 181, 4, 63, 126, 207, 254, 129, 231, 34, 179, 22, 232, 186, 155, 107, 73, 245, 245, 171, 54, 232, 186, 36, 116, 75, 132, 205, 245, 125, 11, 27, 27, 139, 68, 72, 255, 179, 190, 208, 203, 50, 198, 127, 4, 29, 68, 58, 137, 248, 29, 52, 137, 80, 27, 173, 47, 157, 253, 142, 229, 144, 31, 99, 34, 247, 214, 99, 227, 62, 99, 13, 9, 107, 176, 254, 15, 89, 131, 100, 104, 235, 26, 97, 172, 225, 223, 125, 255, 26, 191, 203, 126, 194, 88, 139, 141, 123, 200, 90, 186, 92, 7, 88, 27, 198, 132, 38, 95, 100, 52, 240, 7, 34, 145, 173, 251, 9, 236, 249, 244, 26, 1, 214, 255, 59, 90, 255, 72, 32, 16, 209, 215, 8, 96, 126, 153, 47, 108, 174, 161, 235, 136, 205, 53, 36, 172, 65, 52, 216, 186, 198, 214, 253, 124, 214, 90, 18, 214, 98, 227, 30, 178, 22, 209, 110, 235, 90, 97, 172, 69, 52, 248, 93, 247, 19, 198, 26, 172, 255, 67, 214, 208, 117, 157, 159, 181, 97, 76, 104, 122, 133, 209, 32, 232, 15, 4, 182, 219, 143, 127, 224, 211, 107, 249, 217, 56, 141, 214, 193, 128, 223, 31, 208, 215, 242, 99, 29, 153, 207, 111, 174, 69, 180, 219, 186, 150, 132, 181, 136, 6, 91, 215, 98, 227, 62, 99, 13, 9, 107, 176, 254, 15, 89, 131, 104, 182, 117, 141, 48, 214, 32, 26, 124, 222, 253, 132, 177, 22, 27, 247, 144, 181, 12, 127, 113, 67, 150, 21, 14, 177, 77, 199, 221, 21, 54, 39, 217, 97, 195, 151, 249, 11, 205, 151, 169, 164, 250, 55, 225, 175, 192, 134, 95, 166, 122, 5, 190, 69, 165, 157, 217, 96, 123, 186, 139, 65, 49, 163, 249, 57, 14, 195, 38, 211, 152, 202, 144, 102, 143, 101, 244, 175, 118, 75, 138, 195, 29, 81, 162, 155, 118, 247, 147, 15, 107, 157, 100, 111, 63, 249, 176, 206, 83, 9, 127, 87, 202, 208, 254, 225, 122, 212, 17, 173, 1, 125, 116, 190, 128, 77, 100, 143, 92, 221, 25, 91, 125, 87, 218, 214, 80, 151, 144, 157, 157, 41, 155, 183, 46, 46, 147, 238, 113, 181, 38, 4, 79, 93, 84, 38, 191, 163, 126, 71, 92, 112, 181, 167, 68, 119, 79, 218, 70, 107, 56, 119, 70, 133, 250, 182, 148, 236, 173, 75, 202, 206, 88, 74, 118, 67, 111, 186, 189, 217, 159, 109, 164, 82, 8, 25, 185, 76, 41, 153, 108, 240, 44, 166, 84, 15, 104, 230, 238, 124, 155, 39, 221, 134, 245, 188, 165, 84, 202, 39, 118, 166, 68, 79, 172, 87, 246, 180, 229, 152, 143, 84, 219, 4, 167, 191, 61, 34, 151, 146, 158, 11, 228, 43, 213, 250, 56, 142, 214, 47, 165, 163, 204, 103, 66, 40, 190, 233, 131, 147, 239, 84, 235, 228, 184, 53, 208, 218, 160, 101, 216, 202, 232, 195, 104, 73, 254, 81, 37, 249, 71, 30, 11, 104, 250, 193, 149, 123, 254, 81, 131, 122, 4, 180, 226, 202, 223, 191, 141, 48, 83, 244, 131, 254, 128, 85, 180, 55, 177, 202, 175, 218, 171, 130, 106, 101, 192, 37, 214, 204, 249, 9, 234, 180, 246, 171, 142, 38, 141, 206, 83, 24, 187, 226, 15, 50, 223, 1, 174, 92, 237, 134, 63, 194, 240, 33, 122, 162, 236, 36, 250, 2, 214, 211, 62, 1, 93, 196, 83, 37, 115, 90, 45, 153, 83, 184, 100, 166, 155, 29, 122, 76, 210, 134, 185, 170, 3, 25, 197, 177, 233, 67, 190, 250, 97, 67, 131, 230, 67, 54, 194, 207, 105, 128, 159, 179, 146, 205, 178, 181, 26, 113, 86, 180, 6, 96, 19, 173, 1, 216, 72, 180, 169, 221, 145, 179, 17, 238, 206, 157, 189, 236, 60, 234, 123, 178, 54, 223, 142, 190, 2, 209, 190, 105, 103, 159, 220, 216, 211, 39, 95, 207, 100, 18, 13, 85, 25, 181, 170, 59, 35, 54, 47, 246, 169, 13, 56, 163, 134, 93, 111, 135, 124, 56, 19, 95, 183, 106, 105, 2, 108, 234, 62, 102, 105, 4, 108, 236, 62, 101, 41, 101, 204, 23, 90, 118, 200, 156, 103, 103, 138, 243, 246, 164, 57, 49, 224, 87, 214, 117, 158, 38, 223, 166, 5, 126, 45, 173, 237, 113, 107, 60, 225, 117, 199, 217, 249, 33, 204, 4, 29, 0, 113, 46, 116, 94, 53, 245, 56, 63, 244, 167, 179, 170, 113, 129, 233, 64, 199, 255, 73, 63, 47, 58, 15, 162, 45, 157, 91, 201, 236, 81, 5, 156, 3, 68, 132, 197, 193, 20, 179, 25, 254, 249, 215, 32, 115, 228, 159, 83, 31, 222, 242, 62, 245, 169, 98, 125, 26, 27, 20, 97, 11, 159, 87, 85, 87, 34, 102, 254, 197, 135, 85, 117, 149, 165, 178, 97, 214, 175, 222, 169, 207, 249, 20, 112, 172, 110, 111, 16, 29, 237, 205, 34, 209, 86, 108, 245, 41, 52, 206, 222, 138, 120, 27, 178, 72, 103, 196, 206, 56, 166, 157, 203, 113, 156, 139, 24, 136, 40, 246, 205, 115, 249, 197, 135, 117, 110, 123, 201, 142, 186, 190, 45, 103, 85, 87, 103, 47, 145, 207, 231, 197, 89, 121, 200, 39, 77, 165, 18, 43, 233, 116, 102, 37, 149, 98, 103, 230, 69, 236, 74, 208, 131, 179, 162, 179, 67, 153, 157, 33, 202, 236, 12, 81, 110, 38, 136, 114, 11, 249, 144, 13, 61, 121, 230, 47, 250, 118, 22, 108, 254, 254, 34, 59, 67, 90, 171, 121, 247, 144, 45, 48, 80, 148, 137, 167, 48, 70, 10, 13, 107, 247, 24, 23, 14, 46, 22, 55, 253, 140, 32, 206, 207, 61, 248, 14, 207, 39, 205, 23, 74, 197, 36, 243, 151, 93, 173, 17, 49, 200, 53, 172, 215, 118, 152, 243, 213, 99, 227, 106, 213, 216, 132, 90, 55, 22, 81, 107, 6, 139, 190, 143, 199, 199, 133, 143, 39, 38, 132, 55, 225, 207, 125, 28, 137, 8, 116, 150, 27, 35, 83, 76, 110, 35, 131, 73, 185, 181, 53, 194, 242, 111, 225, 233, 162, 213, 77, 243, 204, 37, 213, 186, 142, 136, 195, 205, 137, 235, 82, 171, 217, 239, 238, 207, 200, 238, 1, 77, 118, 189, 13, 8, 34, 134, 251, 100, 58, 127, 47, 228, 150, 206, 223, 219, 12, 4, 49, 142, 206, 223, 11, 199, 165, 174, 63, 43, 215, 13, 244, 178, 254, 30, 48, 112, 221, 176, 204, 250, 123, 32, 247, 212, 223, 211, 162, 201, 181, 7, 206, 205, 134, 223, 207, 228, 234, 59, 58, 223, 93, 130, 220, 63, 171, 243, 14, 157, 25, 241, 205, 95, 226, 124, 13, 121, 39, 221, 169, 229, 85, 60, 106, 17, 231, 199, 101, 25, 15, 216, 53, 249, 245, 109, 250, 68, 116, 81, 127, 81, 151, 193, 28, 250, 86, 54, 53, 43, 85, 77, 126, 37, 177, 133, 159, 170, 107, 52, 189, 233, 168, 135, 222, 68, 204, 72, 231, 132, 24, 208, 136, 13, 189, 116, 174, 128, 13, 68, 227, 186, 142, 164, 173, 182, 61, 97, 115, 215, 69, 228, 154, 182, 184, 205, 85, 167, 201, 71, 93, 32, 34, 212, 215, 5, 153, 140, 212, 118, 73, 66, 93, 107, 92, 164, 249, 107, 186, 131, 66, 109, 56, 46, 215, 132, 226, 208, 179, 9, 219, 70, 60, 206, 104, 238, 130, 142, 173, 95, 140, 171, 78, 200, 167, 179, 237, 237, 16, 157, 49, 214, 168, 47, 69, 163, 13, 206, 80, 70, 118, 134, 211, 140, 118, 213, 160, 181, 179, 213, 207, 104, 87, 13, 134, 32, 218, 81, 124, 185, 225, 243, 49, 154, 25, 50, 87, 13, 249, 251, 25, 104, 70, 244, 138, 10, 119, 47, 191, 40, 186, 18, 121, 162, 13, 246, 85, 89, 105, 42, 149, 204, 205, 160, 11, 91, 163, 154, 240, 122, 179, 217, 175, 152, 3, 254, 8, 233, 55, 90, 27, 250, 171, 150, 246, 13, 200, 236, 5, 160, 147, 246, 13, 88, 115, 30, 107, 212, 54, 73, 204, 55, 173, 107, 196, 126, 177, 71, 167, 87, 146, 95, 21, 35, 44, 254, 174, 129, 142, 136, 115, 182, 247, 234, 160, 131, 209, 127, 189, 54, 124, 35, 255, 218, 133, 204, 109, 11, 10, 36, 111, 175, 250, 131, 74, 13, 226, 112, 58, 131, 70, 224, 180, 226, 247, 103, 78, 28, 190, 125, 27, 219, 168, 125, 21, 107, 2, 214, 189, 143, 53, 1, 157, 30, 51, 131, 142, 215, 46, 220, 190, 141, 237, 213, 147, 172, 136, 97, 172, 13, 28, 216, 218, 192, 129, 214, 38, 28, 28, 88, 23, 125, 217, 122, 132, 71, 125, 192, 239, 99, 235, 162, 178, 6, 50, 254, 183, 58, 15, 81, 27, 209, 229, 38, 199, 223, 140, 115, 43, 239, 149, 151, 195, 225, 134, 158, 217, 16, 92, 202, 107, 23, 112, 26, 142, 123, 182, 164, 210, 235, 210, 230, 64, 133, 49, 238, 190, 190, 194, 231, 232, 11, 29, 246, 59, 247, 53, 127, 142, 190, 166, 223, 210, 215, 118, 247, 178, 78, 191, 202, 21, 155, 135, 233, 149, 127, 226, 50, 183, 237, 232, 179, 149, 30, 36, 87, 82, 205, 150, 185, 170, 92, 106, 229, 156, 75, 181, 185, 157, 14, 31, 229, 48, 109, 238, 165, 146, 231, 170, 46, 107, 46, 245, 231, 56, 59, 183, 230, 151, 84, 213, 246, 50, 88, 253, 15, 186, 92, 106, 178, 23, 84, 233, 124, 106, 116, 251, 249, 83, 58, 235, 160, 196, 244, 35, 204, 69, 221, 70, 48, 202, 120, 150, 248, 11, 229, 122, 58, 83, 226, 57, 220, 187, 232, 158, 248, 16, 247, 110, 226, 153, 146, 57, 3, 91, 145, 195, 69, 182, 244, 2, 174, 44, 174, 180, 234, 209, 101, 121, 14, 115, 87, 119, 246, 42, 62, 211, 237, 77, 29, 221, 212, 164, 217, 211, 166, 103, 251, 84, 199, 46, 89, 169, 220, 213, 199, 114, 172, 205, 254, 42, 38, 223, 45, 82, 21, 107, 151, 250, 251, 108, 225, 1, 217, 22, 25, 204, 219, 90, 135, 11, 182, 138, 93, 35, 114, 11, 244, 105, 197, 238, 111, 91, 200, 223, 171, 232, 255, 142, 165, 98, 96, 66, 118, 245, 247, 137, 245, 187, 251, 228, 186, 209, 62, 185, 117, 87, 193, 74, 254, 162, 106, 185, 185, 38, 241, 125, 234, 155, 189, 69, 165, 105, 176, 55, 155, 230, 204, 239, 6, 200, 247, 232, 181, 93, 76, 47, 255, 232, 178, 106, 249, 96, 109, 57, 125, 247, 106, 74, 189, 121, 181, 9, 246, 44, 5, 122, 55, 61, 91, 84, 29, 131, 67, 74, 229, 96, 81, 241, 155, 190, 179, 169, 119, 130, 192, 135, 96, 40, 170, 225, 21, 29, 45, 218, 98, 99, 67, 182, 248, 158, 17, 91, 219, 164, 98, 171, 24, 156, 146, 43, 134, 103, 228, 138, 209, 189, 114, 197, 216, 188, 236, 154, 43, 138, 245, 179, 69, 185, 110, 186, 40, 183, 13, 22, 173, 193, 1, 225, 66, 243, 116, 31, 215, 50, 43, 115, 254, 185, 60, 23, 24, 44, 112, 191, 0, 207, 147, 223, 218, 4, 189, 210, 60, 112, 74, 106, 6, 108, 25, 88, 150, 90, 0, 253, 3, 231, 164, 82, 65, 184, 224, 221, 153, 230, 26, 118, 101, 184, 198, 221, 89, 206, 183, 60, 181, 238, 51, 253, 192, 116, 41, 149, 82, 94, 195, 88, 210, 191, 165, 28, 157, 249, 15, 215, 124, 85, 41, 117, 8, 116, 246, 204, 225, 12, 26, 40, 23, 246, 250, 154, 53, 20, 84, 58, 81, 183, 26, 12, 178, 220, 106, 141, 207, 82, 106, 236, 201, 139, 13, 221, 121, 217, 219, 149, 151, 55, 242, 5, 166, 223, 2, 139, 5, 181, 113, 160, 40, 158, 135, 156, 186, 118, 13, 9, 37, 243, 136, 218, 48, 160, 136, 245, 59, 199, 133, 224, 240, 132, 120, 8, 124, 3, 51, 33, 121, 7, 166, 196, 186, 29, 51, 66, 100, 108, 66, 142, 77, 79, 176, 60, 67, 235, 224, 75, 82, 132, 224, 216, 119, 200, 254, 137, 20, 227, 183, 78, 127, 95, 138, 236, 41, 202, 49, 236, 159, 232, 231, 39, 187, 212, 111, 246, 7, 250, 243, 226, 70, 81, 91, 211, 131, 123, 90, 151, 234, 62, 201, 231, 125, 62, 140, 139, 245, 63, 45, 17, 45, 34, 253, 207, 49, 90, 132, 250, 191, 42, 113, 142, 231, 25, 222, 68, 39, 226, 59, 111, 103, 132, 233, 149, 134, 78, 248, 192, 192, 183, 177, 51, 193, 116, 47, 249, 160, 164, 119, 107, 161, 91, 73, 239, 214, 194, 175, 209, 248, 20, 247, 110, 45, 151, 231, 4, 207, 23, 64, 55, 67, 174, 72, 78, 198, 117, 153, 96, 101, 215, 85, 230, 231, 191, 3, 154, 209, 25, 27, 114, 7, 141, 71, 125, 236, 125, 187, 24, 20, 53, 249, 129, 159, 143, 245, 141, 60, 246, 45, 140, 89, 113, 249, 153, 252, 144, 74, 51, 252, 97, 146, 31, 148, 153, 190, 6, 172, 211, 112, 98, 247, 78, 77, 118, 82, 234, 6, 228, 101, 99, 227, 133, 23, 74, 230, 56, 228, 134, 100, 41, 129, 139, 228, 136, 252, 211, 164, 90, 223, 168, 173, 241, 13, 172, 33, 182, 231, 148, 234, 246, 94, 229, 82, 174, 79, 185, 212, 43, 43, 43, 185, 188, 178, 210, 91, 128, 236, 124, 240, 161, 47, 88, 6, 30, 253, 224, 195, 166, 176, 6, 155, 125, 26, 108, 137, 106, 208, 223, 166, 193, 64, 75, 89, 137, 126, 111, 144, 38, 39, 108, 148, 227, 107, 158, 219, 107, 163, 253, 182, 15, 20, 108, 161, 61, 227, 182, 214, 186, 17, 185, 105, 118, 194, 22, 175, 235, 147, 19, 253, 121, 91, 160, 238, 128, 28, 28, 43, 216, 34, 117, 67, 178, 111, 90, 65, 123, 175, 220, 182, 91, 182, 249, 235, 22, 100, 105, 87, 159, 77, 58, 72, 125, 138, 114, 184, 46, 39, 183, 212, 205, 203, 33, 248, 188, 161, 253, 178, 173, 185, 191, 192, 114, 162, 117, 163, 35, 66, 16, 254, 112, 112, 159, 98, 107, 218, 93, 144, 155, 119, 141, 139, 254, 254, 9, 177, 118, 120, 72, 104, 30, 157, 18, 253, 163, 51, 162, 111, 172, 32, 55, 237, 28, 151, 91, 118, 79, 200, 240, 129, 132, 208, 206, 41, 57, 180, 123, 70, 246, 237, 24, 151, 195, 224, 183, 192, 192, 94, 49, 184, 99, 10, 120, 204, 192, 126, 81, 158, 233, 198, 106, 96, 118, 94, 12, 76, 47, 136, 109, 40, 183, 78, 191, 190, 154, 160, 250, 217, 31, 173, 198, 231, 246, 170, 145, 185, 3, 44, 103, 213, 62, 125, 64, 44, 45, 152, 47, 180, 239, 155, 231, 90, 81, 23, 153, 28, 183, 198, 247, 239, 21, 219, 103, 23, 196, 210, 188, 249, 66, 0, 52, 248, 191, 11, 227, 114, 98, 174, 192, 69, 39, 39, 172, 109, 3, 83, 214, 24, 234, 34, 115, 227, 212, 87, 252, 120, 202, 124, 161, 109, 207, 56, 215, 52, 54, 33, 70, 4, 255, 122, 100, 143, 153, 243, 245, 79, 137, 148, 143, 242, 237, 254, 238, 234, 199, 227, 51, 66, 243, 238, 189, 44, 7, 216, 60, 246, 189, 213, 214, 73, 224, 52, 91, 104, 32, 28, 155, 250, 111, 172, 70, 167, 231, 229, 82, 161, 224, 139, 207, 205, 203, 254, 129, 188, 216, 182, 56, 163, 182, 12, 200, 98, 243, 158, 188, 220, 58, 219, 39, 134, 7, 10, 98, 211, 30, 89, 150, 250, 123, 133, 232, 108, 94, 108, 30, 29, 17, 125, 123, 10, 216, 123, 78, 104, 218, 217, 43, 198, 103, 101, 49, 212, 63, 34, 7, 7, 10, 130, 111, 71, 175, 28, 220, 61, 2, 90, 244, 202, 165, 17, 225, 194, 70, 111, 78, 28, 230, 75, 187, 155, 118, 228, 184, 198, 29, 194, 5, 247, 238, 36, 231, 233, 71, 108, 176, 11, 58, 99, 20, 58, 99, 71, 150, 187, 20, 143, 43, 95, 75, 36, 148, 115, 134, 190, 200, 8, 44, 79, 78, 124, 88, 3, 28, 221, 221, 67, 18, 201, 83, 45, 238, 61, 221, 138, 196, 206, 11, 247, 222, 238, 9, 137, 228, 202, 1, 191, 128, 228, 202, 1, 101, 79, 114, 229, 128, 156, 105, 60, 140, 123, 196, 19, 52, 231, 46, 204, 77, 242, 67, 242, 66, 178, 69, 50, 179, 119, 27, 185, 162, 250, 30, 126, 211, 46, 217, 115, 59, 52, 121, 170, 18, 25, 220, 140, 159, 203, 17, 183, 151, 241, 162, 202, 243, 54, 213, 196, 91, 85, 27, 111, 70, 252, 238, 84, 5, 212, 91, 121, 116, 227, 237, 170, 153, 23, 212, 10, 222, 130, 250, 90, 102, 199, 42, 117, 25, 105, 198, 252, 20, 79, 123, 200, 38, 214, 186, 151, 12, 123, 70, 120, 56, 169, 174, 206, 189, 180, 225, 210, 108, 155, 64, 101, 167, 123, 105, 211, 198, 161, 143, 157, 234, 234, 221, 75, 155, 182, 14, 117, 14, 170, 115, 185, 151, 12, 155, 39, 184, 93, 10, 201, 46, 217, 24, 138, 29, 53, 187, 215, 135, 139, 228, 181, 23, 151, 97, 15, 179, 192, 157, 246, 226, 84, 157, 216, 139, 192, 71, 177, 39, 135, 90, 143, 61, 85, 240, 113, 236, 163, 86, 173, 195, 62, 202, 249, 8, 246, 35, 170, 46, 182, 159, 4, 246, 72, 191, 121, 218, 213, 90, 182, 111, 9, 190, 96, 234, 38, 199, 117, 222, 108, 12, 92, 187, 184, 234, 202, 179, 28, 186, 63, 96, 41, 165, 57, 129, 253, 214, 64, 246, 139, 252, 231, 116, 234, 230, 149, 101, 233, 79, 89, 78, 228, 111, 77, 171, 183, 50, 201, 187, 151, 107, 122, 204, 138, 211, 244, 75, 221, 142, 253, 226, 67, 147, 160, 217, 47, 177, 198, 172, 84, 215, 216, 20, 177, 206, 161, 84, 215, 213, 50, 219, 107, 170, 21, 161, 31, 62, 249, 80, 144, 52, 88, 22, 213, 96, 69, 66, 100, 241, 148, 115, 206, 204, 244, 68, 100, 209, 102, 171, 155, 117, 216, 234, 247, 213, 218, 108, 176, 193, 86, 126, 198, 18, 62, 152, 176, 181, 30, 201, 219, 40, 87, 104, 173, 252, 142, 165, 118, 122, 202, 6, 255, 109, 221, 90, 51, 97, 105, 35, 88, 55, 111, 145, 246, 47, 216, 218, 233, 190, 253, 219, 150, 36, 193, 254, 239, 90, 58, 56, 235, 186, 109, 214, 156, 75, 81, 121, 90, 177, 88, 9, 238, 255, 166, 165, 52, 63, 239, 235, 68, 91, 252, 160, 57, 87, 58, 116, 200, 215, 113, 132, 114, 232, 214, 245, 84, 149, 57, 215, 182, 120, 200, 214, 121, 252, 132, 156, 225, 252, 235, 201, 69, 179, 167, 235, 244, 9, 185, 27, 60, 155, 57, 251, 182, 148, 225, 172, 239, 118, 131, 38, 89, 216, 202, 70, 211, 123, 240, 105, 127, 188, 150, 205, 220, 189, 90, 62, 45, 201, 51, 166, 43, 183, 202, 107, 34, 114, 57, 31, 149, 203, 235, 226, 114, 249, 254, 17, 185, 188, 93, 145, 203, 43, 199, 229, 242, 126, 202, 159, 155, 125, 101, 88, 163, 118, 212, 156, 43, 7, 172, 27, 51, 231, 4, 64, 231, 30, 224, 48, 81, 235, 51, 213, 213, 218, 234, 177, 102, 69, 157, 217, 35, 212, 36, 196, 242, 234, 132, 92, 86, 153, 144, 253, 88, 187, 190, 237, 128, 148, 195, 218, 126, 172, 221, 72, 107, 243, 239, 113, 8, 165, 214, 179, 61, 191, 2, 14, 127, 186, 150, 201, 193, 207, 168, 154, 176, 70, 128, 67, 252, 224, 148, 213, 54, 187, 96, 253, 104, 162, 32, 127, 52, 85, 148, 63, 90, 24, 146, 211, 139, 19, 106, 122, 114, 74, 252, 205, 161, 121, 185, 123, 113, 65, 77, 64, 119, 69, 113, 117, 77, 30, 18, 59, 39, 143, 137, 29, 147, 19, 98, 102, 255, 130, 24, 58, 126, 88, 12, 76, 158, 16, 131, 139, 167, 88, 190, 61, 56, 185, 182, 74, 185, 244, 208, 226, 219, 171, 244, 27, 67, 224, 248, 59, 171, 161, 201, 51, 98, 240, 248, 25, 57, 176, 120, 70, 174, 29, 93, 182, 214, 141, 61, 110, 117, 238, 57, 103, 253, 104, 89, 144, 63, 122, 220, 42, 127, 116, 206, 34, 187, 22, 151, 85, 215, 99, 9, 241, 55, 181, 102, 217, 191, 88, 11, 126, 52, 139, 46, 92, 101, 143, 217, 196, 242, 199, 68, 81, 120, 204, 33, 154, 171, 243, 162, 165, 230, 113, 145, 175, 60, 39, 210, 30, 249, 154, 149, 213, 44, 160, 185, 242, 151, 171, 61, 128, 150, 234, 191, 89, 53, 215, 156, 23, 249, 234, 243, 178, 165, 242, 188, 220, 243, 228, 211, 98, 246, 137, 167, 101, 127, 255, 211, 114, 102, 255, 188, 92, 95, 87, 43, 102, 112, 158, 185, 58, 171, 165, 235, 244, 51, 98, 250, 228, 51, 114, 199, 145, 103, 100, 58, 219, 94, 140, 111, 219, 247, 129, 212, 245, 228, 41, 49, 253, 196, 41, 185, 163, 255, 148, 92, 58, 147, 247, 209, 30, 218, 250, 223, 145, 54, 158, 62, 204, 252, 4, 218, 155, 191, 127, 77, 234, 61, 121, 6, 115, 149, 214, 187, 78, 175, 175, 246, 158, 126, 220, 214, 117, 242, 132, 144, 61, 121, 194, 154, 57, 125, 74, 237, 122, 226, 156, 53, 61, 247, 180, 90, 58, 119, 174, 161, 231, 75, 207, 56, 186, 158, 16, 46, 228, 224, 235, 245, 254, 71, 19, 151, 91, 254, 201, 229, 236, 201, 199, 197, 182, 254, 231, 108, 217, 47, 207, 203, 109, 160, 105, 26, 215, 198, 252, 188, 248, 15, 211, 63, 89, 203, 236, 67, 95, 244, 209, 99, 245, 63, 229, 79, 104, 229, 64, 197, 188, 16, 44, 63, 35, 132, 202, 30, 23, 2, 88, 183, 237, 217, 23, 165, 32, 96, 230, 217, 171, 18, 249, 61, 217, 103, 95, 146, 92, 149, 207, 137, 174, 234, 231, 69, 87, 205, 87, 197, 36, 234, 146, 211, 255, 69, 162, 223, 117, 58, 167, 63, 150, 200, 62, 180, 78, 255, 63, 18, 253, 198, 219, 243, 165, 183, 67, 59, 81, 166, 246, 62, 64, 106, 223, 5, 72, 237, 21, 207, 158, 19, 19, 211, 231, 228, 93, 127, 180, 32, 246, 125, 101, 65, 222, 249, 229, 5, 57, 244, 71, 79, 139, 193, 175, 60, 45, 7, 190, 252, 180, 156, 32, 94, 248, 210, 211, 98, 104, 120, 72, 12, 14, 14, 65, 247, 15, 49, 191, 107, 199, 151, 94, 146, 66, 240, 159, 74, 67, 230, 11, 176, 47, 92, 15, 124, 175, 224, 0, 250, 127, 169, 32, 246, 154, 133, 119, 63, 46, 152, 185, 228, 192, 188, 220, 57, 112, 70, 110, 29, 120, 92, 78, 79, 23, 196, 192, 92, 65, 237, 26, 40, 56, 140, 188, 4, 15, 219, 70, 99, 63, 46, 20, 4, 106, 139, 162, 141, 114, 21, 109, 3, 181, 150, 16, 96, 102, 64, 180, 80, 46, 54, 59, 96, 179, 8, 3, 19, 98, 168, 122, 66, 14, 86, 78, 200, 173, 117, 102, 224, 49, 5, 156, 96, 143, 225, 247, 146, 237, 107, 157, 252, 30, 246, 204, 173, 231, 38, 63, 224, 162, 128, 29, 211, 31, 112, 37, 179, 217, 103, 194, 189, 159, 255, 128, 211, 218, 126, 165, 183, 253, 138, 211, 234, 1, 249, 188, 216, 7, 61, 22, 237, 55, 115, 126, 38, 179, 31, 65, 94, 214, 214, 228, 190, 187, 87, 235, 31, 139, 139, 147, 240, 121, 234, 49, 127, 61, 226, 110, 63, 198, 88, 6, 63, 224, 130, 128, 252, 240, 7, 92, 0, 208, 60, 240, 1, 169, 242, 117, 75, 255, 175, 232, 217, 184, 117, 126, 240, 87, 244, 188, 27, 234, 127, 197, 109, 76, 229, 125, 180, 207, 138, 254, 90, 209, 191, 152, 87, 43, 176, 151, 10, 232, 156, 101, 208, 199, 85, 103, 198, 184, 210, 122, 69, 101, 173, 196, 19, 172, 22, 37, 51, 193, 26, 155, 100, 234, 55, 139, 180, 166, 169, 109, 126, 213, 132, 49, 150, 182, 99, 22, 30, 144, 111, 59, 101, 49, 3, 154, 219, 150, 45, 169, 176, 96, 139, 183, 218, 108, 182, 152, 104, 179, 142, 218, 109, 237, 99, 14, 91, 108, 79, 173, 205, 82, 101, 183, 149, 213, 56, 108, 229, 208, 21, 164, 27, 91, 255, 246, 77, 222, 86, 37, 200, 182, 26, 155, 108, 171, 19, 101, 95, 133, 96, 109, 170, 180, 89, 155, 171, 237, 86, 194, 219, 87, 241, 54, 61, 119, 185, 222, 84, 249, 54, 61, 119, 185, 222, 92, 245, 54, 231, 225, 205, 156, 183, 220, 202, 53, 148, 89, 56, 244, 231, 208, 159, 107, 174, 178, 115, 229, 160, 79, 11, 252, 127, 129, 232, 196, 127, 196, 241, 176, 19, 102, 216, 18, 25, 118, 131, 108, 99, 57, 108, 139, 21, 118, 164, 12, 182, 195, 2, 123, 35, 195, 182, 200, 234, 221, 171, 152, 79, 45, 7, 29, 189, 232, 215, 128, 254, 126, 212, 251, 208, 222, 132, 126, 205, 232, 223, 130, 113, 50, 236, 118, 102, 155, 190, 141, 219, 244, 205, 160, 111, 118, 155, 190, 217, 109, 250, 102, 209, 215, 195, 165, 216, 51, 54, 14, 130, 136, 83, 237, 4, 97, 155, 157, 4, 97, 143, 5, 130, 176, 195, 62, 130, 176, 189, 41, 130, 176, 183, 57, 130, 30, 216, 98, 130, 94, 247, 82, 148, 96, 131, 123, 169, 143, 96, 163, 123, 41, 65, 208, 231, 94, 130, 125, 188, 195, 53, 185, 151, 36, 130, 205, 244, 220, 20, 96, 139, 123, 201, 4, 154, 168, 176, 87, 208, 109, 42, 61, 135, 227, 133, 189, 53, 243, 105, 216, 100, 139, 74, 207, 224, 52, 192, 46, 243, 124, 6, 118, 214, 170, 146, 63, 220, 8, 91, 107, 225, 179, 204, 38, 211, 179, 55, 62, 216, 229, 50, 62, 199, 108, 55, 249, 201, 77, 176, 223, 86, 190, 23, 246, 219, 174, 146, 61, 108, 134, 13, 47, 71, 124, 233, 194, 94, 201, 46, 182, 192, 118, 11, 188, 172, 122, 176, 111, 153, 79, 169, 117, 119, 117, 159, 11, 126, 79, 159, 238, 15, 105, 62, 127, 22, 52, 26, 1, 141, 20, 208, 104, 92, 245, 98, 206, 6, 204, 227, 195, 88, 30, 248, 153, 129, 147, 7, 235, 90, 48, 7, 217, 237, 70, 183, 230, 219, 124, 19, 180, 22, 123, 38, 148, 234, 158, 41, 197, 179, 37, 54, 109, 141, 105, 177, 105, 180, 93, 179, 237, 109, 71, 224, 187, 47, 78, 217, 200, 198, 150, 79, 190, 110, 137, 29, 60, 96, 235, 160, 251, 233, 27, 22, 235, 228, 188, 220, 176, 56, 33, 116, 82, 249, 224, 247, 45, 214, 233, 189, 178, 247, 200, 148, 16, 218, 119, 66, 104, 157, 60, 37, 38, 142, 46, 217, 172, 7, 103, 100, 207, 241, 3, 66, 112, 238, 140, 16, 157, 62, 37, 167, 79, 46, 139, 229, 71, 23, 228, 192, 236, 146, 208, 126, 240, 148, 156, 57, 187, 44, 183, 66, 167, 166, 142, 46, 203, 165, 133, 5, 95, 102, 250, 113, 121, 227, 212, 41, 166, 175, 201, 14, 39, 246, 255, 149, 148, 58, 248, 184, 76, 54, 34, 177, 255, 29, 137, 108, 70, 98, 255, 47, 165, 238, 39, 207, 139, 57, 220, 103, 159, 248, 213, 106, 247, 19, 203, 182, 236, 147, 143, 11, 185, 211, 231, 212, 238, 39, 30, 183, 246, 60, 246, 180, 53, 59, 247, 140, 90, 122, 250, 233, 134, 157, 192, 109, 199, 179, 111, 135, 178, 95, 126, 94, 76, 236, 255, 170, 216, 55, 247, 188, 186, 227, 217, 167, 29, 187, 158, 120, 6, 186, 2, 250, 244, 43, 111, 135, 146, 208, 25, 61, 143, 153, 57, 138, 233, 119, 64, 207, 111, 60, 179, 204, 244, 121, 223, 220, 57, 53, 247, 24, 124, 99, 93, 159, 183, 158, 60, 97, 219, 249, 228, 178, 35, 131, 126, 89, 202, 37, 157, 61, 99, 75, 99, 142, 244, 99, 223, 181, 180, 99, 175, 100, 159, 50, 143, 125, 207, 146, 198, 126, 210, 201, 215, 47, 147, 31, 146, 122, 236, 199, 150, 204, 217, 199, 229, 228, 242, 7, 151, 83, 71, 31, 151, 151, 51, 31, 92, 222, 120, 124, 153, 237, 175, 235, 177, 83, 92, 215, 226, 41, 181, 115, 118, 70, 232, 152, 219, 43, 36, 247, 205, 11, 237, 71, 15, 96, 222, 41, 174, 245, 228, 4, 151, 56, 189, 44, 38, 48, 71, 226, 244, 59, 124, 203, 236, 140, 85, 154, 219, 107, 13, 239, 155, 183, 118, 30, 93, 178, 118, 156, 61, 108, 77, 158, 60, 100, 37, 31, 168, 125, 255, 211, 22, 246, 252, 207, 254, 231, 44, 236, 153, 160, 253, 95, 181, 196, 32, 255, 45, 179, 111, 113, 244, 12, 147, 52, 247, 22, 215, 6, 24, 222, 247, 22, 71, 123, 237, 198, 30, 61, 71, 225, 219, 31, 129, 111, 191, 152, 225, 160, 216, 214, 125, 7, 127, 202, 53, 1, 54, 77, 255, 148, 107, 6, 108, 158, 252, 41, 215, 2, 216, 50, 251, 83, 14, 241, 58, 230, 248, 41, 23, 6, 12, 239, 251, 41, 23, 129, 206, 136, 152, 254, 87, 238, 82, 54, 171, 44, 27, 177, 192, 184, 150, 59, 136, 84, 185, 84, 122, 70, 138, 242, 73, 41, 137, 124, 218, 148, 218, 133, 50, 197, 253, 30, 142, 243, 52, 239, 74, 139, 77, 59, 211, 136, 197, 210, 242, 70, 58, 195, 232, 0, 28, 84, 95, 119, 86, 108, 234, 30, 23, 155, 187, 39, 88, 254, 222, 50, 48, 37, 240, 131, 51, 130, 121, 120, 175, 64, 54, 161, 197, 253, 61, 137, 242, 1, 146, 251, 251, 18, 197, 67, 97, 247, 13, 169, 117, 78, 22, 99, 136, 119, 162, 61, 184, 80, 215, 210, 163, 245, 105, 217, 163, 245, 105, 153, 188, 33, 197, 231, 178, 98, 108, 54, 43, 71, 167, 179, 44, 127, 224, 225, 196, 117, 79, 151, 217, 223, 208, 153, 18, 43, 113, 109, 100, 211, 12, 7, 239, 98, 90, 245, 162, 252, 73, 42, 229, 243, 98, 108, 180, 243, 69, 137, 126, 67, 137, 117, 94, 149, 26, 1, 227, 157, 47, 73, 244, 156, 146, 223, 171, 229, 15, 124, 110, 65, 110, 114, 91, 229, 102, 183, 133, 229, 12, 76, 80, 192, 20, 219, 152, 96, 56, 40, 182, 49, 193, 112, 80, 92, 99, 210, 243, 5, 101, 136, 69, 108, 144, 253, 10, 232, 3, 1, 58, 162, 28, 122, 195, 10, 93, 226, 130, 222, 168, 135, 46, 113, 66, 206, 235, 32, 251, 181, 208, 7, 127, 243, 79, 43, 183, 232, 185, 169, 40, 244, 34, 201, 251, 255, 1, 63, 207, 229, 102, 113, 141, 157, 203, 49, 40, 238, 168, 98, 208, 145, 219, 212, 5, 20, 239, 72, 152, 247, 2, 230, 23, 161, 51, 28, 44, 150, 169, 213, 115, 114, 63, 193, 28, 43, 82, 132, 229, 20, 16, 118, 57, 55, 164, 248, 102, 78, 1, 101, 23, 197, 40, 128, 110, 138, 75, 0, 61, 247, 98, 146, 60, 98, 15, 138, 69, 40, 54, 161, 88, 132, 98, 19, 202, 201, 81, 78, 129, 226, 147, 220, 102, 76, 65, 207, 14, 121, 67, 215, 46, 82, 44, 81, 5, 223, 117, 187, 88, 226, 63, 113, 90, 44, 65, 249, 221, 202, 46, 219, 125, 241, 68, 89, 153, 166, 115, 170, 43, 69, 197, 81, 105, 83, 170, 171, 28, 138, 163, 202, 206, 226, 137, 242, 128, 30, 71, 132, 53, 40, 196, 52, 104, 45, 19, 75, 164, 79, 3, 99, 138, 45, 184, 103, 220, 22, 66, 188, 45, 33, 94, 32, 185, 168, 24, 123, 145, 197, 6, 21, 123, 174, 34, 54, 0, 156, 124, 201, 82, 49, 61, 34, 211, 26, 177, 74, 155, 45, 14, 251, 218, 86, 45, 218, 18, 176, 177, 36, 63, 21, 149, 223, 183, 144, 204, 86, 84, 221, 176, 144, 78, 171, 168, 126, 221, 82, 81, 179, 128, 248, 216, 225, 147, 224, 187, 183, 79, 155, 115, 105, 192, 228, 81, 115, 142, 226, 135, 142, 227, 240, 229, 161, 179, 4, 196, 34, 20, 63, 36, 246, 83, 252, 176, 12, 223, 116, 89, 150, 70, 151, 101, 210, 85, 153, 179, 127, 197, 226, 136, 44, 232, 209, 3, 185, 241, 110, 137, 35, 186, 23, 207, 171, 95, 133, 108, 116, 63, 181, 44, 182, 79, 63, 109, 77, 30, 125, 198, 218, 113, 252, 57, 235, 111, 22, 28, 114, 150, 124, 181, 26, 135, 216, 141, 75, 122, 106, 68, 76, 63, 133, 152, 229, 169, 83, 204, 111, 207, 2, 183, 29, 127, 55, 109, 217, 1, 216, 251, 119, 251, 45, 189, 128, 59, 255, 110, 209, 210, 245, 236, 115, 226, 142, 147, 207, 201, 217, 209, 231, 228, 157, 251, 29, 114, 201, 225, 240, 245, 62, 251, 188, 184, 227, 75, 207, 203, 217, 39, 158, 151, 201, 95, 220, 249, 229, 143, 37, 1, 62, 102, 14, 103, 212, 247, 71, 240, 13, 8, 39, 196, 23, 94, 200, 118, 79, 215, 189, 248, 34, 243, 212, 25, 113, 4, 184, 145, 159, 140, 88, 40, 180, 241, 252, 57, 230, 255, 36, 158, 92, 16, 123, 22, 207, 169, 76, 47, 61, 249, 95, 152, 255, 211, 189, 223, 204, 49, 189, 60, 250, 75, 105, 7, 193, 147, 255, 73, 34, 159, 60, 113, 250, 3, 73, 120, 210, 193, 124, 109, 225, 236, 250, 170, 128, 49, 217, 179, 203, 22, 9, 112, 199, 217, 115, 22, 154, 163, 247, 236, 211, 22, 219, 88, 65, 182, 237, 41, 202, 182, 201, 33, 217, 86, 57, 35, 219, 170, 246, 202, 182, 234, 121, 185, 125, 192, 38, 36, 7, 237, 66, 199, 176, 40, 68, 103, 11, 66, 106, 174, 40, 116, 238, 27, 18, 202, 6, 10, 54, 235, 96, 209, 86, 62, 60, 100, 11, 99, 142, 157, 240, 139, 194, 3, 54, 57, 60, 104, 151, 195, 195, 162, 204, 124, 162, 42, 187, 181, 165, 90, 180, 62, 232, 15, 65, 109, 175, 183, 84, 191, 205, 53, 212, 56, 184, 198, 81, 232, 190, 253, 217, 77, 159, 8, 253, 89, 94, 212, 79, 121, 209, 116, 90, 241, 66, 150, 202, 96, 67, 101, 200, 45, 249, 68, 141, 144, 169, 114, 216, 244, 6, 200, 151, 21, 118, 85, 134, 172, 146, 159, 227, 69, 59, 249, 46, 13, 40, 55, 162, 205, 135, 126, 77, 24, 215, 140, 62, 45, 232, 239, 135, 253, 53, 252, 156, 158, 223, 161, 47, 249, 57, 204, 31, 129, 31, 194, 252, 17, 248, 33, 204, 31, 129, 31, 194, 252, 17, 191, 123, 169, 12, 248, 144, 95, 209, 132, 249, 200, 230, 203, 152, 131, 98, 125, 146, 133, 102, 204, 77, 62, 128, 140, 57, 73, 31, 144, 127, 209, 130, 181, 26, 225, 19, 200, 88, 131, 246, 66, 50, 224, 199, 218, 62, 62, 143, 186, 156, 234, 48, 244, 56, 100, 157, 252, 11, 240, 131, 87, 243, 47, 46, 0, 167, 2, 112, 203, 3, 71, 25, 184, 146, 111, 209, 139, 185, 114, 88, 131, 244, 64, 134, 249, 21, 13, 93, 154, 158, 233, 199, 222, 170, 187, 139, 138, 163, 123, 232, 62, 191, 226, 193, 156, 183, 52, 93, 180, 133, 103, 135, 108, 145, 185, 41, 91, 235, 190, 25, 22, 223, 87, 12, 126, 147, 197, 247, 21, 195, 223, 102, 188, 81, 49, 253, 29, 75, 197, 236, 132, 236, 156, 155, 17, 92, 251, 14, 8, 238, 253, 135, 132, 228, 226, 97, 177, 253, 224, 97, 57, 54, 123, 88, 46, 77, 76, 248, 54, 14, 107, 177, 93, 199, 226, 97, 181, 245, 200, 146, 200, 236, 223, 145, 119, 120, 202, 29, 196, 38, 207, 89, 152, 125, 156, 124, 154, 217, 197, 228, 228, 115, 22, 219, 224, 136, 108, 27, 86, 100, 219, 244, 184, 28, 31, 45, 10, 109, 99, 67, 66, 98, 207, 136, 208, 60, 88, 180, 182, 12, 15, 89, 253, 163, 35, 86, 138, 9, 154, 7, 223, 226, 232, 153, 173, 150, 225, 183, 152, 253, 243, 143, 190, 197, 125, 188, 100, 190, 208, 56, 155, 229, 124, 7, 115, 92, 211, 100, 47, 215, 60, 216, 199, 181, 12, 203, 156, 127, 52, 207, 5, 192, 55, 1, 226, 155, 76, 70, 249, 223, 12, 90, 22, 52, 155, 24, 168, 74, 171, 244, 187, 133, 119, 46, 205, 108, 162, 53, 44, 41, 244, 155, 228, 170, 4, 213, 224, 200, 221, 169, 13, 88, 74, 77, 59, 51, 162, 111, 71, 70, 110, 236, 201, 200, 27, 25, 133, 237, 41, 188, 168, 176, 115, 114, 15, 143, 11, 148, 51, 116, 13, 78, 9, 148, 31, 247, 119, 125, 71, 34, 189, 236, 27, 155, 17, 157, 3, 186, 125, 236, 66, 204, 180, 71, 102, 249, 117, 196, 54, 254, 70, 122, 246, 14, 245, 205, 93, 55, 164, 232, 172, 44, 199, 247, 201, 50, 141, 109, 153, 252, 14, 226, 72, 192, 217, 239, 73, 145, 61, 125, 172, 79, 203, 62, 244, 153, 238, 147, 227, 115, 125, 204, 70, 54, 192, 70, 250, 187, 205, 254, 112, 119, 70, 220, 232, 235, 99, 184, 120, 113, 79, 207, 21, 52, 3, 126, 146, 201, 248, 40, 167, 30, 239, 126, 145, 253, 190, 16, 237, 190, 42, 81, 76, 31, 233, 126, 73, 146, 192, 43, 148, 103, 175, 109, 214, 236, 100, 201, 44, 169, 11, 192, 169, 150, 227, 106, 183, 238, 177, 177, 43, 202, 214, 170, 197, 185, 212, 118, 191, 205, 251, 186, 18, 114, 237, 156, 164, 146, 45, 173, 115, 114, 92, 83, 87, 82, 246, 132, 37, 71, 201, 99, 102, 207, 137, 212, 185, 96, 148, 194, 18, 179, 173, 117, 176, 169, 100, 91, 235, 48, 41, 209, 185, 30, 118, 175, 8, 255, 152, 108, 38, 241, 246, 131, 121, 189, 114, 216, 215, 237, 114, 128, 148, 95, 36, 28, 200, 198, 78, 1, 71, 178, 163, 172, 188, 153, 99, 244, 168, 41, 94, 179, 189, 198, 239, 204, 90, 126, 46, 169, 178, 103, 253, 17, 79, 120, 116, 127, 186, 9, 253, 138, 155, 191, 45, 191, 250, 161, 199, 81, 201, 248, 92, 203, 251, 7, 85, 202, 79, 214, 128, 6, 110, 216, 109, 64, 39, 217, 109, 192, 26, 250, 77, 212, 218, 145, 80, 220, 1, 159, 194, 126, 123, 19, 221, 75, 36, 119, 46, 222, 15, 60, 155, 33, 171, 206, 205, 253, 120, 216, 126, 40, 54, 187, 183, 31, 17, 251, 145, 121, 159, 202, 114, 148, 14, 196, 69, 229, 26, 62, 255, 217, 124, 229, 214, 37, 127, 34, 49, 178, 249, 59, 217, 39, 31, 186, 92, 246, 210, 37, 127, 38, 91, 202, 216, 46, 18, 110, 215, 147, 153, 196, 245, 116, 54, 209, 208, 147, 1, 199, 124, 242, 97, 67, 131, 38, 155, 44, 183, 137, 88, 136, 229, 52, 17, 27, 177, 60, 38, 98, 165, 235, 137, 190, 196, 245, 148, 156, 112, 113, 215, 215, 93, 8, 108, 61, 128, 244, 76, 68, 243, 238, 62, 206, 213, 153, 224, 220, 40, 187, 245, 122, 47, 224, 74, 95, 58, 195, 242, 157, 136, 183, 200, 239, 128, 78, 105, 33, 127, 3, 208, 79, 254, 6, 96, 192, 221, 9, 11, 157, 72, 101, 138, 212, 15, 244, 164, 126, 240, 19, 131, 212, 15, 48, 68, 253, 0, 165, 149, 164, 146, 201, 83, 159, 176, 214, 7, 190, 104, 132, 250, 0, 182, 82, 31, 192, 232, 11, 2, 226, 155, 221, 178, 248, 66, 57, 96, 255, 140, 248, 130, 21, 112, 96, 175, 72, 126, 73, 176, 91, 150, 201, 231, 8, 117, 207, 200, 148, 115, 150, 186, 247, 178, 223, 126, 34, 59, 80, 111, 186, 118, 171, 117, 7, 234, 65, 167, 232, 142, 189, 50, 249, 61, 244, 123, 95, 201, 124, 72, 173, 230, 139, 160, 117, 51, 116, 29, 249, 110, 25, 213, 1, 218, 91, 113, 54, 97, 156, 71, 201, 172, 224, 58, 128, 107, 28, 215, 2, 174, 9, 92, 243, 184, 166, 112, 46, 23, 112, 102, 62, 232, 73, 1, 231, 152, 197, 89, 57, 161, 55, 233, 172, 114, 76, 255, 82, 92, 87, 142, 152, 204, 139, 115, 36, 221, 205, 113, 105, 248, 80, 93, 55, 195, 109, 215, 46, 102, 96, 155, 157, 240, 23, 210, 234, 143, 152, 255, 148, 73, 255, 8, 254, 211, 143, 215, 200, 159, 170, 52, 173, 222, 202, 166, 238, 94, 174, 25, 227, 224, 23, 253, 226, 67, 142, 183, 178, 51, 171, 45, 231, 148, 186, 114, 171, 82, 91, 97, 83, 234, 42, 4, 230, 51, 113, 214, 114, 166, 115, 121, 143, 6, 203, 58, 52, 104, 233, 42, 103, 62, 147, 181, 147, 179, 149, 119, 89, 109, 66, 183, 96, 171, 232, 177, 177, 28, 131, 217, 212, 96, 17, 9, 150, 55, 91, 170, 9, 86, 4, 45, 230, 202, 90, 230, 51, 117, 156, 182, 217, 82, 103, 253, 182, 206, 199, 82, 182, 244, 19, 105, 91, 3, 181, 87, 174, 177, 103, 138, 204, 129, 183, 44, 244, 172, 145, 185, 243, 231, 22, 115, 215, 9, 185, 84, 91, 11, 63, 218, 186, 110, 235, 54, 231, 130, 128, 98, 143, 230, 51, 85, 239, 128, 207, 116, 226, 132, 175, 2, 177, 20, 249, 76, 233, 147, 154, 207, 20, 28, 92, 150, 189, 93, 247, 124, 166, 236, 22, 159, 41, 108, 250, 5, 252, 146, 159, 172, 229, 178, 154, 207, 244, 71, 208, 157, 228, 51, 217, 186, 159, 182, 138, 61, 207, 88, 171, 119, 192, 103, 58, 81, 11, 159, 233, 132, 154, 174, 171, 21, 187, 113, 121, 159, 74, 139, 193, 167, 138, 154, 207, 116, 242, 132, 238, 51, 93, 212, 125, 166, 255, 65, 247, 153, 126, 160, 249, 76, 131, 240, 153, 186, 224, 51, 157, 172, 101, 120, 111, 231, 51, 85, 212, 125, 85, 236, 213, 125, 166, 48, 225, 196, 255, 130, 197, 67, 61, 99, 31, 0, 55, 248, 115, 189, 154, 207, 52, 10, 220, 30, 244, 153, 210, 79, 158, 96, 62, 19, 139, 21, 13, 159, 233, 164, 230, 51, 165, 187, 52, 159, 41, 61, 168, 249, 76, 105, 248, 76, 21, 79, 82, 174, 179, 180, 94, 1, 159, 137, 242, 76, 217, 179, 223, 177, 120, 1, 119, 156, 253, 174, 133, 114, 106, 189, 103, 191, 103, 49, 153, 236, 178, 169, 92, 148, 77, 21, 14, 217, 84, 121, 88, 54, 5, 150, 100, 83, 231, 49, 248, 78, 156, 32, 86, 91, 133, 234, 26, 65, 104, 56, 98, 19, 26, 143, 218, 5, 223, 113, 81, 224, 224, 239, 242, 240, 119, 45, 240, 119, 201, 15, 35, 159, 73, 168, 228, 100, 161, 202, 42, 11, 213, 130, 220, 102, 226, 172, 137, 114, 171, 181, 189, 66, 32, 125, 191, 222, 102, 90, 103, 57, 176, 68, 249, 58, 133, 9, 235, 237, 21, 235, 92, 164, 206, 198, 181, 118, 217, 185, 232, 160, 200, 161, 63, 135, 254, 28, 250, 115, 148, 67, 74, 146, 237, 83, 106, 21, 210, 79, 2, 100, 196, 2, 254, 182, 130, 247, 57, 200, 137, 204, 115, 144, 33, 210, 91, 244, 247, 86, 196, 239, 86, 149, 124, 161, 48, 234, 201, 23, 138, 160, 220, 138, 190, 81, 180, 183, 161, 127, 2, 125, 218, 49, 62, 137, 121, 200, 23, 202, 49, 191, 233, 183, 247, 205, 161, 111, 134, 252, 35, 155, 158, 15, 130, 46, 101, 249, 160, 106, 61, 79, 4, 253, 152, 39, 8, 61, 195, 242, 71, 208, 75, 69, 130, 208, 109, 44, 175, 4, 93, 199, 242, 70, 208, 125, 44, 111, 20, 212, 243, 70, 208, 57, 44, 111, 20, 209, 243, 70, 173, 122, 222, 40, 170, 231, 141, 218, 116, 63, 45, 161, 251, 105, 237, 110, 205, 79, 75, 162, 30, 251, 182, 1, 119, 250, 219, 68, 31, 116, 0, 249, 98, 237, 76, 7, 28, 128, 78, 113, 96, 15, 25, 208, 105, 30, 250, 192, 142, 125, 165, 64, 183, 9, 232, 28, 1, 250, 165, 25, 116, 82, 64, 175, 11, 76, 199, 7, 121, 31, 243, 5, 146, 208, 71, 21, 252, 33, 232, 149, 90, 236, 61, 11, 154, 46, 48, 29, 18, 133, 14, 41, 227, 167, 160, 159, 108, 106, 4, 250, 137, 158, 137, 254, 7, 216, 68, 205, 6, 43, 204, 167, 3, 191, 134, 181, 152, 238, 2, 232, 117, 24, 116, 163, 191, 229, 57, 0, 28, 22, 48, 126, 30, 235, 79, 97, 44, 233, 176, 113, 230, 211, 69, 198, 52, 91, 162, 128, 238, 181, 123, 138, 74, 221, 158, 165, 251, 125, 186, 78, 205, 167, 75, 117, 107, 118, 163, 243, 177, 34, 244, 194, 146, 173, 235, 201, 101, 91, 230, 169, 199, 109, 61, 224, 51, 243, 224, 207, 45, 57, 130, 71, 223, 102, 178, 103, 126, 236, 29, 139, 249, 137, 51, 114, 203, 147, 143, 11, 177, 167, 158, 17, 226, 95, 122, 78, 216, 249, 229, 231, 69, 200, 28, 147, 183, 210, 153, 51, 190, 141, 231, 159, 103, 62, 71, 223, 226, 243, 106, 230, 43, 95, 133, 44, 172, 172, 103, 190, 242, 14, 79, 50, 156, 133, 12, 144, 236, 146, 12, 80, 253, 206, 179, 175, 91, 76, 131, 199, 100, 211, 209, 19, 178, 233, 177, 83, 114, 207, 241, 162, 144, 59, 185, 36, 236, 56, 125, 76, 72, 192, 167, 107, 63, 186, 100, 77, 30, 63, 198, 124, 186, 196, 224, 219, 92, 138, 120, 249, 232, 219, 92, 39, 96, 242, 248, 219, 220, 199, 95, 53, 95, 104, 125, 98, 130, 139, 62, 59, 197, 181, 157, 157, 231, 48, 134, 107, 63, 186, 192, 37, 143, 31, 224, 146, 224, 235, 14, 226, 235, 241, 113, 133, 157, 103, 135, 123, 41, 136, 243, 160, 189, 118, 224, 28, 182, 210, 80, 6, 13, 127, 4, 191, 143, 209, 251, 48, 249, 125, 175, 175, 117, 84, 41, 234, 63, 129, 118, 225, 57, 5, 126, 205, 237, 219, 2, 108, 22, 197, 215, 128, 29, 84, 70, 44, 146, 162, 50, 96, 39, 149, 177, 233, 52, 217, 52, 64, 246, 119, 39, 128, 236, 25, 45, 192, 238, 214, 177, 199, 197, 232, 216, 57, 177, 109, 236, 60, 179, 107, 165, 195, 13, 23, 232, 153, 229, 108, 229, 184, 220, 83, 57, 36, 231, 42, 71, 88, 30, 2, 14, 34, 203, 67, 8, 112, 94, 201, 87, 18, 224, 188, 146, 175, 36, 116, 96, 49, 224, 70, 54, 176, 116, 172, 225, 66, 10, 254, 77, 182, 98, 73, 238, 169, 200, 203, 185, 138, 2, 27, 91, 14, 226, 208, 216, 114, 114, 32, 49, 182, 60, 160, 141, 45, 7, 177, 216, 88, 156, 123, 105, 89, 31, 91, 126, 66, 238, 41, 63, 37, 231, 202, 207, 176, 177, 214, 180, 54, 214, 218, 165, 141, 181, 194, 165, 160, 177, 214, 110, 109, 44, 61, 71, 66, 227, 26, 119, 245, 41, 244, 119, 122, 141, 237, 9, 101, 181, 175, 47, 211, 216, 145, 84, 86, 19, 137, 204, 106, 50, 201, 126, 139, 108, 238, 208, 254, 142, 199, 149, 214, 160, 187, 219, 82, 106, 219, 151, 23, 201, 94, 89, 142, 23, 196, 232, 116, 94, 182, 28, 29, 18, 73, 142, 50, 149, 5, 185, 117, 18, 229, 35, 35, 98, 23, 104, 64, 231, 210, 83, 94, 144, 55, 242, 227, 32, 25, 244, 46, 104, 146, 45, 31, 146, 35, 139, 227, 106, 124, 160, 32, 116, 151, 143, 200, 109, 123, 246, 138, 177, 225, 33, 246, 59, 76, 114, 236, 69, 248, 209, 51, 106, 116, 207, 33, 177, 101, 84, 6, 201, 232, 239, 66, 94, 146, 226, 3, 35, 204, 143, 142, 113, 92, 172, 117, 207, 1, 145, 124, 220, 196, 152, 42, 133, 22, 71, 228, 150, 131, 35, 50, 141, 149, 230, 94, 100, 191, 221, 72, 139, 47, 73, 244, 60, 1, 245, 145, 14, 162, 207, 240, 94, 185, 101, 55, 124, 11, 208, 138, 158, 85, 137, 245, 155, 253, 145, 254, 188, 184, 177, 119, 132, 225, 20, 198, 189, 180, 56, 162, 74, 128, 244, 172, 74, 75, 63, 253, 38, 63, 36, 210, 179, 43, 45, 232, 223, 180, 219, 236, 15, 16, 28, 54, 251, 155, 8, 98, 60, 197, 8, 174, 132, 133, 201, 152, 118, 238, 63, 90, 107, 169, 92, 144, 3, 149, 7, 16, 235, 30, 146, 201, 223, 166, 246, 52, 232, 76, 125, 155, 183, 244, 77, 131, 230, 45, 21, 232, 91, 129, 190, 21, 90, 95, 106, 55, 250, 186, 31, 236, 91, 190, 32, 11, 56, 159, 64, 57, 250, 151, 31, 146, 19, 136, 245, 218, 17, 243, 37, 17, 251, 117, 32, 6, 164, 241, 238, 38, 75, 137, 157, 41, 124, 115, 58, 211, 182, 125, 9, 177, 128, 49, 209, 233, 4, 206, 35, 33, 135, 199, 146, 162, 171, 35, 33, 146, 159, 76, 190, 63, 220, 117, 150, 87, 2, 223, 55, 233, 124, 223, 76, 124, 14, 216, 66, 190, 152, 11, 114, 236, 110, 127, 155, 39, 158, 71, 29, 235, 11, 232, 215, 101, 34, 160, 203, 4, 243, 5, 1, 37, 106, 7, 12, 187, 230, 18, 234, 39, 137, 4, 98, 252, 149, 245, 50, 140, 183, 0, 90, 0, 217, 239, 43, 128, 228, 15, 34, 182, 103, 207, 166, 10, 101, 28, 71, 101, 198, 231, 205, 218, 61, 227, 245, 22, 237, 158, 241, 59, 16, 101, 247, 21, 2, 27, 83, 14, 195, 71, 101, 198, 223, 144, 5, 186, 103, 60, 14, 217, 162, 123, 198, 231, 144, 47, 186, 15, 151, 91, 217, 24, 43, 140, 38, 233, 128, 141, 90, 171, 66, 47, 177, 104, 128, 158, 246, 66, 207, 123, 160, 163, 29, 208, 241, 213, 208, 207, 34, 244, 59, 15, 29, 29, 132, 142, 247, 65, 175, 219, 160, 223, 27, 97, 27, 196, 255, 170, 197, 141, 151, 132, 148, 194, 243, 73, 102, 63, 203, 208, 38, 96, 28, 217, 78, 27, 230, 169, 192, 60, 213, 212, 23, 243, 26, 121, 66, 11, 98, 28, 30, 49, 205, 103, 245, 167, 60, 34, 245, 33, 251, 249, 208, 126, 152, 139, 254, 246, 217, 35, 191, 191, 249, 183, 207, 21, 245, 181, 13, 165, 90, 243, 5, 138, 135, 158, 244, 92, 65, 44, 131, 253, 112, 90, 59, 98, 246, 247, 132, 114, 19, 23, 71, 140, 187, 59, 255, 254, 109, 184, 4, 44, 126, 170, 244, 54, 88, 171, 188, 158, 188, 251, 207, 222, 203, 85, 185, 93, 12, 218, 221, 126, 235, 187, 47, 100, 216, 51, 154, 244, 183, 172, 20, 91, 149, 204, 126, 213, 248, 251, 78, 122, 254, 123, 195, 220, 160, 190, 251, 2, 28, 122, 224, 73, 207, 58, 210, 179, 251, 127, 249, 2, 127, 147, 230, 20, 91, 132, 11, 27, 102, 159, 250, 151, 104, 175, 106, 106, 224, 74, 184, 167, 231, 90, 233, 185, 254, 219, 47, 220, 190, 45, 114, 92, 245, 18, 202, 128, 236, 57, 161, 56, 231, 122, 183, 170, 197, 204, 161, 125, 189, 180, 242, 3, 19, 193, 183, 26, 110, 112, 66, 99, 131, 242, 221, 134, 230, 132, 99, 206, 165, 86, 181, 52, 40, 27, 46, 23, 48, 186, 91, 96, 107, 204, 249, 212, 202, 38, 87, 195, 74, 67, 67, 198, 238, 246, 136, 27, 13, 62, 229, 53, 172, 199, 115, 185, 219, 98, 165, 157, 123, 3, 248, 87, 129, 137, 233, 140, 168, 191, 22, 219, 185, 84, 223, 40, 203, 197, 86, 94, 170, 109, 96, 207, 92, 210, 115, 235, 218, 243, 147, 55, 214, 234, 176, 23, 138, 231, 200, 238, 10, 188, 71, 229, 251, 249, 155, 41, 206, 254, 158, 29, 12, 158, 122, 224, 111, 78, 170, 188, 62, 229, 77, 115, 179, 186, 176, 249, 252, 249, 249, 59, 98, 181, 189, 180, 225, 241, 176, 92, 237, 111, 96, 95, 232, 188, 55, 64, 187, 159, 0, 47, 162, 17, 226, 82, 113, 3, 116, 252, 161, 94, 198, 102, 28, 250, 51, 244, 181, 68, 227, 51, 160, 9, 238, 89, 236, 74, 207, 140, 80, 60, 65, 151, 179, 206, 206, 108, 251, 78, 224, 71, 107, 217, 99, 113, 37, 183, 37, 126, 173, 175, 175, 44, 213, 150, 89, 213, 186, 178, 5, 245, 77, 143, 141, 197, 139, 206, 54, 156, 120, 60, 145, 225, 87, 249, 111, 36, 86, 19, 223, 32, 57, 68, 88, 238, 230, 45, 47, 191, 149, 176, 124, 251, 45, 146, 79, 10, 211, 73, 94, 1, 217, 243, 211, 128, 236, 185, 151, 174, 100, 70, 236, 72, 38, 197, 116, 42, 35, 39, 83, 73, 185, 51, 157, 145, 219, 211, 73, 57, 149, 200, 200, 137, 68, 82, 38, 29, 208, 208, 84, 176, 184, 1, 221, 45, 67, 22, 237, 55, 151, 141, 130, 155, 123, 125, 221, 93, 206, 153, 93, 128, 46, 64, 119, 77, 82, 117, 213, 36, 212, 63, 134, 189, 184, 14, 187, 225, 134, 29, 217, 72, 36, 20, 142, 187, 196, 85, 198, 146, 74, 125, 123, 60, 183, 176, 185, 143, 243, 119, 220, 216, 199, 70, 84, 123, 70, 231, 45, 157, 126, 6, 207, 209, 217, 53, 250, 180, 179, 163, 254, 21, 222, 168, 162, 209, 41, 174, 214, 215, 107, 244, 161, 191, 255, 165, 61, 235, 123, 97, 207, 248, 3, 250, 244, 189, 54, 233, 52, 104, 174, 108, 203, 40, 27, 113, 45, 167, 190, 119, 115, 253, 231, 239, 52, 52, 86, 150, 254, 193, 88, 23, 52, 164, 117, 255, 164, 214, 165, 212, 35, 70, 174, 172, 172, 55, 95, 117, 185, 18, 113, 238, 202, 123, 245, 149, 102, 206, 5, 127, 163, 210, 244, 3, 196, 209, 220, 250, 37, 142, 224, 95, 173, 215, 119, 152, 57, 15, 96, 89, 187, 153, 67, 172, 172, 124, 29, 251, 254, 186, 190, 239, 138, 246, 68, 196, 205, 125, 107, 253, 79, 28, 135, 45, 6, 143, 105, 185, 250, 148, 234, 134, 95, 9, 14, 99, 121, 121, 35, 182, 132, 249, 193, 213, 141, 43, 139, 171, 7, 87, 14, 215, 14, 92, 189, 184, 118, 226, 234, 195, 181, 11, 151, 140, 107, 55, 46, 141, 87, 232, 202, 115, 215, 222, 243, 186, 233, 221, 17, 89, 149, 254, 206, 105, 131, 231, 111, 110, 80, 238, 31, 242, 176, 81, 94, 192, 125, 175, 74, 123, 191, 228, 232, 203, 174, 56, 228, 236, 134, 35, 159, 189, 3, 93, 184, 234, 40, 100, 175, 56, 138, 217, 70, 122, 87, 131, 227, 156, 197, 7, 88, 112, 60, 109, 105, 98, 229, 231, 44, 111, 246, 245, 41, 5, 206, 242, 94, 11, 98, 189, 94, 245, 131, 171, 133, 229, 159, 94, 89, 201, 203, 153, 34, 234, 232, 249, 218, 62, 212, 21, 151, 255, 247, 43, 67, 40, 7, 81, 150, 81, 30, 90, 94, 187, 50, 2, 221, 99, 14, 208, 111, 12, 31, 92, 29, 89, 190, 121, 69, 161, 114, 13, 197, 204, 31, 92, 85, 150, 127, 116, 101, 156, 202, 21, 38, 46, 131, 242, 248, 242, 159, 94, 153, 160, 114, 153, 137, 203, 162, 60, 177, 252, 227, 43, 83, 84, 230, 77, 92, 14, 229, 169, 229, 159, 92, 161, 191, 193, 89, 201, 229, 50, 43, 189, 189, 153, 188, 244, 6, 147, 203, 143, 32, 151, 249, 228, 221, 203, 246, 238, 188, 178, 96, 186, 161, 159, 105, 234, 142, 223, 95, 95, 114, 117, 95, 97, 50, 241, 102, 62, 207, 5, 112, 150, 254, 64, 153, 249, 122, 62, 159, 40, 21, 108, 23, 87, 242, 133, 44, 249, 155, 164, 119, 168, 188, 138, 242, 37, 199, 80, 95, 176, 166, 152, 134, 185, 216, 172, 191, 146, 207, 103, 3, 160, 67, 104, 208, 108, 150, 182, 182, 229, 109, 23, 253, 219, 212, 147, 29, 178, 192, 14, 109, 29, 67, 117, 77, 228, 175, 233, 117, 84, 246, 161, 15, 193, 70, 212, 51, 156, 193, 115, 35, 216, 83, 19, 120, 249, 212, 115, 239, 211, 243, 225, 204, 182, 54, 113, 92, 144, 32, 130, 212, 16, 193, 70, 216, 214, 13, 65, 81, 40, 49, 197, 57, 238, 176, 120, 225, 118, 39, 123, 158, 188, 149, 114, 40, 254, 129, 124, 142, 116, 107, 112, 172, 144, 11, 237, 41, 230, 104, 110, 105, 114, 40, 71, 107, 89, 176, 22, 193, 38, 125, 109, 31, 8, 64, 176, 145, 108, 165, 142, 67, 94, 185, 123, 153, 225, 112, 238, 183, 227, 240, 147, 45, 56, 252, 228, 81, 226, 48, 174, 227, 176, 252, 219, 113, 120, 109, 11, 14, 175, 61, 74, 28, 38, 116, 28, 206, 252, 118, 28, 94, 221, 130, 195, 171, 143, 18, 135, 41, 29, 135, 211, 191, 29, 135, 87, 182, 224, 240, 202, 35, 192, 33, 15, 93, 104, 224, 177, 33, 103, 149, 151, 225, 56, 208, 252, 88, 207, 7, 241, 34, 216, 130, 11, 60, 95, 97, 162, 249, 155, 119, 228, 122, 27, 119, 102, 123, 129, 31, 234, 106, 76, 190, 158, 44, 251, 251, 147, 166, 221, 57, 189, 206, 107, 106, 220, 145, 205, 54, 245, 163, 31, 96, 99, 103, 170, 72, 191, 223, 188, 154, 201, 40, 239, 33, 6, 38, 123, 93, 138, 147, 61, 254, 225, 154, 189, 59, 173, 216, 76, 87, 110, 197, 17, 159, 37, 177, 255, 5, 211, 171, 155, 114, 237, 245, 58, 238, 201, 117, 58, 205, 53, 64, 174, 189, 36, 215, 233, 116, 130, 114, 166, 43, 233, 76, 22, 219, 194, 122, 144, 81, 148, 87, 81, 190, 228, 40, 244, 249, 107, 242, 105, 108, 111, 179, 254, 74, 58, 157, 109, 128, 60, 6, 250, 205, 230, 224, 214, 182, 180, 237, 162, 119, 155, 122, 162, 139, 165, 1, 190, 226, 150, 54, 170, 107, 242, 194, 136, 234, 117, 84, 246, 161, 15, 193, 70, 212, 51, 156, 65, 191, 36, 252, 166, 22, 236, 35, 117, 191, 124, 51, 219, 11, 218, 176, 115, 197, 121, 6, 8, 130, 166, 193, 13, 97, 104, 83, 190, 113, 20, 33, 93, 190, 195, 116, 158, 222, 238, 52, 59, 79, 255, 112, 38, 23, 24, 197, 217, 98, 13, 58, 91, 90, 211, 130, 53, 9, 194, 245, 98, 208, 167, 159, 111, 35, 206, 247, 65, 92, 210, 6, 46, 154, 156, 63, 20, 23, 67, 206, 9, 23, 93, 206, 31, 41, 46, 25, 3, 23, 77, 222, 31, 138, 139, 33, 239, 132, 139, 46, 239, 143, 20, 151, 172, 129, 139, 38, 247, 15, 197, 197, 144, 123, 194, 69, 151, 251, 71, 138, 75, 206, 192, 69, 147, 255, 135, 226, 98, 200, 63, 225, 162, 203, 255, 35, 195, 101, 67, 78, 51, 249, 183, 3, 23, 90, 3, 195, 252, 164, 3, 0, 189, 108, 110, 94, 251, 187, 107, 47, 98, 79, 202, 147, 211, 223, 97, 55, 240, 244, 55, 216, 25, 53, 201, 226, 136, 2, 252, 29, 242, 121, 232, 121, 4, 122, 86, 1, 245, 144, 247, 230, 174, 116, 175, 38, 95, 191, 230, 130, 221, 153, 94, 224, 10, 153, 164, 242, 71, 92, 67, 127, 166, 23, 232, 224, 254, 31, 57, 232, 48, 214, 230, 239, 74, 103, 189, 92, 113, 221, 11, 31, 3, 107, 175, 151, 210, 55, 56, 79, 87, 74, 73, 164, 238, 94, 94, 177, 166, 51, 175, 244, 103, 110, 123, 61, 15, 248, 254, 142, 213, 139, 9, 196, 69, 228, 111, 189, 140, 118, 15, 218, 95, 25, 213, 32, 245, 227, 204, 252, 205, 36, 252, 12, 1, 190, 62, 249, 79, 2, 252, 141, 4, 252, 9, 7, 246, 154, 151, 222, 90, 219, 64, 156, 247, 114, 63, 220, 118, 196, 83, 24, 226, 161, 121, 105, 205, 87, 49, 135, 5, 21, 5, 182, 191, 148, 250, 74, 63, 251, 13, 196, 75, 237, 212, 230, 1, 130, 91, 241, 40, 208, 220, 240, 109, 104, 110, 17, 115, 23, 164, 159, 105, 115, 143, 114, 156, 249, 129, 185, 139, 152, 243, 213, 81, 118, 134, 158, 162, 62, 7, 237, 141, 214, 219, 58, 103, 145, 230, 132, 255, 100, 204, 89, 148, 126, 206, 230, 188, 6, 124, 45, 15, 204, 57, 132, 57, 9, 71, 154, 115, 72, 159, 195, 216, 195, 214, 57, 135, 104, 78, 248, 104, 198, 156, 67, 210, 191, 101, 115, 150, 128, 167, 240, 192, 156, 35, 91, 240, 28, 209, 231, 216, 14, 207, 17, 154, 19, 126, 160, 49, 231, 136, 244, 54, 155, 243, 16, 240, 116, 60, 48, 167, 178, 5, 79, 69, 159, 99, 59, 60, 21, 154, 179, 255, 222, 156, 138, 244, 23, 108, 78, 63, 240, 244, 63, 48, 231, 248, 22, 60, 199, 245, 57, 182, 195, 115, 156, 230, 188, 116, 111, 206, 113, 233, 29, 54, 231, 43, 121, 226, 141, 251, 231, 156, 216, 130, 231, 132, 62, 199, 118, 120, 150, 56, 254, 230, 4, 205, 11, 254, 50, 230, 157, 144, 222, 101, 243, 190, 58, 12, 175, 253, 129, 121, 167, 182, 224, 58, 165, 207, 179, 29, 174, 156, 137, 191, 57, 245, 192, 188, 83, 210, 186, 134, 239, 46, 58, 255, 59, 247, 205, 59, 179, 5, 223, 25, 125, 158, 237, 240, 213, 98, 148, 117, 196, 40, 20, 159, 164, 85, 250, 237, 116, 197, 154, 201, 44, 75, 127, 185, 54, 163, 174, 95, 13, 152, 86, 111, 237, 157, 129, 191, 221, 245, 105, 127, 123, 47, 98, 36, 87, 151, 153, 253, 189, 51, 201, 238, 155, 249, 25, 211, 61, 191, 187, 152, 88, 41, 14, 101, 153, 175, 93, 28, 201, 194, 79, 129, 108, 195, 222, 14, 193, 22, 23, 139, 176, 209, 227, 125, 225, 26, 37, 77, 207, 13, 179, 250, 17, 219, 197, 48, 236, 106, 100, 204, 108, 110, 173, 153, 72, 211, 115, 196, 172, 190, 104, 187, 216, 74, 245, 147, 102, 115, 180, 102, 42, 77, 207, 208, 81, 61, 233, 45, 11, 57, 63, 212, 54, 109, 54, 199, 208, 70, 117, 77, 152, 48, 162, 215, 81, 217, 135, 62, 4, 27, 35, 247, 116, 92, 74, 250, 43, 77, 207, 106, 118, 57, 76, 122, 21, 122, 182, 149, 32, 244, 108, 148, 32, 244, 108, 108, 67, 216, 187, 105, 151, 227, 28, 23, 215, 237, 114, 130, 244, 108, 120, 143, 194, 244, 108, 235, 220, 120, 46, 186, 111, 130, 233, 217, 216, 254, 41, 77, 207, 234, 107, 54, 97, 77, 130, 62, 224, 68, 176, 17, 155, 50, 112, 152, 79, 235, 190, 158, 102, 143, 31, 138, 131, 97, 143, 9, 7, 221, 30, 63, 26, 28, 50, 58, 14, 154, 29, 126, 40, 14, 134, 29, 38, 28, 116, 59, 252, 104, 112, 200, 234, 56, 104, 246, 247, 161, 56, 24, 246, 151, 112, 208, 237, 239, 163, 193, 33, 167, 227, 160, 217, 221, 135, 226, 96, 216, 93, 194, 65, 183, 187, 255, 44, 28, 230, 183, 200, 226, 134, 172, 108, 250, 221, 24, 18, 33, 155, 11, 24, 253, 87, 121, 37, 113, 7, 242, 79, 188, 206, 43, 102, 115, 217, 152, 162, 172, 40, 74, 230, 21, 232, 13, 180, 135, 247, 66, 86, 223, 44, 20, 20, 250, 123, 110, 246, 251, 249, 64, 161, 183, 52, 100, 185, 8, 223, 128, 201, 74, 235, 240, 80, 111, 96, 184, 144, 45, 141, 220, 171, 35, 92, 163, 70, 125, 209, 114, 209, 240, 123, 99, 131, 197, 222, 192, 96, 1, 49, 48, 189, 23, 44, 96, 33, 220, 2, 99, 133, 34, 189, 99, 108, 193, 244, 67, 93, 254, 207, 223, 9, 248, 93, 37, 35, 103, 179, 23, 246, 152, 114, 106, 132, 15, 236, 185, 191, 121, 79, 225, 158, 157, 159, 212, 230, 211, 202, 31, 113, 193, 233, 173, 229, 127, 228, 130, 179, 90, 153, 173, 211, 159, 47, 146, 173, 110, 128, 50, 217, 11, 186, 92, 74, 65, 103, 34, 102, 248, 229, 131, 241, 2, 244, 91, 15, 226, 133, 173, 250, 200, 227, 169, 47, 205, 108, 209, 71, 80, 115, 235, 111, 166, 20, 83, 28, 180, 185, 228, 72, 247, 69, 128, 31, 189, 215, 204, 3, 221, 164, 197, 242, 180, 254, 15, 76, 20, 39, 80, 156, 238, 133, 63, 127, 61, 85, 72, 172, 20, 138, 160, 135, 109, 147, 30, 148, 31, 8, 82, 59, 226, 248, 213, 130, 246, 222, 52, 131, 134, 161, 154, 161, 116, 136, 218, 134, 205, 230, 43, 5, 208, 17, 186, 14, 174, 20, 107, 11, 212, 20, 210, 20, 39, 120, 7, 52, 61, 180, 25, 123, 97, 98, 130, 62, 76, 66, 112, 107, 220, 176, 87, 247, 3, 31, 208, 79, 204, 255, 3, 63, 50, 127, 16, 252, 200, 226, 65, 240, 99, 104, 67, 24, 217, 212, 79, 18, 226, 66, 93, 63, 69, 136, 31, 141, 56, 208, 59, 154, 206, 145, 255, 71, 107, 80, 60, 72, 107, 110, 226, 130, 181, 9, 110, 230, 38, 128, 219, 131, 184, 164, 13, 92, 52, 61, 245, 80, 92, 12, 61, 69, 184, 232, 122, 234, 145, 226, 146, 49, 112, 209, 244, 213, 67, 113, 49, 244, 21, 225, 162, 235, 171, 71, 138, 75, 214, 192, 69, 211, 91, 15, 197, 197, 208, 91, 132, 139, 174, 183, 30, 41, 46, 57, 3, 23, 77, 127, 61, 20, 23, 67, 127, 17, 46, 186, 254, 122, 100, 184, 24, 113, 67, 28, 184, 208, 26, 232, 110, 196, 13, 193, 235, 169, 116, 226, 95, 165, 70, 152, 30, 91, 73, 43, 89, 9, 178, 193, 143, 152, 205, 17, 93, 38, 231, 57, 203, 123, 97, 147, 137, 91, 69, 91, 217, 232, 136, 242, 230, 248, 184, 2, 53, 9, 89, 218, 111, 42, 41, 22, 22, 191, 175, 140, 140, 48, 157, 71, 184, 147, 158, 243, 239, 81, 122, 3, 147, 227, 189, 90, 63, 248, 10, 105, 203, 69, 218, 67, 112, 50, 189, 89, 7, 189, 156, 13, 161, 143, 119, 44, 157, 141, 176, 120, 130, 158, 131, 210, 244, 26, 246, 90, 220, 11, 63, 73, 139, 87, 134, 112, 25, 49, 75, 17, 87, 94, 37, 191, 199, 217, 149, 190, 79, 239, 121, 61, 208, 123, 208, 47, 198, 158, 235, 177, 215, 20, 252, 176, 45, 250, 207, 211, 220, 159, 214, 99, 153, 95, 107, 177, 76, 63, 98, 25, 86, 254, 136, 243, 15, 230, 123, 65, 62, 220, 255, 35, 7, 221, 203, 218, 2, 192, 139, 225, 211, 153, 210, 244, 159, 238, 163, 145, 111, 166, 225, 68, 190, 89, 126, 243, 119, 2, 175, 254, 124, 219, 111, 176, 166, 179, 159, 244, 242, 61, 61, 24, 8, 212, 151, 92, 253, 122, 190, 164, 80, 224, 130, 216, 111, 32, 86, 102, 254, 86, 161, 144, 32, 189, 70, 250, 205, 208, 95, 84, 94, 69, 249, 146, 99, 164, 143, 116, 25, 108, 201, 102, 61, 233, 51, 210, 123, 18, 116, 91, 120, 107, 27, 211, 113, 159, 174, 39, 126, 176, 128, 31, 182, 142, 161, 58, 202, 53, 25, 253, 169, 188, 153, 115, 66, 61, 195, 25, 116, 36, 250, 49, 254, 213, 244, 29, 139, 115, 193, 191, 44, 223, 5, 254, 149, 8, 130, 127, 195, 27, 194, 248, 166, 190, 131, 41, 141, 232, 250, 46, 74, 252, 11, 27, 194, 248, 151, 120, 150, 242, 93, 52, 119, 120, 122, 68, 227, 95, 172, 69, 240, 83, 186, 23, 140, 100, 224, 48, 115, 191, 63, 246, 80, 28, 12, 61, 71, 56, 232, 122, 238, 209, 224, 112, 191, 63, 246, 80, 28, 12, 253, 70, 56, 232, 250, 237, 209, 224, 112, 191, 63, 246, 80, 28, 12, 189, 70, 56, 232, 122, 237, 209, 224, 112, 191, 63, 246, 80, 28, 12, 125, 70, 56, 232, 250, 236, 159, 133, 131, 17, 43, 17, 30, 27, 114, 97, 211, 31, 195, 144, 32, 233, 50, 64, 9, 23, 120, 254, 215, 28, 205, 223, 76, 254, 18, 228, 24, 83, 160, 14, 254, 205, 128, 230, 203, 132, 70, 139, 122, 29, 228, 28, 254, 77, 104, 76, 243, 115, 2, 70, 30, 52, 159, 87, 170, 54, 238, 247, 107, 156, 253, 105, 165, 156, 229, 65, 215, 245, 60, 232, 61, 185, 246, 122, 183, 200, 117, 58, 141, 152, 23, 122, 140, 228, 154, 242, 160, 240, 103, 86, 210, 244, 187, 5, 173, 7, 25, 69, 121, 21, 229, 75, 142, 98, 31, 249, 33, 26, 30, 90, 61, 233, 81, 242, 119, 130, 240, 75, 66, 91, 219, 244, 60, 232, 131, 245, 68, 23, 210, 255, 91, 199, 80, 29, 217, 2, 163, 63, 149, 55, 115, 73, 168, 103, 56, 211, 57, 66, 63, 146, 125, 74, 193, 7, 99, 231, 249, 123, 244, 103, 12, 92, 210, 6, 46, 191, 71, 127, 198, 192, 37, 99, 224, 242, 123, 244, 103, 12, 92, 178, 6, 46, 191, 71, 127, 198, 192, 37, 103, 224, 242, 123, 244, 103, 8, 23, 195, 159, 161, 249, 209, 117, 211, 151, 161, 121, 253, 44, 239, 153, 103, 121, 208, 32, 95, 80, 67, 124, 81, 165, 156, 139, 230, 59, 24, 126, 4, 249, 21, 121, 149, 116, 10, 229, 62, 53, 153, 250, 53, 23, 234, 127, 192, 39, 128, 143, 0, 20, 112, 207, 116, 197, 166, 79, 240, 89, 185, 207, 87, 250, 239, 249, 8, 6, 190, 15, 205, 123, 38, 141, 252, 166, 150, 47, 122, 88, 126, 83, 219, 195, 246, 249, 77, 186, 167, 181, 140, 252, 83, 193, 152, 111, 244, 211, 57, 77, 154, 199, 200, 107, 25, 58, 149, 240, 166, 53, 232, 126, 235, 60, 69, 125, 158, 237, 242, 152, 52, 207, 103, 229, 177, 232, 126, 235, 60, 67, 250, 60, 219, 229, 46, 63, 15, 62, 35, 250, 60, 219, 229, 43, 63, 15, 62, 138, 62, 207, 118, 57, 202, 207, 131, 207, 184, 62, 207, 118, 121, 201, 207, 131, 207, 132, 62, 207, 118, 121, 200, 207, 131, 207, 163, 202, 59, 18, 159, 25, 57, 71, 242, 103, 253, 176, 125, 206, 109, 242, 140, 91, 227, 122, 146, 153, 55, 243, 138, 150, 103, 36, 251, 247, 7, 157, 103, 212, 245, 152, 102, 247, 30, 154, 87, 50, 236, 30, 229, 149, 116, 187, 247, 72, 114, 91, 123, 255, 0, 242, 140, 123, 255, 0, 242, 140, 123, 255, 0, 242, 140, 123, 127, 143, 121, 70, 202, 167, 25, 120, 124, 86, 158, 241, 27, 191, 37, 207, 56, 3, 185, 255, 151, 206, 51, 218, 89, 158, 209, 144, 127, 202, 51, 214, 111, 230, 25, 103, 254, 5, 242, 140, 164, 163, 140, 60, 227, 95, 63, 144, 103, 116, 66, 159, 245, 66, 39, 109, 213, 71, 159, 149, 103, 252, 86, 42, 157, 208, 114, 141, 249, 190, 48, 112, 164, 125, 121, 160, 159, 180, 120, 153, 112, 208, 114, 130, 20, 11, 251, 225, 51, 175, 164, 183, 207, 51, 250, 41, 207, 152, 222, 62, 207, 232, 71, 12, 125, 37, 61, 2, 250, 218, 46, 194, 223, 97, 109, 82, 205, 8, 203, 95, 250, 71, 53, 61, 244, 153, 177, 13, 246, 202, 246, 0, 58, 82, 222, 130, 252, 172, 207, 200, 51, 50, 255, 10, 252, 200, 226, 45, 240, 35, 123, 222, 196, 208, 79, 196, 7, 186, 126, 122, 36, 207, 188, 24, 184, 124, 70, 158, 113, 91, 92, 12, 61, 69, 184, 232, 122, 234, 145, 226, 242, 25, 121, 198, 109, 113, 49, 244, 21, 225, 162, 235, 171, 71, 138, 203, 103, 228, 25, 183, 197, 197, 208, 91, 132, 139, 174, 183, 30, 41, 46, 159, 145, 103, 220, 22, 23, 67, 127, 17, 46, 186, 254, 122, 100, 184, 108, 200, 121, 166, 191, 218, 129, 11, 173, 129, 97, 1, 210, 97, 128, 161, 111, 164, 242, 155, 57, 70, 146, 11, 62, 175, 231, 24, 33, 139, 247, 229, 24, 251, 243, 219, 231, 24, 243, 121, 166, 239, 48, 151, 159, 116, 92, 96, 143, 210, 27, 220, 38, 199, 24, 122, 32, 199, 40, 125, 86, 142, 177, 63, 93, 164, 56, 193, 136, 17, 36, 126, 72, 253, 109, 57, 71, 251, 31, 88, 206, 113, 107, 190, 209, 254, 187, 228, 27, 59, 203, 204, 47, 127, 145, 111, 220, 54, 191, 100, 224, 240, 69, 190, 81, 199, 225, 139, 124, 227, 22, 191, 236, 191, 109, 190, 209, 254, 121, 243, 141, 36, 215, 95, 228, 27, 239, 217, 41, 172, 77, 240, 97, 185, 172, 47, 242, 141, 219, 227, 242, 69, 190, 241, 211, 184, 124, 145, 111, 252, 34, 223, 248, 69, 190, 241, 211, 243, 252, 75, 230, 27, 183, 123, 174, 241, 51, 243, 141, 100, 255, 190, 200, 55, 62, 60, 199, 245, 69, 190, 81, 195, 225, 139, 124, 227, 166, 236, 125, 86, 190, 241, 95, 255, 1, 228, 27, 181, 231, 26, 13, 249, 255, 253, 230, 27, 255, 89, 207, 53, 66, 55, 145, 191, 77, 250, 138, 246, 187, 245, 185, 198, 151, 191, 120, 174, 241, 83, 184, 124, 241, 92, 227, 246, 184, 124, 241, 92, 227, 167, 113, 49, 252, 242, 237, 158, 107, 124, 57, 149, 78, 252, 235, 207, 122, 174, 17, 50, 249, 197, 115, 141, 192, 231, 183, 228, 24, 183, 230, 23, 127, 167, 231, 25, 119, 148, 153, 95, 249, 34, 191, 184, 109, 62, 201, 192, 225, 139, 252, 162, 142, 195, 23, 249, 197, 45, 126, 216, 31, 248, 243, 140, 36, 215, 95, 228, 23, 127, 39, 187, 100, 224, 242, 69, 126, 113, 123, 92, 190, 200, 47, 126, 26, 151, 255, 255, 229, 23, 223, 96, 121, 161, 135, 229, 23, 243, 108, 15, 191, 107, 126, 81, 159, 111, 244, 211, 249, 69, 154, 199, 200, 87, 25, 239, 202, 32, 188, 105, 13, 186, 223, 58, 79, 81, 159, 103, 187, 252, 34, 205, 99, 228, 171, 140, 121, 12, 92, 233, 126, 235, 60, 67, 250, 60, 219, 229, 23, 63, 15, 62, 244, 158, 25, 154, 103, 187, 252, 226, 231, 193, 71, 209, 231, 217, 46, 191, 248, 121, 240, 25, 215, 231, 217, 46, 191, 248, 121, 240, 153, 208, 231, 217, 46, 191, 248, 121, 240, 153, 146, 94, 215, 240, 217, 38, 191, 72, 239, 51, 48, 240, 161, 119, 24, 80, 189, 129, 207, 86, 126, 213, 124, 218, 11, 240, 103, 181, 119, 81, 3, 163, 91, 238, 45, 121, 70, 103, 39, 249, 219, 247, 191, 215, 4, 54, 241, 61, 87, 167, 22, 215, 147, 76, 188, 153, 254, 41, 232, 106, 216, 65, 61, 102, 39, 219, 135, 248, 28, 250, 0, 242, 4, 187, 166, 251, 178, 151, 28, 74, 31, 61, 251, 3, 63, 65, 171, 71, 252, 78, 177, 71, 120, 20, 177, 71, 205, 120, 122, 51, 118, 128, 127, 75, 121, 195, 240, 158, 251, 243, 143, 164, 31, 44, 164, 100, 168, 141, 229, 32, 39, 52, 59, 136, 9, 41, 31, 67, 117, 84, 246, 161, 15, 193, 70, 56, 198, 198, 94, 31, 120, 175, 9, 243, 95, 160, 207, 34, 4, 161, 207, 88, 126, 9, 250, 44, 186, 33, 204, 108, 218, 191, 24, 199, 197, 116, 251, 215, 70, 250, 76, 26, 27, 97, 250, 44, 50, 171, 228, 40, 183, 68, 115, 83, 126, 137, 214, 34, 188, 8, 54, 97, 77, 130, 62, 224, 68, 176, 17, 155, 50, 112, 200, 223, 239, 223, 62, 20, 7, 195, 238, 17, 14, 186, 221, 123, 52, 56, 220, 239, 223, 62, 20, 7, 195, 222, 17, 14, 186, 189, 123, 52, 56, 220, 239, 223, 62, 20, 7, 195, 206, 17, 14, 186, 157, 123, 52, 56, 220, 239, 223, 62, 20, 7, 195, 190, 17, 14, 186, 125, 251, 103, 225, 96, 200, 54, 225, 177, 33, 143, 108, 218, 55, 12, 9, 147, 125, 3, 108, 253, 227, 180, 22, 159, 19, 175, 83, 108, 78, 113, 248, 214, 152, 59, 9, 249, 127, 19, 254, 171, 145, 103, 12, 195, 158, 109, 205, 29, 70, 224, 19, 35, 190, 205, 82, 238, 209, 168, 35, 92, 91, 141, 250, 130, 101, 51, 63, 22, 29, 40, 244, 194, 254, 193, 22, 94, 95, 247, 235, 241, 184, 127, 52, 95, 180, 247, 211, 239, 12, 134, 252, 159, 191, 227, 135, 252, 27, 121, 198, 228, 253, 121, 70, 111, 243, 152, 97, 63, 127, 205, 5, 246, 104, 243, 105, 229, 143, 184, 192, 228, 214, 50, 236, 235, 180, 86, 102, 235, 116, 165, 181, 56, 27, 202, 132, 116, 213, 165, 100, 82, 121, 53, 149, 250, 244, 115, 141, 157, 46, 253, 185, 198, 123, 250, 168, 178, 242, 126, 125, 84, 137, 249, 223, 116, 253, 148, 123, 197, 21, 77, 196, 33, 239, 151, 28, 113, 246, 92, 35, 189, 103, 190, 18, 250, 169, 148, 176, 93, 116, 49, 28, 126, 96, 114, 213, 36, 210, 46, 208, 182, 190, 221, 108, 94, 137, 38, 179, 165, 164, 237, 34, 189, 47, 143, 218, 220, 53, 201, 52, 189, 15, 175, 190, 195, 108, 94, 141, 166, 178, 165, 148, 237, 34, 84, 39, 107, 243, 212, 164, 210, 30, 106, 235, 52, 155, 175, 68, 211, 89, 205, 103, 215, 218, 188, 53, 233, 116, 61, 181, 117, 105, 122, 200, 130, 197, 8, 54, 97, 98, 130, 62, 76, 66, 176, 177, 126, 11, 31, 234, 254, 86, 74, 122, 107, 171, 126, 170, 39, 254, 3, 63, 186, 9, 130, 31, 61, 4, 193, 143, 222, 13, 33, 191, 169, 159, 224, 187, 248, 117, 253, 20, 36, 126, 164, 119, 22, 210, 25, 187, 251, 19, 57, 207, 64, 146, 241, 163, 119, 48, 165, 241, 35, 214, 36, 216, 164, 227, 228, 211, 113, 106, 4, 78, 15, 226, 146, 150, 126, 164, 225, 162, 233, 169, 135, 226, 98, 232, 41, 194, 69, 215, 83, 143, 20, 151, 140, 129, 139, 166, 175, 30, 138, 139, 161, 175, 8, 23, 93, 95, 61, 82, 92, 178, 6, 46, 154, 222, 122, 40, 46, 134, 222, 34, 92, 116, 189, 245, 72, 113, 201, 25, 184, 104, 250, 235, 161, 184, 24, 250, 139, 112, 209, 245, 215, 35, 195, 101, 67, 142, 51, 253, 5, 57, 100, 121, 70, 12, 115, 145, 14, 3, 244, 252, 177, 43, 174, 229, 24, 163, 217, 44, 201, 5, 31, 55, 155, 125, 186, 44, 166, 57, 203, 123, 141, 38, 19, 183, 138, 182, 178, 182, 184, 242, 102, 46, 167, 0, 127, 200, 209, 159, 115, 165, 172, 229, 226, 149, 104, 52, 187, 18, 143, 51, 125, 135, 185, 234, 73, 199, 185, 118, 100, 123, 221, 59, 141, 119, 181, 193, 79, 136, 106, 57, 70, 207, 206, 232, 102, 29, 189, 183, 205, 139, 62, 206, 158, 104, 214, 23, 139, 102, 157, 88, 207, 169, 235, 52, 103, 91, 182, 232, 226, 201, 223, 73, 168, 30, 62, 169, 122, 225, 247, 208, 187, 160, 200, 239, 34, 127, 155, 124, 32, 237, 59, 215, 20, 59, 100, 85, 246, 206, 198, 158, 40, 116, 160, 241, 174, 242, 243, 119, 156, 149, 218, 59, 202, 141, 253, 107, 57, 71, 237, 253, 172, 186, 46, 172, 108, 238, 138, 246, 2, 103, 224, 243, 107, 14, 52, 238, 117, 182, 69, 177, 127, 42, 127, 196, 213, 119, 196, 123, 65, 82, 220, 255, 35, 125, 235, 130, 181, 185, 128, 39, 195, 207, 237, 210, 116, 33, 20, 25, 233, 62, 237, 29, 162, 46, 181, 82, 127, 199, 170, 31, 107, 84, 122, 163, 74, 130, 179, 189, 87, 9, 218, 189, 25, 141, 3, 55, 227, 29, 175, 169, 59, 78, 167, 189, 68, 176, 190, 222, 206, 190, 141, 123, 61, 26, 77, 189, 25, 77, 40, 132, 239, 245, 120, 60, 69, 56, 184, 218, 126, 196, 57, 219, 108, 76, 167, 86, 129, 238, 85, 177, 168, 66, 223, 99, 222, 250, 174, 88, 103, 37, 205, 115, 254, 78, 61, 32, 225, 97, 124, 55, 252, 175, 55, 180, 247, 143, 110, 125, 223, 169, 134, 227, 167, 223, 7, 235, 5, 174, 52, 31, 189, 15, 118, 37, 154, 200, 24, 239, 78, 221, 107, 250, 171, 77, 124, 9, 79, 194, 141, 222, 97, 90, 111, 234, 55, 87, 2, 31, 206, 159, 187, 83, 239, 214, 190, 121, 66, 252, 230, 2, 223, 209, 187, 146, 93, 224, 59, 122, 79, 178, 11, 202, 150, 222, 143, 236, 2, 161, 255, 94, 199, 199, 176, 73, 132, 151, 71, 195, 203, 233, 7, 255, 19, 126, 196, 31, 206, 152, 135, 125, 31, 93, 192, 185, 187, 116, 252, 106, 204, 87, 110, 213, 149, 89, 213, 218, 178, 5, 117, 37, 145, 100, 239, 162, 165, 119, 176, 98, 57, 15, 123, 15, 45, 202, 244, 110, 86, 148, 189, 188, 229, 219, 111, 209, 251, 90, 113, 223, 64, 114, 5, 232, 166, 61, 116, 165, 178, 98, 71, 42, 39, 166, 211, 89, 57, 153, 206, 201, 157, 153, 172, 220, 158, 201, 201, 169, 100, 86, 78, 36, 115, 50, 125, 207, 162, 113, 203, 59, 104, 233, 187, 22, 190, 166, 130, 165, 145, 123, 125, 189, 177, 156, 131, 44, 188, 190, 238, 3, 108, 172, 201, 170, 190, 154, 156, 122, 57, 155, 205, 248, 122, 178, 74, 125, 123, 78, 169, 2, 92, 201, 246, 42, 151, 178, 125, 202, 215, 178, 50, 232, 146, 186, 227, 243, 9, 236, 124, 155, 154, 52, 216, 220, 172, 193, 70, 191, 6, 91, 90, 132, 18, 125, 51, 114, 35, 151, 203, 110, 108, 96, 197, 68, 129, 209, 188, 114, 71, 81, 33, 126, 240, 115, 223, 95, 247, 239, 122, 206, 66, 180, 109, 226, 110, 172, 55, 239, 84, 183, 188, 239, 149, 190, 207, 52, 2, 190, 167, 119, 159, 201, 234, 134, 121, 8, 103, 202, 101, 232, 59, 109, 198, 217, 210, 85, 234, 85, 36, 105, 236, 218, 197, 204, 38, 191, 124, 240, 97, 48, 108, 47, 109, 164, 166, 172, 212, 159, 222, 37, 79, 239, 60, 125, 150, 91, 189, 149, 130, 252, 184, 70, 137, 215, 110, 174, 173, 140, 204, 100, 78, 128, 39, 136, 126, 240, 163, 226, 68, 79, 192, 54, 162, 49, 96, 130, 104, 15, 24, 163, 247, 120, 187, 231, 246, 10, 36, 239, 13, 251, 230, 5, 58, 63, 239, 254, 5, 33, 177, 255, 128, 216, 182, 239, 128, 28, 159, 59, 32, 211, 119, 225, 218, 189, 102, 232, 28, 200, 209, 223, 255, 57, 215, 177, 60, 181, 46, 153, 254, 156, 99, 223, 28, 75, 223, 189, 250, 166, 203, 118, 145, 190, 29, 200, 190, 117, 66, 109, 109, 111, 35, 62, 184, 114, 75, 162, 123, 254, 207, 193, 72, 169, 59, 169, 148, 192, 120, 44, 5, 222, 75, 17, 239, 29, 93, 82, 50, 166, 87, 54, 247, 148, 74, 137, 172, 61, 124, 84, 17, 34, 199, 199, 133, 214, 147, 19, 66, 235, 228, 132, 24, 217, 51, 33, 71, 112, 142, 225, 177, 239, 90, 236, 123, 236, 23, 224, 222, 1, 135, 31, 152, 58, 70, 71, 176, 254, 143, 214, 210, 224, 173, 141, 113, 237, 189, 241, 244, 189, 118, 251, 158, 113, 7, 189, 55, 254, 19, 212, 125, 60, 62, 222, 64, 239, 75, 143, 64, 7, 133, 249, 113, 232, 30, 133, 125, 191, 130, 214, 161, 111, 37, 124, 108, 86, 212, 14, 156, 1, 125, 171, 162, 52, 190, 122, 49, 187, 12, 253, 122, 96, 130, 205, 69, 49, 95, 235, 226, 132, 74, 223, 159, 114, 78, 190, 195, 211, 55, 171, 90, 39, 15, 136, 225, 131, 138, 72, 56, 71, 103, 167, 172, 209, 185, 41, 53, 60, 173, 56, 194, 115, 125, 114, 120, 159, 44, 135, 247, 231, 229, 208, 228, 144, 149, 230, 163, 239, 139, 25, 235, 208, 26, 244, 29, 177, 36, 214, 79, 161, 158, 206, 222, 104, 163, 111, 60, 176, 119, 178, 99, 125, 250, 62, 163, 100, 130, 158, 85, 86, 47, 74, 123, 70, 184, 18, 228, 141, 233, 3, 240, 229, 10, 144, 218, 200, 22, 149, 75, 12, 142, 40, 37, 6, 103, 148, 175, 1, 18, 125, 13, 30, 13, 6, 53, 40, 73, 26, 140, 197, 4, 166, 155, 36, 240, 162, 52, 120, 143, 23, 131, 59, 191, 191, 201, 139, 148, 199, 161, 103, 206, 13, 158, 163, 171, 212, 59, 34, 133, 70, 175, 49, 94, 34, 254, 250, 146, 193, 95, 195, 58, 127, 13, 141, 100, 142, 131, 70, 196, 95, 240, 143, 99, 196, 95, 128, 113, 226, 47, 192, 54, 226, 47, 64, 137, 241, 215, 236, 140, 198, 95, 196, 103, 196, 95, 224, 179, 182, 125, 11, 98, 124, 110, 65, 142, 205, 46, 48, 254, 74, 128, 191, 218, 117, 254, 162, 239, 55, 132, 30, 224, 47, 122, 79, 61, 241, 23, 241, 94, 8, 252, 21, 66, 57, 68, 247, 58, 127, 117, 116, 104, 252, 213, 1, 254, 234, 32, 254, 58, 114, 248, 62, 254, 234, 232, 208, 249, 235, 200, 97, 33, 114, 116, 73, 104, 61, 126, 76, 232, 60, 126, 76, 76, 29, 61, 38, 119, 28, 57, 38, 219, 143, 219, 47, 116, 232, 188, 149, 28, 30, 186, 199, 91, 199, 14, 49, 126, 72, 206, 29, 82, 237, 139, 135, 28, 201, 197, 67, 234, 39, 135, 14, 89, 63, 62, 116, 168, 33, 141, 179, 236, 228, 15, 169, 196, 99, 196, 87, 73, 240, 217, 199, 230, 67, 56, 211, 195, 224, 181, 33, 141, 175, 14, 235, 124, 181, 176, 176, 201, 87, 236, 123, 206, 196, 87, 251, 193, 87, 11, 11, 190, 196, 254, 37, 49, 121, 244, 144, 198, 87, 163, 35, 86, 105, 110, 68, 77, 142, 142, 56, 164, 217, 62, 89, 154, 147, 101, 105, 95, 94, 14, 238, 47, 50, 190, 234, 224, 103, 84, 226, 45, 250, 254, 65, 18, 107, 16, 95, 209, 184, 118, 240, 152, 193, 91, 212, 86, 50, 163, 140, 182, 210, 204, 234, 197, 24, 209, 137, 248, 106, 100, 245, 98, 104, 118, 136, 187, 178, 133, 175, 204, 240, 37, 54, 178, 67, 10, 204, 27, 224, 136, 194, 49, 152, 85, 120, 64, 162, 171, 193, 87, 161, 144, 6, 13, 190, 106, 108, 220, 194, 87, 195, 26, 95, 53, 130, 175, 66, 59, 207, 109, 242, 85, 51, 223, 171, 182, 240, 125, 208, 115, 178, 26, 228, 243, 224, 177, 162, 90, 202, 14, 73, 193, 225, 109, 248, 106, 80, 231, 171, 226, 208, 38, 95, 133, 192, 63, 196, 87, 128, 49, 226, 43, 192, 56, 241, 21, 96, 136, 241, 213, 232, 136, 198, 87, 196, 95, 196, 87, 224, 175, 248, 220, 188, 24, 155, 157, 151, 165, 209, 121, 198, 87, 109, 224, 171, 132, 206, 87, 237, 160, 67, 240, 51, 248, 138, 120, 46, 168, 243, 85, 144, 238, 117, 190, 74, 38, 53, 190, 74, 130, 175, 146, 196, 87, 139, 135, 238, 227, 171, 100, 82, 231, 171, 197, 67, 66, 4, 188, 213, 10, 222, 74, 29, 93, 18, 59, 142, 44, 201, 201, 197, 37, 217, 126, 212, 126, 65, 211, 155, 63, 48, 181, 15, 22, 239, 241, 213, 210, 1, 198, 15, 237, 115, 7, 84, 251, 193, 3, 142, 246, 197, 3, 234, 39, 7, 14, 88, 63, 62, 112, 128, 241, 85, 138, 63, 176, 201, 87, 237, 140, 175, 232, 123, 85, 135, 192, 87, 69, 141, 175, 14, 233, 124, 53, 63, 191, 201, 87, 109, 139, 243, 42, 125, 135, 207, 185, 15, 124, 53, 63, 239, 107, 219, 119, 88, 108, 63, 114, 64, 227, 171, 225, 33, 107, 104, 110, 72, 109, 31, 30, 114, 132, 70, 123, 229, 16, 120, 43, 4, 222, 242, 239, 203, 51, 190, 74, 146, 142, 194, 90, 196, 55, 237, 88, 195, 224, 171, 4, 120, 236, 30, 95, 145, 189, 66, 25, 109, 196, 75, 164, 223, 131, 196, 87, 67, 171, 23, 131, 163, 197, 77, 190, 34, 159, 78, 110, 124, 159, 222, 175, 206, 222, 33, 239, 235, 72, 42, 247, 222, 173, 222, 119, 199, 237, 173, 44, 121, 218, 19, 162, 127, 46, 165, 194, 39, 115, 16, 253, 60, 192, 187, 169, 253, 148, 133, 190, 151, 212, 220, 190, 108, 105, 0, 108, 105, 63, 103, 225, 252, 23, 238, 184, 61, 149, 165, 0, 124, 137, 127, 248, 175, 159, 246, 63, 30, 231, 52, 191, 67, 243, 55, 60, 155, 58, 204, 174, 191, 7, 158, 252, 68, 90, 183, 210, 235, 83, 86, 60, 205, 25, 227, 157, 252, 247, 240, 201, 221, 17, 245, 111, 190, 145, 255, 83, 237, 208, 252, 159, 106, 248, 240, 228, 255, 84, 215, 106, 254, 79, 117, 29, 199, 125, 128, 253, 209, 250, 37, 179, 83, 61, 143, 117, 109, 28, 103, 163, 117, 137, 247, 200, 111, 164, 117, 13, 223, 177, 86, 95, 215, 230, 246, 192, 215, 51, 214, 74, 221, 177, 219, 181, 181, 174, 123, 60, 137, 42, 175, 71, 121, 211, 236, 83, 47, 121, 154, 225, 111, 156, 191, 99, 23, 43, 33, 91, 231, 239, 84, 3, 26, 62, 224, 135, 88, 147, 125, 223, 193, 177, 170, 127, 219, 174, 86, 203, 191, 15, 177, 111, 57, 216, 232, 126, 195, 233, 20, 57, 238, 171, 69, 91, 181, 83, 189, 228, 116, 70, 109, 110, 167, 226, 193, 94, 42, 128, 32, 141, 189, 71, 175, 90, 117, 168, 73, 251, 6, 4, 141, 171, 168, 191, 182, 57, 39, 125, 79, 128, 190, 203, 64, 109, 180, 39, 218, 35, 237, 137, 250, 85, 214, 105, 57, 74, 55, 250, 88, 177, 159, 85, 143, 135, 125, 243, 197, 110, 183, 148, 86, 92, 205, 236, 29, 251, 213, 136, 120, 72, 86, 1, 107, 72, 86, 1, 171, 207, 67, 54, 29, 94, 15, 147, 205, 154, 198, 6, 129, 230, 170, 110, 242, 9, 246, 242, 215, 214, 237, 141, 189, 22, 99, 143, 54, 175, 211, 247, 31, 13, 218, 98, 159, 244, 253, 5, 194, 201, 137, 121, 129, 15, 123, 199, 255, 37, 244, 117, 210, 158, 112, 216, 77, 218, 222, 89, 189, 221, 237, 26, 103, 123, 69, 189, 118, 54, 181, 106, 75, 240, 94, 123, 165, 183, 86, 180, 213, 9, 23, 226, 250, 62, 217, 28, 104, 36, 186, 92, 18, 69, 101, 235, 119, 119, 255, 243, 191, 95, 185, 37, 161, 158, 206, 71, 163, 23, 167, 210, 183, 25, 32, 95, 144, 219, 213, 53, 250, 246, 47, 157, 49, 93, 43, 22, 43, 251, 102, 132, 217, 164, 209, 134, 126, 107, 32, 58, 240, 160, 31, 209, 1, 208, 70, 116, 0, 172, 36, 157, 5, 104, 55, 149, 57, 148, 13, 139, 133, 237, 121, 213, 225, 96, 227, 233, 187, 44, 66, 133, 165, 68, 231, 108, 193, 218, 187, 90, 87, 176, 174, 69, 125, 131, 227, 111, 254, 9, 103, 207, 250, 233, 219, 121, 86, 250, 46, 213, 237, 219, 102, 142, 51, 211, 152, 4, 213, 153, 233, 27, 89, 43, 239, 209, 135, 81, 75, 118, 203, 197, 175, 115, 98, 230, 14, 207, 223, 252, 58, 231, 72, 68, 169, 93, 112, 47, 149, 83, 12, 40, 154, 205, 194, 242, 213, 203, 66, 181, 168, 72, 84, 95, 78, 223, 41, 188, 6, 253, 252, 18, 163, 21, 125, 231, 202, 202, 211, 119, 190, 236, 42, 125, 47, 222, 196, 11, 106, 57, 111, 86, 233, 123, 95, 244, 93, 121, 1, 123, 38, 218, 176, 239, 38, 86, 184, 151, 136, 47, 174, 3, 23, 226, 125, 194, 133, 120, 104, 89, 186, 190, 38, 170, 47, 93, 181, 181, 174, 222, 114, 136, 119, 47, 87, 84, 185, 84, 91, 149, 83, 181, 205, 57, 213, 143, 93, 30, 171, 189, 222, 233, 96, 223, 72, 180, 97, 60, 59, 223, 235, 88, 219, 163, 102, 65, 179, 107, 152, 203, 206, 113, 85, 22, 211, 85, 38, 35, 21, 141, 13, 144, 133, 79, 62, 172, 18, 203, 74, 14, 130, 181, 101, 37, 63, 65, 87, 89, 41, 69, 176, 161, 172, 148, 39, 216, 92, 86, 154, 34, 24, 44, 43, 45, 17, 140, 148, 149, 158, 195, 185, 41, 99, 185, 219, 118, 177, 154, 27, 223, 3, 232, 168, 225, 232, 27, 239, 19, 147, 184, 175, 173, 227, 166, 166, 1, 157, 245, 28, 249, 236, 51, 179, 184, 71, 176, 179, 119, 14, 208, 227, 229, 232, 155, 172, 243, 251, 112, 223, 208, 200, 45, 236, 7, 244, 53, 113, 244, 237, 162, 3, 7, 113, 223, 220, 194, 29, 90, 4, 244, 7, 56, 178, 121, 135, 143, 224, 62, 24, 226, 150, 142, 2, 74, 97, 150, 11, 59, 118, 28, 247, 145, 86, 238, 196, 73, 192, 104, 140, 115, 16, 31, 97, 63, 26, 31, 65, 47, 157, 100, 223, 246, 168, 218, 51, 193, 96, 245, 228, 126, 6, 107, 14, 28, 100, 176, 238, 208, 20, 131, 245, 211, 51, 12, 186, 103, 23, 25, 244, 30, 62, 194, 96, 227, 210, 94, 6, 155, 230, 230, 25, 108, 217, 119, 148, 193, 192, 130, 54, 46, 52, 171, 213, 135, 85, 203, 117, 166, 7, 95, 176, 67, 54, 26, 53, 222, 60, 10, 58, 79, 129, 190, 188, 119, 66, 89, 157, 152, 200, 148, 123, 167, 148, 213, 169, 41, 157, 255, 114, 119, 90, 99, 101, 37, 130, 209, 246, 50, 102, 211, 75, 11, 150, 11, 180, 167, 196, 209, 5, 174, 180, 96, 190, 176, 44, 125, 115, 173, 228, 187, 122, 81, 198, 60, 203, 210, 203, 107, 213, 179, 199, 172, 164, 11, 28, 115, 39, 172, 53, 251, 78, 89, 99, 225, 99, 114, 172, 237, 132, 220, 222, 126, 76, 110, 239, 58, 33, 199, 91, 143, 201, 201, 142, 99, 114, 91, 12, 190, 85, 231, 49, 57, 222, 125, 66, 78, 238, 58, 33, 183, 245, 156, 144, 59, 118, 159, 144, 99, 59, 78, 201, 237, 253, 167, 228, 248, 206, 83, 114, 114, 224, 148, 220, 54, 136, 50, 244, 125, 199, 240, 59, 22, 230, 79, 241, 135, 85, 15, 108, 78, 236, 224, 1, 161, 26, 235, 196, 97, 91, 219, 96, 91, 217, 55, 97, 71, 101, 250, 150, 189, 53, 137, 251, 228, 88, 193, 130, 54, 43, 125, 35, 186, 99, 207, 144, 5, 125, 172, 29, 224, 103, 227, 251, 94, 50, 108, 168, 7, 231, 80, 50, 31, 83, 149, 177, 247, 111, 119, 114, 92, 58, 5, 25, 5, 236, 36, 157, 20, 59, 57, 99, 141, 159, 222, 107, 37, 58, 180, 29, 159, 183, 146, 255, 22, 199, 184, 14, 126, 175, 218, 198, 230, 152, 87, 99, 152, 67, 134, 207, 85, 75, 248, 224, 158, 218, 169, 173, 22, 243, 146, 236, 50, 218, 65, 31, 180, 163, 79, 18, 227, 58, 48, 38, 197, 47, 176, 239, 45, 69, 209, 102, 216, 155, 255, 14, 242, 77, 60, 65, 188, 240, 190, 206, 243, 6, 127, 4, 57, 118, 118, 162, 240, 164, 71, 253, 154, 199, 195, 114, 19, 98, 147, 79, 44, 121, 108, 23, 75, 62, 15, 116, 207, 117, 200, 235, 55, 113, 174, 62, 117, 165, 217, 159, 17, 3, 36, 115, 223, 90, 171, 85, 191, 121, 213, 7, 255, 201, 89, 123, 247, 242, 138, 207, 159, 224, 3, 126, 133, 206, 121, 213, 239, 223, 60, 91, 71, 77, 25, 179, 55, 165, 40, 157, 227, 203, 107, 244, 190, 238, 148, 233, 165, 55, 170, 154, 226, 10, 235, 3, 217, 169, 175, 47, 103, 125, 234, 189, 65, 217, 229, 149, 100, 183, 55, 34, 123, 188, 81, 246, 205, 41, 26, 79, 52, 220, 240, 249, 216, 62, 254, 131, 190, 15, 234, 111, 240, 118, 164, 149, 225, 95, 21, 133, 222, 5, 172, 38, 218, 58, 56, 11, 251, 150, 120, 201, 103, 185, 224, 88, 254, 224, 50, 237, 193, 1, 94, 164, 254, 119, 77, 87, 32, 47, 172, 111, 205, 117, 156, 7, 96, 29, 195, 5, 243, 85, 216, 88, 189, 243, 100, 140, 65, 87, 188, 141, 65, 79, 162, 157, 193, 134, 100, 7, 131, 190, 84, 39, 131, 205, 26, 93, 60, 208, 93, 121, 149, 114, 108, 246, 152, 198, 243, 127, 135, 53, 242, 160, 197, 165, 124, 65, 89, 201, 35, 110, 202, 15, 37, 46, 21, 10, 137, 75, 197, 98, 162, 126, 120, 72, 169, 31, 40, 40, 245, 131, 69, 157, 6, 175, 126, 24, 10, 225, 28, 1, 3, 1, 13, 6, 161, 87, 46, 229, 71, 178, 78, 206, 246, 158, 132, 125, 144, 46, 144, 224, 3, 134, 224, 3, 94, 31, 26, 74, 144, 156, 92, 47, 40, 9, 237, 89, 225, 126, 51, 209, 131, 158, 231, 11, 82, 59, 214, 152, 50, 93, 123, 3, 126, 42, 124, 227, 25, 142, 242, 240, 225, 129, 25, 142, 126, 23, 136, 12, 206, 112, 252, 240, 136, 194, 15, 40, 10, 63, 56, 174, 148, 3, 151, 114, 224, 178, 58, 50, 146, 89, 85, 148, 204, 234, 248, 120, 166, 28, 120, 173, 14, 13, 101, 86, 11, 133, 204, 106, 177, 184, 121, 150, 82, 171, 149, 201, 105, 184, 77, 131, 145, 14, 130, 125, 119, 66, 93, 26, 12, 100, 53, 24, 12, 88, 89, 94, 34, 118, 240, 105, 43, 225, 217, 245, 196, 41, 107, 244, 232, 227, 182, 214, 125, 207, 216, 162, 251, 159, 179, 118, 126, 233, 105, 107, 230, 201, 51, 214, 238, 167, 150, 173, 132, 119, 224, 116, 193, 186, 97, 62, 165, 254, 155, 27, 55, 228, 214, 35, 231, 208, 103, 202, 22, 59, 184, 96, 203, 62, 123, 64, 108, 221, 55, 111, 77, 125, 121, 201, 26, 60, 91, 180, 134, 30, 27, 178, 238, 56, 125, 70, 236, 230, 74, 235, 129, 211, 67, 82, 236, 248, 140, 173, 103, 255, 49, 177, 29, 229, 158, 233, 31, 175, 118, 80, 223, 211, 135, 197, 208, 233, 115, 98, 14, 117, 193, 211, 138, 212, 221, 117, 70, 142, 77, 79, 137, 157, 40, 199, 158, 253, 249, 106, 251, 193, 25, 177, 107, 223, 51, 98, 240, 116, 81, 236, 65, 221, 142, 211, 127, 179, 74, 223, 99, 11, 157, 158, 144, 186, 59, 15, 203, 185, 29, 103, 100, 250, 206, 113, 118, 255, 247, 86, 59, 143, 207, 200, 192, 77, 12, 162, 156, 58, 125, 117, 181, 238, 201, 5, 107, 119, 199, 51, 114, 174, 231, 176, 28, 218, 125, 70, 166, 223, 23, 162, 211, 232, 131, 246, 182, 211, 47, 174, 214, 14, 22, 173, 185, 238, 103, 228, 208, 174, 195, 114, 226, 236, 60, 23, 67, 156, 85, 51, 80, 176, 134, 118, 62, 35, 7, 143, 20, 185, 246, 253, 67, 142, 182, 125, 7, 196, 192, 179, 5, 174, 115, 255, 97, 71, 112, 240, 128, 220, 54, 188, 36, 98, 191, 142, 192, 192, 1, 185, 99, 112, 73, 142, 14, 44, 201, 237, 20, 159, 193, 135, 15, 78, 31, 19, 3, 195, 167, 24, 238, 129, 35, 63, 95, 13, 238, 199, 222, 5, 224, 114, 244, 237, 80, 23, 173, 57, 253, 206, 106, 219, 126, 236, 237, 236, 227, 162, 120, 244, 156, 216, 125, 122, 89, 77, 153, 197, 245, 170, 163, 102, 14, 186, 72, 164, 239, 132, 118, 77, 255, 114, 181, 251, 201, 101, 177, 253, 244, 57, 53, 112, 244, 188, 216, 129, 186, 224, 240, 218, 106, 96, 127, 65, 204, 62, 54, 36, 246, 60, 181, 32, 58, 230, 30, 87, 59, 64, 163, 174, 129, 83, 98, 207, 240, 144, 152, 120, 98, 193, 65, 52, 232, 28, 248, 222, 42, 173, 211, 113, 246, 157, 213, 224, 209, 130, 216, 118, 180, 40, 134, 158, 88, 144, 163, 24, 215, 245, 216, 148, 216, 51, 80, 16, 123, 6, 139, 98, 245, 126, 196, 60, 167, 103, 84, 45, 239, 197, 101, 104, 142, 30, 204, 23, 120, 162, 224, 8, 62, 81, 116, 196, 246, 205, 139, 252, 1, 250, 14, 23, 244, 18, 148, 85, 232, 137, 130, 28, 125, 162, 40, 19, 127, 182, 237, 191, 17, 168, 198, 60, 213, 152, 135, 190, 165, 31, 154, 251, 174, 37, 134, 114, 12, 101, 226, 219, 0, 218, 137, 111, 131, 128, 173, 208, 113, 220, 212, 207, 238, 72, 81, 107, 73, 181, 124, 11, 58, 233, 219, 76, 15, 180, 78, 91, 160, 143, 94, 89, 115, 169, 223, 190, 90, 9, 125, 228, 130, 126, 160, 188, 73, 104, 238, 123, 150, 86, 232, 195, 40, 233, 67, 26, 7, 190, 141, 242, 19, 44, 247, 209, 198, 79, 169, 244, 93, 44, 39, 235, 251, 173, 245, 119, 71, 106, 205, 156, 35, 117, 167, 21, 115, 83, 59, 125, 7, 60, 128, 241, 177, 45, 227, 91, 49, 126, 235, 186, 109, 132, 15, 116, 47, 93, 209, 217, 79, 227, 64, 251, 9, 204, 125, 223, 66, 223, 200, 140, 109, 153, 35, 134, 181, 141, 241, 31, 233, 56, 208, 239, 126, 239, 142, 4, 25, 14, 36, 103, 212, 78, 227, 131, 160, 199, 118, 251, 54, 214, 165, 126, 159, 181, 255, 224, 239, 184, 127, 90, 51, 44, 105, 107, 50, 186, 45, 126, 211, 34, 161, 157, 198, 132, 129, 203, 131, 107, 210, 69, 125, 165, 201, 79, 175, 75, 223, 232, 15, 45, 126, 151, 141, 55, 240, 14, 3, 239, 86, 196, 119, 52, 134, 214, 55, 214, 101, 123, 86, 52, 186, 111, 221, 115, 0, 227, 63, 107, 207, 212, 231, 179, 246, 27, 88, 164, 253, 206, 96, 191, 123, 181, 177, 177, 123, 251, 37, 154, 223, 191, 174, 78, 235, 240, 189, 125, 7, 23, 191, 109, 9, 163, 31, 27, 251, 192, 190, 169, 79, 120, 155, 253, 134, 217, 184, 239, 178, 113, 91, 113, 110, 229, 181, 111, 176, 111, 221, 47, 173, 23, 209, 233, 76, 227, 66, 39, 191, 137, 113, 19, 170, 65, 235, 200, 150, 53, 169, 15, 205, 33, 141, 125, 122, 77, 70, 227, 147, 223, 6, 141, 39, 84, 3, 95, 26, 27, 214, 105, 76, 227, 12, 190, 162, 191, 145, 120, 119, 92, 163, 113, 104, 203, 218, 129, 7, 214, 14, 125, 142, 181, 3, 15, 172, 77, 99, 183, 91, 155, 158, 65, 126, 119, 92, 163, 115, 32, 164, 173, 77, 227, 131, 39, 95, 178, 132, 208, 143, 198, 6, 128, 147, 177, 174, 65, 231, 208, 232, 167, 215, 13, 177, 113, 223, 100, 227, 36, 126, 92, 27, 139, 179, 163, 188, 33, 141, 161, 245, 13, 58, 27, 62, 207, 70, 62, 175, 208, 55, 199, 188, 119, 87, 88, 44, 76, 246, 221, 240, 129, 254, 66, 243, 129, 236, 84, 79, 223, 169, 131, 111, 128, 248, 204, 163, 82, 30, 185, 210, 206, 108, 123, 85, 186, 139, 193, 234, 140, 230, 31, 213, 24, 182, 158, 240, 52, 46, 26, 111, 15, 107, 54, 63, 131, 177, 81, 216, 124, 178, 189, 246, 64, 68, 177, 135, 162, 10, 239, 141, 43, 171, 241, 184, 102, 67, 225, 235, 212, 33, 142, 32, 232, 68, 28, 65, 54, 180, 190, 217, 202, 124, 94, 207, 142, 136, 205, 221, 19, 181, 213, 213, 167, 100, 87, 119, 196, 230, 172, 79, 178, 239, 146, 122, 250, 163, 66, 93, 125, 66, 118, 239, 142, 8, 206, 88, 82, 244, 238, 76, 217, 92, 187, 18, 66, 93, 107, 82, 246, 212, 167, 101, 87, 59, 32, 116, 180, 183, 177, 247, 103, 27, 201, 255, 175, 189, 119, 15, 110, 227, 74, 243, 67, 27, 13, 16, 108, 54, 137, 38, 248, 194, 163, 9, 130, 32, 216, 36, 65, 16, 4, 64, 16, 4, 65, 136, 106, 145, 20, 248, 2, 245, 224, 67, 164, 36, 138, 148, 40, 217, 122, 81, 15, 219, 180, 172, 241, 120, 229, 30, 136, 195, 140, 101, 197, 215, 235, 241, 186, 188, 94, 149, 227, 120, 93, 91, 83, 51, 174, 45, 151, 111, 42, 181, 187, 153, 220, 162, 173, 185, 85, 91, 41, 103, 51, 177, 89, 169, 45, 103, 51, 181, 113, 178, 73, 42, 37, 111, 54, 107, 185, 238, 173, 251, 71, 174, 113, 127, 223, 233, 110, 136, 146, 41, 122, 188, 195, 189, 51, 149, 8, 85, 205, 143, 221, 231, 244, 233, 223, 57, 231, 59, 223, 171, 79, 159, 19, 101, 177, 152, 124, 60, 46, 187, 23, 163, 26, 237, 137, 231, 137, 125, 100, 205, 71, 163, 190, 202, 88, 84, 202, 199, 61, 215, 40, 206, 225, 238, 124, 142, 197, 57, 220, 109, 26, 139, 115, 184, 219, 87, 109, 249, 161, 20, 60, 232, 103, 63, 171, 243, 216, 139, 54, 227, 191, 64, 123, 154, 237, 213, 98, 103, 109, 192, 218, 139, 108, 171, 10, 178, 173, 100, 27, 218, 237, 206, 141, 123, 182, 149, 79, 155, 69, 27, 112, 165, 191, 96, 251, 42, 6, 208, 198, 160, 108, 95, 197, 74, 71, 80, 115, 56, 20, 173, 162, 217, 35, 85, 207, 6, 137, 58, 245, 246, 12, 106, 85, 141, 122, 251, 141, 224, 94, 107, 179, 146, 51, 249, 65, 127, 55, 23, 198, 209, 175, 85, 89, 91, 53, 15, 247, 210, 39, 53, 245, 60, 55, 9, 251, 113, 77, 137, 22, 237, 18, 183, 167, 52, 239, 129, 109, 73, 252, 210, 102, 240, 139, 19, 125, 224, 108, 139, 230, 42, 219, 90, 139, 54, 150, 219, 173, 243, 96, 61, 236, 36, 218, 111, 222, 218, 155, 202, 173, 165, 82, 201, 87, 162, 209, 136, 219, 17, 213, 36, 180, 17, 217, 47, 245, 245, 186, 61, 234, 233, 141, 139, 222, 190, 132, 40, 239, 74, 138, 158, 174, 212, 16, 181, 173, 183, 59, 165, 202, 61, 41, 181, 126, 49, 133, 246, 205, 111, 184, 123, 63, 106, 166, 54, 245, 196, 244, 54, 245, 198, 230, 88, 155, 202, 177, 121, 91, 62, 202, 95, 243, 119, 245, 115, 117, 221, 97, 206, 213, 19, 225, 254, 181, 193, 159, 84, 118, 53, 242, 248, 189, 167, 108, 53, 160, 117, 222, 51, 182, 90, 80, 151, 119, 217, 86, 111, 13, 235, 123, 165, 86, 151, 230, 11, 193, 32, 235, 135, 63, 54, 250, 129, 218, 153, 218, 140, 250, 35, 207, 203, 154, 128, 246, 117, 128, 79, 169, 126, 228, 107, 153, 54, 249, 101, 180, 1, 217, 228, 148, 135, 246, 116, 68, 30, 73, 0, 95, 178, 124, 13, 176, 163, 193, 127, 146, 147, 252, 219, 127, 251, 185, 84, 91, 146, 47, 25, 101, 121, 92, 181, 70, 121, 79, 145, 253, 28, 243, 73, 85, 177, 128, 68, 88, 43, 219, 253, 172, 13, 29, 237, 240, 141, 49, 134, 168, 127, 88, 191, 117, 232, 253, 118, 16, 253, 86, 129, 246, 166, 126, 233, 183, 188, 242, 97, 37, 248, 222, 180, 5, 156, 19, 113, 237, 110, 60, 46, 56, 154, 19, 57, 105, 34, 169, 221, 77, 38, 5, 23, 108, 90, 215, 247, 45, 156, 89, 63, 42, 155, 246, 164, 175, 173, 135, 253, 136, 126, 242, 214, 234, 177, 93, 250, 94, 196, 71, 253, 212, 157, 200, 173, 37, 18, 201, 87, 210, 233, 136, 181, 47, 157, 91, 75, 167, 147, 214, 20, 207, 124, 68, 119, 123, 72, 170, 157, 8, 105, 119, 67, 33, 161, 22, 118, 130, 220, 62, 15, 62, 78, 127, 230, 109, 40, 101, 227, 203, 215, 164, 247, 101, 195, 222, 164, 232, 31, 206, 137, 141, 163, 251, 68, 185, 231, 0, 235, 203, 150, 137, 3, 42, 189, 223, 161, 247, 44, 236, 221, 29, 189, 103, 73, 165, 184, 54, 78, 222, 168, 233, 229, 7, 170, 15, 30, 240, 121, 14, 162, 175, 241, 140, 194, 64, 156, 141, 45, 165, 43, 110, 247, 204, 198, 181, 218, 174, 144, 211, 195, 73, 27, 129, 118, 62, 224, 233, 201, 168, 158, 137, 126, 213, 179, 95, 101, 62, 11, 61, 91, 193, 61, 196, 23, 181, 61, 63, 96, 124, 81, 59, 113, 147, 241, 69, 237, 254, 151, 33, 59, 83, 172, 143, 125, 224, 219, 247, 12, 158, 184, 142, 49, 119, 211, 232, 103, 194, 75, 237, 76, 253, 252, 111, 208, 39, 230, 184, 35, 57, 165, 199, 46, 100, 173, 15, 109, 206, 165, 88, 191, 57, 244, 113, 228, 103, 177, 178, 74, 195, 231, 142, 33, 61, 98, 202, 162, 198, 64, 78, 106, 12, 230, 172, 141, 74, 110, 77, 81, 244, 113, 3, 30, 112, 214, 232, 178, 168, 202, 173, 203, 162, 106, 180, 63, 181, 123, 93, 119, 64, 172, 237, 10, 138, 206, 186, 176, 90, 19, 11, 136, 85, 117, 33, 38, 139, 234, 118, 5, 5, 103, 93, 171, 90, 219, 23, 16, 170, 154, 67, 82, 77, 111, 171, 224, 108, 10, 169, 53, 109, 33, 200, 172, 176, 88, 8, 133, 88, 27, 213, 65, 94, 213, 46, 134, 180, 90, 140, 15, 87, 251, 71, 205, 249, 80, 72, 174, 163, 186, 183, 93, 182, 185, 136, 54, 173, 176, 253, 58, 107, 155, 175, 218, 252, 214, 56, 107, 139, 234, 58, 200, 29, 191, 159, 241, 195, 191, 66, 59, 152, 109, 224, 20, 116, 185, 220, 69, 245, 189, 175, 45, 100, 230, 107, 114, 245, 114, 171, 181, 222, 151, 251, 129, 211, 31, 89, 243, 249, 146, 84, 159, 202, 74, 75, 158, 213, 17, 117, 146, 80, 71, 42, 203, 213, 226, 147, 234, 154, 125, 106, 109, 147, 79, 125, 219, 25, 74, 213, 52, 250, 212, 106, 240, 97, 45, 228, 24, 100, 212, 134, 212, 144, 27, 248, 241, 181, 228, 167, 118, 156, 104, 182, 55, 214, 223, 150, 229, 156, 195, 171, 183, 37, 197, 82, 233, 25, 172, 124, 163, 204, 31, 95, 99, 123, 9, 179, 241, 81, 221, 25, 65, 217, 168, 115, 83, 68, 173, 105, 196, 129, 242, 92, 157, 185, 1, 194, 32, 181, 249, 124, 102, 185, 20, 191, 165, 254, 101, 216, 80, 183, 247, 57, 235, 251, 144, 3, 108, 191, 28, 39, 198, 107, 161, 194, 147, 251, 241, 53, 180, 160, 243, 158, 172, 173, 168, 247, 232, 247, 227, 130, 121, 223, 125, 121, 133, 111, 145, 87, 223, 223, 245, 151, 203, 203, 127, 139, 188, 150, 111, 200, 43, 126, 245, 130, 209, 94, 21, 171, 54, 125, 175, 219, 255, 193, 37, 63, 117, 32, 207, 230, 246, 160, 126, 86, 170, 54, 149, 229, 240, 104, 21, 179, 30, 173, 220, 235, 194, 88, 123, 242, 51, 174, 220, 189, 148, 151, 105, 126, 152, 30, 191, 251, 41, 250, 197, 109, 196, 46, 170, 51, 140, 58, 255, 218, 224, 17, 125, 76, 40, 26, 189, 159, 169, 54, 244, 203, 123, 212, 143, 45, 173, 15, 232, 23, 154, 7, 18, 194, 65, 239, 23, 104, 62, 72, 152, 233, 153, 90, 83, 207, 180, 38, 244, 241, 130, 126, 247, 202, 247, 244, 204, 44, 100, 172, 199, 245, 213, 11, 62, 203, 159, 125, 232, 108, 79, 20, 117, 140, 215, 171, 235, 24, 239, 51, 25, 173, 106, 87, 127, 174, 98, 87, 134, 201, 219, 134, 70, 200, 35, 80, 127, 179, 46, 143, 90, 246, 102, 68, 101, 176, 95, 20, 119, 229, 224, 75, 102, 68, 113, 247, 152, 234, 155, 232, 151, 90, 135, 85, 92, 27, 81, 235, 199, 251, 85, 113, 207, 62, 85, 30, 237, 87, 91, 119, 171, 118, 226, 73, 205, 118, 107, 93, 177, 102, 96, 119, 245, 107, 180, 175, 89, 179, 53, 161, 221, 30, 24, 202, 5, 246, 210, 92, 62, 254, 99, 218, 11, 149, 230, 226, 6, 150, 223, 126, 65, 179, 221, 89, 95, 14, 124, 117, 83, 214, 110, 221, 172, 7, 86, 25, 237, 28, 120, 102, 8, 254, 104, 54, 71, 235, 23, 18, 150, 38, 96, 33, 26, 108, 211, 49, 181, 141, 14, 137, 161, 241, 172, 216, 62, 49, 34, 134, 247, 143, 137, 226, 222, 3, 170, 56, 60, 169, 138, 163, 211, 170, 56, 126, 72, 245, 205, 12, 73, 245, 83, 67, 170, 124, 112, 72, 13, 195, 175, 109, 218, 35, 92, 243, 30, 76, 112, 13, 83, 25, 206, 63, 211, 207, 53, 238, 85, 185, 127, 7, 30, 167, 120, 141, 23, 99, 223, 187, 103, 78, 145, 65, 27, 246, 204, 43, 245, 160, 254, 61, 199, 149, 188, 42, 92, 51, 245, 161, 187, 55, 202, 121, 150, 39, 55, 60, 150, 159, 88, 174, 135, 66, 185, 223, 199, 189, 36, 11, 243, 113, 234, 227, 215, 214, 61, 142, 86, 109, 55, 250, 172, 102, 182, 85, 203, 251, 248, 107, 203, 202, 235, 235, 165, 45, 161, 28, 173, 169, 182, 22, 10, 177, 177, 88, 235, 47, 205, 187, 99, 113, 201, 213, 25, 87, 235, 58, 226, 106, 33, 158, 5, 155, 113, 201, 224, 98, 86, 115, 15, 143, 176, 241, 233, 27, 28, 19, 92, 195, 57, 169, 126, 207, 62, 161, 121, 252, 128, 84, 55, 60, 41, 201, 187, 167, 133, 86, 200, 255, 246, 169, 3, 170, 2, 108, 109, 163, 175, 42, 173, 68, 39, 110, 41, 202, 248, 136, 212, 78, 255, 79, 253, 72, 105, 221, 63, 162, 182, 207, 140, 192, 198, 146, 54, 164, 46, 62, 16, 236, 138, 75, 133, 17, 253, 25, 53, 248, 159, 158, 67, 215, 190, 140, 199, 125, 126, 220, 211, 222, 245, 156, 66, 123, 186, 183, 118, 105, 74, 0, 84, 233, 90, 85, 72, 190, 17, 78, 178, 75, 8, 15, 233, 250, 186, 182, 101, 27, 201, 68, 151, 33, 19, 221, 109, 43, 182, 6, 107, 148, 201, 66, 111, 109, 105, 158, 218, 161, 160, 40, 76, 30, 30, 64, 187, 152, 227, 132, 248, 126, 223, 38, 57, 72, 251, 69, 147, 237, 250, 167, 104, 19, 42, 219, 28, 71, 92, 13, 27, 15, 142, 254, 221, 140, 86, 234, 227, 193, 163, 145, 45, 102, 198, 101, 255, 24, 247, 88, 189, 193, 77, 227, 33, 172, 21, 48, 30, 10, 133, 239, 125, 47, 207, 43, 198, 120, 64, 219, 179, 177, 65, 99, 37, 196, 198, 70, 93, 131, 49, 54, 130, 230, 216, 232, 191, 111, 108, 252, 16, 252, 70, 117, 85, 160, 123, 42, 59, 19, 57, 103, 103, 38, 119, 61, 209, 159, 187, 158, 81, 115, 171, 137, 129, 220, 106, 102, 200, 24, 47, 119, 62, 247, 6, 73, 231, 223, 249, 188, 1, 182, 60, 81, 63, 124, 39, 162, 141, 13, 58, 13, 192, 103, 37, 218, 20, 213, 99, 74, 193, 137, 132, 216, 188, 127, 64, 84, 14, 14, 137, 222, 186, 172, 26, 168, 27, 81, 155, 234, 198, 84, 138, 143, 133, 118, 37, 196, 246, 221, 25, 49, 188, 167, 31, 105, 147, 106, 67, 221, 180, 234, 175, 59, 196, 116, 87, 199, 98, 66, 140, 156, 200, 136, 157, 39, 41, 109, 14, 105, 71, 144, 54, 175, 6, 167, 80, 222, 12, 198, 226, 108, 191, 24, 60, 172, 138, 205, 71, 81, 246, 177, 33, 209, 63, 152, 147, 188, 123, 247, 73, 13, 123, 14, 72, 45, 232, 199, 134, 189, 175, 175, 17, 127, 248, 247, 220, 90, 107, 3, 245, 14, 190, 181, 214, 118, 112, 82, 106, 221, 63, 169, 182, 76, 76, 170, 161, 69, 54, 23, 67, 106, 157, 218, 39, 181, 77, 29, 144, 252, 123, 39, 165, 134, 193, 73, 213, 187, 103, 82, 245, 239, 158, 150, 26, 118, 77, 171, 222, 238, 105, 149, 246, 252, 15, 12, 234, 123, 253, 135, 166, 230, 164, 14, 148, 213, 62, 251, 222, 90, 251, 236, 17, 251, 255, 53, 121, 68, 149, 135, 147, 66, 253, 104, 74, 240, 141, 167, 5, 127, 95, 86, 170, 223, 149, 85, 229, 238, 172, 218, 212, 55, 34, 213, 15, 142, 168, 242, 158, 17, 181, 173, 111, 76, 170, 223, 63, 166, 202, 19, 99, 106, 104, 116, 94, 10, 13, 47, 176, 24, 88, 120, 248, 143, 214, 162, 84, 222, 232, 79, 215, 58, 102, 231, 180, 142, 99, 243, 82, 251, 236, 180, 214, 62, 60, 45, 229, 23, 248, 107, 237, 199, 166, 185, 142, 197, 57, 41, 60, 59, 175, 117, 226, 190, 252, 52, 127, 173, 243, 240, 28, 215, 126, 120, 158, 230, 146, 136, 193, 169, 172, 189, 121, 56, 43, 70, 102, 71, 52, 80, 233, 238, 60, 238, 25, 206, 114, 65, 33, 176, 17, 28, 230, 185, 187, 217, 17, 161, 99, 116, 68, 206, 143, 140, 248, 26, 71, 85, 41, 48, 58, 32, 53, 141, 14, 73, 222, 97, 85, 109, 24, 30, 80, 253, 195, 144, 13, 123, 18, 66, 253, 96, 82, 240, 237, 77, 9, 245, 189, 41, 137, 108, 101, 178, 153, 243, 99, 194, 181, 66, 42, 33, 141, 90, 243, 123, 234, 187, 19, 156, 167, 91, 184, 86, 61, 161, 112, 53, 251, 91, 185, 218, 131, 33, 206, 61, 14, 89, 208, 29, 231, 104, 110, 218, 247, 35, 145, 220, 105, 83, 22, 68, 5, 140, 251, 215, 216, 184, 169, 66, 221, 170, 99, 203, 74, 53, 104, 77, 236, 178, 82, 3, 90, 27, 91, 193, 248, 186, 246, 153, 183, 202, 24, 51, 134, 239, 50, 140, 251, 205, 248, 54, 141, 29, 26, 19, 135, 182, 24, 55, 116, 125, 212, 90, 212, 35, 142, 116, 159, 62, 94, 28, 18, 163, 69, 159, 79, 176, 94, 211, 74, 172, 78, 205, 202, 222, 81, 217, 53, 209, 202, 107, 165, 214, 90, 205, 198, 222, 83, 9, 26, 103, 181, 105, 229, 86, 78, 83, 173, 46, 205, 142, 188, 101, 214, 10, 252, 95, 13, 27, 8, 122, 171, 194, 189, 68, 122, 168, 162, 65, 31, 119, 97, 60, 143, 108, 151, 18, 111, 107, 110, 173, 181, 53, 41, 122, 67, 250, 120, 128, 60, 171, 169, 211, 237, 21, 129, 238, 115, 187, 151, 42, 136, 186, 220, 75, 78, 162, 117, 244, 238, 76, 215, 3, 250, 188, 45, 154, 183, 168, 226, 72, 226, 232, 199, 145, 194, 145, 193, 145, 6, 150, 107, 192, 231, 98, 239, 209, 42, 216, 123, 52, 138, 81, 59, 129, 83, 208, 220, 12, 103, 20, 117, 160, 119, 111, 181, 192, 95, 161, 213, 1, 127, 25, 124, 143, 18, 96, 182, 160, 142, 46, 212, 79, 181, 70, 224, 235, 250, 222, 231, 184, 134, 247, 189, 205, 47, 61, 191, 22, 26, 130, 204, 237, 255, 172, 41, 88, 146, 247, 115, 2, 139, 175, 251, 180, 55, 111, 146, 31, 236, 247, 189, 121, 99, 89, 121, 123, 157, 244, 205, 127, 179, 172, 125, 16, 144, 191, 122, 161, 214, 242, 241, 135, 213, 221, 118, 99, 172, 255, 219, 207, 173, 118, 125, 46, 67, 165, 195, 158, 115, 58, 42, 114, 149, 149, 206, 156, 179, 82, 98, 186, 200, 90, 86, 134, 113, 254, 229, 231, 66, 139, 78, 237, 237, 58, 45, 237, 44, 99, 54, 105, 249, 97, 187, 72, 247, 182, 157, 168, 16, 197, 89, 73, 172, 56, 234, 20, 73, 126, 218, 74, 163, 182, 214, 197, 136, 24, 58, 25, 21, 155, 232, 220, 241, 150, 173, 108, 102, 90, 12, 211, 255, 149, 97, 27, 205, 71, 176, 85, 37, 108, 45, 199, 142, 136, 244, 254, 198, 214, 121, 203, 70, 239, 110, 108, 177, 119, 108, 49, 206, 190, 81, 183, 151, 79, 199, 233, 124, 166, 213, 102, 35, 122, 244, 117, 27, 205, 93, 232, 66, 90, 248, 24, 159, 206, 47, 44, 248, 98, 39, 30, 151, 186, 113, 30, 47, 227, 211, 29, 139, 11, 98, 215, 99, 143, 171, 48, 52, 55, 162, 139, 188, 167, 251, 236, 227, 42, 197, 163, 147, 231, 63, 130, 188, 183, 127, 220, 131, 54, 73, 65, 167, 121, 45, 215, 97, 71, 190, 179, 30, 132, 14, 46, 153, 169, 86, 103, 44, 55, 62, 40, 169, 172, 85, 75, 74, 93, 106, 73, 149, 71, 45, 57, 154, 83, 75, 58, 247, 169, 37, 142, 3, 106, 73, 108, 82, 205, 123, 236, 190, 18, 60, 163, 108, 130, 79, 219, 65, 197, 253, 124, 186, 20, 180, 252, 32, 48, 76, 58, 125, 214, 42, 167, 88, 129, 103, 10, 85, 188, 167, 180, 50, 34, 217, 29, 17, 181, 164, 60, 162, 146, 15, 90, 225, 157, 87, 20, 60, 219, 141, 103, 123, 233, 217, 214, 235, 236, 251, 181, 84, 247, 171, 192, 240, 246, 122, 64, 249, 234, 102, 188, 108, 210, 222, 6, 12, 225, 99, 211, 246, 186, 189, 71, 236, 95, 76, 102, 213, 47, 166, 71, 212, 47, 142, 140, 169, 9, 200, 174, 196, 212, 180, 244, 183, 11, 115, 106, 15, 197, 158, 15, 207, 73, 20, 179, 237, 158, 90, 144, 186, 166, 78, 73, 20, 27, 78, 30, 61, 34, 41, 143, 29, 151, 130, 83, 143, 75, 205, 139, 103, 88, 28, 185, 121, 106, 125, 45, 1, 170, 44, 126, 196, 226, 196, 193, 199, 126, 190, 166, 76, 157, 147, 154, 31, 59, 167, 6, 23, 207, 169, 101, 19, 203, 118, 113, 255, 69, 123, 249, 193, 203, 246, 47, 150, 109, 234, 23, 23, 121, 245, 139, 203, 156, 234, 90, 92, 214, 92, 23, 34, 210, 223, 58, 237, 170, 123, 209, 169, 9, 165, 118, 201, 133, 163, 228, 130, 40, 217, 47, 84, 72, 165, 23, 36, 137, 115, 68, 37, 190, 242, 162, 100, 41, 191, 44, 81, 29, 45, 149, 199, 215, 40, 158, 205, 149, 255, 197, 26, 197, 237, 121, 199, 95, 174, 113, 149, 79, 74, 22, 199, 147, 42, 95, 254, 164, 218, 251, 196, 138, 148, 186, 180, 162, 186, 99, 43, 106, 242, 232, 156, 90, 81, 229, 148, 146, 232, 207, 116, 149, 100, 235, 62, 123, 69, 74, 156, 190, 162, 198, 78, 92, 81, 169, 111, 51, 184, 191, 227, 240, 29, 165, 251, 137, 51, 82, 226, 210, 25, 53, 22, 59, 163, 230, 207, 69, 125, 84, 135, 142, 216, 207, 149, 194, 202, 113, 166, 223, 169, 110, 238, 216, 186, 146, 57, 125, 14, 101, 229, 55, 186, 207, 110, 172, 101, 206, 94, 20, 187, 79, 63, 46, 164, 78, 63, 110, 79, 158, 61, 163, 117, 95, 186, 108, 79, 204, 174, 104, 249, 203, 151, 229, 222, 167, 175, 56, 187, 47, 9, 215, 20, 216, 98, 153, 255, 108, 225, 148, 229, 63, 120, 33, 117, 250, 162, 212, 17, 187, 42, 166, 190, 51, 167, 118, 160, 77, 19, 56, 10, 115, 115, 210, 95, 79, 253, 201, 122, 242, 48, 242, 34, 143, 225, 43, 255, 83, 235, 227, 250, 121, 176, 100, 78, 104, 182, 158, 19, 20, 203, 69, 129, 222, 61, 116, 60, 115, 83, 161, 119, 20, 201, 103, 94, 70, 63, 231, 55, 82, 207, 188, 170, 184, 202, 175, 74, 46, 199, 179, 146, 171, 242, 57, 137, 100, 126, 116, 230, 111, 20, 122, 79, 208, 53, 115, 87, 161, 216, 125, 104, 230, 255, 86, 40, 134, 221, 251, 244, 71, 205, 187, 112, 78, 233, 253, 160, 148, 190, 27, 148, 210, 133, 103, 46, 75, 145, 153, 203, 234, 238, 223, 58, 34, 245, 127, 247, 136, 186, 235, 59, 71, 84, 229, 183, 86, 164, 230, 239, 174, 168, 193, 239, 172, 168, 108, 158, 216, 211, 43, 146, 50, 62, 38, 53, 143, 142, 169, 193, 225, 49, 102, 43, 245, 61, 253, 170, 162, 192, 238, 201, 143, 241, 215, 242, 217, 44, 215, 11, 123, 169, 121, 24, 249, 159, 206, 74, 173, 188, 240, 241, 221, 44, 207, 69, 135, 231, 212, 174, 225, 115, 106, 104, 248, 162, 154, 152, 201, 74, 193, 217, 172, 214, 61, 156, 117, 154, 113, 1, 43, 116, 15, 221, 123, 55, 155, 21, 40, 13, 122, 198, 73, 49, 190, 142, 97, 209, 70, 49, 194, 228, 176, 221, 22, 4, 77, 13, 243, 182, 82, 216, 107, 138, 99, 82, 109, 46, 135, 158, 173, 178, 3, 199, 52, 48, 77, 171, 205, 176, 75, 201, 78, 11, 193, 78, 163, 111, 198, 210, 83, 183, 184, 118, 208, 216, 204, 45, 46, 111, 183, 251, 172, 248, 223, 93, 122, 139, 211, 211, 94, 53, 210, 94, 229, 244, 235, 160, 165, 81, 41, 4, 57, 214, 30, 227, 57, 55, 27, 179, 191, 143, 241, 242, 238, 122, 56, 244, 213, 205, 138, 11, 30, 105, 18, 246, 81, 5, 202, 175, 240, 126, 212, 236, 198, 61, 252, 232, 45, 142, 222, 89, 88, 198, 111, 177, 119, 105, 220, 240, 45, 142, 7, 229, 99, 175, 210, 180, 181, 13, 203, 232, 171, 168, 26, 93, 127, 149, 43, 76, 71, 125, 248, 63, 41, 196, 156, 18, 197, 226, 4, 212, 69, 128, 204, 89, 70, 251, 184, 170, 120, 220, 151, 223, 16, 202, 69, 5, 22, 251, 134, 224, 176, 43, 144, 161, 27, 66, 37, 175, 88, 99, 118, 137, 158, 105, 245, 38, 214, 120, 220, 195, 123, 151, 109, 22, 80, 139, 247, 50, 180, 218, 234, 6, 231, 93, 177, 197, 107, 236, 98, 184, 78, 20, 235, 220, 21, 162, 109, 66, 16, 59, 247, 75, 98, 211, 65, 167, 104, 45, 19, 196, 146, 74, 73, 180, 67, 86, 148, 33, 111, 232, 63, 220, 134, 88, 181, 171, 101, 149, 162, 90, 86, 85, 161, 54, 148, 218, 237, 254, 114, 193, 222, 232, 16, 237, 212, 6, 13, 165, 207, 145, 170, 220, 240, 151, 61, 199, 149, 128, 54, 150, 63, 199, 201, 37, 54, 174, 222, 202, 115, 62, 84, 8, 249, 57, 127, 153, 192, 53, 150, 139, 156, 29, 237, 19, 128, 157, 94, 74, 237, 100, 253, 125, 142, 230, 173, 216, 161, 91, 204, 121, 27, 86, 166, 3, 237, 208, 25, 28, 244, 201, 53, 232, 16, 154, 183, 193, 107, 97, 237, 171, 155, 164, 111, 74, 209, 150, 50, 206, 235, 113, 221, 135, 124, 13, 200, 239, 199, 125, 141, 184, 63, 128, 114, 104, 238, 76, 0, 121, 189, 191, 68, 222, 0, 242, 6, 145, 55, 245, 75, 228, 13, 34, 47, 233, 39, 129, 139, 179, 57, 41, 21, 68, 203, 72, 159, 130, 138, 238, 165, 90, 162, 240, 43, 61, 68, 161, 167, 125, 68, 161, 103, 3, 68, 161, 119, 21, 162, 208, 195, 33, 162, 94, 247, 82, 132, 168, 236, 94, 138, 19, 173, 119, 47, 37, 137, 250, 220, 75, 105, 162, 13, 238, 165, 126, 162, 126, 247, 18, 71, 180, 145, 230, 205, 128, 6, 112, 142, 54, 17, 128, 247, 59, 208, 97, 94, 232, 97, 250, 14, 193, 130, 107, 101, 192, 78, 243, 70, 100, 232, 93, 218, 155, 154, 218, 78, 68, 93, 104, 222, 72, 61, 116, 179, 106, 77, 161, 109, 175, 65, 159, 219, 53, 178, 127, 125, 208, 233, 170, 53, 141, 54, 191, 6, 189, 46, 104, 52, 111, 164, 1, 186, 93, 133, 95, 88, 130, 107, 117, 168, 59, 217, 194, 126, 232, 114, 21, 126, 34, 217, 34, 46, 180, 5, 233, 208, 70, 232, 115, 213, 170, 194, 46, 184, 6, 27, 64, 98, 113, 243, 0, 236, 0, 21, 190, 100, 233, 87, 186, 223, 70, 54, 126, 63, 236, 164, 90, 142, 131, 113, 243, 6, 206, 19, 104, 207, 28, 218, 115, 31, 218, 243, 0, 218, 185, 31, 237, 172, 162, 157, 7, 128, 63, 133, 62, 79, 107, 50, 158, 205, 3, 59, 181, 51, 233, 122, 175, 241, 14, 252, 77, 244, 141, 135, 226, 129, 221, 209, 156, 179, 123, 210, 176, 3, 190, 252, 220, 221, 78, 115, 56, 191, 252, 60, 212, 169, 219, 3, 29, 39, 162, 98, 120, 113, 82, 36, 189, 92, 18, 123, 143, 230, 87, 136, 52, 167, 162, 100, 234, 93, 155, 45, 54, 167, 250, 22, 163, 66, 23, 157, 31, 251, 145, 205, 54, 117, 72, 173, 63, 49, 41, 40, 135, 31, 23, 220, 177, 51, 82, 228, 228, 146, 104, 59, 54, 173, 202, 143, 205, 11, 205, 179, 231, 132, 208, 212, 25, 53, 113, 122, 89, 42, 57, 121, 68, 13, 206, 44, 9, 157, 199, 206, 168, 201, 243, 203, 170, 27, 114, 56, 126, 114, 89, 165, 249, 174, 201, 169, 139, 106, 225, 204, 25, 38, 227, 73, 119, 71, 142, 254, 185, 18, 63, 118, 81, 37, 189, 18, 57, 250, 115, 133, 244, 76, 228, 232, 95, 40, 61, 79, 60, 201, 222, 35, 167, 46, 253, 199, 181, 158, 75, 203, 98, 234, 137, 139, 66, 250, 236, 101, 173, 231, 210, 69, 123, 239, 133, 21, 123, 106, 246, 138, 150, 95, 89, 145, 119, 1, 91, 223, 51, 31, 53, 167, 190, 243, 172, 20, 57, 250, 156, 212, 63, 251, 172, 214, 247, 204, 138, 115, 247, 165, 43, 82, 63, 210, 122, 191, 251, 81, 179, 12, 57, 211, 123, 129, 231, 252, 208, 13, 125, 208, 13, 133, 43, 203, 76, 7, 244, 207, 94, 214, 210, 23, 96, 27, 27, 58, 192, 125, 250, 113, 113, 215, 19, 203, 78, 242, 231, 83, 165, 28, 23, 58, 127, 78, 76, 160, 140, 196, 133, 227, 182, 78, 212, 149, 116, 90, 242, 194, 59, 182, 4, 234, 227, 151, 111, 189, 64, 182, 75, 252, 194, 31, 217, 146, 231, 47, 170, 242, 242, 157, 23, 226, 39, 47, 170, 203, 129, 59, 47, 20, 46, 46, 179, 250, 117, 95, 56, 195, 117, 47, 158, 209, 186, 102, 166, 133, 216, 236, 33, 33, 122, 120, 78, 232, 60, 57, 143, 114, 39, 57, 247, 233, 40, 23, 57, 187, 44, 209, 92, 224, 200, 217, 159, 91, 3, 51, 211, 246, 150, 217, 67, 246, 214, 195, 115, 246, 174, 147, 75, 246, 216, 249, 227, 246, 232, 233, 5, 59, 155, 247, 114, 244, 170, 141, 222, 205, 133, 142, 62, 199, 98, 119, 238, 163, 154, 141, 228, 105, 96, 102, 133, 11, 131, 182, 204, 174, 112, 29, 160, 173, 135, 87, 56, 170, 107, 15, 234, 40, 159, 76, 114, 245, 39, 82, 156, 111, 49, 205, 209, 247, 58, 13, 199, 150, 81, 127, 200, 155, 169, 101, 142, 228, 105, 99, 108, 153, 107, 4, 13, 204, 44, 115, 1, 208, 150, 217, 101, 142, 230, 215, 183, 30, 94, 230, 104, 46, 122, 155, 229, 60, 71, 235, 118, 176, 49, 212, 230, 94, 114, 131, 111, 137, 95, 218, 192, 179, 173, 236, 253, 19, 241, 36, 241, 38, 237, 241, 174, 106, 75, 176, 249, 25, 15, 31, 160, 248, 193, 27, 235, 109, 142, 16, 139, 31, 212, 206, 134, 52, 159, 114, 107, 189, 113, 79, 2, 118, 203, 141, 15, 252, 187, 19, 106, 195, 174, 132, 90, 72, 36, 89, 27, 201, 139, 73, 173, 161, 39, 37, 249, 123, 210, 82, 99, 207, 1, 22, 51, 224, 135, 39, 5, 203, 232, 180, 192, 141, 31, 18, 72, 159, 6, 218, 223, 129, 62, 205, 111, 180, 180, 255, 72, 9, 131, 182, 182, 191, 171, 180, 205, 14, 72, 237, 125, 3, 106, 168, 23, 7, 174, 5, 122, 245, 60, 129, 62, 61, 79, 224, 224, 187, 74, 120, 54, 37, 181, 207, 164, 224, 235, 193, 15, 226, 164, 13, 71, 55, 31, 144, 187, 19, 82, 45, 142, 66, 234, 222, 243, 233, 218, 151, 137, 132, 143, 226, 37, 161, 238, 155, 44, 94, 210, 222, 253, 178, 226, 3, 13, 119, 191, 202, 124, 156, 38, 185, 36, 79, 113, 28, 138, 39, 55, 180, 139, 44, 158, 236, 111, 183, 219, 40, 118, 221, 216, 206, 219, 60, 24, 139, 20, 63, 168, 241, 26, 115, 102, 236, 28, 243, 133, 74, 33, 59, 236, 144, 41, 37, 144, 53, 229, 24, 247, 34, 228, 65, 25, 228, 132, 27, 178, 196, 5, 25, 83, 7, 217, 67, 242, 201, 6, 249, 36, 64, 166, 84, 48, 249, 228, 209, 62, 254, 31, 171, 31, 208, 60, 35, 39, 100, 45, 249, 73, 111, 195, 126, 116, 185, 153, 95, 228, 224, 210, 140, 86, 246, 233, 231, 85, 134, 191, 84, 83, 140, 51, 144, 191, 99, 196, 221, 86, 113, 31, 189, 7, 51, 227, 12, 212, 190, 186, 159, 66, 49, 133, 52, 14, 138, 51, 144, 239, 66, 177, 56, 138, 53, 144, 63, 147, 128, 60, 241, 192, 247, 240, 190, 79, 114, 67, 230, 94, 250, 196, 219, 166, 199, 29, 2, 224, 47, 9, 182, 174, 71, 187, 115, 51, 176, 252, 198, 141, 181, 112, 127, 49, 70, 231, 111, 44, 205, 203, 232, 107, 138, 67, 172, 83, 220, 203, 69, 126, 200, 198, 135, 181, 221, 82, 209, 15, 41, 45, 45, 99, 114, 199, 89, 217, 159, 171, 130, 255, 225, 172, 202, 230, 170, 170, 156, 204, 15, 241, 55, 139, 186, 223, 209, 166, 211, 96, 135, 78, 133, 152, 152, 39, 185, 218, 124, 80, 18, 149, 41, 167, 216, 50, 211, 47, 182, 206, 102, 69, 122, 111, 44, 86, 190, 204, 198, 134, 88, 245, 42, 198, 4, 232, 238, 215, 109, 226, 240, 62, 61, 238, 112, 2, 254, 244, 201, 67, 98, 231, 99, 199, 197, 232, 233, 37, 145, 228, 152, 56, 252, 158, 141, 198, 180, 56, 251, 79, 108, 221, 68, 79, 252, 145, 77, 60, 185, 160, 230, 247, 237, 243, 197, 97, 243, 183, 61, 198, 167, 147, 160, 161, 211, 124, 186, 7, 180, 253, 172, 238, 135, 180, 194, 247, 72, 25, 126, 71, 207, 133, 203, 82, 242, 252, 101, 53, 126, 242, 178, 170, 203, 168, 191, 84, 100, 248, 0, 105, 180, 75, 31, 233, 104, 140, 29, 205, 246, 230, 186, 79, 254, 234, 102, 239, 226, 21, 237, 60, 248, 190, 23, 246, 94, 219, 99, 87, 237, 161, 211, 207, 218, 219, 207, 62, 103, 255, 219, 133, 125, 106, 122, 113, 65, 139, 238, 223, 39, 245, 226, 136, 63, 179, 36, 37, 159, 57, 39, 245, 60, 179, 44, 165, 22, 23, 164, 47, 174, 170, 234, 23, 207, 14, 168, 95, 60, 55, 164, 246, 236, 125, 82, 10, 156, 127, 82, 109, 60, 249, 36, 238, 217, 199, 176, 54, 237, 189, 42, 5, 6, 175, 170, 141, 123, 174, 170, 100, 99, 166, 159, 250, 27, 165, 117, 255, 179, 18, 249, 134, 187, 190, 203, 27, 190, 200, 121, 230, 139, 244, 117, 63, 7, 60, 183, 214, 101, 63, 244, 246, 51, 23, 165, 61, 192, 67, 114, 54, 117, 233, 163, 230, 194, 213, 21, 102, 43, 69, 159, 94, 144, 250, 22, 87, 52, 210, 3, 209, 167, 255, 35, 179, 149, 122, 23, 121, 200, 8, 216, 175, 39, 245, 120, 90, 244, 252, 170, 66, 243, 109, 162, 23, 126, 160, 180, 62, 189, 143, 205, 113, 105, 189, 244, 23, 107, 141, 184, 167, 241, 210, 188, 45, 0, 26, 184, 116, 220, 70, 190, 96, 211, 165, 83, 182, 242, 202, 17, 181, 188, 106, 76, 45, 223, 157, 83, 203, 97, 147, 150, 207, 30, 81, 203, 79, 204, 171, 109, 163, 146, 16, 26, 119, 10, 237, 19, 253, 66, 215, 225, 172, 144, 56, 58, 34, 116, 31, 27, 19, 74, 135, 179, 162, 48, 58, 34, 250, 199, 199, 68, 122, 79, 158, 134, 13, 213, 50, 44, 169, 45, 163, 78, 181, 101, 188, 95, 149, 43, 37, 123, 125, 149, 211, 238, 219, 221, 111, 135, 120, 222, 144, 43, 87, 57, 1, 180, 190, 106, 149, 201, 54, 223, 238, 85, 206, 181, 71, 229, 220, 131, 81, 206, 179, 55, 194, 201, 149, 113, 174, 190, 10, 50, 112, 119, 146, 107, 64, 123, 52, 80, 172, 19, 50, 77, 198, 152, 114, 65, 102, 121, 160, 147, 101, 107, 28, 58, 21, 50, 0, 99, 205, 183, 233, 122, 31, 108, 4, 51, 205, 135, 52, 102, 83, 192, 214, 96, 242, 16, 182, 12, 233, 116, 31, 198, 179, 140, 113, 239, 65, 30, 23, 242, 146, 142, 239, 134, 28, 172, 69, 126, 138, 231, 145, 46, 175, 227, 184, 58, 26, 123, 52, 182, 60, 40, 147, 214, 127, 112, 65, 134, 210, 248, 163, 49, 225, 50, 222, 227, 13, 162, 79, 72, 95, 59, 59, 71, 114, 85, 157, 99, 185, 235, 145, 72, 81, 103, 55, 183, 232, 58, 91, 129, 238, 38, 190, 110, 153, 25, 1, 255, 143, 137, 109, 135, 167, 197, 208, 209, 67, 34, 249, 217, 226, 232, 235, 54, 210, 37, 226, 248, 45, 27, 233, 12, 113, 230, 45, 155, 56, 59, 169, 54, 30, 62, 36, 4, 142, 46, 8, 77, 199, 142, 11, 177, 19, 75, 18, 125, 151, 16, 158, 93, 82, 243, 147, 147, 190, 194, 210, 18, 147, 129, 241, 197, 37, 45, 116, 242, 20, 155, 3, 20, 58, 249, 115, 43, 249, 239, 225, 169, 227, 204, 87, 143, 78, 157, 98, 227, 43, 54, 117, 198, 86, 62, 138, 126, 28, 223, 167, 150, 207, 28, 80, 59, 38, 70, 132, 200, 254, 49, 161, 243, 96, 78, 144, 71, 71, 236, 245, 227, 99, 118, 223, 68, 206, 78, 54, 186, 60, 122, 138, 131, 81, 189, 81, 63, 126, 138, 233, 20, 223, 196, 41, 238, 238, 41, 254, 154, 123, 22, 253, 178, 24, 231, 188, 83, 9, 78, 30, 133, 126, 26, 71, 223, 76, 64, 63, 25, 125, 243, 207, 205, 182, 203, 232, 49, 232, 6, 71, 88, 59, 128, 118, 169, 155, 13, 107, 30, 138, 63, 123, 35, 185, 94, 156, 175, 69, 34, 44, 254, 236, 106, 46, 205, 123, 187, 51, 146, 167, 43, 3, 223, 51, 163, 22, 50, 250, 247, 91, 244, 78, 145, 218, 169, 105, 98, 82, 240, 30, 156, 150, 2, 134, 30, 241, 117, 188, 163, 120, 14, 66, 207, 140, 206, 9, 164, 35, 234, 59, 222, 85, 218, 167, 82, 146, 251, 224, 17, 22, 11, 148, 59, 222, 83, 194, 125, 41, 181, 227, 40, 116, 6, 165, 207, 188, 195, 116, 73, 125, 223, 187, 74, 104, 42, 201, 242, 212, 31, 69, 158, 217, 36, 252, 201, 164, 90, 15, 157, 82, 189, 139, 15, 180, 245, 166, 164, 66, 82, 215, 39, 117, 20, 119, 35, 157, 210, 155, 148, 190, 76, 38, 125, 228, 59, 118, 244, 232, 190, 99, 184, 231, 85, 133, 226, 153, 161, 158, 215, 149, 102, 240, 12, 189, 139, 108, 1, 255, 180, 194, 134, 35, 221, 225, 146, 239, 197, 169, 73, 191, 184, 59, 52, 166, 95, 60, 29, 171, 54, 250, 158, 209, 219, 241, 3, 155, 183, 59, 140, 250, 134, 81, 223, 176, 74, 49, 24, 71, 199, 71, 86, 106, 159, 96, 71, 216, 153, 151, 249, 107, 193, 142, 12, 71, 101, 249, 81, 22, 181, 101, 193, 136, 201, 61, 7, 27, 147, 244, 9, 241, 237, 223, 53, 158, 102, 198, 242, 38, 193, 215, 208, 55, 15, 196, 242, 100, 237, 191, 240, 186, 142, 50, 223, 139, 146, 30, 33, 189, 194, 230, 127, 195, 126, 247, 26, 239, 244, 62, 65, 190, 172, 69, 127, 39, 206, 222, 219, 24, 243, 84, 245, 248, 185, 162, 81, 28, 176, 26, 250, 204, 237, 96, 180, 46, 141, 231, 129, 86, 175, 6, 131, 201, 178, 174, 104, 206, 211, 236, 207, 177, 119, 82, 149, 20, 147, 123, 109, 221, 109, 13, 2, 111, 0, 56, 93, 168, 71, 53, 234, 38, 177, 186, 121, 89, 221, 200, 246, 175, 69, 61, 156, 168, 95, 5, 171, 95, 37, 234, 167, 90, 253, 122, 124, 176, 202, 189, 84, 85, 162, 227, 250, 71, 192, 53, 102, 249, 179, 15, 39, 49, 14, 175, 7, 163, 145, 235, 65, 125, 61, 2, 29, 39, 108, 231, 7, 230, 48, 208, 247, 213, 94, 208, 250, 190, 20, 71, 243, 24, 94, 73, 36, 34, 238, 238, 40, 100, 238, 43, 27, 30, 35, 93, 6, 245, 246, 37, 184, 87, 226, 241, 200, 43, 201, 100, 196, 211, 19, 231, 74, 123, 147, 185, 210, 88, 58, 87, 218, 157, 201, 173, 37, 147, 73, 22, 111, 132, 95, 67, 239, 214, 89, 204, 17, 114, 102, 45, 147, 97, 239, 83, 61, 254, 210, 60, 197, 253, 124, 244, 109, 31, 168, 76, 178, 0, 180, 33, 36, 48, 157, 216, 56, 28, 7, 63, 103, 165, 198, 241, 17, 137, 250, 182, 101, 119, 92, 109, 221, 157, 85, 219, 118, 143, 48, 29, 24, 26, 140, 171, 237, 131, 89, 53, 60, 56, 162, 146, 254, 215, 253, 138, 57, 244, 11, 125, 207, 115, 8, 71, 14, 7, 125, 51, 70, 223, 35, 78, 226, 56, 160, 57, 209, 102, 34, 218, 211, 228, 137, 42, 180, 89, 57, 218, 152, 190, 9, 33, 190, 225, 209, 182, 62, 214, 134, 105, 180, 37, 241, 135, 31, 237, 91, 141, 54, 175, 128, 60, 36, 63, 148, 252, 17, 25, 246, 67, 61, 142, 123, 243, 117, 148, 206, 151, 158, 247, 65, 63, 213, 65, 79, 82, 172, 146, 174, 249, 228, 91, 55, 150, 149, 183, 214, 61, 218, 27, 55, 5, 203, 218, 7, 126, 143, 110, 51, 84, 143, 219, 138, 54, 3, 207, 235, 54, 67, 77, 137, 144, 171, 45, 177, 229, 106, 74, 197, 92, 109, 169, 157, 217, 12, 54, 187, 110, 35, 240, 17, 157, 150, 196, 117, 106, 229, 117, 155, 193, 126, 180, 86, 44, 61, 230, 18, 133, 69, 191, 88, 118, 34, 32, 86, 97, 204, 88, 234, 100, 102, 191, 89, 220, 126, 54, 174, 44, 141, 65, 155, 165, 169, 154, 181, 87, 188, 196, 38, 118, 149, 218, 197, 4, 252, 249, 238, 114, 81, 116, 82, 122, 201, 207, 152, 108, 181, 148, 254, 41, 147, 173, 150, 178, 143, 108, 150, 242, 51, 106, 190, 90, 244, 149, 193, 70, 168, 106, 226, 211, 81, 80, 249, 40, 159, 166, 184, 166, 143, 98, 151, 103, 206, 248, 74, 206, 158, 129, 207, 16, 216, 232, 62, 203, 123, 98, 39, 150, 33, 123, 151, 213, 178, 154, 101, 149, 244, 102, 242, 252, 159, 43, 126, 216, 12, 41, 180, 69, 47, 228, 159, 98, 249, 46, 116, 244, 31, 172, 43, 208, 209, 61, 139, 79, 106, 191, 5, 57, 215, 243, 212, 178, 84, 213, 180, 98, 151, 143, 94, 177, 251, 142, 93, 181, 255, 237, 25, 81, 77, 193, 159, 0, 46, 169, 7, 71, 217, 83, 213, 82, 244, 169, 5, 41, 246, 212, 113, 41, 121, 246, 12, 244, 49, 124, 161, 191, 58, 105, 235, 3, 205, 252, 213, 139, 182, 12, 232, 174, 191, 250, 223, 108, 177, 103, 174, 66, 183, 95, 85, 83, 53, 176, 21, 206, 138, 106, 94, 20, 125, 153, 103, 158, 149, 250, 158, 126, 86, 77, 93, 122, 86, 165, 216, 212, 174, 239, 220, 85, 74, 202, 159, 147, 90, 209, 63, 253, 191, 197, 115, 244, 125, 151, 98, 253, 46, 147, 227, 189, 227, 183, 128, 237, 173, 117, 127, 235, 87, 55, 147, 79, 157, 147, 198, 129, 141, 98, 114, 201, 243, 176, 31, 158, 189, 204, 236, 7, 138, 231, 245, 46, 94, 214, 200, 166, 234, 126, 226, 111, 152, 253, 208, 115, 150, 231, 168, 174, 221, 53, 127, 161, 244, 17, 93, 252, 47, 10, 197, 255, 186, 79, 220, 81, 74, 158, 16, 37, 42, 163, 228, 252, 198, 90, 9, 238, 73, 157, 127, 221, 70, 113, 147, 190, 243, 183, 152, 222, 201, 156, 127, 203, 198, 213, 85, 64, 153, 75, 42, 215, 232, 84, 185, 146, 37, 149, 43, 61, 165, 114, 101, 143, 171, 85, 14, 155, 32, 87, 218, 5, 95, 149, 32, 56, 79, 86, 8, 145, 199, 36, 161, 243, 180, 83, 224, 29, 21, 162, 181, 82, 18, 109, 85, 78, 81, 68, 25, 187, 96, 63, 136, 14, 155, 42, 86, 218, 85, 177, 74, 80, 67, 37, 54, 123, 123, 169, 221, 30, 46, 19, 236, 20, 59, 10, 149, 172, 176, 120, 84, 123, 233, 10, 137, 200, 141, 112, 217, 10, 215, 82, 46, 114, 173, 53, 21, 92, 219, 162, 196, 33, 63, 135, 252, 28, 242, 115, 2, 218, 163, 131, 236, 135, 177, 234, 92, 25, 120, 94, 0, 191, 83, 76, 223, 142, 177, 65, 49, 124, 21, 227, 129, 98, 0, 165, 24, 27, 20, 247, 87, 49, 14, 252, 176, 39, 20, 92, 167, 56, 73, 11, 206, 91, 145, 183, 13, 233, 33, 228, 111, 71, 158, 48, 238, 239, 64, 57, 126, 200, 85, 5, 121, 123, 127, 137, 188, 244, 141, 18, 139, 163, 136, 244, 13, 16, 104, 185, 17, 71, 129, 44, 100, 113, 20, 167, 17, 71, 129, 92, 99, 113, 20, 200, 21, 22, 71, 129, 76, 97, 113, 20, 197, 136, 163, 180, 24, 113, 148, 86, 35, 142, 2, 31, 143, 197, 81, 66, 70, 28, 165, 221, 136, 163, 132, 13, 155, 167, 195, 189, 68, 241, 17, 13, 99, 132, 98, 36, 20, 55, 105, 129, 124, 176, 194, 7, 164, 248, 8, 197, 76, 90, 33, 31, 108, 240, 11, 43, 129, 157, 226, 37, 109, 144, 11, 37, 240, 21, 157, 168, 7, 197, 74, 66, 144, 41, 118, 235, 36, 228, 73, 5, 139, 147, 180, 67, 166, 148, 90, 167, 33, 51, 36, 22, 35, 9, 67, 110, 8, 214, 67, 144, 45, 78, 166, 191, 59, 32, 95, 202, 172, 115, 208, 147, 20, 159, 25, 211, 254, 59, 116, 24, 233, 71, 146, 93, 100, 91, 129, 55, 21, 146, 105, 121, 216, 86, 29, 214, 35, 104, 35, 154, 235, 123, 8, 109, 54, 141, 182, 155, 68, 27, 234, 126, 42, 201, 56, 146, 37, 45, 227, 186, 156, 215, 109, 173, 151, 63, 172, 153, 152, 207, 213, 78, 44, 228, 174, 231, 114, 134, 172, 249, 242, 243, 206, 24, 228, 45, 104, 180, 91, 127, 47, 31, 59, 59, 47, 198, 207, 47, 136, 93, 23, 206, 136, 137, 75, 231, 196, 30, 240, 149, 229, 216, 186, 141, 198, 154, 101, 241, 103, 182, 94, 162, 103, 255, 212, 102, 57, 255, 184, 234, 185, 112, 78, 8, 94, 122, 82, 104, 126, 98, 69, 232, 123, 250, 138, 148, 126, 234, 138, 154, 60, 127, 69, 205, 63, 254, 184, 175, 112, 229, 10, 179, 15, 50, 240, 7, 18, 24, 143, 44, 174, 240, 204, 207, 173, 44, 166, 112, 250, 150, 45, 13, 154, 62, 253, 22, 243, 77, 250, 78, 191, 99, 227, 142, 29, 87, 57, 216, 106, 220, 217, 83, 106, 207, 137, 121, 33, 117, 114, 65, 232, 125, 236, 184, 64, 223, 191, 208, 119, 47, 244, 189, 11, 125, 51, 221, 14, 191, 158, 190, 49, 13, 47, 46, 115, 244, 13, 115, 199, 137, 101, 238, 238, 85, 254, 90, 235, 249, 125, 92, 219, 83, 7, 184, 208, 233, 73, 142, 222, 61, 134, 23, 15, 113, 29, 39, 230, 184, 8, 248, 56, 98, 216, 90, 172, 45, 143, 144, 173, 245, 250, 122, 196, 49, 166, 253, 75, 180, 11, 125, 127, 220, 58, 158, 147, 218, 198, 143, 72, 161, 241, 121, 137, 236, 44, 171, 241, 29, 108, 254, 148, 124, 141, 124, 251, 150, 221, 11, 106, 100, 247, 113, 181, 115, 55, 240, 193, 214, 160, 116, 242, 121, 41, 47, 191, 41, 175, 7, 118, 65, 203, 30, 228, 221, 131, 188, 123, 244, 188, 148, 110, 230, 109, 120, 48, 239, 224, 130, 42, 0, 67, 100, 16, 249, 7, 151, 212, 40, 250, 52, 102, 157, 215, 226, 214, 5, 173, 203, 122, 156, 217, 72, 13, 17, 253, 126, 154, 147, 64, 247, 200, 177, 104, 238, 44, 238, 145, 105, 62, 97, 52, 154, 132, 47, 207, 230, 21, 210, 156, 53, 210, 147, 110, 228, 39, 90, 31, 211, 169, 55, 33, 228, 67, 83, 57, 137, 248, 175, 17, 126, 86, 219, 193, 156, 218, 120, 108, 94, 34, 254, 235, 66, 189, 90, 247, 227, 252, 232, 17, 41, 190, 123, 158, 233, 131, 36, 48, 21, 114, 186, 157, 28, 219, 125, 68, 237, 30, 156, 87, 227, 139, 199, 181, 230, 197, 17, 33, 49, 120, 68, 13, 157, 88, 144, 130, 199, 178, 2, 179, 243, 198, 95, 86, 218, 78, 204, 73, 158, 163, 113, 246, 238, 32, 60, 126, 83, 137, 142, 30, 146, 90, 79, 28, 145, 104, 158, 104, 251, 248, 41, 37, 120, 248, 144, 234, 57, 122, 72, 165, 252, 225, 197, 151, 21, 150, 239, 240, 77, 165, 121, 116, 154, 229, 9, 31, 69, 158, 225, 105, 213, 211, 53, 173, 182, 192, 190, 172, 155, 224, 3, 177, 137, 156, 84, 152, 158, 102, 24, 20, 252, 223, 190, 56, 173, 181, 131, 126, 153, 203, 249, 60, 19, 113, 41, 56, 145, 149, 154, 39, 70, 112, 191, 180, 209, 68, 243, 36, 136, 14, 243, 129, 38, 162, 163, 124, 128, 218, 186, 222, 240, 29, 242, 71, 168, 15, 111, 173, 123, 118, 79, 171, 193, 221, 135, 212, 166, 221, 115, 172, 95, 40, 157, 124, 32, 202, 75, 49, 66, 51, 175, 140, 54, 246, 236, 65, 222, 61, 200, 187, 71, 207, 75, 233, 102, 94, 239, 131, 121, 7, 145, 119, 16, 121, 7, 245, 188, 148, 206, 250, 11, 182, 41, 245, 87, 2, 125, 69, 247, 89, 113, 157, 40, 223, 169, 211, 134, 46, 33, 79, 177, 136, 35, 24, 215, 110, 142, 115, 135, 166, 226, 232, 27, 216, 50, 251, 227, 170, 50, 158, 144, 60, 221, 113, 246, 45, 51, 139, 127, 117, 125, 100, 133, 47, 161, 125, 25, 141, 218, 105, 158, 159, 63, 246, 145, 149, 226, 50, 141, 160, 212, 175, 145, 174, 33, 137, 242, 5, 112, 78, 253, 26, 239, 78, 176, 184, 82, 50, 22, 149, 218, 173, 253, 144, 19, 42, 228, 197, 0, 227, 39, 43, 173, 235, 1, 59, 164, 19, 215, 163, 184, 30, 195, 117, 175, 117, 136, 165, 241, 70, 90, 23, 210, 18, 72, 235, 70, 154, 219, 72, 107, 64, 26, 141, 159, 130, 96, 203, 113, 78, 138, 243, 8, 144, 109, 100, 111, 74, 144, 89, 21, 144, 121, 181, 144, 131, 213, 144, 101, 1, 200, 55, 63, 116, 4, 217, 220, 54, 200, 55, 17, 242, 210, 9, 25, 72, 177, 228, 160, 118, 252, 255, 213, 125, 158, 235, 246, 68, 142, 135, 111, 88, 130, 50, 108, 200, 71, 122, 132, 116, 75, 25, 202, 19, 80, 94, 57, 202, 18, 113, 159, 19, 247, 85, 162, 236, 48, 238, 35, 123, 222, 10, 219, 157, 135, 173, 254, 141, 247, 65, 191, 80, 222, 50, 180, 255, 47, 149, 31, 101, 211, 247, 158, 30, 245, 23, 197, 239, 61, 69, 119, 173, 156, 175, 229, 175, 145, 189, 159, 240, 220, 128, 173, 94, 171, 121, 57, 61, 157, 230, 210, 149, 149, 90, 184, 106, 248, 109, 123, 6, 126, 193, 230, 155, 209, 61, 21, 245, 62, 187, 84, 47, 15, 184, 255, 248, 147, 180, 228, 245, 48, 234, 240, 6, 237, 31, 127, 47, 249, 105, 105, 21, 5, 186, 41, 190, 37, 67, 70, 7, 53, 115, 206, 0, 205, 159, 45, 240, 62, 237, 227, 239, 113, 28, 237, 95, 64, 115, 220, 36, 142, 171, 164, 242, 42, 155, 132, 107, 5, 222, 175, 253, 27, 164, 73, 141, 62, 46, 143, 255, 105, 110, 34, 210, 165, 79, 191, 199, 190, 61, 118, 46, 225, 156, 190, 65, 166, 249, 54, 213, 156, 235, 99, 169, 137, 103, 243, 12, 105, 205, 34, 162, 63, 243, 229, 184, 178, 6, 95, 238, 45, 95, 32, 82, 53, 235, 209, 164, 38, 95, 14, 126, 18, 122, 241, 171, 33, 246, 140, 89, 191, 86, 209, 232, 145, 87, 125, 190, 164, 195, 43, 75, 5, 159, 63, 247, 99, 60, 207, 202, 165, 63, 173, 172, 112, 112, 31, 2, 187, 84, 6, 236, 104, 35, 202, 175, 251, 45, 30, 205, 55, 206, 226, 112, 21, 215, 107, 125, 44, 38, 70, 243, 125, 245, 57, 115, 175, 174, 215, 162, 30, 228, 171, 144, 190, 42, 179, 202, 192, 156, 255, 192, 58, 104, 125, 223, 195, 85, 124, 226, 40, 229, 56, 115, 254, 142, 104, 204, 223, 57, 98, 121, 233, 67, 169, 222, 159, 187, 205, 7, 152, 238, 98, 223, 134, 59, 237, 249, 130, 44, 51, 127, 142, 230, 219, 83, 255, 23, 208, 118, 127, 2, 108, 212, 70, 240, 187, 42, 11, 104, 199, 63, 52, 206, 209, 188, 85, 198, 28, 228, 26, 106, 227, 115, 104, 23, 252, 207, 124, 51, 154, 111, 80, 103, 124, 39, 159, 1, 182, 180, 225, 143, 57, 58, 34, 176, 171, 223, 254, 220, 229, 42, 201, 211, 247, 111, 142, 239, 91, 184, 73, 96, 161, 241, 227, 66, 219, 213, 117, 78, 115, 214, 206, 40, 147, 181, 12, 23, 198, 46, 249, 69, 180, 190, 79, 109, 73, 72, 163, 181, 125, 106, 215, 106, 127, 155, 213, 207, 246, 210, 207, 106, 109, 55, 127, 70, 253, 90, 159, 132, 159, 157, 76, 74, 114, 34, 165, 186, 18, 73, 213, 27, 79, 169, 117, 241, 164, 234, 137, 166, 212, 218, 104, 82, 165, 241, 74, 235, 247, 208, 120, 150, 155, 114, 197, 117, 124, 60, 220, 123, 27, 158, 82, 142, 119, 131, 186, 65, 61, 85, 113, 205, 93, 21, 213, 126, 55, 30, 167, 185, 227, 201, 35, 192, 237, 129, 14, 40, 68, 163, 57, 142, 187, 206, 85, 116, 196, 115, 174, 88, 132, 173, 175, 69, 109, 230, 65, 61, 10, 225, 48, 107, 179, 255, 211, 104, 51, 147, 207, 168, 207, 104, 109, 37, 211, 151, 21, 235, 41, 78, 74, 109, 19, 209, 92, 110, 189, 109, 28, 104, 155, 73, 203, 71, 31, 126, 189, 206, 37, 249, 138, 206, 20, 91, 239, 137, 11, 64, 126, 162, 13, 10, 17, 180, 221, 166, 190, 97, 105, 120, 206, 63, 174, 245, 228, 104, 93, 188, 138, 242, 58, 254, 166, 199, 19, 169, 166, 117, 244, 74, 244, 247, 158, 21, 150, 113, 206, 131, 118, 189, 206, 17, 253, 243, 13, 90, 95, 207, 11, 202, 199, 120, 154, 147, 147, 251, 7, 120, 230, 63, 64, 93, 221, 240, 123, 197, 88, 180, 149, 214, 195, 251, 199, 213, 167, 108, 38, 47, 153, 241, 90, 15, 189, 15, 50, 98, 182, 247, 124, 47, 125, 254, 8, 199, 249, 113, 52, 226, 8, 224, 104, 194, 17, 196, 209, 140, 67, 193, 209, 130, 163, 21, 71, 219, 251, 33, 238, 165, 79, 100, 47, 207, 21, 248, 180, 70, 223, 110, 20, 172, 214, 247, 11, 124, 70, 163, 32, 91, 161, 52, 140, 255, 251, 53, 170, 223, 245, 106, 53, 181, 90, 61, 144, 42, 84, 15, 165, 62, 131, 1, 189, 86, 157, 77, 221, 168, 30, 73, 249, 128, 205, 90, 189, 98, 107, 0, 13, 87, 95, 181, 249, 217, 249, 115, 182, 219, 170, 154, 11, 115, 182, 79, 2, 240, 117, 130, 218, 157, 155, 225, 229, 119, 110, 172, 14, 13, 36, 35, 184, 22, 196, 53, 5, 215, 34, 203, 127, 112, 35, 138, 243, 102, 156, 183, 226, 60, 186, 252, 163, 27, 113, 200, 20, 174, 73, 143, 53, 199, 151, 223, 184, 1, 219, 232, 19, 174, 138, 124, 199, 59, 55, 19, 203, 183, 110, 192, 118, 250, 132, 43, 163, 121, 48, 119, 110, 38, 151, 223, 188, 1, 155, 236, 19, 174, 196, 194, 249, 113, 158, 90, 126, 235, 6, 108, 170, 79, 56, 171, 133, 11, 224, 60, 189, 252, 246, 141, 85, 248, 215, 171, 240, 171, 87, 251, 251, 147, 33, 229, 199, 108, 188, 125, 137, 241, 22, 114, 125, 245, 194, 17, 203, 91, 31, 134, 208, 47, 238, 94, 158, 115, 244, 14, 229, 174, 87, 103, 251, 89, 95, 7, 104, 143, 129, 74, 166, 227, 232, 155, 184, 219, 67, 239, 112, 205, 232, 203, 166, 166, 18, 158, 214, 84, 165, 120, 23, 201, 149, 230, 26, 125, 79, 148, 160, 177, 238, 127, 41, 18, 94, 25, 162, 53, 90, 31, 216, 59, 229, 129, 124, 126, 36, 124, 109, 127, 149, 7, 242, 52, 32, 129, 214, 116, 213, 247, 34, 208, 243, 52, 213, 232, 123, 69, 23, 215, 35, 71, 2, 195, 11, 126, 139, 163, 110, 108, 189, 186, 171, 191, 248, 20, 162, 133, 173, 39, 239, 71, 135, 19, 109, 64, 167, 19, 133, 211, 214, 82, 144, 246, 21, 215, 55, 108, 5, 19, 208, 250, 134, 200, 255, 141, 235, 201, 151, 226, 89, 68, 253, 65, 157, 18, 62, 162, 180, 22, 172, 137, 33, 180, 105, 253, 213, 111, 194, 96, 174, 107, 72, 24, 104, 93, 195, 29, 195, 176, 105, 253, 213, 111, 194, 96, 174, 103, 72, 24, 104, 61, 195, 29, 195, 176, 105, 253, 213, 111, 194, 96, 174, 99, 72, 24, 104, 29, 195, 29, 195, 176, 105, 253, 213, 111, 194, 96, 174, 95, 72, 24, 104, 253, 194, 95, 21, 67, 8, 114, 208, 196, 81, 24, 72, 23, 215, 95, 197, 243, 26, 48, 180, 136, 6, 112, 16, 79, 179, 253, 5, 26, 119, 101, 50, 190, 221, 233, 12, 240, 225, 218, 255, 206, 53, 244, 165, 217, 55, 241, 254, 193, 140, 113, 237, 159, 113, 190, 93, 233, 148, 127, 47, 242, 129, 250, 186, 19, 217, 235, 201, 100, 238, 237, 84, 42, 247, 175, 225, 31, 146, 78, 206, 71, 72, 231, 190, 182, 238, 232, 77, 230, 68, 203, 141, 15, 170, 225, 223, 208, 154, 137, 71, 44, 175, 125, 232, 238, 189, 241, 252, 245, 234, 84, 113, 108, 203, 178, 200, 198, 246, 237, 100, 146, 163, 239, 185, 101, 26, 215, 91, 140, 179, 122, 99, 156, 81, 93, 41, 142, 183, 154, 220, 122, 60, 154, 249, 252, 72, 88, 251, 134, 60, 180, 87, 200, 141, 100, 50, 149, 79, 138, 207, 203, 70, 30, 185, 38, 153, 144, 41, 79, 143, 158, 199, 135, 4, 134, 21, 237, 231, 130, 93, 68, 235, 81, 122, 238, 31, 223, 108, 157, 60, 180, 13, 235, 87, 244, 39, 91, 47, 30, 109, 218, 92, 144, 190, 190, 191, 0, 242, 179, 245, 226, 229, 222, 36, 235, 207, 166, 241, 212, 215, 214, 139, 47, 197, 51, 137, 250, 235, 117, 74, 56, 137, 210, 94, 38, 15, 98, 145, 77, 44, 250, 56, 223, 22, 139, 57, 206, 9, 139, 49, 206, 119, 20, 139, 207, 196, 162, 143, 247, 109, 177, 152, 227, 157, 176, 24, 227, 125, 71, 177, 248, 77, 44, 250, 184, 223, 22, 139, 57, 238, 9, 139, 49, 238, 119, 20, 75, 192, 196, 162, 143, 255, 109, 177, 152, 227, 159, 176, 24, 227, 127, 199, 176, 20, 6, 146, 108, 252, 87, 0, 11, 61, 3, 183, 177, 125, 217, 65, 101, 86, 54, 124, 36, 202, 47, 195, 199, 162, 24, 114, 16, 231, 245, 214, 44, 254, 79, 105, 46, 230, 39, 100, 97, 235, 144, 189, 67, 239, 169, 105, 175, 1, 92, 199, 120, 111, 236, 73, 26, 123, 13, 188, 200, 53, 247, 166, 50, 192, 154, 2, 20, 156, 255, 144, 171, 223, 155, 50, 214, 74, 254, 61, 182, 215, 0, 165, 53, 245, 36, 83, 50, 151, 221, 144, 97, 107, 224, 217, 27, 249, 100, 142, 243, 246, 36, 114, 181, 158, 175, 94, 88, 229, 147, 201, 55, 7, 147, 108, 141, 228, 251, 236, 251, 234, 181, 231, 107, 225, 247, 144, 173, 69, 251, 13, 120, 145, 78, 235, 135, 18, 165, 124, 28, 111, 125, 223, 5, 123, 163, 12, 13, 70, 118, 84, 25, 236, 142, 90, 216, 21, 180, 54, 80, 72, 121, 119, 189, 32, 37, 138, 251, 16, 224, 22, 182, 207, 0, 61, 147, 214, 138, 47, 197, 5, 154, 171, 69, 101, 211, 90, 242, 56, 149, 41, 157, 210, 188, 0, 184, 25, 71, 152, 202, 134, 141, 67, 101, 211, 186, 95, 97, 229, 15, 245, 178, 199, 57, 142, 246, 36, 192, 189, 197, 178, 35, 40, 243, 237, 113, 214, 135, 94, 90, 155, 139, 174, 83, 221, 232, 121, 155, 203, 140, 80, 153, 176, 163, 204, 50, 35, 180, 222, 61, 202, 52, 247, 39, 216, 92, 166, 185, 222, 61, 149, 185, 121, 189, 251, 7, 203, 140, 82, 153, 176, 213, 204, 50, 163, 202, 251, 172, 76, 115, 175, 130, 205, 101, 210, 26, 99, 38, 78, 90, 95, 140, 174, 111, 133, 51, 78, 101, 194, 30, 52, 203, 140, 43, 255, 132, 149, 105, 238, 91, 176, 185, 76, 90, 71, 205, 196, 153, 48, 202, 216, 10, 103, 130, 202, 28, 188, 87, 102, 66, 249, 167, 172, 76, 115, 15, 131, 205, 101, 210, 26, 105, 38, 78, 115, 141, 180, 173, 112, 38, 169, 204, 235, 247, 202, 76, 42, 127, 196, 202, 52, 247, 51, 216, 92, 38, 173, 241, 102, 226, 164, 181, 216, 232, 250, 86, 56, 243, 156, 245, 253, 20, 149, 139, 140, 102, 185, 41, 229, 79, 88, 185, 230, 254, 6, 155, 203, 77, 111, 194, 154, 54, 202, 217, 10, 43, 103, 177, 190, 159, 126, 160, 220, 180, 242, 83, 29, 175, 177, 223, 193, 230, 114, 51, 155, 240, 102, 140, 114, 182, 194, 171, 251, 39, 63, 133, 127, 66, 190, 137, 62, 63, 205, 60, 232, 61, 224, 42, 159, 74, 46, 43, 255, 199, 122, 70, 251, 233, 205, 70, 203, 218, 7, 253, 25, 221, 6, 31, 32, 27, 188, 7, 54, 120, 207, 118, 54, 56, 111, 49, 109, 240, 87, 134, 198, 34, 171, 99, 185, 212, 218, 216, 190, 212, 141, 177, 49, 102, 71, 183, 209, 152, 134, 46, 109, 171, 57, 144, 160, 245, 37, 130, 198, 94, 5, 165, 72, 200, 231, 30, 158, 238, 167, 244, 125, 15, 79, 167, 61, 86, 105, 191, 214, 205, 233, 180, 255, 151, 153, 190, 89, 222, 121, 54, 173, 49, 142, 182, 98, 107, 220, 67, 230, 50, 89, 11, 153, 219, 78, 20, 50, 55, 92, 144, 230, 138, 58, 186, 131, 227, 58, 12, 29, 221, 73, 50, 183, 109, 234, 0, 147, 185, 193, 195, 217, 52, 237, 169, 73, 101, 135, 143, 77, 235, 50, 23, 32, 136, 22, 109, 174, 144, 78, 125, 237, 247, 48, 12, 201, 134, 221, 167, 235, 230, 109, 49, 152, 186, 153, 48, 24, 186, 121, 103, 48, 248, 12, 12, 186, 78, 222, 22, 131, 169, 147, 9, 131, 161, 147, 119, 6, 131, 223, 192, 160, 235, 226, 109, 49, 152, 186, 152, 48, 24, 186, 120, 103, 48, 4, 12, 12, 186, 14, 222, 22, 131, 169, 131, 9, 131, 161, 131, 127, 37, 12, 67, 155, 198, 101, 97, 32, 91, 180, 193, 145, 181, 141, 244, 47, 104, 251, 63, 28, 202, 178, 245, 195, 137, 159, 173, 89, 158, 231, 135, 179, 185, 213, 108, 150, 173, 9, 142, 244, 32, 237, 165, 115, 123, 100, 36, 199, 214, 154, 230, 129, 101, 116, 36, 67, 251, 19, 210, 252, 14, 26, 11, 161, 137, 92, 166, 121, 2, 126, 236, 190, 123, 215, 8, 107, 187, 121, 125, 204, 246, 60, 108, 10, 118, 61, 60, 62, 150, 105, 30, 31, 73, 209, 24, 110, 182, 180, 216, 8, 91, 243, 112, 54, 75, 107, 50, 81, 204, 38, 72, 99, 221, 192, 59, 0, 157, 108, 174, 247, 13, 157, 222, 212, 120, 208, 220, 103, 12, 186, 126, 106, 36, 19, 28, 53, 247, 247, 251, 33, 215, 60, 179, 249, 252, 247, 184, 230, 89, 253, 156, 202, 15, 238, 29, 98, 235, 125, 211, 62, 124, 180, 39, 4, 205, 3, 122, 27, 126, 195, 47, 30, 240, 25, 82, 240, 23, 72, 14, 57, 32, 235, 232, 62, 146, 61, 94, 111, 101, 62, 99, 200, 37, 146, 65, 16, 117, 27, 183, 19, 119, 184, 106, 218, 247, 160, 58, 201, 246, 88, 37, 223, 193, 251, 16, 223, 65, 134, 189, 255, 74, 194, 216, 23, 122, 11, 63, 95, 134, 159, 79, 123, 69, 147, 108, 49, 219, 72, 169, 25, 75, 208, 90, 41, 242, 56, 207, 211, 190, 209, 249, 172, 248, 60, 250, 129, 165, 5, 107, 178, 204, 71, 144, 135, 117, 185, 83, 244, 191, 80, 48, 209, 6, 20, 66, 116, 179, 239, 48, 96, 216, 130, 15, 200, 37, 102, 3, 130, 15, 153, 77, 8, 62, 100, 62, 33, 248, 80, 41, 72, 185, 162, 92, 66, 127, 182, 24, 114, 169, 141, 248, 208, 244, 5, 229, 137, 100, 154, 108, 64, 122, 6, 249, 132, 244, 204, 34, 22, 60, 155, 232, 230, 61, 231, 30, 196, 34, 155, 88, 116, 249, 180, 45, 22, 83, 62, 17, 22, 67, 62, 237, 40, 22, 159, 137, 69, 151, 83, 219, 98, 49, 229, 20, 97, 49, 228, 212, 142, 98, 241, 155, 88, 116, 121, 181, 45, 22, 83, 94, 17, 22, 67, 94, 237, 40, 150, 128, 137, 69, 151, 91, 219, 98, 49, 229, 22, 97, 49, 228, 214, 142, 97, 49, 125, 135, 48, 176, 208, 51, 144, 221, 244, 29, 154, 95, 73, 36, 35, 255, 16, 230, 46, 219, 255, 32, 185, 47, 101, 238, 23, 221, 102, 140, 201, 33, 206, 246, 73, 171, 197, 2, 127, 124, 95, 138, 159, 200, 229, 110, 31, 56, 144, 131, 120, 196, 88, 42, 179, 144, 188, 34, 31, 124, 117, 211, 190, 210, 36, 223, 104, 127, 213, 224, 212, 129, 140, 158, 239, 39, 150, 124, 210, 198, 246, 63, 104, 158, 74, 22, 175, 181, 30, 220, 151, 82, 144, 71, 222, 159, 76, 181, 49, 159, 130, 230, 251, 232, 242, 12, 117, 205, 234, 123, 29, 144, 207, 66, 115, 109, 76, 191, 133, 246, 91, 29, 210, 6, 96, 239, 212, 245, 192, 241, 128, 188, 147, 33, 95, 72, 174, 152, 117, 165, 125, 14, 60, 176, 193, 54, 201, 61, 111, 227, 222, 164, 225, 199, 188, 168, 251, 49, 123, 225, 199, 176, 243, 31, 178, 253, 84, 209, 108, 248, 255, 247, 184, 224, 120, 150, 165, 5, 129, 135, 225, 48, 246, 124, 161, 125, 10, 73, 206, 145, 93, 166, 99, 33, 187, 108, 72, 147, 97, 139, 81, 156, 251, 46, 158, 69, 114, 143, 201, 185, 189, 60, 87, 183, 55, 11, 251, 107, 164, 104, 127, 5, 131, 58, 70, 122, 206, 237, 236, 29, 78, 65, 93, 131, 237, 144, 119, 91, 200, 172, 102, 200, 44, 234, 195, 82, 36, 188, 150, 37, 185, 183, 181, 108, 51, 243, 249, 145, 240, 48, 249, 103, 230, 33, 153, 182, 149, 28, 36, 125, 213, 108, 200, 193, 251, 237, 175, 159, 234, 124, 171, 203, 57, 166, 103, 193, 183, 44, 214, 5, 190, 101, 123, 157, 131, 111, 91, 11, 210, 129, 162, 156, 131, 10, 109, 51, 228, 92, 59, 241, 45, 116, 7, 227, 91, 226, 85, 138, 117, 81, 217, 180, 255, 16, 61, 171, 20, 207, 34, 250, 53, 153, 11, 6, 50, 49, 100, 238, 183, 191, 182, 197, 96, 202, 55, 194, 96, 200, 183, 157, 193, 112, 191, 253, 181, 45, 6, 83, 174, 17, 6, 67, 174, 237, 12, 134, 251, 237, 175, 109, 49, 152, 242, 140, 48, 24, 242, 108, 103, 48, 220, 111, 127, 109, 139, 193, 148, 99, 132, 193, 144, 99, 191, 18, 6, 211, 79, 34, 28, 15, 216, 95, 205, 36, 195, 64, 91, 112, 128, 167, 95, 212, 99, 160, 176, 173, 104, 28, 163, 8, 92, 131, 93, 51, 172, 219, 48, 202, 196, 136, 113, 13, 227, 28, 118, 141, 178, 95, 183, 111, 130, 102, 12, 116, 104, 40, 87, 94, 184, 223, 158, 169, 219, 155, 100, 123, 172, 86, 99, 60, 232, 49, 208, 183, 62, 116, 239, 165, 24, 232, 80, 113, 108, 203, 178, 62, 182, 41, 6, 74, 251, 39, 203, 52, 174, 183, 24, 103, 77, 166, 189, 129, 132, 215, 88, 12, 116, 235, 241, 104, 230, 35, 91, 116, 237, 27, 242, 144, 188, 127, 88, 12, 180, 105, 139, 24, 104, 6, 242, 145, 244, 146, 7, 190, 35, 235, 207, 95, 163, 29, 99, 98, 145, 77, 44, 191, 70, 59, 198, 196, 226, 51, 177, 252, 26, 237, 24, 19, 139, 223, 196, 242, 107, 180, 99, 76, 44, 1, 19, 203, 175, 209, 142, 33, 44, 166, 29, 67, 229, 35, 107, 209, 134, 161, 114, 155, 88, 204, 115, 136, 197, 64, 205, 125, 57, 40, 222, 162, 219, 12, 166, 253, 64, 246, 196, 144, 70, 50, 133, 226, 158, 186, 60, 120, 145, 83, 246, 62, 96, 19, 192, 70, 0, 4, 252, 207, 100, 69, 209, 38, 120, 88, 220, 243, 205, 193, 123, 54, 130, 137, 119, 219, 152, 167, 203, 140, 109, 234, 177, 162, 237, 98, 155, 122, 29, 182, 142, 109, 210, 255, 244, 44, 51, 246, 20, 54, 203, 27, 255, 122, 60, 147, 202, 49, 99, 90, 166, 76, 37, 220, 244, 12, 250, 127, 115, 57, 17, 163, 156, 173, 98, 152, 84, 206, 195, 98, 88, 244, 255, 230, 114, 162, 70, 57, 91, 197, 45, 191, 13, 158, 184, 81, 206, 86, 177, 202, 111, 131, 39, 97, 148, 179, 85, 124, 242, 219, 224, 73, 26, 229, 108, 21, 147, 252, 54, 120, 82, 70, 57, 91, 197, 32, 191, 13, 158, 157, 138, 57, 18, 159, 109, 21, 111, 36, 27, 215, 111, 248, 246, 166, 47, 95, 183, 109, 140, 241, 142, 254, 158, 31, 186, 240, 181, 223, 216, 24, 227, 189, 125, 86, 209, 54, 219, 198, 148, 76, 29, 72, 49, 37, 67, 7, 238, 72, 92, 107, 224, 55, 32, 198, 56, 112, 191, 141, 187, 45, 6, 83, 231, 17, 6, 67, 231, 237, 12, 134, 223, 128, 24, 227, 192, 175, 49, 198, 72, 49, 53, 19, 199, 195, 98, 140, 191, 253, 13, 49, 198, 12, 100, 192, 223, 119, 140, 209, 177, 69, 140, 49, 243, 247, 16, 99, 36, 57, 101, 198, 24, 255, 253, 3, 49, 198, 62, 67, 14, 213, 65, 182, 209, 125, 36, 123, 30, 22, 99, 124, 45, 145, 140, 232, 113, 198, 33, 182, 191, 42, 217, 231, 222, 109, 236, 243, 213, 36, 218, 97, 139, 24, 99, 19, 197, 24, 147, 91, 251, 216, 77, 240, 177, 111, 36, 115, 41, 146, 91, 102, 187, 182, 212, 228, 88, 236, 178, 105, 66, 151, 59, 15, 245, 111, 80, 87, 86, 7, 180, 35, 197, 46, 200, 214, 122, 72, 140, 145, 217, 88, 224, 67, 230, 115, 129, 15, 91, 104, 190, 137, 41, 151, 104, 190, 137, 33, 151, 118, 100, 206, 139, 137, 229, 33, 49, 198, 45, 177, 152, 242, 137, 176, 24, 242, 105, 71, 177, 60, 36, 198, 184, 37, 22, 83, 78, 17, 22, 67, 78, 237, 40, 150, 135, 196, 24, 183, 196, 98, 202, 43, 194, 98, 200, 171, 29, 197, 242, 144, 24, 227, 150, 88, 76, 185, 69, 88, 12, 185, 181, 99, 88, 10, 3, 67, 76, 110, 117, 2, 11, 61, 3, 183, 5, 73, 118, 129, 42, 191, 157, 24, 42, 198, 23, 105, 92, 88, 135, 140, 248, 34, 198, 226, 125, 241, 197, 189, 67, 91, 199, 23, 135, 134, 152, 156, 67, 89, 77, 36, 219, 130, 7, 247, 101, 154, 183, 136, 47, 42, 15, 196, 23, 91, 30, 22, 95, 220, 155, 204, 146, 175, 96, 250, 9, 180, 6, 247, 55, 197, 27, 29, 191, 193, 241, 70, 199, 47, 19, 111, 236, 130, 220, 219, 66, 126, 153, 49, 66, 138, 55, 190, 241, 40, 222, 104, 202, 186, 109, 49, 152, 178, 142, 48, 24, 178, 110, 103, 48, 220, 111, 139, 109, 139, 193, 148, 113, 132, 193, 144, 113, 59, 131, 225, 81, 188, 241, 97, 182, 216, 223, 123, 188, 209, 241, 119, 137, 55, 210, 184, 126, 136, 61, 67, 117, 98, 117, 125, 20, 111, 44, 98, 121, 20, 111, 220, 26, 203, 163, 120, 227, 215, 177, 60, 138, 55, 62, 138, 55, 62, 138, 55, 126, 189, 156, 95, 71, 188, 113, 251, 57, 141, 70, 188, 17, 186, 240, 141, 71, 241, 70, 70, 183, 140, 113, 61, 138, 55, 234, 24, 30, 197, 27, 139, 227, 240, 97, 241, 198, 223, 249, 13, 136, 55, 110, 53, 167, 241, 255, 239, 120, 227, 175, 52, 167, 145, 108, 243, 135, 204, 105, 124, 227, 209, 156, 198, 175, 97, 121, 52, 167, 113, 107, 44, 143, 230, 52, 126, 29, 139, 105, 155, 111, 53, 167, 241, 141, 68, 50, 242, 59, 15, 155, 211, 136, 49, 249, 104, 78, 227, 61, 255, 225, 193, 24, 35, 44, 26, 60, 55, 255, 193, 175, 52, 183, 177, 15, 114, 111, 11, 217, 101, 198, 7, 41, 214, 248, 230, 163, 88, 163, 41, 231, 182, 197, 96, 202, 57, 194, 96, 200, 185, 157, 193, 240, 40, 214, 168, 99, 248, 95, 52, 214, 248, 119, 154, 219, 72, 227, 122, 139, 113, 102, 198, 7, 169, 174, 111, 62, 138, 53, 22, 177, 60, 138, 53, 110, 141, 229, 81, 172, 241, 235, 88, 254, 231, 139, 53, 254, 152, 197, 136, 182, 139, 53, 134, 88, 29, 126, 217, 88, 163, 81, 222, 248, 215, 99, 141, 84, 142, 25, 187, 10, 25, 56, 9, 55, 61, 131, 254, 223, 92, 78, 196, 40, 103, 171, 88, 35, 149, 99, 198, 174, 204, 114, 76, 172, 244, 255, 230, 114, 162, 70, 57, 91, 197, 26, 191, 13, 30, 90, 111, 134, 202, 217, 42, 214, 248, 109, 240, 36, 140, 114, 182, 138, 53, 126, 27, 60, 73, 163, 156, 173, 98, 141, 223, 6, 79, 202, 40, 103, 171, 88, 227, 183, 193, 147, 86, 94, 215, 241, 108, 17, 107, 164, 117, 13, 76, 60, 180, 150, 1, 93, 55, 241, 108, 230, 87, 221, 198, 213, 215, 16, 167, 53, 149, 201, 190, 53, 15, 143, 97, 231, 234, 241, 198, 215, 62, 116, 145, 157, 219, 13, 59, 183, 59, 9, 59, 119, 179, 46, 212, 215, 58, 161, 241, 113, 59, 57, 95, 212, 135, 111, 38, 71, 34, 171, 35, 99, 169, 181, 145, 92, 234, 198, 8, 252, 121, 232, 180, 86, 26, 67, 208, 87, 173, 53, 251, 18, 173, 164, 175, 246, 235, 250, 170, 20, 9, 100, 203, 62, 44, 221, 79, 233, 185, 135, 167, 55, 80, 250, 200, 253, 233, 20, 79, 48, 211, 55, 207, 39, 242, 40, 127, 168, 203, 53, 93, 15, 182, 146, 28, 131, 92, 99, 242, 13, 114, 45, 68, 20, 114, 173, 189, 32, 29, 42, 234, 193, 48, 220, 41, 67, 15, 70, 72, 174, 193, 159, 97, 114, 173, 105, 118, 40, 29, 58, 124, 128, 201, 53, 138, 51, 209, 179, 168, 46, 68, 105, 173, 22, 162, 20, 11, 37, 234, 131, 51, 100, 98, 136, 220, 111, 231, 110, 139, 193, 212, 127, 132, 193, 208, 127, 59, 131, 225, 126, 59, 119, 91, 12, 166, 222, 35, 12, 134, 222, 219, 25, 12, 247, 219, 185, 219, 98, 48, 245, 29, 97, 48, 244, 221, 206, 96, 184, 223, 206, 221, 22, 131, 169, 231, 8, 131, 161, 231, 126, 37, 12, 230, 250, 25, 132, 195, 156, 39, 68, 229, 35, 107, 43, 233, 57, 208, 208, 239, 38, 245, 57, 66, 196, 207, 52, 63, 136, 230, 2, 109, 158, 247, 227, 130, 28, 184, 157, 205, 22, 227, 141, 173, 195, 217, 204, 230, 24, 98, 219, 248, 24, 217, 198, 41, 138, 65, 154, 215, 8, 107, 200, 188, 62, 98, 43, 198, 217, 218, 201, 142, 38, 251, 24, 99, 56, 104, 248, 231, 20, 15, 116, 224, 153, 228, 127, 55, 209, 88, 55, 240, 186, 238, 143, 55, 202, 141, 251, 77, 253, 249, 34, 23, 60, 152, 205, 64, 159, 162, 28, 58, 255, 33, 23, 156, 218, 124, 14, 253, 58, 163, 159, 83, 249, 77, 61, 73, 221, 239, 134, 0, 33, 89, 117, 61, 30, 207, 189, 157, 72, 60, 100, 126, 227, 107, 31, 214, 117, 123, 138, 241, 198, 138, 10, 49, 111, 202, 37, 146, 65, 21, 40, 255, 182, 103, 158, 123, 211, 19, 142, 84, 99, 156, 95, 175, 142, 176, 249, 141, 110, 212, 167, 130, 108, 244, 168, 248, 60, 237, 83, 67, 117, 117, 215, 68, 19, 110, 180, 169, 43, 198, 243, 171, 97, 125, 77, 118, 90, 51, 143, 210, 60, 53, 241, 4, 173, 137, 231, 234, 226, 249, 181, 112, 34, 149, 79, 136, 207, 67, 116, 178, 52, 111, 77, 34, 225, 165, 180, 110, 158, 191, 17, 254, 186, 29, 238, 162, 52, 195, 14, 47, 197, 195, 136, 250, 81, 48, 209, 6, 20, 66, 212, 231, 218, 196, 127, 134, 189, 229, 81, 222, 219, 44, 151, 92, 196, 119, 224, 67, 15, 81, 240, 161, 151, 40, 248, 80, 46, 72, 67, 69, 185, 68, 253, 111, 200, 165, 102, 226, 67, 182, 70, 33, 250, 214, 179, 55, 154, 246, 14, 199, 25, 31, 202, 163, 9, 157, 15, 241, 76, 162, 126, 3, 83, 131, 129, 201, 7, 76, 15, 98, 161, 253, 86, 24, 22, 93, 62, 109, 139, 197, 148, 79, 132, 197, 144, 79, 59, 138, 133, 246, 249, 97, 88, 116, 57, 181, 45, 22, 83, 78, 17, 22, 67, 78, 237, 40, 22, 191, 137, 69, 151, 87, 219, 98, 49, 229, 21, 97, 49, 228, 213, 142, 98, 9, 152, 88, 116, 185, 181, 45, 22, 83, 110, 17, 22, 67, 110, 237, 24, 150, 194, 64, 132, 201, 45, 242, 149, 233, 25, 184, 205, 77, 178, 11, 212, 251, 187, 158, 136, 30, 107, 12, 167, 83, 52, 46, 172, 17, 158, 111, 48, 198, 162, 204, 217, 62, 241, 89, 44, 220, 26, 210, 248, 206, 72, 238, 118, 38, 147, 3, 126, 140, 163, 243, 92, 62, 109, 123, 254, 70, 56, 156, 90, 141, 68, 152, 156, 67, 89, 46, 146, 109, 238, 93, 233, 140, 103, 183, 185, 102, 219, 79, 44, 249, 176, 30, 107, 244, 238, 14, 23, 175, 209, 250, 109, 50, 242, 212, 245, 133, 83, 13, 29, 225, 84, 29, 158, 87, 103, 200, 178, 186, 206, 116, 150, 246, 156, 242, 88, 163, 154, 215, 26, 215, 100, 216, 61, 180, 38, 20, 173, 105, 68, 246, 54, 217, 64, 250, 222, 69, 228, 59, 164, 181, 8, 108, 45, 71, 95, 152, 201, 190, 58, 200, 26, 146, 49, 102, 189, 245, 216, 227, 171, 155, 99, 143, 21, 141, 61, 225, 12, 176, 2, 199, 139, 28, 218, 54, 83, 215, 25, 70, 189, 233, 252, 135, 156, 171, 43, 146, 65, 83, 226, 255, 223, 227, 220, 221, 81, 150, 230, 6, 62, 134, 203, 235, 209, 101, 32, 4, 24, 201, 60, 125, 189, 80, 15, 179, 199, 42, 140, 245, 84, 253, 120, 14, 173, 75, 90, 81, 31, 206, 121, 56, 241, 147, 10, 180, 221, 237, 176, 185, 159, 75, 252, 179, 186, 58, 218, 251, 63, 254, 25, 173, 177, 74, 235, 19, 191, 18, 14, 199, 111, 135, 163, 108, 45, 209, 87, 34, 145, 56, 225, 112, 119, 158, 226, 234, 58, 69, 200, 211, 55, 214, 165, 142, 112, 78, 66, 187, 211, 158, 48, 122, 253, 232, 254, 39, 63, 115, 129, 210, 218, 202, 230, 30, 31, 255, 190, 160, 175, 59, 186, 121, 93, 83, 29, 223, 189, 181, 94, 169, 45, 8, 27, 97, 209, 215, 122, 213, 113, 208, 26, 167, 244, 124, 90, 167, 212, 101, 25, 228, 43, 240, 60, 29, 111, 26, 233, 246, 188, 181, 35, 201, 246, 170, 160, 60, 180, 254, 177, 140, 123, 204, 117, 85, 255, 171, 241, 92, 83, 223, 208, 243, 61, 250, 243, 235, 2, 224, 109, 194, 65, 125, 95, 215, 33, 75, 58, 158, 168, 230, 54, 240, 220, 129, 174, 160, 253, 120, 173, 177, 120, 110, 45, 30, 47, 174, 175, 234, 241, 148, 228, 107, 75, 236, 90, 77, 73, 156, 173, 41, 107, 65, 251, 90, 109, 47, 255, 204, 131, 255, 105, 93, 89, 122, 86, 99, 42, 45, 213, 167, 50, 146, 63, 153, 86, 229, 100, 70, 109, 72, 164, 85, 111, 34, 163, 250, 226, 105, 213, 19, 7, 229, 86, 55, 124, 155, 214, 146, 109, 192, 121, 67, 227, 136, 205, 199, 189, 183, 225, 43, 229, 192, 223, 239, 109, 52, 128, 250, 170, 210, 26, 173, 183, 219, 80, 149, 209, 94, 72, 167, 147, 13, 125, 233, 156, 43, 150, 201, 73, 160, 171, 233, 254, 220, 245, 180, 154, 251, 126, 122, 160, 216, 127, 13, 108, 127, 236, 248, 103, 126, 191, 78, 27, 27, 117, 234, 107, 210, 105, 32, 96, 207, 211, 250, 247, 133, 76, 38, 85, 40, 160, 242, 187, 178, 57, 234, 231, 38, 238, 71, 27, 77, 123, 158, 179, 81, 27, 250, 185, 119, 55, 26, 119, 175, 218, 104, 159, 40, 218, 91, 129, 226, 233, 5, 94, 5, 31, 113, 73, 90, 7, 141, 252, 96, 242, 141, 105, 127, 192, 124, 127, 78, 9, 112, 47, 125, 18, 152, 224, 185, 164, 229, 213, 15, 11, 169, 28, 91, 11, 92, 199, 115, 231, 243, 96, 107, 89, 62, 160, 188, 189, 238, 215, 222, 186, 185, 204, 173, 125, 16, 128, 173, 230, 30, 36, 222, 121, 123, 221, 58, 56, 157, 59, 138, 62, 95, 155, 158, 102, 123, 230, 180, 183, 235, 123, 173, 120, 102, 166, 5, 239, 236, 33, 65, 62, 60, 39, 116, 28, 158, 167, 125, 169, 213, 246, 153, 121, 53, 200, 9, 31, 119, 214, 243, 108, 77, 249, 252, 127, 122, 145, 139, 45, 211, 222, 147, 47, 114, 154, 237, 199, 235, 161, 224, 87, 55, 111, 123, 196, 231, 7, 80, 222, 178, 242, 238, 122, 156, 210, 58, 111, 114, 205, 56, 15, 208, 255, 214, 23, 57, 170, 127, 60, 174, 239, 147, 18, 7, 47, 197, 137, 151, 78, 46, 129, 207, 238, 124, 30, 143, 151, 177, 235, 173, 39, 247, 9, 109, 143, 29, 16, 66, 167, 39, 133, 208, 212, 164, 212, 118, 112, 82, 165, 189, 188, 90, 247, 191, 99, 115, 28, 172, 184, 6, 51, 12, 207, 254, 137, 37, 54, 56, 128, 231, 190, 179, 30, 4, 159, 20, 14, 24, 123, 251, 204, 30, 208, 28, 7, 15, 56, 105, 143, 159, 47, 113, 237, 238, 129, 3, 50, 237, 51, 217, 134, 54, 163, 245, 254, 85, 235, 62, 182, 239, 37, 237, 99, 114, 151, 223, 199, 214, 243, 166, 253, 45, 243, 7, 214, 158, 15, 195, 223, 47, 204, 79, 178, 114, 104, 93, 95, 218, 55, 156, 246, 54, 170, 155, 250, 185, 149, 246, 67, 10, 77, 205, 75, 173, 199, 246, 73, 45, 71, 115, 246, 150, 217, 156, 214, 58, 145, 115, 182, 204, 12, 169, 45, 179, 35, 106, 203, 225, 49, 181, 113, 74, 181, 83, 89, 109, 120, 6, 249, 127, 180, 103, 10, 149, 31, 194, 181, 168, 53, 167, 209, 30, 154, 228, 163, 81, 29, 245, 253, 84, 112, 13, 105, 249, 125, 107, 207, 211, 158, 122, 180, 135, 103, 62, 183, 246, 124, 96, 255, 0, 119, 19, 99, 134, 246, 149, 42, 128, 191, 86, 1, 168, 0, 254, 186, 206, 104, 54, 151, 103, 116, 58, 247, 125, 80, 106, 79, 147, 207, 136, 175, 136, 6, 217, 190, 237, 113, 244, 165, 157, 201, 143, 32, 248, 42, 56, 120, 143, 175, 2, 187, 127, 84, 228, 171, 32, 240, 153, 241, 150, 124, 255, 152, 18, 24, 127, 137, 241, 5, 241, 202, 185, 175, 241, 202, 88, 238, 8, 218, 101, 109, 108, 140, 241, 138, 82, 228, 149, 49, 240, 202, 52, 120, 229, 144, 16, 158, 157, 147, 218, 103, 230, 84, 101, 124, 142, 241, 74, 7, 120, 133, 246, 33, 32, 94, 137, 178, 58, 222, 207, 43, 180, 215, 24, 241, 10, 227, 35, 240, 74, 19, 206, 55, 243, 74, 44, 166, 243, 74, 12, 188, 18, 35, 94, 57, 113, 156, 241, 74, 44, 102, 240, 202, 137, 227, 66, 219, 201, 37, 33, 244, 216, 41, 161, 235, 177, 83, 82, 252, 228, 41, 53, 118, 226, 148, 234, 120, 172, 226, 26, 237, 119, 64, 124, 18, 221, 204, 39, 167, 22, 88, 255, 70, 103, 23, 52, 199, 226, 130, 51, 186, 184, 160, 125, 185, 176, 96, 191, 187, 176, 32, 211, 190, 165, 93, 214, 5, 182, 47, 41, 241, 72, 20, 60, 115, 151, 95, 64, 63, 29, 103, 227, 140, 241, 201, 113, 131, 79, 230, 230, 138, 124, 210, 177, 56, 167, 209, 30, 91, 117, 135, 193, 39, 115, 115, 190, 142, 195, 75, 82, 244, 228, 2, 248, 228, 136, 61, 50, 123, 68, 139, 30, 61, 226, 140, 140, 15, 169, 145, 153, 172, 26, 1, 175, 52, 30, 214, 249, 36, 102, 157, 54, 248, 100, 90, 139, 162, 124, 226, 147, 78, 235, 88, 145, 79, 244, 125, 119, 112, 142, 235, 249, 233, 181, 231, 219, 169, 93, 136, 71, 198, 192, 35, 51, 3, 220, 239, 108, 226, 17, 30, 122, 155, 120, 4, 170, 4, 116, 44, 199, 49, 154, 206, 89, 65, 169, 29, 31, 228, 17, 69, 209, 169, 207, 167, 243, 136, 2, 30, 81, 12, 30, 241, 49, 30, 89, 41, 242, 72, 163, 181, 31, 252, 161, 106, 77, 192, 72, 49, 58, 226, 151, 124, 122, 68, 105, 28, 221, 130, 87, 246, 24, 188, 178, 103, 68, 231, 149, 145, 17, 198, 43, 205, 69, 94, 25, 1, 175, 140, 129, 87, 166, 133, 246, 153, 67, 146, 50, 126, 72, 109, 30, 61, 196, 120, 37, 12, 94, 233, 48, 120, 165, 19, 117, 109, 124, 8, 175, 16, 31, 53, 26, 188, 210, 72, 255, 27, 188, 18, 141, 234, 188, 18, 5, 175, 68, 137, 87, 22, 23, 24, 175, 68, 163, 6, 175, 44, 46, 8, 109, 224, 151, 16, 248, 37, 126, 114, 73, 138, 157, 88, 82, 105, 191, 51, 199, 201, 138, 107, 186, 60, 251, 137, 165, 115, 143, 122, 143, 87, 150, 230, 89, 31, 119, 206, 206, 107, 142, 99, 243, 206, 206, 197, 121, 237, 203, 249, 121, 251, 221, 249, 121, 198, 43, 113, 235, 124, 145, 87, 58, 25, 175, 204, 163, 191, 22, 192, 43, 170, 206, 43, 11, 6, 175, 28, 58, 84, 228, 149, 240, 226, 33, 141, 246, 79, 171, 155, 5, 175, 28, 58, 228, 11, 207, 30, 151, 58, 79, 204, 23, 121, 165, 147, 120, 101, 116, 64, 53, 249, 197, 63, 219, 207, 120, 37, 10, 190, 208, 121, 101, 76, 235, 68, 249, 196, 43, 29, 24, 179, 247, 120, 133, 222, 183, 226, 28, 215, 137, 63, 104, 127, 158, 70, 226, 149, 145, 181, 231, 27, 199, 213, 34, 175, 144, 93, 164, 214, 255, 226, 83, 152, 128, 158, 67, 134, 158, 111, 232, 78, 160, 157, 250, 63, 243, 54, 151, 228, 235, 187, 226, 146, 127, 54, 169, 121, 122, 226, 78, 106, 51, 218, 7, 41, 208, 245, 50, 219, 103, 172, 169, 235, 85, 182, 31, 82, 176, 235, 117, 27, 23, 184, 246, 153, 87, 134, 142, 167, 117, 213, 161, 227, 107, 224, 227, 61, 168, 227, 47, 114, 186, 110, 215, 117, 186, 172, 57, 30, 88, 51, 157, 158, 93, 81, 239, 207, 89, 235, 3, 185, 181, 64, 32, 105, 174, 93, 79, 54, 69, 101, 149, 222, 151, 100, 75, 56, 171, 74, 242, 230, 154, 233, 121, 222, 165, 61, 137, 114, 203, 57, 174, 156, 202, 37, 187, 193, 180, 175, 204, 195, 180, 179, 170, 240, 28, 211, 150, 41, 247, 162, 108, 240, 136, 195, 161, 243, 225, 43, 178, 28, 145, 234, 229, 220, 109, 222, 175, 93, 151, 3, 72, 123, 242, 51, 71, 165, 110, 55, 57, 65, 77, 155, 233, 175, 241, 92, 182, 215, 65, 245, 154, 177, 143, 89, 45, 139, 81, 7, 71, 216, 190, 6, 229, 244, 127, 193, 229, 146, 56, 238, 185, 108, 121, 165, 75, 187, 238, 114, 133, 202, 189, 174, 156, 7, 246, 181, 8, 144, 116, 239, 189, 54, 169, 213, 70, 26, 244, 253, 16, 232, 62, 209, 253, 82, 177, 204, 52, 176, 210, 62, 5, 148, 70, 245, 162, 122, 82, 189, 40, 95, 69, 157, 30, 191, 163, 61, 2, 152, 45, 132, 186, 8, 94, 95, 110, 77, 150, 147, 107, 62, 95, 210, 196, 74, 121, 105, 15, 19, 86, 15, 80, 169, 90, 175, 107, 101, 139, 44, 56, 219, 124, 66, 85, 187, 95, 112, 148, 254, 120, 195, 209, 160, 218, 202, 235, 93, 62, 211, 46, 163, 186, 45, 195, 254, 37, 28, 181, 176, 199, 128, 129, 173, 119, 127, 29, 229, 214, 82, 61, 208, 137, 13, 122, 125, 217, 117, 135, 215, 179, 143, 213, 15, 215, 245, 62, 169, 213, 26, 131, 247, 210, 43, 234, 107, 165, 242, 58, 225, 90, 181, 81, 55, 86, 6, 18, 169, 45, 174, 11, 66, 142, 246, 71, 46, 177, 210, 126, 24, 162, 86, 106, 173, 208, 4, 43, 237, 137, 65, 251, 154, 86, 107, 127, 253, 233, 234, 7, 21, 200, 71, 184, 169, 205, 40, 45, 47, 17, 190, 53, 60, 135, 211, 230, 209, 6, 129, 166, 95, 124, 10, 46, 177, 4, 155, 25, 181, 42, 45, 140, 150, 180, 182, 49, 90, 186, 96, 89, 251, 48, 212, 206, 254, 47, 11, 119, 48, 90, 30, 233, 100, 212, 17, 141, 49, 90, 201, 243, 65, 45, 222, 197, 254, 175, 78, 116, 51, 90, 203, 243, 17, 45, 217, 195, 254, 119, 167, 122, 25, 245, 242, 124, 138, 237, 55, 135, 255, 125, 153, 93, 140, 250, 169, 142, 180, 166, 127, 149, 133, 103, 251, 127, 240, 60, 175, 245, 239, 102, 105, 188, 186, 135, 209, 128, 19, 233, 174, 18, 62, 207, 243, 130, 54, 48, 200, 174, 149, 12, 237, 101, 180, 52, 128, 180, 250, 50, 243, 222, 106, 45, 59, 204, 174, 139, 35, 163, 140, 6, 227, 72, 183, 56, 244, 244, 177, 113, 118, 173, 98, 0, 215, 108, 213, 84, 30, 167, 77, 226, 255, 50, 55, 159, 95, 2, 181, 248, 248, 252, 247, 236, 47, 125, 192, 91, 125, 154, 213, 234, 215, 200, 23, 12, 88, 3, 144, 213, 65, 237, 73, 164, 115, 18, 210, 173, 176, 55, 240, 191, 13, 120, 200, 247, 162, 253, 153, 104, 79, 38, 26, 59, 65, 244, 67, 51, 250, 225, 21, 164, 91, 120, 164, 163, 110, 111, 7, 174, 124, 198, 85, 208, 243, 175, 163, 15, 174, 127, 224, 4, 0, 96, 217, 67, 127, 239, 255, 125, 155, 107, 215, 63, 128, 204, 161, 23, 27, 247, 253, 188, 164, 159, 30, 184, 198, 126, 54, 74, 216, 244, 163, 60, 184, 6, 54, 191, 247, 179, 226, 192, 53, 1, 164, 248, 163, 12, 184, 6, 214, 188, 247, 43, 193, 129, 107, 122, 61, 140, 31, 73, 100, 92, 171, 5, 41, 254, 224, 76, 211, 53, 134, 211, 252, 81, 225, 184, 6, 255, 251, 222, 175, 12, 7, 174, 5, 64, 138, 63, 240, 55, 93, 83, 64, 138, 63, 140, 127, 186, 22, 2, 41, 254, 8, 24, 174, 69, 64, 138, 63, 7, 14, 92, 139, 131, 20, 127, 144, 40, 116, 45, 9, 82, 252, 85, 226, 192, 181, 52, 72, 241, 71, 149, 194, 181, 126, 144, 226, 143, 98, 4, 184, 54, 0, 82, 252, 85, 227, 192, 181, 44, 72, 241, 87, 131, 3, 215, 198, 64, 138, 63, 106, 16, 92, 219, 7, 98, 254, 88, 155, 227, 218, 36, 81, 227, 135, 83, 246, 231, 16, 136, 249, 179, 25, 125, 116, 4, 196, 252, 217, 140, 62, 90, 0, 49, 127, 231, 198, 244, 190, 157, 52, 40, 181, 55, 107, 82, 214, 41, 28, 39, 239, 245, 134, 6, 255, 242, 7, 159, 208, 255, 244, 123, 219, 200, 151, 55, 40, 181, 251, 166, 254, 197, 83, 255, 140, 232, 215, 126, 255, 194, 200, 255, 39, 6, 101, 77, 133, 67, 98, 12, 129, 242, 168, 141, 241, 251, 175, 70, 250, 103, 6, 165, 46, 167, 174, 51, 113, 216, 198, 245, 235, 156, 65, 169, 12, 234, 238, 89, 255, 63, 186, 114, 218, 184, 230, 51, 232, 56, 14, 186, 63, 155, 89, 184, 252, 108, 247, 194, 211, 223, 89, 120, 252, 244, 213, 149, 211, 23, 23, 46, 158, 63, 133, 255, 22, 14, 92, 221, 123, 241, 137, 43, 231, 22, 174, 172, 60, 115, 249, 66, 241, 236, 233, 149, 199, 22, 30, 127, 118, 33, 251, 236, 204, 19, 23, 175, 158, 94, 153, 56, 189, 114, 249, 244, 197, 232, 185, 139, 79, 95, 228, 86, 141, 130, 159, 55, 40, 65, 39, 62, 189, 116, 242, 252, 101, 16, 253, 119, 203, 72, 252, 127, 112, 80, 131, 211, 89, 1, 63, 16, 243, 71, 125, 131, 38, 24, 40, 165, 86, 248, 159, 243, 199, 113, 255, 31, 68, 7, 198, 229, 0, 83, 84, 65, 84, 148, 0, 0, 0, 81, 20, 0, 0, 51, 0, 0, 0, 4, 0, 0, 0, 2, 0, 0, 0, 155, 5, 0, 0, 35, 2, 0, 0, 64, 1, 0, 0, 52, 0, 0, 0, 79, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 239, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 1, 0, 0, 102, 0, 0, 0, 27, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 125, 0, 0, 0, 36, 0, 0, 0, 65, 0, 0, 0, 88, 72, 83, 72, 8, 0, 0, 0, 26, 67, 25, 40, 65, 222, 134, 209 };