diff --git a/Assets/Addressable/badwords.txt b/Assets/Addressable/badwords.txt new file mode 100644 index 0000000000..7a1a1a5f5a Binary files /dev/null and b/Assets/Addressable/badwords.txt differ diff --git a/Assets/Addressable/badwords.txt.meta b/Assets/Addressable/badwords.txt.meta new file mode 100644 index 0000000000..d3e1f77b69 --- /dev/null +++ b/Assets/Addressable/badwords.txt.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 97d5bf1c2fec02844993b30c645fe286 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Addressable/petautoskill.txt b/Assets/Addressable/petautoskill.txt new file mode 100644 index 0000000000..a58f152cd4 --- /dev/null +++ b/Assets/Addressable/petautoskill.txt @@ -0,0 +1,44 @@ +// 宠物出场自动释放技能配置 +// 格式:技能1 技能2 技能3...... + +801 +802 +803 +804 +805 +1559 +1560 +1561 +1562 +1563 +2081 +2077 +2093 +2059 +2094 +2096 +2098 +2100 +2102 +2104 +2106 +2108 +2110 +2112 +2114 +2116 +2062 +2118 +2120 +2121 +2122 +2146 +2124 +2125 +2126 +2058 +2127 +2128 +2136 +2725 +3278 \ No newline at end of file diff --git a/Assets/Addressable/petautoskill.txt.meta b/Assets/Addressable/petautoskill.txt.meta new file mode 100644 index 0000000000..26e46779c7 --- /dev/null +++ b/Assets/Addressable/petautoskill.txt.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 8022adc119619b34fb2192efbff367d1 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/AddressableAssetsData/AssetGroups/configuration.asset b/Assets/AddressableAssetsData/AssetGroups/configuration.asset index 818c5cfa69..a105de58ec 100644 --- a/Assets/AddressableAssetsData/AssetGroups/configuration.asset +++ b/Assets/AddressableAssetsData/AssetGroups/configuration.asset @@ -85,11 +85,21 @@ MonoBehaviour: m_ReadOnly: 0 m_SerializedLabels: [] FlaggedDuringContentUpdateRestriction: 0 + - m_GUID: 8022adc119619b34fb2192efbff367d1 + m_Address: Assets/Addressable/petautoskill.txt + m_ReadOnly: 0 + m_SerializedLabels: [] + FlaggedDuringContentUpdateRestriction: 0 - m_GUID: 863a9da1fd09c934ea870dc4cfd4a906 m_Address: Assets/Addressable/maps/a61/movemap/r1_1-c1_2-l0.prmap.txt m_ReadOnly: 0 m_SerializedLabels: [] FlaggedDuringContentUpdateRestriction: 0 + - m_GUID: 97d5bf1c2fec02844993b30c645fe286 + m_Address: Assets/Addressable/badwords.txt + m_ReadOnly: 0 + m_SerializedLabels: [] + FlaggedDuringContentUpdateRestriction: 0 - m_GUID: 98b87a70ddccda2459742976c2b90262 m_Address: Assets/Addressable/gshop1.txt m_ReadOnly: 0 diff --git a/Assets/ModelRenderer/Art/Models/litmodels/a61/6/CCDBrush.meta b/Assets/ModelRenderer/Art/Models/litmodels/a61/6/CCDBrush.meta new file mode 100644 index 0000000000..30e9dd6fb8 --- /dev/null +++ b/Assets/ModelRenderer/Art/Models/litmodels/a61/6/CCDBrush.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: aa2ec4fb3e3ae4843bcc25ec13c56761 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/ModelRenderer/Art/Models/litmodels/a61/6/CCDBrush/litmodel_1858.bmd.mesh b/Assets/ModelRenderer/Art/Models/litmodels/a61/6/CCDBrush/litmodel_1858.bmd.mesh new file mode 100644 index 0000000000..98ec3fd896 --- /dev/null +++ b/Assets/ModelRenderer/Art/Models/litmodels/a61/6/CCDBrush/litmodel_1858.bmd.mesh @@ -0,0 +1,167 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!43 &4300000 +Mesh: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: litmodel_1858.bmd + serializedVersion: 11 + m_SubMeshes: + - serializedVersion: 2 + firstByte: 0 + indexCount: 88761 + topology: 0 + baseVertex: 0 + firstVertex: 0 + vertexCount: 4632 + localAABB: + m_Center: {x: -689.3667, y: 41.66543, z: -236.67441} + m_Extent: {x: 25.85965, y: 2.9808636, z: 9.544563} + m_Shapes: + vertices: [] + shapes: [] + channels: [] + fullWeights: [] + m_BindPose: [] + m_BoneNameHashes: + m_RootBoneNameHash: 0 + m_BonesAABB: [] + m_VariableBoneCountWeights: + m_Data: + m_MeshCompression: 0 + m_IsReadable: 1 + m_KeepVertices: 0 + m_KeepIndices: 0 + m_IndexFormat: 0 + m_IndexBuffer: 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400350035003500350035003500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003700000037003700000037003700000037003700000037003700000037003700000037003700000037003700000037003700000037003700000037003700000037003700000037003700000037003700000037003700000037003700000037003700000037003700000037003700000037003700000037003700000037003700000037003700000037003700000037003700000037003700000037003700000037003700000037003700000037003700000037003700000037003700000037003700000037003700000037003700000037003700000037003700000037003700000037003700000037003700000037003700000037003700000037003700000037003700000037003700000037003700000037003700000037003700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002400000024002400000024002400000024002400000024002400000024002400000024002400000024002400000024002400000024002400000024002400000024002400000024002400000024002400000024002400000024002400000024002400000024002400000024002400000024002400000024002400000024002400000024002400000024002400000024002400000024002400000024002400000024002400000024002400000024002400000024002400000024002400000024002400000024002400000024002400000024002400000024002400000024002400000024002400000024002400000024002400000024002400000024002400000024002400000024002400000024002400000024002400000024003700000037003700000037003700000037003700000037003700000037003700000037003700000037003700000037003700000037003700000037003700000037003700000037003700000037003700000037003700000037003700000037003700000037003700000037003700000037003700000037003700000037003700000037003700000037003700000037003700000037003700000037003700000037003700000037003700000037003700000037003700000037003700000037003700000037003700000037003700000037003700000037003700000037003700000037003700000037003700000037003700000037003700000037003700000037003700000037003700000037003700000037003700000037003700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000370037003700370037003700370037003700370037003700370037003700370037003700370037003700370037003700370037003700370037003700370037003700370037003700370037003700370037003700370037003700370037003700370037003700370037003700370037003700370037003700370037003700370037003700370037003700370037003700370037003700370037003700370037003700370037003700370037003700370037003700370037003700370037003700370037003700370037003700370037003700370037003700370037003700370037003700370037003700370037003700370037003700370037003700370037003700370037003700370037003700370037003700370037002400370024002400370024002400370024002400370024002400370024002400370024002400370024002400370024002400370024002400370024002400370024002400370024002400370024002400370024002400370024002400370024002400370024002400370024002400370024002400370024002400370024002400370024002400370024002400370024002400370024002400370024002400370024002400370024002400370024002400370024002400370024002400370024002400370024002400370024002400370024002400370024002400370024002400370024002400370024002400370024002400370024002400370024002400370024002400370024002400370024002400370024002400bb00bb00bb00bb00bb00bd00bb00bd00b900bb00b900b900bb00b900b900bb00b9003500bb0035003500bb0035003500bb0035003500bb003500bc00bb00bc00bc00bb00bc00bc0037003700370037003700370037003700370037003700370037003700370037003700370037003700370037003700370037003700370037003700370037003700370037003700370037003700370037003700370037003700370037003700370037003700370037003700370037003700370037003700370037003700370037003700370037003700370037003700370037003700370037003700370037003700370037003700370037003700370037003700370037003700370037003700370037003700370037003700370037003700370037003700370037003700370037003700370037003700370037003700370037003700370037003700370037003700370037003700370037003700370037003700370037003700c8003700c800350037003500350037003500350037003500350037003500b9003700b900b9003700b900b90000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cb000000cb00240000002400240000002400240000002400240000002400240000002400240000002400240000002400240000002400240000002400240000002400240000002400240000002400240000002400240000002400240000002400240000002400240000002400240000002400240000002400240000002400240000002400240000002400240000002400240000002400240000002400240000002400240000002400240000002400240000002400240000002400240000002400240000002400240000002400240000002400240000002400240000002400240000002400240000002400240000002400240000002400240000002400240000002400240000002400240000002400240000002400240000002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400cb002400cb00bb002400bb00bb002400bb00bb002400bb00bc002400bc00bc002400bc00bc002400bc00e5002400e500e40000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000bd000000bd00bb000000bb00bb000000bb00bb000000bb00cb0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000370000003700370000003700370000003700370000003700370000003700370000003700370000003700370000003700370000003700370000003700370000003700370000003700370000003700370000003700370000003700370000003700370000003700370000003700370000003700370000003700370000003700370000003700370000003700370000003700370000003700370000003700370000003700370000003700370000003700370000003700370000003700370000003700370000003700370000003700370000003700370000003700370000003700370000003700370000003700370000003700370000003700370000003700370000003700370000003700370000003700370000003700370000003700370000003700b9000000b900b9000000b900b9000000b900bd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000370000003700370000003700370000003700370000003700370000003700370000003700370000003700370000003700370000003700370000003700370000003700370000003700370000003700370000003700370000003700370000003700370000003700370000003700370000003700370000003700370000003700370000003700370000003700370000003700370000003700370000003700370000003700370000003700370000003700370000003700370000003700370000003700370000003700370000003700370000003700370000003700370000003700370000003700370000003700370000003700370000003700370000003700370000003700370000003700370000003700370000003700370000003700370000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000240000002400240000002400240000002400240000002400240000002400240000002400240000002400240000002400240000002400240000002400240000002400240000002400240000002400240000002400240000002400240000002400240000002400240000002400240000002400240000002400240000002400240000002400240000002400240000002400240000002400240000002400240000002400240000002400240000002400240000002400240000002400240000002400240000002400240000002400240000002400240000002400240000002400240000002400240000002400240000002400240000002400240000002400240000002400240000002400240000002400240000002400240037003700370037003700370037003700370037003700370037003700370037003700370037003700370037003700370037003700370037003700370037003700370037003700370037003700370037003700370037003700370037003700370037003700370037003700370037003700370037003700370037003700370037003700370037003700370037003700370037003700370037003700370037003700370037003700370037003700370037003700370037003700370037003700370037003700370037003700370037003700370037003700370037003700370037003700370037003700370037003700370037003700370037003700370037003700370037003700370037003700370037003700370037003700240037002400240037002400240037002400240037002400240037002400240037002400240037002400240037002400240037002400240037002400240037002400240037002400240037002400240037002400240037002400240037002400240037002400240037002400240037002400240037002400240037002400240037002400240037002400240037002400240037002400240037002400240037002400240037002400240037002400240037002400240037002400240037002400240037002400240037002400240037002400240037002400240037002400240037002400240037002400240037002400240037002400240037002400240037002400240037002400240037002400240037002400240037002400e4003700e400fe003700fe00c800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c800fe00e400c800e400e50035003500350035003500350035003500c8003500c800fe003500fe00e4003500e400e5003500e500bc003500bc00bc003500bc00bc00240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400240024002400370037003700370037003700370037003700370037003700370037003700370037003700370037003700370037003700370037003700370037003700370037003700370037003700370037003700370037003700370037003700370037003700370037003700370037003700370037003700370037003700370037003700370037003700370037003700370037003700370037003700370037003700370037003700370037003700370037003700370037003700370037003700370037003700370037003700370037003700370037003700370037003700370037003700370037003700370037003700370037003700370037003700370037003700370037003700370037003700370037003700370037003700b900b900b900b900b9003500b90035003500b90035003500b90035003500bb00bb00bb00bb00bb00bc00bb00bc00bc00bb00bc00bc00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001290129012901290129012901290129012901290129012901290129012901290129012901290129012901290129012901290129012901290129012901290129012901290129012901290129012901290129012901290129012901290129012901290129012901290129012901290129012901290129012901290129012901290129012901290129012901290129012901290129012901290129012901290129012901290129012901290129012901290129012901290129012901290129012901290129012901290129012901290129012901290129012901290129012901290129012901290129012901290129012901290129012901290129012901380138013801380138013801100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110013b0110013b013b0110013b013b0110013b013b0110013b013b0110013b013b0110013b013b0110013b013b0110013b013b0110013b013b0110013b013b0110013b013b0110013b013b0110013b013b0110013b013b0110013b013b0110013b013b0110013b013b0110013b013b0110013b013b0110013b013b0110013b013b0110013b013b0110013b013b0110013b013b0110013b013b0110013b013b0110013b013b0110013b013b0110013b014301100143014301100143014301100143014301100143014301100143014301100143014301100143014301100143014301100143014301100143014301100143014301100143014301100143014301100143014301100143014301100143014301100143014301100143014301100143014301100143014301100143014301100143014301100143014301100143014301100143014301100143014301100143014301100143014301100143014301100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110012901100129012901100129012901100129012901100129012901100129012901100129012901100129012901100129012901100129012901100129012901100129012901100129012901100129012901100129012901100129012901100129012901100129012901100129012901100129012901100129012901100129012901100129012901100129012901100129012901100129012901100129012901100129012901100129012901100129012901100129012901100129012901100129012901100129012901100129012901100129012901100129012901100129012901100129012901100129012901100129012901100129012901100129012901100129012901100129013b0110013b013b0110013b013b0110013b013b0110013b013b0110013b013b0110013b013b0110013b013b0110013b013b0110013b013b0110013b013b0110013b013b0110013b013b0110013b013b0110013b013b0110013b013b0110013b013b0110013b013b0110013b013b0110013b013b0110013b013b0110013b013b0110013b013b0110013b013b0110013b013b0110013b013b0110013b013b0110013b013b0110013b013b0110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001430110014301430110014301430110014301430110014301430110014301430110014301430110014301430110014301430110014301430110014301430110014301430110014301430110014301430110014301430110014301430110014301430110014301430110014301430110014301430110014301430110014301430110014301430110014301430110014301430110014301430110014301430110014301430110014301430110014301430110014301ff001001ff00ff001001ff00ff001001ff00ff001001ff00ff001001ff00ff001001ff00ff001001ff00ff001001ff00ff001001ff00ff001001ff00ff001001ff00ff001001ff00ff001001ff00ff001001ff00ff001001ff00ff001001ff00ff001001ff00ff001001ff00ff001001ff00ff001001ff00ff001001ff00ff001001ff00ff001001ff00ff001001ff00ff001001ff00ff001001ff00ff001001ff00ff001001ff00ff001001ff00ff001001ff00ff001001ff00ff001001ff00ff001001ff00ff001001ff00ff001001ff00ff001001ff00ff001001ff00ff001001ff00ff001001ff00ff001001ff00ff001001ff00ff001001ff00ff001001ff00ff001001ff00ff001001ff00ff001001ff00ff0010011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001ff001001ff00ff001001ff00ff001001ff00ff001001ff00ff001001ff00ff001001ff00ff001001ff00ff001001ff00ff001001ff00ff001001ff00ff001001ff00ff001001ff00ff001001ff00ff001001ff00ff001001ff00ff001001ff00ff001001ff00ff001001ff00ff001001ff00ff001001ff00ff001001ff00ff001001ff00ff001001ff00ff001001ff00ff001001ff00ff001001ff00ff001001ff00ff001001ff00ff001001ff00ff001001ff00ff001001ff00ff001001ff00ff001001ff00ff001001ff00ff001001ff00ff001001ff00ff001001ff00ff001001ff00ff001001ff00ff001001ff00ff001001ff00ff001001ff00ff001001ff00ff001001ff00ff001001ff00ff001001ff00ff001001ff0029011001290129011001290129011001290129011001290129011001290129011001290129011001290129011001290129011001290129011001290129011001290129011001290129011001290129011001290129011001290129011001290129011001290129011001290129011001290129011001290129011001290129011001290129011001290129011001290129011001290129011001290129011001290129011001290129011001290129011001290129011001290129011001290129011001290129011001290129011001290129011001290129011001290129011001290129011001290129011001290129011001290129011001290129011001290129013b013b013b013b013b013b013b013b013b013b013b013b013b013b013b013b013b013b013b013b013b013b013b013b013b013b013b013b013b013b013b013b013b013b013b013b013b013b013b013b013b013b013b013b013b013b013b013b013b013b013b013b013b013b013b013b013b013b013b013b013b013b013b013b013b013b013b013b013b013b013b013b013b013b013b013b013b013b013b013b013b013b013b0129013b01290129013b01290129013b01290129013b01290129013b01290129013b01290129013b01290129013b01290129013b01290129013b01290129013b01290129013b01290129013b01290129013b01290129013b01290129013b01290129013b01290129013b01290129013b01290129013b01290129013b01290129013b01290129013b01290129013b01290129013b01290129013b01290129013b01290129013b01290129013b01290129013b01290129013b01290129013b01290129013b01290129013b01290129013b01290129013b01290129013b01290129013b01290129013b01290129013b01290129013b01290129013b01290129013b0129012901ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff004301ff0043014301ff0043014301ff0043014301ff0043014301ff0043014301ff0043014301ff0043014301ff0043014301ff0043014301ff0043014301ff0043014301ff0043014301ff0043014301ff0043014301ff0043014301ff0043014301ff0043014301ff0043014301ff0043014301ff0043014301ff0043014301ff0043014301ff0043014301ff0043014301ff0043014301ff0043014301ff0043014301ff0043014301ff0043014301ff0043013801ff0038013801ff0038013801ff0038013801ff003801cc01ff00cc01cc01ff00cc01cc01430143014301430143014301430143014301430143014301430143014301430143014301430143014301430143014301430143014301430143014301430143014301430143014301430143014301430143014301430143014301430143014301430143014301430143014301430143014301430143014301430143014301430143014301430143014301430143014301430143014301430143014301430143014301430143014301430143013b0143013b013b0143013b013b0143013b013b0143013b013b0143013b013b0143013b013b0143013b013b0143013b013b0143013b013b0143013b013b0143013b013b0143013b013b0143013b013b0143013b013b0143013b013b0143013b013b0143013b013b0143013b013b0143013b013b0143013b013b0143013b013b0143013b013b0143013b013b0143013b013b0143013b013b0143013b013b0143013b013b0143013b013b0143013b01d7014301d7013801430138013801430138013801430138013801d701e901dc01d701dc01dc0129012901290129012901290129012901290129012901290129012901290129012901290129012901290129012901290129012901290129012901290129012901290129012901290129012901290129012901290129012901290129012901290129012901290129012901290129012901290129012901290129012901290129012901290129012901290129012901290129012901290129012901290129012901290129012901290129012901290129012901290129012901290129012901290129012901290129012901290129012901290129012901290129012901290129012901290129012901290129012901290129012901290129012901290129012901ff002901ff00ff002901ff00ff002901ff00ff002901ff00ff002901ff00ff002901ff00ff002901ff00ff002901ff00ff002901ff00ff002901ff00ff002901ff00ff002901ff00ff002901ff00ff002901ff00ff002901ff00ff002901ff00ff002901ff00ff002901ff00ff002901ff00ff002901ff00ff002901ff00ff002901ff00ff002901ff00ff002901ff00ff002901ff00ff002901ff00ff002901ff00ff002901ff00ff002901ff00ff002901ff00ff002901ff00ff002901ff00ff002901ff00ff002901ff00ff002901ff00ff002901ff00ff002901ff00ff002901ff00ff002901ff00ff002901ff00ff002901ff00ff002901ff00ff002901ff00ff002901ff00ff002901ff00ff002901ff00ff002901ff00cc012901cc01cc012901cc01cc012901cc01dc012901dc01dc01100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110014301100143014301100143014301100143014301100143014301100143014301100143014301100143014301100143014301100143014301100143014301100143014301100143014301100143014301100143014301100143014301100143014301100143014301100143014301100143014301100143014301100143014301100143014301100143014301100143014301100143014301100143014301100143014301100143014301100143014301100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110013b0110013b013b0110013b013b0110013b013b0110013b013b0110013b013b0110013b013b0110013b013b0110013b013b0110013b013b0110013b013b0110013b013b0110013b013b0110013b013b0110013b013b0110013b013b0110013b013b0110013b013b0110013b013b0110013b013b0110013b013b0110013b013b0110013b013b0110013b013b0110013b013b0110013b013b0110013b013b0110013b013b0110013b013b011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100129011001290129011001290129011001290129011001290129011001290129011001290129011001290129011001290129011001290129011001290129011001290129011001290129011001290129011001290129011001290129011001290129011001290129011001290129011001290129011001290129011001290129011001290129011001290129011001290129011001290129011001290129011001290129011001290129011001290129011001290129011001290129011001290129011001290129011001290129011001290129011001290129011001290129011001290129011001290129011001290129011001290129011001290129011001290129013b013b013b013b013b013b013b013b013b013b013b013b013b013b013b013b013b013b013b013b013b013b013b013b013b013b013b013b013b013b013b013b013b013b013b013b013b013b013b013b013b013b013b013b013b013b013b013b013b013b013b013b013b013b013b013b013b013b013b013b013b013b013b013b013b013b013b013b013b013b013b013b013b013b013b013b013b013b013b013b013b013b013b0129013b01290129013b01290129013b01290129013b01290129013b01290129013b01290129013b01290129013b01290129013b01290129013b01290129013b01290129013b01290129013b01290129013b01290129013b01290129013b01290129013b01290129013b01290129013b01290129013b01290129013b01290129013b01290129013b01290129013b01290129013b01290129013b01290129013b01290129013b01290129013b01290129013b01290129013b01290129013b01290129013b01290129013b01290129013b01290129013b01290129013b01290129013b01290129013b01290129013b01290129013b01290129013b01290129013b01290129013b012901dc013b01dc01e9013b01e901d70143014301430143014301430143014301430143014301430143014301430143014301430143014301430143014301430143014301430143014301430143014301430143014301430143014301430143014301430143014301430143014301430143014301430143014301430143014301430143014301430143014301430143014301430143014301430143014301430143014301430143014301430143014301430143014301430143014301ff004301ff00ff004301ff00ff004301ff00ff004301ff00ff004301ff00ff004301ff00ff004301ff00ff004301ff00ff004301ff00ff004301ff00ff004301ff00ff004301ff00ff004301ff00ff004301ff00ff004301ff00ff004301ff00ff004301ff00ff004301ff00ff004301ff00ff004301ff00ff004301ff00ff004301ff00ff004301ff00ff004301ff00ff004301ff00ff004301ff00ff004301ff00ff004301ff00ff004301ff00ff004301ff00ff004301ff00ff004301ff00ff004301ff00ff004301ff00ff004301ff00ff004301ff00ff004301ff00ff004301ff00ff004301ff00ff004301ff00ff004301ff00ff004301ff00ff004301ff00ff004301ff00ff004301ff00ff004301ff00ff0010011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001ff001001ff00ff001001ff00ff001001ff00ff001001ff00ff001001ff00ff001001ff00ff001001ff00ff001001ff00ff001001ff00ff001001ff00ff001001ff00ff001001ff00ff001001ff00ff001001ff00ff001001ff00ff001001ff00ff001001ff00ff001001ff00ff001001ff00ff001001ff00ff001001ff00ff001001ff00ff001001ff00ff001001ff00ff001001ff00ff001001ff00ff001001ff00ff001001ff00ff001001ff00ff001001ff00ff001001ff00ff001001ff00ff001001ff00ff001001ff00ff001001ff00ff001001ff00ff001001ff00ff001001ff00ff001001ff00ff001001ff00ff001001ff00ff001001ff00ff001001ff00ff001001ff00ff001001ff00ff001001ff00ff00290129012901290129012901290129012901290129012901290129012901290129012901290129012901290129012901290129012901290129012901290129012901290129012901290129012901290129012901290129012901290129012901290129012901290129012901290129012901290129012901290129012901290129012901290129012901290129012901290129012901290129012901290129012901290129012901290129012901290129012901290129012901290129012901290129012901290129012901290129012901290129012901290129012901290129012901290129012901290129012901290129012901290129012901cc01cc01cc01cc01cc013801cc0138013801cc0138013801cc0138013801cc013801d701cc01d701e901cc01e901dc01cc01dc01dc013b013b013b013b013b013b013b013b013b013b013b013b013b013b013b013b013b013b013b013b013b013b013b013b013b013b013b013b013b013b013b013b013b013b013b013b013b013b013b013b013b013b013b013b013b013b013b013b013b013b013b013b013b013b013b013b013b013b013b013b013b013b013b013b013b013b013b013b013b013b013b013b013b013b013b013b013b013b013b013b013b01430143014301430143014301430143014301430143014301430143014301430143014301430143014301430143014301430143014301430143014301430143014301430143014301430143014301430143014301430143014301430143014301430143014301430143014301430143014301430143014301430143014301430143014301430143014301430143014301430143014301430143014301430143014301430143014301430143013801430138013801430138013801430138013801ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00cc01ff00cc01cc01ff00cc01cc01d701e901dc01d701dc01dc011502eb01eb011502eb01eb011502eb01eb011502eb01eb011502eb01eb011502eb01eb011502eb01eb011502eb01eb011502eb01eb011502eb01eb011502eb01eb011502eb01eb011502eb01eb011502eb01eb011502eb01eb011502eb01eb011502eb01eb011502eb01eb011502eb01eb011502eb01eb011502eb01eb011502eb01eb011502eb01eb011502eb01eb011502eb01eb011502eb01eb011502eb01eb011502eb01eb011502eb01eb011502eb01eb011502eb01eb011502eb01eb011502eb01eb011502eb01eb011502eb01eb011502eb01eb011502eb01eb011502eb01eb011502eb01eb011502eb01eb011502eb01eb011502eb01eb011502eb01eb011502eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb0115021d021c0215021c02eb011502eb01eb011502eb01eb011502eb01eb011502eb01eb011502eb01eb011502eb01eb011502eb01eb011502eb01eb011502eb01eb011502eb01eb011502eb01eb011502eb01eb011502eb01eb011502eb01eb011502eb01eb011502eb01eb011502eb01eb011502eb01eb011502eb01eb011502eb01eb011502eb01eb011502eb01eb011502eb01eb011502eb01eb011502eb01eb011502eb01eb011502eb01eb011502eb01eb011502eb01eb011502eb01eb011502eb01eb011502eb01eb011502eb01eb011502eb01eb011502eb01eb011502eb01eb011502eb01eb011502eb01eb011502eb01eb011502eb01eb011502eb01eb011502eb01eb011502eb01eb011502eb01eb0110021102150210021502eb011002eb01eb011002eb01eb011002eb01eb011002eb01eb011002eb01eb011002eb01eb011002eb01eb011002eb01eb011002eb01eb011002eb01eb011002eb01eb011002eb01eb011002eb01eb011002eb01eb011002eb01eb011002eb01eb011002eb01eb011002eb01eb011002eb01eb011002eb01eb011002eb01eb011002eb01eb011002eb01eb011002eb01eb011002eb01eb011002eb01eb011002eb01eb011002eb01eb011002eb01eb011002eb01eb011002eb01eb011002eb01eb011002eb01eb011002eb01eb011002eb01eb011002eb01eb011002eb01eb011002eb01eb011002eb01eb011002eb01eb011002eb01eb011002eb01eb011002eb01eb0119021102100219021002170219021702180215021d021c0215021c02eb011502eb01eb011502eb01eb011502eb01eb011502eb01eb011502eb01eb011502eb01eb011502eb01eb011502eb01eb011502eb01eb011502eb01eb011502eb01eb011502eb01eb011502eb01eb011502eb01eb011502eb01eb011502eb01eb011502eb01eb011502eb01eb011502eb01eb011502eb01eb011502eb01eb011502eb01eb011502eb01eb011502eb01eb011502eb01eb011502eb01eb011502eb01eb011502eb01eb011502eb01eb011502eb01eb011502eb01eb011502eb01eb011502eb01eb011502eb01eb011502eb01eb011502eb01eb011502eb01eb011502eb01eb011502eb01eb011502eb01eb011502eb01eb011502eb01eb011502eb01eb011502eb01eb0117021002eb011702eb01eb011702eb01eb011702eb01eb011702eb01eb011702eb01eb011702eb01eb011702eb01eb011702eb01eb011702eb01eb011702eb01eb011702eb01eb011702eb01eb011702eb01eb011702eb01eb011702eb01eb011702eb01eb011702eb01eb011702eb01eb011702eb01eb011702eb01eb011702eb01eb011702eb01eb011702eb01eb011702eb01eb011702eb01eb011702eb01eb011702eb01eb011702eb01eb011702eb01eb011702eb01eb011702eb01eb011702eb01eb011702eb01eb011702eb01eb011702eb01eb011702eb01eb011702eb01eb011702eb01eb011702eb01eb011702eb01eb011702eb01eb011702eb01eb011702eb01eb011702eb01eb011d02190218021d0218021c02190211021002190210021702190217021802eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb01eb011c02eb011c021802eb01180217021002eb01eb011002eb01eb011002eb01eb011002eb01eb011002eb01eb011002eb01eb011002eb01eb011002eb01eb011002eb01eb011002eb01eb011002eb01eb011002eb01eb011002eb01eb011002eb01eb011002eb01eb011002eb01eb011002eb01eb011002eb01eb011002eb01eb011002eb01eb011002eb01eb011002eb01eb011002eb01eb011002eb01eb011002eb01eb011002eb01eb011002eb01eb011002eb01eb011002eb01eb011002eb01eb011002eb01eb011002eb01eb011002eb01eb011002eb01eb011002eb01eb011002eb01eb011002eb01eb011002eb01eb011002eb01eb011002eb01eb011002eb01eb011002eb01eb011002eb01eb011d02150211021d0211021902200220022002200220022002200220022002200220022002200220022002200220022002200220022002260226022602260226022602260226022602260226022602260226022602260226022602260226022602260226022602260226022602260226022602260226022602260226022602260226022602260226022602260226022602260226022602260226022602260226022602260226022602260226022602260226022602260226022602260226022602260226022602260226022602260226022602340234023402340234023402340234023402340234023402340234023402340234023402340234023402340234023402340234023402340234023402340234023402340234023402340234023402340234023402340234023e0234023e023e0234023e023e0234023e023e0234023e023e02450247023402450234023402450234023402450234023402450234023402450234023402450234023402450234023402450234023402450234023402450234023402450234023402450234023402450234023402450234023402450234023402450234023e0245023e023e0245023e023e0245023e023e0245023e023e0245023e022002450220022002450220022002450220022002450220022002450220022002450220022002450220022002450220022002260226022602260226022602260226022602260226022602260226022602260226022602260226022602260226022602260226022602260226022602260226022602260226022602260226022602260226022602260226022602260226022602260226022602260226022602260226022602260226022602260226022602260226022602260226022602260226022602260226022602260226022602260226024d0226024d024d0226024d023e0226023e023e0226023e023e0226023e023e0226023e023e0226023e0234022602340234022602340234022602340234022602340234022602340234022602340234022602340234022602340234022602340234022602340234022602340234022602340234022602340234022602340234022602340234025802590245025802450220025802200220025802200220025802200220025802200220025802200220025802200220025802200220025802200220022602260226022602260226022602260226022602260226022602260226022602260226022602260226022602260226022602260226022602260226022602260226022602260226022602260226022602260226022602260226022602260226022602260226022602260226022602260226022602260226022602260226022602260226022602260226022602260226022602260226022602260226022602260234022602340234022602340234022602340234022602340234022602340234022602340234022602340234022602340234022602340234022602340234022602340234022602340234022602340234022602340234022602340234022602340247024d024d0258024d02580220024d02200220024d02200220024d02200220024d02200220024d02200220024d02200220024d02200220024d02200220024d0220023e024d023e023e024d023e023e024d023e023e024d023e023e02260226022602260226022602260226022602260226022602260226022602260226022602260226022602260226022602260226022602260226022602260226022602260226022602260226022602260226022602260226022602260226022602260226022602260226022602260226022602260226022602260226022602260226022602260226022602260226022602260226022602260226022602260226025902470234023402470234023402470234023402470234023402470234023402470234023402470234023402470234023402470234023402470234023402470234023402470234023402470234023402470234023402470234023402470234024502200220022002200220022002200220022002200220022002200220022002200220022002200220022002200220023e0220023e023e0220023e023e0220023e023e0220023e023e024d024d023e024d023e023e024d023e023e024d023e023e024d023e023e02260226022602260226022602260226022602260226022602260226022602260226022602260226022602260226022602260226022602260226022602260226022602260226022602260226022602260226022602260226022602260226022602260226022602260226022602260226022602260226022602260226022602260226022602260226022602260226022602260226022602260226022602260226023402260234023402260234023402260234023402260234023402260234023402260234023402260234023402260234023402260234023402260234023402260234023402260234023402260234023402260234023402260234023402260234024702260247024502260245025902260226022602260226022602260226022602260226022602260226022602260226022602260226022602260226022602260226022602260226022602260226022602260226022602260226022602260226022602260226022602260226022602260226022602260226022602260226022602260226022602260226022602260226022602260226022602260226022602260226022602260226022602260226022602260226022602260226022602260226022602260226022602260226022602260226022602260226022602260226022602260226022602260226022602260226022602260226022602260226022602260226022602260226022602260226022602260226022602260226022602260226022602260226022602260226022602260226022602260226022602260226022602260226022602260226025902260259025802260258024d0226024d024d026002600260026002600260026002600260026002600260026002600260026002600260026002600260026002600260026002600260026002600260026002600260026002600260026002600260026002600260026002600260026002600260026002600260026002600260026002600260026002600260026002600260026002600260026002600260026002600260026002600260026c026c026c026c026c026c026c026c026c026c026c026c026c026c026c026c026c026c026c026c026c026c026c026c026c026c026c026c026c026c026c026c026c02740274027402740274027402740274027402740274027402770277027702770277027702770277027702770277027702770277027702600260026002600260026002600260026002600260026002600260026002600260026002600260026002600260026002600260026002600260026002600260026002600260026002600260026002600260026002600260026002600260026002600260026002600260026002600260026002600260026002600260026002600260026002600260026002600260026002600260026002600260027702600277027702600277027702600277027702600277027702600277027702600277027702600277026c0260026c026c0260026c026c0260026c026c0260026c026c0260026c026c0260026c026c0260026c026c0260026c026c0260026c026c0260026c026c0260026c026c0260026c026c0260026c0283026002830283026002830283026002830283026002830283026002830283026002830283026002830283026002830283026002830283026002830283026002830283026002830283026002830283026002830283026002830283026002830283026002830283026002830283026002830283028d028d028d028d028d028d028d028d028d028d028d028d028d028d028d028d028d028d028d028d028e028d028e028e028d028e028e028d028e026c028d026c026c028d026c026c028d026c026c028d026c026c028d026c026c028d026c026c028d026c026c028d026c026c028d026c026c028d026c026c028d026c026c028d026c026c028d026c0277028d02770277028d02770277028d02770277028d02770277028d02770277028d02770277028d028d028d028d028d028d028d028d028d028d028d028d028d028d028d028d028d028d028d028d0274028d02740274028d02740274028d02740274028d02740274028d02740274028d02740299028d0299028e028d028e028e028d028e028e02740274027402740274027402740274027402740274027402740274028d0274028d028d0274028d028d0274028d028d0274028d028d0274028d028d0274028d028d0274028d028d0274028d027702740277027702740277027702740277027702740277027702740277027702740277027702740277026002740260026002740260026002740260026002740260026002740260026002740260026002740260026002740260026002740260026002740260026002740260026002740260026002740260026002740260026002740260026002740260026002740260026002740260026002740260026002740260026002740260026002740260026002740260026002740260026002740260026002740260026002830283028302830283028302830283028302830283028302830283028302830283028302830283028302830283028302830283028302830283028302830283028302830283028302830283028302830283028302830283028302830283028302830283028302830283028302830283026c0283026c026c0283026c026c0283026c026c0283026c026c0283026c026c0283026c026c0283026c026c0283026c026c0283026c026c0283026c026c0283026c026c0283026c026c029902740274029902740274029902740274029902740274029902740274029902740260029902600260029902600260029902600260029902600260029902600260029902600260029902600260029902600260029902600260029902600260029902600260029902600260029902600260029902600260029902600260029902600260029902600260029902600260029902600260029902600260029902600260029902600260029902600260029902600260029902600260029902600283029902830283029902830283029902830283029902830283029902830283029902830283029902830283029902830283029902830283029902830283029902830283029902830283029902830283029902830283029902830283029902830283029902830283029902830283026c026c026c026c026c026c026c026c026c026c026c026c026c026c026c026c026c026c026c026c026c026c026c026c026c026c026c026c026c026c026c026c026c026c026c0283026c02830283026c02830283026c02830283026c02830283026c02830283026c02830283026c02830283026c02830283026c02830283026c02830283026c02830283026c02830283026c02830283026c02830283026c02830283026c02830283026c02830283026c02830283026c02830283028e028e028e028e028e0299028e02990283028e02830283028e02830283028e02830283028e02830283028e02830283028e02830283028e02830283028e02830283028e02830283028e02830283028e02830283028e02830283028e02830283028e02830283028e02830283028e02830283028e02830283028e02830283028e02830283028e0283026c028e026c026c028e026c026c028e026c026c028e026c026c028e026c026c028e026c026c028e026c026c028e026c026c028e026c026c028e026c026c028e026c026c028e026c026c029902740274029902740274029902740274029902740274029902740274029902740260029902600260029902600260029902600260029902600260029902600260029902600260029902600260029902600260029902600260029902600260029902600260029902600260029902600260029902600260029902600260029902600260029902600260029902600260029902600260029902600260029902600260029902600260029902600260029902600260029902600260029902600283029902830283029902830283029902830283029902830283029902830283029902830283029902830283029902830283029902830283029902830283029902830283029902830283029902830283029902830283029902830283029902830283029902830283029902830283026002600260026002600260026002600260026002600260026002600260026002600260026002600260026002600260026002600260026002600260026002600260026002600260026002600260026002600260026002600260026002600260026002600260026002600260026002600260026002600260026002600260026002600260026002600260026002600260026002600260026002600283026002830283026002830283026002830283026002830283026002830283026002830283026002830283026002830283026002830283026002830283026002830283026002830283026002830283026002830283026002830283026002830283026002830283026002830283026002830283026002600260026002600260026002600260026002600260026002600260026002600260026002600260026002600260026002600260026002600260026002600260026002600260026002600260026002600260026002600260026002600260026002600260026002600260026002600260026002600260026002600260026002600260026002600260026002600260026002600260026002600277026002770277026002770277026002770277026002770277026002770277026002770277028d028d028d028d028d028d028d028d028d028d028d028d028d028d028d028d028d028d028d028d028e028d028e028e028d028e028e028d028d028d028d028d028d028d028d028d028d028d028d028d028d028d028d028d028d028d028d0274028d02740274028d02740274028d02740274028d02740274028d0274027402dc02dc02dc02dc02dc02dc02dc02dc02dc02dc02dc02dc02dc02dc02dc02dc02dc02dc02dc02dc02dc02b502b502b502b502b502b502b502b502b502b502b502b502b502b502b502b502b502b502b502b502b502b502b502b502b502b502b502b502b502b502b502b502b502b502b502b502b502b502b502b502b502b502b502b502b502b502b502b502b502b502b502b502b502b502b502b502b502b502b502b502b502b502b502b502b502b502b502b502b502b502b502b502b502b502b502c202c202c202c202c202c202c202c202c202c202c202c202c202c202c202c202c202c202c202c202c202c202c202c202c202c202c202c202c202c202c202c202c202c202c202c202c202c202c202c202c202c202c202c202c202c202c202c202c202c202c202c202c202c202c202c202c202c202c202c202c202c202c202cc02cc02cc02cc02cc02cc02cc02cc02cc02cc02cc02cc02cc02cc02cc02cc02cc02cc02cc02cc02cc02cc02cc02cc02cc02cc02cc02cc02cc02cc02cc02cc02cc02cc02cc02cc02cc02cc02cc02cc02cc02df02cc02df02df02dc02dc02dc02dc02dc02dc02dc02dc02dc02dc02dc02dc02dc02dc02dc02dc02dc02dc02dc02dc02dc02dc02dc02cc02dc02cc02cc02dc02cc02cc02dc02cc02cc02dc02cc02cc02dc02cc02cc02dc02cc02cc02dc02cc02cc02dc02cc02cc02dc02cc02cc02dc02cc02cc02dc02cc02cc02dc02cc02cc02dc02cc02cc02dc02cc02cc02dc02cc02df02dc02df02df02dc02df02b502dc02b502b502dc02b502b502dc02b502b502dc02b502b502dc02b502b502dc02b502b502dc02b502b502dc02b502b502dc02b502b502dc02b502b502dc02b502b502dc02b502b502dc02b502b502dc02b502b502dc02b502b502dc02b502b502dc02b502b502dc02b502b502dc02b502b502dc02b502b502dc02b502b502dc02b502b502dc02b502b502dc02b502b502dc02b502b502dc02b502b502c202c202c202c202c202c202c202c202c202c202c202c202c202c202c202c202c202c202c202c202c202c202c202c202c202c202c202c202c202c202c202c202c202c202c202c202c202c202c202c202c202c202c202c202c202c202c202c202c202c202c202c202c202c202c202c202c202c202c202c202c202c202c202c202c202b502c202b502b502c202b502b502c202b502b502c202b502b502c202b502b502c202b502b502c202b502b502c202b502b502c202b502b502c202b502b502c202b502b502c202b502b502c202b502b502c202b502b502c202b502b502c202b502b502c202b502b502c202b502b502c202b502b502c202b502b502c202b502b502c202b502b502c202b502b502c202b502b502c202b502b502c202b502b502f802dc02dc02f802dc02dc02f802dc02dc02f802dc02dc02f802dc02dc02f802dc02dc02f802dc02dc02f802dc02dc02f802dc02b502f802b502b502f802b502b502f802b502b502f802b502b502f802b502b502f802b502b502f802b502b502f802b502b502f802b502b502f802b502b502f802b502b502f802b502b502f802b502b502f802b502b502f802b502b502f802b502b502f802b502b502f802b502b502f802b502b502f802b502b502f802b502b502f802b502b502f802b502b502f802b502b502f802b502b502f802b502b502f802b502c202f802c202c202f802c202c202f802c202c202f802c202c202f802c202c202f802c202c202f802c202c202f802c202c202f802c202c202f802c202c202f802c202c202f802c202c202f802c202c202f802c202c202f802c202c202f802c202c202f802c202c202f802c202c202f802c202c202f802c202c202f802c202c202f802c202c202f702f702f602f702f602f802f702f802c202f702c202c202f702c202c202f702c202c202f702c202c202f702c202c202f702c202c202f702c202c202f702c202c202f702c202c202f702c202c202f702c202c202f702c202c202f702c202c202f702c202c202f702c202c202f702c202c202f702c202c202f702c202c202f702c202c202f702c202c202f702c202c202f702c202c202cc02cc02cc02cc02cc02cc02cc02cc02cc02cc02cc02cc02cc02cc02cc02cc02cc02cc02cc02cc02cc02cc02cc02cc02cc02cc02cc02cc02cc02cc02cc02cc02cc02cc02cc02cc02cc02cc02cc02cc02cc02dc02cc02dc02dc02cc02dc02dc02cc02dc02dc02cc02dc02dc02cc02dc02dc02cc02dc02dc02cc02dc02dc02cc02dc02dc02cc02cc02cc02cc02cc02cc02cc02cc02cc02cc02cc02cc02cc02cc02cc02cc02cc02cc02cc02cc02cc02cc02cc02cc02cc02cc02cc02cc02cc02cc02cc02cc02cc02cc02cc02cc02cc02cc02cc02cc02cc02f602cc02f602f702cc02f702f702cc02f702df02cc02df02df02dc02dc02dc02dc02dc02dc02dc02dc02dc02dc02dc02dc02dc02dc02dc02dc02dc02dc02dc02dc02dc02dc02dc02f802dc02f802f602dc02f602cc02dc02cc02cc02dc02cc02cc02dc02cc02cc02dc02cc02cc02dc02cc02cc02dc02cc02cc02dc02cc02cc02dc02cc02cc02dc02cc02cc02dc02cc02cc02dc02cc02cc02dc02cc02cc02dc02cc02cc02dc02cc02cc02cc02cc02cc02cc02cc02cc02cc02cc02cc02cc02cc02cc02cc02cc02cc02cc02cc02cc02cc02cc02cc02cc02cc02cc02cc02cc02cc02cc02cc02cc02cc02cc02cc02cc02cc02cc02cc02cc02cc02cc02cc02dc02cc02dc02dc02cc02dc02dc02cc02dc02dc02cc02dc02dc02cc02dc02dc02cc02dc02dc02cc02dc02dc02cc02dc02dc02b502b502b502b502b502b502b502b502b502b502b502b502b502b502b502b502b502b502b502b502b502b502b502b502b502b502b502b502b502b502b502b502b502b502b502b502b502b502b502b502b502b502b502b502b502b502b502b502b502b502b502b502b502b502b502b502b502b502b502b502b502b502b502b502b502b502b502b502b502b502b502b502b502b502b502f802dc02dc02f802dc02dc02f802dc02dc02f802dc02dc02f802dc02dc02f802dc02dc02f802dc02dc02f802dc02dc02f802dc02b502f802b502b502f802b502b502f802b502b502f802b502b502f802b502b502f802b502b502f802b502b502f802b502b502f802b502b502f802b502b502f802b502b502f802b502b502f802b502b502f802b502b502f802b502b502f802b502b502f802b502b502f802b502b502f802b502b502f802b502b502f802b502b502f802b502b502f802b502b502f802b502b502f802b502b502f802b502b502f802b502c202f802c202c202f802c202c202f802c202c202f802c202c202f802c202c202f802c202c202f802c202c202f802c202c202f802c202c202f802c202c202f802c202c202f802c202c202f802c202c202f802c202c202f802c202c202f802c202c202f802c202c202f802c202c202f802c202c202f802c202c202f802c202c202f802c202c202df02df02f702df02f702f702df02f702c202df02c202c202df02c202c202df02c202c202df02c202c202df02c202c202df02c202c202df02c202c202df02c202c202df02c202c202df02c202c202df02c202c202df02c202c202df02c202c202df02c202c202df02c202c202df02c202c202df02c202c202df02c202c202df02c202c202df02c202c202df02c202c202df02c202c202df02c202b502df02b502b502df02b502b502df02b502b502df02b502b502df02b502b502df02b502b502df02b502b502df02b502b502df02b502b502df02b502b502df02b502b502df02b502b502df02b502b502df02b502b502df02b502b502df02b502b502df02b502b502df02b502b502df02b502b502df02b502b502df02b502b502df02b502b502df02b502b502df02b502b502df02b502b502df02b502b502cc02cc02cc02cc02cc02cc02cc02cc02cc02cc02cc02cc02cc02cc02cc02cc02cc02cc02cc02cc02cc02cc02cc02cc02cc02cc02cc02cc02cc02cc02cc02cc02cc02cc02cc02cc02cc02cc02cc02cc02cc02f602cc02f602f702cc02f702f702cc02f702df02cc02df02df02c202c202c202c202c202c202c202c202c202c202c202c202c202c202c202c202c202c202c202c202c202c202c202c202c202c202c202c202c202c202c202c202c202c202c202c202c202c202c202c202c202c202c202c202c202c202c202c202c202c202c202c202c202c202c202c202c202c202c202c202c202c202c202dc02dc02dc02dc02dc02dc02dc02dc02dc02dc02dc02dc02dc02dc02dc02dc02dc02dc02dc02dc02dc0205032c0305030503050305030503050305030503050305030503050305030503050305030503050305030503050305030503050305030503050305030503050305030503050305030503050305030503050305030503050305030503050305030503050305030503050305030503050305030503050305030503050305030503050305030503050305030503050305030503050305030503050305030503050305030503050305030503050305030503050305030503050305030503050305030503050305030503050305030503050305030503050305030503050305030503050305030503050305030503050305030503050305030503050305030503050305030503050305030503050305030503050305030503050305030503050305030503050305030503050305030503050305030503050305030503050305030503050305030503050305030503050305030503050305030503050305030503050305030503050305030503050305030503050305030503050305030503050305030503050305030503050305030503050305030503050305030503050305030503050305030503050305030503050305030503050305030503050305030503050305030503050305030503050305030503050305030503050305032c03340325032c03250325032c03250305032c03050305032c03050305032c03050305032c03050305032c03050305032c03050305032c03050305032c03050305032c03050305032c03050305032c03050305032c03050305032c03050305032c03050305032c03050305032c03050305032c03050305032c03050305032c03050305032c03050305032c03050305032c03050305032c03050305032c03050305032c03050305032c03050305032c03050305032c03050305032c03050305032c03050305032c03050305032c03050305032c03050305032c03050305032c03050305032c03050305032c03050305032c03050305032c03050305032c0305030503270328032e0327032e032c0327032c030503270305030503270305030503270305030503270305030503270305030503270305030503270305030503270305030503270305030503270305030503270305030503270305030503270305030503270305030503270305030503270305030503270305030503270305030503270305030503270305030503270305030503270305030503270305030503270305030503270305030503270305030503270305030503270305030503270305030503270305030503270305030503270305030503270305030503270305030503270305030503270305030503270305030503270305030503270305030503300328032703300327032f032c03340325032c03250325032c03250305032c03050305032c03050305032c03050305032c03050305032c03050305032c03050305032c03050305032c03050305032c03050305032c03050305032c03050305032c03050305032c03050305032c03050305032c03050305032c03050305032c03050305032c03050305032c03050305032c03050305032c03050305032c03050305032c03050305032c03050305032c03050305032c03050305032c03050305032c03050305032c03050305032c03050305032c03050305032c03050305032c03050305032c03050305032c03050305032c03050305032c03050305032c03050305032c03050305032c030503050336032f032703360327030503360305030503360305030503360305030503360305030503360305030503360305030503360305030503360305030503360305030503360305030503360305030503360305030503360305030503360305030503360305030503360305030503360305030503360305030503360305030503360305030503360305030503360305030503360305030503360305030503360305030503360305030503360305030503360305030503360305030503360305030503360305030503360305030503360305030503360305030503360305030503360305030503360305030503360305030503360305030503360305030503340338033003340330032f0334032f033603340336032503340325032503300328032703300327032f03050325032503050325033603050336030503050305030503050305030503050305030503050305030503050305030503050305030503050305030503050305030503050305030503050305030503050305030503050305030503050305030503050305030503050305030503050305030503050305030503050305030503050305030503050305030503050305030503050305030503050305030503050305030503050305030503050305030503050305030503050305030503050305030503050305030503050305030503050305030503050305030503050305030503050305030503050305030503050305030503050305030503050305030503050305030503050305030503050305030503050305030503050305030503050305030503050305030503050305030503050305030503050305030503050305030503050305030503050305030503050305030503050305030503050305030503050305030503050305030503050305030503050305030503050305030503050305030503050305030503050305030503050305030503050305030503050305030503050305030503050305030503050305030503050305030503050305030503050305030503050305030503050305030503050305030503050305030503050305030503300338033403300334032c0330032c032e032c032e0328032c03280330032c033003380339033903390339033903390339033903390339033903390339033903390339033903390339033903390339033903390339033903390340034003400340034003400340034003400340034003400340034003400340034003400340034003400346034603460346034603460346034603460346034603460346034603460346034603460346034603460346034603460346034603460346034603460346034603460346034603460346034603460346034603460378034f034f0378034f034f0378034f034f0378034f034f0378034f034f03530353035303530353035303530353035303530353035303530353035303530353035303530353035303530353035303530353035303530353035303530353035303530353035303530353035303530353035303530353035303530353035d0353035d035d0353035d035d0353035d035d0353035d035d0353035d035d03660353035303660353035303660353035303660353035303660353035303660353035303660353035303660353035303660353035303660353035303660353035303660353035303660353035303660353035303660353035303660353035303660353035d0366035d035d0366035d035d0366035d035d0366035d035d0366035d035d0366035d034003660340034003660340034003660340034003660340034003660340034003660340034003660340034003660340034003530353035303530353035303530353035303530353035303530353035303530353035303530353035303530353035303530353035303530353035303530353035303530353035303530353035303530353035303530353035303530353034603530346034603530346034603530346034603530346034603530346034603530346034603530346034603530346034603530346034603530346034603530346034603530346034603530346034603530346034603530346034603530346033903530339033903530339033903530339033903530339033903530339033903530339033903530339033903530339033903530339033903530339033903530339035d0353035d035d0353035d035d0353035d035d0353035d035d0353035d035d03390339033903390339033903390339033903390339033903390339033903390339033903390339033903390339033903390339033903390339033903390339034f0339034f034f0339034f034f0339034f034f0339034f034f0339034f034f0339034f034003390340034003390340034003390340034003390340034003390340034003390340034003390340034003390340034003390340035d0339035d035d0339035d035d0339035d035d0339035d035d0339035d035d034f034f034f034f034f034f034f034f034f034f034f034f034f034f0378034f03780366034f03660340034f03400340034f03400340034f03400340034f03400340034f03400340034f03400340034f03400340034f0340034003460346034603460346034603460346034603460346034603460346034603460346034603460346034603460346034603460346034603460346034603460346034603460346034603460346034603460346034603460346035303460353035303460353035303460353035303460353035303460353035303460353035303460353035303460353035303460353035303460353035303460353035303460353035303460353035303460353035303460353035303460353035303460346034603460346034603460346034603460346034603460346034603460346034603460346034603460346034603460346034603460346034603460346034603460346034603460346034603460346034603460346037803460378034f0346034f034f0346034f034f0346034f034f0346034f034f0346034f034f0346034f033903460339033903460339033903460339033903460339033903460339033903460339033903460339033903460339033903460339033903460339033903530353035303530353035303530353035303530353035303530353035303530353035303530353035303530353035303530353035303530353035303530353035303530353035303530353035303530353035303530353035303530353036603400340034003400340034003400340034003400340034003400340034003400340034003400340034003400340035d0340035d035d0340035d035d0340035d035d0340035d035d0340035d035d03390339033903390339033903390339033903390339033903390339033903390339033903390339033903390339033903390339033903390339033903390339035d0339035d035d0339035d035d0339035d035d0339035d035d0339035d035d03780346034603780346034603780346034603780346034603780346034603780346034603780346034603780346034603780346034603780346034603780346034603780346034603780346034603780346034603780346034603780346035303780353035303780353035303780353035303780353035303780353035303780353035303780353035303780353035303780353035303780353035303780353035303780353035303780353035303780353035303780353035303780353035303780353036603390339033903390339033903390339033903390339033903390339033903390339033903390339033903390339033903390339033903390339034f0339034f034f0339034f034f0339034f034f0339034f034f0339034f034f034603460346034603460346034603460346034603460346034603460346034603460346034603460346034603460346034603460346034603460346034603460346034603460346034603460346034603460346037d037d037d037d037d037d037d037d037d037d037d037d037d037d037d037d037d037d037d037d037d037d037d037d037d037d037d037d037d037d037d037d037d037d037d037d037d037d037d037d037d037d037d037d037d037d037d037d037d037d037d037d037d037d037d037d037d037d037d037d037d037d037d037d037d037d037d037d037d037d037d037d039b038a038a039b038a038a039b038a038a039b038a038a039b038a038a039b038a038a039b038a038a039b038a038a039b038a038a039b038a038a039b038a038a038a038a038a038a038a038a038a038a038a038a038a038a038a038a038a038a038a038a038a038a038a038a038a038a038a038a038a038a038a038a038a038a037d038a037d037d038a037d037d038a037d037d038a037d037d038a037d037d038a037d037d038a037d037d038a037d037d038a037d037d038a037d037d038a037d037d038a037d037d038a037d037d038a037d037d038a037d037d038a037d037d038a037d037d038a037d037d038a037d037d038a037d037d038a037d037d038a037d037d038a037d037d038a037d037d038a037d037d038a038a038a038a038a038a038a038a038a038a038a038a038a038a038a038a038a038a038a038a038a038a038a038a038a038a038a038a038a038a038a038a039b038a039b03a2038a03a2037d038a037d037d038a037d037d038a037d037d038a037d037d038a037d037d038a037d037d038a037d037d038a037d037d038a037d037d038a037d037d038a037d037d038a037d037d038a037d037d038a037d037d038a037d037d038a037d037d038a037d037d038a037d037d038a037d037d038a037d037d038a037d037d038a037d037d038a037d037d038a037d037d038a037d037d03a303a403a503a303a5039b03a3039b038a03a3038a038a03a3038a038a03a3038a038a03a3038a038a03a3038a038a03a3038a038a03a3038a038a03a3038a038a03a3038a038a03a3038a038a03a3038a038a03a7037d037d03a7037d037d03a7037d037d03a7037d037d03a7037d037d03a7037d037d03a7037d037d03a7037d037d03a7037d037d03a7037d037d03a7037d037d03a7037d037d03a7037d037d03a7037d037d03a7037d037d03a7037d037d03a7037d037d03a7037d037d03a7037d037d03a7037d037d03a7037d037d03a7037d037d03a7037d037d03a7037d037d03a7037d037d03a803a403a303a803a303a703a703a3038a03a7038a038a03a7038a038a03a7038a038a03a7038a038a03a7038a038a03a7038a038a03a7038a038a03a7038a038a03a7038a038a03a7038a038a03a7038a038a03a7038a037d03a7037d037d03a7037d037d03a7037d037d03a7037d037d03a7037d037d03a7037d037d03a7037d037d03a7037d037d03a7037d037d03a7037d037d03a7037d037d03a7037d037d03a7037d037d03a7037d037d03a7037d037d03a7037d037d03a7037d037d03a7037d037d03a7037d037d03a7037d037d03a7037d037d03a7037d037d03a7037d037d03a7037d037d03a7037d037d037d037d037d037d037d037d037d037d037d037d037d037d037d037d037d037d037d037d037d037d037d037d037d037d037d037d037d037d037d037d037d037d037d037d037d037d037d037d037d037d037d037d037d037d037d037d037d037d037d037d037d037d037d037d037d037d037d037d037d037d037d037d037d037d037d037d037d037d037d037d037d037d03a203aa03a803a203a803a703a203a7037d03a2037d037d03a2037d037d03a2037d037d03a2037d037d03a2037d037d03a2037d037d03a2037d037d03a2037d037d03a2037d037d03a2037d037d03a2037d037d03a2037d037d03a2037d037d03a2037d037d03a2037d037d03a2037d037d03a2037d037d03a2037d037d03a2037d037d03a2037d037d03a2037d037d03a2037d037d03a2037d037d03a2037d037d03a2037d037d03a3038a038a03a3038a038a03a3038a038a03a3038a038a03a3038a038a03a3038a038a03a3038a038a03a3038a038a03a3038a038a03a3038a038a03a3038a038a03a503a803aa03a503aa03a203a503a2039b03a803aa03a503a803a503a403ab03ab03ab03ab03ab03ab03ab03ab03ab03ab03ab03ab03ab03ab03ab03ab03ab03ab03ab03ab03ab03ab03ab03ab03ab03ab03ab03ab03ab03ab03ab03ab03ab03ab03ab03ab03ab03ab03ab03ab03ab03ab03ab03ab03ab03ab03ab03ab03ab03ab03ab03ab03ab03ab03ab03ab03ab03ab03ab03ab03b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503c303c303c303c303c303c303c303c303c303c303c303c303c303c303c303c303c303c303c303c303c303c303c303c303c303c303c303c303c303c303c303c303c303c303c303c303c303c303c303c303c303c303c303c303c303c303c303c303c303c303c303c303c303c303c303c303c303c303c303c303c303c303c303c303c303c303c303c303c303c303c303c303c303c303c303d103d103d103d103d103d103d103d103d103d103d103d103d103d103d103d103d103d103d103d103d103d103d103d103d103d103d103d103d103d103e103e103e103e103e103e103e103e103e103e103e103e103b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503e103b503e103e103b503e103e103b503e103e103b503e103e103b503e103e103b503e103c303b503c303c303b503c303c303b503c303c303b503c303c303b503c303c303b503c303c303b503c303c303b503c303c303b503c303c303b503c303c303b503c303c303b503c303c303b503c303c303b503c303c303b503c303c303b503c303c303b503c303c303b503c303c303b503c303c303b503c303c303b503c303c303b503c303c303b503c303c303b503c303c303b503c303c303b503c303c303b503c303d703b503d703d703b503d703d703b503d703d703b503d703d703b503d703d703ab03ab03ab03ab03ab03ab03ab03ab03ab03ab03ab03ab03ab03ab03ab03ab03ab03ab03ab03ab03ab03ab03ab03ab03ab03ab03ab03ab03ab03ab03ab03ab03ab03ab03ab03ab03ab03ab03ab03ab03ab03ab03ab03ab03ab03ab03ab03ab03ab03ab03ab03ab03ab03ab03ab03ab03ab03ab03ab03ab03ab03ab03d103ab03d103d103ab03d103d103ab03d103d103ab03d103d103ab03d103d103ab03d103d103ab03d103d103ab03d103d103ab03d103d103ab03d103d103ab03d103d103ab03d103d703ab03d703d703ab03d703d703ab03d703d703ab03d703d703ab03d703d703ab03d703c303ab03c303c303ab03c303c303ab03c303c303ab03c303c303ab03c303c303ab03c303c303ab03c303c303ab03c303c303ab03c303c303ab03c303c303ab03c303c303ab03c303c303ab03c303c303ab03c303c303ab03c303c303ab03c303c303ab03c303c303ab03c303c303ab03c303c303ab03c303c303ab03c303c303ab03c303c303ab03c303c303ab03c303c303ab03c303c303ab03c303c303fb03b503b503fb03b503b503fb03b503b503fb03b503b503fb03b503b503fb03b503b503fb03b503b503fb03b503b503fb03b503b503fb03b503b503fb03b503b503fb03b503b503fb03b503b503fb03b503b503fb03b503b503fb03b503b503fb03b503b503fb03b503b503fb03b503b503fb03b503b503fb03b503b503fb03b503b503fb03b503b503fb03b503b503fb03b503b503fb03b503b503fb03b503b503fb03b503d703fb03d703d703fb03d703d703fb03d703d703fb03d703d703fb03d703d703fb03d703d103fb03d103d103fb03d103d103fb03d103d103fb03d103d103fb03d103d103fb03d103d103fb03d103d103fb03d103d103fb03d103d103fb03d103d103fb03d103d1030404fb03d1030404d103d1030404d103d1030404d103d1030404d103d1030404d103d1030404d103d1030404d103d1030404d103d1030404d103d1030404d103d1030404d103d1030404d103ab030404ab03ab030404ab03ab030404ab03ab030404ab03ab030404ab03ab030404ab03ab030404ab03ab030404ab03ab030404ab03ab030404ab03ab030404ab03ab030404ab03ab030404ab03ab030404ab03ab030404ab03ab030404ab03ab030404ab03ab030404ab03ab030404ab03ab030404ab03ab030404ab03ab03b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503e103b503e103e103b503e103e103b503e103e103b503e103e103b503e103e103e103e103e103e103e103e103e103e103e103e103e103e103e103e1030404e1030404ab03e103ab03ab03e103ab03ab03e103ab03ab03e103ab03ab03e103ab03ab03e103ab03ab03e103ab03ab03e103ab03ab03e103ab03ab03e103ab03ab03e103ab03ab03e103ab03ab03e103ab03ab03e103ab03ab03e103ab03ab03e103ab03ab03e103ab03ab03e103ab03ab03e103ab03ab03e103ab03ab03e103ab03ab03e103ab03c303e103c303c303e103c303c303e103c303c303e103c303c303e103c303c303e103c303c303e103c303c303e103c303c303e103c303c303e103c303c303e103c303c303e103c303c303e103c303c303e103c303c303e103c303c303e103c303c303e103c303c303e103c303c303e103c303c303e103c303c303e103c303c303e103c303c303e103c303c303e103c303c303e103c303c303e103c303c303b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503fb03b503fb030404b5030404e103b503e103e103b503e103e103b503e103e103b503e103e103b503e103e103b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503e103b503e103e103b503e103e103b503e103e103b503e103e103b503e103e103d703d703d703d703d703d703d703d703d703d703d703d703d703d703c303d703c303c303d703c303c303d703c303c303d703c303c303d703c303c303d703c303c303d703c303c303d703c303c303d703c303c303d703c303c303d703c303c303d703c303c303d703c303c303d703c303c303d703c303c303d703c303c303d703c303c303d703c303c303d703c303c303d703c303c303d703c303c303d703c303c303d703c303c303d703c303c303d703c303c303d703c303c303fb03b503b503fb03b503b503fb03b503b503fb03b503b503fb03b503b503fb03b503b503fb03b503b503fb03b503b503fb03b503b503fb03b503b503fb03b503b503fb03b503b503fb03b503b503fb03b503b503fb03b503b503fb03b503b503fb03b503b503fb03b503b503fb03b503b503fb03b503b503fb03b503b503fb03b503b503fb03b503b503fb03b503b503fb03b503b503fb03b503b503fb03b503b503fb03b503d703fb03d703d703fb03d703d703fb03d703d703fb03d703d703fb03d703d703fb03d703d103fb03d103d103fb03d103d103fb03d103d103fb03d103d103fb03d103d103fb03d103d103fb03d103d103fb03d103d103fb03d103d103fb03d103d103fb03d103d103e103e103e103e103e103e103e103e103e103e103e103e103e103e1030404e1030404ab03e103ab03ab03e103ab03ab03e103ab03ab03e103ab03ab03e103ab03ab03e103ab03ab03e103ab03ab03e103ab03ab03e103ab03ab03e103ab03ab03e103ab03ab03e103ab03ab03e103ab03ab03e103ab03ab03e103ab03ab03e103ab03ab03e103ab03ab03e103ab03ab03e103ab03ab03e103ab03ab03e103ab03ab03e103ab03c303e103c303c303e103c303c303e103c303c303e103c303c303e103c303c303e103c303c303e103c303c303e103c303c303e103c303c303e103c303c303e103c303c303e103c303c303e103c303c303e103c303c303e103c303c303e103c303c303e103c303c303e103c303c303e103c303c303e103c303c303e103c303c303e103c303c303e103c303c303e103c303c303e103c303c303e103c303c303ab03ab03ab03ab03ab03ab03ab03ab03ab03ab03ab03ab03ab03ab03ab03ab03ab03ab03ab03ab03ab03ab03ab03ab03ab03ab03ab03ab03ab03ab03ab03ab03ab03ab03ab03ab03ab03ab03ab03ab03ab03ab03ab03ab03ab03ab03ab03ab03ab03ab03ab03ab03ab03ab03ab03ab03ab03ab03ab03ab03ab03ab03c303ab03c303c303ab03c303c303ab03c303c303ab03c303c303ab03c303c303ab03c303c303ab03c303c303ab03c303c303ab03c303c303ab03c303c303ab03c303c303ab03c303c303ab03c303c303ab03c303c303ab03c303c303ab03c303c303ab03c303c303ab03c303c303ab03c303c303ab03c303c303ab03c303c303ab03c303c303ab03c303c303ab03c303c303ab03c303c303ab03c303c303d103d103d103d103d103d103d103d103d103d103d103d103d103d103d103d103d103d103d103d103d103d103d103d103d103d103d103d103d103d103d103d103ab03d103ab03ab03d103ab03ab03d103ab03ab03d103ab03ab03d103ab03ab03d103ab03ab03d103ab03ab03d103ab03ab03d103ab03ab03d103ab03ab03d103ab03ab03d103ab03ab03d103ab03ab03d103ab03ab03d103ab03ab03d103ab03ab03d103ab03ab03d103ab03ab03d103ab03ab03d103ab03ab03d103ab03ab03b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b503b5031204120412041204120412041204120412041204120412041204120412041204120412041204120412041204120412041204120412041204120412041204120412041204120412041204120412041204120412041204120412041204120412041204120412041204120412041204120412041204120412041204120412041204120412041204120412041204120412041204120412041204120412041204120412041204120412041204120412041204120412041204120412041204120412041204120412041204120412041204120412041204120412046404640464046404640464046404640464046404640464046404640464046404640464046404640464046404640464046404640464046404640464046404640464046404640464046404640464046404640464046404640464046404640464046404640464046404640464046404640464046404640464046404640464046404640464046404640464046404640464046404640464042104210421042104210421042104210421042104210421042104210421042104210421042104210421042104210421042104210421042104210421042104210421042104210421042104210421042104210421042104210421042104210421042104210421042104210421042104210421042104210421042104210421042104210421042104210421042104210421042104210421042104210421042104210421042104210421042104210421042104210421042104210421042104210421042104210421042104210421042104210421042104210421042104210421042104210421042104210421042104210421042104210421042104210421041204120412041204120412041204120412041204120412041204120412041204120412041204120412041204120412041204120412041204120412041204120412041204120412041204120412041204120412041204120412041204120412041204120412041204120412041204120412041204120412041204120412041204120412041204120412041204120412041204120412041204120412041204120412041204120412041204120412041204120412041204120412041204120412041204120412041204120412041204120412041204120412041204120421041204210421041204210421041204210421041204210421041204210421041204210421041204210421041204210421041204210421041204210421041204210421041204210421041204210421041204210421041204210421041204210421041204210421041204210421041204210421041204210421041204210421041204210421041204210421041204210421041204210421041204210421041204210421041204210421041204210421041204210421041204210421041204210421041204210421041204210421041204210421041204210421041204210421041204210421041204210421041204210421041204210421041204210421041204210421041204210439041204390439041204390439041204390439041204390439041204390439041204390439041204390438041204380438041204380438041204120412041204120412041204120412041204120412041204120412041204120412041204120412041204120412041204120412041204120412041204120412041204120412041204120412041204120412041204120412041204120412041204120412041204120412041204120412041204120412041204120412041204120412041204120412041204120412041204120412041204120412041204120412041204120412041204120412041204120412041204120412041204120412041204120412041204120412041204120412041204120412041204120438041204380438041204380438041204380454041204540455041204550455041204550455045e045e045e045e045e045e045e045e045e045e045e045e045e045e045e045e045e045e045e045e045e045e045e045e045e045e045e045e045e045e045e045e045e045e045e0455045e04550455045e04550455045e04550454045e0454049e045e049e0463045e04630463042104210421042104210421042104210421042104210421042104210421042104210421042104210421042104210421042104210421042104210421042104210421042104210421042104210421042104210421042104210421042104210421042104210421042104210421042104210421042104210421042104210421042104210421042104210421042104210421042104210421042104210421042104210421042104210421042104210421042104210421042104210421042104210421042104210421042104210421042104210421042104210421042104210421042104210421042104210421042104210421042104210421042104210421042104210464042104640464042104640464042104640464042104640464042104640464042104640464042104640464042104640464042104640464042104640464042104640464042104640464042104640464042104640464042104640464042104640464042104640464042104640464042104640464042104640464042104640464042104640464042104640464042104640464042104640464042104640464042104640439042104390439042104390439042104390439042104390439042104390439042104390439043904390439043904390439043904390439043904390439043904390439043904390464043904640464043904640464043904640464043904640464043904640464043904640464043904640464043904640464043904640464043904640464043904640464043904640464043904640464043904640464043904640464043904640464043904640464043904640464043904640464043904640464043904640464043904640464043904640464043904640464043904640464043904640464045e045e045e045e045e045e045e045e045e045e045e045e045e045e045e045e045e045e045e045e045e045e045e045e045e045e045e045e045e045e045e045e045e045e045e0480045e04800412045e04120412045e04120412045e04120412045e04120412045e04120412045e04120412045e04120412045e04120412045e04120412045e04120412045e04120412045e04120412045e04120412045e04120412045e04120412045e04120412045e04120412045e04120412045e04120412045e04120412045e04120412045e04120412045e04120412045e04120412045e04120412045e04120412045e04120412045e04120412045e04120412045e04120412045e04120412045e04120412045e04120412045e04120412045e04120412045e04120412045e04120412045e04120455045e04550455045e0455045504120412041204120412041204120412041204120412041204120412041204120412041204120412041204120412041204120412041204120412041204120412041204120412041204120412041204120412041204120412041204120412041204120412041204120412041204120412041204120412041204120412041204120412041204120412041204120412041204120412041204120412041204120412041204120412041204120412041204120412041204120412041204120412041204120412041204120412041204120412041204120412041204120412048004120480048e0412048e048e0412048e04210412042104210412042104210412042104210412042104210412042104210412042104210412042104210412042104210412042104210412042104210412042104210412042104210412042104210412042104210412042104210412042104210412042104210412042104210412042104210412042104210412042104210412042104210412042104210412042104210412042104210412042104210412042104210412042104210412042104210412042104210412042104210412042104210412042104210412042104210412042104210412042104210412042104210412042104210412042104210412042104210412042104210412042104210412042104210480045e045e0480045e045e0480045e045e0480045e045e0480045e045e0480045e045e0480045e045e0480045e045e0480045e045e0480045e045e0480045e045e0480045e045e0480045e046304800463046304210421042104210421042104210421042104210421042104210421042104210421042104210421042104210421042104210421042104210421042104210421042104210421042104210421042104210421042104210421042104210421042104210421042104210421042104210421042104210421042104210421042104210421042104210421042104210421042104210421042104210421042104210421042104210421042104210421042104210421042104210421042104210421042104210421042104210421042104210421042104210421042104210421042104210421042104210421042104210421042104210421042104210421042104210421048e0421048e048e0421048e04a0042104a004a2042104a20464042104640464042104640464042104640464042104640464042104640464042104640464042104640464042104640464042104640464042104640464042104640464042104640464042104640464042104640464042104640464042104640464042104640464042104640464042104640464042104640464042104640464042104640464042104640464042104640464042104640464042104640464046404640464046404640464046404640464046404640464046404640464046404640464046404640464046404640464046404640464046404640464046404640464046404640464046404640464046404640464046404640464046404640464046404640464046404640464046404640464046404640464046404640464046404640464046404640464046404640464046404640464042104210421042104210421042104210421042104210421042104210421042104210421042104210421042104210421042104210421042104210421042104210421042104210421042104210421042104210421042104210421042104210421042104210421042104210421042104210421042104210421042104210421042104210421042104210421042104210421042104210421042104210421042104210421042104210421042104210421042104210421042104210421042104210421042104210421042104210421042104210421042104210421042104210421042104210421042104210421042104210421042104210421042104210421042104210439042104390439042104390439042104390439042104390439042104390439042104390439041204120412041204120412041204120412041204120412041204120412041204120412041204120412041204120412041204120412041204120412041204120412041204120412041204120412041204120412041204120412041204120412041204120412041204120412041204120412041204120412041204120412041204120412041204120412041204120412041204120412041204120412041204120412041204120412041204120412041204120412041204120412041204120412041204120412041204120412041204120412041204120412041204120438041204380438041204380438041204120412041204120412041204120412041204120412041204120412041204120412041204120412041204120412041204120412041204120412041204120412041204120412041204120412041204120412041204120412041204120412041204120412041204120412041204120412041204120412041204120412041204120412041204120412041204120412041204120412041204120412041204120412041204120412041204120412041204120412041204120412041204120412041204120412041204120412041204120412041204120412041204120421041204210421041204210421041204210421041204210421041204210421041204210421041204210421041204210421041204210421041204210421041204210421041204210421041204210421041204210421041204210421041204210421041204210421041204210421041204210421041204210421041204210421041204210421041204210421041204210421041204210421041204210421041204210421041204210421041204210421041204210421041204210421041204210421041204210421041204210421041204210421041204210421041204210421041204210421041204210421041204210421041204210421041204210421041204210421045e045e045e045e045e045e045e045e045e045e045e045e045e045e045e045e045e045e045e045e045e045e045e045e045e045e045e045e045e045e045e045e045e045e045e0455045e04550455045e04550455045e04550454045e0454049e045e049e0463045e04630463041204120412041204120412041204120412041204120412041204120412041204120412041204120412041204120412041204120412041204120412041204120412041204120412041204120412041204120412041204120412041204120412041204120412041204120412041204120412041204120412041204120412041204120412041204120412041204120412041204120412041204120412041204120412041204120412041204120412041204120412041204120412041204120412041204120412041204120412041204120412041204120412041204120455041204550455041204550455045e045e045e045e045e045e045e045e045e045e045e045e045e045e045e045e045e045e045e045e045e045e045e045e045e045e045e045e045e045e045e045e045e045e045e0455045e04550455045e04550455045e04550454045e0454049e045e049e0463045e0463046304a0048e048e04a0048e048004a00480045e04a0045e045e04a0045e045e04a0045e045e04a0045e045e04a0045e045e04a0045e045e04a0045e045e04a0045e045e04a0045e045e04a0045e045e04a0045e045e04a0045e045e04a0045e046304a00463046304a0046304a204210421042104210421042104210421042104210421042104210421042104210421042104210421042104210421042104210421042104210421042104210421042104210421042104210421042104210421042104210421042104210421042104210421042104210421042104210421042104210421042104210421042104210421042104210421042104210421042104210421042104210421042104210421042104210421042104210421042104210421042104210421042104210421042104210421042104210421042104210421042104210421042104210421042104210421042104210421042104210421042104210421042104210421042104210421048e0421048e048e0421048e04a0042104a004a2042104a20464042104640464042104640464042104640464042104640464042104640464042104640464042104640464042104640464042104640464042104640464042104640464042104640464042104640464042104640464042104640464042104640464042104640464042104640464042104640464042104640464042104640464042104640464042104640464042104640464042104640464042104640464049e04540454049e04540438049e04380438049e04380438049e04380439049e04390439049e04390439049e04390439049e04390439049e04390439049e04390439049e04390464049e04640464049e04640464049e04640464049e04640464049e04640464049e04640464049e04640464049e04640464049e04640464049e04640464049e04640464049e04640464049e04640464049e04640464049e04640464049e04640464049e04640464049e04640464049e04640464049e04640464049e04640464049e04640464049e04640464049e04640464049e04640464049e0464046404a20463046304a20463049e04a2049e046404a20464046404a20464046404a20464046404a20464046404a20464046404a20464046404a20464046404a20464046404a20464046404a20464046404a20464046404a20464046404a20464046404a20464046404a20464046404a20464046404a20464046404a20464046404a20464046404a20464046404a20464046404a20464046404a20464046404a20464046404a20464046404a20464046404a0048e048e04a0048e048004a00480045e04a0045e045e04a0045e045e04a0045e045e04a0045e045e04a0045e045e04a0045e045e04a0045e045e04a0045e045e04a0045e045e04a0045e045e04a0045e045e04a0045e045e04a0045e046304a00463046304a0046304a204a804a804a304a804a804a304a504a304a404a504a404a604a704ad04a404a804a804ab04a804ab04ac04a804ac04aa04a804aa04a704a304a804a804a304a804a704a304a704ad04a304ad04a404ad04a704aa04ad04aa04ae04a804a804ab04ab04a504a604ab04a604af04ab04af04ac04a304a504ab04a304ab04a804a304a804a804af04a604a404af04a404ad04af04ad04a704af04a704ae04af04ae04aa04ae04aa04ac04ae04ac04af04ae04af04a604f004f004f004f004f004f004f004f004f004f004f004f004f004f004f004f004f004f004f004f004b004f004b004b004f004b004b004f004b004b004f004b004b004f004b004b004f004b004b004f004b004b004f004b004b004f004b004b004f004b004b004f004b004b004f004b004b004f004b004b004f004b004b004f004b004b004f004b004b004f004b004b004f004b004b004f004b004b004f004b004b004f004b004b004f004b004b004f004b004b004f004b004b004f004b004b004f004b004b004bd04bd04bd04bd04bd04bd04bd04bd04bd04c804c804bd04c804bd04bd04c804bd04bd04c804bd04bd04c804bd04bd04c804bd04c104c804c104c104c804c104c104c804c104c104c804c104c104c804c104c004c804c004c004c804c004c004c804c004c004c804c004c004c804c004c004c804c004c004c804c004c004c804c004c004c804c004c004c804c004c004c804c004c004c804c004c004c804c004c004c804c004c004c804c004c004c804c004c004c804c004c004c804c004c004c804c004c004c804c004c004c804c004c004c804c004c004c804c004c004c804c004c004c804c004c604c804c604c604c804c604c604c804c604c604c804c604c604d304d3041505b004b004b004b004b004b004b004b004b004b004b004b004b004b004b004b004b004b004b004b004b004b004b004b004b004b004b004b004b004b004b004b004b004b004b004b004b004b004b004b004b004b004b004b004b004b004b004b004b004b004b004b004b004b004b004b004b004b004b004b004b004b004b004b004b004b004b004b004b004b004b004b004b004b004b004b004b004d504b004d504d504b004d504d504b004d504d504b004d504d504b004d504d504b004d504d504b004d504d504b004d504d504b004d504d504b004d504d504b004d504d504b004d504d504b004d504d504b004d504d504c104c104c104c104c104c104c104c104c104c104c104c004c104c004c004c104c004c004c104c004c004c104c004c004c104c004c004c104c004c004c104c004c004c104c004c004c104c004c004c104c004c004c104c004c004c104c004c004c104c004c004c104c004c004c104c004c004c104c004c004c104c004c004c104c004c004c104c004c004c104c004c004c104c004c004c104c004c004c104c004c004c104c004c004eb04eb04d304eb04d304d304c004c004c004c004c004c004c004c004c004c004c004c004c004c004c004c004c004c004c004c004c004c004c004c004c004c004c004c004c004c004c004c004c004c004c004c004c004c004c004c004c004c004c004c004c004c004c004c004c004c004c004c004c004c004c004c004c004c004c004c004c004c004c004c004c004c004c004c004c004c004c0041505c0041505c604c004c604c604c004c604c604c004c604c604c004c604c604f004f004f004f004f004f004f004f004f004f004f004f004f004f004f004f004f004f004f004f004b004f004b004b004f004b004b004f004b004b004f004b004b004f004b004b004f004b004b004f004b004b004f004b004b004f004b004b004f004b004b004f004b004b004f004b004b004f004b004b004f004b004b004f004b004b004f004b004b004f004b004b004f004b004b004f004b004b004f004b004b004f004b004b004f004b004b004f004b004b004f004b004b004f004b004b004f004b004b004f004b004d504f004d504d504f004d504d504f004d504d504f004d504d504f004d504d504f004d504d504f004d504d504f004d504d504f004d504d504f004d504d504f004d504d504f004d504d504f004d504d504f004d504d504f004d504f604f004f604f604f004f604f604f004f604fa04f004fa04f904f004f904f404f004f404f404f004f404f404b004b004b004b004b004b004b004b004b004b004b004b004b004b004b004b004b004b004b004b004b004b004b004b004b004b004b004b004b004b004b004b004b004b004b004b004b004b004b004b004b004b004b004b004b004b004b004b004b004b004b004b004b004b004b004b004b004b004b004b004b004b004b004b004b004b004b004b004b004b004b004b004b004b004b004b004b004f004b004f004f004b004f004f004b004f004f004b004f004f004b004f004f004b004f004f004b004f004f004b004f004bd04b004bd04bd04b004bd04bd04b004bd04bd04b004bd04bd04b004bd04c804b004c804c804b004c8040605f004f004f004f004f004f004f004f004f004f004f004f004f004f004f004f004f004f004f004f004f404f004f404f404f004f404f404f004f404c104f004c104c104f004c104c104f004c104c104f004c104c104f004c104bd04f004bd04bd04f004bd04bd04f004bd04bd04f004bd04bd04d504d504d504d504d504d504d504d504d504d504d504d504d504d504d504d504d504d504d504d504d504d504d504d504d504d504d504d504d504d504d504d504d504d504d504d504d504d504d504d504d504f604d504f604f604d504f604f604c104c104c104c104c104c104c104c104c104c104c104c004c104c004c004c104c004c004c104c004c004c104c004c004c104c004c004c104c004c004c104c004c004c104c004c004c104c004c004c104c004c004c104c004c004c104c004c004c104c004c004c104c004c004c104c004c004c104c004c004c104c004c004c104c004c004c104c004c004c104c004c004c104c004c004c104c004c004c104c004c004c104c004c004c104c004c604c104c604c604c104c604c604c104c604c604c104c604c604f904fa041505f9041505c604f904c604c604f904c604c604f904c604c604f904c604c604f904c604c004f904c004c004f904c004c004f904c004c004f904c004c004f904c004c004f904c004c004f904c004c004f904c004c004f904c004c004f904c004c004f904c004c004f904c004c004f904c004c004f904c004c004f904c004c004f904c004c004f904c004c004f904c004c004f904c004c004f904c004c004f904c004c004f904c004c004f904c004c004f904c004c0040605bd04bd040605bd04bd040605bd04bd040605bd04bd040605bd04c8040605c804c804c104c104c104c104c104c104c104c104c104c104c104c004c104c004c004c104c004c004c104c004c004c104c004c004c104c004c004c104c004c004c104c004c004c104c004c004c104c004c004c104c004c004c104c004c004c104c004c004c104c004c004c104c004c004c104c004c004c104c004c004c104c004c004c104c004c004c104c004c004c104c004c004c104c004c004c104c004c004c104c004c004c104c004c004c104c004c604c104c604c604c104c604c604c104c604c604c104c604c604c104c104c104c104c104c104c104c104c104c104c104f404c104f404f404c104f404f404c104f404f904c104f904c004c104c004c004c104c004c004c104c004c004c104c004c004c104c004c004c104c004c004c104c004c004c104c004c004c104c004c004c104c004c004c104c004c004c104c004c004c104c004c004c104c004c004c104c004c004c104c004c004c104c004c004c104c004c004c104c004c004c104c004c004c104c004c004c104c004c004c104c004c004c104c004c004fa04f604f604fa04f604f604fa04f604d304fa04d304d304fa04d3041505b004b004b004b004b004b004b004b004b004b004b004b004b004b004b004b004b004b004b004b004b004b004b004b004b004b004b004b004b004b004b004b004b004b004b004b004b004b004b004b004b004b004b004b004b004b004b004b004b004b004b004b004b004b004b004b004b004b004b004b004b004b004b004b004b004b004b004b004b004b004b004b004b004b004b004b004b004d504b004d504d504b004d504d504b004d504d504b004d504d504b004d504d504b004d504d504b004d504d504b004d504d504b004d504d504b004d504d504b004d504d504b004d504d504b004d504d504b004d504d504d504d504d504d504d504d504d504d504d504d504d504d504d504d504d504d504d504d504d504d504d504d504d504d504d504d504d504d504d504d504d504d504d504d504d504d504d504d504d504d504d504b004d504b004b004d504b004b004d504b004b004d504b004b004d504b004b004d504b004b004d504b004b004d504b004b004d504b004b004d504b004b004d504b004b004d504b004b004d504b004b004d504b004b004d504b004b004d504b004b004d504b004b004d504b004b004d504b004b004d504b004b004d504b004b004d504b004b004d504b004b004d504b004b004d504b004b004d504b004b004d504b0040605d5040605eb04d504eb04eb04eb04eb040605eb040605c804eb04c804c804eb04c804c604eb04c604c604eb04c604c604eb04c604c604eb04c604c604eb04c6041505eb041505d304eb04d304d304d504d504d504d504d504d504d504d504d504d504d504d504d504d504d504d504d504d504d504d504d504d504d504d504d504d504d504d504d504d504d504d504d504d504d504d504d504d504d504d504d504eb04d504eb04eb04d504eb04d304d504d304d304d504d304f604d504f604f604d504f604f604f004f004f004f004f004f004f004f004f004f004f004f004f004f004f004f004f004f004f004f004f404f004f404f404f004f404f404f004f004f004f004f004f004f004f004f004f004f004f004f004f004f004f004f004f004f004f004b004f004b004b004f004b004b004f004b004b004f004b004b004f004b004b004f004b004b004f004b004b004f004b004b004f004b004b004f004b004b004f004b004b004f004b004b004f004b004b004f004b004b004f004b004b004f004b004b004f004b004b004f004b004b004f004b004b004f004b004b004f004b004b004f004b004b004f004b004b004f004b004b004f004b004b004f004b004b0041a051a051a051a051a051a051a051a051a051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d052b052b052b052b052b052b052b052b052b052b052b052b052b052b052b052b052b052b052b052b052b05530531053105530531053105530531053105530531053105340534053405340534053405340534053405340534053405340534053405340534053405340534053405340534053405340534053405340534053405340534053405340534053405340534053405340534052b0534052b052b0534052b052b0534052b052b0534052b052b051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d0534051d05340534051d05340534051d05340534051d05340534051d05340534051d05340534051d05340534051d05340534051d05340534051d05340534051d05340534051d05340534051d05340534051d05340534051d0534052b051d052b052b051d052b052b051d052b052b051d052b052b051d052b052b051d052b052b051d052b052b051d052b052b051d052b053d051d053d053d051d053d053d051a051a051a051a051a051a051a051a051a051a051a0531051a05310531051a05310531051a05310531051a05310531051a0531053d051a053d053d051a053d053d051a053d052b051a052b052b051a052b052b051a052b052b051a052b052b051a052b052b051a052b052b051a052b052b051a052b052b0553051d051d0553051d051d0553051d051d0553051d051d0553051d051d0553051d051d0553051d051d0553051d051d0553051d051d0553051d051d0553051d051d0553051d051d0553051d051d0553051d051d0553051d051d0553051d051d0553051d051d0553051d051d0553051d051d0553051d051d0553051d051d0553051d051d0553051d051d0553051d051d0553051d051d0553051d051d0553051d051d0553051d051d0553051d053d0553053d053d0553053d053d0553053d0531055305310531055305310531055305310531055305310531051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d0534051d05340534051d05340534051d05340534051d05340534051d05340534051d05340534051d05340534051d05340534051d05340534051d05340534051d05340534051d05340534051d05340534051d05340534055b05530531055b05310531055b05310531055b05310531055b05310531055b0531051a055b051a051a055b051a051a055b051a051a055b051a051a05340534053405340534053405340534053405340534053405340534053405340534053405340534053405340534053405340534053405340534053405340534053405340534053405340534053405340534055b0534055b051a0534051a051a0534051a051a0534051a051a0534051a051a0534051a052b0534052b052b0534052b052b0534052b052b0534052b052b0534052b052b0534052b052b0534052b052b0534052b052b051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d0553051d0553055b051d055b0534051d05340534051d05340534051d05340534051d05340534051d05340534051d05340534051d05340534051d05340534051d05340534051d05340534051d05340534051d05340534051d05340534051d05340534051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d0534051d05340534051d05340534051d05340534051d05340534051d05340534051d05340534051d05340534051d05340534051d05340534051d05340534051d05340534051d05340534051d05340534051d05340534053d053d053d053d053d052b053d052b052b053d052b052b053d052b052b053d052b052b053d052b052b053d052b052b053d052b052b053d052b052b05310531053105310531053105310531053105310531051a0531051a051a0531051a051a0531051a051a0531051a051a051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d051d055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e056b056b056b056b056b056b056b056b056b056b056b056b056b056b056b056b056b056b056b056b056b056b056b056b056b056b056b056b056b056b056b056b056b056b056b056b056b056b056b0584055e055e0584055e055e0584055e055e0584055e055e0584055e055e0584055e055e0584055e055e0584055e055e0584055e055e0584055e055e0584055e055e0584055e055e0584055e055e0584055e055e0584055e055e0584055e055e0584055e055e0584055e055e0584055e055e0584055e055e0584055e055e0584055e055e0584055e055e0584055e055e0584055e055e0584055e055e0584055e055e0584055e058c055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e056b055e056b056b055e056b056b055e056b056b055e056b056b055e056b056b055e056b056b055e056b056b055e056b056b055e056b056b055e056b056b055e056b056b055e056b056b055e056b056b055e056b056b055e056b056b055e05840580055e0580056b055e056b056b055e056b056b055e056b056b055e056b056b055e056b056b055e056b056b055e056b056b055e056b056b055e056b056b055e056b056b055e056b056b055e056b056b055e056b056b055e056b056b055e056b056b055e056b055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e05800588058705800587056b0580056b056b0580056b056b0580056b056b0580056b056b0580056b056b0580056b056b0580056b056b0580056b056b0580056b056b0580056b056b0580056b056b0580056b056b0580056b056b0580056b056b058d0584055e058d055e055e058d055e055e058d055e055e058d055e055e058d055e055e058d055e055e058d055e055e058d055e055e058d055e055e058d055e055e058d055e055e058d055e055e058d055e055e058d055e055e058d055e055e058d055e055e058d055e055e058d055e055e058d055e055e058d055e055e058d055e055e058d055e055e058d055e055e058d055e055e058d055e055e058d055e055e058d055e055e058d055e058c055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e0588058d058c0588058c0587056b056b056b056b056b056b056b056b056b056b056b056b056b056b056b056b056b056b056b056b056b056b056b056b056b056b056b056b056b056b056b056b056b056b056b056b056b056b056b056b056b056b056b056b0587056b0587058c056b058c055e056b055e055e056b055e055e056b055e055e056b055e055e056b055e055e056b055e055e056b055e055e056b055e055e056b055e055e056b055e055e056b055e055e056b055e055e056b055e055e056b055e055e056b055e055e056b055e055e056b055e055e056b055e055e056b055e055e056b055e055e056b055e055e056b055e055e056b055e055e056b055e055e056b055e055e056b055e055e056b055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e055e056b055e056b056b055e056b056b055e056b056b055e056b056b055e056b056b055e056b056b055e056b056b055e056b056b055e056b056b055e056b056b055e056b056b055e056b056b055e056b056b055e056b056b055e056b056b05880580058405880584058d059005900590059005900590059005900590059005900590059005900590059005900590059005900590059005900590059005900590059005900590059005900590059005900590059005900590059005900590059005900590059005900590059005900590059005900590059005900590059005900590059005900590059005900590059005900590059005900590059005900590059005900590059005900590059e059e059e059e059e059e059e059e059e059e059e059e059e059e059e059e059e059e059e059e059e05a405a405a405a405a405a405a405a405a405a405a405a405a405a405a405a405a405a405a405a405a405a405a405a405a405a405a405a405a405a405a405a405a405a405a405a405a405a405a405a405a405a40590059005900590059005900590059005900590059005900590059005900590059005900590059005900590059005900590059005900590059005900590059005900590059005900590059005900590059005900590059005900590059005900590059005900590059005900590059005900590059005900590059005900590059005900590059005900590059005900590059005900590059005900590059005900590059005a4059005a405a4059005a405a4059005a405a4059005a405a4059005a405a4059005a405a4059005a405a4059005a405a4059005a405a4059005a405a4059005a405a4059005a405a4059005a405a4059005a405a4059005a405a4059005a4059e0590059e059e0590059e059e0590059e059e0590059e059e0590059e059e0590059e059e0590059e059e0590059e059e0590059e05af059005af05af059005af05af05c20590059005c20590059005c20590059005c20590059005c20590059005c20590059005c20590059005c20590059005c20590059005c20590059005c20590059005c20590059005c20590059005c20590059005c20590059005c20590059005c20590059005c20590059005c20590059005c20590059005c20590059005c20590059005c20590059005c20590059005c20590059005c20590059005c20590059005c20590059005c2059005af05c205af05af05c205af05af05c205af05bf0590059005900590059005900590059005900590059005900590059005900590059005900590059005900590059005900590059005900590059005900590059005900590059005900590059005900590059005900590059005900590059005900590059005900590059005900590059005900590059005900590059005900590059005900590059005900590059005900590059005900590059005900590059005900590059005a4059005a405a4059005a405a4059005a405a4059005a405a4059005a405a4059005a405a4059005a405a4059005a405a4059005a405a4059005a405a4059005a405a4059005a405a4059005a405a4059005a405a4059005a405a405c905bf05af05c905af05af05c905af05af05c905af059e05c9059e059e05c9059e059e05c9059e059e05c9059e059e05c9059e059e05c9059e059e05c9059e059e05c9059e059e05a405a405a405a405a405a405a405a405a405a405a405a405a405a405a405a405a405a405a405a405a405a405a405a405a405a405a405a405a405a405a405a405a405a405a405a405a405a405a405a405a405a405a405a405cb05a405cb05c905a405c9059e05a4059e059e05a4059e059e05a4059e059e05a4059e059e05a4059e059e05a4059e059e05a4059e059e05a4059e059e0590059005900590059005900590059005900590059005900590059005900590059005900590059005900590059005900590059005900590059005900590059005900590059005900590059005900590059005900590059005900590059005900590059005900590059005900590059005900590059005900590059005900590059005900590059005900590059005900590059005900590059005900590059005900590059005c2059005c205cb059005cb05a4059005a405a4059005a405a4059005a405a4059005a405a4059005a405a4059005a405a4059005a405a4059005a405a4059005a405a4059005a405a4059005a405a4059005a405a4059005a405a4059005a405a4059005a405a40590059005900590059005900590059005900590059005900590059005900590059005900590059005900590059005900590059005900590059005900590059005900590059005900590059005900590059005900590059005900590059005900590059005900590059005900590059005900590059005900590059005900590059005900590059005900590059005900590059005900590059005900590059005900590059005a4059005a405a4059005a405a4059005a405a4059005a405a4059005a405a4059005a405a4059005a405a4059005a405a4059005a405a4059005a405a4059005a405a4059005a405a4059005a405a4059005a405a4059005a405a405af05af05af05af05af059e05af059e059e05af059e059e05af059e059e05af059e059e05af059e059e05af059e059e05af059e059e05af059e059e05900590059005900590059005900590059005900590059005900590059005900590059005900590059005900590059005900590059005900590059005900590059005900590059005900590059005900590059005900590059005900590059005900590059005900590059005900590059005900590059005900590059005900590059005900590059005900590059005900590059005900590059005900590059005cb05c205bf05cb05bf05c905cd05cd05cd05cd05cd05cd05cd05cd05cd05cd05cd05cd05cd05cd05cd05cd05cd05cd05cd05cd05cd05cd05cd05cd05cd05cd05cd05cd05cd05cd05cd05cd05cd05d405d405d405d405d405d405d405d405d405d405d405d405d405d405d405d405d405d405d405d405d405d405d405d405d405d405d405d405d405d405d405d405d405d405d405d405d405d405d405d405d405d405d405d405d405d405d405d405d405d405d405d405d405d405d405d405d405d405d405d405d405d405d405d405d405d405d405d405d405d405d405d405d405d405d405e205e205e205e205e205e205e205e205e205e205e205e205e205e205e205e205e205e205e205e205e205e205e205e205e205e205e205e205e205e205e205e205e205e205e205e205e205e205e205e205e205e205e205e205e205eb05eb05eb05eb05eb05eb05eb05eb05eb05f405f305f305f405f305f305f405f305cd05f405cd05cd05f405cd05cd05f405cd05cd05f405cd05cd05f405cd05cd05f405cd05cd05f405cd05cd05f405cd05cd05f405cd05cd05f405cd05cd05f405cd05cd05f405cd05cd05f405cd05d405f405d405d405f405d405d405f405d405d405f405d405d405f405d405d405f405d405d405f405d405d405f405d405d405f405d405d405f405d405d405f405d405d405f405d405d405f405d405d405f405d405d405f405d405d405f405d405d405f405d405d405f405d405d405f405d405d405f405d405d405f405d405d405f405d405d405f405d405d405f405d405d405f405d405d405f405d405d405cd05cd05cd05cd05cd05cd05cd05cd05cd05cd05cd05cd05cd05cd05cd05cd05cd05cd05cd05cd05cd05cd05cd05cd05cd05cd05cd05cd05cd05cd05cd05cd05cd05cd05cd05eb05cd05eb05eb05cd05eb05eb05cd05eb05eb05cd05eb05eb05cd05eb05ff05cd05ff05ff05cd05ff05ff05cd05ff05ff05cd05ff05ff05cd05ff05d405cd05d405d405cd05d405d405cd05d405d405cd05d405d405cd05d405d405cd05d405d405cd05d405d405cd05d405d405cd05d405d405cd05d405d405cd05d405d405cd05d405d405cd05d405d405cd05d405d405cd05d405d405cd05d405d405cd05d405d405cd05d405d405cd05d405d405cd05d405d405cd05d405d405cd05d405d405cd05d405d405cd05d405d405cd05d405d405cd05d405d405e205e205e205e205e205e205e205e205e205e205e205e205e205e205e205e205e205e205e205e205e205e205e205e205e205e205e205e205e205e205e205e205e205e205e205e205e205e205e205e205e205e205e205e205e205e205e2050906e20509060906e20509060906e2050906ff05e205ff05ff05e205ff05ff05e205ff05ff05e205ff05ff05e205ff05eb05e205eb05eb05e205eb05eb05e205eb05eb05e205eb05eb05e205e205e205e205e205e205e205e205e205e205e205e205e205e205e205e205e205e205e205e205e205e205e205e205e205e205e205e205e205e205e205e205e205e205e205e205e205e205e205e205e205e205e205e205e205e205e205f305e205f305f305e205f305f305e205f305f405e205f4050906e20509060906e20509060906f305f305f305f305f305e205f305e205e205f305e205e205f305e205e205f305e205e205f305e205e205f305e205e205f305e205e205f305e205e205f305e205e205f305e205e205f305e205e205f305e205e205f305e205e205f305e205e205f305e205e205f305e205e205f305e205eb05f305eb05eb05f305eb05eb05f305eb05eb05f305eb05eb05f305eb05cd05f305cd05cd05f305cd05cd05f305cd05cd05f305cd05cd05f305cd05cd05f305cd05cd05f305cd05cd05f305cd05cd05f305cd05cd05f305cd05cd05f305cd05cd05f305cd05cd05ff05ff05ff05ff05ff05ff05ff05ff05ff05ff05ff05d405ff05d405d405ff05d405d405ff05d405d405ff05d405d405ff05d405d405ff05d405d405ff05d405d405ff05d405d405ff05d405d405ff05d405d405ff05d405d405ff05d405d405ff05d405d405ff05d405d405ff05d405d405ff05d405d405ff05d405d405ff05d405d405ff05d405d405ff05d405d405ff05d405d405ff05d405d405ff05d405d405ff05d405d405ff05d405d405ff05d405d405cd05cd05cd05cd05cd05cd05cd05cd05cd05cd05cd05cd05cd05cd05cd05cd05cd05cd05cd05cd05cd05cd05cd05cd05cd05cd05cd05cd05cd05cd05cd05cd05cd05cd05cd05d405cd05d405d405cd05d405d405cd05d405d405cd05d405d405cd05d405d405cd05d405d405cd05d405d405cd05d405d405cd05d405d405cd05d405d405cd05d405d405cd05d405d405cd05d405d405cd05d405d405cd05d405d405cd05d405d405cd05d405d405cd05d405d405cd05d405d405cd05d405d405cd05d405d405cd05d405d405cd05d405d405cd05d405d405cd05d405d405cd05d405d405ff05ff05ff05ff05ff05ff05ff05ff05ff05ff05ff05d405ff05d405d405ff05d405d405ff05d405d405ff05d405d405ff05d405d405ff05d405d405ff05d405d405ff05d405d405ff05d405d405ff05d405d405ff05d405d405ff05d405d405ff05d405d405ff05d405d405ff05d405d405ff05d405d405ff05d405d405ff05d405d405ff05d405d405ff05d405d405ff05d405d405ff05d405d405ff05d405d405ff05d405d405ff05d405d405ff05d405d40509060906090609060906f4050906f405d4050906d405d4050906d405d4050906d405d4050906d405d4050906d405d4050906d405d4050906d405d4050906d405d4050906d405d4050906d405d4050906d405d4050906d405d4050906d405d4050906d405d4050906d405d4050906d405d4050906d405d4050906d405d4050906d405d4050906d405d4050906d405d4050906d405d4050906d405d4050906d405d4050906d405d4050906d405d4050906d405ff050906ff05ff050906ff05ff050906ff05ff050906ff05ff05eb05eb05eb05eb05eb05eb05eb05eb05eb05eb05eb05cd05eb05cd05cd05eb05cd05cd05eb05cd05cd05eb05cd05cd05eb05cd05cd05eb05cd05cd05eb05cd05cd05eb05cd05cd05eb05cd05cd05eb05cd05cd05eb05cd05cd05eb05cd05cd05e205e205e205e205e205e205e205e205e205e205e205e205e205e205e205e205e205e205e205e205e205e205e205e205e205e205e205e205e205e205e205e205e205e205e205e205e205e205e205e205e205e205e205e205e205e205e2050906e20509060906e20509060906e205e205e205e205e205e205e205e205e205e205e205e205e205e205e205e205e205e205e205e205e205e205e205e205e205e205e205e205e205e205e205e205e205e205e205e205e205e205e205e205e205e205e205e205e205e205e205f305e205f305f305e205f305f3051706170617061706170617061706170617061706170617061706170617061706170617061c061c061c061c061c061c061c061c062806320632063206320632061f0632061f061f0632061f061f0632061f061f0632061f061f0632061f061f06220622062206220622062206220622062206220622062206220622062206220622062206170617061706170617061706170617061706170617061706170617061706170617061706170617062206170622062206170622062206170622062206170622062206170622062206170622062206170622062206170622062806170628061c0617061c061c0617061c061c0617061c061c061f061f061f061f061f061f061f061f061f061f061f061f061f061f0630061f06300628061f06280622061f06220622061f06220622061f06220622061f06220622061f06220622061f06220622061f0622062206320632063206320632061706320617061706320617061706320617061706320617061706320617061706320617061706320617061706320617061c0632061c061c0632061c061c0632061c061c0632061c063506320632063206320632061f0632061f061f0632061f061f0632061f061f0632061f061f0632061f061f0632061f062206320622062206320622062206320622062206320622062206320622062206320622062206320622062206320622061706320617061706320617061706320617061706320617061706320617061706320617061706320617061706300635061c0630061c061c0630061c061c0630061c061c0630061c0628061f061f061f061f061f061f061f061f061f061f061f0632061f06320632061f06320632061f0632061f062206220622062206220622062206220622062206220622062206220622062206220622062206220617062206170617062206170617062206170617062206170617062206170617062206170617062206170617061f061f061f061f061f061f061f061f061f061f061f061f061f061f0632061f06320632061f06320632061f06320635061f0635063006370637063706370637063706370637063706370637063706370637063706370637063706370637063706370637063706370637063706370637063706370637063706370637063706370637063706370637063706370637063706370637063706370637063706370637063706370637063706370637063706370637063706370637063706430643064306430643064306430643064306430643064306430643064306430643064306480648064806480648064806480648064806480648064806480648064806480648064806480648064806480648064806480648064806480648064806480648064806480648064806480648064806480648064806510651065106510651065106510651065106510651065106510651065106510651065106370637063706370637063706370637063706370637063706370637063706370637063706370637063706370637063706370637063706370637063706370637063706370637063706370637063706370637063706370637063706370637063706370637063706370637063706370637063706370637063706370637063706370637063706370637065106370651065106370651065106370651065106370651065106370651065106370651065106370651065106370651065e0637065e065e0637065e065e0637065e064306370643064306370643064306370643064306370643064306370643064306370643064306370643064306630663066306630663066306630663066306630663066306630663066306630663066306630663066306630663066306630663066306630663066306630663066306630663066306630663066306630663066306630663066306630663066306630663063706630637063706630637063706630637063706630637063706630637063706630637063706630637063706630637063706630637063706630637063706630637063706630637063706630637063706630637063706630637063706630637063706630637063706630637063706630637063706630637063706630637063706630637063706630637063706630637064306630643064306630643064306630643064306630643064306630643064306630643064306630643064306630643066a066306630663066306630663066306630663066306630663066306630663066306630663066306630663066306630663066306630663066306630663066306630663066306630663066306630663066306630663066306630663066306630663066306630648066306480648066306480648066306480648066306480648066306480648066306480648066306480648066306480648066306480648066306480648066306480648066306480648066306480648066306480648066306480648066306480651066306510651066306510651066306510651066306510651066306510651066306510651066306510651066306510637066306370637066306370637066306370637066306370637066306370637066306370637066306370637066306370637066306370637066306370637066306370637066306370637066306370637066306370637066306370637066306370637066306370637066306370637066306370637066306370637066306370637066306370637066306370637064806480648064806480648064806480648064806480648064806480648064806480648064806480648064806480648064806480648064806480648064806480648064806480648064806480648064806480648064806480663064806630663064806630663064806630663064806630663064806630663064806630663064806630663064806630663064806630663064806630663064806630663064806630663064806630663064806630663064806630663064806630663064806630663065e065e065e065e065e067f065e067f066a065e066a0643065e06430643065e06430643065e06430643065e06430643065e06430643065e06430643065e0643064306480648064806480648064806480648064806480648064806480648064806480648064806480648064806480648064806480648064806480648064806480648064806480648064806480648064806480648067f0648067f065e0648065e065e0648065e065e0648065e065106480651065106480651065106480651065106480651065106480651065106480651065106480651065106510651065106510651065106510651065106510651065106510651065106510651065106510651063706510637063706510637063706510637063706510637063706510637063706510637063706510637063706510637063706510637063706510637063706510637063706510637063706510637063706510637063706510637063706510637063706510637063706510637063706510637063706510637063706510637063706510637063706510637063706430643064306430643064306430643064306430643064306430643064306430643064306430643065e0643065e065e0643065e065e06630663066306630663066306630663066306630663066306630663066306630663066306630663066306630663066306630663066306630663066306630663066306630663066306630663066306630663066306630663066306630663066306630663063706630637063706630637063706630637063706630637063706630637063706630637063706630637063706630637063706630637063706630637063706630637063706630637063706630637063706630637063706630637063706630637063706630637063706630637063706630637063706630637063706630637063706630637063706630637063706630637064306630643064306630643064306630643064306630643064306630643064306630643064306630643064306630643066a06630663066306630663066306630663066306630663066306630663066306630663066306630663066306630663066306630663066306630663066306630663066306630663066306630663066306630663066306630663066306630663066306630663063706630637063706630637063706630637063706630637063706630637063706630637063706630637063706630637063706630637063706630637063706630637063706630637063706630637063706630637063706630637063706630637063706630637063706630637063706630637063706630637063706630637063706630637063706630637063706630663066306630663066306630663066306630663066306630663066306630663066306630663066306630663066306630663066306630663066306630663066306630663066306630663066306630663066306630663066306630663066306630663064806630648064806630648064806630648064806630648064806630648064806630648064806630648064806630648064806630648064806630648064806630648064806630648064806630648064806630648064806630648064806480648064806480648064806480648064806480648064806480648064806480648064806480648064806480648064806480648064806480648064806480648064806480648064806480648064806480648064806480648066306480663066306480663066306480663066306480663066306480663066306480663066306480663066306480663066306480663066306480663066306480663066306480663066306480663066306480663066306480663066306480663066306480663066306480663066a0648066a067f06860686068606860686068606860686068606860686068606860686068606860686068606860686068606860686068606860686068606860686068606860686068606860686068606860686068606860686068606900690069006900690068f0690068f068f0690068f068f0690068f068f0690068f068f0690068f068f0690068f068f0690068f068f06b006b006b006b006b006b006b006b006b006b006b006b006b006b006b006b006b0069406b00694069406b00694069406b00694069406b00694069406b00694069406970697069706970697069706970697069706970697069706970697069706970697069706860686068606860686068606860686068606860686068606860686068606860686068606860686068606860686068606860686068606860686068606860686068606860686068606860686068606860686068606860686069706860697069706860697069706860697069706860697069706860697069706860697069706860697069706860697068f0686068f068f0686068f068f0686068f068f0686068f068f0686068f068f0686068f068f0686068f068f0686068f068f0686068f06900686069006900686069006900697069706970697069706970697069706970697069706970697069706970697069706970697069706940697069406940697069406940697069406940697069406940697069406940697069406ac069706ac06ac069706ac06ac069706ac06ac069706ac06ac069706ac068f0697068f068f0697068f068f0697068f068f0697068f068f0697068f068f0697068f068f0697068f068f0697068f068f06b006b006b006b006b006b006b006b006b006b006b006b006b006b006b006b006b0068606b00686068606b00686068606b00686068606b00686068606b00686068606b00686068606b00686068606b00686068606b00686068606b00686068606b00686068606b00686068606b00686068606b00686068606b00686068606b00686069006b00690069006b00690069006b0069006b406b006b006b006b006b006b006b006b006b006b006b006b006b006b006b006b006b0069406b00694069406b00694069406b00694069406b00694069406b00694069406b00694069706b00697069706b00697069706b00697069706b00697069706b00697069706b00697069706b00697069706b00697068606b00686068606b00686068606b00686068606b00686068606b00686068606b00686068606b00686068606b00686068606b00686068606b00686068606b00686068606b00686068606b00686068606b00686068606b00686068606ac06ac06ac06ac06ac06ac06ac06ac06ac06ac06ac06b406ac06b4069006ac0690069006ac0690069006ac0690068f06ac068f068f06ac068f068f06ac068f068f06ac068f068f06ac068f068f06ac068f068f06ac068f068f0694069406940694069406940694069406940694069406b0069406b006b0069406b006b0069406b006b0069406b006b0069406b006b0069406b006b0069406b006940686068606860686068606860686068606860686068606860686068606860686068606860686068606860686068606860686068606860686068606860686068606860686068606970686069706970686069706970686069706970686069706970686069706970686069706970686069706970686069706860686068606860686068606860697069706970697069706970697069706970697069706970697069706970697069706970697069706940697069406940697069406940697069406940697069406940697069406940697069406ac069706ac06ac069706ac06ac069706ac06ac069706ac06ac069706ac068f0697068f068f0697068f068f0697068f068f0697068f068f0697068f068f0697068f068f0697068f068f0697068f068f06ac06ac06ac06ac06ac06ac06ac06ac06ac06ac06ac068f06ac068f068f06ac068f068f06ac068f068f06ac068f068f06ac068f068f06ac068f068f06ac068f068f06b006b006b006b006b006b006b006b006b006b006b006b006b006b006b006b006b0068606b00686068606b00686068606b00686068606b00686068606b00686068606b00686068606b00686068606b00686068606b00686068606b00686068606b00686068606b00686068606b00686068606b00686068606b0068606860694069406940694069406940694069406940694069406940694069406b0069406b006b0069406b006b0069406b006b0069406b006b0069406b006b0069406b006b0069406b006b4069406b406ac069406ac06ac069406ac06ac069406ac06ac069406ac06ac06be06be06be06be06be06be06be06be06be06be06be06be06be06be06be06be06be06be06be06be06be06be06be06be06be06be06be06be06be06be06be06be06be06be06be06be06be06be06be06be06be06be06be06be06be06be06be06be06be06be06be06be06be06be06be06be06be06be06be06be06be06be06be06be06be06be06be06be06be06ca06ca06ca06ca06ca06ca06ca06ca06ca06ca06ca06ca06ca06ca06ca06ca06ca06ca06ca06ca06ca06ca06ca06ca06ca06ca06ca06ca06ca06ca06ca06ca06ca06ca06ca06ca06ca06ca06ca06ca06ca06ca06ca06ca06ca06ca06ca06ca06ca06ca06ca06ca06ca06ca06ca06ca06ca06ca06ca06ca06ca06ca06ca06ca06ca06ca06ca06ca06ca06ca06ca06ca06ca06ca06ca06ca06ca06ca06ca06ca06ca06ca06ca06ca06ca06ca06ca06ca06ca06ca06ca06ca06ca06ca06ca06ca06ca06ca06ca06ca06ca06ca06ca06ca06ca06ca06ca06ca06ca06ca06ca06ca06ca06ca06db06db06db06db06db06db06db06db06db06db06db06db06db06db06db06db06db06db06db06db06db06db06db06db06db06db06db06db06db06db06db06db06db06db06db06db06db06db06db06db06db06db06db06db06db06e406e406e406e406e406e406e406e406e406e406e406e406e406e406e406e406e406e406e406e406e406e406e406e406e406e406e406e406e406e406be06be06be06be06be06be06be06be06be06be06be06be06be06be06be06be06be06be06be06be06be06be06be06be06be06be06be06be06be06be06be06be06be06be06be06be06be06be06be06be06be06be06be06be06be06be06be06be06be06be06be06be06be06be06be06be06be06be06be06be06be06be06be06be06be06be06be06be06be06be06be06e406be06e406e406be06e406e406be06e406e406be06e406e406be06e406e406be06e406e406be06e406e406be06e406e406be06e406e406be06e406e406be06e406e406be06e406eb06be06eb06eb06be06eb06eb06be06eb06eb06be06eb06eb06be06eb06eb06be06eb06eb06be06eb06eb06be06eb06eb06be06eb06eb06be06eb06eb06be06eb06ca06be06ca06ca06be06ca06ca06be06ca06ca06be06ca06ca06be06ca06ca06be06ca06ca06be06ca06ca06be06ca06ca06be06ca06ca06be06ca06ca06be06ca06ca06be06ca06ca06be06ca06ca06be06ca06ca06be06ca06ca06be06ca06ca06be06ca06ca06be06ca06ca06be06ca06ca06be06ca06ca06be06ca06ca06be06ca06ca06be06ca06ca06be06ca06ca06be06ca06ca06be06ca06ca06be06ca06ca06be06ca06ca06be06ca06ca06be06ca06ca06be06ca06ca06be06ca06ca06be06ca06ca06be06ca06ca06be06ca06ca06be06ca06ca06be06ca06ca06be06ca06ca06be06ca06ca06db06db06db06db06db06db06db06db06db06db06db06db06db06db06db06db06db06db06db06db06db06db06db06db06db06db06db06db06db06db06db06db06db06db06db06db06db06db06db06db06db06db06db06db06db06db06db060407db0604070407db0604070407db060407eb06db06eb06eb06db06eb06eb06db06eb06eb06db06eb06eb06db06eb06eb06db06eb06eb06db06eb06eb06db06eb06eb06db06eb06eb06db06eb06eb06db06eb06e406db06e406e406db06e406e406db06e406e406db06e406e406db06e406e406db06e406e406db06e406e406db06e406e406db06e406e406db06e406e406db06e406e406db06db06db06db06db06db06db06db06db06db06db06db06db06db06db06db06db06db06db06db06db06db06db06db06db06db06db06db06db06db06db06db06db06db06db06db06db06db06db06db06db06db06db06db06db06db06db060e07db060e070e07db060e070e07db060e071007db0610070407db0604070407db06040704070e070e070e070e070e07db060e07db06db060e07db06db060e07db06db060e07db06db060e07db06db060e07db06db060e07db06db060e07db06db060e07db06db060e07db06db060e07db06db060e07db06db060e07db06db060e07db06db060e07db06db060e07db06db060e07db06e4060e07e406e4060e07e406e4060e07e406e4060e07e406e4060e07e406e4060e07e406e4060e07e406e4060e07e406e4060e07e406e4060e07e406e4060e07e406e4060e07e406be060e07be06be060e07be06be060e07be06be060e07be06be060e07be06be060e07be06be060e07be06be060e07be06be060e07be06be060e07be06be060e07be06be060e07be06be060e07be06be060e07be06be060e07be06be060e07be06be060e07be06be060e07be06be060e07be06be060e07be06be060e07be06be060e07be06be060e07be06be060e07be06be06eb06eb06eb06eb06eb06eb06eb06eb06eb06eb06eb06eb06eb06eb06eb06eb06eb06eb06eb06eb06eb06eb06eb06eb06eb06eb06eb06eb06eb06ca06eb06ca06ca06eb06ca06ca06eb06ca06ca06eb06ca06ca06eb06ca06ca06eb06ca06ca06eb06ca06ca06eb06ca06ca06eb06ca06ca06eb06ca06ca06eb06ca06ca06eb06ca06ca06eb06ca06ca06eb06ca06ca06eb06ca06ca06eb06ca06ca06eb06ca06ca06eb06ca06ca06eb06ca06ca06eb06ca06ca06eb06ca06ca06eb06ca06ca06eb06ca06ca06eb06ca06ca06eb06ca06ca06eb06ca06ca06eb06ca06ca06eb06ca06ca06eb06ca06ca06eb06ca06ca06eb06ca06ca06eb06ca06ca06eb06ca06ca06eb06ca06ca06eb06ca06ca06eb06ca06ca06eb06ca06ca06eb06ca06ca06eb06ca06ca0610070e070e0710070e070e0710070e07be061007be06be061007be06be061007be06be061007be06be061007be06be061007be06be061007be06be061007be06be061007be06be061007be06be061007be06be061007be06be061007be06be061007be06be061007be06be061007be06be061007be06be061007be06be061007be06be061007be06be061007be06be061007be06be061007be06be061007be06be061007be06ca061007ca06ca061007ca06ca061007ca06ca061007ca06ca061007ca06ca061007ca06ca061007ca06ca061007ca06ca061007ca06ca061007ca06ca061007ca06ca061007ca06ca061007ca06ca061007ca06ca061007ca06ca061007ca06ca061007ca06ca061007ca06ca061007ca06ca061007ca06ca061007ca06ca061007ca06ca061007ca06ca061007ca06ca061007ca06ca061007ca06ca061007ca06ca061007ca06ca061007ca06ca061007ca06ca061007ca06ca061007ca06ca061007ca06ca061007ca06ca061007ca06ca061007ca06ca061007ca06ca061007ca06ca061007ca06ca06db06db06db06db06db06db06db06db06db06db06db06db06db06db06db06db06db06db06db06db06db06db06db06db06db06db06db06db06db06db06db06db06db06db06db06db06db06db06db06db06db06db06db06db06db06db06db060407db0604070407db0604070407db060407eb06db06eb06eb06db06eb06eb06db06eb06eb06db06eb06eb06db06eb06eb06db06eb06eb06db06eb06eb06db06eb06eb06db06eb06eb06db06eb06eb06db06eb06e406db06e406e406db06e406e406db06e406e406db06e406e406db06e406e406db06e406e406db06e406e406db06e406e406db06e406e406db06e406e406db06e406e406eb06eb06eb06eb06eb06eb06eb06eb06eb06eb06eb06eb06eb06eb06eb06eb06eb06eb06eb06eb06eb06eb06eb06eb06eb06eb06eb06eb06eb06ca06eb06ca06ca06eb06ca06ca06eb06ca06ca06eb06ca06ca06eb06ca06ca06eb06ca06ca06eb06ca06ca06eb06ca06ca06eb06ca06ca06eb06ca06ca06eb06ca06ca06eb06ca06ca06eb06ca06ca06eb06ca06ca06eb06ca06ca06eb06ca06ca06eb06ca06ca06eb06ca06ca06eb06ca06ca06eb06ca06ca06eb06ca06ca06eb06ca06ca06eb06ca06ca06eb06ca06ca06eb06ca06ca06eb06ca06ca06eb06ca06ca06eb06ca06ca06eb06ca06ca06eb06ca06ca06eb06ca06ca06eb06ca06ca06eb06ca06ca06eb06ca06ca06eb06ca06ca06eb06ca06ca06eb06ca06ca06eb06ca06ca06eb06ca06ca0604070407040704070407100704071007ca060407ca06ca060407ca06ca060407ca06ca060407ca06ca060407ca06ca060407ca06ca060407ca06ca060407ca06ca060407ca06ca060407ca06ca060407ca06ca060407ca06ca060407ca06ca060407ca06ca060407ca06ca060407ca06ca060407ca06ca060407ca06ca060407ca06ca060407ca06ca060407ca06ca060407ca06ca060407ca06ca060407ca06ca060407ca06ca060407ca06ca060407ca06ca060407ca06ca060407ca06ca060407ca06ca060407ca06ca060407ca06ca060407ca06ca060407ca06ca060407ca06ca060407ca06ca060407ca06ca060407ca06ca060407ca06ca060407ca06eb060407eb06eb060407eb06eb060407eb06eb060407eb06eb060407eb06eb060407eb06eb060407eb06eb060407eb06eb060407eb06eb060407eb06eb0610070e070e0710070e070e0710070e07be061007be06be061007be06be061007be06be061007be06be061007be06be061007be06be061007be06be061007be06be061007be06be061007be06be061007be06be061007be06be061007be06be061007be06be061007be06be061007be06be061007be06be061007be06be061007be06be061007be06be061007be06be061007be06be061007be06be061007be06be061007be06ca061007ca06ca061007ca06ca061007ca06ca061007ca06ca061007ca06ca061007ca06ca061007ca06ca061007ca06ca061007ca06ca061007ca06ca061007ca06ca061007ca06ca061007ca06ca061007ca06ca061007ca06ca061007ca06ca061007ca06ca061007ca06ca061007ca06ca061007ca06ca061007ca06ca061007ca06ca061007ca06ca061007ca06ca061007ca06ca061007ca06ca061007ca06ca061007ca06ca061007ca06ca061007ca06ca061007ca06ca061007ca06ca061007ca06ca061007ca06ca061007ca06ca061007ca06ca061007ca06ca061007ca06ca061007ca06ca06be06be06be06be06be06be06be06be06be06be06be06be06be06be06be06be06be06be06be06be06be06be06be06be06be06be06be06be06be06be06be06be06be06be06be06be06be06be06be06be06be06be06be06be06be06be06be06be06be06be06be06be06be06be06be06be06be06be06be06be06be06be06be06be06be06be06be06be06be06be06be06ca06be06ca06ca06be06ca06ca06be06ca06ca06be06ca06ca06be06ca06ca06be06ca06ca06be06ca06ca06be06ca06ca06be06ca06ca06be06ca06ca06be06ca06ca06be06ca06ca06be06ca06ca06be06ca06ca06be06ca06ca06be06ca06ca06be06ca06ca06be06ca06ca06be06ca06ca06be06ca06ca06be06ca06ca06be06ca06ca06be06ca06ca06be06ca06ca06be06ca06ca06be06ca06ca06be06ca06ca06be06ca06ca06be06ca06ca06be06ca06ca06be06ca06ca06be06ca06ca06be06ca06ca06be06ca06ca06be06ca06ca06be06ca06ca06be06ca06ca06be06ca06ca06be06ca06ca06e406e406e406e406e406e406e406e406e406e406e406e406e406e406e406e406e406e406e406e406e406e406e406e406e406e406e406e406e406e406e406e406be06e406be06be06e406be06be06e406be06be06e406be06be06e406be06be06e406be06be06e406be06be06e406be06be06e406be06be06e406be06be06e406be06be06e406be06be06e406be06be06e406be06be06e406be06be06e406be06be06e406be06be06e406be06be06e406be06be06e406be06be06e406be06be06e406be06be06e406be06be06e406be06be06db06db06db06db06db06db06db06db06db06db06db06db06db06db06db06db06db06db06db06db06db06db06db06db06db06db06db06db06db06db06db06db06db06db06db06db06db06db06db06db06db06db06db06db06db06db06db060407db0604070407db0604070407db06db06db06db06db06db06db06db06db06db06db06db06db06db06db06db06db06db06db06db06db06db06db06db06db06db06db06db06db06db06db06db06db06db06db06db06db06db06db06db06db06db06db06db06db06db06db060e07db060e070e07db060e070e072e072e072e072e072e072e072e072e072e072e072e072e072e072e072e072e072e072e072e072e072e072e072e072e072e072e072e073407340734073407340734073407340734073407340734073407340734073407340734073407340734073407340734073407340734073407340734073407340734073407340734073407340734073407340734073407340734073407340734073407340734073407340734073407340734073407340734073407340734073407340734073407340734073407340734073407340734073407340734073407340734074207420742074207420742074207420742074207420742074207420742074207420742074207420742074207420742074207420742074207420742074207420742074207420742074207420742074207420742074207420742074207420742074207420742074207420742074b074b074b074b074b074b074b074b074b074b074b074b074b074b074b074b074b074b074b074b074b074b074b074b074b074b074b074b074b074b074b074b074b074b074b074b074b074b074b07340734073407340734073407340734073407340734073407340734073407340734073407340734073407340734073407340734073407340734073407340734073407340734073407340734073407340734073407340734073407340734073407340734073407340734073407340734073407340734073407340734073407340734073407340734073407340734073407340734073407340734073407340734073407340734074b0734074b074b0734074b074b0734074b074b0734074b074b0734074b074b0734074b074b0734074b074b0734074b074b0734074b074b0734074b074b0734074b074b0734074b074b0734074b074b0734074b074b0734074b075d0734075d075707420742074207420742074207420742074207420742074207420742074207420742074207420742074207420742074207420742074207420742074207420742074207420742074207420742074207420742074207420742074207420742074207420742074207420742074207420742072e0742072e072e0742072e072e0742072e072e0742072e072e0742072e072e0742072e072e0742072e072e0742072e072e0742072e072e0742072e072e07690734073407690734073407690734073407690734073407690734073407690734073407690734073407690734073407690734073407690734073407690734073407690734073407690734073407690734073407690734073407690734073407690734073407690734073407690734073407690734073407690734073407690734073407690734073407690734073407690734073407690734073407690734073407690734073407690734075707690757074207690742074207690742074207690742074207690742074207690742074207690742074207690742074207690742074207690742074207690742074207690742074207690742074207690742074207690742074207690742074207690742074207690742074207690742074207690742074207710769074207710742074207710742074207710742074207710742074207710742074207710742074207710742074207710742074207710742074207710742074207710742074207710742074207710742074207710742074207710742074207710742074207710742074207710742074207710742074207710742072e0771072e072e0771072e072e0771072e072e0771072e072e0771072e072e0771072e072e0771072e072e0771072e072e0771072e072e0771072e072e07340734073407340734073407340734073407340734073407340734073407340734073407340734073407340734073407340734073407340734073407340734073407340734073407340734073407340734073407340734073407340734073407340734073407340734073407340734073407340734073407340734073407340734073407340734073407340734073407340734073407340734073407340734073407340734074b0734074b074b0734074b074b0734074b074b0734074b074b0734074b074b0734074b074b0734074b074b0734074b074b0734074b074b0734074b074b0734074b074b0734074b074b0734074b074b0734074b074b074b074b074b074b074b074b074b074b074b074b074b074b074b074b074b074b074b074b074b074b074b074b074b074b074b074b074b074b074b074b074b074b074b074b074b074b074b074b074b074b074b0771074b0771072e074b072e072e074b072e072e074b072e072e074b072e072e074b072e072e074b072e072e074b072e072e074b072e072e074b072e072e074b072e072e074b072e075d07340734073407340734073407340734073407340734073407340734073407340734073407340734073407340734073407340734073407340734073407340734073407340734073407340734073407340734073407340734073407340734073407340734073407340734073407340734073407340734073407340734073407340734073407340734073407340734073407340734073407340734073407340734073407340734076907340769077107340771074b0734074b074b0734074b074b0734074b074b0734074b074b0734074b074b0734074b074b0734074b074b0734074b074b0734074b074b0734074b074b0734074b074b0734074b074b0734074b074b0734074b074b07340734073407340734073407340734073407340734073407340734073407340734073407340734073407340734073407340734073407340734073407340734073407340734073407340734073407340734073407340734073407340734073407340734073407340734073407340734073407340734073407340734073407340734073407340734073407340734073407340734073407340734073407340734073407340734074b0734074b074b0734074b074b0734074b074b0734074b074b0734074b074b0734074b074b0734074b074b0734074b074b0734074b074b0734074b074b0734074b074b0734074b074b0734074b074b0734074b074b07690734073407690734073407690734073407690734073407690734073407690734073407690734073407690734073407690734073407690734073407690734073407690734073407690734073407690734073407690734073407690734073407690734073407690734073407690734073407690734073407690734073407690734073407690734073407690734073407690734073407690734073407690734073407690734073407690734075707690757074207690742074207690742074207690742074207690742074207690742074207690742074207690742074207690742074207690742074207690742074207690742074207690742074207690742074207690742074207690742074207690742074207690742074207690742074207690742074207420742074207420742074207420742074207420742074207420742074207420742074207420742074207420742074207420742074207420742074207420742074207420742074207420742074207420742074207420742074207420742074207420742074207420742074207420742075707420757075d0742075d072e0742072e072e0742072e072e0742072e072e0742072e072e0742072e072e0742072e072e0742072e072e0742072e072e0742072e072e0742072e072e07420742074207420742074207420742074207420742074207420742074207420742074207420742074207420742074207420742074207420742074207420742074207420742074207420742074207420742074207420742074207420742074207420742074207420742074207420742072e0742072e072e0742072e072e0742072e072e0742072e072e0742072e072e0742072e072e0742072e072e0742072e072e0742072e072e0742072e072e073407340734073407340734073407340734073407340734073407340734073407340734073407340734073407340734073407340734073407340734073407340734073407340734073407340734073407340734073407340734073407340734073407340734073407340734073407340734073407340734073407340734073407340734073407340734073407340734073407340734073407340734073407340734077d077d077d077d077d077d077d077d077d077d077d077d077d077d077d078107810781078107810781078107810781078107810781078107810781078107810781078107810781078107810781078107810781078107810781078107810781078107810781078107810781078107810781078107810781078107810781078107810781078107810781078107810781078107810781078107810781078107810781078107810781078107810781078107810781078107810781078f078f078f078f078f078f078f078f078f078f078f078f078f078f078f078f078f078f078f078f078f079507950795079507950795079507950795079507950795079507950795079507950795079507950795079507950795079507950795079a079a079a079a079a079a079a079a079a079a079a079a079a079a079a079a079a079a079a079a079a079a079a079a079a079a079a079a079a079a079a079a079a079a079a079a079a079a079a07810781078107810781078107810781078107810781078107810781078107810781078107810781078107810781078107810781078107810781078107810781078107810781078107810781078107810781078107810781078107810781078107810781078107810781078107810781078107810781078107810781078107810781078107810781078107810781078107810781078107810781078107810781079a0781079a079a0781079a079a0781079a079a0781079a079a0781079a079a0781079a079a0781079a079a0781079a079a0781079a079a0781079a079a0781079a079a0781079a079a0781079a079a0781079a079a0781079a078f0781078f078f0781078f078f0781078f078f0781078f078f0781078f078f0781078f078f0781078f078f0781078f078f0781078f07a3078107a307a3078107a307a3078107a307a3078107a307a3078107a307a30795079507950795079507950795079507950795079507950795079507950795079507950795079507950795079507950795079507950795079507a3079507a307a3079507a307a3079507a307a3079507a307a3079507a307a3079507a3078f0795078f078f0795078f078f0795078f078f0795078f078f0795078f078f0795078f078f0795078f078f0795078f078f0795078f077d0795077d077d0795077d077d0795077d077d0795077d077d0795077d077d0795077d077d07bd0781078107bd0781078107bd0781078107bd0781078107bd0781078107bd0781078107bd0781078107bd0781078107bd0781078107bd0781078107bd0781078107bd0781078107bd0781078107bd0781078107bd0781078107bd0781078107bd0781078107bd0781078107bd0781078107bd0781078107bd0781078107bd0781078107bd0781078107bd0781078107bd0781078107bd0781078107bd0781078107bd078107a307bd07a307a307bd07a307a307bd07a307a307bd07a307a307bd07a307a307bd07a3079507bd0795079507bd0795079507bd0795079507bd0795079507bd0795079507bd0795079507bd0795079507bd0795079507bd0795079507bd0795079507810781078107810781078107810781078107810781078107810781078107810781078107810781078107810781078107810781078107810781078107810781078107810781078107810781078107810781078107810781078107810781078107810781078107810781078107810781078107810781078107810781078107810781078107810781078107810781078107810781078107810781078107810781079a0781079a079a0781079a079a0781079a079a0781079a079a0781079a079a0781079a079a0781079a079a0781079a079a0781079a079a0781079a079a0781079a079a0781079a079a0781079a079a0781079a079a07c607bd079507c60795079507c60795079507c60795079507c60795079507c60795079507c60795079507c60795079507c60795079507c60795079507c60795079507c60795077d07c6077d077d07c6077d077d07c6077d077d07c6077d077d07c6077d077d07c6077d077d079a079a079a079a079a079a079a079a079a079a079a079a079a079a079a079a079a079a079a079a079a079a079a079a079a079a079a079a079a079a079a079a079a079a079a079a079a079a079a079a079a07c6079a07c6077d079a077d077d079a077d077d079a077d077d079a077d077d079a077d077d079a077d077d079a077d078f079a078f078f079a078f078f079a078f078f079a078f078f079a078f078f079a078f078f079a078f078f079a078f078f0781078107810781078107810781078107810781078107810781078107810781078107810781078107810781078107810781078107810781078107810781078107810781078107810781078107810781078107810781078107810781078107810781078107810781078107810781078107810781078107810781078107810781078107810781078107810781078107810781078107810781078107810781078107bd078107bd07c6078107c6079a0781079a079a0781079a079a0781079a079a0781079a079a0781079a079a0781079a079a0781079a079a0781079a079a0781079a079a0781079a079a0781079a079a0781079a079a0781079a079a0781079a079a07810781078107810781078107810781078107810781078107810781078107810781078107810781078107810781078107810781078107810781078107810781078107810781078107810781078107810781078107810781078107810781078107810781078107810781078107810781078107810781078107810781078107810781078107810781078107810781078107810781078107810781078107810781079a0781079a079a0781079a079a0781079a079a0781079a079a0781079a079a0781079a079a0781079a079a0781079a079a0781079a079a0781079a079a0781079a079a0781079a079a0781079a079a0781079a079a07a307a307a307a307a307a307a307a307a307a307a307a307a307a3078f07a3078f078f07a3078f078f07a3078f078f07a3078f078f07a3078f078f07a3078f078f07a3078f078f07a3078f078f07bd0781078107bd0781078107bd0781078107bd0781078107bd0781078107bd0781078107bd0781078107bd0781078107bd0781078107bd0781078107bd0781078107bd0781078107bd0781078107bd0781078107bd0781078107bd0781078107bd0781078107bd0781078107bd0781078107bd0781078107bd0781078107bd0781078107bd0781078107bd0781078107bd0781078107bd0781078107bd0781078107bd078107a307bd07a307a307bd07a307a307bd07a307a307bd07a307a307bd07a307a307bd07a3079507bd0795079507bd0795079507bd0795079507bd0795079507bd0795079507bd0795079507bd0795079507bd0795079507bd0795079507bd0795079507950795079507950795079507950795079507950795079507950795079507950795079507950795079507950795079507950795079507950795077d0795077d077d0795077d077d0795077d077d0795077d077d0795077d077d0795077d077d07810781078107810781078107810781078107810781078107810781078107810781078107810781078107810781078107810781078107810781078107810781078107810781078107810781078107810781078107810781078107810781078107810781078107810781078107810781078107810781078107810781078107810781078107810781078107810781078107810781078107810781078107cb07cb07cb07cb07cb07cb07cb07cb07cb07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07dc07dc07dc07dc07dc07dc07dc07dc07dc07dc07dc07dc07dc07dc07dc07dc07dc07dc07dc07dc07dc07e207e207e207e207e207e207e207e207e207e207e207e207e207e207e207e207e207e207e207e207e207e207e207e207e707e707e707e707e707e707e707e707e707e707e707e707e707e707e707e707e707e707e707e707e707e707e707e707e707e707e707e707e707e707e707e707e707e707e707e707e707e707e707e707e707e707ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07e707ce07e707e707ce07e707e707ce07e707e707ce07e707e707ce07e707e707ce07e707e707ce07e707e707ce07e707e707ce07e707e707ce07e707e707ce07e707e707ce07e707e707ce07e707e707ce07e707e707ce07e707e707ce07e707dc07ce07dc07dc07ce07dc07dc07ce07dc07dc07ce07dc07dc07ce07dc07dc07ce07dc07dc07ce07dc07dc07ce07dc07dc07ce07dc07f107ce07f107f107ce07f107f107ce07f107f107ce07f107f107ce07f107f107e207e207e207e207e207e207e207e207e207e207e207e207e207e207e207e207e207e207e207e207e207e207e207e207e207e207f107e207f107f107e207f107f107e207f107f107e207f107f107e207f107f107e207f107dc07e207dc07dc07e207dc07dc07e207dc07dc07e207dc07dc07e207dc07dc07e207dc07dc07e207dc07dc07e207dc07dc07e207dc07cb07e207cb07cb07e207cb07cb07e207cb07cb07e207cb07cb070c08ce07ce070c08ce07ce070c08ce07ce070c08ce07ce070c08ce07ce070c08ce07ce070c08ce07ce070c08ce07ce070c08ce07ce070c08ce07ce070c08ce07ce070c08ce07ce070c08ce07ce070c08ce07ce070c08ce07ce070c08ce07ce070c08ce07ce070c08ce07ce070c08ce07ce070c08ce07ce070c08ce07ce070c08ce07ce070c08ce07ce070c08ce07ce070c08ce07ce070c08ce07ce070c08ce07ce070c08ce07ce070c08ce07f1070c08f107f1070c08f107f1070c08f107f1070c08f107f1070c08f107f1070c08f107e2070c08e207e2070c08e207e2070c08e207e2070c08e207e2070c08e207e2070c08e207e2070c08e207e2070c08e207e2070c08e207e207ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07e707ce07e707e707ce07e707e707ce07e707e707ce07e707e707ce07e707e707ce07e707e707ce07e707e707ce07e707e707ce07e707e707ce07e707e707ce07e707e707ce07e707e707ce07e707e707ce07e707e707ce07e707e70714080c08e2071408e207e2071408e207e2071408e207e2071408e207e2071408e207e2071408e207e2071408e207e2071408e207e2071408e207e2071408e207cb071408cb07cb071408cb07cb071408cb07cb071408cb07cb07e707e707e707e707e707e707e707e707e707e707e707e707e707e707e707e707e707e707e707e707e707e707e707e707e707e707e707e707e707e707e707e707e707e707e707e707e707e707e707e707e707e707e707e7071408e7071408cb07e707cb07cb07e707cb07cb07e707cb07cb07e707cb07cb07e707cb07dc07e707dc07dc07e707dc07dc07e707dc07dc07e707dc07dc07e707dc07dc07e707dc07dc07e707dc07dc07e707dc07dc07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce070c08ce070c081408ce071408e707ce07e707e707ce07e707e707ce07e707e707ce07e707e707ce07e707e707ce07e707e707ce07e707e707ce07e707e707ce07e707e707ce07e707e707ce07e707e707ce07e707e707ce07e707e707ce07e707e707ce07e707e707ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07e707ce07e707e707ce07e707e707ce07e707e707ce07e707e707ce07e707e707ce07e707e707ce07e707e707ce07e707e707ce07e707e707ce07e707e707ce07e707e707ce07e707e707ce07e707e707ce07e707e707ce07e707e707f107f107f107f107f107f107f107f107f107f107f107f107f107f107dc07f107dc07dc07f107dc07dc07f107dc07dc07f107dc07dc07f107dc07dc07f107dc07dc07f107dc07dc07f107dc07dc070c08ce07ce070c08ce07ce070c08ce07ce070c08ce07ce070c08ce07ce070c08ce07ce070c08ce07ce070c08ce07ce070c08ce07ce070c08ce07ce070c08ce07ce070c08ce07ce070c08ce07ce070c08ce07ce070c08ce07ce070c08ce07ce070c08ce07ce070c08ce07ce070c08ce07ce070c08ce07ce070c08ce07ce070c08ce07ce070c08ce07ce070c08ce07ce070c08ce07ce070c08ce07ce070c08ce07ce070c08ce07ce070c08ce07f1070c08f107f1070c08f107f1070c08f107f1070c08f107f1070c08f107f1070c08f107e2070c08e207e2070c08e207e2070c08e207e2070c08e207e2070c08e207e2070c08e207e2070c08e207e2070c08e207e2070c08e207e207e207e207e207e207e207e207e207e207e207e207e207e207e207e207e207e207e207e207e207e207e207e207e207e207e207e207cb07e207cb07cb07e207cb07cb07e207cb07cb07e207cb07cb07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce07ce071808180818081808180818081808180818081808180818081808180818081808180818081808180818081808180818081808180818081808180818081808180818081808180818081808180818081808180818081808180818081808180818081808180818081808180818081808180818082208220822082208220822082208220822082208220822082208220822082208220822082208220822082208220822082208220822082208220822082208220822082208220822082208220822082208220822082208220822082208220822082208220822082208220822082208220822082208220822082208220822082208220822082208220822082208220822082e082e082e082e082e082e082e082e082e082e082e082e082e082e082e082e082e082e08330833083308330833083308330833083308330833083308330833083308330833083308330833083308330833083308330833083308330833083308180818081808180818081808180818081808180818081808180818081808180818081808180818081808180818081808180818081808180818081808180818081808180818081808180818081808180818081808180818081808180818081808180818081808180818081808180818081808180818083308180833083308180833083308180833083308180833083308180833083308180833083308180833083308180833083308180833083308180833083308180833083308180833082208180822082208180822082208180822082208180822082208180822082208180822082208180822082208180822082208180822082208180822082208180822082208180822082208180822082208180822082208180822082208180822082208180822082208180822082208180822082208180822082208180822082208180822082208180822082208180822082208180822082208180822084208180842084208180842084208180842084208180842084208180842084208180842084208180842084208180842084208180842084208180842084208180842084208180842084208180842084208180842084208180842084208180842084208180842084208180842084208180842084208180842084208180842084208180842084208180842084208180842084208180842084208180842084208330833083308330833083308330833083308330833083308330833083308330833083308330833083308330833083308330833083308330833083308330833085b0833085b085b0833085b085b0833085b085b0833085b085b0833085b085b0833085b085b0833085b085f0833085f085f0833085f0822083308220822083308220822083308220822083308220822083308220822083308220822083308220822083308220822083308220822083308220822083308220822083308220822083308220822083308220822083308220822083308220822083308220822083308220822083308220822083308220822083308220822083308220822083308220822083308220822083308220822082e082e082e082e082e082e082e082e082e082e082e082e082e082e082e082e082e082e082e082e085d082e085d085f082e085f085f082e085f085b082e085b085b082e085b085b082e085b085b082e085b085b082e085b085b082e085b085b082e082e082e082e082e082e082e082e082e082e082e082e082e082e082e082e082e082e082e082e085b082e085b085b082e085b085b082e085b085b082e085b085b082e085b085b082e085b085b082e085b0833082e08330833082e08330833082e08330833082e08330833082e08330833082e08330833082e08330833082e08330833082e08330833082e08330833082e08330833082e08330818082e08180818082e08180818082e08180818082e08180818082e08180818082e08180818082e08180818082e08180818082e08180818082e08180818082e08180818082e08180818082e08180818082e08180818082e08180818082e08180818082e08180818082e08180818082e08180818082e08180818084208420842084208420842084208420842084208420842084208420842084208420842084208420842084208420842084208420842084208420842084208420842084208420842084208420842084208420842084208420842084208420842084208420842084208420842084208420842084208420842084208420842084208420842084208420842084208420842084208420822084208220822084208220822084208220822084208220822084208220822084208220822084208220822084208220822084208220822084208220822084208220822084208220822084208220822084208220822084208220822084208220822084208220822084208220822084208220822084208220822084208220822084208220822084208220822084208220822084208220822085d082e082e085d082e082e085d082e082e085d082e082e085d082e082e085d082e082e085d082e082e085d082e0818085d08180818085d08180818085d08180818085d08180818085d08180818085d08180818085d08180818085d08180818085d08180818085d08180818085d08180818085d08180818085d08180818085d08180818085d08180818085d08180818085d08180818085d08180818085d08180818085d08180818085d08180842085d08420842085d08420842085d08420842085d08420842085d08420842085d08420842085d08420842085d08420842085d08420842085d08420842085d08420842085d08420842085d08420842085d08420842085d08420842085d08420842085d08420842085d08420842085d08420842085d08420842085d08420842085d08420842085d08420842085d08420842085d08420842085d0842084208330833083308330833083308330833083308330833083308330833083308330833083308330833083308330833083308330833083308330833083308330833085b0833085b085b0833085b085b0833085b085b0833085b085b0833085b085b0833085b085b0833085b085f0833085f085f0833085f0822083308220822083308220822083308220822083308220822083308220822083308220822083308220822083308220822083308220822083308220822083308220822083308220822083308220822083308220822083308220822083308220822083308220822083308220822083308220822083308220822083308220822083308220822083308220822083308220822083308220822082208220822082208220822082208220822082208220822082208220822082208220822082208220822082208220822082208220822082208220822082208220822082208220822082208220822082208220822082208220822082208220822082208220822082208220822082208220822082208220822082208220822082208220822082208220822082208220822082208220842082208420842082208420842082208420842082208420842082208420842082208420842082208420842082208420842082208420842082208420842082208420842082208420842082208420842082208420842082208420842082208420842082208420842082208420842082208420842082208420842082208420842082208420842082208420842082208420842082208420842085f085f085d085f085d0842085f08420842085f08420842085f08420842085f08420842085f08420842085f08420842085f08420842085f08420842085f08420842085f08420842085f08420842085f08420842085f08420842085f08420842085f08420842085f08420842085f08420842085f08420842085f08420842085f08420842085f08420842085f08420842085f08420842085f08420842085f08420842085f08420822085f08220822085f08220822085f08220822085f08220822085f08220822085f08220822085f08220822085f08220822085f08220822085f08220822085f08220822085f08220822085f08220822085f08220822085f08220822085f08220822085f08220822085f08220822085f08220822085f08220822085f08220822085f08220822085f08220822085f08220822085f08220822085d082e082e085d082e082e085d082e082e085d082e082e085d082e082e085d082e082e085d082e082e085d082e0818085d08180818085d08180818085d08180818085d08180818085d08180818085d08180818085d08180818085d08180818085d08180818085d08180818085d08180818085d08180818085d08180818085d08180818085d08180818085d08180818085d08180818085d08180818085d08180818085d08180818085d08180842085d08420842085d08420842085d08420842085d08420842085d08420842085d08420842085d08420842085d08420842085d08420842085d08420842085d08420842085d08420842085d08420842085d08420842085d08420842085d08420842085d08420842085d08420842085d08420842085d08420842085d08420842085d08420842085d08420842085d08420842085d08420842085d08420842081808180818081808180818081808180818081808180818081808180818081808180818081808180818081808180818081808180818081808180818081808180818081808180818081808180818081808180818081808180818081808180818081808180818081808180818081808180818081808180842081808420842081808420842081808420842081808420842081808420842081808420842081808420842081808420842081808420842081808420842081808420842081808420842081808420842081808420842081808420842081808420842081808420842081808420842081808420842081808420842081808420842081808420842081808420842081808420842081808420842081808420842081808180818081808180818081808180818081808180818081808180818081808180818081808180818081808180818081808180818081808180818081808180818081808180818081808180818081808180818081808180818081808180818081808180818081808180818081808180818081808180833081808330833081808330833081808330833081808330833081808330833081808330833081808330833081808330833081808330833081808330833081808330833085b085b085b085b085b085b085b085b085b085b085b085b085b085b085b085b085b085f085b085f085f085b085b085b085b085b085b085b085b085b085b085b085b085b085b085b085b085b082e085b082e082e085b082e082e085b082e082e085b082e082e085b082e082e085b082e082e085b082e082e088008800880088008800880088008800880088008800880088008800880088008800880088008800880088008800880088008800880088008800880088008800880088008800880088008800880088008800880088008800880088008800880088008800880088008800880088008800880088008800880088008800880088008800880088008800880088008800880088008800880088c088c088c088c088c088c088c088c088c088c088c088c088c088c088c088c088c088c088c088c088c088c088c088c088c088c088c088c088c088c088c088c088c088c088c088c088c088c088c088c088c088c088c088c088c088c088c088c0896089608960896089608960896089608960896089608960896089608960896089608960896089608960896089608960896089608960896089608960896089608960896089608960896089608960896089608960896089608960896089608960896089608960896089608960896089608960896089608960896089608960896089608960896089608960896089608960880088008800880088008800880088008800880088008800880088008800880088008800880088008800880088008800880088008800880088008800880088008800880088008800880088008800880088008800880088008800880088008800880088008800880088008800880088008800880088008800880088008800880088008800880088008800880088008800880088008800880088008960880089608960880089608960880089608960880089608960880089608960880089608960880089608960880089608960880089608960880089608960880089608960880089608960880089608960880089608960880089608960880089608960880089608960880089608960880089608960880089608960880089608960880089608960880089608960880089608960880089608960880089608a9088008a908a9088008a908a9088008a908a9088008a908a9088008a908a9088008a908a9088008a908a9088008a908a2088008a208a2088008a208a2088008a208a2088008a208a2088008a208a2088008a208a2088008a208a2088008a208a2088008a208a2088008a208a2088008a208a2088008a208a2088008a208a2088008a208a2088008a208a2088008a208a20880088008800880088008800880088008800880088008800880088008800880088008800880088008800880088008800880088008800880088008800880088008800880088008800880088008800880088008800880088008800880088008800880088008800880088008800880088008800880088008800880088008800880088008800880088008800880088008800880088008800880088008a2088008a208a2088008a208a2088008a208a2088008a208a2088008a208a2088008a208a2088008a208a2088008a208a2088008a208a2088008a208a2088008a208a2088008a208a2088008a208a2088008a208a2088008a208a2088008a208a2088008a208c0088008c008c0088008c008c0088008c008c0088008c008bf088008bf08bf08e808dd08bf08e808bf08bf08e808bf08c008e808c008c008e808c008c008e808c008c00896089608960896089608960896089608960896089608960896089608960896089608960896089608960896089608960896089608960896089608960896089608960896089608960896089608960896089608960896089608960896089608960896089608960896089608960896089608960896089608960896089608960896089608960896089608960896089608960896089608d2089608d208a9089608a908a9089608a908a9089608a908a9089608a908a9089608a908a9089608a908a9089608a908a908a908a908a908a908a908a908a908a908a908a908a908a908a908a908a908a908a908a908a908a908a208a908a208a208a908a208a208a908a208a208a908a208a208a908a208a208a908a208a208a908a208a208a908a208a208a908a208a208a908a208a208a908a208a208a908a208a208a908a208a208a908a208a208a908a208a208a908a208a208dd08da08da08dd08da08da08dd08da088008dd0880088008dd0880088008dd0880088008dd0880088008dd0880088008dd0880088008dd0880088008dd0880088008dd0880088008dd0880088008dd0880088008dd0880088008dd0880088008dd0880088008dd0880088008dd0880088008dd0880088008dd0880088008dd0880088008dd0880088008dd0880088008dd0880088008dd0880088008dd0880088008dd0880088008dd0880088008dd088008bf08dd08bf08bf08da08da08da08da08da088c08da088c088c08da088c088c08da088c088c08da088c088c08da088c088c08da088c088c08da088c088c08da088c088c08da088c088c08da088c088c08da088c088c08da088c088c08da088c088c08da088c088c08da088c088c08da088c088c08da088c088c08da088c089608da0896089608da0896089608da0896089608da0896089608da0896089608da0896089608da0896089608da0896089608da0896089608da0896089608da0896089608da0896089608da0896089608da0896089608da0896089608da0896089608da0896089608da0896089608da0896089608da0896089608da0896089608da0896089608da0896089608da0896089608da0896089608da0896088008da0880088008da0880088008da0880088008da0880088008da0880088008da0880088008da0880088008da0880088008da0880088008da0880088008da0880088008da0880088008da0880088008da0880088008da0880088008da0880088008da0880088008da0880088008da0880088008da0880088008da0880088008da0880088008da0880088008da0880088008da0880088008da08800880088c088c088c088c088c088c088c088c088c088c088c088c088c088c088c088c088c088c088c088c088c088c088c088c088c088c088c088c088c088c088c088c088c088c088c088c088c088c088c088c088c088c088c088c088c088c088c088c088c088c08da088c08da08da088c08da08da088c08da08dd088c08dd08e8088c08e808e6088c08e608e6088c08e608e6088c088c088c088c088c088c088c088c088c088c088c088c088c088c088c088c088c088c088c088c088c088c088c088c088c088c088c088c088c088c088c088c088c088c088c088c088c088c088c088c088c088c088c088c088c088c088c088c088c088c08e6088c08e608e6088c08e608e6088c08e608ec088c08ec08d2088c08d20896088c08960896088c08960896088c08960896088c08960896088c08960896088c08960896088c08960896088c08960896088c08960896088c08960896088c08960896088c08960896088c08960896088c08960896088c08960896088c08960896088c08960896088c08960896088c08960896088c08960896088c08960896088c08960896088c08960896088c08960896088c0896089608ec08c008c00896089608960896089608960896089608960896089608960896089608960896089608960896089608960896089608960896089608960896089608960896089608960896089608960896089608960896089608960896089608960896089608960896089608960896089608960896089608960896089608960896089608960896089608960896089608960896089608960896089608a9089608a908a9089608a908a9089608a908a9089608a908a9089608a908a9089608a908a9089608a908a908a908a908a908a908a908a908a908a908a908a908a908a908a908a908a908a908a908a908a908a908d208a908d208ec08a908ec08c008a908c008c008a908c008c008a908c008c008a908c008a208a908a208a208a908a208a208a908a208a208a908a208a208a908a208a208a908a208a208a908a208a208a908a208a208a908a208a208a908a208a208a908a208a208a908a208a208a908a208a208a908a208a208a908a208a208a908a208a20880088008800880088008800880088008800880088008800880088008800880088008800880088008800880088008800880088008800880088008800880088008800880088008800880088008800880088008800880088008800880088008800880088008800880088008800880088008800880088008800880088008800880088008800880088008800880088008800880088008800880088008a2088008a208a2088008a208a2088008a208a2088008a208a2088008a208a2088008a208a2088008a208a2088008a208a2088008a208a2088008a208a2088008a208a2088008a208a2088008a208a2088008a208a2088008a208a2088008a208a208960896089608960896089608960896089608960896089608960896089608960896089608960896089608960896089608960896089608960896089608960896089608960896089608960896089608960896089608960896089608960896089608960896089608960896089608960896089608960896089608960896089608960896089608960896089608960896089608960896088008960880088008960880088008960880088008960880088008960880088008960880088008960880088008960880088008960880088008960880088008960880088008960880088008960880088008960880088008960880088008960880088008960880088008960880088008960880088008960880088008960880088008960880088008960880088008960880088008960880088008960880088008a208a208a208a208a208a208a208a208a208a208a208a208a208a208a208a208a208a208a208a208a208a208a208a208a208a208a208a208a208a208a208a208a208a208a208a208a208a208a208a208a208a208a208a208a208e808dd08bf08e808bf08bf08e808bf08c008e808c008c008e808c008c008e808c008c008e808dd08bf08e808bf08bf08e808bf08c008e808c008c008e808c008c008e808c008c008e608e608e608e608e608e808e608e808c008e608c008c008e608c008ec088c088c088c088c088c088c088c088c088c088c088c088c088c088c088c088c088c088c088c088c088c088c088c088c088c088c088c088c088c088c088c088c088c088c088c088c088c088c088c088c088c088c088c088c088c088c088c088c088c088c08da088c08da08da088c08da08da088c088c088c088c088c088c088c088c088c088c088c088c088c088c088c088c088c088c088c088c088c088c088c088c088c088c088c088c088c088c088c088c088c088c088c088c088c088c088c088c088c088c088c088c088c088c088c088c088c088c08e6088c08e608e6088c08e608e608f108f108f108f108f108f108f108f108f108f108f108f108f108f108f108f108f108f108f108f108f108f108f108f108f108f108f108f108f108f108f108f108f108f808f808f808f808f808f808f808f808f808f808f808f808f808f808f808f808f808f808f808f808f808f808f808f808f808f808f808f808f808f808f808f808f808f808f808f808f808f808f808f808f808f808f808f808f808f808f808f808f808f808f808f808f808f808f808f808f808f808f808f808f808f808f808f808f808f808f808f808f808f808f808f808f808f808f8080609060906090609060906090609060906090609060906090609060906090609060906090b090b090b090b090b090b090b090b090b090b090b090b090b090b090b090b090b090b090b090b0915090b09150915090b09150915090b09150915090b09150915090b091509f8080b09f808f8080b09f808f8080b09f808f8080b09f808f8080b09f808f8080b09f808f8080b09f808f8080b09f808f8080b09f808f8080b09f808f8080b09f808f8080b09f808f8080b09f808f8080b09f808f8080b09f808f8080b09f808f8080b09f808f8080b09f808f8080b09f808f8080b09f808f8080b09f808f8080b09f808f8080b09f808f8080b09f808f8080b09f808f8080b09f808f8080b09f808f1080b09f108f1080b09f108f1080b09f108f1080b09f108f1080b09f108f1080b09f108f1080b09f108f1080b09f108f1080b09f108f1080b09f108f1080b09f108f1080b09f108f10822091d091d0922091d091d0922091d09f1082209f108f1082209f108f1082209f108f1082209f108f1082209f108f1082209f108f1082209f108f1082209f108f1082209f108f1082209f108f1082209f108f1082209f108f1082209f108f8082209f808f8082209f808f8082209f808f8082209f808f8082209f808f8082209f808f8082209f808f8082209f808f8082209f808f8082209f808f8082209f808f8082209f808f8082209f808f8082209f808f8082209f808f8082209f808f8082209f808f8082209f808f8082209f808f8082209f808f8082209f808f8082209f808f8082209f808f8082209f808f8082209f808f8082209f808f8081d091d091d091d091d0906091d09060906091d09060906091d09060906091d09060906091d09060906091d09060906091d09060906091d0906090b091d090b090b091d090b090b091d090b090b091d090b090b091d090b09f1081d09f108f1081d09f108f1081d09f108f1081d09f108f1081d09f108f1081d09f108f1081d09f108f1081d09f108f1081d09f108f1081d09f108f1081d09f108f1081d09f108f10815091509150915091509150915091509150915091509f8081509f808f8081509f808f8081509f808f8081509f808f8081509f808f8081509f808f8081509f808f8081509f808f8081509f808f8081509f808f8081509f808f8081509f808f8081509f808f8081509f808f8081509f808f8081509f808f8081509f808f8081509f808f8081509f808f8081509f808f8081509f808f8081509f808f8081509f808f8081509f808f8081509f808f8081509f808f8082c09060906092c09060906092c09060906092c09060906092c09060906092c09060906092c09060906092c0906091d092c091d091d092c091d091d092c091d092209060906090609060906090609060906090609060906090609060906090609060906090609060906092c0906092c091509060915091509060915091509060915091509060915091509060915090b0906090b090b0906090b090b0906090b090b0906090b090b0915091509150915091509150915091509150915091509f8081509f808f8081509f808f8081509f808f8081509f808f8081509f808f8081509f808f8081509f808f8081509f808f8081509f808f8081509f808f8081509f808f8081509f808f8081509f808f8081509f808f8081509f808f8081509f808f8081509f808f8081509f808f8081509f808f8081509f808f8081509f808f8081509f808f8081509f808f8081509f808f8081509f808f8081509f808f808150915091509150915091509150915091509150915092c0915092c09220915092209f8081509f808f8081509f808f8081509f808f8081509f808f8081509f808f8081509f808f8081509f808f8081509f808f8081509f808f8081509f808f8081509f808f8081509f808f8081509f808f8081509f808f8081509f808f8081509f808f8081509f808f8081509f808f8081509f808f8081509f808f8081509f808f8081509f808f8081509f808f8081509f808f8081509f808f8081509f808f808f108f108f108f108f108f108f108f108f108f108f108f108f108f108f108f108f108f108f108f108f108f108f108f108f108f108f108f108f108f108f108f108f108f108f108f808f108f808f808f108f808f808f108f808f808f108f808f808f108f808f808f108f808f808f108f808f808f108f808f808f108f808f808f108f808f808f108f808f808f108f808f808f108f808f808f108f808f808f108f808f808f108f808f808f108f808f808f108f808f808f108f808f808f108f808f808f108f808f808f108f808f808f108f808f808f108f808f808f108f808f808f108f808f8080b090b090b090b090b090b090b090b090b090b090b09f1080b09f108f1080b09f108f1080b09f108f1080b09f108f1080b09f108f1080b09f108f1080b09f108f1080b09f108f1080b09f108f1080b09f108f1080b09f108f1080b09f108f108060906090609060906090609060906090609060906090609060906090609060906090609060906091d0906091d091d0906091d091d093009300930093009300930093009300930093009300930093009300930093409340934093409340934093409340934093409340934093409340934093409340934093409340934093409340934093409340934093409340934093409340934093409340934093d093d093d093d093d093d093d093d093d093d093d093d093d093d093d093d093d093d093d093d093d093d093d093d093d093d093d093d093d093d093d093d093d093d093d093d093d093d093d093d093d093d093d093d0943093d09430943093d09430943093d09430943093d09430943093d09430934093d09340934093d09340934093d09340934093d09340934093d09340934093d09340934093d09340934093d09340934093d09340934093d09340934093d09340934093d09340934093d09340934093d09340930093d09300930093d09300930093d09300930093d09300930093d09300930093d09300930094f09510951094f09510943094f09430943094f09430943094f09430943094f09430943094f0943093d094f093d093d094f093d093d094f093d093d094f093d093d094f093d093d094f093d093d094f093d093d094f093d093d0943094309430943094309430943094309430943094309340943093409340943093409340943093409340943093409340943093409340943093409340943093409340943093409340943093409340943093409340943093409340943093409340943093409340951095109540951095409540956094f093d0956093d093d0956093d093d0956093d093d0956093d093d0956093d093d0956093d093d0956093d093d0956093d093d0956093d0930095609300930095609300930095609300930095609300930095609300930095609300930095409540956095409560930095409300930095409300930095409300930095409300930095409300930095409300930095409300934095409340934095409340934095409340934095409340934095409340934095409340934095409340934095409340934095409340934095409340934095409340934095409340934095409340934094309430943094309430943094309430943094309430934094309340934094309340934094309340934094309340934094309340934094309340934094309340934094309340934094309340934094309340934094309340934094309340934094309340934094309340930094309430943094309430943094309430943094309430951094309510951094309510954094309540954094309540934094309340934094309340934094309340934094309340934094309340934094309340934094309340934094309340934094309340934094309340934094309340934094309340934094309340934093d093d093d093d093d093d093d093d093d093d093d093d093d093d093d093d093d093d093d093d093d093d093d0930093d09300930093d09300930093d09300930093d09300930093d09300930093d0930093009510951094f0951094f0956095109560954095109540954095909590959095909590959095909590959095909590959095909590959095909590959095909590959095909590959095909590959095909590959095909590959095909590959099d095f095f099d095f095f099d095f095f099d095f095f099d095f095f099d095f095f099d095f095f099d095f095f099d095f095f099d095f095f099d095f095f099d095f095f099d095f095f099d095f095f099d095f095f099d095f095f099d095f095f09690969096909690969096909690969096909690969096909690969096909690969096909690969096909690969096909690969096909690969096909690969096909690969096909690969096909690969096909690969096909690969096909690969096909690969096909690969096909690969096909690969096909690969096909690969096909690969096909690969096909690969096909690969096909690969096909a909b309b30978097809780978097809780978097809780978097809780978097809780978097809780978097809780978097809780978097809780978097809780978097809780978097809780978097809780978097809ac09b909b909b909b909b9096909b90969096909b90969096909b90969096909b90969096909b90969096909b90969096909b90969096909b90969096909b90969096909b90969096909b90969096909b90969096909b90969096909b90969096909b90969096909b90969096909b90969096909b90969096909b90969096909b90969096909b90969096909b90969096909b90969096909b90969096909b90969096909b90969096909b90969096909b90969096909b90969096909b90969098509b90985098509b90985098509b90985098509b90985098509b90985098509b90985098509b90985095909b90959095909b90959095909b90959095909b90959095909b90959095909b90959095909b90959095909b90959095909b90959095909b90959095909b90959095909b90959095909b9095909590969096909690969096909690969096909690969096909690969096909690969096909690969096909690969096909690969096909690969096909690969096909690969096909690969096909690969096909690969096909690969096909690969096909690969096909690969096909690969096909690969096909690969096909690969096909690969096909690969096909690969096909690969096909690969096909690969096909780969097809780969097809780969097809780969097809780969097809780969097809780969097809780969097809780969097809780969097809780969097809780969097809780969097809780969097809780995099509950995099509950995099509950995099509950995099509950995099509950995099509950995099509950995099509950995099509950995099509950995099509a1099509a1095f0995095f095f0995095f095f0995095f095f0995095f095f0995095f095f0995095f095f0995095f095f0995095f095f0995095f095f0995095f095f0995095f095f0995095f095f0995095f095f0995095f095f0995095f095f0995095f095f0995095f095f0995099509950995099509950995099509950995099509950995099509950995099509950995099509950995099509950995099509950995099509950995099509950995099509a1099509a109a5099509a5099d0995099d095f0995095f095f0995095f095f0995095f095f0995095f095f0995095f095f0995095f095f0995095f095f0995095f095f0995095f095f0995095f095f0995095f095f0995095f095f0995095f095f0995095f095f0995095f095f0995095f095f0995095f095f0969096909690969096909690969096909690969096909690969096909690969096909690969096909690969096909690969096909690969096909690969096909690969096909690969096909690969096909690969096909690969096909690969096909690969096909690969096909690969096909690969096909690969096909690969096909690969096909690969096909690969096909690969096909690969096909690969096909780969097809780969097809780969097809780969097809780969097809780969097809780969097809780969097809780969097809780969097809780969097809780969097809780969097809780969097809780969097809ac096909ac09a9096909a909850969098509850969098509850969098509850969098509850969098509850969098509850959095909590959095909590959095909590959095909590959095909590959095909590959095909590959095909590959095909590959095909590959095909590959095909590959095909850959098509850959098509850959098509850959098509850959098509850959098509850959098509a9095909a909b3095909b309b3095909b3095f0959095f095f0959095f095f0959095f095f0959095f095f0959095f095f0959095f095f0959095f095f0959095f095f0959095f095f0959095f095f0959095f095f0959095f095f0959095f095f0959095f095f0959095f095f0959095f095f0959095f095f0959095f099d09b909b909b909b909b9095909b90959095909b90959095909b90959095909b90959095909b90959095909b90959095909b90959095909b90959095909b90959095909b90959095909b90959095909b90959095909b90959095909b90959099d09b9099d09a509a909ac099509a90995099509a90995099509a90995099509a90995099509a90995099509a90995099509a90995099509a90995099509a9099509b309a909b309b309ac0978097809ac0978097809ac0978097809ac0978097809ac0978097809ac0978097809ac0978097809ac0978097809ac0978097809ac0978097809ac0978097809ac0978097809ac0978097809ac0978097809ac097809a109ac09a1099509ac0995099509ac0995099509ac0995099509ac0995099509ac0995099509ac0995099509ac0995099509ac0995099509ac0995099509ac0995099509ac0995099509ac0995099509b909b909b909b909b9096909b90969096909b90969096909b90969096909b90969096909b90969096909b90969096909b90969096909b90969096909b90969096909b90969096909b90969096909b90969096909b90969096909b90969096909b90969096909b90969096909b90969096909b90969096909b90969096909b90969096909b90969096909b90969096909b90969096909b90969096909b90969096909b90969096909b90969096909b90969096909b90969096909b90969098509b90985098509b90985098509b90985098509b90985098509b90985098509b90985098509b90985095909b90959095909b90959095909b90959095909b90959095909b90959095909b90959095909b90959095909b90959095909b90959095909b90959095909b90959095909b90959095909b9095909590985098509850985098509850985098509850985098509850985098509850985098509a9098509a9095909850959095909850959095909850959095909850959095909850959095909850959095909850959095909850959095909850959095909850959095909850959095909850959095909850959095909b909b909b909b909b9095909b90959095909b90959095909b90959095909b90959095909b90959095909b90959095909b90959095909b90959095909b90959095909b90959095909b90959095909b90959095909b90959095909b90959099d09b9099d09a50969096909690969096909690969096909690969096909690969096909690969096909690969096909690969096909690969096909690969096909690969096909690969096909690969096909690969096909690969096909690969096909690969096909690969096909690969096909690969096909690969096909690969096909690969096909690969096909690969096909690969096909690969096909690969096909690969096909780969097809780969097809780969097809780969097809780969097809780969097809780969097809780969097809780969097809780969097809780969097809780969097809780969097809780969097809780969097809ac0969096909690969096909690969096909690969096909690969096909690969096909690969096909690969096909690969096909690969096909690969096909690969096909690969096909690969096909690969096909690969096909690969096909690969096909690969096909690969096909690969096909690969096909690969096909690969096909690969096909690969096909690969096909690969096909690969096909b9096909b909b9096909b909b9096909b909a5096909a509a1096909a109780969097809780969097809780969097809780969097809780969097809780969097809780969097809780969097809780969097809780969097809780969097809780969097809780969097809780969097809780995099509950995099509950995099509950995099509950995099509950995099509950995099509950995099509950995099509950995099509950995099509950995099509a1099509a1095f0995095f095f0995095f095f0995095f095f0995095f095f0995095f095f0995095f095f0995095f095f0995095f095f0995095f095f0995095f095f0995095f095f0995095f095f0995095f095f0995095f095f0995095f095f0995095f095f0995095f095f0995095f09b3099509b309b3095f095f095f095f095f095f095f095f095f095f095f095f095f095f095f095f095f095f095f095f095f095f095f095f095f095f095f095f095f095f095f095f095f095f095f095f095f095f095f095f095f095f095f095f095f095f095f095f09a909ac099509a90995099509a90995099509a90995099509a90995099509a90995099509a90995099509a90995099509a90995099509a9099509b309a909b309b30995099509950995099509950995099509950995099509950995099509950995099509950995099509950995099509950995099509950995099509950995099509950995099509a109c709c609c409c709c409c509c909cb09ca09c909ca09c809ef09cc09cc09ef09cc09cc09ef09cc09cc09ef09cc09cc09ef09cc09cc09ef09cc09cc09c409cf09d009c409d009d009c409d009c509d009d009f409d309d309cc09d309cc09cc09d309cc09cc09d309cc09cc09d309cc09cc09d309cc09cc09d309cc09cc09d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d509d409d509d509d409d509d509d409d509d509d409d509d509d409d509d509c609c909c809c609c809cf09c609cf09c409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d509d409d509d509d409d509d509d409d509d509d409d509d509d409d509d509d409d509cc09d409cc09cc09d409cc09cc09d409cc09cc09d409cc09cc09d409cc09cc09d409cc09cc09cb09d409d409cb09d409d409cb09d409d409cb09d409d409cb09d409d409cb09d409d409cb09d409d409cb09d409d409cb09d409d409cb09d409d409cb09d409d409cb09d409d409cb09d409d409cb09d409d409cb09d409d409cb09d409d409cb09d409d409cb09d409d409cb09d409d409cb09d409d409cb09d409d409cb09d409d409cb09d409d409cb09d409d409cc09cc09cc09cc09cc09cc09cc09cc09cc09cc09cc09cc09cc09cc09cc09d509d509d509d509d509d509d509d509d509d509d509d509d509d509f009d509f009ef09d509ef09cc09d509cc09cc09d509cc09cc09d509cc09cc09d509cc09cc09d509cc09cc09d509cc09cc09c509d009d009f009f509d009f009d009d009f009d009f409f009f409ef09f509c709c509f509c509d009f509d009d009f509d009f409cf09c809ca09cf09ca09d309cf09d309d309cf09d309cc09cf09cc09cc09cf09cc09cc09cf09cc09cc09cf09cc09cc09cf09cc09cc09cf09cc09cc09cf09cc09ef09cf09ef09f409cf09f409d009cf09d009d009d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d509d409d509d509d409d509d509d409d509d509d409d509d509d409d509d509d409d509cc09d409cc09cc09d409cc09cc09d409cc09cc09d409cc09cc09d409cc09cc09d409cc09cc09d409cc09d309d409d309d309d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409cb09d409cb09c909d409c909c609d409c609c709d409c709f509d409f509f009d409f009d509d409d509d509d409d509d509d409d509d509d409d509d509d409d509d509d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409d409cb09d409d409cb09d409d409cb09d409d409cb09d409d409cb09d409d409cb09d409d409cb09d409d409cb09d409d409cb09d409d409cb09d409d409cb09d409d409cb09d409d409cb09d409d409cb09d409d409cb09d409d409cb09d409d409cb09d409d409cb09d409d409cb09d409d409cb09d409d409cb09d409d409cb09d409d409cb09d409d409cb09d409d409cb09d409d309cb09d309d309cb09d309ca09fd09fd09fb09fd09fb09fb09fd09fb09fb09010a010a010a010a010a010a010a010a010a010a010a010a010a010a010a010a010a010a010a010a010a010a010a010a010a010a010a010a010a010a010a010a010a010a010afe09010afe09fe09010afe09fe09010afe09fe09010afe09fe09010afe09fe09010afe09fe09010afe09fe09010afe09fe09010afe09fe09010afe09fe09010afe09fe09010afe09fe09010afe09fe09010afe09fe09010afe09fe09010afe09fe09010afe09fe09010afe09fe09010afe09fe09010afe09fe09010a010a010a010a010a010a010a010a010a010a010a010a010a010a010a010a010a010a010a010a010a010a010a010a010a010a010a010a010a010a010a010a010a010a010a270a270a0e0a0e0a270a0e0a0e0a270a0e0a0e0a270a0e0a0e0a270a0e0a0e0a270a0e0a0e0a270a0e0a0e0a270a0e0a0e0a270a0e0a0e0a140a140a140a140a140a140a140a140a140a140a140a140a140a140a140a140a140a140a140a140a2c0afe09fe09fe09fe09fe09fe09fe09fe09fe09fe09fe09fe09fe09fe09fe09fe09fe09fe09fe09fe09fe09fe09fe09fe09fe09fe09fe09fe09fe09fe09fe09fe09fe09fe09fe09fe09fe09fe09fe09fe09fe09fe09fe09fe09fe09fe09fe09fe09fe09fe09fe09fe09fe09fe09fe09fe09fe09fe09fe090e0afe090e0a0e0afe090e0a0e0afe090e0a0e0afe090e0a0e0afe090e0a0e0afe090e0a0e0afe090e0a0e0afe090e0a0e0afe090e0a0e0a270a010a010a270a010a010a270a010a010a270a010a010a270a010a010a270a010a010a270a010a010a270a010a010a270a010a010a270a010a010a270a010a010a270a010a010a270a010afe09270afe09fe09270afe09fe09270afe09fe09270afe09fe09270afe09fe09270afe09fe09270afe09fe09270afe09fe09270afe09fe09270afe09fe09270afe09fe09270afe09fe09270afe09fe09270afe09fe09270afe09fe09270afe09fe09270afe09fe09270afe09fe09270afe09fe09270afe09fe09270afe090e0a270a0e0a0e0a270a0e0a0e0a270a0e0a0e0a270a0e0a0e0a270a0e0a0e0a270a0e0a0e0a270a0e0a0e0a270a0e0a0e0a270a0e0a0e0a010a010a010a010a010a010a010a010a010a010a010a010a010a010a010a010a010a010a010a010a010a010a010a010a010a010a010a010a010a010a010a010a010a010a010a010a010a010a140a010a140a140a010a140a140a010a140a140a010a140a140a010a140a140a010a140a140a010a140a140a010a140a2c0a010a2c0afe09010afe09fe09010afe09fe09010afe09fe09010afe09fe09010afe09fe09010afe09fe09010afe09fe09010afe09fe09010afe09fe09010afe09fe09010afe09fe09010afe09fe09010afe09fe09010afe09fe09010afe09fe09010afe09fe09010afe09fe09010afe09fe09010afe09fe09010afe09fe09010a010a010a010a010a010a010a010a010a010a010a010a010a010a010a010a010a010a010a010a010a010a010a010a010a010a010a010a010a010a010a010a010a010a010a270a010a270afd09010afd09fd09010afd09140a010a140a140a010a140a140a010a140a140a010a140a140a010a140a140a010a140a140a010a140a140afd09fd09270afd09270a0e0afd090e0a0e0afd090e0a0e0afd090e0a0e0afd090e0a0e0afd090e0a0e0afd090e0a0e0afd090e0a0e0afd090e0a0e0afd090e0a0e0afd090e0afb09fd09fb09fb09fd09fb09fb09140a140a140a140a140a140a140a140a140a140a140a140a140a140a140a140a140a140a140a140afd09140afd09fd09140afd09fb09140afb09fb09140afb09fb09140afb092c0afe09fe09fe09fe09fe09fe09fe09fe09fe09fe09fe09fe09fe09fe09fe09fe09fe09fe09fe09fe09fe09fe09fe09fe09fe09fe09fe09fe09fe09fe09fe09fe09fe09fe09fe09fe09fe09fe09fe09fe09fe09fe09fe09fe09fe09fe09fe09fe09fe09fe09fe09fe09fe09fe09fe09fe09fe09fe09fe090e0afe090e0a0e0afe090e0a0e0afe090e0a0e0afe090e0a0e0afe090e0a0e0afe090e0a0e0afe090e0a0e0afe090e0a0e0afe090e0a0e0a270a010a010a270a010a010a270a010a010a270a010a010a270a010a010a270a010a010a270a010a010a270a010a010a270a010a010a270a010a010a270a010a010a270a010a010a270a010afe09270afe09fe09270afe09fe09270afe09fe09270afe09fe09270afe09fe09270afe09fe09270afe09fe09270afe09fe09270afe09fe09270afe09fe09270afe09fe09270afe09fe09270afe09fe09270afe09fe09270afe09fe09270afe09fe09270afe09fe09270afe09fe09270afe09fe09270afe09fe09270afe090e0a270a0e0a0e0a270a0e0a0e0a270a0e0a0e0a270a0e0a0e0a270a0e0a0e0a270a0e0a0e0a270a0e0a0e0a270a0e0a0e0a270a0e0a0e0afe09fe09fe09fe09fe09fe09fe09fe09fe09fe09fe09fe09fe09fe09fe09fe09fe09fe09fe09fe09fe09fe09fe09fe09fe09fe09fe09fe09fe09fe09fe09fe09fe09fe09fe09fe09fe09fe09fe09fe09fe09fe09fe09fe09fe09fe09fe09fe09fe09fe09fe09fe09fe09fe09fe09fe09fe09fe09fe092c0afe092c0afb09fe09fb09fb09fe09fb09fb09fe09fb090e0afe090e0a0e0afe090e0a0e0afe090e0a0e0afe090e0a0e0afe090e0a0e0afe090e0a0e0afe090e0a0e0afe090e0a0e0afe090e0a0e0a010a010a010a010a010a010a010a010a010a010a010a010a010a010a010a010a010a010a010a010a010a010a010a010a010a010a010a010a010a010a010a010a010a010a010a270a010a010a010a010a010a010a010a010a010a010a010a010a010a010a010a010a010a010a010a010a010a010a010a010a010a010a010a010a010a010a010a010a010a010a010a270a010a270afd09010afd09fd09010afd09140a010a140a140a010a140a140a010a140a140a010a140a140a010a140a140a010a140a140a010a140a140a600a600a600a600a600a600a600a600a600a600a600a600a600a600a600a600a600a600a600a600a600a600a600a600a600a600a600a600a600a600a600a600a600a600a600a600a600a600a590a6e0a510a510a370a370a370a370a370a370a370a370a370a490a380a380a490a380a380a490a380a380a490a380a380a490a380a380a490a380a380a490a380a380a490a380a380a490a380a380a490a380a380a490a380a380a3f0a3f0a3f0a3f0a3f0a3f0a3f0a3f0a3f0a3f0a3f0a3f0a3f0a3f0a3f0a3f0a3f0a3f0a3f0a3f0a3f0a3f0a3f0a3f0a3f0a3f0a370a3f0a370a370a3f0a370a370a3f0a370a370a3f0a370a370a470a470a490a470a490a380a470a380a380a470a380a380a470a380a380a470a380a380a470a380a380a470a380a380a470a380a380a470a380a380a470a380a380a470a380a380a470a380a380a470a380a440a470a440a440a470a440a440a470a440a440a470a440a440a470a440a440a470a440a440a470a440a460a3f0a3f0a3f0a3f0a3f0a3f0a3f0a3f0a3f0a3f0a3f0a3f0a3f0a3f0a3f0a3f0a3f0a3f0a3f0a3f0a3f0a3f0a3f0a3f0a3f0a3f0a790a380a380a380a380a380a380a380a380a380a380a380a380a380a380a380a380a380a380a380a380a380a380a380a380a380a380a380a380a380a380a380a380a510a380a510a510a380a510a4f0a380a4f0a4f0a380a4f0a4f0a380a4f0a4f0a380a4f0a440a380a440a440a380a440a440a380a440a440a380a440a440a380a440a440a380a440a440a590a460a440a590a440a440a590a440a440a590a440a440a590a440a440a590a440a440a590a440a440a590a440a590a4f0a4f0a4f0a4f0a4f0a4f0a4f0a4f0a5d0a4f0a5d0a5d0a4f0a5d0a5d0a4f0a5d0a5d0a4f0a5d0a5d0a4f0a5d0a370a4f0a370a370a4f0a370a370a4f0a370a370a4f0a370a370a600a600a600a600a600a600a600a600a600a600a600a600a600a600a600a600a600a600a600a600a600a600a600a600a600a600a600a600a600a600a600a600a600a600a600a600a600a600a660a600a660a470a600a470a470a600a470a460a600a460a590a660a600a600a660a600a600a660a600a600a660a600a600a660a600a600a660a600a600a660a600a600a660a600a600a660a600a600a660a600a600a660a600a600a660a600a600a660a600a600a660a600a3f0a660a3f0a3f0a660a3f0a3f0a660a3f0a3f0a660a3f0a3f0a660a3f0a3f0a660a3f0a3f0a660a3f0a3f0a660a3f0a3f0a660a3f0a3f0a490a6e0a510a490a510a510a490a510a380a490a380a380a490a380a380a490a380a380a490a380a380a490a380a380a490a380a380a490a380a380a490a380a380a490a380a380a490a380a380a490a380a380a3f0a3f0a3f0a3f0a3f0a3f0a3f0a3f0a3f0a3f0a3f0a3f0a3f0a3f0a3f0a3f0a3f0a3f0a3f0a3f0a3f0a3f0a3f0a3f0a3f0a3f0a600a3f0a600a600a3f0a600a600a3f0a600a600a3f0a600a600a3f0a600a600a3f0a600a600a3f0a600a600a3f0a600a600a3f0a600a600a3f0a600a600a3f0a600a600a3f0a600a600a3f0a600a600a3f0a600a590a3f0a590a590a3f0a590a370a3f0a370a370a3f0a370a370a3f0a370a370a3f0a370a370a510a510a6e0a510a6e0a790a510a790a5d0a510a5d0a5d0a510a5d0a5d0a510a5d0a5d0a510a5d0a5d0a510a5d0a4f0a510a4f0a4f0a510a4f0a4f0a510a4f0a4f0a380a380a380a380a380a380a380a380a380a380a380a380a380a380a380a380a380a380a380a380a380a380a380a380a380a380a380a380a380a380a380a380a440a380a440a440a380a440a440a380a440a440a380a440a440a380a440a440a380a440a440a470a470a490a470a490a380a470a380a380a470a380a380a470a380a380a470a380a380a470a380a380a470a380a380a470a380a380a470a380a380a470a380a380a470a380a380a470a380a380a470a380a440a470a440a440a470a440a440a470a440a440a470a440a440a470a440a440a470a440a440a470a440a460a600a600a600a600a600a600a600a600a600a600a600a600a600a600a600a600a600a600a600a600a600a600a600a600a600a600a600a600a600a600a600a600a600a790a3f0a3f0a790a3f0a3f0a790a3f0a3f0a790a3f0a3f0a790a3f0a3f0a790a3f0a3f0a790a3f0a3f0a790a3f0a3f0a790a3f0a3f0a790a3f0a370a790a370a370a790a370a370a790a370a370a790a370a370a790a370a5d0a790a5d0a5d0a790a5d0a5d0a790a5d0a5d0a790a5d0a5d0a4f0a4f0a4f0a4f0a4f0a4f0a4f0a4f0a5d0a4f0a5d0a5d0a4f0a5d0a5d0a4f0a5d0a5d0a4f0a5d0a5d0a4f0a5d0a370a4f0a370a370a4f0a370a370a4f0a370a370a4f0a370a370a4f0a370a590a4f0a590a440a4f0a440a440a4f0a440a440a4f0a440a440a4f0a440a440a4f0a440a440a4f0a440a440a370a370a370a370a370a370a370a370a370a510a510a6e0a510a6e0a790a510a790a5d0a510a5d0a5d0a510a5d0a5d0a510a5d0a5d0a510a5d0a5d0a510a5d0a4f0a510a4f0a4f0a510a4f0a4f0a510a4f0a4f0a660a600a600a660a600a600a660a600a600a660a600a600a660a600a600a660a600a600a660a600a600a660a600a600a660a600a600a660a600a600a660a600a600a660a600a600a660a600a600a600a600a600a600a600a600a600a600a600a600a600a600a600a600a600a600a600a600a600a600a600a600a600a600a600a600a600a600a600a600a600a600a600a600a600a600a600a600a660a600a660a470a600a470a470a600a470a460a600a460a590a3f0a3f0a3f0a3f0a3f0a3f0a3f0a3f0a3f0a3f0a3f0a3f0a3f0a3f0a3f0a3f0a3f0a3f0a3f0a3f0a3f0a3f0a3f0a3f0a3f0a3f0a790a3f0a790a6e0a3f0a6e0a490a3f0a490a470a3f0a470a470a3f0a470a660a3f0a660a600a3f0a600a600a3f0a600a600a3f0a600a600a3f0a600a600a3f0a600a600a3f0a600a600a3f0a600a600a3f0a600a600a3f0a600a600a3f0a600a600a3f0a600a600a3f0a600a600a3f0a600a600a860a830a7b0a810a850a7d0a7b0a7c0a7e0a7b0a7e0a7d0a800a820a810a800a810a7f0a830a860a840a830a840a7c0a830a7c0a7b0a860a830a7b0a860a7b0a7d0a860a7d0a850a880a800a7f0a880a7f0a870a7c0a840a880a7c0a880a870a7c0a870a7e0a820a860a850a820a850a810a7f0a810a850a7f0a850a7d0a7f0a7d0a7e0a7f0a7e0a870a860a820a800a860a800a880a860a880a840a860a840a830a890a890a890a890a890a890a890a890a890a890a890a890a890a890a890a890a890a890a890a890a890a890a890a890a890a890a890a890a890a890a890a890a890a890a890a890a890a890a890a890a890a890a890a890a950a890a950a950a890a950a950a890a950a950a890a950a950a890a950a950a890a950a950a890a950a950a890a950a950aae0a920a920aae0a920a920aae0a920a920a950a950a950a950a950a950a950a950a950a950a950a950a950a950a950a950a950a950a950a950a950a950a950a950aa70aa70aa70aa70aa70a9b0aa70a9b0a9b0aa70a9b0a9b0aa30a890a890aa30a890a890aa30a890a890aa30a890a890aa30a890a890aa30a890a890aa30a890a890aa30a890a890aa30a890a890aa30a890a890aa30a890a890aa30a890a890aa30a890a890aa30a890a890aa30a890a890aa30a890a890aa30a890a950aa30a950a950aa30a950a950aa30a950a950aa30a950a950aa30a950a950aa30a950a950aa30a950a950aa30a950a950aa30a950aa20a890a890a890a890a890a890a890a890a890a890a890a890a890a890a890a890a890a890a890a890a890a890a890a890a890a890a890a890a890a890a890a890a890a890a890a890a890a890a890a890a890a890a890a890aa70a890aa70aa70a890aa70aa70a890aa70a9b0a890a9b0a9b0a890a9b0a9b0a890a9b0a950a890a950a950a890a950a950a890a950a950a890a950a950a890a950a950a890a950a950a890a950a950a890a950a950a890a950a950aae0aa30aa20aae0aa20a920aae0a920a920aae0a920a920aae0a920a920aa70aa70aa70aa70aa70a890aa70a890a890aa70a890a890aa70a890a890aa70a890a890aa70a890a890aa70a890a890aa70a890a890aa70a890a890aa70a890a890aa70a890a890aa70a890a890aa70a890a890aa70a890a890aa70a890a890aa70a890a890a9b0a9b0a9b0a9b0a9b0a920a9b0a920a920a9b0a920a920a9b0a920a920a9b0a920aa20a9b0aa20a950a9b0a950a950a9b0a950a950a9b0a950a950a9b0a950a950a9b0a950a950a9b0a950a950a9b0a950a950a9b0a950a950a9b0a950a950aa70aa70aa70aa70aa70aae0aa70aae0a920aa70a920a920aa70a920a920aa70a920a920aa70a920a9b0aa70a9b0a9b0aa70a9b0a9b0a890a890a890a890a890a890a890a890a890a890a890a890a890a890a890a890a890a890a890a890a890a890a890a890a890a890a890a890a890a890a890a890a890a890a890a890a890a890a890a890a890a890a890a890a890a890a890aa30a9b0a9b0a9b0a9b0a9b0a950a9b0a950a950a9b0a950a950a9b0a950a950a9b0a950a950a9b0a950a950a9b0a950a950a9b0a950a950a9b0a950a950a9b0a950a950aa30aae0aa70aa30aa70aa70aa30aa70aa70aa30aa70a890aa30a890a890aa30a890a890aa30a890a890aa30a890a890aa30a890a890aa30a890a890aa30a890a890aa30a890a890aa30a890a890aa30a890a890aa30a890a890aa30a890a890aa30a890a890aa30a890a890aa30a890a890ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ac30ac30ac30ac30ac30ac30ac30ac30ac30ac30ac30ac30ac30ac30ac30ac30ac30ac30ac30ac30ac30ac30ac30ac30ac30ac30ac30ac30ac30ac30ac30ac30ac30ac30ac30ac30ae60ae60ae90af00acb0acb0af00acb0acb0af00acb0acb0af00acb0acb0af00acb0acb0af00acb0acb0af00acb0acb0af00acb0acb0af00acb0acb0af00acb0acb0af00acb0acb0af00acb0acb0af00acb0acb0af00acb0acb0ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10acb0ab10acb0acb0ab10acb0acb0ab10acb0acb0ab10acb0acb0ab10acb0acb0ab10acb0acb0ab10acb0acb0ab10acb0acb0ab10acb0acb0ab10acb0acb0ab10acb0acb0ab10acb0acb0ab10acb0acb0ab10acb0acb0ae60ae60ac30ae60ac30ac30ae60ac30ac30ae60ac30ac30ae60ac30ac30ae60ac30ac30ae60ac30ac30ae60ac30ac30ae60ac30ac30ae60ac30ac30ae60ac30ac30ae60ac30ac30ae60ac30ac30ae60ac30ac30ae60ac30ab10ae60ab10ab10ae60ab10ab10ae60ab10ab10ae60ab10ab10ae60ab10ab10ae60ab10ab10ae60ab10ab10ae60ab10ab10ae60ab10ab10ae60ab10ab10ae60ab10ab10ae60ab10ab10ae60ab10ab10ae60ab10ab10ae60ab10ab10ae60ab10ab10ae60ab10ab10ae60ab10ab10ae60ab10ab10ae60ab10ab10ae60ab10ab10ae60ab10ab10ae60ab10ab10ae60ab10ab10ae60ab10ab10ae60ab10ab10ae60ab10ab10ae60ab10ab10ae60ab10ab10ae60ab10ab10ae60ab10ab10ae60ab10ab10ae60ab10ab10ae60ab10ab10ae60ab10ab10ae60ab10ab10ae60ab10ab10ae60ab10ab10ae60ab10ab10ae60ab10ae90ac30ac30ac30ac30ac30ac30ac30ac30ac30ac30ac30ac30ac30ac30ac30ac30ac30ac30ac30ac30ac30ac30ac30ac30ac30ac30ac30ac30ac30ac30ac30ac30ac30ac30ac30af00ac30af00acb0ac30acb0acb0ac30acb0acb0ac30acb0acb0ac30acb0acb0ac30acb0acb0ac30acb0acb0ac30acb0acb0ac30acb0acb0ac30acb0acb0ac30acb0acb0ac30acb0acb0ac30acb0acb0ac30acb0acb0ac30acb0acb0ac30acb0ab10ac30ab10ab10ac30ab10ab10ac30ab10ab10ac30ab10ab10ac30ab10ab10ac30ab10ab10ac30ab10ab10ac30ab10ab10ac30ab10ab10ac30ab10ab10ac30ab10ab10ac30ab10ab10ac30ab10ab10ac30ab10ab10ac30ab10ab10ac30ab10ab10ac30ab10ab10ac30ab10ab10ac30ab10ab10ac30ab10ab10ac30ab10ab10ac30ab10ab10ac30ab10ab10ac30ab10ab10ac30ab10ab10ac30ab10ab10ac30ab10ab10ac30ab10ab10ac30ab10ab10ac30ab10ab10ac30ab10ab10ac30ab10ab10ac30ab10ab10ac30ab10ab10ac30ab10ab10ac30ab10ab10ac30ab10ab10ac30ab10ab10ac30ab10ab10ac30ac30ac30ac30ac30ac30ac30ac30ac30ac30ac30ac30ac30ac30ac30ac30ac30ac30ac30ac30ac30ac30ac30ac30ac30ac30ac30ac30ac30ac30ac30ac30ac30ac30ac30ac30ac30ac30ae60ac30ae60ae60af00af80af70af00af70acb0af00acb0acb0af00acb0acb0af00acb0acb0af00acb0acb0af00acb0acb0af00acb0acb0af00acb0acb0af00acb0acb0af00acb0acb0af00acb0acb0af00acb0acb0af00acb0acb0af00acb0acb0af00acb0acb0ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10acb0ab10acb0acb0ab10acb0acb0ab10acb0acb0ab10acb0acb0ab10acb0acb0ab10acb0acb0ab10acb0acb0ab10acb0acb0ab10acb0acb0ab10acb0acb0ab10acb0acb0ab10acb0acb0ab10acb0acb0ab10acb0acb0ab10acb0af70ab10af70ae90ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10acb0ab10acb0acb0ab10acb0acb0ab10acb0acb0ab10acb0acb0ab10acb0acb0ab10acb0acb0ab10acb0acb0ab10acb0acb0ab10acb0acb0ab10acb0acb0ab10acb0acb0ab10acb0acb0ab10acb0acb0ab10acb0acb0af80ae60ae60af80ae60ae90af80ae90af70ae60ae60ac30ae60ac30ac30ae60ac30ac30ae60ac30ac30ae60ac30ac30ae60ac30ac30ae60ac30ac30ae60ac30ac30ae60ac30ac30ae60ac30ac30ae60ac30ac30ae60ac30ac30ae60ac30ac30ae60ac30ac30ae60ac30ab10ae60ab10ab10ae60ab10ab10ae60ab10ab10ae60ab10ab10ae60ab10ab10ae60ab10ab10ae60ab10ab10ae60ab10ab10ae60ab10ab10ae60ab10ab10ae60ab10ab10ae60ab10ab10ae60ab10ab10ae60ab10ab10ae60ab10ab10ae60ab10ab10ae60ab10ab10ae60ab10ab10ae60ab10ab10ae60ab10ab10ae60ab10ab10ae60ab10ab10ae60ab10ab10ae60ab10ab10ae60ab10ab10ae60ab10ab10ae60ab10ab10ae60ab10ab10ae60ab10ab10ae60ab10ab10ae60ab10ab10ae60ab10ab10ae60ab10ab10ae60ab10ab10ae60ab10ab10ae60ab10ab10ae60ab10ab10ae60ab10ab10ae60ab10ab10ae60ab10ae90ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ab10ac30ac30ac30ac30ac30ac30ac30ac30ac30ac30ac30ac30ac30ac30ac30ac30ac30ac30ac30ac30ac30ac30ac30ac30ac30ac30ac30ac30ac30ac30ac30ac30ac30ac30ac30ac30ac30ac30ae60ac30ae60ae60ac30ae60af80ac30af80af00ac30ac30ac30ac30ac30ac30ac30ac30ac30ac30ac30ac30ac30ac30ac30ac30ac30ac30ac30ac30ac30ac30ac30ac30ac30ac30ac30ac30ac30ac30ac30ac30ac30ac30ac30ac30a1a0bfc0afc0a1a0bfc0afc0a1a0bfc0afc0a1a0bfc0afc0a1a0bfc0afc0a1a0bfc0afc0a1a0bfc0afc0a1a0bfc0afc0a1a0bfc0afc0a1a0bfc0afc0a1a0bfc0afc0a1a0bfc0afc0a1a0bfc0afc0a1a0bfc0afc0a1a0bfc0afc0a1a0bfc0afc0a1a0bfc0afc0a1a0bfc0afc0a1a0bfc0afc0a1a0bfc0afc0a1a0bfc0afc0a1a0bfc0afc0a1a0bfc0afc0a170b170b1c0b230b080b080b230b080b080b230b080b080b230b080b080b230b080b080b230b080b080b230b080b080b230b080b080b230b080b080b230b080b080b230b080b080bfc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0a080bfc0a080b080bfc0a080b080bfc0a080b080bfc0a080b080bfc0a080b080bfc0a080b080bfc0a080b080bfc0a080b080bfc0a080b080bfc0a080b080bfc0a080b080b230b1e0b1e0b230b1e0b260b230b260b080b230b080b080b230b080b080b230b080b080b230b080b080b230b080b080b230b080b080b230b080b080b230b080b080b230b080b080b230b080b080b230b080b080b170b170b1a0b170b1a0bfc0a170bfc0afc0a170bfc0afc0a170bfc0afc0a170bfc0afc0a170bfc0afc0a170bfc0afc0a170bfc0afc0a170bfc0afc0a170bfc0afc0a170bfc0afc0a170bfc0afc0a170bfc0afc0a170bfc0afc0a170bfc0afc0a170bfc0afc0a170bfc0afc0a170bfc0afc0a170bfc0afc0a170bfc0afc0a170bfc0afc0a170bfc0afc0a170bfc0afc0a170bfc0afc0a170bfc0a1c0b170b170b1e0b170b1e0b1e0bfc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0a1a0bfc0a1a0b230bfc0a230b080bfc0a080b080bfc0a080b080bfc0a080b080bfc0a080b080bfc0a080b080bfc0a080b080bfc0a080b080bfc0a080b080bfc0a080b080bfc0a080b080bfc0a080b080bfc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0a080bfc0a080b080bfc0a080b080bfc0a080b080bfc0a080b080bfc0a080b080bfc0a080b080bfc0a080b080bfc0a080b080bfc0a080b080bfc0a080b080bfc0a080b080bfc0a080b260bfc0a260b1c0bfc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0afc0a1a0bfc0a1a0b230bfc0a230b080bfc0a080b080bfc0a080b080bfc0a080b080bfc0a080b080bfc0a080b080bfc0a080b080bfc0a080b080bfc0a080b080bfc0a080b080bfc0a080b080bfc0a080b080b230b1e0b1e0b230b1e0b260b230b260b080b230b080b080b230b080b080b230b080b080b230b080b080b230b080b080b230b080b080b230b080b080b230b080b080b230b080b080b230b080b080b230b080b080b1e0b1e0b170b1e0b170b170b1e0b170b1c0b1e0b1c0b260b170b170b1a0b170b1a0bfc0a170bfc0afc0a170bfc0afc0a170bfc0afc0a170bfc0afc0a170bfc0afc0a170bfc0afc0a170bfc0afc0a170bfc0afc0a170bfc0afc0a170bfc0afc0a170bfc0afc0a170bfc0afc0a170bfc0afc0a170bfc0afc0a170bfc0afc0a170bfc0afc0a170bfc0afc0a170bfc0afc0a170bfc0afc0a170bfc0afc0a170bfc0afc0a170bfc0afc0a170bfc0afc0a170bfc0a1c0b230b1a0b170b230b170b170b230b170b1e0b230b1e0b1e0b280b280b4e0b3d0b3d0b3d0b3d0b3d0b3d0b3d0b3d0b3d0b3d0b3d0b290b3d0b290b290b3d0b290b290b3d0b290b290b3d0b290b290b3d0b290b290b3d0b290b290b3d0b290b290b3d0b290b290b3d0b290b290b3d0b290b290b3d0b290b290b3d0b290b290b3d0b290b290b290b290b290b290b290b290b290b290b290b290b290b290b290b290b290b290b290b290b290b290b290b290b290b290b290b290b290b290b290b290b290b290b290b290b290b450b310b310b310b310b310b310b310b310b310b310b310b310b310b310b310b310b310b310b310b310b450b4a0b350b350b4a0b350b350b4a0b350b350b4a0b350b350b4a0b350b350b4a0b350b350b290b290b290b290b290b290b290b290b290b290b290b290b290b290b290b290b290b290b290b290b290b290b290b290b290b290b290b290b290b290b290b290b290b290b290b350b290b350b350b290b350b350b290b350b350b290b350b350b290b350b350b290b350b4e0b290b4e0b450b310b310b310b310b310b310b310b310b310b310b310b310b310b310b310b310b310b310b310b310b440b310b440b3d0b310b3d0b3d0b310b3d0b3d0b310b3d0b3d0b310b3d0b3d0b310b3d0b290b310b290b290b310b290b290b310b290b290b310b290b290b310b290b290b310b290b290b310b290b290b310b290b290b310b290b290b310b290b290b310b290b290b310b290b290b310b290b290b310b290b450b3d0b3d0b3d0b3d0b3d0b3d0b3d0b3d0b3d0b3d0b3d0b4a0b3d0b4a0b350b3d0b350b350b3d0b350b350b3d0b350b350b3d0b350b350b3d0b350b350b3d0b350b350b3d0b350b290b3d0b290b290b3d0b290b290b3d0b290b290b3d0b290b290b3d0b290b290b3d0b290b290b3d0b290b290b3d0b290b290b3d0b290b290b3d0b290b290b3d0b290b290b3d0b290b290b3d0b290b290b3d0b440b3d0b3d0b3d0b3d0b3d0b3d0b3d0b3d0b3d0b3d0b3d0b3d0b310b3d0b310b310b3d0b310b310b3d0b310b310b3d0b310b310b3d0b310b310b3d0b310b310b3d0b310b310b280b280b310b280b310b310b280b310b310b280b310b310b280b310b310b280b310b310b280b310b310b280b310b310b280b310b450b280b450b4e0b4a0b280b280b4a0b280b4e0b4a0b4e0b350b4a0b350b350b4a0b350b350b4a0b350b350b4a0b350b350b4a0b350b350b4a0b350b350b290b290b290b290b290b290b290b290b290b290b290b290b290b290b290b290b290b290b290b290b290b290b290b290b290b290b290b290b290b290b290b290b290b290b290b350b290b350b350b290b350b350b290b350b350b290b350b350b290b350b350b290b350b4e0b290b4e0b450b290b290b290b290b290b290b290b290b290b290b290b290b290b290b290b290b290b290b290b290b290b290b290b290b290b290b290b290b290b290b290b290b290b290b290b450b3d0b3d0b3d0b3d0b3d0b3d0b3d0b3d0b3d0b3d0b3d0b440b3d0b440b310b3d0b310b310b3d0b310b310b3d0b310b310b3d0b310b310b3d0b310b310b3d0b310b310b3d0b310b310b3d0b310b280b3d0b280b280b3d0b280b4a0b3d0b440b3d0b3d0b3d0b3d0b3d0b3d0b3d0b3d0b3d0b3d0b3d0b3d0b310b3d0b310b310b3d0b310b310b3d0b310b310b3d0b310b310b3d0b310b310b3d0b310b310b3d0b310b310b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b630b630b630b630b630b630b630b630b630b630b630b630b630b630b630b630b630b630b630b630b630b630b630b630b630b630b630b630b630b630b630b630b630b630b630b630b860b860b890b860b890b890b6b0b900b6b0b6b0b6b0b6b0b6b0b6b0b6b0b6b0b6b0b6b0b6b0b6b0b6b0b6b0b6b0b6b0b6b0b6b0b6b0b6b0b6b0b6b0b6b0b6b0b6b0b6b0b6b0b6b0b6b0b6b0b6b0b6b0b6b0b6b0b6b0b6b0b6b0b6b0b6b0b6b0b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b6b0b500b6b0b6b0b500b6b0b6b0b500b6b0b6b0b500b6b0b6b0b500b6b0b6b0b500b6b0b6b0b500b6b0b6b0b500b6b0b6b0b500b6b0b6b0b500b6b0b6b0b500b6b0b6b0b500b6b0b6b0b500b6b0b6b0b860b860b630b860b630b630b860b630b630b860b630b630b860b630b630b860b630b630b860b630b630b860b630b630b860b630b630b860b630b630b860b630b630b860b630b630b860b630b630b860b630b630b860b630b500b860b500b500b860b500b500b860b500b500b860b500b500b860b500b500b860b500b500b860b500b500b860b500b500b860b500b500b860b500b500b860b500b500b860b500b500b860b500b500b860b500b500b860b500b500b860b500b500b860b500b500b860b500b500b860b500b500b860b500b500b860b500b500b860b500b500b860b500b500b860b500b500b860b500b500b860b500b500b860b500b500b860b500b500b860b500b500b860b500b500b860b500b500b860b500b500b860b500b500b860b500b500b860b500b500b860b500b500b860b500b500b860b500b500b860b500b500b860b500b500b860b500b500b860b500b890b860b890b890b630b630b630b630b630b630b630b630b630b630b630b630b630b630b630b630b630b630b630b630b630b630b630b630b630b630b630b630b630b900b630b900b6b0b630b6b0b6b0b630b6b0b6b0b630b6b0b6b0b630b6b0b6b0b630b6b0b6b0b630b6b0b6b0b630b6b0b6b0b630b6b0b6b0b630b6b0b6b0b630b6b0b6b0b630b6b0b6b0b630b6b0b6b0b630b6b0b6b0b630b6b0b6b0b630b6b0b500b630b500b500b630b500b500b630b500b500b630b500b500b630b500b500b630b500b500b630b500b500b630b500b500b630b500b500b630b500b500b630b500b500b630b500b500b630b500b500b630b500b500b630b500b500b630b500b500b630b500b500b630b500b500b630b500b500b630b500b500b630b500b500b630b500b500b630b500b500b630b500b500b630b500b500b630b500b500b630b500b500b630b500b500b630b500b500b630b500b500b630b500b500b630b500b500b630b500b500b630b500b500b630b500b500b630b500b500b630b500b500b630b500b500b630b500b500b630b500b500b630b500b500b630b630b630b630b630b630b630b630b630b630b630b630b630b630b630b630b630b630b630b630b630b630b630b630b630b630b630b630b630b630b630b630b630b630b630b630b630b630b860b630b860b860b890b890b970b900b980b970b900b970b6b0b900b6b0b6b0b900b6b0b6b0b900b6b0b6b0b900b6b0b6b0b900b6b0b6b0b900b6b0b6b0b900b6b0b6b0b900b6b0b6b0b900b6b0b6b0b900b6b0b6b0b900b6b0b6b0b900b6b0b6b0b900b6b0b6b0b900b6b0b6b0b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b6b0b500b6b0b6b0b500b6b0b6b0b500b6b0b6b0b500b6b0b6b0b500b6b0b6b0b500b6b0b6b0b500b6b0b6b0b500b6b0b6b0b500b6b0b6b0b500b6b0b6b0b500b6b0b6b0b500b6b0b6b0b500b6b0b6b0b500b6b0b970b500b970b890b500b890b890b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b6b0b500b6b0b6b0b500b6b0b6b0b500b6b0b6b0b500b6b0b6b0b500b6b0b6b0b500b6b0b6b0b500b6b0b6b0b500b6b0b6b0b500b6b0b6b0b500b6b0b6b0b500b6b0b6b0b500b6b0b6b0b500b6b0b6b0b500b6b0b6b0b980b860b860b980b860b890b980b890b890b980b890b970b860b860b630b860b630b630b860b630b630b860b630b630b860b630b630b860b630b630b860b630b630b860b630b630b860b630b630b860b630b630b860b630b630b860b630b630b860b630b630b860b630b630b860b630b500b860b500b500b860b500b500b860b500b500b860b500b500b860b500b500b860b500b500b860b500b500b860b500b500b860b500b500b860b500b500b860b500b500b860b500b500b860b500b500b860b500b500b860b500b500b860b500b500b860b500b500b860b500b500b860b500b500b860b500b500b860b500b500b860b500b500b860b500b500b860b500b500b860b500b500b860b500b500b860b500b500b860b500b500b860b500b500b860b500b500b860b500b500b860b500b500b860b500b500b860b500b500b860b500b500b860b500b500b860b500b500b860b500b500b860b500b500b860b500b500b860b500b500b860b500b890b860b890b890b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b500b630b630b630b630b630b630b630b630b630b630b630b630b630b630b630b630b630b630b630b630b630b630b630b630b630b630b630b630b630b630b630b630b630b630b630b630b630b630b860b630b860b860b630b860b980b630b980b900b630b630b630b630b630b630b630b630b630b630b630b630b630b630b630b630b630b630b630b630b630b630b630b630b630b630b630b630b630b630b630b630b630b630b630b630bcf0ba70ba70bcf0ba70ba70bcf0ba70ba70bcf0ba70ba70bcf0ba70ba70bac0bac0bac0bac0bac0bac0bac0bac0bac0bac0bac0b9e0bac0b9e0b9e0bac0b9e0b9e0bac0b9e0b9e0bac0b9e0b9e0bac0b9e0b9e0bac0b9e0b9e0bac0b9e0b9e0bac0b9e0b9e0bac0b9e0b9e0bac0b9e0b9e0bac0b9e0b9e0bac0b9e0b9e0bac0b9e0b9e0bac0b9e0b9e0bac0b9e0b9e0bb60bb60bb60bb60bb60bbc0bb60bbc0bbc0bb60bbc0bb60bb60bb60bb60bb60bb60ba70bb60ba70ba70bb60ba70ba70bb60ba70ba70bb60ba70ba70bb60ba70ba70bb60ba70ba70bb60ba70ba70bac0bac0bac0bac0bac0bac0bac0bac0bac0bac0bac0bac0bc50bc50bc50bc50bc50bb60bc50bb60bb60bc50bb60bb60bc50bb60bb60bc50bb60bb60bcc0bb00bb00bcc0bb00bb00bcc0bb00bb00bcc0bb00bb00bcc0bb00bb00bcc0bb00bb00bcc0bb00bb00b9e0b9e0b9e0b9e0b9e0b9e0b9e0b9e0b9e0b9e0b9e0b9e0b9e0b9e0b9e0b9e0b9e0b9e0b9e0b9e0b9e0b9e0b9e0b9e0b9e0b9e0b9e0b9e0b9e0b9e0b9e0b9e0b9e0b9e0b9e0b9e0b9e0b9e0b9e0b9e0b9e0b9e0b9e0b9e0bb00b9e0bb00bb00b9e0bb00bb00b9e0bb00bb00b9e0bb00bb00b9e0bb00bb00b9e0bb00bb00b9e0bb00bb00b9e0bb00ba70b9e0ba70ba70b9e0ba70ba70b9e0ba70ba70b9e0ba70ba70b9e0ba70ba70b9e0ba70ba70b9e0ba70ba70b9e0ba70bbc0b9e0bbc0bbc0b9e0bbc0bb60b9e0bb60bb60b9e0bb60bb60b9e0bb60bb60b9e0bb60bb60bc50bc50bc50bc50bc50bac0bc50bac0bac0bc50bac0bac0bc50bac0bac0bc50bac0bac0bc50bac0bac0bc50bac0b9e0bc50b9e0b9e0bc50b9e0b9e0bc50b9e0b9e0bc50b9e0b9e0bc50b9e0b9e0bc50b9e0b9e0bc50b9e0b9e0bc50b9e0b9e0bc50b9e0b9e0bc50b9e0b9e0bc50b9e0b9e0bc50b9e0b9e0bc50b9e0b9e0bc50b9e0b9e0bc50b9e0b9e0bc50b9e0bb60bc50bb60bb60bc50bb60bb60bc50bb60bb60bc50bb60bb60bac0bac0bac0bac0bac0bac0bac0bac0bac0bac0bac0bcc0bac0bcc0bb00bac0bb00bb00bac0bb00bb00bac0bb00bb00bac0bb00bb00bac0bb00bb00bac0bb00bb00bac0bb00bb00bac0bb00b9e0bac0b9e0b9e0bac0b9e0b9e0bac0b9e0b9e0bac0b9e0b9e0bac0b9e0b9e0bac0b9e0b9e0bac0b9e0b9e0bac0b9e0b9e0bac0b9e0b9e0bac0b9e0b9e0bac0b9e0b9e0bac0b9e0b9e0bac0b9e0b9e0bac0b9e0b9e0bac0b9e0b9e0bac0bac0bac0bac0bac0bac0bac0bac0bac0bac0bac0bac0bac0bac0bc50bac0bc50bc50bac0bc50bc50bcf0bc50bc50bcf0bc50bc50bcf0bc50bb60bcf0bb60bb60bcf0bb60bb60bcf0bb60bb60bcf0bb60bb60bcf0bb60bbc0bcf0bbc0bbc0bcf0bbc0ba70bcf0ba70ba70bcf0ba70ba70bcf0ba70ba70bcf0ba70ba70bcf0ba70ba70bcf0ba70ba70bcf0ba70ba70bcc0bcf0ba70bcc0ba70ba70bcc0ba70ba70bcc0ba70ba70bcc0ba70ba70bcc0ba70ba70bcc0ba70bb00bcc0bb00bb00bcc0bb00bb00bcc0bb00bb00bcc0bb00bb00bcc0bb00bb00bcc0bb00bb00bcc0bb00bb00bac0bac0bac0bac0bac0bac0bac0bac0bac0bac0bac0bcc0bac0bcc0bb00bac0bb00bb00bac0bb00bb00bac0bb00bb00bac0bb00bb00bac0bb00bb00bac0bb00bb00bac0bb00bb00bac0bb00b9e0bac0b9e0b9e0bac0b9e0b9e0bac0b9e0b9e0bac0b9e0b9e0bac0b9e0b9e0bac0b9e0b9e0bac0b9e0b9e0bac0b9e0b9e0bac0b9e0b9e0bac0b9e0b9e0bac0b9e0b9e0bac0b9e0b9e0bac0b9e0b9e0bac0b9e0b9e0bac0b9e0b9e0bcf0bc50bc50bcf0bc50bc50bcf0bc50bb60bcf0bb60bb60bcf0bb60bb60bcf0bb60bb60bcf0bb60bb60bcf0bb60bbc0bcf0bbc0bbc0bcf0bbc0ba70bcf0ba70ba70bcf0ba70ba70bcf0ba70ba70bcf0ba70ba70bcf0ba70ba70bcf0ba70ba70bcf0ba70ba70b9e0b9e0b9e0b9e0b9e0b9e0b9e0b9e0b9e0b9e0b9e0b9e0b9e0b9e0b9e0b9e0b9e0b9e0b9e0b9e0b9e0b9e0b9e0b9e0b9e0b9e0b9e0b9e0b9e0b9e0b9e0b9e0b9e0b9e0b9e0b9e0b9e0b9e0b9e0b9e0b9e0b9e0b9e0b9e0bbc0b9e0bbc0bbc0b9e0bbc0bb60b9e0bb60bb60b9e0bb60bb60b9e0bb60bb60b9e0bb60bb60bac0bac0bac0bac0bac0bac0bac0bac0bac0bac0bac0bac0bac0bac0bc50bac0bc50bc50bac0bc50bc50bac0bc50bcf0bac0bcf0bcc0bd00bd00bd00bd00bd00bd00bd00bd00bd00bd00bd00bd00bd00bd00bd00bd00bd00bd00bd00bd00bd00bd00bd00bd00bd00bd00bd00bd00bd00bd00bd00bd00bd00bd70bd70bd70bd70bd70bd70bd70bd70bd70bd70bd70bd70bd70bd70bd70bd70bd70bd70bd70bd70bd70bd70bd70bd70bd70bd70bd70bd70bd70bd70bd70bd70bd70bd70bd70bd70bd70bd70bd70bd70bd70bd70bd70bd70bd70bd70bd70bd70bd70bd70bd70bd70bd70bd70bd70bd70bd70bd70bd70bd70bd70bd70bd70bd70bd70bd70bd70bd70bd70be40be40be40be40be40be40be40be40be40be40be40be40be40be40be40be40be40be40be40be40be40b0a0cf70bf70b0a0cf70bf70b0a0cf70bf70b0a0cf70bf70b0a0cf70bf70b0a0cf70bf70b0a0cf70bf70b0a0cf70bf70b0a0cf70bf70b0a0cf70bf70b0a0cf70bf70b110c110c110c110c110cea0b110cea0bea0b110cea0bea0b110cea0bea0b110cea0bea0b110cea0bea0b110cea0bea0b110cea0bea0b110cea0bea0b110cea0bea0b110cea0bea0b110cea0bea0b110cea0bea0bd00bd00bd00bd00bd00bd00bd00bd00bd00bd00bd00bd00bd00bd00bd00bd00bd00bd00bd00bd00bd00bd00bd00bd00bd00bd00bd00bd00bd00bd00bd00bd00bd00bd00bd00bea0bd00bea0bea0bd00bea0bea0bd00bea0bea0bd00bea0bea0bd00bea0bea0bd00bea0bea0bd00bea0bea0bd00bea0bea0bd00bea0bea0bd00bea0bea0bd00bea0bea0bd00bea0bd70bd00bd70bd70bd00bd70bd70bd00bd70bd70bd00bd70bd70bd00bd70bd70bd00bd70bd70bd00bd70bd70bd00bd70bd70bd00bd70bd70bd00bd70bd70bd00bd70bd70bd00bd70bd70bd00bd70bd70bd00bd70bd70bd00bd70bd70bd00bd70bd70bd00bd70bd70bd00bd70bd70bd00bd70bd70bd00bd70bd70bd00bd70bd70bd00bd70bd70bd00bd70bd70bd00bd70bd70bd00bd70bf70bd00bf70bf70bd00bf70bf70bd00bf70bf70bd00bf70bf70bd00bf70bf70bd00bf70bf70bd00bf70bf70bd00bf70bf70bd00bf70bf70bd00bf70bf70bd00bf70bf70bea0bea0bea0bea0bea0bea0bea0bea0bea0bea0bea0bea0bea0bea0bea0bea0bea0bea0bea0bea0bea0bea0bea0bea0bea0bea0bea0bea0bea0bea0bea0bea0bea0bea0bea0b110cea0b110c110cea0b110c110cea0b110c120cea0b120cd70bea0bd70bd70bea0bd70bd70bea0bd70bd70bea0bd70bd70bea0bd70bd70bea0bd70bd70bea0bd70bd70bea0bd70bd70bea0bd70bd70bea0bd70bd70bea0bd70bd70bea0bd70bd70bea0bd70bd70bea0bd70bd70bea0bd70bd70bea0bd70bd70bea0bd70bd70bea0bd70bd70bea0bd70bd70bea0bd70bd70bea0bd70bd70bea0bd70bd70bea0bd70bd70bea0bd70bd70b0a0ce40be40b0a0ce40be40b0a0ce40be40b0a0ce40be40b0a0ce40be40b0a0ce40be40b0a0ce40be40b0a0ce40be40b0a0ce40bd00b0a0cd00bd00b0a0cd00bd00b0a0cd00bd00b0a0cd00bd00b0a0cd00bd00b0a0cd00bd00b0a0cd00bd00b0a0cd00bd00b0a0cd00bd00b0a0cd00bd00b0a0cd00bd00b0a0cd00bd00b0a0cd00bf70b0a0cf70bf70b0a0cf70bf70b0a0cf70bf70b0a0cf70bf70b0a0cf70bf70b0a0cf70bf70b0a0cf70bf70b0a0cf70bf70b0a0cf70bf70b0a0cf70bf70b0a0cf70bf70be40be40be40be40be40be40be40be40be40be40be40be40be40be40be40be40be40be40be40be40be40be40be40b0a0ce40b0a0c120ce40b120c110ce40b110c110ce40b110c110ce40be40be40be40be40be40be40be40be40be40be40be40be40be40be40be40be40be40be40be40be40be40be40b110ce40b110c110ce40b110c110ce40b110cea0be40bea0bea0be40bea0bea0be40bea0bea0be40bea0bea0be40bea0bea0be40bea0bea0be40bea0bea0be40bea0bea0be40bea0bea0be40bea0bea0be40bea0bea0be40bea0bea0be40bea0bd00be40bd00bd00be40bd00bd00be40bd00bd00be40bd00bd00be40bd00bd00be40bd00bd00be40bd00bd00be40bd00bd00be40bd00bd00be40bd00bd00be40bd00bd00be40bd00bd00bf70bf70bf70bf70bf70bf70bf70bf70bf70bf70bf70bf70bf70bf70bf70bf70bf70bf70bf70bf70bf70bf70bf70bf70bf70bf70bf70bf70bf70bf70bf70bf70bd70bf70bd70bd70bf70bd70bd70bf70bd70bd70bf70bd70bd70bf70bd70bd70bf70bd70bd70bf70bd70bd70bf70bd70bd70bf70bd70bd70bf70bd70bd70bf70bd70bd70bf70bd70bd70bf70bd70bd70bf70bd70bd70bf70bd70bd70bf70bd70bd70bf70bd70bd70bf70bd70bd70bf70bd70bd70bf70bd70bd70bf70bd70bd70bf70bd70bd70bf70bd70bd70bf70bd70bd70bd00bd00bd00bd00bd00bd00bd00bd00bd00bd00bd00bd00bd00bd00bd00bd00bd00bd00bd00bd00bd00bd00bd00bd00bd00bd00bd00bd00bd00bd00bd00bd00bd00bd00bd00bea0bd00bea0bea0bd00bea0bea0bd00bea0bea0bd00bea0bea0bd00bea0bea0bd00bea0bea0bd00bea0bea0bd00bea0bea0bd00bea0bea0bd00bea0bea0bd00bea0bea0bd00bea0bea0bea0bea0bea0bea0bea0bea0bea0bea0bea0bea0bea0bea0bea0bea0bea0bea0bea0bea0bea0bea0bea0bea0bea0bea0bea0bea0bea0bea0bea0bea0bea0bea0bea0bea0bea0b110cea0b110c110cea0b110c110cea0b110c120cea0b120cd70bea0bd70bd70bea0bd70bd70bea0bd70bd70bea0bd70bd70bea0bd70bd70bea0bd70bd70bea0bd70bd70bea0bd70bd70bea0bd70bd70bea0bd70bd70bea0bd70bd70bea0bd70bd70bea0bd70bd70bea0bd70bd70bea0bd70bd70bea0bd70bd70bea0bd70bd70bea0bd70bd70bea0bd70bd70bea0bd70bd70bea0bd70bd70bea0bd70bd70bea0bd70bd70bea0bd70bd70bf70bf70bf70bf70bf70bf70bf70bf70bf70bf70bf70bf70bf70bf70bf70bf70bf70bf70bf70bf70bf70bf70bf70bf70bf70bf70bf70bf70bf70bf70bf70bf70bd70bf70bd70bd70bf70bd70bd70bf70bd70bd70bf70bd70bd70bf70bd70bd70bf70bd70bd70bf70bd70bd70bf70bd70bd70bf70bd70bd70bf70bd70bd70bf70bd70bd70bf70bd70bd70bf70bd70bd70bf70bd70bd70bf70bd70bd70bf70bd70bd70bf70bd70bd70bf70bd70bd70bf70bd70bd70bf70bd70bd70bf70bd70bd70bf70bd70bd70bf70bd70bd70bf70bd70bd70b120c0a0cf70b120cf70bf70b120cf70bf70b120cf70bf70b120cf70bf70b120cf70bf70b120cf70bf70b120cf70bf70b120cf70bf70b120cf70bf70b120cf70bf70b120cf70bf70b120cf70bd70b120cd70bd70b120cd70bd70b120cd70bd70b120cd70bd70b120cd70bd70b120cd70bd70b120cd70bd70b120cd70bd70b120cd70bd70b120cd70bd70b120cd70bd70b120cd70bd70b120cd70bd70b120cd70bd70b120cd70bd70b120cd70bd70b120cd70bd70b120cd70bd70b120cd70bd70b120cd70bd70b120cd70bd70b120cd70bd70b120cd70bd70b120cd70bd70b0a0ce40be40b0a0ce40be40b0a0ce40be40b0a0ce40be40b0a0ce40be40b0a0ce40be40b0a0ce40be40b0a0ce40be40b0a0ce40bd00b0a0cd00bd00b0a0cd00bd00b0a0cd00bd00b0a0cd00bd00b0a0cd00bd00b0a0cd00bd00b0a0cd00bd00b0a0cd00bd00b0a0cd00bd00b0a0cd00bd00b0a0cd00bd00b0a0cd00bd00b0a0cd00bf70b0a0cf70bf70b0a0cf70bf70b0a0cf70bf70b0a0cf70bf70b0a0cf70bf70b0a0cf70bf70b0a0cf70bf70b0a0cf70bf70b0a0cf70bf70b0a0cf70bf70b0a0cf70bf70be40be40be40be40be40be40be40be40be40be40be40be40be40be40be40be40be40be40be40be40be40be40be40b110ce40b110c110ce40b110c110c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c2f0c2f0c2f0c2f0c2f0c2f0c2f0c2f0c2f0c2f0c2f0c2f0c2f0c2f0c2f0c2f0c2f0c2f0c2f0c2f0c2f0c2f0c2f0c2f0c2f0c2f0c2f0c2f0c2f0c2f0c2f0c2f0c2f0c2f0c2f0c330c2f0c330c330c2f0c330c2f0c4d0c4d0c4d0c4d0c4d0c380c4d0c380c380c4d0c380c380c4d0c380c380c4d0c380c380c4d0c380c380c4d0c380c380c3b0c3b0c3b0c3b0c3b0c3b0c3b0c3b0c3b0c3b0c3b0c3b0c3b0c3b0c3b0c3b0c3b0c3b0c3b0c3b0c3b0c3b0c3b0c580c3b0c580c580c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c5c0c4d0c4d0c4d0c4d0c4d0c2f0c4d0c2f0c2f0c4d0c2f0c2f0c4d0c2f0c2f0c4d0c2f0c2f0c4d0c2f0c2f0c4d0c2f0c2f0c4d0c2f0c2f0c4d0c2f0c2f0c4d0c2f0c2f0c4d0c2f0c2f0c4d0c2f0c2f0c4d0c2f0c2f0c4d0c2f0c1d0c4d0c1d0c1d0c4d0c1d0c1d0c4d0c1d0c1d0c4d0c1d0c1d0c4d0c1d0c1d0c4d0c1d0c1d0c4d0c1d0c1d0c4d0c1d0c1d0c4d0c1d0c1d0c4d0c1d0c1d0c4d0c1d0c1d0c4d0c1d0c1d0c4d0c1d0c1d0c4d0c1d0c1d0c4d0c1d0c1d0c4d0c1d0c1d0c4d0c1d0c1d0c4d0c1d0c1d0c4d0c1d0c1d0c4d0c1d0c1d0c4d0c1d0c1d0c4d0c1d0c1d0c4d0c1d0c1d0c4d0c1d0c1d0c4d0c1d0c1d0c4d0c1d0c1d0c4d0c1d0c1d0c4d0c1d0c1d0c4d0c1d0c1d0c4d0c1d0c1d0c4d0c1d0c1d0c4d0c1d0c1d0c4d0c1d0c1d0c4d0c1d0c1d0c4d0c1d0c1d0c4d0c1d0c1d0c4d0c1d0c380c4d0c380c380c4d0c380c380c4d0c380c380c4d0c380c380c4d0c380c380c4d0c380c380c2f0c2f0c2f0c2f0c2f0c2f0c2f0c2f0c2f0c2f0c2f0c2f0c2f0c2f0c2f0c2f0c2f0c2f0c2f0c2f0c2f0c2f0c2f0c2f0c2f0c2f0c2f0c2f0c2f0c330c2f0c330c3b0c2f0c3b0c3b0c2f0c3b0c3b0c2f0c3b0c3b0c2f0c3b0c3b0c2f0c3b0c3b0c2f0c3b0c3b0c2f0c3b0c3b0c2f0c3b0c3b0c2f0c3b0c580c2f0c580c580c2f0c580c1d0c2f0c1d0c1d0c2f0c1d0c1d0c2f0c1d0c1d0c2f0c1d0c1d0c2f0c1d0c1d0c2f0c1d0c1d0c2f0c1d0c1d0c2f0c1d0c1d0c2f0c1d0c1d0c2f0c1d0c1d0c2f0c1d0c1d0c2f0c1d0c1d0c2f0c1d0c1d0c2f0c1d0c1d0c2f0c1d0c1d0c2f0c1d0c1d0c2f0c1d0c1d0c2f0c1d0c1d0c2f0c1d0c1d0c2f0c1d0c1d0c2f0c1d0c1d0c2f0c1d0c1d0c2f0c1d0c1d0c2f0c1d0c1d0c2f0c1d0c1d0c2f0c1d0c1d0c2f0c1d0c1d0c2f0c1d0c1d0c2f0c1d0c1d0c2f0c1d0c1d0c2f0c1d0c1d0c2f0c1d0c1d0c2f0c1d0c1d0c2f0c1d0c1d0c2f0c1d0c1d0c2f0c1d0c1d0c330c2f0c2f0c330c2f0c2f0c330c2f0c2f0c330c2f0c2f0c330c2f0c2f0c330c2f0c2f0c330c2f0c2f0c330c2f0c2f0c330c2f0c2f0c330c2f0c2f0c330c2f0c330c330c330c2f0c330c2f0c2f0c330c2f0c2f0c330c2f0c4d0c330c4d0c4d0c330c4d0c4d0c330c4d0c5e0c330c5e0c3b0c330c3b0c3b0c330c3b0c3b0c330c3b0c3b0c330c3b0c3b0c330c3b0c3b0c330c3b0c3b0c330c3b0c3b0c380c380c380c380c380c380c380c380c380c380c380c380c380c380c380c380c380c640c380c640c640c380c640c620c380c620c620c3b0c3b0c3b0c3b0c3b0c3b0c3b0c3b0c3b0c3b0c3b0c3b0c3b0c3b0c3b0c3b0c3b0c3b0c3b0c3b0c3b0c3b0c3b0c5e0c3b0c5e0c620c3b0c620c620c3b0c620c580c3b0c580c580c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c5c0c1d0c5c0c620c1d0c620c620c1d0c620c640c1d0c640c640c1d0c640c380c1d0c380c380c1d0c380c380c1d0c380c380c1d0c380c380c1d0c380c380c1d0c380c380c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c3b0c1d0c3b0c580c1d0c580c580c1d0c580c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c1d0c5e0c4d0c4d0c5e0c4d0c4d0c5e0c4d0c380c5e0c380c380c5e0c380c380c5e0c380c380c5e0c380c380c5e0c380c380c5e0c380c380c5e0c380c640c5e0c640c640c5e0c640c620c5e0c620c620c4d0c4d0c4d0c4d0c4d0c2f0c4d0c2f0c2f0c4d0c2f0c2f0c4d0c2f0c2f0c4d0c2f0c2f0c4d0c2f0c2f0c4d0c2f0c2f0c4d0c2f0c2f0c4d0c2f0c2f0c4d0c2f0c2f0c4d0c2f0c2f0c4d0c2f0c2f0c4d0c2f0c1d0c4d0c1d0c1d0c4d0c1d0c1d0c4d0c1d0c1d0c4d0c1d0c1d0c4d0c1d0c1d0c4d0c1d0c1d0c4d0c1d0c1d0c4d0c1d0c1d0c4d0c1d0c1d0c4d0c1d0c1d0c4d0c1d0c1d0c4d0c1d0c1d0c4d0c1d0c1d0c4d0c1d0c1d0c4d0c1d0c1d0c4d0c1d0c1d0c4d0c1d0c1d0c4d0c1d0c1d0c4d0c1d0c1d0c4d0c1d0c1d0c4d0c1d0c1d0c4d0c1d0c1d0c4d0c1d0c1d0c4d0c1d0c1d0c4d0c1d0c1d0c4d0c1d0c1d0c4d0c1d0c1d0c4d0c1d0c1d0c4d0c1d0c1d0c4d0c1d0c1d0c4d0c1d0c1d0c4d0c1d0c1d0c4d0c1d0c1d0c4d0c1d0c1d0c4d0c1d0c1d0c4d0c1d0c1d0c4d0c1d0c380c4d0c380c380c4d0c380c380c4d0c380c380c4d0c380c380c4d0c380c380c4d0c380c380c5c0c1d0c1d0c5c0c1d0c1d0c5c0c1d0c1d0c5c0c1d0c1d0c5c0c1d0c1d0c5c0c1d0c1d0c5c0c1d0c1d0c5c0c1d0c1d0c5c0c1d0c1d0c5c0c1d0c1d0c5c0c1d0c1d0c5c0c1d0c1d0c5c0c1d0c1d0c5c0c1d0c1d0c5c0c1d0c1d0c5c0c1d0c1d0c5c0c1d0c1d0c5c0c1d0c1d0c5c0c1d0c1d0c5c0c1d0c1d0c5c0c1d0c1d0c5c0c1d0c1d0c5c0c1d0c1d0c5c0c1d0c1d0c5c0c1d0c1d0c5c0c1d0c1d0c5c0c1d0c1d0c5c0c1d0c1d0c5c0c1d0c1d0c5c0c1d0c1d0c5c0c1d0c1d0c5c0c1d0c1d0c5c0c1d0c1d0c5c0c1d0c1d0c5c0c1d0c1d0c5c0c1d0c1d0c5c0c1d0c580c5c0c580c580c5c0c580c620c5c0c620c620c5c0c620c640c5c0c640c640c330c330c2f0c330c2f0c2f0c330c2f0c2f0c330c2f0c2f0c330c2f0c2f0c330c2f0c2f0c330c2f0c2f0c330c2f0c2f0c330c2f0c2f0c330c2f0c2f0c330c2f0c2f0c330c2f0c2f0c330c2f0c2f0c330c2f0c2f0c330c2f0c4d0c330c4d0c4d0c330c4d0c4d0c330c2f0c2f0c330c2f0c2f0c330c2f0c2f0c330c2f0c2f0c330c2f0c2f0c330c2f0c2f0c330c2f0c2f0c330c2f0c2f0c330c2f0c2f0c330c2f0c2f0c330c2f0c2f0c330c2f0c2f0c330c2f0c330c330c330c2f0c330c2f0c3b0c330c3b0c3b0c330c3b0c3b0c330c3b0c3b0c330c3b0c3b0c330c3b0c3b0c330c3b0c3b0c330c3b0c3b0c6d0c6d0c6d0c6d0c6d0c6d0c6d0c6d0c6d0c6d0c6d0c6d0c6d0c6d0c6d0c6d0c6d0c6d0c6d0c6d0c6d0c6d0c6d0c6d0c6d0c6d0c6d0c6d0c6d0c6d0c6d0c6d0c6d0c6d0c6d0c6d0c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c860c860c860c860c860c860c860c860c860c860c860c860c860c860c860c860c860c860c860c860c860c860c860c860c860c860c860c860c860c860c860c860c860c860c860c860c860c860c860c860c860c860c860c860c860c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0cc50cc50cc50cc50cc50cc50cc50cc50cc50cc50cc50cc50cc50cc50cc50cc50cc50cc50cc50cc50cc50cc50cc50ca80cc50ca80ca80cc50ca80ca80cc50ca80ca80cc50ca80ca80cc50ca80ca80cc50ca80ca80cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0c200dad0c200d200dad0c200d200d8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c730c8f0c730c730c8f0c730c730c8f0c730c730c8f0c730c730c8f0c730c730c8f0c730c730c8f0c730c730c8f0c730c730c8f0c730c730c8f0c730c730c8f0c730c730c8f0c730c730c8f0c730c730c8f0c730c730c8f0c730c730c8f0c730c730c8f0c730c730c8f0c730c730c8f0c730c730c8f0c730c730c8f0c730c730c8f0c730c730c8f0c730c730c8f0c730c730c8f0c730c730c8f0c730c730c8f0c730c730c8f0c730c730c8f0c730c730c8f0c730c730c8f0c730c730c8f0c730c730c8f0c730c730c8f0c730c730c8f0c730c730c8f0c730c730c8f0c730c730c8f0c730c730c8f0c730c730c8f0c730c730c8f0c730c730c8f0c730c730c8f0c730c730c8f0c730c730c8f0c730c730c8f0c730c730c8f0c730c730c8f0c730c730c8f0c730cc50c8f0cc50cc50c8f0cc50cc50c8f0cc50cc50c8f0cc50cc50c8f0cc50cc50c8f0cc50cc50c8f0cc50cc50c8f0cc50cc50c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0cad0c8f0cad0cad0c8f0cad0cad0c8f0cad0cad0c8f0cad0cad0c8f0cad0cad0c8f0cad0cad0c8f0cad0cad0c8f0cad0cad0c8f0cad0cad0c8f0cad0cad0c8f0cad0cad0c8f0cad0cad0c8f0cad0cad0c8f0cad0cad0c8f0cad0cad0c8f0cad0cad0c8f0cad0cad0c8f0cad0cad0c8f0cad0cad0c8f0cad0cad0c8f0cad0cad0c8f0cad0cad0c8f0cad0cad0c8f0cad0cad0c8f0cad0cad0c8f0cad0cad0c8f0cad0cad0c8f0cad0cad0c8f0cad0c730c8f0c730c730c8f0c730c730c8f0c730c730c8f0c730c730c8f0c730c730c8f0c730c730c8f0c730c730c8f0c730c730c8f0c730c730c8f0c730c730c8f0c730c730c8f0c730c730c8f0c730c730c8f0c730c730c8f0c730c730c8f0c730c730c8f0c730c730c8f0c730c730c8f0c730c730c8f0c730c730c8f0c730c730c8f0c730c730c8f0c730c730c8f0c730c730c8f0c730c730c8f0c730c730c8f0c730c730c8f0c730c730c8f0c730c730c8f0c730c730c8f0c730c730c8f0c730c730c8f0c730c730c8f0c730c730c8f0c730c730c8f0c730c730c8f0c730c730c8f0c730c730c8f0c730c730c8f0c730c730c8f0c730c730c8f0c730c730c8f0c730c730c8f0c730c730c8f0c730c730c8f0c730c730c8f0c730c730c8f0c730c730c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0cc50c8f0cc50cc50c8f0cc50cc50c8f0cc50cc50c8f0cc50cc50c8f0cc50cc50c8f0cc50cc50c8f0cc50cc50c8f0cc50cc50c8f0cc50cfc0c8f0cfc0cfc0c8f0cfc0cfc0c8f0cfc0cfc0c8f0cfc0cfc0c8f0cfc0cfc0c8f0cfc0cfc0c8f0cfc0cfc0c8f0cfc0cfc0c8f0cfc0cfc0c8f0cfc0cfc0c8f0cfc0cfc0c8f0cfc0cfc0c8f0cfc0cfc0c8f0cfc0cfc0c8f0cfc0cfc0c8f0cfc0cfc0c8f0cfc0cfc0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0cfc0c8f0cfc0cfc0c8f0cfc0cfc0c8f0cfc0cfc0c8f0cfc0cfc0c8f0cfc0cfc0c8f0cfc0cfc0c8f0cfc0cfc0c8f0cfc0cfc0c8f0cfc0cfc0c8f0cfc0cfc0c8f0cfc0cfc0c8f0cfc0cfc0c8f0cfc0cfc0c8f0cfc0cfc0c8f0cfc0cfc0c8f0cfc0cfc0c8f0cfc0cfc0c8f0cfc0cad0c8f0cad0cad0c8f0cad0cad0c8f0cad0cad0c8f0cad0cad0c8f0cad0cad0c8f0cad0cad0c8f0cad0cad0c8f0cad0cad0c8f0cad0cad0c8f0cad0cad0c8f0cad0cad0c8f0cad0cad0c8f0cad0cad0c8f0cad0cad0c8f0cad0cad0c8f0cad0cad0c8f0cad0cad0c8f0cad0cad0c8f0cad0cad0c8f0cad0cad0c8f0cad0cad0c8f0cad0cad0c8f0cad0cad0c8f0cad0cad0c8f0cad0cad0c8f0cad0cad0c8f0cad0cad0c8f0cad0cad0c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730cad0c730cad0cad0c730cad0cad0c730cad0cad0c730cad0cad0c730cad0cad0c730cad0cad0c730cad0cad0c730cad0cad0c730cad0cad0c730cad0cad0c730cad0cad0c730cad0cad0c730cad0cad0c730cad0cad0c730cad0cad0c730cad0cad0c730cad0cad0c730cad0cad0c730cad0cad0c730cad0cad0c730cad0cad0c730cad0cad0c730cad0cad0c730cad0cad0c730cad0cad0c730cad0cad0c730cad0cad0c730cad0cad0c730cad0cad0c730cad0c200d730c200d200d730c200d200d730c200d860c730c860c860c730c860c860c730c860c860c730c860c860c730c860c860c730c860c860c730c860c860c730c860c860c730c860c860c730c860c860c730c860c860c730c860c860c730c860c860c730c860c860c730c860c860c730c860c860c6d0c6d0c6d0c6d0c6d0c6d0c6d0c6d0c6d0c6d0c6d0c6d0c6d0c6d0c6d0c6d0c6d0c6d0c6d0c6d0c6d0c6d0c6d0c6d0c6d0c6d0c6d0c6d0c6d0c6d0c6d0c6d0c6d0c6d0c6d0c6d0c6d0c6d0ca80c6d0ca80ca80c6d0ca80ca80c6d0ca80ca80c6d0ca80ca80c6d0ca80ca80c6d0ca80ca80c6d0ca80c860c6d0c860c860c6d0c860c860c6d0c860c860c6d0c860c860c6d0c860c860c6d0c860c860c6d0c860c860c6d0c860c860c6d0c860c860c6d0c860c860c6d0c860c860c6d0c860c860c6d0c860c860c6d0c860c860c6d0c860c860c6d0c860c860c6d0c860c200d6d0c200d200d6d0c200d200dfc0cfc0cfc0cfc0cfc0cfc0cfc0cfc0cfc0cfc0cfc0cfc0cfc0cfc0cfc0cfc0cfc0cfc0cfc0cfc0cfc0cfc0cfc0cfc0cfc0cfc0cfc0cfc0cfc0cfc0cfc0cfc0cfc0cfc0cfc0cfc0cfc0cfc0cfc0cfc0cfc0cfc0cfc0cfc0cfc0cfc0cfc0cfc0cfc0cfc0cc50cfc0cc50cc50cfc0cc50cc50cfc0cc50cc50cfc0cc50cc50cfc0cc50cc50cfc0cc50cc50cfc0cc50cc50cfc0cc50cc50cfc0cc50ca80cfc0ca80ca80cfc0ca80ca80cfc0ca80ca80cfc0ca80ca80cfc0ca80ca80cfc0ca80ca80cfc0ca80c6d0cfc0c6d0c6d0cfc0c6d0c6d0cfc0c6d0c6d0cfc0c6d0c6d0cfc0c6d0c6d0cfc0c6d0c6d0cfc0c6d0c6d0cfc0c6d0c6d0cfc0c6d0c6d0cfc0c6d0c6d0cfc0c6d0c6d0cfc0c6d0c6d0cfc0c6d0c6d0cc50cc50cc50cc50cc50cc50cc50cc50cc50cc50cc50cc50cc50cc50cc50cc50cc50cc50cc50cc50cc50cc50cc50c730cc50c730c730cc50c730c730cc50c730c730cc50c730c730cc50c730c730cc50c730c730cc50c730c730cc50c730c730cc50c730c730cc50c730c730cc50c730c730cc50c730c730cc50c730c730cc50c730c730cc50c730c730cc50c730c730cc50c730c730cc50c730c730cc50c730c730cc50c730c730cc50c730c730cc50c730c730cc50c730c730cc50c730c730cc50c730c730cc50c730c730cc50c730c730cc50c730c730cc50c730c730cc50c730c730cc50c730c730cc50c730c730cc50c730c730cc50c730c730cc50c730c730cc50c730c730cc50c730c730cc50c730c730cc50c730c730cc50c730c730cc50c730c730cc50c730c730cc50c730c730cc50c730c730cc50c730c730cc50c730c730cc50c730c730cc50c730c730cc50c730c860cc50c860c860cc50c860c860cc50c860c860cc50c860c860cc50c860c860cc50c860c860cc50c860c860cc50c860c860cc50c860c860cc50c860c860cc50c860c860cc50c860c860cc50c860c860cc50c860c860cc50c860c860cc50c860c860cc50c860ca80cc50ca80ca80cc50ca80ca80cc50ca80ca80cc50ca80ca80cc50ca80ca80cc50ca80ca80cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cfc0cad0cfc0cfc0cad0cfc0cfc0cad0cfc0cfc0cad0cfc0cfc0cad0cfc0cfc0cad0cfc0cfc0cad0cfc0cfc0cad0cfc0cfc0cad0cfc0cfc0cad0cfc0cfc0cad0cfc0cfc0cad0cfc0cfc0cad0cfc0cfc0cad0cfc0cfc0cad0cfc0cfc0cad0cfc0cfc0cad0cfc0cfc0cad0cfc0c6d0cad0c6d0c6d0cad0c6d0c6d0cad0c6d0c6d0cad0c6d0c6d0cad0c6d0c6d0cad0c6d0c6d0cad0c6d0c6d0cad0c6d0c6d0cad0c6d0c6d0cad0c6d0c6d0cad0c6d0c6d0cad0c6d0c6d0cad0c6d0c6d0cad0c6d0c200dad0c200d200dad0c200d200d8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0cc50c8f0cc50cc50c8f0cc50cc50c8f0cc50cc50c8f0cc50cc50c8f0cc50cc50c8f0cc50cc50c8f0cc50cc50c8f0cc50cc50c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c730c8f0c730c730c8f0c730c730c8f0c730c730c8f0c730c730c8f0c730c730c8f0c730c730c8f0c730c730c8f0c730c730c8f0c730c730c8f0c730c730c8f0c730c730c8f0c730c730c8f0c730c730c8f0c730c730c8f0c730c730c8f0c730c730c8f0c730c730c8f0c730c730c8f0c730c730c8f0c730c730c8f0c730c730c8f0c730c730c8f0c730c730c8f0c730c730c8f0c730c730c8f0c730c730c8f0c730c730c8f0c730c730c8f0c730c730c8f0c730c730c8f0c730c730c8f0c730c730c8f0c730c730c8f0c730c730c8f0c730c730c8f0c730c730c8f0c730c730c8f0c730c730c8f0c730c730c8f0c730c730c8f0c730c730c8f0c730c730c8f0c730c730c8f0c730c730c8f0c730c730c8f0c730c730c8f0c730c730c8f0c730c730c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0cad0c8f0cad0cad0c8f0cad0cad0c8f0cad0cad0c8f0cad0cad0c8f0cad0cad0c8f0cad0cad0c8f0cad0cad0c8f0cad0cad0c8f0cad0cad0c8f0cad0cad0c8f0cad0cad0c8f0cad0cad0c8f0cad0cad0c8f0cad0cad0c8f0cad0cad0c8f0cad0cad0c8f0cad0cad0c8f0cad0cad0c8f0cad0cad0c8f0cad0cad0c8f0cad0cad0c8f0cad0cad0c8f0cad0cad0c8f0cad0cad0c8f0cad0cad0c8f0cad0cad0c8f0cad0cad0c8f0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0cad0c730cad0c730c730cad0c730c730cad0c730c730cad0c730c730cad0c730c730cad0c730c730cad0c730c730cad0c730c730cad0c730c730cad0c730c730cad0c730c730cad0c730c730cad0c730c730cad0c730c730cad0c730c730cad0c730c730cad0c730c730cad0c730c730cad0c730c730cad0c730c730cad0c730c730cad0c730c730cad0c730c730cad0c730c730cad0c730c730cad0c730c730cad0c730c730cad0c730c730cad0c730c730cad0c730c730cad0c730c730cad0c730c730cad0c730c730cad0c730c730cad0c730c730cad0c730c730cad0c730c730cad0c730c730cad0c730c730cad0c730c730cad0c730c730cad0c730c730cad0c730c730cad0c730c730cad0c730c730cad0c730c730cad0c730c730cad0c730c730c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0c8f0cfc0c8f0cfc0cfc0c8f0cfc0cfc0c8f0cfc0cfc0c8f0cfc0cfc0c8f0cfc0cfc0c8f0cfc0cfc0c8f0cfc0cfc0c8f0cfc0cfc0c8f0cfc0cfc0c8f0cfc0cfc0c8f0cfc0cfc0c8f0cfc0cfc0c8f0cfc0cfc0c8f0cfc0cfc0c8f0cfc0cfc0c8f0cfc0cfc0c8f0cfc0cfc0c860c860c860c860c860c860c860c860c860c860c860c860c860c860c860c860c860c860c860c860c860c860c860c860c860c860c860c860c860c860c860c860c860c860c860c860c860c860c860c860c860c860c860c860c860c860c860c200d860c200d200d860c200d200d730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c730c860c730c860c860c730c860c860c730c860c860c730c860c860c730c860c860c730c860c860c730c860c860c730c860c860c730c860c860c730c860c860c730c860c860c730c860c860c730c860c860c730c860c860c730c860c860c730c860c860c6d0c6d0c6d0c6d0c6d0c6d0c6d0c6d0c6d0c6d0c6d0c6d0c6d0c6d0c6d0c6d0c6d0c6d0c6d0c6d0c6d0c6d0c6d0c6d0c6d0c6d0c6d0c6d0c6d0c6d0c6d0c6d0c6d0c6d0c6d0c6d0c6d0c6d0ca80c6d0ca80ca80c6d0ca80ca80c6d0ca80ca80c6d0ca80ca80c6d0ca80ca80c6d0ca80ca80cfc0cfc0cfc0cfc0cfc0cfc0cfc0cfc0cfc0cfc0cfc0cfc0cfc0cfc0cfc0cfc0cfc0cfc0cfc0cfc0cfc0cfc0cfc0cfc0cfc0cfc0cfc0cfc0cfc0cfc0cfc0cfc0cfc0cfc0cfc0cfc0cfc0cfc0cfc0cfc0cfc0cfc0cfc0cfc0cfc0cfc0cfc0cfc0cfc0cfc0c6d0cfc0c6d0c6d0cfc0c6d0c6d0cfc0c6d0c6d0cfc0c6d0c6d0cfc0c6d0c6d0cfc0c6d0c6d0cfc0c6d0c6d0cfc0c6d0c6d0cfc0c6d0c6d0cfc0c6d0c6d0cfc0c6d0c6d0cfc0c6d0c6d0cfc0c6d0c6d0c470d470d470d470d470d470d470d470d470d470d470d470d470d470d470d470d470d470d470d470d470d470d470d470d470d470d470d470d470d470d470d470d470d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d610d610d610d610d610d610d610d610d610d610d610d610d610d610d610d610d610d610d610d610d610d610d610d610d610d610d610d610d610d610d610d610d610d610d610d610d610d610d610d610d610d610d610d610d610d610d610d610d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0dc20dc20dc20dc20dc20dc20dc20dc20dc20dc20dc20dc20dc20dc20dc20dc20dc20dc20dc20dc20dc20dc20dc20d840dc20d840d840dc20d840d840dc20d840d840dc20d840d840dc20d840d840d880d880d880d880d880d880d880d880d880d880d880d880d880d880d880d880d880d880d880d880d880d880d880d880d880d880d880d880d880d880d880d880d880d880d880d880d880d880d880d880d880d880d880d880d880d880d880d880d880d880d880d880d880d880d880d880d880d880d880d880d880d880d880d880d880d880d880d880d880d880d880d880d880d880d880d880d880d880d880d880d880d880d880d880d880d880d910d880d910d000e880d000e000e880d000e000e6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d880d6b0d880d880d6b0d880d880d6b0d880d880d6b0d880d880d6b0d880d880d6b0d880d880d6b0d880d880d6b0d880d880d6b0d880d880d6b0d880d880d6b0d880d880d6b0d880d880d6b0d880d880d6b0d880d880d6b0d880d880d6b0d880d880d6b0d880d880d6b0d880d880d6b0d880d880d6b0d880d880d6b0d880d880d6b0d880d880d6b0d880d880d6b0d880d880d6b0d880d880d6b0d880d880d6b0d880d880d6b0d880d880d6b0d880d880d6b0d880d4d0d6b0d4d0d4d0d6b0d4d0d4d0d6b0d4d0d4d0d6b0d4d0d4d0d6b0d4d0d4d0d6b0d4d0d4d0d6b0d4d0d4d0d6b0d4d0d4d0d6b0d4d0d4d0d6b0d4d0d4d0d6b0d4d0d4d0d6b0d4d0d4d0d6b0d4d0d4d0d6b0d4d0d4d0d6b0d4d0d4d0d6b0d4d0d4d0d6b0d4d0d4d0d6b0d4d0d4d0d6b0d4d0d4d0d6b0d4d0d4d0d6b0d4d0d4d0d6b0d4d0d4d0d6b0d4d0d4d0d6b0d4d0d4d0d6b0d4d0d4d0d6b0d4d0d4d0d6b0d4d0d4d0d6b0d4d0d4d0d6b0d4d0d4d0d6b0d4d0d4d0d6b0d4d0d4d0d6b0d4d0d4d0d6b0d4d0d4d0d6b0d4d0d4d0d6b0d4d0d4d0d6b0d4d0d4d0d6b0d4d0d4d0d6b0d4d0d4d0d6b0d4d0d4d0d6b0d4d0d4d0d6b0d4d0d4d0d6b0d4d0d4d0d6b0d4d0d4d0d6b0d4d0d4d0d6b0d4d0d4d0d6b0d4d0d4d0d6b0d4d0d4d0d6b0d4d0d4d0d6b0d4d0d4d0d6b0d4d0d4d0d6b0d4d0d4d0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d4d0d6b0d4d0d4d0d6b0d4d0d4d0d6b0d4d0d4d0d6b0d4d0d4d0d6b0d4d0d4d0d6b0d4d0d4d0d6b0d4d0d4d0d6b0d4d0d4d0d6b0d4d0d4d0d6b0d4d0d4d0d6b0d4d0d4d0d6b0d4d0d4d0d6b0d4d0d4d0d6b0d4d0d4d0d6b0d4d0d4d0d6b0d4d0d4d0d6b0d4d0d4d0d6b0d4d0d4d0d6b0d4d0d4d0d6b0d4d0d4d0d6b0d4d0d4d0d6b0d4d0d4d0d6b0d4d0d4d0d6b0d4d0d4d0d6b0d4d0d4d0d6b0d4d0d4d0d6b0d4d0d4d0d6b0d4d0d4d0d6b0d4d0d4d0d6b0d4d0d4d0d6b0d4d0d4d0d6b0d4d0d4d0d6b0d4d0d4d0d6b0d4d0d4d0d6b0d4d0d4d0d6b0d4d0d4d0d6b0d4d0d4d0d6b0d4d0d4d0d6b0d4d0d4d0d6b0d4d0d4d0d6b0d4d0d4d0d6b0d4d0d4d0d6b0d4d0d4d0d6b0d4d0d4d0d6b0d4d0d4d0d6b0d4d0d4d0d6b0d4d0d4d0d6b0d4d0d4d0d6b0d4d0d4d0d6b0d4d0d4d0d6b0d4d0d4d0d6b0d4d0dc20d6b0dc20dc20d6b0dc20dc20d6b0dc20dc20d6b0dc20dc20d6b0dc20dc20d6b0dc20dc20d6b0dc20dc20d6b0dc20dc20d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0dda0d6b0dda0dda0d6b0dda0dda0d6b0dda0dda0d6b0dda0dda0d6b0dda0dda0d6b0dda0dda0d6b0dda0dda0d6b0dda0dda0d6b0dda0dda0d6b0dda0dda0d6b0dda0dda0d6b0dda0dda0d6b0dda0dda0d6b0dda0dda0d6b0dda0dda0d6b0dda0dda0d6b0dda0dda0d6b0dda0d880d6b0d880d880d6b0d880d880d6b0d880d880d6b0d880d880d6b0d880d880d6b0d880d880d6b0d880d880d6b0d880d880d6b0d880d880d6b0d880d880d6b0d880d880d6b0d880d880d6b0d880d880d6b0d880d880d6b0d880d880d6b0d880d880d6b0d880d880d6b0d880d880d6b0d880d880d6b0d880d880d6b0d880d880d6b0d880d880d6b0d880d880d6b0d880d880d6b0d880d880d6b0d880d880d6b0d880d880d6b0d880d880d6b0d880d880d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0dc20d6b0dc20dc20d6b0dc20dc20d6b0dc20dc20d6b0dc20dc20d6b0dc20dc20d6b0dc20dc20d6b0dc20dc20d6b0dc20dc20d6b0dc20dda0d6b0dda0dda0d6b0dda0dda0d6b0dda0dda0d6b0dda0dda0d6b0dda0dda0d6b0dda0dda0d6b0dda0dda0d6b0dda0dda0d6b0dda0dda0d6b0dda0dda0d6b0dda0dda0d6b0dda0dda0d6b0dda0dda0d6b0dda0dda0d6b0dda0dda0d6b0dda0dda0d6b0dda0dda0d910d880d880d910d880d880d910d880d880d910d880d880d910d880d880d910d880d880d910d880d880d910d880d880d910d880d880d910d880d880d910d880d880d910d880d880d910d880d880d910d880d880d910d880d880d910d880d880d910d880d880d910d880d880d910d880d880d910d880d880d910d880d880d910d880d880d910d880d880d910d880d880d910d880d880d910d880d880d910d880d880d910d880d880d910d880d880d910d880dda0d910dda0dda0d910dda0dda0d910dda0dda0d910dda0dda0d910dda0dda0d910dda0dda0d910dda0dda0d910dda0dda0d910dda0dda0d910dda0dda0d910dda0dda0d910dda0dda0d910dda0dda0d910dda0dda0d910dda0dda0d910dda0dda0d910dda0dda0d910dda0d470d910d470d470d910d470d470d910d470d470d910d470d470d910d470d470d910d470d470d910d470d470d910d470d470d910d470d470d910d470d470d910d470d470d910d470d470d910d470d000e910d000e000e910d000e000e470d470d470d470d470d470d470d470d470d470d470d470d470d470d470d470d470d470d470d470d470d470d470d470d470d470d470d470d470d470d470d470d470d470d470d840d470d840d840d470d840d840d470d840d840d470d840d840d470d840d840d470d840d610d470d610d610d470d610d610d470d610d610d470d610d610d470d610d610d470d610d610d470d610d610d470d610d610d470d610d610d470d610d610d470d610d610d470d610d610d470d610d610d470d610d610d470d610d610d470d610d610d470d610d610d470d610d000e470d000e000e470d000e000ec20dc20dc20dc20dc20dc20dc20dc20dc20dc20dc20dc20dc20dc20dc20dc20dc20dc20dc20dc20dc20dc20dc20d4d0dc20d4d0d4d0dc20d4d0d4d0dc20d4d0d4d0dc20d4d0d4d0dc20d4d0d4d0dc20d4d0d4d0dc20d4d0d4d0dc20d4d0d4d0dc20d4d0d4d0dc20d4d0d4d0dc20d4d0d4d0dc20d4d0d4d0dc20d4d0d4d0dc20d4d0d4d0dc20d4d0d4d0dc20d4d0d4d0dc20d4d0d4d0dc20d4d0d4d0dc20d4d0d4d0dc20d4d0d4d0dc20d4d0d4d0dc20d4d0d4d0dc20d4d0d4d0dc20d4d0d4d0dc20d4d0d4d0dc20d4d0d4d0dc20d4d0d4d0dc20d4d0d4d0dc20d4d0d4d0dc20d4d0d4d0dc20d4d0d4d0dc20d4d0d4d0dc20d4d0d4d0dc20d4d0d4d0dc20d4d0d4d0dc20d4d0d4d0dc20d4d0d4d0dc20d4d0d4d0dc20d4d0d4d0dc20d4d0d4d0dc20d4d0d4d0dc20d4d0d4d0dc20d4d0d4d0dc20d4d0d4d0dc20d4d0d4d0dc20d4d0d4d0dc20d4d0d4d0dc20d4d0d4d0dc20d4d0d4d0dc20d4d0d4d0dc20d4d0d4d0dc20d4d0d610dc20d610d610dc20d610d610dc20d610d610dc20d610d610dc20d610d610dc20d610d610dc20d610d610dc20d610d610dc20d610d610dc20d610d610dc20d610d610dc20d610d610dc20d610d610dc20d610d610dc20d610d610dc20d610d610dc20d610d610dc20d610d840dc20d840d840dc20d840d840dc20d840d840dc20d840d840dc20d840d840d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d880d4d0d880d880d4d0d880d880d4d0d880d880d4d0d880d880d4d0d880d880d4d0d880d880d4d0d880d880d4d0d880d880d4d0d880d880d4d0d880d880d4d0d880d880d4d0d880d880d4d0d880d880d4d0d880d880d4d0d880d880d4d0d880d880d4d0d880d880d4d0d880d880d4d0d880d880d4d0d880d880d4d0d880d880d4d0d880d880d4d0d880d880d4d0d880d880d4d0d880d880d4d0d880d880d4d0d880d880d4d0d880d880d4d0d880d880d4d0d880d910d4d0d910d000e4d0d000e000e4d0d000e000e4d0d000e610d4d0d610d610d4d0d610d610d4d0d610d610d4d0d610d610d4d0d610d610d4d0d610d610d4d0d610d610d4d0d610d610d4d0d610d610d4d0d610d610d4d0d610d610d4d0d610d610d4d0d610d610d4d0d610d610d4d0d610d610d4d0d610d610d4d0d610d610dda0dda0dda0dda0dda0dda0dda0dda0dda0dda0dda0dda0dda0dda0dda0dda0dda0dda0dda0dda0dda0dda0dda0dda0dda0dda0dda0dda0dda0dda0dda0dda0dda0dda0dda0dda0dda0dda0dda0dda0dda0dda0dda0dda0dda0dda0dda0dda0dda0dda0dc20dda0dc20dc20dda0dc20dc20dda0dc20dc20dda0dc20dc20dda0dc20dc20dda0dc20dc20dda0dc20dc20dda0dc20dc20dda0dc20d840dda0d840d840dda0d840d840dda0d840d840dda0d840d840dda0d840d840dda0d840d470dda0d470d470dda0d470d470dda0d470d470dda0d470d470dda0d470d470dda0d470d470dda0d470d470dda0d470d470dda0d470d470dda0d470d470dda0d470d470dda0d470d470d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d880d6b0d880d880d6b0d880d880d6b0d880d880d6b0d880d880d6b0d880d880d6b0d880d880d6b0d880d880d6b0d880d880d6b0d880d880d6b0d880d880d6b0d880d880d6b0d880d880d6b0d880d880d6b0d880d880d6b0d880d880d6b0d880d880d6b0d880d880d6b0d880d880d6b0d880d880d6b0d880d880d6b0d880d880d6b0d880d880d6b0d880d880d6b0d880d880d6b0d880d880d6b0d880d880d6b0d880d880d6b0d880d880d6b0d880d880d880d880d880d880d880d880d880d880d880d880d880d880d880d880d880d880d880d880d880d880d880d880d880d880d880d880d880d880d880d880d880d880d880d880d880d880d880d880d880d880d880d880d880d880d880d880d880d880d880d880d880d880d880d880d880d880d880d880d880d880d880d880d880d880d880d880d880d880d880d880d880d880d880d880d880d880d880d880d880d880d880d880d880d880d880d880d910d880d910d4d0d880d4d0d4d0d880d4d0d4d0d880d4d0d4d0d880d4d0d4d0d880d4d0d4d0d880d4d0d4d0d880d4d0d4d0d880d4d0d4d0d880d4d0d4d0d880d4d0d4d0d880d4d0d4d0d880d4d0d4d0d880d4d0d4d0d880d4d0d4d0d880d4d0d4d0d880d4d0d4d0d880d4d0d4d0d880d4d0d4d0d880d4d0d4d0d880d4d0d4d0d880d4d0d4d0d880d4d0d4d0d880d4d0d4d0d880d4d0d4d0d880d4d0d4d0d880d4d0d4d0d880d4d0d4d0d880d4d0d4d0d880d4d0d4d0d880d4d0d4d0d880d4d0d4d0d880d4d0d4d0d880d4d0d4d0d880d4d0d4d0d880d4d0d4d0d880d4d0d4d0d880d4d0d4d0d880d4d0d4d0d880d4d0d4d0d880d4d0d4d0d880d4d0d4d0d880d4d0d4d0d880d4d0d4d0d880d4d0d4d0d880d4d0d4d0d880d4d0d4d0d880d4d0d4d0d880d4d0d4d0d880d4d0d4d0d880d4d0d4d0d880d4d0d4d0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d4d0d6b0d4d0d4d0d6b0d4d0d4d0d6b0d4d0d4d0d6b0d4d0d4d0d6b0d4d0d4d0d6b0d4d0d4d0d6b0d4d0d4d0d6b0d4d0d4d0d6b0d4d0d4d0d6b0d4d0d4d0d6b0d4d0d4d0d6b0d4d0d4d0d6b0d4d0d4d0d6b0d4d0d4d0d6b0d4d0d4d0d6b0d4d0d4d0d6b0d4d0d4d0d6b0d4d0d4d0d6b0d4d0d4d0d6b0d4d0d4d0d6b0d4d0d4d0d6b0d4d0d4d0d6b0d4d0d4d0d6b0d4d0d4d0d6b0d4d0d4d0d6b0d4d0d4d0d6b0d4d0d4d0d6b0d4d0d4d0d6b0d4d0d4d0d6b0d4d0d4d0d6b0d4d0d4d0d6b0d4d0d4d0d6b0d4d0d4d0d6b0d4d0d4d0d6b0d4d0d4d0d6b0d4d0d4d0d6b0d4d0d4d0d6b0d4d0d4d0d6b0d4d0d4d0d6b0d4d0d4d0d6b0d4d0d4d0d6b0d4d0d4d0d6b0d4d0d4d0d6b0d4d0d4d0d6b0d4d0d4d0d6b0d4d0d4d0d6b0d4d0d4d0d6b0d4d0d4d0d6b0d4d0d4d0d6b0d4d0d4d0d6b0d4d0d4d0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0dc20d6b0dc20dc20d6b0dc20dc20d6b0dc20dc20d6b0dc20dc20d6b0dc20dc20d6b0dc20dc20d6b0dc20dc20d6b0dc20dc20d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0d6b0dda0d6b0dda0dda0d6b0dda0dda0d6b0dda0dda0d6b0dda0dda0d6b0dda0dda0d6b0dda0dda0d6b0dda0dda0d6b0dda0dda0d6b0dda0dda0d6b0dda0dda0d6b0dda0dda0d6b0dda0dda0d6b0dda0dda0d6b0dda0dda0d6b0dda0dda0d6b0dda0dda0d6b0dda0dda0dda0dda0dda0dda0dda0dda0dda0dda0dda0dda0dda0dda0dda0dda0dda0dda0dda0dda0dda0dda0dda0dda0dda0dda0dda0dda0dda0dda0dda0dda0dda0dda0dda0dda0dda0dda0dda0dda0dda0dda0dda0dda0dda0dda0dda0dda0dda0dda0dda0dda0d470dda0d470d470dda0d470d470dda0d470d470dda0d470d470dda0d470d470dda0d470d470dda0d470d470dda0d470d470dda0d470d470dda0d470d470dda0d470d470dda0d470d470d610d610d610d610d610d610d610d610d610d610d610d610d610d610d610d610d610d610d610d610d610d610d610d610d610d610d610d610d610d610d610d610d610d610d610d610d610d610d610d610d610d610d610d610d610d610d610d610d610d610d000e610d000e000e610d000e000e470d470d470d470d470d470d470d470d470d470d470d470d470d470d470d470d470d470d470d470d470d470d470d470d470d470d470d470d470d470d470d470d470d470d470d840d470d840d840d470d840d840d470d840d840d470d840d840d470d840d840d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d4d0d610d4d0d610d610d4d0d610d610d4d0d610d610d4d0d610d610d4d0d610d610d4d0d610d610d4d0d610d610d4d0d610d610d4d0d610d610d4d0d610d610d4d0d610d610d4d0d610d610d4d0d610d610d4d0d610d610d4d0d610d610d4d0d610d610d4d0d610d610d9a0e9a0e550e9a0e550e550e9a0e550e550e9a0e550e550e9a0e550e550e9a0e550e550e9a0e550e550e9a0e550e550e9a0e550e550e9a0e550e550e9a0e550e550e9a0e550e550e9a0e550e550e9a0e550e550e9a0e550e550e9a0e550e550e9a0e550e550ea50e290e290ea50e290e290ea50e290e290ea50e290e290ea50e290e290ea50e290e290ea50e290e290ea50e290e290ea50e290e290ea50e290e290ea50e290e290ea50e290e290ea50e290e290e310e310e310e310e310e310e310e310e310e310e310e310e310e310e310e310e310e310e310e310e310e310e310e310e310e310e310e310e310e310e310e310e310e310e310e310e310e310e310e310e310e310e310e310e310e310e310e310e310e310e310e310e310e310e310e310e310e310e310e310e310e310e310e310e310e310e310e310e310e310e310e310e310e310e310e310e310e310e310e310e310e310e310e310e310e310e310e3f0e3f0e3f0e3f0e3f0e3f0e3f0e3f0e3f0e3f0e3f0e3f0e3f0e3f0e3f0e3f0e3f0e3f0e3f0e3f0e3f0e3f0e3f0e3f0e3f0e3f0e3f0e3f0e3f0e3f0e3f0e3f0e3f0e3f0e3f0e3f0e3f0e3f0e3f0e3f0e3f0e3f0e3f0e3f0e3f0e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e5a0e480e5a0e5a0e480e5a0e5a0e480e5a0e5a0e480e5a0e5a0e480e5a0e5a0e480e5a0e5a0e480e5a0e5a0e480e5a0e310e480e310e310e480e310e310e480e310e310e480e310e310e480e310e310e480e310e310e480e310e310e480e310e310e480e310e310e480e310e310e480e310e310e480e310e310e480e310e310e480e310e310e480e310e310e480e310e310e480e310e310e480e310e310e480e310e310e480e310e310e480e310e310e480e310e310e480e310e310e480e310e310e480e310e310e480e310e310e480e310e310e480e310e310e480e310e310e480e310e310e480e310e550e480e550e550e480e550e550e480e550e550e480e550e550e480e550e550e480e550e550e480e550e550e480e550e550e480e550e550e480e550e550e480e550e550e480e550e550e480e550e550e480e550e550e480e550e550e480e550e550e480e550e550e720e720e710e720e710e710e720e710e710e720e710e710e720e710e710e720e710e550e720e550e550e720e550e550e720e550e550e720e550e550e720e550e550e720e550e550e720e550e550e720e550e550e720e550e550e720e550e550e720e550e550e720e550e550e720e550e550e720e550e550e720e550e550e720e550e550e720e550e550e720e550e310e720e310e310e720e310e310e720e310e310e720e310e310e720e310e310e720e310e310e720e310e310e720e310e310e720e310e310e720e310e310e720e310e310e720e310e310e720e310e310e720e310e310e720e310e310e720e310e310e720e310e310e720e310e310e720e310e310e720e310e310e720e310e310e720e310e310e720e310e310e720e310e310e720e310e310e720e310e310e720e310e310e720e310e310e720e310e310e720e310e310e720e310e720e720e720e720e720e720e720e710e710e710e710e710e710e710e710e710e710e710e720e710e720e720e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e290e480e290e290e480e290e290e480e290e290e480e290e290e480e290e290e480e290e290e480e290e290e480e290e290e480e290e290e480e290e290e480e290e290e480e290e290e480e290e290e480e290e5a0e480e5a0e5a0e480e5a0e5a0e480e5a0e5a0e480e5a0e5a0e480e5a0e5a0e480e5a0e5a0e480e5a0e5a0e5a0e5a0e5a0e5a0e5a0e5a0e5a0e5a0e5a0e5a0e5a0e5a0e5a0e5a0e5a0e5a0e5a0e5a0e5a0e5a0e290e5a0e290e290e5a0e290e290e5a0e290e290e5a0e290e290e5a0e290e290e5a0e290e290e5a0e290e290e5a0e290e290e5a0e290e290e5a0e290e290e5a0e290e290e5a0e290e290e5a0e290e290e5a0e290e720e5a0e720e720e5a0e720e720e5a0e720e310e5a0e310e310e5a0e310e310e5a0e310e310e5a0e310e310e5a0e310e310e5a0e310e310e5a0e310e310e5a0e310e310e5a0e310e310e5a0e310e310e5a0e310e310e5a0e310e310e5a0e310e310e5a0e310e310e5a0e310e310e5a0e310e310e5a0e310e310e5a0e310e310e5a0e310e310e5a0e310e310e5a0e310e310e5a0e310e310e5a0e310e310e5a0e310e310e5a0e310e310e5a0e310e310e5a0e310e310e5a0e310e310e5a0e310e310e5a0e310e310e550e550e550e550e550e550e550e550e550e550e550e550e550e550e550e550e550e550e550e550e550e550e550e550e550e550e550e550e550e550e550e550e550e550e550e550e550e550e550e550e550e550e550e550e550e550e550e550e550e550e710e550e710e710e550e710e710e550e710e710e550e710e710e9a0e9a0e3f0e9a0e3f0e3f0e9a0e3f0e3f0e9a0e3f0e3f0e9a0e3f0e3f0e9a0e3f0e3f0e9a0e3f0e3f0e9a0e3f0e3f0e9a0e3f0e3f0e9a0e3f0e3f0e9a0e3f0e3f0e9a0e3f0e3f0e9a0e3f0e3f0e9a0e3f0e3f0e9a0e3f0e3f0e9a0e3f0e3f0e9a0e3f0e3f0e9a0e3f0e480e9a0e480e480e9a0e480e480e9a0e480e480e9a0e480e480e9a0e480e480e9a0e480e480e9a0e480e480e9a0e480e480e9a0e480e480e9a0e480e480e9a0e480e480e9a0e480e480e9a0e480e480e9a0e480e480e9a0e480e480e9a0e480e480e9a0e480e480e9a0e480e480e9a0e480e480e9a0e480e480e9a0e480e480e9a0e480e480e9a0e480e480e9a0e480e480e9a0e480e480e9a0e480e550e9a0e550e550e9a0e550e550e9a0e550e550e9a0e550e550e9a0e550e550e9a0e550e550e9a0e550e550e9a0e550e550e9a0e550e550e9a0e550e550e9a0e550e550e9a0e550e550e9a0e550e550e9a0e550e550e9a0e550e550e9a0e550e550e9a0e550e550e3f0e3f0e3f0e3f0e3f0e3f0e3f0e3f0e3f0e3f0e3f0e3f0e3f0e3f0e3f0e3f0e3f0e3f0e3f0e3f0e3f0e3f0e3f0e3f0e3f0e3f0e3f0e3f0e3f0e3f0e3f0e3f0e3f0e3f0e3f0e3f0e3f0e3f0e3f0e3f0e3f0e3f0e3f0e3f0e3f0e3f0e3f0e9a0e3f0e9a0e9a0e3f0e3f0e3f0e3f0e3f0e3f0e3f0e3f0e3f0e3f0e3f0e3f0e3f0e3f0e3f0e3f0e3f0e3f0e3f0e3f0e3f0e3f0e3f0e3f0e3f0e3f0e3f0e3f0e3f0e3f0e3f0e3f0e3f0e3f0e3f0e3f0e3f0e3f0e3f0e3f0e3f0e3f0e3f0e3f0e3f0e3f0e3f0ea50e3f0ea50e290e3f0e290e290e3f0e290e290e3f0e290e290e3f0e290e290e3f0e290e290e3f0e290e290e3f0e290e290e3f0e290e290e3f0e290e290e3f0e290e290e3f0e290e290e3f0e290e290e3f0e290e290e3f0e290e480e3f0e480e480e3f0e480e480e3f0e480e480e3f0e480e480e3f0e480e480e3f0e480e480e3f0e480e480e3f0e480e480e3f0e480e480e3f0e480e480e3f0e480e480e3f0e480e480e3f0e480e480e3f0e480e480e3f0e480e480e3f0e480e480e3f0e480e480e3f0e480e480e3f0e480e480e3f0e480e480e3f0e480e480e3f0e480e480e3f0e480e480e3f0e480e480e3f0e480e480e290e290e290e290e290e290e290e290e290e290e290e290e290e290e290e290e290e290e290e290e290e290e290e290e290e290e290e290e290e290e290e290e290e290e290e290e290e290ea50e290ea50ea70e290ea70e720e290e720e720e290e720e720e290e720e720e290e720e720e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e5a0e480e5a0e5a0e480e5a0e5a0e480e5a0e5a0e480e5a0e5a0e480e5a0e5a0e480e5a0e5a0e480e5a0e5a0e5a0e5a0e5a0e5a0e5a0e5a0e5a0e5a0e5a0e5a0e5a0e5a0e5a0e5a0e5a0e5a0e5a0e5a0e5a0e5a0e310e5a0e310e310e5a0e310e310e5a0e310e310e5a0e310e310e5a0e310e310e5a0e310e310e5a0e310e310e5a0e310e310e5a0e310e310e5a0e310e310e5a0e310e310e5a0e310e310e5a0e310e310e5a0e310e310e5a0e310e310e5a0e310e310e5a0e310e310e5a0e310e310e5a0e310e310e5a0e310e310e5a0e310e310e5a0e310e310e5a0e310e310e5a0e310e310e5a0e310e310e5a0e310e310e5a0e310e310e5a0e310e310e5a0e310e310e5a0e310e310e550e550e550e550e550e550e550e550e550e550e550e550e550e550e550e550e550e550e550e550e550e550e550e550e550e550e550e550e550e550e550e550e550e550e550e550e550e550e550e550e550e550e550e550e550e550e550e550e550e550e310e550e310e310e550e310e310e550e310e310e550e310e310e550e310e310e550e310e310e550e310e310e550e310e310e550e310e310e550e310e310e550e310e310e550e310e310e550e310e310e550e310e310e550e310e310e550e310e310e550e310e310e550e310e310e550e310e310e550e310e310e550e310e310e550e310e310e550e310e310e550e310e310e550e310e310e550e310e310e550e310e310e550e310e310e550e310e310e550e310e310e720e720e720e720e720e310e720e310e310e720e310e310e720e310e310e720e310e310e720e310e310e720e310e310e720e310e310e720e310e310e720e310e310e720e310e310e720e310e310e720e310e310e720e310e310e720e310e310e720e310e310e720e310e310e720e310e310e720e310e310e720e310e310e720e310e310e720e310e310e720e310e310e720e310e310e720e310e310e720e310e310e720e310e310e720e310e310e720e310e310e720e310e310e720e310e310ea70ea90e710ea70e710e710ea70e710e710ea70e710e710ea70e710e710ea70e710e720ea70e720e720ea90e9a0e9a0ea90e9a0e550ea90e550e550ea90e550e550ea90e550e550ea90e550e550ea90e550e550ea90e550e550ea90e550e550ea90e550e550ea90e550e550ea90e550e550ea90e550e550ea90e550e550ea90e550e550ea90e550e550ea90e550e550ea90e550e550ea90e550e550ea90e550e710ea90e710e710ea90e710e710ea90e710e710ea90e710e710e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e480e290e480e290e290e480e290e290e480e290e290e480e290e290e480e290e290e480e290e290e480e290e290e480e290e290e480e290e290e480e290e290e480e290e290e480e290e290e480e290e290ea50e3f0e3f0ea50e3f0e3f0ea50e3f0e3f0ea50e3f0e3f0ea50e3f0e3f0ea50e3f0e3f0ea50e3f0e3f0ea50e3f0e3f0ea50e3f0e3f0ea50e3f0e3f0ea50e3f0e3f0ea50e3f0e3f0ea50e3f0e3f0ea50e3f0e3f0ea50e3f0e3f0ea50e3f0e3f0ea50e3f0e9a0ea50e9a0e9a0ea50e9a0ea90ea50ea90ea70e3f0e3f0e3f0e3f0e3f0e3f0e3f0e3f0e3f0e3f0e3f0e3f0e3f0e3f0e3f0e3f0e3f0e3f0e3f0e3f0e3f0e3f0e3f0e3f0e3f0e3f0e3f0e3f0e3f0e3f0e3f0e3f0e3f0e3f0e3f0e3f0e3f0e3f0e3f0e3f0e3f0e3f0e3f0e3f0e3f0ee60eea0eea0eb60eb60eb60eb60eb60eb60eb60eb60eb60eb60eb60eb60eb60eb60eb60eb60eb60eb60eb60eb60eb60eb60eb60eb60eb60eb60eb60eb60eb60eaa0eb60eaa0eaa0eb60eaa0eaa0eb60eaa0eaa0eb60eaa0eaa0eb60eaa0eaa0eb60eaa0eaa0eb60eaa0eaa0eb60eaa0eaa0eb60eaa0eaa0eb60eaa0eaa0eb60eaa0eaa0eb60eaa0eaa0eb60eaa0eaa0eb60eaa0eaa0eb60eaa0eaa0eb60eaa0eaa0eb60eaa0eaa0eb60eaa0eaa0eb60eaa0eaa0eb60eaa0eaa0eb60eaa0eaa0eb60eaa0eaa0eb60eaa0eaa0eb60eb60eb60eb60eb60eb60eb60eb60eb60eb60eb60eb60eb60eb60eb60eb60eb60eb60eb60eb60eb60eb60eb60eb60eb60eb60eb60eb60eb60eb60eb60eb60eb60eb60eb60eb60eb60eb60eb60eb60eb60eb60eb60eb60eb60ed60ed60ed60ed60ed60ebf0ed60ebf0ebf0ed60ebf0ebf0ed60ebf0ebf0ed60ebf0ebf0ed60ebf0ebf0ed60ebf0ebf0ec20ec20ec20ec20ec20ec20ec20ec20ec20ec20ec20ec20ec20ec20ec20ec20ec20ec20ec20ec20ec20ec20ec20ecb0ec20ecb0ecb0ec20ecb0ecb0ec20ecb0ecb0ec20ecb0ecb0ec20ecb0ecb0eaa0eaa0eaa0eaa0eaa0eaa0eaa0eaa0eaa0eaa0eaa0eaa0eaa0eaa0eaa0eaa0eaa0eaa0eaa0eaa0eaa0eaa0eaa0eaa0eaa0eaa0eaa0eaa0eaa0eaa0eaa0eaa0eaa0eaa0eaa0eaa0eaa0eaa0eaa0eaa0eaa0eaa0eaa0eaa0eaa0eaa0eaa0eaa0eaa0eaa0eaa0eaa0eaa0eaa0eaa0eaa0eaa0eaa0eaa0eaa0eaa0eaa0eaa0eaa0eaa0eaa0eaa0eaa0ecb0eaa0ecb0ecb0eaa0ecb0ecb0eaa0ecb0ecb0eaa0ecb0ecb0eaa0ecb0ecb0ed60ed60ed60ed60ed60ed60ed60ed60eb60ed60eb60eb60ed60eb60eb60ed60eb60eb60ed60eb60eb60ed60eb60eb60ed60eb60eb60ed60eb60eb60ed60eb60eb60ed60eb60eb60ed60eb60eb60ed60eb60eb60ed60eb60eb60ed60eb60eb60ed60eb60eaa0ed60eaa0eaa0ed60eaa0eaa0ed60eaa0eaa0ed60eaa0eaa0ed60eaa0eaa0ed60eaa0eaa0ed60eaa0eaa0ed60eaa0eaa0ed60eaa0eaa0ed60eaa0eaa0ed60eaa0eaa0ed60eaa0eaa0ed60eaa0eaa0ed60eaa0eaa0ed60eaa0eaa0ed60eaa0eaa0ed60eaa0eaa0ed60eaa0eaa0ed60eaa0eaa0ed60eaa0eaa0ed60eaa0eaa0ed60eaa0eaa0ed60eaa0eaa0ed60eaa0ebf0ed60ebf0ebf0ed60ebf0ebf0ed60ebf0ebf0ed60ebf0ebf0ed60ebf0ebf0ed60ebf0ebf0eb60eb60eb60eb60eb60eb60eb60eb60eb60eb60eb60eb60eb60eb60eb60eb60eb60eb60eb60eb60eb60eb60eb60eb60eb60eb60eb60eb60eb60eb60eb60eb60eb60eb60eb60ec20eb60ec20ec20eb60ec20ec20eb60ec20ec20eb60ec20ec20eb60ec20ec20eb60ec20ec20eb60ec20ec20eb60ec20ec20eb60ec20ecb0eb60ecb0ecb0eb60ecb0ecb0eb60ecb0ecb0eb60ecb0ecb0eb60ecb0ecb0eb60ecb0eaa0eb60eaa0eaa0eb60eaa0eaa0eb60eaa0eaa0eb60eaa0eaa0eb60eaa0eaa0eb60eaa0eaa0eb60eaa0eaa0eb60eaa0eaa0eb60eaa0eaa0eb60eaa0eaa0eb60eaa0eaa0eb60eaa0eaa0eb60eaa0eaa0eb60eaa0eaa0eb60eaa0eaa0eb60eaa0eaa0eb60eaa0eaa0eb60eaa0eaa0eb60eaa0eaa0eb60eaa0eaa0eb60eaa0eaa0eb60eaa0eaa0eb60eaa0eaa0eb60eb60eb60eb60eb60eb60eb60eb60eb60eb60eb60eb60eb60eb60eb60eb60eb60eb60eb60eb60eb60eb60eb60eb60eb60eb60eb60eb60eb60eb60eb60eb60eb60eb60eb60eb60eb60eb60eb60eb60eb60eb60eb60eb60eb60eb60eb60ed60eb60ed60ed60eb60ed60ed60eb60ed60ed60eb60ed60ee60eb60ee60ec20eb60ec20ec20eb60ec20ec20eb60ec20ec20eb60ec20ec20eb60ec20ec20eb60ec20ec20eb60ec20ec20eb60ec20ec20ee60ed60ed60ee60ed60ed60ee60ed60ebf0ee60ebf0ebf0ee60ebf0ebf0ee60ebf0ebf0ee60ebf0ebf0ee60ebf0ebf0ee60ebf0ebf0ee60ebf0eea0ee60eea0eea0ec20ec20ec20ec20ec20ec20ec20ec20ec20ec20ec20ec20ec20ec20ec20ec20ec20ec20ec20ec20ec20ec20ec20ee60ec20ee60eea0ec20eea0eea0ec20eea0ecb0ec20ecb0ecb0ec20ecb0ecb0ec20ecb0ecb0ec20ecb0ecb0ec20ecb0ecb0ebf0ebf0ebf0ebf0ebf0ebf0ebf0ebf0ebf0ebf0ebf0ebf0ebf0ebf0ebf0ebf0ebf0eaa0ebf0eaa0eaa0ebf0eaa0eaa0ebf0eaa0eaa0ebf0eaa0eaa0ebf0eaa0eaa0ebf0eaa0eaa0ebf0eaa0eaa0ebf0eaa0eaa0ebf0eaa0eaa0ebf0eaa0eaa0ebf0eaa0eaa0ebf0eaa0eaa0ebf0eaa0eaa0ebf0eaa0eaa0ebf0eaa0eaa0ebf0eaa0eaa0ebf0eaa0eaa0ebf0eaa0eaa0ebf0eaa0eaa0ebf0eaa0eaa0ebf0eaa0eaa0ebf0eaa0eaa0ebf0eaa0eaa0ebf0eaa0ecb0ebf0ecb0ecb0ebf0ecb0ecb0ebf0ecb0ecb0ebf0ecb0ecb0ebf0ecb0ecb0ebf0ecb0eea0ebf0eea0eea0eb60eb60eb60eb60eb60eb60eb60eb60eb60eb60eb60eb60eb60eb60eb60eb60eb60eb60eb60eb60eb60eb60eb60eb60eb60eb60eb60eb60eb60eb60eb60eb60eb60eb60eb60ec20eb60ec20ec20eb60ec20ec20eb60ec20ec20eb60ec20ec20eb60ec20ec20eb60ec20ec20eb60ec20ec20eb60ec20ec20eb60ec20ecb0eb60ecb0ecb0eb60ecb0ecb0eb60ecb0ecb0eb60ecb0ecb0eb60ecb0ecb0eb60ecb0eaa0eb60eaa0eaa0eb60eaa0eaa0eb60eaa0eaa0eb60eaa0eaa0eb60eaa0eaa0eb60eaa0eaa0eb60eaa0eaa0eb60eaa0eaa0eb60eaa0eaa0eb60eaa0eaa0eb60eaa0eaa0eb60eaa0eaa0eb60eaa0eaa0eb60eaa0eaa0eb60eaa0eaa0eb60eaa0eaa0eb60eaa0eaa0eb60eaa0eaa0eb60eaa0eaa0eb60eaa0eaa0eb60eaa0eaa0eb60eaa0eaa0eb60eaa0eaa0ee60ed60ed60ee60ed60ed60ee60ed60ed60ee60ed60ebf0ee60ebf0ebf0ee60ebf0ebf0ee60ebf0ebf0ee60ebf0ebf0ee60ebf0ebf0ee60ebf0ebf0ee60ebf0eea0ee60eea0eea0ed60eb60eb60ed60eb60eaa0ed60eaa0eaa0ed60eaa0eaa0ed60eaa0eaa0ed60eaa0eaa0ed60eaa0eaa0ed60eaa0eaa0ed60eaa0eaa0ed60eaa0eaa0ed60eaa0eaa0ed60eaa0eaa0ed60eaa0eaa0ed60eaa0eaa0ed60eaa0eaa0ed60eaa0eaa0ed60eaa0eaa0ed60eaa0eaa0ed60eaa0eaa0ed60eaa0eaa0ed60eaa0eaa0ed60eaa0eaa0ed60eaa0eaa0ed60eaa0eaa0ed60eaa0eaa0ed60eaa0ebf0ed60ebf0ebf0ed60ebf0ebf0ed60ebf0ebf0ed60ebf0ebf0ed60ebf0ebf0ed60ebf0ebf0eb60eb60eb60eb60eb60eb60eb60eb60eb60eb60eb60eb60eb60eb60eb60eb60eb60eb60eb60eb60eb60eb60eb60eb60eb60eb60eb60eb60eb60eb60eb60eb60eb60eb60eb60eb60eb60eb60eb60eb60eb60eb60eb60eb60eb60eb60eb60ed60eb60ed60ed60eb60ed60ed60eb60ed60ed60eb60eb60eb60eb60eb60eb60eb60eb60eb60eb60eb60eb60eb60eb60eb60eb60eb60eb60eb60eb60eb60eb60eb60eb60eb60eb60eb60eb60eb60eb60eb60eb60eb60eb60eb60eb60eb60eb60eb60eb60eb60eb60eb60eb60eb60eb60eb60ec20eb60ec20ec20eb60ec20ec20eb60ec20ec20eb60ec20ec20eb60ec20ec20eb60ec20ec20eb60ec20ec20eb60ec20ec20ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0e140ffd0e140f140ffd0e140f140ffd0e140f140ffd0e140f140ffd0e140f140ffd0e140f140ffd0e140f140ffd0e140f140ffd0e140f140ffd0e140f140ffd0e140f140ffd0e140f140ffd0e140f140ffd0e140f140ffd0e140f140ffd0e140f140ffd0e140f140ffd0e140f140ffd0e140f140ffd0e140f140ffd0e140f140ffd0e140f140ffd0e140f140ffd0e140f140ffd0e140f140ffd0e140f140ffd0e140f140ffd0e140f140ffd0e140f140ffd0e140f140ffd0e140f140ffd0e140f140ffd0e140f140ffd0e140f140ffd0e140f140ffd0e140f140ffd0e140f140ffd0e140f140ffd0e140f140ffd0e140f140ffd0e140f140ffd0e140f140f360f360f360f360f360f360f360f360f350f360f350f350f360f350f350f360f350f350f360f350f350f360f350f350f360f350f140f360f140f140f360f140f140f360f140f140f360f140f140f360f140f140f360f140f140f360f140f140f360f140f140f360f140f140f360f140f140f360f140f140f360f140f140f360f140f140f360f140f140f360f140f140f360f140f140f360f140f140f360f140f140f360f140f140f360f140f140f360f140f140f360f140f140f360f140f140f360f140f140f360f140f140f360f140f140f360f140f140f360f140f140f360f140f140f360f140f140f360f140f140f360f140f140f360f140f140f360f140f140f360f140f140f360f140f140f360f140f140f360f140f140f360f140f140f360f140f140f360f140f140f360f140f140f360f140f3a0f360f3a0f3a0f360f3a0f3a0f360f3a0f360f360f360f360f360f360f360f360f360f360f360f360f360f360f360f360f350f350f350f350f350f350f350f350f350f350f350f350f350f350f360f350f360f360f350f360f360f350f360f360ff00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00e530ff00e530ffd0ef00efd0efd0ef00efd0efd0ef00efd0efd0ef00efd0efd0ef00efd0efd0ef00efd0efd0ef00efd0efd0ef00efd0efd0ef00efd0efd0ef00efd0efd0ef00efd0efd0ef00efd0efd0ef00efd0efd0ef00efd0efd0ef00efd0efd0ef00efd0efd0ef00efd0efd0ef00efd0efd0ef00efd0efd0ef00efd0efd0ef00efd0efd0ef00efd0efd0ef00efd0efd0ef00efd0efd0ef00efd0efd0ef00efd0efd0ef00efd0efd0ef00efd0efd0ef00efd0efd0ef00efd0efd0ef00efd0efd0ef00efd0efd0ef00efd0efd0ef00efd0efd0ef00efd0efd0ef00efd0efd0ef00efd0efd0ef00efd0efd0ef00efd0efd0ef00efd0efd0ef00efd0efd0ef00efd0efd0ef00efd0efd0ef00efd0efd0ef00efd0efd0ef00efd0efd0ef00efd0efd0ef00efd0efd0ef00efd0efd0ef00efd0efd0ef00efd0efd0ef00efd0efd0ef00efd0efd0ef00efd0efd0ef00efd0efd0ef00efd0efd0ef00efd0efd0ef00efd0efd0ef00efd0efd0ef00efd0efd0ef00efd0efd0ef00efd0efd0ef00efd0efd0ef00efd0efd0ef00efd0efd0ef00efd0efd0ef00efd0efd0ef00efd0efd0ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00e360ff00e360f360ff00e360f360ff00e360f360ff00e360f360ff00e360f360ff00e360f3a0ff00e3a0f3a0ff00e3a0f3a0ff00e3a0f530f350f350f350f350f350f350f350f350f350f350f350f350f350f350f140f350f140f140f350f140f140f350f140f140f350f140f140f350f140f140f350f140f140f350f140f140f350f140f140f350f140f140f350f140f140f350f140f140f350f140f140f350f140f140f350f140f140f350f140f140f350f140f140f350f140f140f350f140f140f350f140f140f350f140f140f350f140f140f350f140f140f350f140f140f350f140f140f350f140f140f350f140f140f350f140f140f350f140f140f350f140f140f350f140f140f350f140f140f350f140f140f350f140f140f350f140f140f350f140f140f350f140f140f350f140f140f350f140f140f350f140f140f350f140f140f350f140f140f350f140f140ffd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0e140ffd0e140f140ffd0e140f140ffd0e140f140ffd0e140f140ffd0e140f140ffd0e140f140ffd0e140f140ffd0e140f140ffd0e140f140ffd0e140f140ffd0e140f140ffd0e140f140ffd0e140f140ffd0e140f140ffd0e140f140ffd0e140f140ffd0e140f140ffd0e140f140ffd0e140f140ffd0e140f140ffd0e140f140ffd0e140f140ffd0e140f140ffd0e140f140ffd0e140f140ffd0e140f140ffd0e140f140ffd0e140f140ffd0e140f140ffd0e140f140ffd0e140f140ffd0e140f140ffd0e140f140ffd0e140f140ffd0e140f140ffd0e140f140ffd0e140f140ffd0e140f140ffd0e140f140ffd0e140f140ffd0e140f140f810f810f820f810f820f820f810f810f840f810f840ff00e810ff00ef00e810ff00ef00e810ff00ef00e810ff00ef00e810ff00ef00e810ff00ef00e810ff00ef00e810ff00ef00e810ff00ef00e810ff00ef00e810ff00ef00e810ff00ef00e810ff00ef00e810ff00ef00e810ff00ef00e810ff00ef00e810ff00ef00e810ff00ef00e810ff00ef00e810ff00ef00e810ff00ef00e810ff00ef00e810ff00ef00e810ff00ef00e810ff00ef00e810ff00ef00e810ff00efd0e810ffd0efd0e810ffd0efd0e810ffd0efd0e810ffd0efd0e810ffd0efd0e810ffd0efd0e810ffd0efd0e810ffd0efd0e810ffd0efd0e810ffd0efd0e810ffd0efd0e810ffd0efd0e810ffd0efd0e810ffd0efd0e810ffd0efd0e810ffd0efd0e810ffd0efd0e810ffd0efd0e810ffd0efd0e810ffd0efd0e810ffd0efd0e810ffd0efd0e810ffd0efd0e810ffd0efd0e810ffd0efd0e810ffd0efd0e810ffd0efd0e810ffd0efd0e810ffd0efd0e810ffd0efd0e810ffd0efd0e810ffd0efd0e810ffd0efd0e810ffd0efd0e810ffd0efd0e810ffd0efd0e810ffd0efd0e810ffd0efd0e810ffd0efd0e810ffd0efd0e810ffd0efd0e810ffd0efd0e810ffd0efd0e810ffd0efd0e810ffd0efd0e810ffd0efd0e810ffd0efd0e810ffd0efd0e810ffd0efd0e810ffd0efd0e810ffd0efd0e810ffd0efd0e810ffd0efd0e810ffd0efd0e810ffd0efd0e810ffd0efd0e810ffd0efd0e810ffd0efd0e810ffd0efd0e810ffd0efd0e810ffd0efd0e810ffd0efd0e810ffd0efd0e810ffd0efd0e810ffd0efd0e810ffd0efd0e810ffd0efd0e810ffd0efd0ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00e840ff00e840f8a0ff00e8a0f360ff00e360f360ff00e360f360ff00e360f360ff00e360f360ff00e360f360ff00e360f360ff00e360f360ff00e360f360ff00e360f360ffd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0e140f140f140f140f140f140f140f140f140f140f140f140f140f140f140f140f140f140f140f140f140f140f140f140f140f140f140f140f140f140f140f140f140f140f140f140f140f140f140f140f140f140f140f140f140f140f140f140f140f140f140f140f140f140f140f140f140f140f140f140f140f140f140f140f140f140f140f140f140f140f140f140f140f140f140f140f140f140f140f140f140f140f140f140f140f140f140f140f140f140f140f140f140f140f140f140f140f140f140f140f140f140f140f140f140f140f140f140f140f140f140f140f140f140f140f140f140f140f140f140f140f140f140ffd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0efd0e530ffd0e530f3a0ffd0e3a0f3a0ffd0e3a0f3a0ffd0e3a0f140ffd0e140f140ffd0e140f140ffd0e140f140ffd0e140f140ffd0e140f140ffd0e140f140ffd0e140f140ffd0e140f140ffd0e140f140ffd0e140f140ffd0e140f140ffd0e140f140ffd0e140f140ffd0e140f140ffd0e140f140ffd0e140f140ffd0e140f140ffd0e140f140ffd0e140f140ffd0e140f140ffd0e140f140ffd0e140f140ffd0e140f140ffd0e140f140ffd0e140f140ffd0e140f140ffd0e140f140ffd0e140f140ffd0e140f140ffd0e140f140ffd0e140f140ffd0e140f140ffd0e140f140ffd0e140f140ffd0e140f140ffd0e140f140ffd0e140f140ffd0e140f140ffd0e140f140ffd0e140f140ffd0e140f140ffd0e140f140f820f820f810f820f810f810f820f810ffd0e820ffd0efd0e820ffd0efd0e820ffd0efd0e820ffd0efd0e820ffd0efd0e820ffd0efd0e820ffd0efd0e820ffd0efd0e820ffd0efd0e820ffd0efd0e820ffd0efd0e820ffd0efd0e820ffd0efd0e820ffd0efd0e820ffd0efd0e820ffd0efd0e820ffd0efd0e820ffd0efd0e820ffd0efd0e820ffd0efd0e820ffd0efd0e820ffd0efd0e820ffd0efd0e820ffd0efd0e820ffd0efd0e820ffd0efd0e820ffd0efd0e820ffd0efd0e820ffd0efd0e820ffd0efd0e820ffd0efd0e820ffd0efd0e820ffd0efd0e820ffd0efd0e820ffd0efd0e820ffd0efd0e820ffd0efd0e820ffd0efd0e820ffd0efd0e820ffd0efd0e820ffd0efd0e820ffd0efd0e820ffd0efd0e820ffd0efd0e820ffd0efd0e820ffd0efd0e820ffd0efd0e820ffd0efd0e820ffd0efd0e820ffd0efd0e820ffd0efd0e820ffd0efd0e820ffd0efd0e820ffd0efd0e820ffd0efd0e820ffd0efd0e820ffd0efd0e820ffd0efd0e820ffd0efd0e820ffd0efd0e820ffd0efd0e820ffd0efd0e820ffd0efd0e820ffd0efd0e820ffd0efd0e820ffd0efd0e820ffd0efd0e820ffd0efd0e820ffd0e140f820f140f140f820f140f140f820f140f140f820f140f140f820f140f140f820f140f140f820f140f140f820f140f140f820f140f140f820f140f140f820f140f140f820f140f140f820f140f140f820f140f140f820f140f140f820f140f140f820f140f140f820f140f140f820f140f140f820f140f140f820f140f140f820f140f140f820f140f140f820f140f140f820f140f140f820f140f140f820f140f140f820f140f140f820f140f140f820f140f140f820f140f140f820f140f140f820f140f140f820f140f140f820f140f140f820f140f140f820f140f140f820f140f140f820f140f140f820f140f140f820f140f140f360f360f360f360f360f360f360f360f360f360f360f360f360f360f3a0f360f3a0f3a0f360f3a0f3a0f8a0f950f350f8a0f350f350f8a0f350f350f8a0f350f350f8a0f350f350f8a0f350f350f8a0f350f360f8a0f360f360f8a0f360f360f8a0f360f360f350f350f350f350f350f350f350f350f350f350f350f350f350f350f950f350f950f820f350f820f820f350f820f140f350f140f140f350f140f140f350f140f140f350f140f140f350f140f140f350f140f140f350f140f140f350f140f140f350f140f140f350f140f140f350f140f140f350f140f140f350f140f140f350f140f140f350f140f140f350f140f140f350f140f140f350f140f140f350f140f140f350f140f140f350f140f140f350f140f140f350f140f140f350f140f140f350f140f140f350f140f140f350f140f140f350f140f140f350f140f140f350f140f140f350f140f140f350f140f140f350f140f140f350f140f140f350f140f140f350f140f140f350f140f140f350f140f140f350f140f140f350f140f140f350f140f140f350f140f140ff00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00efd0ef00efd0efd0ef00efd0efd0ef00efd0efd0ef00efd0efd0ef00efd0efd0ef00efd0efd0ef00efd0efd0ef00efd0efd0ef00efd0efd0ef00efd0efd0ef00efd0efd0ef00efd0efd0ef00efd0efd0ef00efd0efd0ef00efd0efd0ef00efd0efd0ef00efd0efd0ef00efd0efd0ef00efd0efd0ef00efd0efd0ef00efd0efd0ef00efd0efd0ef00efd0efd0ef00efd0efd0ef00efd0efd0ef00efd0efd0ef00efd0efd0ef00efd0efd0ef00efd0efd0ef00efd0efd0ef00efd0efd0ef00efd0efd0ef00efd0efd0ef00efd0efd0ef00efd0efd0ef00efd0efd0ef00efd0efd0ef00efd0efd0ef00efd0efd0ef00efd0efd0ef00efd0efd0ef00efd0efd0ef00efd0efd0ef00efd0efd0ef00efd0efd0ef00efd0efd0ef00efd0efd0ef00efd0efd0ef00efd0efd0ef00efd0efd0ef00efd0efd0ef00efd0efd0ef00efd0efd0ef00efd0efd0ef00efd0efd0ef00efd0efd0ef00efd0efd0ef00efd0efd0ef00efd0efd0ef00efd0efd0ef00efd0efd0ef00efd0efd0ef00efd0efd0ef00efd0efd0ef00efd0efd0ef00efd0efd0ef00efd0efd0ef00efd0efd0ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00ef00e840ff00e840f360ff00e360f360ff00e360f360ff00e360f360ff00e360f360ff00e360f360ff00e360f360ff00e360f360ff00e360f360ff00e360f360f840f810f810f840f810f820f840f820f820f840f820f950f840f950f8a0f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960fa90fa90fa90fa90fa90fa90fa90fa90fa90fa90fa90fa90fa90fa90fa90fa90fa90fa90fa90fa90fa90fa90fa90fa90fc20fc20fc40faf0faf0faf0faf0faf0fb40faf0fb40fb40faf0fb40fb40faf0fb40fb40faf0fb40fb40faf0fb40fb40f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960fb40f960fb40fb40f960fb40fb40f960fb40fb40f960fb40fb40f960fb40fb40fc20fc20fa90fc20fa90fa90fc20fa90fa90fc20fa90fa90fc20fa90fa90fc20fa90fa90fc20fa90fa90fc20fa90fa90fc20fa90fa90fc20fa90fa90fc20fa90f960fc20f960f960fc20f960f960fc20f960f960fc20f960f960fc20f960f960fc20f960f960fc20f960f960fc20f960f960fc20f960f960fc20f960f960fc20f960f960fc20f960f960fc20f960f960fc20f960f960fc20f960f960fc20f960f960fc20f960f960fc20f960f960fc20f960f960fc20f960f960fc20f960f960fc20f960f960fc20f960f960fc20f960f960fc20f960f960fc20f960f960fc20f960f960fc20f960f960fc20f960f960fc20f960f960fc20f960f960fc20f960f960fc20f960f960fc20f960f960fc20f960f960fc20f960f960fc20f960f960fc20f960f960fc20f960f960fc20f960f960fc20f960fc40fa90fa90fa90fa90fa90fa90fa90fa90fa90fa90fa90fa90fa90fa90fa90fa90fa90fa90fa90fa90fa90fa90fa90fa90fa90fa90faf0fa90faf0faf0fa90faf0faf0fa90faf0fb40fa90fb40fb40fa90fb40fb40fa90fb40fb40fa90fb40fb40fa90fb40fb40fa90fb40f960fa90f960f960fa90f960f960fa90f960f960fa90f960f960fa90f960f960fa90f960f960fa90f960f960fa90f960f960fa90f960f960fa90f960f960fa90f960f960fa90f960f960fa90f960f960fa90f960f960fa90f960f960fa90f960f960fa90f960f960fa90f960f960fa90f960f960fa90f960f960fa90f960f960fa90f960f960fa90f960f960fa90f960f960fa90f960f960fa90f960f960fa90f960f960fa90f960f960fa90f960f960fa90f960f960fa90f960f960fa90f960f960fa90f960f960fa90f960f960fa90f960f960fa90f960f960fa90f960f960fa90f960f960fa90f960f960fa90f960f960fa90fa90fa90fa90fa90fa90fa90fa90fa90fa90fa90fa90fa90fa90fa90fa90fa90fa90fa90fa90fa90fa90fa90fa90fa90fa90fc20fa90fc20fc20faf0faf0faf0faf0faf0fd20faf0fd20fd10faf0fd10fb40faf0fb40fb40faf0fb40fb40faf0fb40fb40faf0fb40fb40faf0fb40fb40fc40f960f960fc40f960f960fc40f960f960fc40f960f960fc40f960f960fc40f960f960fc40f960f960fc40f960f960fc40f960f960fc40f960f960fc40f960f960fc40f960f960fc40f960f960fc40f960f960fc40f960f960fc40f960f960fc40f960f960fc40f960f960fc40f960f960fc40f960f960fc40f960f960fc40f960f960fc40f960f960fc40f960f960fc40f960f960fc40f960f960fc40f960f960fc40f960f960fc40f960f960fc40f960f960fc40f960f960fc40f960f960fc40f960f960fc40f960f960fc40f960f960fc40f960f960fc40f960f960fc40f960f960fc40f960f960fc40f960f960fc40f960fb40fc40fb40fb40fc40fb40fb40fc40fb40fb40fc40fb40fb40fc40fb40fb40fc40fb40fd10f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960fb40f960fb40fb40f960fb40fb40f960fb40fb40f960fb40fb40f960fb40fb40fc20fc20fc40fc20fc40fd10fc20fd10fd20fc20fc20fa90fc20fa90fa90fc20fa90fa90fc20fa90fa90fc20fa90fa90fc20fa90fa90fc20fa90fa90fc20fa90fa90fc20fa90fa90fc20fa90f960fc20f960f960fc20f960f960fc20f960f960fc20f960f960fc20f960f960fc20f960f960fc20f960f960fc20f960f960fc20f960f960fc20f960f960fc20f960f960fc20f960f960fc20f960f960fc20f960f960fc20f960f960fc20f960f960fc20f960f960fc20f960f960fc20f960f960fc20f960f960fc20f960f960fc20f960f960fc20f960f960fc20f960f960fc20f960f960fc20f960f960fc20f960f960fc20f960f960fc20f960f960fc20f960f960fc20f960f960fc20f960f960fc20f960f960fc20f960f960fc20f960f960fc20f960f960fc20f960f960fc20f960f960fc20f960f960fc20f960f960fc20f960fc40f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960f960fa90fa90fa90fa90fa90fa90fa90fa90fa90fa90fa90fa90fa90fa90fa90fa90fa90fa90fa90fa90fa90fa90fa90fa90fa90fa90fc20fa90fc20fc20fa90fc20fd20fa90fd20faf0fa90faf0faf0fa90faf0faf0fa90fa90fa90fa90fa90fa90fa90fa90fa90fa90fa90fa90fa90fa90fa90fa90fa90fa90fa90fa90fa90fa90fa90fa90fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fe40fe40fe40fe40fe40fe40fe40fe40fe40fe40fe40fe40fe40fe40fe40fe40fe40fe40fe40fe40fe40fe40fe40fe40fe40fe40fe40fe40fe40fe40fe40fe40fe40fe40fe40fe40fe40fe40fe40fe40fe40fe40fed0fed0fed0fed0fed0fed0fed0fed0fed0fed0fed0fed0fed0fed0fed0fed0fed0fed0fed0fed0fed0fed0fed0fed0f0d100d100d100d100d100d100d100d100d100d100d100d100d100d100d100d100d100d100d100d100d100d100d100d100d100d100d100d100d100d100d100d100d100d100d100d10f80ff80ff30ff80ff30ff30ff80ff30ff30ff80ff30ff30ff80ff30ff30ff80ff30ff30ff80ff30ff30ff80ff30ff30f0d100d100d100d100d100d100d100d100d100d100d100d100d100d100d100d100d100d100d100d100d100d100d100d100d100d100d100d100d100d100d100d100d100d100d100d100d100d10d70f0d10d70fd70f0d10d70fd70f0d10d70fd70f0d10d70fd70f0d10d70fd70f0d10d70fd70f0d10d70fd70f0d10d70fd70f0d10d70fd70f0d10d70fd70f0d10d70fd70f0d10d70fd70f0d10d70fd70f0d10d70fd70f0d10d70fd70f0d10d70fd70f0d10d70fd70f0d10d70fd70f0d10d70fd70f0d10d70fd70f0d10d70fd70f0d10d70fd70f0d10d70fd70f0d10d70fd70f0d10d70fd70f0d10d70fd70f0d10d70ff30f0d10f30ff30f0d10f30ff30f0d10f30ff30f0d10f30ff30f0d10f30ff30f0d10f30ff30f0d10f30fe40f0d10e40fe40f0d10e40fe40f0d10e40fe40f0d10e40fe40f0d10e40fe40f0d10e40fe40f0d10e40fe40f0d10e40fe40f0d10e40fe40f0d10e40fe40f0d10e40fe40f0d10e40fe40f0d10e40fe40f0d10e40fe40f0d10e40fe40f0d10e40f06100c100c10ed0f0c10ed0fed0f0c10ed0fed0f0c10ed0fed0f0c10ed0fed0f0c10ed0fed0f0c10ed0fed0f0c10ed0fed0f0c10ed0fed0f0c10ed0fed0f0c10ed0fd70f0c10d70fd70f0c10d70fd70f0c10d70fd70f0c10d70fd70f0c10d70fd70f0c10d70fd70f0c10d70fd70f0c10d70fd70f0c10d70fd70f0c10d70fd70f0c10d70fd70f0c10d70fd70f0c10d70fd70f0c10d70fd70f0c10d70fd70f0c10d70fd70f0c10d70fd70f0c10d70fd70f0c10d70fd70f0c10d70fd70f0c10d70fd70f0c10d70fd70f0c10d70fd70f0c10d70fd70f0c10d70fd70f0c10d70fd70f0c10d70f0d100c100d100d100c100d100d100c100d100d100c100d100d100c100d100d100c100d100d100c100d100d100c100d100d100c100d100d100c100d100d100c100d100d100c100d100d100c100d100d10ed0fed0fed0fed0fed0fed0fed0fed0fed0fed0fed0fed0fed0fed0fed0fed0fed0fed0fed0fed0fed0fed0fed0fed0fed0fed0ff80fed0ff80ff80fed0ff80ff30fed0ff30ff30fed0ff30ff30fed0ff30ff30fed0ff30ff30fed0ff30ff30fed0ff30ff30fed0ff30ff30fed0ff30fd70fed0fd70fd70fed0fd70fd70fed0fd70fd70fed0fd70fd70fed0fd70fd70fed0fd70fd70fed0fd70fd70fed0fd70fd70fed0fd70fd70fed0fd70fd70fed0fd70fd70fed0fd70fd70fed0fd70fd70fed0fd70fd70fed0fd70fd70fed0fd70fd70fed0fd70fd70fed0fd70fd70fed0fd70fd70fed0fd70fd70fed0fd70fd70fed0fd70fd70fed0fd70fd70fed0fd70fd70fed0fd70fd70fed0fd70fd70fed0fed0fed0fed0fed0fed0fed0fed0fed0fed0fed0fed0fed0fed0fed0fed0fed0fed0fed0fed0fed0fed0fed0fed0fed0fed0f0c10ed0f0c100c100d100d100d100d100d100d100d100d100d100d100d100d100d100d100d100d100d100d100d100d100d100d100d100d100d100d100d100d100d100d100d100d100d100d100d100d100d100d10e40f0d10e40fe40f0d10e40fe40f0d10e40fe40f0d10e40fe40f0d10e40fe40f0d10e40fe40f0d10e40fe40f0d10e40fe40f0d10e40fe40f0d10e40fe40f0d10e40fe40f0d10e40fe40f0d10e40fe40f0d10e40fe40f0d10e40fe40ff30ff30ff30ff30ff30ff30ff30ff30ff30ff30ff30ff30ff30ff30ff30ff30ff30ff30ff30ff30ff80ff30ff80ff80ff30ff80f2210f30f2210e40ff30fe40fe40ff30fe40fe40ff30fe40fe40ff30fe40fe40ff30fe40fe40ff30fe40fe40ff30fe40fe40ff30fe40fe40ff30fe40fe40ff30fe40fe40ff30fe40fe40ff30fe40fe40ff30fe40fe40ff30fe40fe40ff30fe40fe40fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70ff30fd70ff30ff30fd70ff30ff30fd70ff30ff30fd70ff30ff30fd70ff30ff30fd70ff30ff30fd70ff30ff30f0d100d100d100d100d100d100d100d100d100d100d100d100d100d100d100d100d100d100d100d100d100d100d100d100d100d100d100d100d100d100d100d100d100d100d100d100d100d1006100d100610e40f0d10e40fe40f0d10e40fe40f0d10e40fe40f0d10e40fe40f0d10e40fe40f0d10e40fe40f0d10e40fe40f0d10e40fe40f0d10e40fe40f0d10e40fe40f0d10e40fe40f0d10e40fe40f0d10e40fe40f0d10e40fe40f0d10e40fe40f22100c100c1022100c100d1022100d100d1022100d100d1022100d100d1022100d100d1022100d100d1022100d100d1022100d100d1022100d100d1022100d100d1022100d100d1022100d100d1022100d100d1022100d100d1022100d10e40f2210e40fe40f2210e40fe40f2210e40fe40f2210e40fe40f2210e40fe40f2210e40fe40f2210e40fe40f2210e40fe40f2210e40fe40f2210e40fe40f2210e40fe40f2210e40fe40f2210e40fe40f2210e40fe40f2210e40fe40fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70f0d10d70f0d100d10d70f0d100d10d70f0d100d10d70f0d100d10d70f0d100d10d70f0d100d10d70f0d100d10d70f0d100d10d70f0d100d10d70f0d100d10d70f0d100d10d70f0d100d10d70f0d100d10d70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70fd70f0610d70f06100d10d70f0d100d10d70f0d100d10d70f0d100d10d70f0d100d10d70f0d100d10d70f0d100d10d70f0d100d10d70f0d100d10d70f0d100d10d70f0d100d10d70f0d100d10d70f0d100d10d70f0d100d10ed0fed0fed0fed0fed0fed0fed0fed0fed0fed0fed0fed0fed0fed0fed0fed0fed0fed0fed0fed0fed0fed0fed0fed0fed0fed0f0c10ed0f0c100c10ed0f0c102210ed0f2210f80fed0ff80ff80fed0fed0fed0fed0fed0fed0fed0fed0fed0fed0fed0fed0fed0fed0fed0fed0fed0fed0fed0fed0fed0fed0fed0fed0f281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810401040104010401040104010401040104010401040104010401040104010401040104010401040104010461046104610461046104610461046104610461046104610461046104610461046104610461046104610461046104610461046104610461046104610461046104610461046104610461046104610461046104610461046104610461046104610461046104610461046104610461046104610461046104610461046104610461046104610461046104610461046104610461046104610461046104610461046105410461054105410461054105410461054105410461054107710461077107710461077105010461050105010461046104610461046104610461046104610461046104610461046104610461046104610461046104610461046104610461046104610461046104610461046105410461054105410461054105410461054105410281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028105b1028105b105b1028105b105b1028105b105b1028105b105b102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281046102810461046102810461046102810461046102810461046102810461046102810461050102810501050102810501070105410541054105410541054105410541092105410921077105410771077107c107c107c107c107c107c107c107c107c107c107c1040107c10401040107c10401040107c10401040107c10401040107c10401040107c10401040107c10401040107c10401040107c1040107a107c107a107d107c107d107d107c107d107e107c107e107e107c107e107e10401040104010401040104010401040104010401040104010401040104010401040104010401040104010401040102810401028102810401028102810401028102810401028102810401028102810401028102810401028102810401028102810401028102810401028102810401028102810401028102810401028102810401028102810401028102810401028102810401028102810401028102810401028102810401028102810401028102810401028102810401028102810401028102810401028102810401028102810401028102810401028102810401028102810401028102810401028102810401028102810401028102810401028102810401028102810401028102810401028102810401028102810401028102810401028102810401028102810401028102810401028102810401028102810401028102810401028102810401028102810401028102810401028102810401028102810401028102810401028102810401028102810401028102810401028102810401028102810401028102810401028102810401028102810401028102810401028102810401028102810401028105b1040105b105b1040105b105b1040105b105b1040105b105b1040105b108410401084107a10401040104010401040104010401040104010401040104010401040104010401040104010401040104010401040107c1040107c107c1040107c107c1040107c107c1040107c107c1040107c1046104010461046104010461046104010461046104010461046104010461046104010461046104010461046104010461046104010461046104010461046104010461046104010461046104010461046104010461046104010461046104010461046104010461046104010461028104010281028104010281028104010281028104010281028104010281028104010281028104010281028104010281028104010281028104010281028104010281028104010281028104010281028104010281028104010281028104010281028104010281028104010281028104010281028104010281028104010281028104010281028104010281028104010281028104010281028104010281028104010281028104010281028104010281028104010281028104010281028104010281028104010281028104010281028104010281028104010281028104010281028104010281028104010281028104010281028104010281028104010281028104010281028104010281028104010281028104010281028104010281028104010281028104010281028104010281028104010281028104010281028104010281028104010281028104010281028104010281028104010281028104010281028104010281028104010281028104010281028104010281028107d107d107a107d107a1084107d10841091107d109110921094107010501094105010501094105010771094107710771094107710921094109210911084105b105b1084105b105b1084105b105b1084105b105b1084105b1094108410941092108410921091104610461046104610461046104610461046104610461046104610461046104610461046104610461046104610461046104610461046104610461046104610461046104610461046104610461046104610461046104610461046104610461046104610461054104610541054104610541054104610541054104610541077104610771077104610771050104610501050107c107c107c107c107c107c107c107c107c107c107c107e107c107e107e107c107e107e107c107e1054107c10541054107c10541054107c10541054107c10541046107c10461046107c10461046107c10461046107c10461046107c10461046107c10461046107c10461046107c10461046107c10461046107c10461046107c10461046107e107e107e107e107e107d107e107d107d107e107d1092107e10921077107e10771077107e10771054107e10541054107e10541054107e10541054107c107c107c107c107c107c107c107c107c107c107c107d107c107d107d107c107d107e107c107e107e107c107e107e10281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028105b1028105b105b1028105b105b1028105b105b1028105b105b1028105b108410281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028107010281070109410281094105b1028105b105b1028105b105b1028105b105b1028105b105b102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281028102810281046102810461046102810461046102810461046102810461046102810461046102810461046102810461046102810461046102810461046102810461046102810461046102810461046102810461046102810461046102810461046102810461046102810461046107c107c107c107c107c107c107c107c107c107c107c107d107c107d107d107c107d107e107c107e107e107c107e107e10401040104010401040104010401040104010401040104010401040104010401040104010401040104010401040107c1040107c107c1040107c107c1040107c107c1040107c107c109f109f109f109f109f109f109f109f109f109f109f109f109f109f109f109f109f109f10a410a410a410a410a410a410a410a410a410a410a410a410a410a410a410a410a410a410a410a410a410a410a410a410a410a410a410a410a410a410a410a410a410a410a410a410a410a410a410a410a410a410a410a410a410a410a410a410a410a410a410a410a410a410a410a410a410a410a410a410a410a410a410a410a410a410a410a410a410a410a410a410a410a410a410b010b010b010b010b010b010b010b010b010b010b010b010b010b010b010b010b010b010b010b010b010b010b010b010b010b010b010b010b010b010b010b010b010b010b010b010b010b010b010b010b010b010b010b010b010c010c0109f10c0109f109f10c0109f109f10c0109f109f10c0109f109f10c0109f109f10c0109f109f10c0109f109f10c0109f10b010c010b010b010c010b010b010c010b010b010c010b010b010c010b010b010c010b010b010c010b010b010c010b010b010c010b010b010c010b010b010c010b010b010c010b010b010c010b010b010c010b010b010c010b010b010c010b010b010c010b010a410c010a410a410c010a410a410c010a410a410c010a410a410c010a410a410c010a410a410c010a410a410c010a410a410c010a410a410c010a410a410c010a410a410c010a410a410c010a410a410c010a410a410c010a410a410c010a410a410c010a410a410c010a410a410c010a410a410c010a410a410c010a410a410c010a410a410c010a410a410c010a410a410c010a410a410c010a410a410b010b010b010b010b010b010b010b010b010b010b010b010b010b010b010b010b010b010b010b010b010b010b010b010b010b010b010b010b010b010b010b010b010b010b010b010b010b010b010b010b010b010b010b010b010b010b010d110b010d110d110b010d110d110b010d110d110b010d110d110b010d110d710b010d710d710b010d710a410b010a410a410b010a410a410b010a410a410b010a410a410b010a410a410b010a410a410b010a410a410b010a410a410b010a410a410b010a410a410b010a410a410b010a410a410b010a410a410b010a410a410b010a410a410b010a410a410b010a410a410b010a410a410b010a410a410b010a410a410b010a410a410b010a410a410b010a410a410b010a410a410b010a410a410b010a410a410d010d110d110d010d110d110d010d110d110d010d110d110d010d110b010d010b010b010d010b010b010d010b010b010d010b010b010d010b010b010d010b010b010d010b010b010d010b010b010d010b010b010d010b010b010d010b010b010d010b010b010d010b010b010d010b010b010d010b010b010d010b010b010d010b0109f10d0109f109f10d0109f109f10d0109f109f10d0109f109f10d0109f109f10d0109f109f10d0109f109f10d110d110d110d110d110d110d110d110d110d110d110d010d110d010d610d110d610d710d110d710d710c010c010a410c010a410a410c010a410a410c010a410a410c010a410a410c010a410a410c010a410a410c010a410a410c010a410a410c010a410a410c010a410a410c010a410a410c010a410a410c010a410a410c010a410a410c010a410a410c010a410a410c010a410a410c010a410a410c010a410a410c010a410a410c010a410a410c010a410a410c010a410a410c010a410a410c010a410a410c010a410a410d610d0109f10d6109f109f10d6109f109f10d6109f109f10d6109f109f10d6109f109f10d6109f109f10d6109f109f10d6109f10c010d610c010c0109f109f109f109f109f109f109f109f109f109f109f109f109f109f109f109f109f109f109f109f10b0109f10b010b0109f10b010b0109f10b010b0109f10b010b0109f10b010b0109f10b010b0109f10b010b0109f10b010b0109f10b010b0109f10b010b0109f10b010b0109f10b010b0109f10b010b0109f10b010b0109f10b010b0109f10b010b010b010b010b010b010b010b010b010b010b010b010b010b010b010b010b010b010b010b010b010b010b010b010b010b010b010b010b010b010b010b010b010b010b010b010b010b010b010b010b010b010b010b010b010b010b010b010b010d110b010d110d110b010d110d110b010d110d110b010d110d110b010d110d710b010d710d710b010d710a410b010a410a410b010a410a410b010a410a410b010a410a410b010a410a410b010a410a410b010a410a410b010a410a410b010a410a410b010a410a410b010a410a410b010a410a410b010a410a410b010a410a410b010a410a410b010a410a410b010a410a410b010a410a410b010a410a410b010a410a410b010a410a410b010a410a410b010a410a410b010a410a410b010a410a410b010a410a410c010c010a410c010a410a410c010a410a410c010a410a410c010a410a410c010a410a410c010a410a410c010a410a410c010a410a410c010a410a410c010a410a410c010a410a410c010a410a410c010a410a410c010a410a410c010a410a410c010a410a410c010a410a410c010a410a410c010a410a410c010a410a410c010a410a410c010a410a410c010a410a410c010a410a410c010a410a410c010a410a410d710d710d610d710d610c010d710c010c010d710c010a410d710a410a410d710a410a410d710a410a410d710a410a410d710a410a410d710a410a410d710a410a410d710a410a410d710a410a410d710a410a410d710a410a410d710a410a410d710a410a410d710a410a410d710a410a410d710a410a410d710a410a410d710a410a410d710a410a410d710a410a410d710a410a410d710a410a410d710a410a410d710a410a410d710a410a410d710a410a410d110d110d110d110d110d110d110d110d110d110d110d710d110d710d710d010d110d110d010d110d110d010d110d110d010d110d110f510f510f510f510f510f610f510f610f610fb10de10de10fb10de10de10fb10de10de10fb10de10de10fb10de10de10fb10de10de10fb10de10de10fb10de10de10fb10de10de10fb10de10de10fb10de10de10fb10de10de10fb10de10de10fb10de10de10ec10ec10ec10ec10ec10ec10ec10ec10ec10ec10ec10ec10ec10ec10f610ec10f610f610fb10f210f210fb10f210f210f210f210f210f210f210e710f210e710e710f210e710e710f210e710e710f210e710e7100011ec10ec100011ec10ec100011ec10ec100011ec10ec100011ec10ec10de10de10de10de10de10de10de10de10de10de10de10de10de10de10de10de10de10de10de10de10de10de10de10de10de10de10de10de10de10de10de10de10de10de10de10de10de10de10ec10de10ec10ec10de10ec10ec10de10ec10ec10de10ec10ec10de10ec10ec10de10ec10f610de10f610f610de10f610e710de10e710e710de10e710e710de10e710e710de10e710e710f510f510f510f510f510f210f510f210f210f510f210f210f510f210e710f510e710e710f510e710e710f510e710e710f510e710e710f510e710f610f510f610f610f210f210f210f210f210fb10f210fb10de10f210de10de10f210de10de10f210de10de10f210de10de10f210de10de10f210de10de10f210de10de10f210de10de10f210de10de10f210de10de10f210de10de10f210de10de10f210de10de10f210de10de10f210de10e710f210e710e710f210e710e710f210e710e710f210e710e710fb100011ec10fb10ec10ec10fb10ec10ec10fb10ec10ec10fb10ec10ec10fb10ec10ec10fb10ec10de10fb10de10de10fb10de10de10fb10de10de10fb10de10de10fb10de10de10fb10de10de10fb10de10de10fb10de10de10fb10de10de10fb10de10de10fb10de10de10fb10de10de10fb10de10de10fb10de10de10fb10f210f210fb10f210f210fb10f210f510fb10f510f510fb10f510f510fb10f51000110011f510f5100011f510f5100011f510f6100011f610f6100011f610ec100011ec10ec100011ec10ec100011ec10ec100011ec10ec100011ec10ec10de10de10de10de10de10de10de10de10de10de10de10de10de10de10de10de10de10de10de10de10de10de10de10de10de10de10de10de10de10de10de10de10de10de10de10de10de10de10ec10de10ec10ec10de10ec10ec10de10ec10ec10de10ec10ec10de10ec10ec10de10ec10f610de10f610f610de10f610e710de10e710e710de10e710e710de10e710e710de10e710e7100011f510f5100011f510f5100011f510f6100011f610f6100011f610ec100011ec10ec100011ec10ec100011ec10ec100011ec10ec100011ec10ec10f210f210f210f210f210fb10f210fb10de10f210de10de10f210de10de10f210de10de10f210de10de10f210de10de10f210de10de10f210de10de10f210de10de10f210de10de10f210de10de10f210de10de10f210de10de10f210de10de10f210de10de10f210de10e710f210e710e710f210e710e710f210e710e710f210e710e710fb10f210f210fb10f210f210fb10f210f510fb10f510f510fb10f510f510fb10f51000110a110a110a110a110a110a110a110a1110110a11101110110a11101110110a11101110110a1110111011191115111511191115111511191115111511151115111511151115111511151115110f1115110f110f11021103110311021103110311021103110311021103110211021102110a1102110a110a1102110a110a1102110a110a11061106110611061106110611061106110611061106110611061106110f1106110f110f11031103110311031103110311031103111811031118111811031103110311031103110311031103110211031102110211031102110a1103110a110a1103110a110a1103110a110a1103110a1110110311101110110311101110110311101110110311101118110311181118110a110a110a110a110a110a110a110a1106110a11061106110a11061106110a11061106110a11061106110a11061106110a1106110f110a110f110f110a110f1110110a11101110110a11101110110a11101110110a11101110110a1110111011191103110311191103110311191103110311191103111811191118111811191118111611191116111611191116111511191115111511191115111511191115111511191106110611191106110611191106110611191106110611191106110611191106110a1119110a110a1119110a110a1119110a110a1119110a1102111911021102111911021103111911031103111911031103111911031103110f110f1115110f11151115110f11151115110f11151115110f11151116110f11161116110f11161118110f11181118110f11181110110f11101110110f11101110110f11101110110f11101110110f1110111011061106110611061106110611061106110611061106110611061106111911061119111511061115111511061115111511061115111511061115110f1106110f110f11031103110311031103110311031103110211031102110211031102110a1103110a110a1103110a110a1103110a110a1103110a1110110311101110110311101110110311101110110311101118110311181118110f110f1115110f11151115110f11151115110f11151115110f11151116110f11161116110f11161118110f11181118110f11181110110f11101110110f11101110110f11101110110f11101110110f11101110110a110a110a110a110a110a110a110a1106110a11061106110a11061106110a11061106110a11061106110a11061106110a1106110f110a110f110f110a110f1110110a11101110110a11101110110a11101110110a11101110110a1110111011191106110611191106110611191106110611191106110611191106110611191106110a1119110a110a1119110a110a1119110a110a1119110a1102111911021102111911021103111911031103111911031103111911031103111911031103111911031103111911031103111911031118111911181118111911181116111911161116111911161115111911151115111911151115111911151115113a113a113e113a113e113e113a113e113e114611231123114611231123114611231123114611231123114611231123114611231123114611231123114611231123114611231123114611231123114611231123114611231123114611231123112311231123112311231123112311231123112311231123112311231123112311231123112311231123112311231123112311231147112311471147112311471147113d113a113a114311431147114311471147114311471147113d112c112c113d112c112c113d112c112c113d112c112c113d112c112c113d112c112c113d112c112c113d112c112c113d112c112c113d112c112c113d112c112c113d112c112c113d112c112c113d112c112c11231123112311231123112311231123112311231123112311231123112311231123112311231123112311231123112311231123112c1123112c112c1123112c112c1123112c112c1123112c112c1123112c112c1123112c112c1123112c112c1123112c112c1123112c112c1123112c112c1123112c113e1123113e113e1123113e1147112311471147112311471147113d113a113a113d113a113e113d113e113e113d113e113e113d113e112c113d112c112c113d112c112c113d112c112c113d112c112c113d112c112c113d112c112c113d112c112c113d112c112c113d112c112c113d112c112c113d112c112c113d112c112c113d112c112c113d112c112c114311431146114311461123114311231123114311231123114311231123114311231123114311231123114311231123114311231123114311231123114311231123114311231123114311231123114311231123114311231123114311231147114311471147114311471147113d11461143113d11431143113d1143113a113d113a113a1146113d112c1146112c112c1146112c112c1146112c112c1146112c112c1146112c112c1146112c112c1146112c112c1146112c112c1146112c112c1146112c112c1146112c112c1146112c112c1146112c112c1146112c112c1146112c1123114611231123114611231123114611231123114611231123114611231123114611231123114611231123114611231123114611231123114611231123114611231123114611231123114611231123113a113a1143113a11431143113a11431147113a11471147113a11471147113a1147113e113a113e113e113a113e113e11231123112311231123112311231123112311231123112311231123112311231123112311231123112311231123112311231123112c1123112c112c1123112c112c1123112c112c1123112c112c1123112c112c1123112c112c1123112c112c1123112c112c1123112c112c1123112c112c1123112c113e1123113e113e1123113e113e1123113e11471123114711471123114711471146113d112c1146112c112c1146112c112c1146112c112c1146112c112c1146112c112c1146112c112c1146112c112c1146112c112c1146112c112c1146112c112c1146112c112c1146112c112c1146112c112c1146112c112c1146112c1123114611231123114611231123114611231123114611231123114611231123114611231123114611231123114611231123114611231123114611231123114611231123114611231123114611231123113a113a1143113a11431143113a11431147113a11471147113a11471147113a1147113e113a113e113e113a113e113e113d11461143113d11431143113d1143113a113d113a113a114c114c114c114c114c114c114c114c114c114c114c114c114c114c114d114c114d114d114c114d114d114c114d114d114c114d114d114c114d114d114c114d114d114c114d114d11851154115411851154115411851154115411851154115411851154115411851154115411851154115411851154115411851154115411851154115411851154115411851154115411851154115411851154115411851154115411851154115411851154115411851154115411621154115411621154115411621154115411621154115411621154115411621154115411621154115411621154115411621154115411621154115411621154115411621154115411621154115411621154115411621154115411621154115411621154115411621154115411621154116211621162115e1162115e115e1162115e115e1162115e115e1162115e115e11651165116511651165116711651167114c1165114c114c1165114c114c1165114c114c1165114c114c1165114c114c117f117f115e117f115e115e117f115e115e117f115e115e117f115e115e116511651165116511651168116511681168116511681168116511681168116511681168116511681168116511681168116511681168116511681168116511681168116511681168116511681168116511681168116511681168116511681168116511681168116511681168115e115e115e115e115e115e115e115e115e115e115e1162115e11621162115e11621154115e11541154115e11541154115e11541154115e11541154115e11541154115e11541154115e11541154115e11541154115e11541154115e11541154115e11541154115e11541154115e11541154115e11541154115e11541154115e11541154115e11541154115e11541154115e11541168115e11681168115e11681168115e11681168115e11681168115e11681168115e11681168115e11681168115e11681168115e11681168115e11681168115e11681168115e11681168115e11681168115e11681168115e11681168115e1168114d115e114d114d115e114d114d115e114d114d115e114d114d115e114d114d115e114d114d114c114c114c114c114c114c114c114c114c114c114c114c114c114c117f114c117f117f114c117f115e114c115e115e114c115e115e114c115e115e114c115e115e114c115e114d114c114d114d114c114d114d114c114d114d114c114d114d114c114d114d114c114d114d114c114d114d11851165116511851165116511851165116811851168116811851168116811851168116811851168116811851168116811851168116811851168116811851168116811851168116811851168116811851168116811851168116811851168116811851168116811851168116811851168116811851168115411851154115411851154115411851154115411851154115411851154115411851154115411851154115411851154115411851154115411851154115411851154115411851154115411851154115411851154115411851154115411851154115411851154115411851154115411651165116511651165118511651185117f1165117f117f1165117f114c1165114c114c1165114c114c1165114c114c1165114c114c1165114c114c1165114c1167117f117f1185117f11851154117f11541154117f11541154117f11541154117f11541154117f11541154117f11541154117f11541154117f11541154117f11541154117f11541154117f11541154117f11541154117f11541154117f11541154117f11541154117f11541154117f11541154117f11541154117f11541162117f11621162117f1162115e117f115e115e117f115e115e117f115e115e117f115e115e11651165116511651165116711651167114c1165114c114c1165114c114c1165114c114c1165114c114c1165114c114c1165114c114d1165114d114d1165114d114d1165114d114d1165114d114d1165114d114d1165114d114d1165114d114d1165114d1168116511681168116511681168116511681168116511681168116511681168116511681168116511681168116511681168116511681168116511681168116511681168116511681168116511681168116511681168116511681168116511681168115e115e115e115e115e115e115e115e115e115e115e1162115e11621162115e11621154115e11541154115e11541154115e11541154115e11541154115e11541154115e11541154115e11541154115e11541154115e11541154115e11541154115e11541154115e11541154115e11541154115e11541154115e11541154115e11541154115e11541154115e11541154115e11541168115e11681168115e11681168115e11681168115e11681168115e11681168115e11681168115e11681168115e11681168115e11681168115e11681168115e11681168115e11681168115e11681168115e11681168115e11681168115e1168114d115e114d114d115e114d114d115e114d114d115e114d114d115e114d114d115e114d114d11651165116511651165116711651167114c1165114c114c1165114c114c1165114c114c1165114c114c1165114c114c1165114c114d1165114d114d1165114d114d1165114d114d1165114d114d1165114d114d1165114d114d1165114d114d1165114d1168116511681168116511681168116511681168116511681168116511681168116511681168116511681168116511681168116511681168116511681168116511681168116511681168116511681168116511681168116511681168116511681168117f117f1185117f11851154117f11541154117f11541154117f11541154117f11541154117f11541154117f11541154117f11541154117f11541154117f11541154117f11541154117f11541154117f11541154117f11541154117f11541154117f11541154117f11541154117f11541154117f11541154117f11541162117f11621162117f1162115e117f115e115e117f115e115e117f115e115e117f115e115e11651165116511651165118511651185117f1165117f117f1165117f114c1165114c114c1165114c114c1165114c114c1165114c114c1165114c114c1165114c1167118c118c118c118c118c118c118c118c118c118c118c118c118c118c118c118c118c118c118c118c118c118c118c118c118c118c118c118c118c118c118c118c118c118c118c118c118c118c118c118c118c118c118c118c118c118c118c118c118c118c118c118c118c118c118c118c118c118c118c118c118c118c118c118c118c118c118c118c118c118c118c118c118c118c118c118c118c118c11ac11ac11ac11ac11ac11ac11ac11ac11ac11ac11ac11ac11ac11ac11ac11c611c611c611c611c611cf11c611cf11cf11d1119a119a11d1119a119a11d1119a119a11d1119a119a11d1119a119a11d1119a119a119a119a119a119a119a119a119a119a119a119a119a119a119a119a119a119a119a11d1119a11d111d6119a11d6119f119a119f119f119a119f119f119a119f119f119a119f119f119a119f119f119a119f119f119a119f119f119a119f119f119a119f119f119a119f119f119a119f119f11b511b511b511b511b511b511b511b511b511b511b511b511b511b511d411b511d411d411b511d4118c11b5118c118c11b5118c118c11b5118c118c11b5118c118c11b5118c118c11b5118c118c11b5118c118c11b5118c118c11b5118c118c11b5118c118c11b5118c118c11b5118c118c11b5118c118c11b5118c118c11b5118c118c11b5118c118c11b5118c118c11b5118c118c11b5118c118c11b5118c118c11b5118c118c11b5118c118c11b5118c118c11b5118c118c11b5118c118c11b5118c118c11b5118c118c11ac11ac11ac11ac11ac11ac11ac11ac11ac11ac11ac11ac11ac11ac11ac11ac11ac11d311b011b011b011b011b011b011b011b011b011b011b011b011b011b011b011b011b0119a11b0119a119a11b0119a119a11b0119a119a11b0119a119a11b0119a119a11b0119a119f11b0119f119f11b0119f119f11b0119f119f11b0119f119f11b0119f119f11b0119f119f11b0119f119f11b0119f119f11b0119f119f11b0119f119f11b0119f119f11b0119f11b511b011b511b511b011b511b511b011b511b511b011b511b511b011b511b511b011b5118c11b0118c118c11b0118c118c11b0118c118c11b0118c118c11b0118c118c11b0118c118c11b0118c118c11b0118c118c11b0118c118c11b0118c118c11b0118c118c11b0118c118c11b0118c118c11b0118c118c11b0118c118c11b0118c118c11b0118c118c11b0118c118c11b0118c118c11b0118c118c11b0118c118c11b0118c118c11b0118c118c11b0118c118c11b0118c118c11b0118c118c11b0118c118c11b011b011b011b011b011b011b011b011b011b011b011b011b011b011b011b011b0118c11b0118c118c11b0118c118c11b0118c118c11b0118c118c11b0118c118c11b0118c118c11b0118c118c11b0118c118c11b0118c118c11b0118c118c11b0118c118c11b0118c118c11b0118c118c11b0118c118c11b0118c118c11b0118c118c11b0118c118c11b0118c118c11b0118c118c11b0118c118c11b0118c118c11b0118c118c11b0118c118c11b0118c118c11b0118c118c11b0118c118c11b0118c118c11ac11ac11ac11ac11ac11ac11ac11ac11ac11ac11ac11ac11ac11ac11ac11ac11ac11c611ac11c611c611ac11c611c6119f119f119f119f119f119f119f119f119f119f119f119f119f119f119f119f119f119f119f119f119f119f119f119f119f119f119f119f119f119f119f119f11b5119f11b511b5119f11b511b5119f11b511b5119f11b511b5119f11b511b511ac11ac11ac11ac11ac11ac11ac11ac11ac11ac11ac11ac11ac11ac11ac11ac11ac11cd11ac11cd11cd11ac11cd11cf11ac11cf11cf11ac11cf11c611ac11c611c611ac11c611c611d311d1119a11d3119a119a11d3119a119a11d3119a119a11d3119a119a11d3119a119a11d3119a119a11d3119a11b011d311b011b011d311b011b011d311b011b011d311b011b011d311b011b011d311b011b011d311b011d211cf11cf11d411cf11d411d4119a119a119a119a119a119a119a119a119a119a119a119a119a119a119a119a119a11d1119a11d111d6119a11d6119f119a119f119f119a119f119f119a119f119f119a119f119f119a119f119f119a119f119f119a119f119f119a119f119f119a119f119f119a119f119f119a119f119f118c118c118c118c118c118c118c118c118c118c118c118c118c118c118c118c118c118c118c118c118c118c118c118c118c118c118c118c118c118c118c118c118c118c118c118c118c118c118c118c118c118c118c118c118c118c118c118c118c118c118c118c118c118c118c118c118c118c118c118c118c118c118c118c118c118c118c118c118c118c118c118c118c118c118c118c118c118c11b511b511b511b511b511b511b511b511b511b511b511b511b511b511da11b511da11db11b511db11d411b511d411d411b511d4118c11b5118c118c11b5118c118c11b5118c118c11b5118c118c11b5118c118c11b5118c118c11b5118c118c11b5118c118c11b5118c118c11b5118c118c11b5118c118c11b5118c118c11b5118c118c11b5118c118c11b5118c118c11b5118c118c11b5118c118c11b5118c118c11b5118c118c11b5118c118c11b5118c118c11b5118c118c11b5118c118c11b5118c118c11b5118c118c11b5118c118c11b5118c118c11ac11ac11ac11ac11ac11ac11ac11ac11ac11ac11ac11ac11ac11ac11ac11ac11ac11d311ac11d311d211ac11d211cd11ac11cd11cd11cd11cd11d211cd11d211b011cd11b011b011cd11b011b011cd11b011b011cd11b011b011cd11b011b011cd11b011b011cd11b0118c11cd118c118c11cd118c118c11cd118c118c11cd118c118c11cd118c118c11cd118c118c11cd118c118c11cd118c118c11cd118c118c11cd118c118c11cd118c118c11cd118c118c11cd118c118c11cd118c118c11cd118c118c11cd118c118c11cd118c118c11cd118c118c11cd118c118c11cd118c118c11cd118c118c11cd118c118c11cd118c118c11cd118c118c11cd118c118c11cd118c118c11cd118c118c11cd118c11d411cd11d411d411cd11d411cf11cd11cf11cf119f119f119f119f119f119f119f119f119f119f119f119f119f119f119f119f119f119f119f119f119f119f119f119f119f119f119f119f119f119f119f119f11b5119f11b511b5119f11b511b5119f11b511b5119f11b511b5119f11b511b5119f119f119f119f119f119f119f119f119f119f119f119f119f119f119f119f119f119f119f119f119f119f119f119f119f119f119f119f119f119f119f119f11d6119f11d611da119f11da11b5119f11b511b5119f11b511b5119f11b511b5119f11b511b5119f11b511b511d2119a119a11d2119a119a11d2119a119a11d2119a119a11d2119a119a11d2119a119a11d2119a11b011d211b011b011d211b011b011d211b011b011d211b011b011d211b011b011d211b011b011db11c611c611db11c611c611db11c611cf11db11cf11cf11db11cf11d411db11d411d4118c118c118c118c118c118c118c118c118c118c118c118c118c118c118c118c118c118c118c118c118c118c118c118c118c118c118c118c118c118c118c118c118c118c118c118c118c118c118c118c118c118c118c118c118c118c118c118c118c118c118c118c118c118c118c118c118c118c118c118c118c118c118c118c118c118c118c118c118c118c118c118c118c118c118c118c118c118c11ac11ac11ac11ac11ac11ac11ac11ac11ac11ac11ac11ac11ac11ac11ac11ac11ac11cd11ac11cd11cd11ac11cd11cf11ac11cf11cf11ac11cf11c611ac11c611c611ac11c611c611d111d311ac11d111ac11ac11d111ac11ac11d111ac11ac11d111ac11ac11d111ac11ac11d111ac11ac11d111ac11c611d111c611c611d111c611c611d111c611db11d111db11da11d111da11d611de11de110c12df110312df11df11df11df11df11df11df11df11df11df11df11df11df11df11df11df11df11df11df11df11df11df11df11df11df11df11df11df11df11df11df11df11df11df11df11df11df11df11df11df11df11df11df110a120a120a120a120a120a120a120a121312e811e811e811e811e811e811e811e811e811e811e811e811e811e811e811e811e811e811e811e811e811e811e811e811e811e811e811e811e811e811e811e811e811e811e811e811e811e811e811e811e811e811e811e8110212f311f311f311f311f311f911f311f9111012f3111012f511f311f511f511f311f511e811f311e811e811f311e811e811f311e811e811f311e811e811f311e811e811f311e811e811f311e811e811f311e811e811f311e811e811f311e811e811f311e811e811f311e811e811f311e811e811f311e811e811f311e811e811df11df11df11df11df11df11df11df11df11df11df11df11df11df11df11df11df11df11df11df11df11df11df11df11df11df11df11df11df11df11df11df11df11df11df11df11df11df11df11df11df11fb11df11fb11fb11df11fb11fb110312f311f3110312f311f3110312f311e8110312e811e8110312e811e8110312e811e8110312e811e8110312e811e8110312e811e8110312e811e8110312e811e8110312e811e8110312e811e8110312e811e8110312e811e8110312e811e8110312e811e8110312e811e8110312e811021203120212fb110312fb11fb110312fb11fb110312fb11df110312df11df110312df11df110312df11df110312df11df110312df11df110312df11df110312df11df110312df11df110312df11df110312df11df110312df11df110312df11df110312df11df110312df11df110312df11df110a120a120a120a120a120a120a120a120a12de11de110f12de110f120e12de110e120c12e811e811e811e811e811e811e811e811e811e811e811e811e811e811e811e811e811e811e811e811e811e811e811e811e811e811e811e811e811e811e811e811e811e811e811e811e811e811e811e811e811e811e811e811f511e811f511f511e811f5111012e8111012de11e811de11de11e811de110c12e8110c121112e811111202120a120a120a120a120a120a120a120a1203120a120312df110a12df11df110a12df11df110a12df11df110a12df11df110a12df11df110a12df11df110a12df11df110a12df11df110a12df11df110a12df11df110a12df11df110a12df11df110a12df11df110a12df11df110a12df11df110a12df11131217120a120a1217120a120a1217120a120a1217120a120a1217120a121312171213121612e811e811e811e811e811e811e811e811e811e811e811e811e811e811e811e811e811e811e811e811e811e811e811e811e811e811e811e811e811e811e811e811e811e811e811e811e811e811e811e811e811e811e811e811f511e811f511f511e811f5111012e8111012de11e811de11de11e811de110c12e8110c121112e81111120212f311f311f311f311f311f911f311f911e811f311e811e811f311e811e811f311e811e811f311e811e811f311e811e811f311e811e811f311e811e811f311e811e811f311e811e811f311e811e811f311e811e811f311e811e811f311e811e811f311e811e811f311e811e811fb11fb11fb11fb11fb110212fb1102121112fb1111120c12df11df11df11df11df11df11df11df11df11df11df11df11df11df11df11df11df11df11df11df11df11df11df11df11df11df11df11df11df11df11df11df11df11df11df11df11df11df11df11df11df11fb11df11fb11fb11df11fb11fb11f911f311f311f911f311f311f911f3110312f91103120a12f9110a120a12f9110a120a12f9110a120a12f9110a120a120f12171216120f1216120e120a120a120a120a120a120a120a120a1203120a120312df110a12df11df110a12df11df110a12df11df110a12df11df110a12df11df110a12df11df110a12df11df110a12df11df110a12df11df110a12df11df110a12df11df110a12df11df110a12df11df110a12df11df110a12df11df110a12df111312df11df11df11df11df11df11df11df11df11df11df11df11df11df11df11df11df11df11df11df11df11df11df11df11df11df11df11df11df11df11df11df11df11df11df11df11df11df11df11df11df11fb11df11fb11fb11df11fb11fb11df11fb111112df1111120c12df110c120e12df110e121612df11161213121012f511f5111012f511f9111012f911f3111012f311f3111012f311f3111012f3110a1210120a120a1210120a120a1210120a120a1210120a120a1210120a121712101217120f1210120f12de111012de11de11 + m_VertexData: + serializedVersion: 3 + m_VertexCount: 4632 + m_Channels: + - stream: 0 + offset: 0 + format: 0 + dimension: 3 + - stream: 0 + offset: 12 + format: 0 + dimension: 3 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + m_DataSize: 111168 + _typelessdata: acb732c4cd953242883173c376d3803eb835743ff842273eacb732c4cc953242863173c3000000000000000000000000a3b732c4cd953242813173c3000000000000000000000000bbb732c4cd953242913173c3000000000000000000000000adb732c4cd953242883173c3000000000000000000000000bcb732c4cd953242923173c3000000000000000000000000aeb732c4cd953242893173c3000000000000000000000000bbb732c4cd953242923173c3000000000000000000000000aeb732c4cd953242883173c3000000000000000000000000aeb732c4cd953242533173c3000000000000000000000000adb732c4cd953242893173c3000000000000000000000000aab732c4cd953242903173c3000000000000000000000000aeb732c4cd9532426e3173c3000000000000000000000000abb732c4cd953242923173c3000000000000000000000000aeb732c4cd953242593173c3000000000000000000000000abb732c4cd953242913173c3000000000000000000000000acb732c4ce953242893173c3000000000000000000000000acb732c4cd953242913173c3000000000000000000000000acb732c4cd953242933173c3000000000000000000000000afb732c4cd953242563173c3000000000000000000000000acb732c4cd953242923173c3000000000000000000000000b5b732c4cd953242913173c3000000000000000000000000adb732c4cd9532428a3173c3000000000000000000000000b7b732c4cd953242923173c3000000000000000000000000adb732c4cd9532428b3173c3000000000000000000000000b6b732c4cd953242913173c3000000000000000000000000aeb732c4cd9532428b3173c3000000000000000000000000adb732c4cc953242923173c3000000000000000000000000adb732c4cd953242913173c3000000000000000000000000afb732c4cd9532428f3173c3000000000000000000000000aeb732c4cd953242933173c3000000000000000000000000aeb732c4cd953242923173c3000000000000000000000000aeb732c4cd953242933173c3000000000000000000000000afb732c4cd953242933173c3000000000000000000000000aeb732c4cd953242923173c3000000000000000000000000aeb732c4cd953242923173c3000000000000000000000000a3c632c4dfbe3042d87f73c3e901aebe576ead3db6c86fbfa5c632c4e9be3042d87f73c3000000000000000000000000acc632c417be3042d97f73c3000000000000000000000000a2c632c413bf3042d87f73c3000000000000000000000000a5c632c4e7be3042d97f73c300000000000000000000000099c632c408c03042d87f73c3000000000000000000000000a4c632c4e7be3042d87f73c3000000000000000000000000a4c632c419bf3042d77f73c3000000000000000000000000a3c632c4b2bd3042d87f73c3000000000000000000000000a3c632c44fc03042d87f73c3000000000000000000000000aac632c403bf3042d77f73c3000000000000000000000000abc632c40fbf3042d87f73c3000000000000000000000000a4c632c4e3be3042d87f73c3000000000000000000000000a7c632c40fbf3042d87f73c3000000000000000000000000a4c632c482c03042d87f73c3000000000000000000000000a5c632c413bf3042d87f73c3000000000000000000000000a4c632c439c03042d87f73c3000000000000000000000000a3b232c4a55f294245d172c3198b0a3f05744dbecf0d513fabb732c4d0953242873173c30000000000000000000000009ecd32c4acd230425ff972c38a425abf1915fe3d0af6013f9ccd32c4fbd2304265f972c3000000000000000000000000abb732c4d4953242893173c3000000000000000000000000b7b732c40e953242703173c3000000000000000000000000adb732c4ad953242833173c3000000000000000000000000aab732c4f79532428b3173c3000000000000000000000000a0cd32c4c0d230425bf972c3000000000000000000000000adb732c4b2953242803173c30000000000000000000000009fcd32c4a7d230425df972c3000000000000000000000000acb732c4d5953242883173c3000000000000000000000000b1b732c4aa963242ad3173c3000000000000000000000000aeb732c4ed9532428e3173c3000000000000000000000000acb732c4ef9532428d3173c3000000000000000000000000a1b732c4c89432425d3173c30000000000000000000000009ccd32c4fed2304267f972c30000000000000000000000009acd32c41fd430428ff972c30000000000000000000000009acd32c409d3304265f972c3000000000000000000000000a0cd32c412d130425df972c30000000000000000000000009fcd32c46ed2304264f972c3000000000000000000000000aacd32c40bd3304273f972c30000000000000000000000009ccd32c4fcd2304267f972c30000000000000000000000009ecd32c402d3304268f972c30000000000000000000000009ecd32c4ffd2304269f972c3000000000000000000000000bbb732c4e1953242953173c3000000000000000000000000afb732c4d6953242893173c3000000000000000000000000bbb732c4e1953242933173c3000000000000000000000000aeb732c4d5953242893173c3000000000000000000000000b6b732c4dc9532428f3173c3000000000000000000000000afb732c4d69532428a3173c3000000000000000000000000bab732c4e6953242973173c3000000000000000000000000b6b732c41d953242733173c3000000000000000000000000bbb732c4d0953242923173c3000000000000000000000000b5b732c494963242ac3173c3000000000000000000000000adb732c4d2953242883173c3000000000000000000000000aeb732c4e79532428d3173c3000000000000000000000000adb732c49b953242793173c3000000000000000000000000bbb732c4cd953242913173c30000000000000000000000009acd32c425d430428df972c3000000000000000000000000b6b732c475963242a33173c30000000000000000000000009ecd32c40dd4304292f972c3000000000000000000000000acb732c4ee9532428d3173c30000000000000000000000009dcd32c4f1d2304261f972c3000000000000000000000000aeb732c4d4953242873173c30000000000000000000000009ccd32c4f9d2304266f972c3000000000000000000000000b0b732c4e79532428e3173c30000000000000000000000009dcd32c4b3d230427cf972c3000000000000000000000000acb732c4d1953242893173c3000000000000000000000000abb732c4c5953242923173c3000000000000000000000000aeb732c4d3953242603173c3000000000000000000000000abb732c4c5953242923173c3000000000000000000000000afb732c4ca953242553173c3000000000000000000000000abb732c4c8953242943173c3000000000000000000000000b0b732c4d39532425b3173c30000000000000000000000009ccd32c4b6d2304266f972c3000000000000000000000000a3c632c407bf3042d57f73c3000000000000000000000000a4c632c4d3be3042d37f73c30000000000000000000000009ccd32c4b7d2304269f972c30000000000000000000000009ecd32c4ced2304252f972c3000000000000000000000000a3c632c4c9be3042da7f73c3000000000000000000000000a3c632c4edbe3042d67f73c30000000000000000000000009dcd32c49cd2304248f972c30000000000000000000000009ecd32c4b0d2304267f972c300000000000000000000000089cd32c42ed4304262f972c30000000000000000000000009ecd32c4b8d2304266f972c30000000000000000000000009dcd32c4bad2304268f972c3000000000000000000000000a2c632c404bf3042d27f73c3000000000000000000000000acb732c4b59532428c3173c3000000000000000000000000adb732c49f953242903173c3000000000000000000000000acb732c4b29532428e3173c3000000000000000000000000a8b732c4499632426c3173c3000000000000000000000000a4c632c4eabe3042db7f73c3000000000000000000000000adb732c4ae953242903173c3000000000000000000000000a4c632c4f9be3042d57f73c3000000000000000000000000a0c632c43cbf3042d37f73c3000000000000000000000000a5c632c4cfbe3042d47f73c3000000000000000000000000a7c632c4a0be3042d57f73c3000000000000000000000000adb732c49e953242883173c3000000000000000000000000aab732c4e7953242943173c3000000000000000000000000d3b732c47b913242db3073c3000000000000000000000000aab732c4d1953242913173c3000000000000000000000000acb732c4a69532428a3173c3000000000000000000000000adb732c4a09532428e3173c3000000000000000000000000aeb732c4c8953242643173c3000000000000000000000000acb732c48f953242983173c3000000000000000000000000abb732c482953242d93173c3000000000000000000000000acb732c4cb953242933173c30000000000000000000000009ccd32c4a9d2304267f972c3000000000000000000000000aeb732c49b9532428f3173c30000000000000000000000009dcd32c4a7d2304264f972c3000000000000000000000000a7b732c479963242783173c3000000000000000000000000a1cd32c4add2304237f972c3000000000000000000000000aeb732c4bf9532425a3173c30000000000000000000000009dcd32c404d3304241f972c3000000000000000000000000a4c632c4d3be3042e67f73c3000000000000000000000000adb732c49b9532429a3173c3000000000000000000000000a2c632c41ebf3042d57f73c3000000000000000000000000a5c632c4b9be3042d77f73c30000000000000000000000009dcd32c492d2304261f972c3000000000000000000000000abb732c4b09532428d3173c3000000000000000000000000b3b732c482963242743173c3000000000000000000000000aab732c4a39532428e3173c3000000000000000000000000adb732c4e2953242833173c3000000000000000000000000b2b732c4629632427a3173c3000000000000000000000000acb732c4e4953242943173c3000000000000000000000000adb732c4f3953242983173c3000000000000000000000000abb732c4ce953242903173c3000000000000000000000000a3b732c4dc9432426b3173c3000000000000000000000000aeb732c4cb953242653173c3000000000000000000000000b1b732c458963242773173c3000000000000000000000000a9b732c4c19532424d3173c3000000000000000000000000acb732c4fc953242973173c3000000000000000000000000abb732c4ce953242903173c3000000000000000000000000a4b732c4339432425b3173c3000000000000000000000000adb732c4e69532428e3173c3000000000000000000000000afb732c4bd953242493173c30000000000000000000000009dcd32c4aed2304266f972c30000000000000000000000009dcd32c4fad2304268f972c30000000000000000000000009ecd32c40fd2304266f972c3000000000000000000000000a4c632c401bf3042d37f73c3000000000000000000000000a5c632c4c6bf3042b37f73c3000000000000000000000000a1c632c49abd3042f47f73c3000000000000000000000000a3c632c4f5be3042d67f73c3000000000000000000000000a4c632c42cbf3042d47f73c3000000000000000000000000a5c632c4f3bd3042d47f73c30000000000000000000000009bcd32c418d3304272f972c30000000000000000000000009fcd32c485d2304247f972c30000000000000000000000009dcd32c4e3d2304253f972c3000000000000000000000000a3c632c41fbf3042d67f73c3000000000000000000000000a5c632c40bbc3042d57f73c30000000000000000000000009fcd32c40ed330424cf972c3000000000000000000000000c6ac32c44ee62f42f6db72c304b1f43e8149c93dcf755f3fa1b232c4a05f294270d172c3000000000000000000000000e2a532c46eba2f423d6273c33ec1783f366c253b1ce171bea8ab32c4d04b2942dc5773c33b7b2d3fa7ff1abe7c3938bf1cab32c45f91304245f172c338e46e3fe35da33e6774293ee3a532c498ba2f421d6273c3000000000000000000000000c5ac32c47fe62f42fedb72c3000000000000000000000000a0b232c49f5f294279d172c3000000000000000000000000a9ab32c4d64b2942c65773c30000000000000000000000009fcd32c4bed2304269f972c30000000000000000000000009dcd32c4b6d2304268f972c30000000000000000000000009ecd32c4aed2304267f972c3000000000000000000000000ceac32c480e62f42ffdb72c30000000000000000000000009ecd32c4f9d2304269f972c30000000000000000000000009dcd32c4e5d2304268f972c30000000000000000000000007dce32c4385c294286e872c3d35617bfe3a81bbea4c64a3f9ecd32c4b7d2304268f972c3000000000000000000000000abb232c49f5f294277d172c3000000000000000000000000b1ab32c418a93042426973c3e8e9c03ed9bebe3ec81b59bfacc632c408bf3042db7f73c3000000000000000000000000a6c632c401bf3042d67f73c3000000000000000000000000a8c632c400bf3042d67f73c3000000000000000000000000aeb732c4b49532428d3173c3000000000000000000000000b9b732c4e4953242973173c3000000000000000000000000afb732c4ba9532428e3173c3000000000000000000000000b5b732c4cd953242913173c3000000000000000000000000adb732c4b99532428e3173c3000000000000000000000000aeb732c4ae9532428d3173c3000000000000000000000000aeb732c4cb9532428a3173c3000000000000000000000000b1b732c44c9632427d3173c3000000000000000000000000abb732c4ad9532428f3173c3000000000000000000000000afb732c4b29532428f3173c3000000000000000000000000b4b732c4ca953242923173c3000000000000000000000000aeb732c4af9532428f3173c3000000000000000000000000c0b732c417943242d73173c3000000000000000000000000afb732c4c79532428b3173c3000000000000000000000000a8c632c4a3bf3042bb7f73c3000000000000000000000000b4b732c43a963242823173c3000000000000000000000000a9c632c422bf3042d57f73c3000000000000000000000000a5c632c401bf3042d67f73c3000000000000000000000000e3a532c497ba2f423e6273c3000000000000000000000000a3c632c422bf3042d57f73c3000000000000000000000000a4c632c420bf3042d67f73c300000000000000000000000082c732c417512942086f73c38a8f6abf906841be23e1b4be3cbe32c48b492942426773c3bdc9373eaff3c8be84ee66bfa9ab32c4cf4b2942de5773c3000000000000000000000000b0b732c4f2953242943173c3000000000000000000000000adb732c4cf9532428f3173c3000000000000000000000000aeb732c4d0953242913173c3000000000000000000000000a9b732c4b69532428f3173c3000000000000000000000000b0b732c4f7953242993173c3000000000000000000000000b0b732c4f2953242973173c3000000000000000000000000adb732c4cf953242913173c3000000000000000000000000aeb732c4c59532428f3173c3000000000000000000000000afb732c4d0953242923173c3000000000000000000000000aeb732c4d0953242943173c3000000000000000000000000aeb732c4cb953242923173c3000000000000000000000000abb732c48e953242853173c3000000000000000000000000aeb732c4ca953242903173c3000000000000000000000000abb732c4ac953242963173c3000000000000000000000000adb732c4c9953242923173c30000000000000000000000009ecd32c4fad230426ef972c3000000000000000000000000aeb732c4c4953242903173c30000000000000000000000009ecd32c4f7d230426df972c3000000000000000000000000afb732c4ce953242923173c30000000000000000000000009ccd32c42dd2304283f972c3000000000000000000000000afb732c4c5953242943173c30000000000000000000000009dcd32c4fdd2304277f972c3000000000000000000000000a4c632c41fbf3042d57f73c3000000000000000000000000cdcb32c493542942671c73c3070874bfc70c6ebe9fb445be7c7a32c4b1503042ec1476c33fa7773fac31693df3b57cbe7c7a32c462503042c31476c30000000000000000000000007c7a32c4b0503042fc1476c30000000000000000000000007c7a32c4ae503042ff1476c30000000000000000000000007c7a32c452503042cc1476c30000000000000000000000007c7a32c438503042fa1476c30000000000000000000000007b7a32c463503042001576c30000000000000000000000007c7a32c469503042f41476c30000000000000000000000007b7a32c404523042de1476c30000000000000000000000007c7a32c4e54c3042f51476c30000000000000000000000007c7a32c45d4c3042041576c30000000000000000000000007c7a32c476503042cf1476c30000000000000000000000007c7a32c4e3503042b31476c30000000000000000000000007c7a32c43c503042fc1476c30000000000000000000000007c7a32c4b4513042fe1476c30000000000000000000000007c7a32c461503042061576c30000000000000000000000007d7a32c4f8503042fa1476c3000000000000000000000000d58d32c4e73f3242e1e575c33e9e593dcf9b7f3f9dba79bcd38d32c4e73f3242e1e575c3000000000000000000000000d58d32c4e73f3242e2e575c3000000000000000000000000da8d32c4e73f3242e8e575c3000000000000000000000000d58d32c4e73f3242e3e575c3000000000000000000000000dd8d32c4e73f3242ebe575c3000000000000000000000000d58d32c4e73f3242e3e575c3000000000000000000000000d48d32c4e73f3242e3e575c3000000000000000000000000d58d32c4e73f3242e8e575c3000000000000000000000000d68d32c4e73f3242d1e575c3000000000000000000000000d58d32c4e73f3242ebe575c3000000000000000000000000d58d32c4e83f3242d0e575c3000000000000000000000000d28d32c4e73f3242e0e575c3000000000000000000000000d38d32c4e73f3242e7e575c3000000000000000000000000d58d32c4e73f3242bde575c3000000000000000000000000d28d32c4e73f3242e9e575c3000000000000000000000000d58d32c4e73f3242bbe575c3000000000000000000000000d98d32c4e73f3242e8e575c3000000000000000000000000d58d32c4e73f3242e4e575c3000000000000000000000000dc8d32c4e63f3242eae575c3000000000000000000000000d58d32c4e73f3242e3e575c3000000000000000000000000d58d32c4e73f3242e7e575c3000000000000000000000000d68d32c4e73f3242e8e575c3000000000000000000000000d58d32c4e73f3242ebe575c3000000000000000000000000d58d32c4e73f3242ebe575c3000000000000000000000000a69b32c47b6a30420f3876c38c4a8cbec31bcb3dcae374bfa29b32c4c26a30420f3876c3000000000000000000000000ab9b32c4036a30420f3876c3000000000000000000000000a49b32c4c26a30420f3876c3000000000000000000000000a69b32c47f6a3042103876c3000000000000000000000000a39b32c4606a30420f3876c3000000000000000000000000ab9b32c49c6a30420f3876c3000000000000000000000000ad9b32c4b86a30420f3876c3000000000000000000000000a79b32c4786a30420f3876c3000000000000000000000000a29b32c4be6a30420f3876c3000000000000000000000000a69b32c44b6730420f3876c3000000000000000000000000a19b32c44c6c30420f3876c3000000000000000000000000ab9b32c4bd6a30420f3876c3000000000000000000000000a69b32c4b76a3042103876c3000000000000000000000000a59b32c4ed6b30420f3876c3000000000000000000000000868932c455062942f18875c359ca483f616713be82781a3fd48d32c4ff3f3242e6e575c3000000000000000000000000d48d32c4e53f3242e1e575c30000000000000000000000005ca432c44f7a304238b375c34dfe75bf77e1043ef56d7a3e5ea432c4497a304238b375c3000000000000000000000000d88d32c4943f3242dae575c3000000000000000000000000d38d32c404403242e7e575c300000000000000000000000060a432c40d7a304235b375c3000000000000000000000000d58d32c4e23f3242e3e575c300000000000000000000000061a432c4227a304232b375c3000000000000000000000000d48d32c4e73f3242e1e575c3000000000000000000000000348332c4ec5f3042249075c313ad8f3e22d4f13decd8733f348332c4e65f3042289075c3000000000000000000000000d48d32c404403242e7e575c3000000000000000000000000d38d32c400403242e6e575c3000000000000000000000000358332c45c603042389075c3000000000000000000000000d28d32c4483f3242cde575c3000000000000000000000000358332c4fc5f30422b9075c3000000000000000000000000db8d32c4eb3f3242e9e575c3000000000000000000000000d68d32c4e83f3242e3e575c3000000000000000000000000dc8d32c4ec3f3242eae575c3000000000000000000000000d58d32c4e63f3242e3e575c30000000000000000000000005ea432c4487a304236b375c30000000000000000000000005ea432c4847a30423db375c300000000000000000000000063a432c44a783042fdb275c3000000000000000000000000338332c4e65f3042289075c3000000000000000000000000348332c4cb5e3042019075c3000000000000000000000000338332c4006030422b9075c30000000000000000000000003b8332c4ea5f3042319075c300000000000000000000000060a432c4487a30423ab375c300000000000000000000000060a432c4497a30423ab375c3000000000000000000000000378332c4eb5f30422c9075c300000000000000000000000061a432c44c7a30423cb375c3000000000000000000000000368332c4e95f30422c9075c3000000000000000000000000da8d32c4943f3242dbe575c3000000000000000000000000da8d32c4ec3f3242e9e575c3000000000000000000000000398332c4615f3042119075c3000000000000000000000000398332c4cf5f30422a9075c3000000000000000000000000d48d32c404403242e8e575c300000000000000000000000060a432c43a7a304239b375c3000000000000000000000000d58d32c4e93f3242e3e575c300000000000000000000000062a432c41c7a304237b375c3000000000000000000000000d68d32c4fa3f3242e7e575c300000000000000000000000063a432c4377930422cb375c3000000000000000000000000378332c4ee5f30422a9075c3000000000000000000000000d48d32c4fc3f3242e0e575c3000000000000000000000000d48d32c4ff3f3242eae575c3000000000000000000000000d48d32c404403242e2e575c3000000000000000000000000d58d32c407403242e8e575c3000000000000000000000000d78d32c408403242c7e575c3000000000000000000000000a29b32c4bf6a3042fd3776c3000000000000000000000000a69b32c4966a3042083876c3000000000000000000000000d58d32c4d93f3242e4e575c3000000000000000000000000d38d32c422403242e2e575c3000000000000000000000000a59b32c45e6a30420c3876c3000000000000000000000000d48d32c4d43f3242e4e575c3000000000000000000000000a79b32c4826a30420f3876c30000000000000000000000005ea432c4717a304237b375c3000000000000000000000000a29b32c4e66a3042083876c30000000000000000000000005fa432c47b7a304220b375c3000000000000000000000000a49b32c4d46a30420c3876c3000000000000000000000000a29b32c4b66a30420e3876c300000000000000000000000061a432c45f7a3042fdb275c30000000000000000000000005ca432c4b17a304235b375c300000000000000000000000060a432c41a7a30423ab375c300000000000000000000000062a432c4f17930423cb375c3000000000000000000000000a49b32c4e56a3042073876c3000000000000000000000000a69b32c4846a30420a3876c3000000000000000000000000a99b32c4436a30420f3876c3000000000000000000000000e48d32c4853f3242aee575c3000000000000000000000000d58d32c4f13f3242e8e575c3000000000000000000000000d58d32c4dc3f3242e9e575c3000000000000000000000000d28d32c427403242dee575c300000000000000000000000063a432c4317a304227b375c3000000000000000000000000d48d32c4e63f3242e0e575c300000000000000000000000062a432c43e7a30421fb375c3000000000000000000000000a69b32c4846a3042173876c3000000000000000000000000d58d32c4d23f3242efe575c3000000000000000000000000a39b32c4c46a30420e3876c3000000000000000000000000a79b32c45e6a30420f3876c300000000000000000000000062a432c4217a304225b375c30000000000000000000000007a7a32c47a503042f51476c3000000000000000000000000787a32c433503042f71476c3000000000000000000000000d18d32c4cd3f3242e3e575c3000000000000000000000000d48d32c4fd3f3242dde575c3000000000000000000000000d98d32c468403242d8e575c30000000000000000000000007d7a32c4e2503042e81476c30000000000000000000000007d7a32c4a0503042ed1476c3000000000000000000000000328332c4d25f3042269075c30000000000000000000000007a7a32c448503042f91476c3000000000000000000000000328332c4de5f3042359075c30000000000000000000000007c7a32c45c503042cc1476c3000000000000000000000000338332c4cc5f30422a9075c30000000000000000000000007d7a32c44a503042c31476c3000000000000000000000000328332c4b75f3042259075c3000000000000000000000000368332c4476030422c9075c3000000000000000000000000378332c43d6030422c9075c30000000000000000000000007d7a32c4bb503042fe1476c3000000000000000000000000707a32c4a04e3042e81476c30000000000000000000000007c7a32c4a7503042fd1476c3000000000000000000000000d48d32c412403242f1e575c3000000000000000000000000d38d32c4f13f3242e9e575c3000000000000000000000000358332c44d603042479075c3000000000000000000000000d08d32c4563f3242cde575c3000000000000000000000000338332c4d05f30422a9075c3000000000000000000000000d48d32c401403242e6e575c3000000000000000000000000d58d32c4e93f3242aae575c3000000000000000000000000817a32c4cd503042b81476c3000000000000000000000000368332c45b6030422b9075c30000000000000000000000007d7a32c4ca503042fe1476c30000000000000000000000007c7a32c491503042ca1476c3000000000000000000000000a39b32c4956a3042073876c3000000000000000000000000a69b32c4026c3042de3776c3000000000000000000000000a39b32c46f6a30420e3876c3000000000000000000000000797a32c434503042f81476c3000000000000000000000000797a32c427503042fc1476c30000000000000000000000007c7a32c4c8513042c41476c3000000000000000000000000ae9b32c49f6a3042133876c3000000000000000000000000a69b32c49a6a30420a3876c30000000000000000000000007d7a32c436503042fb1476c30000000000000000000000007b7a32c434503042f91476c3000000000000000000000000aa9b32c49d6a30420e3876c30000000000000000000000007e7a32c439503042fc1476c3000000000000000000000000d68d32c4dc3f3242e5e575c3000000000000000000000000db8d32c4f13f3242eae575c3000000000000000000000000d58d32c4d93f3242e5e575c3000000000000000000000000e48d32c4e53e324215e675c3000000000000000000000000d58d32c4ed3f3242e2e575c3000000000000000000000000a69b32c4936b3042f23776c3000000000000000000000000d98d32c44a403242dce575c3000000000000000000000000ae9b32c4c16a3042103876c3000000000000000000000000a69b32c4896a30420c3876c30000000000000000000000007d7a32c457503042f51476c30000000000000000000000007c7a32c4bd503042f21476c30000000000000000000000007d7a32c46c503042f51476c30000000000000000000000005ea432c4697a304236b375c300000000000000000000000060a432c46278304230b375c3000000000000000000000000a49b32c4e46a3042083876c3000000000000000000000000a69b32c478673042013876c300000000000000000000000062a432c4097a304206b375c3000000000000000000000000a39b32c4c46a30420e3876c3000000000000000000000000a69b32c466653042093876c300000000000000000000000063a432c4dc77304209b375c3000000000000000000000000348332c4b65f3042279075c3000000000000000000000000388332c4d45b3042229075c3000000000000000000000000848932c452062942088975c30000000000000000000000007d7a32c4e94a3042f31476c30000000000000000000000007a7a32c413503042f81476c3000000000000000000000000ca8032c4c5f62842d70d76c31979293fd58b8abe34ee32bf338332c4cf5f3042299075c3000000000000000000000000368332c41b5b3042279075c3000000000000000000000000817a32c4ed4b3042ba1476c30000000000000000000000007e7a32c473503042bc1476c3000000000000000000000000838932c4520629420d8975c3000000000000000000000000cd8032c4cbf62842a60d76c3000000000000000000000000388332c4d05f30422c9075c3000000000000000000000000368332c4d05f30422a9075c300000000000000000000000060a432c4387a304238b375c300000000000000000000000063a432c4177a30423cb375c30000000000000000000000003da532c4e802294224a675c30df507bfd4902dbe9387543f398332c4e75e30422b9075c3000000000000000000000000898932c4500629420c8975c3000000000000000000000000a79b32c4d66a30420b3876c3000000000000000000000000ab9b32c4c46a30420f3876c3000000000000000000000000829c32c4daf62842fd2a76c3175b33bfdf5297bd89af35bf7c7a32c472503042fc1476c30000000000000000000000007b7a32c479513042fd1476c30000000000000000000000007c7a32c47c503042fc1476c3000000000000000000000000ce8032c4c6f62842dc0d76c3000000000000000000000000b69832c4d4f32842fa2676c3000000000000000000000000d58d32c4f33f3242e9e575c3000000000000000000000000d58d32c4de3f3242eae575c3000000000000000000000000d68d32c4f13f3242eae575c3000000000000000000000000388332c4d05f30422a9075c3000000000000000000000000d68d32c4e33f3242ede575c300000000000000000000000061a432c4307a304220b375c3000000000000000000000000a79b32c4c16a30420e3876c30000000000000000000000000da032c4acf928421df575c3e11271bfce1d6fbeb60f78be7d7a32c468503042f11476c30000000000000000000000003b7132c46d9f2842ba0c76c3c78155beee7779bf8d28aabd377132c4629f2842ba0c76c3000000000000000000000000387132c4669f2842ba0c76c3000000000000000000000000357132c45e9f2842b90c76c3000000000000000000000000367132c4609f2842ba0c76c3000000000000000000000000397132c41fa22842b90c76c30000000000000000000000003b7132c46a9f2842ba0c76c30000000000000000000000003e7132c45e9f2842ba0c76c3000000000000000000000000367132c4eda32842ba0c76c3000000000000000000000000397132c4cc9e2842ba0c76c3000000000000000000000000367132c45f9f2842ba0c76c3000000000000000000000000387132c45f9f2842ba0c76c3000000000000000000000000367132c4bd9f2842ba0c76c3000000000000000000000000397132c4659f2842ba0c76c3000000000000000000000000387132c45e9f2842ba0c76c3000000000000000000000000377132c45e9f2842ba0c76c3000000000000000000000000367132c45d9f2842ba0c76c3000000000000000000000000367132c45e9f2842ba0c76c3000000000000000000000000377132c4619f2842b40c76c3000000000000000000000000367132c45f9f2842b30c76c3000000000000000000000000377132c4609f2842b50c76c3000000000000000000000000367132c4629f2842b80c76c30000000000000000000000003b7132c46c9f2842780c76c3000000000000000000000000357132c4609f2842b70c76c3000000000000000000000000357132c4629f2842b80c76c3000000000000000000000000397132c4649f28426c0c76c30000000000000000000000003a7132c4659f2842630c76c30000000000000000000000002f7132c494a028428e0b76c3000000000000000000000000347132c4f7a12842b40c76c3000000000000000000000000377132c45d9f2842b50c76c3000000000000000000000000387132c45f9f2842b60c76c3000000000000000000000000367132c4629f2842b50c76c3000000000000000000000000ea6f32c4769f28425a0b76c3000000000000000000000000367132c47ba22842b70c76c3000000000000000000000000387132c45f9f2842b50c76c3000000000000000000000000367132c45e9f2842b50c76c3000000000000000000000000367132c45f9f2842b30c76c30000000000000000000000008bab32c4d62229423a5c72c3c0e955bf14840cbfe251b6bc28aa32c46fc72942c75b72c374ee21be53b37c3ff365c9bc367132c45e9f2842b80c76c3000000000000000000000000377132c45f9f2842b80c76c3000000000000000000000000367132c47e9f2842b60c76c3000000000000000000000000966f32c4826929421e0b76c31bb8e8bee675563fb3f59abe387132c45b9f2842b60c76c3000000000000000000000000b89732c42bf62842814572c39973f9bd0a417cbfcf2df43dfa8c32c442f728425c3972c379d1e83ee41860bf7e10283ee28c32c4baca2942b03a72c3cd68a83e3a8c683f172b843e377132c45f9f2842ba0c76c3000000000000000000000000367132c45f9f2842b80c76c3000000000000000000000000e94d32c47ba228420fea75c36ef8b63e93416ebf0118a0bde84d32c4cc6c29420eea75c39472bd3ec4c26d3fde5db83c367132c45e9f2842b90c76c3000000000000000000000000387132c4639f2842be0c76c300000000000000000000000067ef31c4e9ae27428b6775c3f148cf3b03d17fbf90e418bd68ef31c4e9ae2742716775c300000000000000000000000067ef31c4e9ae27426f6775c300000000000000000000000067ef31c4e9ae27428b6775c300000000000000000000000058ef31c4e9ae2742806775c300000000000000000000000067ef31c4e9ae2742766775c3000000000000000000000000af8432c474ef29420aba72c305b8f0bd70c87d3f51e66f3db08432c474ef29420bba72c3000000000000000000000000af8432c474ef29420cba72c30000000000000000000000007e8432c474ef2942d6b972c3000000000000000000000000b18432c474ef29420cba72c3000000000000000000000000ac8432c474ef29423eba72c3000000000000000000000000af8432c474ef2942d6b972c3000000000000000000000000af8432c474ef2942ceb972c3000000000000000000000000ab8432c474ef294290ba72c3000000000000000000000000af8432c474ef29420fba72c3000000000000000000000000b28432c474ef2942e6b972c3000000000000000000000000b08432c474ef2942e1b972c3000000000000000000000000b08432c474ef29421dba72c3000000000000000000000000b48432c474ef2942dab972c3000000000000000000000000591e32c4f0392942c04672c3629c383f4a67ac3e3fff1a3f4a1e32c416442942c04672c30000000000000000000000004d1e32c42e412942c04672c3000000000000000000000000491e32c413442942c04672c3000000000000000000000000501e32c41f442942c14672c30000000000000000000000004f1e32c41d442942c04672c30000000000000000000000004d1e32c41b442942c04672c3000000000000000000000000701e32c44c442942c04672c30000000000000000000000004d1e32c417442942c04672c30000000000000000000000004a1e32c416442942b94672c3000000000000000000000000592032c4acd42742a74772c3a7765a3e3b2870bf2bae8b3e4e1e32c4b0412942bb4672c3000000000000000000000000582032c4acd42742a84772c3000000000000000000000000592032c4a7d42742a74772c30000000000000000000000004b1e32c413442942bb4672c300000000000000000000000066ef31c4e8ae2742896775c300000000000000000000000068ef31c4e9ae27428b6775c300000000000000000000000097ed31c493f22842ba6675c3963fa63ec9d9713faea239bd4b1e32c418442942994672c3000000000000000000000000e71b32c4ad3f2942407172c3e2cae73db3587e3f3fce053cb08432c478ef29420cba72c30000000000000000000000004c1e32c41a442942bd4672c3000000000000000000000000ac8432c471ef294209ba72c3000000000000000000000000b18432c478ef29420dba72c30000000000000000000000005a2032c4acd42742a74772c3000000000000000000000000c58432c4c47c2842c0b872c374d65fbecfc779bf9493713caf8432c473ef29420cba72c3000000000000000000000000b08432c473ef29420cba72c3000000000000000000000000b18432c4b5ee29420bba72c30000000000000000000000004d1e32c41a442942be4672c30000000000000000000000005b2032c4abd42742ab4772c3000000000000000000000000c58432c4b67c2842c0b872c3000000000000000000000000ae8432c472ef29420aba72c3000000000000000000000000b18432c474ef29420dba72c3000000000000000000000000b28432c472ef29420dba72c300000000000000000000000066ef31c4e8ae27428a6775c3000000000000000000000000ff5332c4fa562842c1d275c33536ccbe8c6c60bfdac189beef5332c4dc9d2942ced375c32de267bdf2047d3fae9e10beb38432c479ef2942d4b972c30000000000000000000000004f1e32c41c4429429b4672c3000000000000000000000000b08432c475ef2942d8b972c3000000000000000000000000b58432c47cef2942dbb972c3000000000000000000000000ab8432c46fef294239ba72c3000000000000000000000000ab8432c46def29424cba72c3000000000000000000000000fb2832c4bc6a284278df71c320b7e2bea36d65bf9854df3cfb2832c4bc6a28427ddf71c3000000000000000000000000fb2832c4bf6a284280df71c3000000000000000000000000fb2832c4be6a284283df71c3000000000000000000000000fb2832c4286a28427cdf71c3000000000000000000000000fb2832c4936a284280df71c3000000000000000000000000fb2832c4fc6a284251df71c3000000000000000000000000fb2832c45b6a28427adf71c3000000000000000000000000fb2832c4ff6e284281df71c3000000000000000000000000fb2832c4fb6a28427edf71c3000000000000000000000000fb2832c4f86a284280df71c3000000000000000000000000fb2832c4fc6a28427cdf71c300000000000000000000000067cd31c48ff32742135a75c35ccac63d207f7ebfccf943bd6acd31c48ef327427e5975c300000000000000000000000067cd31c48ff32742035a75c300000000000000000000000066cd31c48ff32742115a75c30000000000000000000000007ecd31c48ff32742f05975c300000000000000000000000068cd31c48ff32742135a75c300000000000000000000000069cd31c48ff327420c5a75c30000000000000000000000006acd31c48ff32742045a75c3000000000000000000000000db2532c4018629424edd71c3bbdf26bfe070413f486183bdd52532c401862942a6dc71c3000000000000000000000000d62532c401862942a6dc71c300000000000000000000000081f031c4de5e2842b27b75c3ecc747bf885613bf4a487abe7cf031c4cf5e2842b27b75c30000000000000000000000007ff031c4d85e2842b27b75c30000000000000000000000007ff031c4f25d2842b27b75c30000000000000000000000007cf031c4ce5e2842ac7b75c300000000000000000000000066cd31c48cf32742115a75c300000000000000000000000066cd31c48ef32742125a75c300000000000000000000000069cd31c497f32742155a75c30000000000000000000000007ff031c4d25e2842ae7b75c3000000000000000000000000fa2832c4b96a28427cdf71c3000000000000000000000000fa2832c4be6a28427fdf71c3000000000000000000000000e52832c4b36a2842c7e071c30000000000000000000000003a0a32c4ef0b284212bd71c3a1d5223f518137bf513e923e390a32c4eb0b284215bd71c30000000000000000000000003a0a32c4ee0b284213bd71c30000000000000000000000003d0a32c4f20b284214bd71c3000000000000000000000000fc2832c4bc6a28427ddf71c30000000000000000000000003c0a32c4ef0b284218bd71c30000000000000000000000003d0a32c4f80b284218bd71c3000000000000000000000000410a32c4f90b2842e5bc71c3000000000000000000000000fb2832c4c06a284280df71c3000000000000000000000000e52832c4b76a2842cee071c300000000000000000000000059ed31c41e7a2942d57875c3636994bd0aed7d3f93afd5bd67cd31c4331829423d5a75c3732a473fbd081c3f81111c3e40ed31c4d2792942be7875c300000000000000000000000080f031c4155e2842b07b75c300000000000000000000000059ed31c4cf792942d77875c300000000000000000000000059ed31c4d1792942d77875c300000000000000000000000065cd31c48ef32742115a75c30000000000000000000000006acd31c48ff32742155a75c300000000000000000000000066cd31c4251829423c5a75c30000000000000000000000005bed31c4d2792942d77875c3000000000000000000000000d52532c400862942a6dc71c300000000000000000000000075ed31c4277a2942017775c3000000000000000000000000320a32c48f302942b7bd71c34ec7c33ec2d2643f5ac96f3ed72532c4ff852942a4dc71c30000000000000000000000006acd31c432182942f65975c30000000000000000000000005ded31c4d9792942f27675c3000000000000000000000000ed2832c45c6f284271df71c3000000000000000000000000f92832c4f46a28427cdf71c3000000000000000000000000fc2832c45e6a28427ddf71c3000000000000000000000000d72532c4ff852942a6dc71c3000000000000000000000000f92832c4f26a28427ddf71c3000000000000000000000000fb2832c4706a284280df71c3000000000000000000000000b72832c4b46a28428ce371c30000000000000000000000005ced31c4d2792942bb7875c30000000000000000000000003a0a32c4ef0b284211bd71c30000000000000000000000003a0a32c4e50b284212bd71c30000000000000000000000003a0a32c4f00b284216bd71c3000000000000000000000000d80932c4ec0a2842e6c271c30000000000000000000000003a0a32c4e20b284215bd71c30000000000000000000000003e0a32c4ef0b284216bd71c30000000000000000000000003e0a32c4ee0b284215bd71c30000000000000000000000003d0a32c45a1128421abd71c30000000000000000000000003d0a32c4eb0b284215bd71c3000000000000000000000000fb2832c4126f284281df71c3000000000000000000000000fa2832c4fa6a28427ddf71c30000000000000000000000003d0a32c4ef0b284218bd71c30000000000000000000000003e0a32c4ef0b284208bd71c30000000000000000000000003e0a32c4ee0b28421abd71c30000000000000000000000003d0a32c4ee0b284219bd71c3000000000000000000000000fc2832c4fb6a284280df71c3000000000000000000000000a2a031c468352742341a75c3a44bee3ee4a25dbfee583cbe9fa031c468352742431a75c3000000000000000000000000a0a031c4683527422d1a75c30000000000000000000000009ea031c468352742461a75c3000000000000000000000000a1a031c468352742241a75c30000000000000000000000009fa031c468352742421a75c3000000000000000000000000a0a031c467352742331a75c30000000000000000000000009fa031c468352742461a75c3000000000000000000000000a1a031c468352742181a75c300000000000000000000000096a031c468352742321a75c3000000000000000000000000a1a031c468352742451a75c3000000000000000000000000a0a031c468352742361a75c3000000000000000000000000a0a031c468352742491a75c30000000000000000000000008dc731c4788d2742f04675c39c38afbe82896dbfdf9a17be89c731c46e8d2742f04675c30000000000000000000000008bc731c4748d2742f14675c30000000000000000000000008ac731c4728d2742f04675c30000000000000000000000008cc731c4988f2742f14675c30000000000000000000000008cc731c4738d2742f04675c30000000000000000000000008ac731c479912742f04675c300000000000000000000000088c731c46a8d2742f04675c30000000000000000000000008bc731c4708d2742f04675c30000000000000000000000008bc731c46f8d2742f04675c300000000000000000000000074d831c4abfe2842a7b871c32816b83e3bce593f3f36c43e7cd831c495fb2842a6b871c300000000000000000000000074d831c4aefe2842a6b871c300000000000000000000000078d831c4aefc2842a6b871c30000000000000000000000007ad831c4b8fe2842a6b871c300000000000000000000000076d831c4affe2842a6b871c300000000000000000000000079d831c4b5fe2842a6b871c30000000000000000000000007ad831c4affe2842a5b871c300000000000000000000000079d831c4affe2842a6b871c30000000000000000000000009ea031c466352742411a75c30000000000000000000000009ea031c467352742481a75c3000000000000000000000000a1a031c468352742201a75c30000000000000000000000009ea031c467352742411a75c300000000000000000000000091a031c43c3c2742351a75c30000000000000000000000009ea031c462352742421a75c300000000000000000000000075d831c4adfe28429fb871c30000000000000000000000003b9d31c43bd02842661675c377fc063f7070593f2e0fbd3c75d831c4aefe2842a0b871c300000000000000000000000079d831c465fc2842a3b871c300000000000000000000000030db31c4e1b92742e7ba71c3554da83ec9f46bbf2be0523e3b9d31c43dd02842641675c3000000000000000000000000409d31c447ce2842691675c30000000000000000000000009ea031c467352742461a75c3000000000000000000000000a1a031c46a352742181a75c30000000000000000000000009ea031c463352742471a75c30000000000000000000000003c9d31c452d02842631675c300000000000000000000000033db31c4e6b92742b3ba71c30000000000000000000000008ac731c4708d2742ec4675c30000000000000000000000009ea031c467352742431a75c300000000000000000000000089c731c4728d2742ee4675c300000000000000000000000088c731c46e8d2742ee4675c30000000000000000000000008cc731c4728d2742c94675c30000000000000000000000009fa031c468352742481a75c3000000000000000000000000a1a031c468352742221a75c30000000000000000000000008bc731c4748d2742f14675c30000000000000000000000008ec731c4748d2742c34675c300000000000000000000000085c731c4518f2742e74675c300000000000000000000000088c731c46a8d2742ed4675c30000000000000000000000008ac731c4858c2742ee4675c3000000000000000000000000a1a031c466352742431a75c30000000000000000000000008bc731c4988f2742ee4675c30000000000000000000000008bc731c46e8d2742ee4675c300000000000000000000000093ff31c445fc284249e571c305d03bbe29a87b3f343cf13a8e0132c4a8102842f0e671c3978e45bf503022bfe26e633de6c431c4c9cd2842e64375c31279f5bed3b2433f9babdcbe88c731c46a8d2742ee4675c3000000000000000000000000910132c4af102842bee671c300000000000000000000000075d831c4aefe2842a1b871c300000000000000000000000079d831c4b5fe2842a6b871c30000000000000000000000003c9d31c43dd02842661675c3000000000000000000000000409d31c442d028426a1675c300000000000000000000000079d831c4aefe2842a5b871c3000000000000000000000000409d31c43dd02842681675c3000000000000000000000000329d31c43dd02842591675c30000000000000000000000003f9d31c45ad02842681675c3000000000000000000000000a0a031c467352742481a75c30000000000000000000000008ac731c46f8d2742ef4675c3000000000000000000000000ad9b31c451852742084475c373b77bbeb9dc76bf4d97c9bda69b31c443852742084475c3000000000000000000000000aa9b31c44c852742084475c3000000000000000000000000a79b31c444852742094475c3000000000000000000000000a99b31c448852742084475c3000000000000000000000000a99b31c476892742084475c3000000000000000000000000ad9b31c44c852742084475c3000000000000000000000000af9b31c443852742084475c3000000000000000000000000a99b31c44b8b2742084475c3000000000000000000000000a59b31c43c852742084475c3000000000000000000000000a69b31c443852742094475c3000000000000000000000000aa9b31c444852742084475c3000000000000000000000000ab9b31c444852742084475c3000000000000000000000000aa9b31c443852742094475c3000000000000000000000000aa9b31c443852742084475c3000000000000000000000000aa9b31c444852742084475c3000000000000000000000000a79b31c440852742024475c3000000000000000000000000a89b31c443852742024475c3000000000000000000000000a89b31c448852742034475c3000000000000000000000000a69b31c444852742054475c3000000000000000000000000aa9b31c445852742ca4375c3000000000000000000000000a79b31c444852742044475c3000000000000000000000000aa9b31c44a852742074475c3000000000000000000000000aa9b31c446852742dc4375c3000000000000000000000000ad9b31c44c852742d14375c30000000000000000000000009d9b31c45b892742fd4375c3000000000000000000000000a69b31c43f852742014475c3000000000000000000000000a69b31c444852742004475c3000000000000000000000000279a31c4958527429c4275c3000000000000000000000000a89b31c427892742084475c3000000000000000000000000a89b31c443852742034475c3000000000000000000000000a99b31c444852742044475c3000000000000000000000000677831c4348727429f2075c3c5c6703e4b3b77bf81bde0bda99b31c443852742044475c30000000000000000000000008fd731c4f00d2842fd9471c3e1c91dbf599649bfd34a93bb82d631c46b8c2842569471c3137571be58c1783f1e8466bca69b31c43e852742044475c3000000000000000000000000a69b31c443852742034475c3000000000000000000000000a99b31c448842742084475c3000000000000000000000000099a31c4ec4b2842614275c36cc8a4bdeff17c3f377e06beab9b31c446852742c94375c3000000000000000000000000ee9c31c494522842cc1475c36c4b6bbff90b9e3eeaaf7abe65b931c41dc92742817171c360e3533f28d9a0be4316ee3e57b931c49c8e2842577271c359d0623ee312783f0c72df3da99b31c443852742084475c3000000000000000000000000a99b31c442852742074475c30000000000000000000000006c7831c437872742632075c30000000000000000000000006c7831c473fe2742632075c3758a163f8f084e3fb4aaa43daa9b31c444852742064475c3000000000000000000000000c6af31c426b3274241fd71c3a3de223d979b7fbfc59f1d3dab9b31c446852742074475c30000000000000000000000005bb531c4e08a284236ac71c3e152d3bb22f47f3f6eae92bc88ae31c4bf302742abcb71c39b7071be7b4278bf8af2803d88ae31c4b2302742abcb71c300000000000000000000000088ae31c49d382742afcb71c300000000000000000000000088ae31c4bc3027426dcb71c300000000000000000000000088ae31c4be302742a4cb71c300000000000000000000000088ae31c4b13027428acb71c300000000000000000000000088ae31c4b23027429ecb71c3000000000000000000000000ef1431c43f5d2642277074c3ad3925bba9cd7fbf1f2e20bdef1431c43f5d2642197074c3000000000000000000000000ee1431c43f5d26421b7074c3000000000000000000000000ee1431c43f5d26421b7074c3000000000000000000000000ee1431c43f5d2642277074c3000000000000000000000000f31431c43f5d26422e7074c300000000000000000000000061ac31c4fc9f284266ca71c3220891be9781753f815e023c64ac31c4fc9f284268ca71c300000000000000000000000064ac31c4fc9f284269ca71c30000000000000000000000005fac31c4fc9f284265ca71c30000000000000000000000005eac31c4fc9f2842acca71c300000000000000000000000061ac31c4fc9f284264ca71c300000000000000000000000065ac31c4fb9f284257ca71c300000000000000000000000065ac31c4fc9f284260ca71c300000000000000000000000064ac31c4fc9f28426dca71c3000000000000000000000000197b31c45f0f2742e1e274c3b017ccbe7f0360bf9c938cbe147b31c4550f2742e0e274c3000000000000000000000000167b31c45b0f2742e0e274c3000000000000000000000000177b31c4d3122742e0e274c3000000000000000000000000744631c4dce92742ae5171c3cb7e373edf85793fb6d0083e6e4631c4daed2742ae5171c3000000000000000000000000714631c46deb2742ae5171c30000000000000000000000006e4631c4d7ed2742ae5171c3000000000000000000000000724631c4dfed2742ae5171c3000000000000000000000000734631c4aeee2742ae5171c3000000000000000000000000704631c4dfed2742af5171c3000000000000000000000000724631c4dfed2742ae5171c3000000000000000000000000994631c41dee2742af5171c3000000000000000000000000714631c4dced2742ae5171c3000000000000000000000000904831c4917e2642ea5271c334be6a3e441675bfaaf8333e6e4631c4daed2742ab5171c3000000000000000000000000724631c4f2eb2742ad5171c3000000000000000000000000904831c4927e2642ea5271c3000000000000000000000000914831c48d7e2642ea5271c30000000000000000000000006e4631c4d8ed2742ab5171c3000000000000000000000000ee1431c4405d26421a7074c3000000000000000000000000944831c4927e2642ad5271c3000000000000000000000000ee1431c43f5d2642197074c3000000000000000000000000201331c4339427420a6f74c32de1fb3e430f5e3fc9c598bd704631c4dced27427d5171c300000000000000000000000085ae31c4b8302742a6cb71c3000000000000000000000000914831c4927e2642ea5271c300000000000000000000000089ae31c4bf302742aacb71c300000000000000000000000062ac31c4fd9f284267ca71c3000000000000000000000000724631c4dfed2742ad5171c300000000000000000000000062ac31c4fb9f284266ca71c300000000000000000000000085ae31c4ad302742a7cb71c300000000000000000000000063ac31c4fa9f284268ca71c300000000000000000000000064ac31c4fb9f284267ca71c3000000000000000000000000714631c4dded2742af5171c3000000000000000000000000944831c4917e2642ee5271c300000000000000000000000088ae31c4b1302742abcb71c300000000000000000000000065ac31c4fc9f28426aca71c3000000000000000000000000147b31c4570f2742dae274c3000000000000000000000000ee1431c4405d26421b7074c3000000000000000000000000177b31c45c0f2742dde274c3000000000000000000000000467931c4aa462842cbe174c393980c3d92437f3f695b8abd744631c4e3ed27428b5171c300000000000000000000000065ac31c4ff9f284227ca71c300000000000000000000000093ac31c4b52d2742f3db71c300000000000000000000000065ac31c4fd9f28424cca71c3000000000000000000000000213131c4d62b2742461a75c3fd27833eda3177bfea9f363d203131c4d62b2742191a75c3000000000000000000000000223131c4d62b2742031a75c3000000000000000000000000203131c4d62b2742481a75c3000000000000000000000000203131c4d62b2742451a75c3000000000000000000000000223131c4d72b2742481a75c3000000000000000000000000283131c4d62b2742421a75c3000000000000000000000000233131c4d62b2742491a75c3000000000000000000000000233131c4d62b2742181a75c30000000000000000000000001d3131c4d62b2742601a75c3000000000000000000000000223131c4d62b2742461a75c3000000000000000000000000223131c4d72b2742551a75c3000000000000000000000000233131c4d62b2742541a75c3000000000000000000000000b45431c47b642742fc3b75c31be689be286175bfb724bfbdaa5431c46a642742fc3b75c3000000000000000000000000ad5431c46e642742fc3b75c3000000000000000000000000b55431c473642742fc3b75c3000000000000000000000000aa5431c466642742fc3b75c3000000000000000000000000ae5431c46a642742fc3b75c3000000000000000000000000aa5431c46a642742f33b75c30000000000000000000000001f3131c4d42b2742451a75c3000000000000000000000000213131c4d62b2742461a75c3000000000000000000000000233131c4da2b2742491a75c3000000000000000000000000ae5431c46f642742f73b75c3000000000000000000000000b05431c46d642742ad3b75c3000000000000000000000000223131c4d62b2742101a75c3000000000000000000000000243131c4da2b27420f1a75c3000000000000000000000000273131c4dc2b2742141a75c3000000000000000000000000b15431c470642742ac3b75c3000000000000000000000000ab5431c464642742f33b75c3000000000000000000000000725331c404392842263b75c3ea824abfba5e083fe2fd99be1f3131c4d22b2742451a75c3000000000000000000000000203131c4d72b2742451a75c3000000000000000000000000243131c4d72b2742491a75c3000000000000000000000000233131c4d72b2742491a75c3000000000000000000000000ad5431c469642742f53b75c3000000000000000000000000243131c4d62b2742491a75c30000000000000000000000001f3131c4ad0128429e1a75c37e09193f0d824c3f49bb883d999631c45acd2742300671c3cf7b2dbf24213bbf4257a4bda99531c4eb6f2842940571c357cb9cbeb280733fed061dbd196331c446522842413b74c3b6f7bebdeca97e3f37be29bd243131c4d82b2742071a75c3000000000000000000000000ea7731c4839c27426ae370c30da2853e4c5975bf64b6ec3de07731c422712842f3e370c33d4cd73e8cc8623fdfad483e223131c4d82b2742751a75c3000000000000000000000000647531c4c36f2842de0971c30b64c83d84c57e3f83340b3a3a4831c404e82542b62571c375eacebefa5a69bf227b9b3d3a4831c40ee82542e82571c30000000000000000000000003a4831c40ee82542eb2571c30000000000000000000000003a4831c40be82542d32571c30000000000000000000000003a4831c40be82542c12571c30000000000000000000000003a4831c40be82542be2571c30000000000000000000000003a4831c47fe72542ce2571c30000000000000000000000003a4831c409e82542e92571c30000000000000000000000003a4831c40be82542eb2571c30000000000000000000000003a4831c408e82542c62571c300000000000000000000000056e330c442702742355374c374e8113f20ad513f3183863d56e330c45d712742065374c300000000000000000000000056e330c45c7127421e5374c300000000000000000000000056e330c42d702742375374c300000000000000000000000056e330c4607127420d5374c300000000000000000000000056e330c464712742345374c300000000000000000000000056e330c45f712742355374c300000000000000000000000056e330c460712742355374c300000000000000000000000056e330c45c712742005374c300000000000000000000000056e330c46a712742485374c300000000000000000000000056e330c4627127421f5374c300000000000000000000000056e330c45f712742445374c300000000000000000000000056e330c4617127423d5374c300000000000000000000000056e330c460712742465374c3000000000000000000000000cd2131c4d191254275fa70c36870223f649c35bf880f9d3ecd2131c4d19125428dfa70c3000000000000000000000000cd2131c4d191254292fa70c3000000000000000000000000cd2131c4d191254290fa70c3000000000000000000000000cf2131c4d19125426bfa70c3000000000000000000000000cd2131c4d19125428dfa70c3000000000000000000000000cc2131c4d191254299fa70c3000000000000000000000000cc2131c4d191254291fa70c3000000000000000000000000d02131c4d19125426cfa70c3000000000000000000000000db2131c4d191254293fa70c3000000000000000000000000d02131c4d191254290fa70c3000000000000000000000000cd2131c4d191254295fa70c3000000000000000000000000d02131c4d191254292fa70c3000000000000000000000000d02131c4d191254293fa70c3000000000000000000000000860d31c4212e26423c8574c398193abfca3918bfa0d7afbe7e0d31c4162e26423c8574c3000000000000000000000000810d31c41a2e26423c8574c30000000000000000000000007f0d31c4182e26423c8574c3000000000000000000000000820d31c4242d26423b8574c3000000000000000000000000800d31c4d32d26423c8574c300000000000000000000000088e630c4a2d625423d5974c374c9633e4f2b76bf9e9f24becd2131c4d19125428dfa70c300000000000000000000000087e630c4a2d625423f5974c3000000000000000000000000cc2131c4d291254290fa70c3000000000000000000000000d02131c4d091254268fa70c300000000000000000000000054e330c45e712742315374c300000000000000000000000054e330c45e712742325374c300000000000000000000000057e330c423702742375374c300000000000000000000000088e630c4a0d625423c5974c300000000000000000000000054e330c45c712742335374c3000000000000000000000000711e31c4c02c2742c6f670c32e6ed53ee314443f2e99fa3e56e330c4607127421a5374c3000000000000000000000000cd2131c4d19125428cfa70c3000000000000000000000000cd2131c4ca9125428cfa70c3000000000000000000000000721e31c4c02c2742c5f670c300000000000000000000000054e330c45d7127422a5374c3000000000000000000000000751e31c4302b2742caf670c300000000000000000000000088e630c4a1d625423f5974c3000000000000000000000000ce2131c4d191254290fa70c3000000000000000000000000cf2131c4cf91254277fa70c3000000000000000000000000cd2131c4cd91254292fa70c30000000000000000000000007f0d31c4142e2642358574c300000000000000000000000087e630c4a1d625423b5974c3000000000000000000000000810d31c4182e2642358574c3000000000000000000000000394831c40be82542e62571c30000000000000000000000007f0d31c4142e26423a8574c3000000000000000000000000384831c408e82542e82571c30000000000000000000000003a4831c408e82542d42571c3000000000000000000000000cc2131c4d19125428cfa70c3000000000000000000000000394831c40be82542e82571c300000000000000000000000087e630c4a1d625423f5974c3000000000000000000000000cc2131c4d19125428ffa70c3000000000000000000000000cf2131c4cf91254271fa70c30000000000000000000000007f0d31c4172e2642388574c3000000000000000000000000374831c40ae82542e92571c30000000000000000000000003b4831c40ce82542d42571c3000000000000000000000000f20a31c4fa742742678074c31cd195be2b975d3fb70fd0be800d31c4c32d2642358574c300000000000000000000000053e330c45f712742325374c300000000000000000000000057e330c467712742355374c300000000000000000000000058e330c460712742355374c300000000000000000000000054e330c45e712742325374c300000000000000000000000056e330c461712742355374c3000000000000000000000000384831c403e82542e52571c3000000000000000000000000384831c432e72542e72571c3000000000000000000000000884531c443302742e02271c312ccdbbef528673f6baa9abc7f0d31c4682d2642398574c3000000000000000000000000384831c406e82542e92571c3000000000000000000000000384831c4bde72542ea2571c3000000000000000000000000721e31c4c02c2742c7f670c300000000000000000000000055e330c45e712742175374c3000000000000000000000000751e31c4c52c2742caf670c300000000000000000000000059e330c464712742285374c3000000000000000000000000d12131c4d191254291fa70c3000000000000000000000000394831c405e82542e72571c3000000000000000000000000731e31c4bf2c2742c8f670c300000000000000000000000056e330c460712742405374c3000000000000000000000000d02131c4d291254293fa70c3000000000000000000000000384831c407e82542e92571c3000000000000000000000000f71e31c47e9a25421ef170c35f1045bfa55e23bfecfd5e3cf71e31c4849a254227f170c3000000000000000000000000f71e31c4789a2542f7f070c3000000000000000000000000f71e31c4829a254225f170c3000000000000000000000000f71e31c47e9a254224f170c3000000000000000000000000f61e31c46a9a254226f170c3000000000000000000000000f71e31c4f79a2542f1f070c3000000000000000000000000f71e31c46d9a254228f170c3000000000000000000000000f71e31c43c9a254217f170c3000000000000000000000000f71e31c46e9a254224f170c3000000000000000000000000f71e31c47399254224f170c3000000000000000000000000f71e31c4659a254227f170c3000000000000000000000000f71e31c46a9a2542fff070c3000000000000000000000000f71e31c4669a254221f170c3000000000000000000000000f71e31c4699a254222f170c30000000000000000000000002be330c4405c25427d6c74c3c8a78bbe81ac12bf0edb45bf28e330c42d5c25427d6c74c30000000000000000000000002fe330c4505c25427d6c74c300000000000000000000000026e330c4285c25427c6c74c30000000000000000000000002be330c4425c25427e6c74c30000000000000000000000002be330c4435c25427e6c74c30000000000000000000000002ae330c4405c25427d6c74c300000000000000000000000030e330c4375c25427d6c74c300000000000000000000000038e330c42a5c25427d6c74c30000000000000000000000002be330c43a5c25427d6c74c30000000000000000000000002be330c43f5c25427d6c74c300000000000000000000000027e330c42a5c25427d6c74c30000000000000000000000002be330c43e5b25427c6c74c30000000000000000000000002be330c4325b25427d6c74c30000000000000000000000002fe330c4295c25427d6c74c30000000000000000000000002be330c4605f25427d6c74c30000000000000000000000002be330c4545f25427d6c74c30000000000000000000000002be330c42b5c25427d6c74c30000000000000000000000002be330c4295c25427d6c74c3000000000000000000000000f01e31c4589a25421cf170c3000000000000000000000000f51e31c46d9a25421ef170c3000000000000000000000000f81e31c4839a25421ff170c3000000000000000000000000f11e31c4649a25421df170c3000000000000000000000000090731c4a21a2542fbe970c31a1910becf737dbfc4cdad3acfc830c42ac02442ad2e74c3666c0dbe3d747dbf4263dbbc29e330c4345c2542786c74c300000000000000000000000025e330c41f5c25426e6c74c30000000000000000000000002be330c43e5c25427d6c74c30000000000000000000000002be330c4405c25427d6c74c3000000000000000000000000d0c830c424c02442aa2e74c3000000000000000000000000d1c830c42bc02442b62e74c3000000000000000000000000d3c830c427c02442782e74c3000000000000000000000000f41e31c46f9a254223f170c3000000000000000000000000b11e31c4b4982542b5f070c3000000000000000000000000f81e31c4869a254228f170c300000000000000000000000029e330c4305c2542756c74c300000000000000000000000028e330c4315c25427f6c74c3000000000000000000000000f41e31c4719a25421ff170c300000000000000000000000028e330c4355c25427a6c74c30000000000000000000000001ae330c4e85b2542626c74c30000000000000000000000002ce330c4405c2542786c74c300000000000000000000000029e330c43c5c2542866c74c300000000000000000000000021e330c4055c2542716c74c3000000000000000000000000cec830c423c02442b22e74c3000000000000000000000000b11e31c4cb982542aff070c30000000000000000000000000e0731c4a71a2542bde970c3000000000000000000000000f81e31c4819a254225f170c30000000000000000000000002be330c4405c25427c6c74c3000000000000000000000000f41e31c4639a254222f170c3000000000000000000000000f81e31c46c9a254226f170c3000000000000000000000000f71e31c4699a254226f170c3000000000000000000000000decb30c433cc2442907a70c3993d98beb14c9ebe4040673f34dc30c4d4f22442298870c3c6f79dbef57783bdaaf4723ff41e31c45c9a254226f170c3000000000000000000000000f51e31c4699a254221f170c3000000000000000000000000f71e31c46d9a254228f170c3000000000000000000000000fa1e31c47a9a25422cf170c30000000000000000000000000d0731c4a81a254204ea70c3000000000000000000000000f71e31c4729a254226f170c300000000000000000000000035dc30c4d4f224422b8870c30000000000000000000000009ed130c4f2cc2442967c70c3000000000000000000000000c0d530c4b9412642198170c35e3fd53dba887b3fabc91d3ec0d530c4b2412642188170c3000000000000000000000000c1d530c4b2412642188170c300000000000000000000000006d630c4cc422642b28170c3000000000000000000000000bcd530c4fa412642488170c30000000000000000000000006bac30c4efd92542eb5370c3d73f543ea0177a3f9a31533def7030c45a402442d4d973c370c40a3e0da37abfe79e1bbeed7030c455402442d1d973c3000000000000000000000000e8c830c44bc02442c42e74c3000000000000000000000000e37030c44b402442c8d973c3000000000000000000000000ef7030c459402442d1d973c30000000000000000000000002ae330c4285c2542756c74c30000000000000000000000002de330c4e45b2542606c74c300000000000000000000000028e330c43b5c25427a6c74c3000000000000000000000000ed7030c453402442ced973c30000000000000000000000002ce330c42d5c2542796c74c3000000000000000000000000ee7030c454402442d1d973c3000000000000000000000000ee7030c45a402442d2d973c3000000000000000000000000ec7030c45f402442d2d973c3000000000000000000000000ee7030c455402442d0d973c3000000000000000000000000f27030c4623f244287d973c30000000000000000000000002ee330c4ed5b2542606c74c3000000000000000000000000e8c830c446c02442be2e74c30000000000000000000000002ae330c43f5c25427d6c74c3000000000000000000000000e27030c443402442c6d973c3000000000000000000000000ed7030c462402442d5d973c3000000000000000000000000ef7030c457402442cfd973c3000000000000000000000000ec7030c456402442cfd973c3000000000000000000000000ef7030c45b402442d2d973c3000000000000000000000000ec7030c456402442d1d973c3000000000000000000000000ef7030c454402442acd973c3000000000000000000000000ee7030c45a402442d6d973c3000000000000000000000000f07030c458402442b7d973c3000000000000000000000000f51e31c4589a254224f170c3000000000000000000000000cf1b31c48aee26423def70c35973b23c63ef7f3f9782ba3bc8d530c4c8412642248170c300000000000000000000000044d530c44b402642728070c3000000000000000000000000f81e31c46a9a254228f170c3000000000000000000000000611e31c4e49725423bf070c300000000000000000000000035dc30c49af224422b8870c3000000000000000000000000c8d530c4c5412642238170c3000000000000000000000000c5d530c4c04126421e8170c3000000000000000000000000d2d530c4a7412642398170c300000000000000000000000028e330c4155c2542756c74c30000000000000000000000002ce330c4535b2542766c74c300000000000000000000000022e330c4425f2542726c74c300000000000000000000000029e330c4215c2542796c74c3000000000000000000000000f51e31c45c9a254220f170c3000000000000000000000000e2e030c4285d26428e6974c3c68a37bf461a263f958282bee1e030c4a05d26428c6974c300000000000000000000000044d630c428432642d08170c3000000000000000000000000b6d530c4f7412642ee8070c3000000000000000000000000e87030c469422442cdd973c3000000000000000000000000ed7030c453402442ced973c3000000000000000000000000ee7030c46a3f2442d1d973c30000000000000000000000002ce330c41b5c2542786c74c30000000000000000000000002be330c44d5f25427d6c74c3000000000000000000000000ef7030c470422442d5d973c3000000000000000000000000ee7030c457402442d1d973c3000000000000000000000000ed7030c453402442d3d973c3000000000000000000000000ef7030c45f3f2442d5d973c30000000000000000000000002be330c4275c25427d6c74c3000000000000000000000000f81e31c4669a254224f170c3000000000000000000000000d2d530c4ce4126421b8170c30000000000000000000000006bac30c4d6962442ee5370c31d788c3d5b377cbf2cbb203e6bac30c4ead92542f05370c3000000000000000000000000c4d530c4b74126422c5b74c31b47283e99607c3f36a107bdef7030c454402442d4d973c3000000000000000000000000ee7030c49a442542d5d973c3f89db03e6e206f3f5ca4bcbde04e30c432cc25428ee473c33ab0e93ecd62623fd13fc93de74e30c423d7244235e473c35021d23ebf4869bfd9550b3db76d30c443ca2542260074c33878c7be8d4b633fb7a07abebe6d30c473d52442ccff73c3fc5f61bf54ed98bea8a1bcbe2f9b30c4bd132542de1c70c33c87523f2d36f7be76159a3e189b30c409102642011e70c35868e23e01a55d3fcdd16f3e189b30c4e90f2642001e70c30000000000000000000000007ca430c471122542542970c32eb680be524037bff3c5263f00b530c47a0d2642b34070c3e9e4e0bebddf633f4587f8bd14b530c4ba252542a63f70c3de5629bf76913fbfc8854bbd379830c4d30f2542704270c35b77d53e87ad65bfaa3e153e3ba230c4d00f25428e4270c39bbb2fbd56c27fbf4c71cf3b837530c4d3db24422e9773c3b92877be540778bff12c62bdac8d30c4cee725424b0c72c365f06abfff238e3e3f7291beac8d30c4cee72542560c72c3000000000000000000000000ab8d30c4cee72542630c72c3000000000000000000000000ab8d30c4cee72542580c72c3000000000000000000000000ab8d30c4cee72542b80c72c3000000000000000000000000aa8d30c4cee72542790c72c3000000000000000000000000b38d30c4cee72542010c72c3000000000000000000000000a98d30c4cee725428e0c72c3000000000000000000000000aa8d30c4cee72542670c72c3000000000000000000000000b18d30c4cee72542050c72c3000000000000000000000000a88d30c4cee72542630c72c3000000000000000000000000ad8d30c4cee725427b0c72c3000000000000000000000000ab8d30c4cee72542900c72c3000000000000000000000000056e30c4698e2442168373c324f167bec68c44bff66e19bf0a6e30c46f8e2442168373c3000000000000000000000000086e30c46d8e2442168373c300000000000000000000000064a52fc4b98e2242d39a71c33d0e013cb6aa7ebfdb1cd0bddca02fc4b9e222428f5b72c333d7093e50ef61bf10abe6be66a52fc4a48e2242739a71c300000000000000000000000062a52fc4e48e2242d49a71c300000000000000000000000061a52fc4e98e2242209b71c300000000000000000000000065a52fc4bf8e2242b89a71c30000000000000000000000009fae2fc4ce4e224264f670c312fbeabdb4407ebfd3afabbc056e30c4658e2442108373c3000000000000000000000000527c30c4b45a2442ade972c3c3a023be3b1b7cbfa1b68bbd096e30c46d8e2442138373c3000000000000000000000000d9a02fc4b2e22242895b72c3000000000000000000000000dfa02fc4bde22242915b72c300000000000000000000000062a52fc4c18e2242b99a71c30000000000000000000000006aa52fc49d8e2242669a71c30000000000000000000000009eae2fc4c84e224261f670c30000000000000000000000005da52fc4eb8e2242259b71c300000000000000000000000065a52fc4c78e2242af9a71c3000000000000000000000000a2ae2fc4d04e224267f670c3000000000000000000000000567c30c4be5a2442b2e972c3000000000000000000000000b2cd2fc4ed9d224283fc6fc33fe0cfbd05574abfa8a81a3fad8d30c4cfe725426b0c72c3000000000000000000000000e89c30c4d5d0254276cf70c30ffc36bcb421793f56546b3ee89c30c4d5d0254275cf70c3000000000000000000000000ac8d30c4cee725424f0c72c3000000000000000000000000ab8d30c4cce725425a0c72c3000000000000000000000000ad8d30c4bde625425a0c72c3000000000000000000000000aa8d30c4cfe725425e0c72c3000000000000000000000000e99c30c4d3d0254274cf70c3000000000000000000000000ec9c30c4c2cf254272cf70c3000000000000000000000000e79c30c429d1254274cf70c3000000000000000000000000e99c30c4d4d0254276cf70c3000000000000000000000000a98d30c4cde725426b0c72c3000000000000000000000000eb9c30c4bbcf254278cf70c300000000000000000000000063a52fc4cb8e2242ca9a71c300000000000000000000000066a52fc4b88d2242989a71c300000000000000000000000063a52fc4c98e2242da9a71c300000000000000000000000066a52fc4068e2242c69a71c3000000000000000000000000dda02fc4b4e222428e5b72c300000000000000000000000064a52fc4d28e2242049b71c300000000000000000000000064a52fc4be8e2242c09a71c30000000000000000000000005aa52fc43293224236a571c300000000000000000000000062a52fc4d78e2242e69a71c300000000000000000000000065a52fc41e8e2242d29a71c3000000000000000000000000ec9c30c4c9ac244278cf70c3587257bebc9a79bf76e3913d65a52fc4c38e2242b79a71c300000000000000000000000066a52fc4c88e2242a99a71c3000000000000000000000000a1ae2fc4cd4e22426ff670c300000000000000000000000065a52fc4bd8e2242b29a71c3000000000000000000000000fa6b30c484e125428a7f73c394a6103e60c57c3f1a7192bda78d30c4cee725426c0c72c3000000000000000000000000b28d30c4d0e72542240c72c3000000000000000000000000fd6b30c482e12542667f73c3000000000000000000000000e2a02fc40f052442185b72c38c88a13ec6d8673fa10c91befb6b30c483e125428b7f73c3000000000000000000000000b5cd2fc4e8f9234284fc6fc3a413043e0e6a7b3f39a90c3ee99c30c4d3d0254275cf70c3000000000000000000000000ea9c30c4dbd0254278cf70c300000000000000000000000066a52fc431ed2342d19a71c3e345a13ed140723f230e953da6b02fc413e2234280d270c37c41863e04ae753f8846cf3de2a02fc40e052442f85a72c3000000000000000000000000b6cd2fc4eaf9234288fc6fc3000000000000000000000000e89c30c4d3d0254275cf70c3000000000000000000000000aa8d30c4cde72542770c72c3000000000000000000000000eb9c30c4dbd0254278cf70c3000000000000000000000000b28d30c4d0e72542150c72c3000000000000000000000000fe6b30c482e12542697f73c3000000000000000000000000fa6b30c47ce125428b7f73c3000000000000000000000000fb6b30c481e125428a7f73c3000000000000000000000000b08d30c4c4e725421e0c72c3000000000000000000000000aa8d30c4cee72542720c72c3000000000000000000000000df8a30c4c17f2442bf4672c31e3b78bf9f3ad4bd76c162beb28d30c4cfe72542200c72c3000000000000000000000000fc6b30c482e125426d7f73c3000000000000000000000000dfa02fc4b4e22242905b72c3000000000000000000000000e2a02fc4090524421a5b72c3000000000000000000000000fd6b30c481e125428d7f73c3000000000000000000000000b7cd2fc4e6fa234288fc6fc3000000000000000000000000eb9c30c4d3d0254277cf70c3000000000000000000000000c09c30c4d0d025424acf70c3000000000000000000000000eb9c30c439d1254279cf70c300000000000000000000000064a52fc4c08e2242bb9a71c300000000000000000000000066a52fc4b78e2242d89a71c3000000000000000000000000a3ae2fc4d14e22427bf670c300000000000000000000000063a52fc4c18e2242b79a71c300000000000000000000000064a52fc4bd8e2242d39a71c3000000000000000000000000a6b02fc4f553224287d270c35cc9123dad297fbf7254943db5cd2fc4fa9d224289fc6fc3000000000000000000000000eb9c30c4d3d0254279cf70c3000000000000000000000000ae8d30c4cee725426e0c72c3000000000000000000000000eb9c30c4bbad244279cf70c3000000000000000000000000fee32fc4cb162342831f6fc3debca5be6cfe71bf971226bdfee32fc4d2162342c21f6fc3000000000000000000000000fee32fc4d5162342c01f6fc300000000000000000000000087782fc41b192442ffe972c39b0efb3e88fe5c3f7e4af53d87782fc44e1b2442d3e972c300000000000000000000000087782fc44e1b2442cbe972c300000000000000000000000087782fc46119244202ea72c300000000000000000000000087782fc4511b2442d3e972c300000000000000000000000087782fc4541b2442fee972c300000000000000000000000087782fc4501b2442ffe972c300000000000000000000000087782fc4521b244200ea72c300000000000000000000000087782fc44f1b2442dbe972c300000000000000000000000087782fc4531b244207ea72c300000000000000000000000087782fc4511b2442eee972c300000000000000000000000087782fc4501b2442ffe972c300000000000000000000000087782fc4501b24420cea72c300000000000000000000000087782fc4511b2442fbe972c300000000000000000000000008c72fc4efe5224223f66ec3ffa3253f4d6739bf3e1f743e0ec72fc4efe52242b5f56ec300000000000000000000000007c72fc4efe5224220f66ec300000000000000000000000010c72fc4efe52242b7f56ec300000000000000000000000009c72fc4efe5224222f66ec30000000000000000000000005fc72fc4efe5224227f66ec3000000000000000000000000689a2fc4c4322342b01573c3d44c2fbf13832fbfdc067dbe619a2fc4ba322342b01573c3000000000000000000000000649a2fc4bf322342b01573c30000000000000000000000006cc52fc43b04244254f36ec39947eb3ea767593f7125853e71c52fc48d00244254f36ec30000000000000000000000006cc52fc43c04244255f36ec30000000000000000000000006fc52fc44802244254f36ec300000000000000000000000071c52fc44204244254f36ec30000000000000000000000006ec52fc43c04244254f36ec300000000000000000000000070c52fc43f04244254f36ec300000000000000000000000071c52fc43b04244254f36ec30000000000000000000000006fc52fc43c04244254f36ec3000000000000000000000000277a2fc402fd224262ec72c307823a3e22b07bbf767478bc10c72fc4ede52242b4f56ec300000000000000000000000084782fc44f1b2442fae972c300000000000000000000000084782fc4501b2442fbe972c300000000000000000000000088782fc4d8182442ffe972c3000000000000000000000000267a2fc402fd224265ec72c300000000000000000000000084782fc44d1b2442fbe972c30000000000000000000000006dc52fc43a0424424df36ec300000000000000000000000085782fc44d1b2442efe972c30000000000000000000000006cc52fc43b0424424cf36ec30000000000000000000000006fc52fc4aa01244252f36ec30000000000000000000000000fc72fc4ede52242b5f56ec300000000000000000000000086782fc44f1b2442dce972c3000000000000000000000000629a2fc4bb322342a71573c3000000000000000000000000267a2fc402fd224261ec72c3000000000000000000000000669a2fc4bf322342ac1573c3000000000000000000000000fae32fc4cb162342bc1f6fc30000000000000000000000000ec72fc4ece52242b3f56ec3000000000000000000000000ffe32fc4d3162342c31f6fc300000000000000000000000085782fc4501b2442fce972c300000000000000000000000087782fc4541b2442fee972c3000000000000000000000000e3782fc4f21b24424eea72c30000000000000000000000000b992fc4431c2442b11373c3985ea7be4e4e6c3fac8d4fbe87782fc44f1b2442ffe972c300000000000000000000000087782fc4501b2442fde972c300000000000000000000000086782fc44f1b2442fee972c30000000000000000000000006ec52fc43b0424424ef36ec30000000000000000000000006fc52fc43e04244251f36ec300000000000000000000000086782fc4501b2442e8e972c300000000000000000000000088782fc4531b2442eee972c30000000000000000000000009ce22fc432052442bb1d6fc32183c6be5a046b3f77f0a9bd6ec52fc43b04244250f36ec300000000000000000000000086782fc44f1b244209ea72c300000000000000000000000057c02fc4c9b62242b33b6fc3264435bfa8f833bfadf987bd57c02fc4ceb72242b23b6fc300000000000000000000000057c02fc4ceb72242b13b6fc300000000000000000000000058c02fc44abc2242a13b6fc300000000000000000000000057c02fc4d0b62242b83b6fc300000000000000000000000057c02fc4ccb72242a53b6fc300000000000000000000000057c02fc4ceb72242a13b6fc300000000000000000000000057c02fc448b72242b33b6fc300000000000000000000000057c02fc4cfb72242b93b6fc300000000000000000000000058c02fc4cdb72242b93b6fc300000000000000000000000057c02fc4cdb72242ad3b6fc300000000000000000000000057c02fc4cdb72242a83b6fc300000000000000000000000057c02fc4cdb72242ae3b6fc30000000000000000000000007b7a2fc4eb9d2242c5a872c367b15dbefcc578bf4803c0bd857a2fc4f69d2242c5a872c30000000000000000000000007c7a2fc4e99d2242c5a872c30000000000000000000000007e7a2fc4ec9d2242c5a872c30000000000000000000000007d7a2fc4ea9d2242c5a872c30000000000000000000000007e7a2fc4679d2242c5a872c3000000000000000000000000847a2fc4eb9d2242c4a872c30000000000000000000000007e7a2fc4ea9d2242c5a872c300000000000000000000000056c02fc4cbb72242b13b6fc300000000000000000000000056c02fc4ceb72242b13b6fc300000000000000000000000057c02fc48ab72242b33b6fc300000000000000000000000056c02fc4cdb72242b23b6fc300000000000000000000000056c02fc4ccb72242b23b6fc300000000000000000000000056c02fc4cdb72242b23b6fc30000000000000000000000007e7a2fc4ec9d2242bea872c30000000000000000000000007a7a2fc4eb9d22428fa872c30000000000000000000000007d7a2fc4ea9d2242bda872c30000000000000000000000007f7a2fc4ee9d2242bfa872c3000000000000000000000000a07a2fc4069e22422da672c30000000000000000000000007c7a2fc4ea9d2242bda872c30000000000000000000000007e7a2fc4109d2242bea872c30000000000000000000000002b782fc4a98a2342c1a572c30c461dbf29273c3f58f692be54c02fc4cbb72242b53b6fc300000000000000000000000055c02fc4ccb72242b63b6fc300000000000000000000000056c02fc441b72242b73b6fc300000000000000000000000019be2fc4d298234232396fc397976ebe0ef0783ffc8136bc58c02fc4ceb72242953b6fc3000000000000000000000000e0bf2fc450b72242f93c6fc3000000000000000000000000215e2fc4da9e2242d18872c3ab0eea3e189163bf4b66ea3c285e2fc4228b2342798872c330c9dc3e21a1653fc027c73d7e7a2fc4e99d2242bfa872c300000000000000000000000056c02fc4ceb72242b83b6fc300000000000000000000000056c02fc4cbb72242b73b6fc3000000000000000000000000ea9f2fc4e1b822420c176fc33706c33ef41168bf875e3a3ee99f2fc45f9923420d176fc346ffb63e2f2a683f4382643e57c02fc4ceb72242b83b6fc300000000000000000000000057c02fc4cdb72242a53b6fc30000000000000000000000005e382fc4dc722342ef6772c39fabfa3e46b85c3f2b42053e5e382fc483742342c46772c30000000000000000000000005e382fc482742342cc6772c30000000000000000000000005e382fc412732342f16772c30000000000000000000000005e382fc487742342cb6772c30000000000000000000000005e382fc48a742342ef6772c30000000000000000000000005e382fc486742342ee6772c30000000000000000000000005e382fc487742342ed6772c30000000000000000000000005e382fc482742342b76772c30000000000000000000000005e382fc488742342dc6772c30000000000000000000000005e382fc487742342dc6772c30000000000000000000000005e382fc485742342ec6772c30000000000000000000000005e382fc487742342fc6772c30000000000000000000000005e382fc487742342f06772c300000000000000000000000060802fc4e20b224265cc6ec3603a2d3fadfe31bfa80f783e5f802fc4e20b224273cc6ec30000000000000000000000005f802fc4e20b224275cc6ec30000000000000000000000005f802fc4e20b224273cc6ec30000000000000000000000005e802fc4e20b22427dcc6ec300000000000000000000000066802fc4e20b224288cc6ec30000000000000000000000001e7f2fc49c2a234283c96ec3a63de83e9279583fc017903e227f2fc48227234283c96ec30000000000000000000000001f7f2fc49b2a234283c96ec3000000000000000000000000217f2fc45829234284c96ec3000000000000000000000000257f2fc4a22a234282c96ec30000000000000000000000001d7f2fc49b2a234282c96ec30000000000000000000000001f7f2fc49e2a234282c96ec3000000000000000000000000257f2fc49b2a234282c96ec3000000000000000000000000217f2fc49423234283c96ec3000000000000000000000000207f2fc49a2a234282c96ec30000000000000000000000005b382fc487742342ea6772c30000000000000000000000009b392fc4cd552242e26a72c303c25e3ef6c579bf60acddbc5c382fc485742342eb6772c30000000000000000000000005d382fc492722342ed6772c30000000000000000000000009b392fc4cc552242e36a72c30000000000000000000000005d382fc484742342ea6772c3000000000000000000000000207f2fc49c2a23427dc96ec30000000000000000000000005d382fc484742342dc6772c30000000000000000000000005e802fc4e10b224274cc6ec30000000000000000000000001f7f2fc49a2a23427bc96ec3000000000000000000000000207f2fc4512a23427dc96ec30000000000000000000000005d802fc4e10b224274cc6ec30000000000000000000000005c382fc485742342e76772c30000000000000000000000005a382fc485742342ea6772c30000000000000000000000005e382fc489742342ed6772c30000000000000000000000009e382fc4f6742342486872c30000000000000000000000009a392fc4cb552242e26a72c30000000000000000000000008d582fc4b87f2242a79272c3fbc82cbf030331bf8fe183be5d382fc485742342ed6772c30000000000000000000000005e382fc486742342ed6772c3000000000000000000000000a1582fc4d9772342949172c3c04bb7bef3a6683fb5705bbe5d382fc485742342ee6772c30000000000000000000000001f7f2fc49a2a23427ac96ec3000000000000000000000000207f2fc49c2a23427dc96ec30000000000000000000000005c382fc484742342de6772c30000000000000000000000005e382fc486742342e06772c30000000000000000000000005d802fc4e00b224271cc6ec30000000000000000000000000b9c2fc41b32224263f46ec38fb8a3be224572bf5a613dbd217f2fc49a2a23427dc96ec30000000000000000000000001d9c2fc4f42d234275f36ec3a0ffd9bea2ca663f16139ebd5d382fc485742342f16772c3000000000000000000000000e18b2fc4c3cb214238356fc3f8e45bbe17e679bffb7d003de18b2fc4c2cb214237356fc3000000000000000000000000e18b2fc4bbcb214202356fc3000000000000000000000000e18b2fc4c5cb214240356fc3000000000000000000000000e18b2fc4c3cb21423d356fc3000000000000000000000000e18b2fc4c4cb214204356fc3000000000000000000000000e18b2fc4c5cb21423b356fc300000000000000000000000026102fc45dde2042df916ec32ff3353ed0d578bfd35f1d3e24102fc45dde2042dc916ec300000000000000000000000025102fc45dde2042df916ec300000000000000000000000036102fc45dde2042f2916ec300000000000000000000000026102fc45dde2042df916ec30000000000000000000000001d102fc45dde20421a926ec300000000000000000000000024102fc45dde2042e8916ec300000000000000000000000023102fc45dde2042f8916ec300000000000000000000000028102fc45dde2042ea916ec300000000000000000000000025102fc45dde2042cd916ec300000000000000000000000021102fc45dde2042f9916ec300000000000000000000000025102fc45dde204205926ec300000000000000000000000024102fc45dde2042ec916ec300000000000000000000000024102fc45dde2042ec916ec3000000000000000000000000694c2fc4004923423b4272c35cb26b3dacb47e3ff690a8bd674c2fc401492342384272c3000000000000000000000000694c2fc4014923423c4272c3000000000000000000000000754c2fc4014923424d4272c3000000000000000000000000694c2fc4014923423a4272c3000000000000000000000000674c2fc401492342424272c3000000000000000000000000694c2fc401492342174272c3000000000000000000000000654c2fc401492342404272c30000000000000000000000006a4c2fc401492342564272c3000000000000000000000000b74e2fc4ddee2142124672c333cdbabe6f0c67bfc9396abeb04e2fc4d2ee2142124672c3000000000000000000000000b34e2fc4d9ee2142124672c3000000000000000000000000dd8b2fc4bacb214234356fc300000000000000000000000024102fc459de2042dd916ec300000000000000000000000024102fc45dde2042de916ec300000000000000000000000025102fc45ede2042e0916ec3000000000000000000000000e28b2fc4c2cb214238356fc300000000000000000000000093892fc4e725234261316fc3ea5271beed8e783f6e8a2b3d34102fc4e93d224227916ec344ca183e4c77793f54c02b3e96892fc4ea25234263316fc3000000000000000000000000dd8b2fc4bccb214233356fc300000000000000000000000094892fc4ea25234260316fc300000000000000000000000023102fc45ade2042dc916ec300000000000000000000000024102fc45bde2042dc916ec300000000000000000000000024102fc45bde2042dc916ec300000000000000000000000026102fc45ede2042e0916ec3000000000000000000000000e18b2fc4c4cb214239356fc300000000000000000000000026102fc45cde2042df916ec3000000000000000000000000b14e2fc4d2ee21420a4672c30000000000000000000000001ed32ec4460121424fa071c3b3be0e3ca32e7ebf86f9f2bd1fd32ec4470121424fa071c300000000000000000000000021d32ec44b01214253a071c3000000000000000000000000b44e2fc4d9ee21420e4672c3000000000000000000000000dd8b2fc4bccb214239356fc300000000000000000000000023102fc45bde2042e6916ec300000000000000000000000023102fc45cde2042eb916ec300000000000000000000000025102fc45fde2042ea916ec3000000000000000000000000e18b2fc4c4cb214240356fc3000000000000000000000000674c2fc4fc482342374272c30000000000000000000000002fd32ec4d8602242a59f71c3196ed83edcc5673f5260253d694c2fc4014923423a4272c3000000000000000000000000674c2fc4fb482342364272c3000000000000000000000000654c2fc4ff482342364272c300000000000000000000000020d32ec4480121424fa071c300000000000000000000000022d32ec44801214253a071c30000000000000000000000002fd32ec4d7602242a49f71c3000000000000000000000000684c2fc4ff4823423a4272c3000000000000000000000000664c2fc4fc482342334272c30000000000000000000000002fd32ec4da602242a49f71c3000000000000000000000000684c2fc400492342384272c3000000000000000000000000674c2fc4fe482342234272c300000000000000000000000025102fc45cde2042d9916ec300000000000000000000000025102fc45dde2042fc916ec300000000000000000000000086692ec4b62f2142bd0f71c3b615023f15185c3f242a523d86692ec4c9302142a80f71c300000000000000000000000086692ec4cf2f2142be0f71c300000000000000000000000086692ec4cc302142bd0f71c300000000000000000000000086692ec4cd302142c20f71c3000000000000000000000000ec6b2ec415c21f42a31271c3cdd5ce3ce7657ebfa0d5debdf76b2ec415c21f42991171c3000000000000000000000000ec6b2ec415c21f42a41271c3000000000000000000000000d00a2fc42501224287886ec3cdf5b1beec6a6e3fe6cade3dcd0a2fc42501224282886ec3000000000000000000000000d00a2fc42501224286886ec300000000000000000000000092a62ec44030214238fd6dc305154b3e280f793fc6aff33d8da62ec45f33214238fd6dc30000000000000000000000008ea62ec47932214238fd6dc300000000000000000000000092a62ec46733214238fd6dc30000000000000000000000008da62ec46033214238fd6dc30000000000000000000000008da62ec45e33214232fd6dc3000000000000000000000000f5a82ec4aac41f421a006ec339b8523eac3470bfc34b8e3e8fa62ec4b332214234fd6dc300000000000000000000000085692ec4c8302142ba0f71c3000000000000000000000000eb6b2ec413c21f42a41271c300000000000000000000000087692ec4b52f2142be0f71c3000000000000000000000000cd0a2fc41f01224284886ec30000000000000000000000008fa62ec46033214234fd6dc3000000000000000000000000d00a2fc42401224286886ec3000000000000000000000000d70a2fc4988d204223886ec3904e70bec4d278bf8b476dbcce0a2fc4c4ff214284886ec300000000000000000000000009ce2ec435fe21421a9571c35d81433d885f7e3f2ac4d0bd86692ec4cd302142bd0f71c30000000000000000000000000cce2ec437fe21421e9571c300000000000000000000000011ce2ec4a98a2042dc9471c31588e1befe825dbf790775be0ace2ec4a7fc21421c9571c300000000000000000000000051502ec45eee2042ba6971c3fa1a583fd7fc053fc78eed3d51502ec487ee2042a86971c300000000000000000000000051502ec403ee2042d36971c300000000000000000000000051502ec4daed2042bf6971c300000000000000000000000051502ec485ee2042a96971c300000000000000000000000051502ec487ee2042bb6971c300000000000000000000000051502ec487ee2042b96971c300000000000000000000000051502ec48dee2042ce6971c300000000000000000000000050502ec487ee2042c06971c300000000000000000000000051502ec484ee2042976971c300000000000000000000000051502ec485ee2042cc6971c300000000000000000000000051502ec481ee2042bf6971c3000000000000000000000000d8532ec4afd41f42ad6c71c38a9fbc3e12f46abfebb117bed7532ec4afd41f42c76c71c3000000000000000000000000d5532ec4b0d41f42ab6c71c3000000000000000000000000ff532ec4afd41f42c46c71c3000000000000000000000000d4532ec4afd41f42cb6c71c300000000000000000000000039ae2ec4dd7a214245a76dc39a9235bf7127333fdea7adbd38ae2ec4dd7a2142c8a66dc30000000000000000000000003cae2ec4dd7a214297a66dc300000000000000000000000035ae2ec4dd7a214237a76dc300000000000000000000000039ae2ec4dd7a2142c9a66dc30000000000000000000000003dae2ec4dd7a214293a66dc30000000000000000000000002bae2ec4dd7a2142a6a66dc300000000000000000000000039ae2ec4dd7a2142c8a66dc30000000000000000000000003dae2ec4de7a2142b1a66dc300000000000000000000000062912ec450182142b6816dc358a0dd3ea81d643f1eb10b3e6b912ec416152142b7816dc300000000000000000000000065912ec4a1172142b6816dc300000000000000000000000068912ec467182142b7816dc300000000000000000000000065912ec458182142b7816dc300000000000000000000000051502ec483ee2042ba6971c3000000000000000000000000d6532ec4b4d41f42ab6c71c300000000000000000000000050502ec43fee2042b96971c3000000000000000000000000d6532ec4b0d41f42ac6c71c300000000000000000000000050502ec480ee2042b96971c300000000000000000000000063912ec454182142af816dc300000000000000000000000050502ec484ee2042be6971c300000000000000000000000052502ec48aee20429f6971c3000000000000000000000000ea942ec481fe1f42a2846dc35c84a23e94896fbf2eba1d3e64912ec468172142b0816dc3000000000000000000000000e9942ec47ffe1f42a0846dc300000000000000000000000052502ec4f4ed2042bf6971c300000000000000000000000050502ec47fee2042be6971c300000000000000000000000066702ec4475b2142a58d71c3b64725bd9e707c3f9f1625be52502ec48aee2042bb6971c300000000000000000000000064702ec43a5b2142a18d71c300000000000000000000000065702ec43a5c2142a38d71c300000000000000000000000064702ec43f5c2142a18d71c300000000000000000000000062702ec4445c2142a38d71c3000000000000000000000000d6532ec4b0d41f42ac6c71c300000000000000000000000073702ec493362042b38c71c3cdb41dbfbcb342bf06fc51be52502ec487ee2042ba6971c300000000000000000000000066702ec4405c2142a48d71c300000000000000000000000064702ec43c5c2142a18d71c300000000000000000000000065702ec43f5c2142a38d71c30000000000000000000000003aae2ec4dd7a2142c8a66dc300000000000000000000000066702ec4455b2142a88d71c300000000000000000000000065912ec458182142b1816dc300000000000000000000000038ae2ec4dc7a2142c7a66dc300000000000000000000000039ae2ec4df7a2142c9a66dc300000000000000000000000051502ec488ee2042c06971c300000000000000000000000055502ec48bee2042996971c300000000000000000000000063702ec43d5b2142a68d71c300000000000000000000000056ad2ec4bc792142d9ab6dc30000000000000000000000003aae2ec4db7a2142c9a66dc300000000000000000000000039ae2ec4cc7a2142c8a66dc300000000000000000000000063702ec43a5c2142a58d71c300000000000000000000000064702ec43f5c2142a58d71c300000000000000000000000063702ec4235c2142a68d71c300000000000000000000000065702ec43f5c21428d8d71c3000000000000000000000000e9942ec47ffe1f42a1846dc300000000000000000000000050ae2ec42056204251a56dc3897129bf400e3ebf1b3ad4bd3aae2ec4db7a2142c9a66dc300000000000000000000000052502ec485ee2042c06971c300000000000000000000000064702ec43e5c2142a68d71c300000000000000000000000063702ec43b5c2142a68d71c300000000000000000000000064702ec43f5c2142a58d71c300000000000000000000000063702ec43f5c2142828d71c300000000000000000000000066892dc4adeb1e421afe6fc3ced4143f43654f3f745e9a3d66892dc45eec1e420ffe6fc300000000000000000000000066892dc489eb1e4234fe6fc300000000000000000000000066892dc460ec1e4209fe6fc300000000000000000000000066892dc460ec1e421afe6fc300000000000000000000000066892dc45cec1e421bfe6fc300000000000000000000000066892dc466ec1e4235fe6fc300000000000000000000000066892dc45eec1e4204fe6fc300000000000000000000000066892dc45dec1e4231fe6fc300000000000000000000000023cb2dc4d7821d426df16cc3cecb063eec7b75bf63a7803ec68d2dc4d7821d428e0370c3ff056fbd07267dbf5c350cbe24cb2dc4d7821d4274f16cc3000000000000000000000000ffca2dc4d7821d423df36cc3000000000000000000000000c68d2dc4d7821d428e0370c300000000000000000000000067292ec4b354204200766dc39c7291be1bd6723f88fb0e3e68292ec4b3542042ff756dc30000000000000000000000006b292ec4b354204203766dc3000000000000000000000000c6c62dc4b9ea1e42ffeb6cc36c08653eb9f56d3ffb19963ec0c62dc4e0ec1e42ffeb6cc3000000000000000000000000c2c62dc47eeb1e4200ec6cc3000000000000000000000000c6c62dc4f7ec1e4200ec6cc3000000000000000000000000c4c62dc4edec1e42ffeb6cc3000000000000000000000000bfc62dc4e3ec1e42f7eb6cc300000000000000000000000022cb2dc45f831d426cf16cc3000000000000000000000000c4c62dc4b8eb1e42faeb6cc3000000000000000000000000fdca2dc4228f1d423df16cc300000000000000000000000022cb2dc455831d426df16cc300000000000000000000000064892dc45fec1e4219fe6fc3000000000000000000000000c68d2dc4d9821d428e0370c300000000000000000000000067892dc401eb1e421dfe6fc300000000000000000000000065892dc457ec1e421afe6fc300000000000000000000000066892dc45dec1e4213fe6fc300000000000000000000000021cb2dc45e831d4272f16cc300000000000000000000000025cb2dc460831d4244f16cc300000000000000000000000023cb2dc453831d4271f16cc300000000000000000000000067292ec4b3542042ff756dc3000000000000000000000000c3c62dc4f0ec1e42fbeb6cc30000000000000000000000006a292ec4bf54204204766dc300000000000000000000000077292ec471db1e4268756dc3f847bbbefd7b6cbfcc38e83d6b292ec4aa53204203766dc300000000000000000000000076292ec4e9e41e426b756dc300000000000000000000000077292ec45ddb1e4268756dc300000000000000000000000052ec2dc48c532042318270c38a0a083ecc017d3f5a3499bd68892dc465ec1e421efe6fc300000000000000000000000032e32dc478d21f42293b70c300000000000000000000000056ec2dc49c532042368270c30000000000000000000000005dec2dc451da1e42dd8170c3c55d02bfe72752bf2c4a84be53ec2dc490532042328270c300000000000000000000000056ec2dc466522042388270c300000000000000000000000068892dc463ec1e421efe6fc300000000000000000000000055ec2dc49c532042358270c300000000000000000000000050ec2dc48e532042338270c300000000000000000000000069892dc46bec1e4209fe6fc300000000000000000000000055ec2dc49b532042438270c300000000000000000000000076292ec472db1e426c756dc300000000000000000000000076292ec45adb1e426c756dc30000000000000000000000000bc92dc459e41c4214c76cc3a12201bfb7c45cbfa447303d0bc92dc461e41c4220c76cc30000000000000000000000000bc92dc45fe41c4224c76cc30000000000000000000000000bc92dc45ce41c420cc76cc30000000000000000000000000bc92dc45ee41c4220c76cc30000000000000000000000000bc92dc4d7e31c4223c76cc30000000000000000000000000bc92dc4ace31c4223c76cc30000000000000000000000000bc92dc45be41c4208c76cc30000000000000000000000000bc92dc4b8e31c4223c76cc30000000000000000000000000bc92dc45ae41c4221c76cc30000000000000000000000000bc92dc45be41c4225c76cc30000000000000000000000000bc92dc45de41c422ec76cc30000000000000000000000007fa32dc4cf6d1c42bd946cc38634293fa8ac26bf600dbf3e7da32dc4cf6d1c4207956cc30000000000000000000000007fa32dc4cf6d1c42c0946cc300000000000000000000000080a32dc4cf6d1c42b8946cc300000000000000000000000080a32dc4cf6d1c42be946cc30000000000000000000000007fa32dc4cf6d1c42ef946cc30000000000000000000000007fa32dc4cf6d1c42c0946cc300000000000000000000000080a32dc4d06d1c42b4946cc3000000000000000000000000aaa32dc4cf6d1c42ef946cc300000000000000000000000082a32dc4cf6d1c42c2946cc300000000000000000000000081a32dc4cf6d1c42c0946cc300000000000000000000000080a32dc4cf6d1c42eb946cc3000000000000000000000000a3a32dc4cf6d1c42e0946cc300000000000000000000000080a32dc4cf6d1c42ea946cc300000000000000000000000082a32dc4cf6d1c42c4946cc300000000000000000000000081a32dc4cf6d1c42dc946cc300000000000000000000000081a32dc4cf6d1c42c3946cc3000000000000000000000000b57f2dc491921e42931370c37397a2bd8c68763fcdc084beb77f2dc491921e42941370c3000000000000000000000000b77f2dc491921e42951370c3000000000000000000000000c57f2dc491921e42161370c3000000000000000000000000b77f2dc491921e42821370c3000000000000000000000000b37f2dc491921e42b71370c3000000000000000000000000b67f2dc491921e429a1370c3000000000000000000000000b67f2dc491921e42b81370c3000000000000000000000000b77f2dc491921e42b21370c300000000000000000000000035842dc42ffb1c428e1a70c38a184abf96c6eabe16efd0be30842dc41efb1c428e1a70c300000000000000000000000032842dc423fb1c428e1a70c300000000000000000000000030842dc423fb1c428e1a70c300000000000000000000000032842dc4a5fa1c428e1a70c300000000000000000000000031842dc493fa1c428e1a70c300000000000000000000000030842dc41efb1c42871a70c30000000000000000000000001c5e2dc4e4821c426ce76fc3536d4f3ee90677bfc5db2abe1b5e2dc4de821c426ae76fc3000000000000000000000000205e2dc4ec821c4271e76fc300000000000000000000000031842dc424fb1c42881a70c300000000000000000000000008c92dc45be41c421fc76cc300000000000000000000000031842dc421fb1c428c1a70c300000000000000000000000009c92dc45ce41c4220c76cc30000000000000000000000000ac92dc45be41c4215c76cc300000000000000000000000080a32dc4d36d1c42bc946cc30000000000000000000000001d5e2dc4e0821c426fe76fc30000000000000000000000007fa32dc4cf6d1c42c0946cc300000000000000000000000081a32dc4cd6d1c42b0946cc30000000000000000000000007ea32dc4ce6d1c42bc946cc300000000000000000000000082a32dc4da6d1c42c1946cc30000000000000000000000000bc92dc460e41c4221c76cc30000000000000000000000001b5e2dc4dd821c426de76fc3000000000000000000000000205e2dc4ec821c4272e76fc300000000000000000000000032842dc423fb1c428c1a70c30000000000000000000000007fa32dc4ce6d1c42bf946cc300000000000000000000000080a32dc4cd6d1c42af946cc300000000000000000000000082a32dc4da6d1c42c3946cc300000000000000000000000083a32dc4d86d1c42bb946cc30000000000000000000000000cc92dc461e41c4224c76cc30000000000000000000000000cc92dc45ee41c4217c76cc3000000000000000000000000b67f2dc494921e42951370c3000000000000000000000000315e2dc4bb281e4298e66fc3bae0583f7d33023f885c1d3eb57f2dc490921e42921370c300000000000000000000000032842dc444fa1c42881a70c3000000000000000000000000b67f2dc494921e42951370c3000000000000000000000000b77f2dc490921e42961370c30000000000000000000000001d5e2dc4de821c426ce76fc30000000000000000000000001f5e2dc4ea811c4271e76fc30000000000000000000000001f5e2dc4dd821c426fe76fc3000000000000000000000000315e2dc4b9281e4298e66fc3000000000000000000000000b77f2dc490921e42951370c30000000000000000000000007ec42dc4d87b1e4208c16cc3597835bfa022333fe693b5bdb87f2dc494921e427d1370c300000000000000000000000082a32dc4af131e42c3946cc394bfc53e77ea593f48e8b53e345e2dc4bd281e4285e66fc30000000000000000000000007cc42dc4d47b1e4206c16cc3000000000000000000000000b67f2dc490921e42821370c30000000000000000000000000ac92dc459e41c4220c76cc30000000000000000000000000ac92dc49ee31c4222c76cc300000000000000000000000031842dc4f4fa1c428d1a70c300000000000000000000000009c92dc45ae41c4223c76cc30000000000000000000000000bc92dc49be31c4224c76cc30000000000000000000000007ec42dc4d57b1e420ac16cc3000000000000000000000000ccc82dc496e31c42fec86cc3000000000000000000000000b67f2dc491921e429f1370c300000000000000000000000080a32dc4ce6d1c42be946cc300000000000000000000000082a32dc4f66c1c42c2946cc30000000000000000000000007fa32dc4cb6d1c42bd946cc30000000000000000000000001c5e2dc4de821c426fe76fc300000000000000000000000080a32dc4cd6d1c42c0946cc300000000000000000000000080a32dc4ce6d1c42bb946cc300000000000000000000000082a32dc4dd6c1c42c4946cc300000000000000000000000080a32dc4cb6d1c42c0946cc300000000000000000000000082a32dc4cd6d1c42c1946cc300000000000000000000000080a32dc4cd6d1c42bd946cc300000000000000000000000083a32dc4d36d1c42c3946cc30000000000000000000000000cc92dc45ee41c4222c76cc30000000000000000000000001f5e2dc4dd821c4274e76fc300000000000000000000000082a32dc4ce6d1c42c4946cc300000000000000000000000080a32dc4cf6d1c42d1946cc300000000000000000000000081a32dc4ce6d1c42c2946cc300000000000000000000000083a32dc4d46d1c42c4946cc30000000000000000000000000bc92dc45ce41c4225c76cc30000000000000000000000008f2b2fc43fd6204222106fc38abfdabef65d67bf7ae1d0bc8f2b2fc44fd620425b106fc30000000000000000000000008f2b2fc454d620425e106fc30000000000000000000000008f2b2fc458d5204239106fc30000000000000000000000008f2b2fc45cd520425a106fc30000000000000000000000008f2b2fc45dd5204261106fc30000000000000000000000008ccb2ec424e82142113372c3fc02c53e577f6b3f3c9f9a3d8ccb2ec4c2e82142f13272c30000000000000000000000008ccb2ec4c1e82142f53272c30000000000000000000000008ccb2ec4bbe82142f83272c30000000000000000000000008ccb2ec4c4e82142f13272c30000000000000000000000008ccb2ec4c8e82142103372c30000000000000000000000008ccb2ec4c3e821420f3372c30000000000000000000000008ccb2ec4c3e821420e3372c30000000000000000000000008ccb2ec4c0e82142e53272c30000000000000000000000008ccb2ec4c3e82142f13272c30000000000000000000000008ccb2ec4c3e82142f13272c30000000000000000000000008ccb2ec4c0e82142013372c30000000000000000000000008ccb2ec4c4e82142073372c30000000000000000000000008ccb2ec4c2e82142fc3272c30000000000000000000000002aee2ec45b242142906072c39195b2beb14f6bbf14413bbe25ee2ec450242142906072c300000000000000000000000027ee2ec4582421428f6072c300000000000000000000000024ee2ec44d242142906072c300000000000000000000000027ee2ec457242142906072c30000000000000000000000002bee2ec44c242142906072c300000000000000000000000025ee2ec44d242142906072c300000000000000000000000028ee2ec44d2421428f6072c300000000000000000000000028ee2ec44d242142906072c30000000000000000000000002c0c2fc477a22142d2e26ec3a567b33e2971673fba917a3e320c2fc473a02142d2e26ec30000000000000000000000002b0c2fc477a22142d2e26ec30000000000000000000000002d0c2fc423a22142d1e26ec3000000000000000000000000310c2fc488a22142d2e26ec30000000000000000000000002b0c2fc477a22142d3e26ec30000000000000000000000002d0c2fc47ba22142d3e26ec3000000000000000000000000320c2fc477a22142d2e26ec30000000000000000000000002d0c2fc477a22142d2e26ec300000000000000000000000089cb2ec4c6e821420d3372c30000000000000000000000008acb2ec4c3e821420c3372c300000000000000000000000089cb2ec4b1e821420f3372c300000000000000000000000065cd2ec45d2021425a3672c38cd2ba3e59776cbfd235efbd8acb2ec4c0e821420b3372c30000000000000000000000002d0c2fc476a22142c9e26ec30000000000000000000000008ccb2ec4c5e82142f93272c30000000000000000000000002d0c2fc477a22142cbe26ec30000000000000000000000002c0c2fc464a22142c9e26ec30000000000000000000000001a0e2fc471d120423ee66ec3bbb1a43e9ef870bfb3d0d13d8bcb2ec4c1e82142f13272c300000000000000000000000081cb2ec4a6e82142183372c300000000000000000000000025ee2ec44e2421428a6072c300000000000000000000000024ee2ec44c242142866072c300000000000000000000000027ee2ec4572421428d6072c30000000000000000000000008c2b2fc445d6204256106fc300000000000000000000000025ee2ec44d2421428c6072c3000000000000000000000000332b2fc450d52042d90f6fc3000000000000000000000000902b2fc451d620425c106fc300000000000000000000000023ee2ec44b242142896072c300000000000000000000000027ee2ec456242142906072c30000000000000000000000004bec2ec441ec21423c5d72c3ea087bbe4b2b6f3fd49884be25ee2ec44b242142896072c300000000000000000000000089cb2ec4c3e821420b3372c30000000000000000000000008acb2ec4c4e821420d3372c30000000000000000000000008bcb2ec4c4e821420c3372c30000000000000000000000008ccb2ec4c5e82142103372c30000000000000000000000008acb2ec4bfe821420d3372c300000000000000000000000028ee2ec44c2421428d6072c30000000000000000000000009f292fc4f4a52142e70c6fc350d5acbe4b99703f3de356bd8e2b2fc45bd5204258106fc300000000000000000000000024ee2ec44c2421428d6072c300000000000000000000000027ee2ec45a232142916072c30000000000000000000000002d0c2fc477a22142cae26ec30000000000000000000000002d0c2fc47aa22142cce26ec30000000000000000000000008ccb2ec4c3e82142f43272c30000000000000000000000008ccb2ec4c7e82142f03272c30000000000000000000000002e0c2fc477a22142cce26ec30000000000000000000000008f2b2fc45cd520425d106fc30000000000000000000000008dcb2ec4c2e82142023372c300000000000000000000000028ee2ec44c2421428f6072c300000000000000000000000021fc2ec498f51f42ba096ec3709a09bfb05957bf1e4f70bd21fc2ec49ff51f42e6096ec300000000000000000000000021fc2ec49ff51f42da096ec300000000000000000000000021fc2ec4b3f41f42e2096ec3000000000000000000000000a4912ec4e121214201b871c3b4c1003f4eba5b3fb438d03da3912ec49c232142d7b771c3000000000000000000000000a3912ec49c232142d2b771c3000000000000000000000000a3912ec47b222142f4b771c3000000000000000000000000a3912ec49f232142d5b771c3000000000000000000000000a2912ec4a6232142feb771c3000000000000000000000000a3912ec4a1232142fdb771c3000000000000000000000000a3912ec4a1232142feb771c3000000000000000000000000a3912ec49b232142ceb771c3000000000000000000000000a3912ec4a3232142f5b771c3000000000000000000000000a3912ec4a1232142ebb771c3000000000000000000000000a3912ec49f232142f4b771c3000000000000000000000000a3912ec4a123214203b871c3000000000000000000000000a3912ec4a2232142edb771c30000000000000000000000004adf2ec4e1b51f4237e06dc31536b23e48156ebff2acf13d4bdf2ec4e1b51f4202e06dc30000000000000000000000004bdf2ec4e1b51f4213e06dc30000000000000000000000004fdf2ec4e1b51f4208e06dc30000000000000000000000004cdf2ec4e1b51f420de06dc300000000000000000000000053df2ec4e1b51f4214e06dc3000000000000000000000000d4b32ec4294c20423ae571c3f15aefbeafdc5bbfdc6f56bed0b32ec4214c20423be571c3000000000000000000000000d2b32ec4244c20423be571c3000000000000000000000000d0b32ec4204c20423be571c3000000000000000000000000cfb32ec4d44b20423be571c30000000000000000000000003add2ec42cd320420edc6dc3d46eec3e27ce573fdd438d3e41dd2ec42ed020420edc6dc30000000000000000000000003bdd2ec42ed320420edc6dc30000000000000000000000003ddd2ec4f3d120420edc6dc300000000000000000000000043dd2ec43bd320420ddc6dc30000000000000000000000003bdd2ec42fd320420ddc6dc30000000000000000000000003ddd2ec42fd320420edc6dc300000000000000000000000042dd2ec42fd320420edc6dc30000000000000000000000003ddd2ec42ed320420edc6dc3000000000000000000000000b2932ec452062042fbbb71c31a61ca3e292a69bf7e15f4bd4ddf2ec4dbb51f4203e06dc3000000000000000000000000b1932ec44f062042febb71c3000000000000000000000000a1912ec4a0232142fab771c30000000000000000000000009f912ec49f232142fcb771c3000000000000000000000000a2912ec45c222142feb771c3000000000000000000000000b1932ec454062042fcbb71c3000000000000000000000000a0912ec49b232142fcb771c30000000000000000000000003add2ec42ad3204204dc6dc3000000000000000000000000a1912ec49d232142e3b771c30000000000000000000000003add2ec42ed3204203dc6dc30000000000000000000000003ddd2ec42ad2204206dc6dc30000000000000000000000004bdf2ec4dfb51f4203e06dc3000000000000000000000000a2912ec49e232142e2b771c3000000000000000000000000b1932ec456062042febb71c3000000000000000000000000d0b32ec41e4c204235e571c3000000000000000000000000b2932ec454062042fcbb71c3000000000000000000000000d0b32ec4204c204236e571c30000000000000000000000001efc2ec498f51f42e2096ec3000000000000000000000000ceb32ec4204c204238e571c30000000000000000000000004ddf2ec4dfb51f4205e06dc300000000000000000000000020fc2ec49ef51f42e6096ec3000000000000000000000000b2932ec454062042ffbb71c3000000000000000000000000d0b32ec4214c204239e571c3000000000000000000000000a0912ec49f232142fbb771c3000000000000000000000000a2912ec4a4232142feb771c300000000000000000000000039b22ec40e27214223e271c33fa188be47ed6b3fc15390beceb32ec40a4c204236e571c3000000000000000000000000a2912ec4a0232142fdb771c3000000000000000000000000a3912ec4a0232142ffb771c3000000000000000000000000a2912ec49e232142fdb771c30000000000000000000000003ddd2ec42ed3204206dc6dc30000000000000000000000003ddd2ec42ed3204206dc6dc3000000000000000000000000a2912ec49e232142e0b771c3000000000000000000000000a4912ec4a0232142e4b771c30000000000000000000000007cfa2ec4a8d62042ba066ec39b06bbbe53bd6d3f36c183bd21fc2ec4acf41f42e6096ec3000000000000000000000000d0b32ec4974b20423ae571c30000000000000000000000003ddd2ec42ed3204206dc6dc3000000000000000000000000a1912ec4a0232142f0b771c3000000000000000000000000db602fc44f3421422a5b6ec355df09bff78157bf525612bddb602fc454342142495b6ec3000000000000000000000000db602fc4543421424e5b6ec3000000000000000000000000b1012fc48c642242e77e71c34a82003f38355c3f552ab83db1012fc47c652242c97e71c3000000000000000000000000b1012fc47b652242be7e71c3000000000000000000000000b1012fc404642242ef7e71c3000000000000000000000000b1012fc47b652242cb7e71c3000000000000000000000000b1012fc480652242e57e71c3000000000000000000000000b1012fc47d652242e77e71c3000000000000000000000000b1012fc47d652242e67e71c3000000000000000000000000b1012fc47a652242cd7e71c3000000000000000000000000b1012fc480652242e57e71c3000000000000000000000000b1012fc47d652242d47e71c3000000000000000000000000b1012fc47d652242ed7e71c3000000000000000000000000b1012fc47c652242c87e71c3000000000000000000000000b1012fc47c652242da7e71c3000000000000000000000000df432fc4de02214205326ec38ddebe3eae2f6bbfe89a053ee1432fc4de022142fe316ec3000000000000000000000000e0432fc4de0221420d326ec3000000000000000000000000e1432fc4de022142fe316ec3000000000000000000000000e0432fc4de02214207326ec3000000000000000000000000e5432fc4de02214207326ec300000000000000000000000081232fc46a7d214293ab71c33aa6ebbe3f525cbf1e235fbe7b232fc45f7d214292ab71c30000000000000000000000007e232fc4647d214292ab71c30000000000000000000000007c232fc4627d214292ab71c30000000000000000000000007d232fc49b7c214292ab71c30000000000000000000000004e422fc41c212242a22e6ec33b88e63e5beb573f2e0c963e50422fc4761f2242a22e6ec30000000000000000000000004e422fc41c212242a22e6ec300000000000000000000000050422fc441202242a12e6ec300000000000000000000000051422fc420212242a22e6ec30000000000000000000000004f422fc41c212242a22e6ec300000000000000000000000050422fc41c212242a22e6ec300000000000000000000000052422fc41c212242a22e6ec300000000000000000000000050422fc48d1d2242a22e6ec30000000000000000000000004f422fc41c212242a22e6ec300000000000000000000000040032fc440472142448271c33430dc3e97e063bf1f421abee1432fc4dd022142fe316ec300000000000000000000000041032fc441472142498271c3000000000000000000000000ae012fc47b652242e37e71c3000000000000000000000000af012fc47c652242e47e71c3000000000000000000000000b0012fc406642242e67e71c300000000000000000000000041032fc43e472142458271c3000000000000000000000000af012fc479652242e37e71c30000000000000000000000004e422fc4192122429c2e6ec3000000000000000000000000b0012fc47b652242d37e71c30000000000000000000000004e422fc41c2122429e2e6ec300000000000000000000000050422fc4752022429f2e6ec3000000000000000000000000e1432fc4dd022142fe316ec3000000000000000000000000af012fc47c652242cc7e71c300000000000000000000000040032fc43e472142498271c30000000000000000000000007b232fc45f7d21428aab71c300000000000000000000000040032fc43e472142458271c30000000000000000000000007d232fc4637d21428dab71c3000000000000000000000000d9602fc450342142465b6ec30000000000000000000000007b232fc4607d21428fab71c3000000000000000000000000e1432fc4de022142fe316ec3000000000000000000000000db602fc454342142495b6ec300000000000000000000000041032fc43f472142488271c30000000000000000000000007c232fc4637d214291ab71c3000000000000000000000000af012fc47d652242e47e71c3000000000000000000000000b0012fc480652242e57e71c30000000000000000000000001f022fc430662242847f71c30000000000000000000000002f222fc4dd682242c2a871c301438ebeb839673f2e77a7beb1012fc47d652242e77e71c3000000000000000000000000b1012fc47d652242e77e71c3000000000000000000000000b0012fc47c652242e57e71c300000000000000000000000050422fc41c2122429d2e6ec300000000000000000000000050422fc41c2122429f2e6ec3000000000000000000000000b1012fc47b652242d27e71c3000000000000000000000000b3012fc480652242da7e71c3000000000000000000000000875f2fc47b2422426f586ec3256bc9bef0c06a3f79e786bd7d232fc4df7c214290ab71c30000000000000000000000004f422fc41c2122429e2e6ec3000000000000000000000000b1012fc47c652242dc7e71c3000000000000000000000000b3132ec45d621e42c3ac6cc3cc5cf6bec75960bf6fccacbcb3132ec463621e42dbac6cc3000000000000000000000000b3132ec464621e42e3ac6cc3000000000000000000000000b3132ec465621e42f5ac6cc3000000000000000000000000b3132ec4ec611e42dbac6cc3000000000000000000000000b3132ec4d8611e42e3ac6cc3000000000000000000000000b3132ec4a7621e42afac6cc3000000000000000000000000b4132ec4a7621e42dcac6cc3000000000000000000000000b3132ec4a1621e42e3ac6cc3000000000000000000000000b3132ec4a5621e42f3ac6cc300000000000000000000000068a02dc477a21d423fa970c31889593d06707fbffd3522bd69a02dc477a21d421aa970c300000000000000000000000068a02dc477a21d4241a970c300000000000000000000000068a02dc477a21d4247a970c300000000000000000000000067a02dc477a21d423ea970c30000000000000000000000006ca02dc477a21d4243a970c30000000000000000000000006aa02dc477a21d4241a970c300000000000000000000000067a02dc477a21d4242a970c300000000000000000000000067a02dc477a21d4241a970c300000000000000000000000079a02dc477a21d4239a970c30000000000000000000000006aa02dc477a21d4244a970c30000000000000000000000006aa02dc477a21d4250a970c3000000000000000000000000c10f2ec4de7a1f42fea86cc3a77e98be000d743f405e4bbdc00f2ec4de7a1f42f5a86cc3000000000000000000000000c00f2ec4de7a1f42fca86cc3000000000000000000000000c00f2ec4dd7a1f42f1a86cc3000000000000000000000000c60f2ec4de7a1f4201a96cc3000000000000000000000000a7c22dc40e291e4215d270c3508f3fbf3a4407bfb95dcdbea2c22dc4f9281e4216d270c3000000000000000000000000a5c22dc40e291e4217d270c3000000000000000000000000a6c22dc40a291e4216d270c3000000000000000000000000a6c22dc4522b1e4216d270c3000000000000000000000000a5c22dc4a22a1e4217d270c3000000000000000000000000a2c22dc4fb281e420fd270c300000000000000000000000067a02dc475a21d423fa970c300000000000000000000000067a02dc478a21d423ea970c300000000000000000000000069a02dc47ea21d4240a970c3000000000000000000000000a5c22dc40d291e4215d270c3000000000000000000000000b2132ec45c621e42daac6cc3000000000000000000000000a1c22dc4f9281e4211d270c3000000000000000000000000b1132ec45e621e42e0ac6cc30000000000000000000000009d132ec44e621e42dbad6cc3000000000000000000000000d6f52dc4aeeb1d425e836cc38ddb1c3fa1fa39bfc64a9f3e68a02dc476a21d4241a970c3000000000000000000000000d3f52dc4aaeb1d4262836cc3000000000000000000000000d8f52dc4b2eb1d4247836cc3000000000000000000000000d5f52dc4adeb1d425e836cc3000000000000000000000000d7f52dc4b4eb1d4260836cc3000000000000000000000000b5132ec469621e42deac6cc300000000000000000000000068a02dc478a21d4242a970c300000000000000000000000069a02dc481a21d4244a970c3000000000000000000000000a6c22dc410291e4217d270c3000000000000000000000000d4f52dc4adeb1d4262836cc3000000000000000000000000d8f52dc4afeb1d4246836cc3000000000000000000000000d6f52dc4b4eb1d4264836cc3000000000000000000000000d9f52dc4b8eb1d4252836cc3000000000000000000000000fef72dc467f91d4236866cc3000000000000000000000000b3132ec463621e42e4ac6cc3000000000000000000000000a0132ec45c621e42e5ad6cc30000000000000000000000009ec22dc42b2b1e420dd270c30000000000000000000000005ba02dc4c7a51d4233a970c300000000000000000000000068a02dc479a21d4240a970c30000000000000000000000006aa02dc4f9a11d4242a970c30000000000000000000000006ba02dc4f2a51d4244a970c3000000000000000000000000a5c22dc4972b1e4217d270c30000000000000000000000006aa02dc478a21d4240a970c3000000000000000000000000c00f2ec4d77a1f42fca86cc3000000000000000000000000bebe2dc487411f426fcd70c3f3bd62be6a6a743f4f524bbeccbe2dc492411f42d8cc70c3000000000000000000000000b9f52dc42a131f42d3846cc31d2f103f72093b3fa6a0c53ec00f2ec4de7a1f42fda86cc30000000000000000000000006aa02dc40fca1e4244a970c3e65a273fdeb2403f50189f3dadbe2dc447411f425ccd70c3000000000000000000000000b9be2dc450411f42cacc70c3000000000000000000000000a1132ec403671e42c9ac6cc3000000000000000000000000af132ec49a621e42d8ac6cc3000000000000000000000000c00f2ec4df7a1f42fda86cc3000000000000000000000000bfbe2dc468411f426ecd70c3000000000000000000000000bfbe2dc448411f4270cd70c3000000000000000000000000b0132ec498621e42e0ac6cc3000000000000000000000000d6f52dc4adeb1d425f836cc3000000000000000000000000d7f52dc472eb1d4260836cc3000000000000000000000000caf52dc4d1ee1d4252836cc3000000000000000000000000d5f52dc4a8eb1d425d836cc300000000000000000000000067a02dc478a21d4240a970c30000000000000000000000006aa02dc4f1a11d4243a970c3000000000000000000000000d4f52dc4adeb1d4261836cc3000000000000000000000000d8f52dc4aeeb1d424a836cc3000000000000000000000000d7f52dc44feb1d4266836cc3000000000000000000000000b3f52dc457eb1d42db856cc3000000000000000000000000d4f52dc4a9eb1d4263836cc3000000000000000000000000d7f52dc4aceb1d4260836cc3000000000000000000000000d6f52dc4adeb1d4261836cc3000000000000000000000000d6f52dc405ef1d4264836cc3000000000000000000000000d6f52dc4aeeb1d4260836cc3000000000000000000000000b4132ec4a8621e42deac6cc30000000000000000000000006aa02dc476a21d4244a970c30000000000000000000000006aa02dc433ca1e4242a970c3000000000000000000000000b6be2dc447411f4265cd70c3000000000000000000000000d6f52dc4adeb1d4265836cc3000000000000000000000000d7f52dc4aceb1d425d836cc3000000000000000000000000d6f52dc4abeb1d4264836cc3000000000000000000000000d7f52dc4aeeb1d4264836cc3000000000000000000000000b3132ec4a5621e42e4ac6cc300000000000000000000000021d02cc4100d1c42ea9e6bc32f7e04bf66e35abfaf70053d21d02cc4120d1c42f09e6bc300000000000000000000000021d02cc4020d1c42b69e6bc300000000000000000000000021d02cc4110d1c42f09e6bc300000000000000000000000021d02cc4110d1c42f29e6bc300000000000000000000000020d02cc4090d1c42ef9e6bc300000000000000000000000022d02cc45f0d1c42af9e6bc300000000000000000000000021d02cc4130d1c42ea9e6bc300000000000000000000000021d02cc4f40c1c42ec9e6bc300000000000000000000000021d02cc40d0d1c42ee9e6bc300000000000000000000000021d02cc4120d1c42b89e6bc300000000000000000000000021d02cc4130d1c42f79e6bc300000000000000000000000093892cc45dac1d42050c6fc3164ee73ccc507f3f83078abd94892cc45dac1d42e00b6fc300000000000000000000000094892cc45dac1d42000c6fc300000000000000000000000097892cc45dac1d42cd0b6fc300000000000000000000000098892cc45dac1d42e50b6fc300000000000000000000000097892cc45dac1d42ed0b6fc300000000000000000000000098892cc45dac1d42e60b6fc3000000000000000000000000a3892cc45dac1d42fb0b6fc300000000000000000000000097892cc45dac1d42e30b6fc300000000000000000000000096892cc45dac1d42ed0b6fc3000000000000000000000000638b2cc40b531c42d90f6fc311bd41bfea69f4bee59ee4be5c8b2cc4f8521c42da0f6fc3000000000000000000000000628b2cc412531c42da0f6fc30000000000000000000000005d8b2cc4f8521c42da0f6fc30000000000000000000000005f8b2cc4ff521c42da0f6fc30000000000000000000000005c8b2cc424531c42d90f6fc3000000000000000000000000648b2cc409531c42da0f6fc3000000000000000000000000688b2cc4f9521c42d90f6fc30000000000000000000000005e8b2cc41c531c42da0f6fc30000000000000000000000005b8b2cc4fa521c42da0f6fc3000000000000000000000000648b2cc4fa521c42da0f6fc30000000000000000000000005e8b2cc4f8521c42da0f6fc300000000000000000000000099a22cc4424a1b42408b6bc3e152e4bdb8447ebf2be804bd1ed02cc4050d1c42e99e6bc30000000000000000000000001ed02cc4010d1c42e99e6bc300000000000000000000000099a22cc4434a1b42408b6bc300000000000000000000000099942cc4e6b21c42a1d76bc300000000000000000000000022d02cc40f0d1c42eb9e6bc30000000000000000000000009aa22cc4424a1b42418b6bc300000000000000000000000018712cc4f5cc1b4273ce6ec302299dbd0fab7ebfe93689bd5d8b2cc4f1521c42cc0f6fc3000000000000000000000000618b2cc405531c42d70f6fc300000000000000000000000019712cc4f6cc1b4274ce6ec30000000000000000000000005f8b2cc4fc521c42d30f6fc300000000000000000000000018712cc4f7cc1b427ece6ec300000000000000000000000099a22cc4424a1b42368b6bc300000000000000000000000099a22cc4424a1b42428b6bc30000000000000000000000001ed02cc4010d1c42e99e6bc300000000000000000000000024d02cc4200d1c42e69e6bc300000000000000000000000021d02cc40e0d1c42ef9e6bc30000000000000000000000005c8b2cc4f5521c42d10f6fc30000000000000000000000005c8b2cc4f2521c42d70f6fc30000000000000000000000001ed02cc4010d1c42eb9e6bc3000000000000000000000000538b2cc4cb521c42c40f6fc30000000000000000000000005f8b2cc402531c42d50f6fc300000000000000000000000019712cc4f7cc1b427fce6ec30000000000000000000000005f8b2cc4ff521c42db0f6fc300000000000000000000000098a22cc4414a1b42448b6bc300000000000000000000000099a22cc4424a1b423f8b6bc300000000000000000000000022d02cc4120d1c42ef9e6bc300000000000000000000000097a22cc4414a1b42488b6bc3000000000000000000000000b58a2cc48c9b1b4233266bc310f2a5be460833bd11ec713fed622cc4b3321b42b4f46ac3e9fd513e012278bfb0240b3e99a22cc4414a1b42418b6bc300000000000000000000000098a22cc4424a1b42408b6bc30000000000000000000000001ed02cc4040d1c42e99e6bc30000000000000000000000001ed02cc4050d1c42e89e6bc300000000000000000000000021d02cc40b0d1c42ee9e6bc3000000000000000000000000c08a2cc49b9b1b4247266bc30000000000000000000000001dd02cc4050d1c42e69e6bc300000000000000000000000098a22cc4424a1b423d8b6bc300000000000000000000000099a22cc4424a1b42448b6bc3000000000000000000000000f0622cc4b4321b42bcf46ac300000000000000000000000022d02cc4160d1c42ea9e6bc300000000000000000000000099a22cc4414a1b423e8b6bc3000000000000000000000000395e2cc4c6311b42cbee6ac300000000000000000000000024712cc4fbcc1b4281ce6ec300000000000000000000000018712cc4f5cc1b4273ce6ec30000000000000000000000005d8b2cc4fe521c42d00f6fc30000000000000000000000005f8b2cc4ca521c42c10f6fc300000000000000000000000000302cc48ac21b42e38b6ec364bda13ea5a85dbe397c6cbf608b2cc402531c42d50f6fc300000000000000000000000022712cc4f7cc1b427fce6ec3000000000000000000000000608b2cc4d3521c42c60f6fc300000000000000000000000017712cc4f6cc1b427ece6ec300000000000000000000000096a22cc4404a1b42418b6bc30000000000000000000000009ba22cc4424a1b42448b6bc300000000000000000000000098a22cc4424a1b423e8b6bc300000000000000000000000056ce2cc46d661d42f89a6bc36393e6be6d59643fda0921bd1dd02cc4020d1c42e89e6bc300000000000000000000000056ce2cc46e661d42f89a6bc3000000000000000000000000728c2cc4b4fa1c4264286bc36fdf423bb5d7773fca35803e57ce2cc46d661d42fa9a6bc300000000000000000000000021d02cc4110d1c42f09e6bc300000000000000000000000095892cc459ac1d42e00b6fc300000000000000000000000095892cc45bac1d42e20b6fc30000000000000000000000005c8b2cc4e4521c42d20f6fc300000000000000000000000095892cc45cac1d42e30b6fc300000000000000000000000095892cc45aac1d42e00b6fc300000000000000000000000096892cc45cac1d42d70b6fc3000000000000000000000000e4192cc4bffb1c42996a6ec3a9bade3e6dc7653f9d8a923d96892cc45cac1d42e30b6fc3000000000000000000000000375e2cc448b31c42dbee6ac336622d3e5df5743f53be713ee2192cc4befb1c429a6a6ec300000000000000000000000097892cc45bac1d42e20b6fc30000000000000000000000005e8b2cc4ec521c42d30f6fc3000000000000000000000000ce192cc481bd1b42b96b6ec334077d3e59af76bfd1c7d0bde5192cc4c1fb1c42976a6ec300000000000000000000000097892cc45cac1d42e30b6fc300000000000000000000000098a22cc4414a1b42398b6bc3000000000000000000000000385e2cc4c8311b42dcee6ac30000000000000000000000000ef12cc4bb201c4242c86bc32b6406bf009d59bf68dc2ebd0ef12cc4b6201c4217c86bc30000000000000000000000000ef12cc4ba201c423dc86bc30000000000000000000000000ef12cc4b9201c4231c86bc30000000000000000000000000ef12cc4ba201c4240c86bc30000000000000000000000000ef12cc4bb201c4213c86bc30000000000000000000000000ef12cc4ba201c4234c86bc300000000000000000000000084d12cc4a30c1c4280966bc3e37d633e458278bfc8baba3d84d12cc4a30c1c427b966bc300000000000000000000000081d12cc4a30c1c428d966bc30000000000000000000000008bd12cc4a30c1c426c966bc300000000000000000000000087d12cc4a30c1c4271966bc300000000000000000000000085d12cc4a30c1c4281966bc300000000000000000000000084d12cc4a30c1c428f966bc300000000000000000000000088d12cc4a30c1c4285966bc300000000000000000000000089d12cc4a30c1c4287966bc300000000000000000000000085d12cc4a30c1c4293966bc300000000000000000000000089d12cc4a30c1c425b966bc300000000000000000000000087d12cc4a30c1c4293966bc300000000000000000000000089d12cc4a30c1c4284966bc300000000000000000000000089d12cc4a30c1c4287966bc30000000000000000000000007ea92cc41e7f1d42d61e6fc3e2f5dbbef5285d3ffc9686be7fa92cc41e7f1d42c11e6fc30000000000000000000000007da92cc41e7f1d42d51e6fc300000000000000000000000082a92cc41e7f1d42c41e6fc30000000000000000000000007fa92cc41e7f1d42d61e6fc3000000000000000000000000edaa2cc463641c4202226fc3b396fabe709d58bf1ef957befcaa2cc46a641c4201226fc3000000000000000000000000f5aa2cc466641c4202226fc30000000000000000000000000cf12cc4ba201c423ec86bc300000000000000000000000085d12cc4a40c1c4282966bc300000000000000000000000083d12cc4a10c1c427f966bc300000000000000000000000087d12cc4a50c1c4286966bc30000000000000000000000000cf12cc4ba201c4241c86bc3000000000000000000000000f0aa2cc461641c42f4216fc30000000000000000000000000bf12cc4b9201c423ac86bc3000000000000000000000000868e2cc4a9531c4205016fc33b75413f38fe24bf164eee3d86d12cc4a20c1c4271966bc3000000000000000000000000858e2cc4a8531c4206016fc3000000000000000000000000898e2cc4aa531c4209016fc3000000000000000000000000f6aa2cc466641c42fb216fc300000000000000000000000084d12cc4a10c1c426c966bc300000000000000000000000089d12cc4a40c1c4272966bc30000000000000000000000000ef12cc4bb201c423cc86bc300000000000000000000000097ef2cc4253f1d4200c56bc3399beabedc36623f6775c4bd0bf12cc4b9201c423bc86bc300000000000000000000000098ef2cc4253f1d4200c56bc300000000000000000000000084d12cc4a20c1c4280966bc300000000000000000000000085d12cc4a10c1c4281966bc300000000000000000000000099d12cc40a2c1d42af956bc3ae852d3ff00a283f808fa93e95ef2cc4243f1d42fcc46bc300000000000000000000000088d12cc4a30c1c4285966bc300000000000000000000000088d12cc4a20c1c4283966bc300000000000000000000000088d12cc4a20c1c4283966bc30000000000000000000000000df12cc4ba201c423fc86bc30000000000000000000000007fa92cc41c7f1d42c01e6fc300000000000000000000000080a92cc41c7f1d42c11e6fc3000000000000000000000000858e2cc4a7531c4205016fc300000000000000000000000085d12cc4a10c1c4276966bc3000000000000000000000000a58e2cc4426f1d42a0ff6ec3caa99c3e8df1723fcda89b3d7fa92cc41b7f1d42c01e6fc30000000000000000000000008a8e2cc4aa531c4209016fc300000000000000000000000088d12cc4a30c1c4286966bc300000000000000000000000056582cc457571b42fad16ac3f5ae9fbe2af972bf221533bd56582cc45a571b4209d26ac300000000000000000000000056582cc457571b42fad16ac300000000000000000000000056582cc41b571b42edd16ac30000000000000000000000004d3c2cc4e9491b42f5ab6ac3c0c21d3e82907cbfc67e5d3d533c2cc4e9491b42e4ab6ac30000000000000000000000004f3c2cc4e9491b42efab6ac30000000000000000000000004f3c2cc4e9491b42eeab6ac30000000000000000000000004f3c2cc4e9491b42e1ab6ac30000000000000000000000004d3c2cc4e9491b42f3ab6ac3000000000000000000000000523c2cc4e9491b42ebab6ac3000000000000000000000000503c2cc4e9491b42e4ab6ac3000000000000000000000000503c2cc4e9491b42ebab6ac3000000000000000000000000d30f2cc40aa21b42db8f6ec32c4ff4beca565bbf6f2f48beda0f2cc40ca21b42db8f6ec3000000000000000000000000d30f2cc40ba21b42db8f6ec3000000000000000000000000d50f2cc419a41b42db8f6ec3000000000000000000000000d30f2cc4cea21b42db8f6ec3000000000000000000000000d30f2cc44ea51b42db8f6ec3000000000000000000000000c3ee2bc4b9931b42b2716ec3312af13e5b2861bf8a8b8a3dd90f2cc40da21b42e28f6ec3000000000000000000000000c8ee2bc4bb931b42b8716ec3000000000000000000000000c6ee2bc4ba931b42b4716ec3000000000000000000000000d30f2cc40ba21b42dd8f6ec30000000000000000000000004e3c2cc4e8491b42e1ab6ac300000000000000000000000055582cc458571b4206d26ac3000000000000000000000000513c2cc4e9491b42e3ab6ac3000000000000000000000000513c2cc4e8491b42e5ab6ac300000000000000000000000055582cc458571b4207d26ac3000000000000000000000000c2ee2bc4ba931b42b1716ec3000000000000000000000000d20f2cc4c5a51b42d78f6ec3000000000000000000000000720e2cc474b41c42c78c6ec32748cebe4bad623fb72a6dbec5ee2bc4ba931b42b5716ec3000000000000000000000000eaee2bc40ab31c42ed6f6ec3b1678f3e9e19753f3b448f3de8ee2bc43fb21c42ec6f6ec30000000000000000000000004e3c2cc4e8491b42e2ab6ac3000000000000000000000000683c2cc412691c42c3aa6ac3d1cf373f5e4f1c3f6312ab3e54582cc4d4561b4208d26ac3000000000000000000000000ed562cc4406b1c42e8ce6ac32dfeedbe6353613f62a3c4bd503c2cc4e9491b42e5ab6ac3000000000000000000000000683c2cc47d681c42c4aa6ac3000000000000000000000000a5ef2dc4c8a41f42590170c3d7e0e83ec814623f1151ebbda5ef2dc4dca41f42630170c3000000000000000000000000a5ef2dc4c8a41f42480170c3000000000000000000000000a5ef2dc4bca41f42480170c3000000000000000000000000a5ef2dc4c6a41f42690170c3000000000000000000000000a5ef2dc4c8a41f42470170c30000000000000000000000002cf92dc4b47d1e42169c6fc34543883b2ded7fbf3d5dc13c2bf92dc4b47d1e421e9c6fc30000000000000000000000002ef92dc4b47d1e42d89b6fc30000000000000000000000002bf92dc4b47d1e42149c6fc300000000000000000000000025f92dc4b47d1e425d9c6fc30000000000000000000000002ef92dc4b47d1e42f79b6fc30000000000000000000000002bf92dc4b47d1e420c9c6fc30000000000000000000000002ef92dc4b47d1e42fc9b6fc30000000000000000000000002df92dc4b47d1e42199c6fc30000000000000000000000002ef92dc4b47d1e420f9c6fc30000000000000000000000007c732ec4e9eb2042bf0670c3865615bd27d37f3ff74eccbb7c732ec4e9eb2042b90670c30000000000000000000000007f732ec4e9eb2042e40470c30000000000000000000000007c732ec4e9eb2042ba0670c30000000000000000000000007d732ec4e9eb2042d30670c30000000000000000000000007c732ec4e9eb2042b70670c30000000000000000000000007e732ec4e9eb2042a90670c30000000000000000000000007d732ec4e9eb2042c10670c30000000000000000000000005b732ec4e9eb2042b40770c30000000000000000000000007d732ec4e9eb2042ae0670c30000000000000000000000007c732ec4e9eb2042bc0670c300000000000000000000000082732ec4e9eb20429c0670c30000000000000000000000007e732ec4e9eb2042bc0670c30000000000000000000000007f732ec4e9eb2042bf0670c30000000000000000000000007f732ec4e9eb2042ba0670c30000000000000000000000000a932ec454be2042e5946ec3a5e670bf93141e3e84279abe09932ec458be2042ea946ec300000000000000000000000005932ec450be204235956ec300000000000000000000000016932ec421be2042c7936ec300000000000000000000000007932ec455be204220956ec300000000000000000000000008932ec45ebe204231956ec300000000000000000000000012932ec428be20427f936ec30000000000000000000000000b932ec416bd20422d956ec300000000000000000000000005932ec463be20425b956ec30000000000000000000000007c732ec4eaeb2042b90670c300000000000000000000000095732ec4fceb2042d30470c30000000000000000000000007c732ec4e9eb2042bb0670c300000000000000000000000071732ec4daeb2042a50770c300000000000000000000000028082ec49fe11f42f8cb6ec3c71f273e8e827c3f1777ac3c2d082ec4aae11f4208cc6ec30000000000000000000000007c732ec4e8eb2042b60670c30000000000000000000000007d732ec4edeb2042c00670c300000000000000000000000046082ec4fae11f4233cb6ec30000000000000000000000004e082ec40fe21f42a0ca6ec300000000000000000000000064732ec49eeb20422f0570c3000000000000000000000000a1732ec44cec2042420570c30000000000000000000000007d732ec4ebeb2042cc0670c30000000000000000000000000f932ec44fbe2042dc946ec30000000000000000000000007e732ec4e8eb2042b20670c30000000000000000000000000a932ec453be2042e3946ec300000000000000000000000009932ec429be204247956ec30000000000000000000000007d732ec4e7eb2042ac0670c300000000000000000000000076732ec4d5eb2042040770c30000000000000000000000002bf92dc4b37d1e42109c6fc3000000000000000000000000a3952ec42a931f427e646ec3e6313fbe35d977bf5cc22a3e2bf92dc4b47d1e420e9c6fc30000000000000000000000002ff92dc4b77d1e42de9b6fc3000000000000000000000000e8952ec44e931f42805f6ec3000000000000000000000000a5952ec42d931f424d646ec3000000000000000000000000e7952ec44f931f42835f6ec3000000000000000000000000e8952ec44f931f42775f6ec300000000000000000000000030f92dc4b87d1e42dd9b6fc3000000000000000000000000ebf02dc45b801e42d50270c34b15313cf80069bfd403d4be2df92dc4b27d1e42009c6fc30000000000000000000000002af92dc4b57d1e42129c6fc3000000000000000000000000e7952ec4c2921f427f5f6ec30000000000000000000000000a932ec443971f4220956ec33c9f4cbfe6f209bffd2c88bea3952ec428931f426d646ec3000000000000000000000000e7952ec4c0921f42855f6ec3000000000000000000000000bf952ec401931f4277626ec300000000000000000000000077672ec4ce9e1f42969370c3381e64be90236bbf9340a7be2ef92dc4b67d1e42f49b6fc300000000000000000000000029082ec49de11f42edcb6ec300000000000000000000000056092ec4d5df1f42efbe6ec30000000000000000000000006c1c2ec4c2c01f4229d16dc3aa38f33d2ef6633fc7e6e03e0d932ec451be2042e8946ec30000000000000000000000000a932ec45bbe204202956ec3000000000000000000000000e7952ec4d5b42042855f6ec3761592bc14c86f3fc41bb33e2e082ec4a8e11f42f9cb6ec30000000000000000000000007d732ec4e7eb2042ae0670c300000000000000000000000080732ec4ebeb2042b20670c3000000000000000000000000a7ef2dc4cda41f424a0170c3000000000000000000000000a7ef2dc474a51f42490170c3000000000000000000000000a7ef2dc4cca41f424c0170c30000000000000000000000008f1d2ec436be1e425dd26dc31a05ca3d44aa70bf8f13a73ea8ef2dc4cca41f424a0170c3000000000000000000000000a6ef2dc447a51f42490170c300000000000000000000000031f92dc4b87d1e42d29b6fc30000000000000000000000008b1d2ec432be1e427bd26dc3000000000000000000000000a7ef2dc4cca41f424a0170c300000000000000000000000078672ec414ce2042939370c3067f563ee6466f3f901093bea6ef2dc4c9a41f424a0170c300000000000000000000000079672ec4adcb2042999370c3000000000000000000000000e6952ec4a1931f427e5f6ec3000000000000000000000000e7952ec44f931f427f5f6ec300000000000000000000000008932ec45bbe204245956ec3000000000000000000000000e7952ec4a1931f42855f6ec3000000000000000000000000e7952ec450931f42845f6ec3000000000000000000000000a6ef2dc4cca41f42490170c300000000000000000000000079672ec414ce2042979370c30000000000000000000000007e732ec4e9eb2042be0670c30000000000000000000000000b442dc44b3d1c42fdc66cc39ea392be64aa39bfc246203f1ad92cc4ebc31b42da476cc3e050d73ddbef28bfaf733e3fd0422dc4d14a1d42a6c36cc3a6dd0cbd1adc7a3f6e1c493e43d92cc486bd1c4253466cc308d78f3d1bf07c3ffa930c3ee0a52dc42e661c425be26dc34a9933bfd156dcbef867113fe9a42dc41fce1d42d9df6dc3addf40bea798793fbbaef13d409a2dc4eb591c4246a16ec3d99408bf559f53bf533137be72982dc46fbd1d42ccac6ec369de5bbfb16d883e13f8dfbee0a42cc4af561b4290c16ec3d3e4c13cc69d74bf977e96bedea42cc4af561b4292c16ec3000000000000000000000000dea42cc40f571b4291c16ec3000000000000000000000000ac7f2dc4e23d1c42ae736dc35535b6bd7bcc7ebf0ad41b3da2d12cc449861b42a88f6cc3fed6e43d3d917abffee52f3edfa42cc4b0561b4290c16ec3000000000000000000000000e0a42cc4b0561b4291c16ec3000000000000000000000000447a2dc4b6371c42a66c6fc3a6bbd4bdb9ea79bf8abf42be407a2dc405951d429a6c6fc3e6d7d13df7037a3fc18041bee1a42cc466771c428bc16ec35c4d9b3e1aff563f9380e6be437a2dc409951d429e6c6fc3000000000000000000000000467a2dc40b951d429f6c6fc3000000000000000000000000407a2dc404951d42a26c6fc3000000000000000000000000457a2dc40c951d428d6c6fc3000000000000000000000000e0a42cc465771c4291c16ec3000000000000000000000000e2a42cc469771c4274c16ec3000000000000000000000000447a2dc409951d42a56c6fc3000000000000000000000000437a2dc409951d42a66c6fc3000000000000000000000000477a2dc40e951d428f6c6fc3000000000000000000000000477a2dc40e951d428f6c6fc3000000000000000000000000447a2dc46e911d42a66c6fc3000000000000000000000000407a2dc405951d429a6c6fc3000000000000000000000000407a2dc40a951d429c6c6fc3000000000000000000000000457a2dc497921d42a76c6fc3000000000000000000000000dfa42cc4e1731c4293c16ec3000000000000000000000000e0a42cc468771c428ac16ec3000000000000000000000000447a2dc48f911d42a76c6fc3000000000000000000000000427a2dc40a951d429e6c6fc3000000000000000000000000447a2dc40c951d429e6c6fc3000000000000000000000000457a2dc40a951d42a16c6fc30000000000000000000000003e7a2dc403951d42a16c6fc30000000000000000000000003e7a2dc409951d42a36c6fc3000000000000000000000000447a2dc43d911d42a66c6fc3000000000000000000000000397a2dc4fe941d42d06c6fc3000000000000000000000000dfa42cc4ae561b4292c16ec300000000000000000000000097b12cc47c641b4295ce6dc34857963d34217fbfd230193d97b12cc46f881c429fce6dc3be645a3ed1d8793f4180373de0a42cc411571b4291c16ec3000000000000000000000000dfa42cc467771c4291c16ec3000000000000000000000000c6d12cc470861b42498e6cc3000000000000000000000000f9c62cc4097b1b428cf76cc31cd66a3d00437fbfc3aa4b3defc62cc401a51c42b6f66cc39b0f423e8c1c7b3f6a16333d447a2dc42c381c42a56c6fc3000000000000000000000000417a2dc407951d42a36c6fc3000000000000000000000000447a2dc40b951d42a66c6fc3000000000000000000000000437a2dc408951d42a56c6fc3000000000000000000000000497a2dc414951d42686c6fc3000000000000000000000000ac8a2bc4807b1b4209b869c3917a4cbe4dd47abf73a22ebcac8a2bc4807b1b4245b869c3000000000000000000000000ac8a2bc4c83d1c4253b769c350e82ebe78267c3f62c1d4bcff1f2bc4b1691b42bc836dc32340743ef03778bfbe625fbdff1f2bc4b0691b42be836dc3000000000000000000000000ff1f2bc4b0691b42bd836dc3000000000000000000000000ff1f2bc454531c4273826dc3d444803e2c5e773f3aaa733dff1f2bc44b8a1c4251826dc3000000000000000000000000ff1f2bc4b2691b42bf836dc3000000000000000000000000ff1f2bc4b0691b42bd836dc3000000000000000000000000ff1f2bc44d891c4255826dc3000000000000000000000000ff1f2bc44c891c4254826dc3000000000000000000000000ff1f2bc44a8a1c4252826dc3000000000000000000000000ff1f2bc44c891c4253826dc3000000000000000000000000ff1f2bc44b891c4251826dc3000000000000000000000000ff1f2bc4b2691b42c0836dc3000000000000000000000000ff1f2bc4b0691b42ad836dc3000000000000000000000000ff1f2bc4b1691b42c0836dc3000000000000000000000000ff1f2bc44d891c424f826dc300000000000000000000000067402bc4196e1b42aead6dc32bd01bbf10e33dbf133d90be62402bc41a6e1b42aead6dc300000000000000000000000064402bc41a6e1b42aead6dc300000000000000000000000067402bc41a6f1b42afad6dc300000000000000000000000062402bc4186f1b42aead6dc300000000000000000000000063402bc41a6f1b42aead6dc30000000000000000000000009b6d2bc4753a1c42b28c69c3ffb6323ed2967a3f7c57da3d9b6d2bc44d381c42b28c69c30000000000000000000000009b6d2bc4783a1c42b28c69c30000000000000000000000009e6d2bc4763a1c42b38c69c30000000000000000000000009d6d2bc4783a1c42b28c69c300000000000000000000000006202bc4b2691b42c8836dc300000000000000000000000062402bc4186e1b42a9ad6dc300000000000000000000000022202bc4b7691b42d1836dc300000000000000000000000007202bc4b2691b42ca836dc300000000000000000000000008202bc4b2691b42cf836dc300000000000000000000000062402bc4196e1b42acad6dc300000000000000000000000031202bc4b8691b42e8836dc300000000000000000000000034202bc4b7691b420d846dc3000000000000000000000000fe1f2bc44b8a1c4252826dc300000000000000000000000007202bc4b3691b42c9836dc300000000000000000000000008202bc4b2691b42c8836dc3000000000000000000000000fe1f2bc44c891c4253826dc3000000000000000000000000ff1f2bc44d891c4253826dc300000000000000000000000062402bc4196f1b42a9ad6dc30000000000000000000000005a402bc48f8c1c4237ac6dc37d80efbdb6aa7b3fe36a10be10202bc4b5691b42d3836dc3000000000000000000000000fa1f2bc44c891c4259826dc30000000000000000000000009b6d2bc4753a1c42ae8c69c3000000000000000000000000d5202bc46f891c426a776dc3000000000000000000000000a26d2bc4a6761b42ac8d69c365be1b3ff2d242bf6f99663e9c6d2bc4773a1c42b08c69c300000000000000000000000007202bc4b3691b42ca836dc300000000000000000000000009202bc4b2691b42b7836dc300000000000000000000000007202bc4b2691b42cb836dc3000000000000000000000000ff1f2bc44d891c424a826dc3000000000000000000000000dd6d2bc47c3a1c42f88c69c3000000000000000000000000a88a2bc47f7b1b423eb869c3000000000000000000000000a28a2bc4c83d1c4243b769c300000000000000000000000061402bc4196f1b42abad6dc30000000000000000000000001c202bc4b3691b42c5836dc3000000000000000000000000bc652bc4febc1a422d6f6ac32e1e1f3d7c4a7dbf10270f3ec5062cc433601b4204006ec3d48629bebeb06bbfd0feb4bec4062cc430601b4204006ec3000000000000000000000000ca062cc431601b4204006ec3000000000000000000000000cf062cc42e601b4204006ec3000000000000000000000000c7062cc431601b4203006ec3000000000000000000000000ca062cc42f601b4204006ec3000000000000000000000000c7062cc42f601b4204006ec3000000000000000000000000d6652bc42df41b42026e6ac398c9e83b0b497e3f2431ec3dd7652bc434f41b42026e6ac3000000000000000000000000dd652bc42ef41b42036e6ac3000000000000000000000000db652bc436f41b42026e6ac3000000000000000000000000c6062cc431601b42fdff6dc30000000000000000000000008f1e2cc43ff81a42b6346dc3a612b4bdceff7dbf0e53b5bd851f2cc490f71a42862c6dc3000000000000000000000000882c2cc4ef461b4274bb6cc32f8a77bfd5e54dbe938520bec02c2cc4c5361c4282b66cc394c338be47247b3fcf6091bdc5062cc42b601b42fdff6dc300000000000000000000000093062cc4fe291c4218ff6dc3730f933c98727e3fc52cdebd8d1e2cc440f81a42be346dc3000000000000000000000000af2c2cc4c0361c4215b76cc3000000000000000000000000d0652bc431f41b42346e6ac3000000000000000000000000d1652bc432f41b42376e6ac3000000000000000000000000d2652bc432f41b42356e6ac3000000000000000000000000fd3c2bc47fe71a423e756cc3789e123cf8c27fbf83e32cbd003d2bc480e71a423f756cc30000000000000000000000000a382bc43e161b42a2d46cc3e257403ff3fffbbed411e1bece062cc432601b420c006ec3000000000000000000000000c8062cc430601b4201006ec300000000000000000000000017382bc442161b42b4d46cc3000000000000000000000000e43c2bc472e81a4229776cc3000000000000000000000000971e2cc441f81a42be346dc3000000000000000000000000911e2cc43ff81a42b8346dc3000000000000000000000000e53c2bc471e81a422d776cc300000000000000000000000020352cc41dcf1a4262476bc3f247f3bd33757cbf41d1ec3d0c392cc4eafc1a42524b6bc30000000000000000000000007f1f2cc495f71a42be2c6dc3000000000000000000000000bc652bc409bd1a422c6f6ac3000000000000000000000000114b2bc464d11a4274636bc32b4f663f8b5ebfbed31a673eba652bc409bd1a422e6f6ac3000000000000000000000000124b2bc464d11a4252636bc300000000000000000000000012392cc4e43a1c42444a6bc352dc53bfd566c73e74fcce3e12392cc4e53a1c424a4a6bc300000000000000000000000012392cc4e43a1c42464a6bc300000000000000000000000014392cc493331c42494a6bc300000000000000000000000013392cc4e53a1c42444a6bc300000000000000000000000012392cc4e43a1c424d4a6bc300000000000000000000000054372cc4bb391c42ad736bc3374dad3c54f17f3f1e15a8b9d6652bc434f41b423b6e6ac300000000000000000000000012392cc4e33a1c42414a6bc300000000000000000000000015392cc4e53a1c42484a6bc3000000000000000000000000d5652bc434f41b42396e6ac300000000000000000000000010392cc4e23a1c42414a6bc300000000000000000000000015392cc4e53a1c424a4a6bc3000000000000000000000000c8062cc42e601b4201006ec30000000000000000000000001f382bc4e7e41b4221d46cc36ef0e43d82f17d3f208c72bdbb652bc415bd1a422c6f6ac3000000000000000000000000bb652bc408bd1a422c6f6ac3000000000000000000000000d5652bc433f41b423a6e6ac300000000000000000000000014392cc4e43a1c42474a6bc300000000000000000000000010392cc4e33a1c423a4a6bc300000000000000000000000015392cc4e63a1c42474a6bc30000000000000000000000000f4b2bc473d11a4268636bc3000000000000000000000000114b2bc406d11a4260636bc3000000000000000000000000921e2cc440f81a42bd346dc3000000000000000000000000114b2bc473d11a4264636bc3000000000000000000000000114b2bc43feb1b4255636bc35bfb733f5d9a213ef34f843e14392cc4e53a1c42544a6bc3000000000000000000000000ff452bc4f78f1c426e9969c3013e0c3fe0cf373f62d4db3e2c5e2bc4b2931c4285b569c325fd2cbfa6283b3f0e12c1bdec452bc48e981b42609a69c3a89eb63eae1e6dbf1f81f93d1d5e2bc4aa9b1b427bb669c3caddaebe3a9a70bf06f0b0bbbb1c2bc49fff1b42b03d6dc346da21be74267bbf5d68e5bdd01c2bc4fbe51c42b73c6dc39ccd22be9b12783f0e7841be48022bc438fc1b42fa1e6dc352e2f13ede295fbf001705be5a022bc4fce31c42fe1d6dc31c3c3b3f03cf2b3f65fdf73dd9282bc41fc21c420a136bc3d8197d3c98d47f3ff5f1063d72472bc41fc21c420f136bc39ea15abcdeed7f3f7cb89e3c1b1e2bc49dd11b428a9e6bc3bbbc113f18164fbf4b4d163e121e2bc40acb1c42289e6bc3ba4f003f536a593fe3d5293e96372bc43cdd1b421c076cc3e21473bfe77326be745789be98372bc4e6d11c42e3066cc3139c31bf8937313fcf5e4bbe613a2bc4dfea1c42259769c3e67435bfdf4f2f3fc2362dbe613a2bc4edf81c42f09669c3000000000000000000000000613a2bc41ef71c42f79669c3000000000000000000000000613a2bc4eff81c42ef9669c3000000000000000000000000613a2bc4eaf81c42489769c3000000000000000000000000613a2bc4f4f81c42459769c3000000000000000000000000613a2bc4ecf81c42f79669c3000000000000000000000000613a2bc4eef81c42ce9669c3000000000000000000000000613a2bc4f0f81c42f69669c300000000000000000000000064d52ac4eb251c42d8e26cc31296063f30b159bf8ff4b63c64d52ac4252d1c42f4e26cc300000000000000000000000064d52ac4ea251c42fae26cc3000000000000000000000000f8392bc4a3d91b42409a69c3796ad2be2f5c69bfd3df4dbcf3392bc4a3d91b423b9a69c3000000000000000000000000f0392bc4a3d91b42499a69c3000000000000000000000000f0392bc4a3d91b42da9a69c3000000000000000000000000f8392bc4a3d91b42499a69c3000000000000000000000000f2392bc4a3d91b423e9a69c3000000000000000000000000baf12ac4eb071c4230046dc3d282cdbe63fa65bf81c036bec2f12ac4e4071c4230046dc3000000000000000000000000673a2bc4e7f81c42f79669c3000000000000000000000000f8392bc49cd91b42409a69c3000000000000000000000000663a2bc41df71c42fc9669c3000000000000000000000000f9392bc4a3d91b42409a69c3000000000000000000000000673a2bc4f0f81c42f69669c300000000000000000000000087192bc4f6fb1b42017469c3dd42ec3e071a5fbfa9062a3ee1192bc419f71c421a7169c3b65b483ed60a783f33061b3e623a2bc4f0f81c42ee9669c3000000000000000000000000f3392bc4a3d91b423c9a69c3000000000000000000000000b6382bc4cdf81c42fd9469c3000000000000000000000000fbf12ac471231d4213036dc376b67fbe1163753f6d890cbe673a2bc4e9f81c42fc9669c3000000000000000000000000bbf12ac4eb071c4229046dc300000000000000000000000099392bc4dbd91b42ec9e69c3000000000000000000000000fbf12ac472231d4212036dc3000000000000000000000000673a2bc4f0f81c42fd9669c300000000000000000000000063d52ac4ec251c42f8e26cc300000000000000000000000097d52ac4d6211d42fbe16cc3b43f343fc3fb2f3fb142363efbf12ac471231d4211036dc30000000000000000000000005f3a2bc4f0f81c42f49669c3000000000000000000000000e7b12ac409301c421cb46cc3fa769a3e9a7873bf2fef88bde7b12ac409301c42f7b36cc3000000000000000000000000e7b12ac40a301c42ecb36cc3000000000000000000000000e7b12ac409301c4223b46cc3000000000000000000000000e7b12ac409301c421eb46cc3000000000000000000000000e7b12ac40a301c4215b46cc3000000000000000000000000e8b12ac4b7311c421bb46cc3000000000000000000000000e7b12ac40f301c421eb46cc3000000000000000000000000e7b12ac40c301c421cb46cc3000000000000000000000000e7b12ac40b301c42fbb36cc3000000000000000000000000e7b12ac410321c421bb46cc3000000000000000000000000e7b12ac43d321c4220b46cc3000000000000000000000000e7b12ac409301c42f8b36cc3000000000000000000000000e7b12ac40f301c4220b46cc3000000000000000000000000e7b12ac40f301c421fb46cc3000000000000000000000000e7b12ac40a301c42dbb36cc3000000000000000000000000e7b12ac40a301c421ab46cc3000000000000000000000000e7b12ac40c301c4221b46cc3000000000000000000000000a4b32ac4574e1d42e4b46cc33c46c53e137b6b3f35d7963d42b42ac4574e1d42b0b56cc3000000000000000000000000a7b32ac4574e1d42e6b46cc3000000000000000000000000b8b32ac4574e1d42edb46cc3000000000000000000000000a7b32ac4574e1d42b0b46cc3000000000000000000000000a2b32ac4574e1d42f5b46cc300000000000000000000000047b42ac4574e1d42f2b46cc3000000000000000000000000a8b32ac4574e1d42f5b46cc3000000000000000000000000acf82ac45eeb1b42b01569c3fcca383feda224bf63e1823eb1f82ac456eb1b42b01569c3000000000000000000000000acf82ac45feb1b42b01569c3000000000000000000000000aff82ac459eb1b42b01569c3000000000000000000000000b9f82ac422f51b42b01569c3000000000000000000000000acf82ac45eeb1b42b01569c3000000000000000000000000aff82ac454ed1b42b01569c3000000000000000000000000b1f82ac45feb1b42b01569c3000000000000000000000000aff82ac45eeb1b42b01569c3000000000000000000000000e5b12ac40c301c421ab46cc3000000000000000000000000e4b12ac40e301c4219b46cc3000000000000000000000000e8b12ac407301c421db46cc3000000000000000000000000adf82ac45eeb1b42a91569c3000000000000000000000000e4b12ac40d301c421bb46cc3000000000000000000000000e7b12ac408301c42e3b36cc3000000000000000000000000abf82ac45eeb1b42a81569c3000000000000000000000000b0f82ac458eb1b42af1569c3000000000000000000000000e2b12ac40e301c421bb46cc3000000000000000000000000e8b12ac40b301c42d2b36cc3000000000000000000000000e8b12ac409301c4220b46cc3000000000000000000000000eab12ac403301c4240b46cc3000000000000000000000000a5b32ac4554f1d42e5b46cc3000000000000000000000000e4b12ac40f301c4219b46cc3000000000000000000000000e7b12ac4d4321c4219b46cc3000000000000000000000000e4b12ac40f301c4219b46cc3000000000000000000000000a4b32ac45c4e1d42e4b46cc3000000000000000000000000a4b32ac4554e1d42e3b46cc300000000000000000000000033d22ac4d91d1d429cdc6cc376f2c5be59ef5b3f16afabbe3ab42ac4654e1d42a6b56cc3000000000000000000000000e7b12ac40e301c421eb46cc30000000000000000000000001fd22ac425331c42b6dd6cc305d410bf98bd46bf1f4f8ebee5b12ac40e301c421ab46cc3000000000000000000000000e7b12ac40b301c421db46cc300000000000000000000000033d22ac4cf1d1d429ddc6cc3000000000000000000000000a7b32ac4564e1d42e7b46cc3000000000000000000000000adf82ac45eeb1b42a91569c3000000000000000000000000b0f82ac46fed1b42ab1569c300000000000000000000000028fa2ac45cde1c42551669c347dea03e16c26b3ff71d6c3ee3b12ac40f301c421cb46cc3000000000000000000000000e5b12ac413301c4214b46cc3000000000000000000000000e7b12ac4c4321c4221b46cc3000000000000000000000000e4b12ac410301c421db46cc3000000000000000000000000b1b32ac44d4e1d424fb46cc3000000000000000000000000aff82ac45eeb1b42ae1569c30000000000000000000000009d152bc479ee1b42903f69c3688e48be88fb7abfd9ceaebcb1152bc4a0b21c42793e69c35e3feebe5c79613f2e21b4bde8b12ac410301c421fb46cc3000000000000000000000000e4b12ac40e301c421cb46cc3000000000000000000000000e8b12ac40b301c4221b46cc300000000000000000000000066382ac4b35e1c4227e26bc3a22f923e2e2874bfeccbc0bd66382ac4b25e1c4207e26bc300000000000000000000000066382ac4b15e1c42eae16bc300000000000000000000000066382ac4b45e1c4236e26bc300000000000000000000000066382ac4b45e1c4231e26bc300000000000000000000000066382ac4c1611c4224e26bc300000000000000000000000066382ac4b55e1c4229e26bc300000000000000000000000066382ac4b35e1c4208e26bc300000000000000000000000066382ac4cd661c4230e26bc300000000000000000000000066382ac4b0641c4230e26bc300000000000000000000000066382ac4b85e1c4238e26bc300000000000000000000000066382ac4b75e1c4231e26bc3000000000000000000000000ce752ac43b211c424fd468c366b13e3e95f075bff4c8523eca752ac43e211c4249d468c3000000000000000000000000d2752ac439211c4254d468c300000000000000000000000063382ac4b65e1c4224e26bc300000000000000000000000060382ac4b65e1c4226e26bc300000000000000000000000068382ac4b25e1c422ae26bc3000000000000000000000000ce752ac43a211c4254d468c300000000000000000000000063382ac4b55e1c422ee26bc3000000000000000000000000cb752ac43e211c4250d468c300000000000000000000000062382ac4b75e1c422be26bc3000000000000000000000000d1752ac43a211c4258d468c300000000000000000000000065382ac4b35e1c4230e26bc3000000000000000000000000ce752ac43d211c424fd468c3000000000000000000000000d3752ac43b2a1c424cd468c3000000000000000000000000d2752ac43d211c4254d468c3000000000000000000000000acb42ac48f781d4222896cc3e1450abc13fc7c3f21771cbe63382ac4b65e1c4226e26bc300000000000000000000000067382ac42c651c4223e26bc3000000000000000000000000fd382ac4f76a1d4296e16bc39b77903e7d30753f478762bd67382ac4b65e1c422ae26bc300000000000000000000000095b42ac4f06b1c42618a6cc33fd73bbe110674bfb80776beadb42ac423781d4223896cc300000000000000000000000020f22ac40a3b1d428a7a69c39f5691be0e4d743f6b5ebf3dce752ac43d211c4254d468c300000000000000000000000063382ac4b55e1c422ce26bc3000000000000000000000000d1752ac4d2271c4258d468c300000000000000000000000066382ac460651c422fe26bc300000000000000000000000050762ac49c2d1d4202d568c3ca163b3e9624743ff4b4743ed1752ac43d211c4258d468c300000000000000000000000066382ac4b75e1c4230e26bc30000000000000000000000001ff22ac44f2e1c42897a69c38869e4bd4ab57cbf0a86ea3d1ff22ac49f3a1d428a7a69c3000000000000000000000000cfdd2ac4afcd1c422bb968c380c5edbe3848613fd5fbcbbdfa7f2ac476ba1b428cdf6bc3da69143e5f4b7dbf0b6f903bfa7f2ac479ba1b426cdf6bc3000000000000000000000000fa7f2ac478ba1b421cdf6bc3000000000000000000000000fa7f2ac4f9cc1b4294df6bc3000000000000000000000000fa7f2ac47aba1b428ddf6bc3000000000000000000000000fa7f2ac479ba1b428bdf6bc3000000000000000000000000fa7f2ac47bba1b426fdf6bc3000000000000000000000000fa7f2ac479ba1b4270df6bc300000000000000000000000084a02ac4ced51c42ba096cc3da1ed0be96ee5f3f8f1587be85a02ac4d1d51c42b9096cc30000000000000000000000007ba02ac4cfd51c42ba096cc30000000000000000000000007ca02ac4d2d51c42ba096cc30000000000000000000000008dc02ac4eac81b42188f68c3d792ea3e0cfa5ebfd299353e95c02ac4e8c81b42188f68c300000000000000000000000091c02ac468dc1b42188f68c30000000000000000000000008ec02ac4ecc81b42188f68c300000000000000000000000093c02ac4ecc81b42188f68c3000000000000000000000000f87f2ac476ba1b4288df6bc30000000000000000000000008ec02ac4eac81b42108f68c3000000000000000000000000fd7f2ac479ba1b4228df6bc30000000000000000000000001d802ac41ddb1c4202e06bc33d29e83e0bb3623fa1dfce3df87f2ac479ba1b4289df6bc3000000000000000000000000f87f2ac479ba1b428adf6bc30000000000000000000000001e802ac41fda1c4201e06bc30000000000000000000000001c802ac41eda1c4200e06bc30000000000000000000000007da02ac4cfd51c42b0096cc300000000000000000000000027a02ac4ddd51c4228096cc300000000000000000000000023872ac4f7d91c4201e96bc300000000000000000000000057a02ac4c4b91b423c096cc3e205d6be022f65bf0bf51dbe7da02ac4d2d51c42af096cc3000000000000000000000000ed7f2ac479ba1b427edf6bc30000000000000000000000001d802ac41dda1c4201e06bc30000000000000000000000008ec02ac4edc81b42128f68c3000000000000000000000000b1c02ac48cd11c427d8f68c3e966cb3e0d60613f1da6843ef27f2ac479ba1b42b8df6bc300000000000000000000000021802ac41eda1c42c1df6bc300000000000000000000000086a02ac4d1d51c4263096cc3000000000000000000000000a8dd2ac437c81b42bab868c3ef9406be4ac77dbf59f62e3bcadd2ac4afcd1c4225b968c3000000000000000000000000d2152ac4592c1d420e196cc31410993e05cb73bfcfde79bdd2152ac4592c1d42db186cc3000000000000000000000000d2152ac4592c1d42db186cc3000000000000000000000000d2152ac45a2c1d4207196cc3000000000000000000000000d2152ac4572c1d4214196cc3000000000000000000000000d2152ac45d2c1d4264186cc3000000000000000000000000d2152ac4432e1d420b196cc3000000000000000000000000d2152ac45e2c1d420d196cc3000000000000000000000000d2152ac4902b1d420b196cc3000000000000000000000000d2152ac45d2c1d420c196cc3000000000000000000000000d2152ac45b2c1d42eb186cc3000000000000000000000000d2152ac4812e1d420e196cc3000000000000000000000000d2152ac4212f1d4214196cc3000000000000000000000000d2152ac4602c1d42e2186cc3000000000000000000000000d2152ac45c2c1d4208196cc3000000000000000000000000d2152ac45d2c1d4214196cc3000000000000000000000000d2152ac45f2c1d420d196cc3000000000000000000000000d2152ac45d2c1d4209196cc3000000000000000000000000d2152ac45f2c1d4214196cc30000000000000000000000004f172ac4034b1e4283196cc3fb06d03e8600693f2f5aa53d08182ac4034b1e42731a6cc300000000000000000000000051172ac4034b1e4284196cc30000000000000000000000005c172ac4034b1e4290196cc300000000000000000000000052172ac4034b1e4268196cc30000000000000000000000004f172ac4034b1e4289196cc30000000000000000000000000d182ac4034b1e429b196cc300000000000000000000000051172ac4034b1e428e196cc30000000000000000000000006a612ac43ce21c42183d68c3d00a3a3f922423bffd47833e74612ac430e21c42183d68c30000000000000000000000006b612ac43be21c42183d68c30000000000000000000000006d612ac439e21c42183d68c30000000000000000000000008f612ac41cfe1c42183d68c30000000000000000000000006a612ac43ce21c42183d68c30000000000000000000000006d612ac433e41c42173d68c300000000000000000000000074612ac43ce21c42183d68c30000000000000000000000006d612ac43ce21c42183d68c3000000000000000000000000cf152ac45b2c1d4209196cc3000000000000000000000000cf152ac45c2c1d4207196cc3000000000000000000000000d1152ac4582c1d420d196cc30000000000000000000000006b612ac43be21c420c3d68c3000000000000000000000000ce152ac45b2c1d420f196cc3000000000000000000000000e4152ac44d2c1d42d2176cc30000000000000000000000006c612ac43be21c420e3d68c30000000000000000000000006d612ac438e21c420e3d68c3000000000000000000000000ce152ac45e2c1d4211196cc3000000000000000000000000da152ac4522c1d4218186cc3000000000000000000000000d2152ac45a2c1d4212196cc3000000000000000000000000de152ac4452c1d4266186cc300000000000000000000000050172ac4ff4b1e4283196cc3000000000000000000000000d0152ac45d2c1d4209196cc3000000000000000000000000d1152ac4d52d1d4209196cc3000000000000000000000000cf152ac4622c1d4208196cc300000000000000000000000050172ac4044b1e4283196cc30000000000000000000000004f172ac4024b1e4282196cc300000000000000000000000029362ac49b211e42a3416cc39f0ac6be7eb25c3f339da7befe172ac4124b1e42631a6cc3000000000000000000000000d2152ac45c2c1d420b196cc300000000000000000000000013362ac47f2f1d42c3426cc32d6417bff79041bf83828fbed2152ac45e2c1d420b196cc3000000000000000000000000d2152ac45d2c1d420d196cc300000000000000000000000028362ac493211e42a3416cc300000000000000000000000053172ac4024b1e4286196cc30000000000000000000000006b612ac43be21c420b3d68c30000000000000000000000006e612ac4f0e31c420d3d68c3000000000000000000000000c7622ac49de51d427a3d68c3ecd9b23e8804683f0389733ece152ac45e2c1d4210196cc3000000000000000000000000db152ac4512c1d4263186cc3000000000000000000000000d1152ac4b32d1d4213196cc3000000000000000000000000ce152ac4632c1d4210196cc300000000000000000000000057172ac4024b1e4208196cc30000000000000000000000006e612ac43ce21c420f3d68c30000000000000000000000005e7e2ac468e51c42556768c31e0e5dbe04df79bf36c9d9bc757e2ac46ec01d42266668c37ffaf1be0d53603f7e06c0bdd1152ac45d2c1d4214196cc3000000000000000000000000d2152ac4562c1d4203196cc30000000000000000000000000f362ac4832f1d4202436cc3000000000000000000000000d3152ac45e2c1d4216196cc3000000000000000000000000d2152ac45f2c1d4213196cc3000000000000000000000000d9b129c412171d428fa16bc313ca013f5f845bbf2a6bb33dd8b129c414171d427da16bc3000000000000000000000000d8b129c412171d42a6a16bc3000000000000000000000000d8b129c416171d4222a16bc3000000000000000000000000d8b129c4bb181d4291a16bc3000000000000000000000000d8b129c416171d4291a16bc3000000000000000000000000d8b129c48b1c1d4298a16bc3000000000000000000000000d8b129c416171d4272a16bc3000000000000000000000000d8b129c417171d42a2a16bc30000000000000000000000007e192ac411031d4232f567c3876acfbe808069bf785e80bde4192ac411031d42d2ee67c300000000000000000000000012192ac411031d421dfa67c3000000000000000000000000e9192ac411031d42daee67c3000000000000000000000000eb192ac411031d42dfee67c30000000000000000000000006eb229c495361e4232a26bc3b8a92d3f76e9353f27373f3e28b429c495361e426ba46bc30000000000000000000000006fb229c495361e4233a26bc30000000000000000000000006db229c495361e4224a26bc3000000000000000000000000ddfc29c4de131d42b6c467c321db5f3fd987c6bee346953ee2fc29c4dc131d42b6c467c3000000000000000000000000e1fc29c4df131d42b6c467c3000000000000000000000000e3fc29c4db1d1d42b6c467c3000000000000000000000000dffc29c460171d42b6c467c3000000000000000000000000d7b129c414171d428ea16bc300000000000000000000000033d229c48b041d4219cb6bc38f6d70bfd2274cbdcefbadbed9b129c412171d4292a16bc300000000000000000000000036d229c488041d421ecb6bc3000000000000000000000000e0fc29c4e0131d42b0c467c3000000000000000000000000deb129c412171d423aa16bc3000000000000000000000000ea192ac40d031d42d9ee67c300000000000000000000000025d429c481041d425eb06bc3412821bf1e4e41bf1e823bbedffc29c4de131d42b2c467c3000000000000000000000000eb192ac40d031d42deee67c3000000000000000000000000e1b129c413171d4235a16bc300000000000000000000000027d429c47f041d423bb06bc30000000000000000000000006eb229c492371e4234a26bc3000000000000000000000000d8b129c4361d1d428fa16bc3000000000000000000000000d7b129c417171d428ea16bc30000000000000000000000006db229c496361e4233a26bc300000000000000000000000037d229c45b251e4202cb6bc34bbc2fbf109e2a3f1be694be36d229c4e2091d421dcb6bc300000000000000000000000033d229c48e051d421acb6bc3000000000000000000000000d9b129c417171d4292a16bc300000000000000000000000036d229c48b051d421dcb6bc300000000000000000000000037d229c459251e4203cb6bc3000000000000000000000000e0fc29c4de161d42b2c467c300000000000000000000000063fd29c4f30d1e423fc567c33e28223fc4c6373fc6e1933e37d229c45a251e4217cb6bc3000000000000000000000000ec192ac4ed0a1d42ddee67c3000000000000000000000000ef192ac479fe1d42b1ee67c33a1737bfa4d92c3fd0e438be4ecb29c460d21c423c4c6bc3344e723e7dd574bf9c662fbe4ecb29c462d21c421d4c6bc30000000000000000000000004ecb29c460d21c42464c6bc30000000000000000000000004ecb29c460d21c423f4c6bc30000000000000000000000004ecb29c4cbd41c42394c6bc30000000000000000000000004ecb29c4b6d41c42424c6bc30000000000000000000000004ecb29c412d41c423f4c6bc3000000000000000000000000a56d2ac4c4221c42b3c868c3b73690bdc9a07ebfdc099b3da66d2ac4c4221c42f8c868c3000000000000000000000000a56d2ac4c4221c42bac868c3000000000000000000000000a66d2ac4c4221c42c3c868c3000000000000000000000000a56d2ac4c4221c4232c968c3000000000000000000000000aa6d2ac4c4221c42bbc868c3000000000000000000000000b36d2ac4c4221c42cbc868c3000000000000000000000000ae6d2ac4c4221c42bfc868c3000000000000000000000000aa6d2ac4c4221c42bec868c3000000000000000000000000a86d2ac4c4221c42d4c868c3000000000000000000000000ab6d2ac4c4221c42cfc868c3000000000000000000000000ae6d2ac4c4221c42c5c868c3000000000000000000000000ac6d2ac4c4221c42c5c868c30000000000000000000000002dcd29c419421e42c74c6bc39d6f2e3e9f097c3fdacf28bd27cd29c419421e42bf4c6bc30000000000000000000000002fcd29c419421e42c84c6bc30000000000000000000000002fcd29c419421e427e4c6bc30000000000000000000000002ecd29c419421e42c44c6bc300000000000000000000000027cd29c419421e42bd4c6bc300000000000000000000000017092ac467941c42c83a68c3818f923e4eed54bf9d8af33e11092ac46d941c42c83a68c300000000000000000000000014092ac46a941c42c83a68c300000000000000000000000015092ac46b941c42c73a68c300000000000000000000000022092ac4e3a31c42c83a68c300000000000000000000000014092ac4a0961c42c83a68c300000000000000000000000014092ac44b961c42c73a68c300000000000000000000000012092ac46b941c42c13a68c3000000000000000000000000aa6d2ac4bf221c42bbc868c300000000000000000000000014092ac46b941c42c53a68c3000000000000000000000000a86d2ac4c2221c42b5c868c3000000000000000000000000ae6d2ac4bb221c42c0c868c30000000000000000000000004dcb29c463d21c42384c6bc30000000000000000000000002b302ac476601c4240d46bc373ff7fbe9d616abf2250a1be4fcb29c45fd21c423c4c6bc300000000000000000000000021302ac481601c4234d46bc30000000000000000000000002e302ac471601c4245d46bc300000000000000000000000011092ac46d941c42c43a68c30000000000000000000000004bcb29c464d21c423c4c6bc3000000000000000000000000a96d2ac4c0221c42bfc868c30000000000000000000000002a302ac475601c4243d46bc300000000000000000000000014092ac46b941c42c83a68c30000000000000000000000004ecb29c461d21c423f4c6bc3000000000000000000000000a56d2ac4c3221c42bcc868c3000000000000000000000000ae6d2ac4b9221c42c5c868c300000000000000000000000021302ac480601c4237d46bc30000000000000000000000002e302ac471601c4247d46bc300000000000000000000000014092ac405971c42c23a68c3000000000000000000000000aa6d2ac4c2221c42bac868c3000000000000000000000000ad6d2ac42e261c42bcc868c3000000000000000000000000ad6d2ac4c3221c42bfc868c300000000000000000000000028cd29c41f421e42bf4c6bc300000000000000000000000053302ac422d21d427bd26bc3c494f3bd2c8e633f6484e2be2ecd29c419421e42c84c6bc30000000000000000000000004ecb29c471d51c42374c6bc300000000000000000000000028cd29c419421e42c04c6bc30000000000000000000000002b302ac481601c4240d46bc30000000000000000000000002e302ac493631c4240d46bc30000000000000000000000002f302ac481601c4246d46bc3000000000000000000000000c80a2ac447041e42303d68c3ddba793d1897763f32f3853eae6d2ac487941d42c4c868c3e202aabef0ea6e3f17310c3ec50a2ac448041e422c3d68c300000000000000000000000015092ac436961c42c73a68c30000000000000000000000004ecb29c424d41c423e4c6bc3000000000000000000000000c80a2ac449041e422f3d68c3000000000000000000000000a96d2ac4c2221c42bfc868c3000000000000000000000000ae6d2ac486251c42c5c868c30000000000000000000000002a302ac481601c4241d46bc30000000000000000000000002e302ac466631c4246d46bc3000000000000000000000000ad6d2ac4c3221c42c5c868c30000000000000000000000002d302ac482601c4246d46bc30000000000000000000000002d472ac4de281c42b08d6cc30115373fdaea32bf208016bc2d472ac4dd281c42728d6cc30000000000000000000000002d472ac4da281c42268d6cc30000000000000000000000002d472ac4de281c42968d6cc30000000000000000000000002d472ac4de281c42b38d6cc30000000000000000000000002d472ac4102f1c42a88d6cc30000000000000000000000002d472ac4e4281c42b08d6cc30000000000000000000000002d472ac46f321c42a28d6cc30000000000000000000000002d472ac4e5281c42b08d6cc30000000000000000000000002d472ac4e1281c42728d6cc30000000000000000000000002d472ac4aa2d1c42998d6cc30000000000000000000000002d472ac48e2f1c42b28d6cc30000000000000000000000002d472ac4e6281c42838d6cc30000000000000000000000002d472ac4e4281c42a48d6cc30000000000000000000000002d472ac4e5281c42b48d6cc30000000000000000000000002d472ac4e5281c42b98d6cc30000000000000000000000002d472ac4e4281c428f8d6cc30000000000000000000000002d472ac4e4281c42b48d6cc3000000000000000000000000e8472ac44d481d42338d6cc33ce07c3f311f8d3dc0070f3e80492ac44d481d423d8f6cc3000000000000000000000000eb472ac44d481d42368d6cc300000000000000000000000004482ac44d481d424a8d6cc3000000000000000000000000e7482ac44d481d4242806cc3187929bd92c67f3fa151cf3bee472ac44d481d42f58c6cc3000000000000000000000000e6472ac44d481d424d8d6cc30000000000000000000000006c492ac44d481d42498d6cc3000000000000000000000000eb472ac44d481d42548d6cc300000000000000000000000090672ac4102c1c427cb76cc395d62abf686e2abfc4ebaabe85672ac4102c1c427cb76cc300000000000000000000000085672ac4102c1c427db76cc300000000000000000000000088882ac4f4071d42ef3c69c3a0f0243fab49323f27cba13e7f882ac4b7f61c42ef3c69c300000000000000000000000088882ac4f2071d42ef3c69c30000000000000000000000008f882ac4f0071d42ef3c69c30000000000000000000000008e882ac4f2071d42ef3c69c30000000000000000000000008f882ac4f2071d42ef3c69c30000000000000000000000002a472ac4e1281c42ac8d6cc300000000000000000000000024472ac4e4281c42a38d6cc30000000000000000000000002c472ac4e1281c42ae8d6cc30000000000000000000000002a472ac4e2281c42af8d6cc300000000000000000000000026472ac4e3281c42aa8d6cc30000000000000000000000002b472ac4e0281c42b08d6cc3000000000000000000000000e9472ac44e491d42328d6cc300000000000000000000000029472ac4e4281c42aa8d6cc30000000000000000000000002c472ac48b2d1c42a88d6cc300000000000000000000000029472ac4e8281c42ac8d6cc3000000000000000000000000e9472ac44e481d42328d6cc3000000000000000000000000e7472ac449481d42318d6cc30000000000000000000000009e672ac451351d4227b66cc3dcb5b4be7ffd5c3fe1c5b8be4e492ac46e481d42fd8e6cc300000000000000000000000091672ac40e2c1c4269b76cc30000000000000000000000002b472ac4e4281c42ae8d6cc300000000000000000000000087672ac40e2c1c425db76cc30000000000000000000000002e472ac4e4281c42af8d6cc30000000000000000000000002a472ac4e5281c42ae8d6cc30000000000000000000000009e672ac44f351d4228b66cc3000000000000000000000000ee472ac44b481d42378d6cc30000000000000000000000008a882ac4f3071d42e73c69c3000000000000000000000000504a2ac4dd461d425a6d6cc3000000000000000000000000da872ac421021c42553d69c3c6bf533fb26df7be21e0923e89882ac4f1071d42e73c69c300000000000000000000000029472ac4e4281c42ae8d6cc30000000000000000000000002c472ac45b2e1c42b18d6cc30000000000000000000000005a502ac4ba251c42af396cc3020d1c3d6ad07fbf057c4e392a472ac4e7281c42ae8d6cc3000000000000000000000000f8a42ac422f61c42bd6569c31e85f8be23925e3fb8ebbcbd8d882ac4f2071d42ea3c69c3000000000000000000000000a8672ac448351d42b2b56cc3000000000000000000000000914b2ac41f461d425c706cc3000000000000000000000000efa42ac4b5f01b42146769c3f28895bda8667ebf59d5ac3d8e672ac4102c1c4286b76cc3000000000000000000000000c8992ac466f71b4249016ac3e498bbbe392a6cbf5461f8bdcf872ac429021c42443d69c3000000000000000000000000e2a42ac4bcf01b42036769c30000000000000000000000002c472ac4e5281c42b28d6cc300000000000000000000000028472ac4e2281c42c18d6cc300000000000000000000000085672ac4112c1c427cb76cc3000000000000000000000000af992ac470f71b4205026ac30000000000000000000000002c472ac4e4281c42b28d6cc30000000000000000000000002b472ac4e5281c42b18d6cc3000000000000000000000000714a26c4d1002342654b63c35cdf30bf54b54abef7ff313f714a26c4d00023427c4b63c3000000000000000000000000714a26c4cf002342694b63c3000000000000000000000000714a26c492012342554b63c3000000000000000000000000714a26c49c0123427b4b63c3000000000000000000000000714a26c412012342714b63c3000000000000000000000000591626c47b422a4234a463c358c07a3ffa79163d25d54abe591626c4e0432a4217a463c3000000000000000000000000591626c45b422a423ba463c3000000000000000000000000591626c43b422a423ea463c3000000000000000000000000591626c4d0412a423ba463c3000000000000000000000000591626c4f0412a424ca463c3000000000000000000000000591626c44c422a421ca463c3000000000000000000000000591626c49c422a4239a463c3000000000000000000000000591626c439422a4212a463c3000000000000000000000000591626c4c4422a4240a463c3000000000000000000000000591626c4db412a4217a463c3000000000000000000000000591626c422412a4239a463c3000000000000000000000000591626c447422a422da463c3000000000000000000000000591626c45a402a4243a463c3000000000000000000000000591626c4d1412a421fa463c3000000000000000000000000591626c43e422a423aa463c3000000000000000000000000591626c4e6412a4239a463c3000000000000000000000000591626c457422a4242a463c3000000000000000000000000591626c4f3412a4242a463c3000000000000000000000000771f26c4eacc224237a563c3e73a273f489398bea62f32bf781f26c4eacc224224a563c3000000000000000000000000771f26c4eacc224223a563c30000000000000000000000007a1f26c4eacc224204a563c3000000000000000000000000781f26c4eacc224225a563c3000000000000000000000000771f26c4e9cc224229a563c30000000000000000000000007e1f26c4e9cc224223a563c30000000000000000000000007a1f26c4eacc224226a563c30000000000000000000000007b1f26c4eacc224225a563c30000000000000000000000008f2926c440362c422a7763c3e4dc9a3d47447f3f9045d63a8c2926c440362c42257763c3000000000000000000000000812926c440362c42177763c3000000000000000000000000932926c440362c42307763c3000000000000000000000000922926c440362c422d7763c3000000000000000000000000932926c440362c42307763c3000000000000000000000000912926c440362c422c7763c30000000000000000000000008f2926c440362c42257763c30000000000000000000000008e2926c440362c42317763c3000000000000000000000000922926c440362c42007763c30000000000000000000000008e2926c440362c42317763c3000000000000000000000000902926c440362c420c7763c30000000000000000000000008c2926c440362c42227763c30000000000000000000000008b2926c440362c42327763c3000000000000000000000000922926c440362c42ed7663c30000000000000000000000008a2926c440362c422f7763c3000000000000000000000000922926c440362c42ec7663c3000000000000000000000000992926c440362c422f7763c3000000000000000000000000922926c440362c42287763c3000000000000000000000000992926c440362c42307763c3000000000000000000000000912926c440362c42277763c3000000000000000000000000912926c440362c42307763c3000000000000000000000000912926c440362c422f7763c3000000000000000000000000922926c440362c42307763c3000000000000000000000000922926c440362c42307763c30000000000000000000000001f4026c432f5224285ce63c3d36138bf4ef191bd46a730bf274026c43bf5224285ce63c30000000000000000000000001f4026c431f5224285ce63c3000000000000000000000000204026c4fbf4224285ce63c30000000000000000000000001f4026c4d0fc224286ce63c3000000000000000000000000a92026c4314e2a423e2163c3ec74533e70aebf3d6d55793fa72026c4ee4d2a423e2163c3000000000000000000000000ad2026c4cf4e2a423e2163c3000000000000000000000000a72026c4ee4d2a423e2163c3000000000000000000000000a92026c44d4e2a423d2163c3000000000000000000000000a52026c43c4e2a423e2163c3000000000000000000000000ae2026c4084e2a423e2163c3000000000000000000000000b12026c4ec4d2a423e2163c3000000000000000000000000a82026c4294e2a423e2163c3000000000000000000000000fc2026c4e90c2a423e2163c3000000000000000000000000a72026c4ef4d2a423e2163c3000000000000000000000000aa2026c4814b2a423e2163c3000000000000000000000000ae2026c4ec4d2a423e2163c3000000000000000000000000a92026c4f14d2a423e2163c30000000000000000000000008c2926c415362c42277763c3000000000000000000000000902926c452362c42287763c3000000000000000000000000561626c45c422a4235a463c3000000000000000000000000571626c459422a4239a463c3000000000000000000000000902926c48b362c421f7763c30000000000000000000000008d2926c429362c422d7763c30000000000000000000000005a1626c4cc422a422ea463c3000000000000000000000000902926c453362c42247763c3000000000000000000000000591626c48e422a4232a463c30000000000000000000000008c2926c44c362c42247763c3000000000000000000000000fe3626c46b6a2a4296cd63c3a01542be43c3023e8f3979bffd3626c49e6a2a428ecd63c30000000000000000000000008e2926c4ec352c42327763c30000000000000000000000008d2926c423362c422b7763c3000000000000000000000000932926c455362c422d7763c3000000000000000000000000922926c455362c422d7763c3000000000000000000000000992926c45d362c42367763c3000000000000000000000000902926c452362c42297763c3000000000000000000000000571626c458422a4238a463c3000000000000000000000000561626c403422a4244a463c3000000000000000000000000581626c4d3422a422ba463c3000000000000000000000000ff3626c4a06a2a4291cd63c3000000000000000000000000013726c40f6b2a4287cd63c3000000000000000000000000023726c4a56a2a4293cd63c3000000000000000000000000591626c45d422a423ba463c30000000000000000000000005a1626c45c422a423ba463c30000000000000000000000005a1626c45c422a423ba463c3000000000000000000000000932926c45b362c422b7763c3000000000000000000000000942926c443362c42317763c3000000000000000000000000952926c4f6352c423f7763c3000000000000000000000000922926c438362c422d7763c30000000000000000000000005a1626c451422a423ca463c3000000000000000000000000922926c43c362c422f7763c3000000000000000000000000591626c44f422a423fa463c3000000000000000000000000932926c438362c422f7763c3000000000000000000000000591626c438422a4247a463c30000000000000000000000008d2926c419362c421f7763c30000000000000000000000008d2926c41c362c42387763c3000000000000000000000000922926c42c362c420b7763c30000000000000000000000008e2926c41f362c422b7763c3000000000000000000000000a72026c4274e2a42342163c3000000000000000000000000a82026c4ff4d2a42362163c30000000000000000000000008e2926c461362c42297763c30000000000000000000000008a2926c4a9352c42087763c3000000000000000000000000a92026c4534e2a42432163c3000000000000000000000000902926c46a362c42297763c3000000000000000000000000581626c478422a4237a463c3000000000000000000000000a72026c4134e2a42362163c30000000000000000000000005b1626c478422a420ea463c3000000000000000000000000a52026c4e94d2a423d2163c3000000000000000000000000581626c473422a421aa463c30000000000000000000000004f1626c422412a422fa463c3000000000000000000000000591626c482422a423aa463c3000000000000000000000000591626c483422a4239a463c3000000000000000000000000a42026c4a14d2a42322163c3000000000000000000000000a92026c4234e2a423a2163c30000000000000000000000008f2926c43e362c42307763c3000000000000000000000000902926c45c362c42277763c3000000000000000000000000892926c4a1352c42117763c30000000000000000000000005e1626c4cd422a4218a463c3000000000000000000000000912926c437362c42fb7663c30000000000000000000000005a1626c440422a420ea463c3000000000000000000000000a72026c43c4e2a424b2163c3000000000000000000000000902926c47c362c42367763c3000000000000000000000000591626c4b8422a4247a463c3000000000000000000000000504126c406762a42884a63c3466d76bff1ee3c3ecb204b3e4c4126c445762a42894a63c3000000000000000000000000882926c472362c42267763c3000000000000000000000000902926c404362c421c7763c3000000000000000000000000962926c483352c42147763c3000000000000000000000000524126c4b9752a427b4a63c3000000000000000000000000ff3626c4756a2a4290cd63c30000000000000000000000004e4126c40f762a428c4a63c3000000000000000000000000fc3626c4726a2a42a1cd63c3000000000000000000000000534126c409762a42534a63c3000000000000000000000000524126c4ed752a42594a63c3000000000000000000000000f93626c4d76a2a428acd63c3000000000000000000000000364126c4c9772a427b4a63c3000000000000000000000000534126c4ad752a42914a63c30000000000000000000000008d2926c4ed352c423e7763c30000000000000000000000008b2926c443362c422f7763c30000000000000000000000008e2926c4fd352c42267763c3000000000000000000000000c12926c4d3312c42997663c3000000000000000000000000514126c43e762a42504a63c3000000000000000000000000a72026c4ff4d2a42352163c3000000000000000000000000ac2026c4c54c2a42092163c30000000000000000000000004c4126c446762a428b4a63c30000000000000000000000004e4126c478762a42944a63c3000000000000000000000000544126c4fb742a42644a63c3000000000000000000000000b32026c40c4e2a42432163c3000000000000000000000000a92026c4004e2a42382163c3000000000000000000000000504126c448762a428f4a63c3000000000000000000000000524126c44b762a42924a63c3000000000000000000000000922926c455362c422b7763c3000000000000000000000000992926c441362c42317763c3000000000000000000000000902926c459362c422b7763c3000000000000000000000000912926c43c362c42287763c3000000000000000000000000ac2026c4c64c2a420f2163c3000000000000000000000000962926c4d2352c421d7763c3000000000000000000000000524126c431762a428b4a63c3000000000000000000000000781f26c4eacc224223a563c3000000000000000000000000c82926c485d82242212263c34763333fdfe63abedf8e303f7a1f26c4eccc224212a563c3000000000000000000000000581626c424422a4238a463c30000000000000000000000005a1626c4e9402a4237a463c3000000000000000000000000771f26c4eacc224223a563c3000000000000000000000000a82026c4be4d2a42362163c3000000000000000000000000aa2026c4fe4b2a42362163c3000000000000000000000000c72926c485d82242212263c3000000000000000000000000591626c43a422a4222a463c30000000000000000000000005b1626c41c402a421ca463c30000000000000000000000007b1f26c4edcc22420ca563c3000000000000000000000000204026c431f522427cce63c30000000000000000000000006f4a26c4cd0023427a4b63c3000000000000000000000000724a26c4d20023425b4b63c3000000000000000000000000771f26c4eacc224223a563c3000000000000000000000000791f26c4edcc224226a563c3000000000000000000000000204026c433f522427cce63c3000000000000000000000000c82926c486d82242212263c3000000000000000000000000704a26c4ce0023427b4b63c3000000000000000000000000714a26c4d10023427e4b63c30000000000000000000000007a1f26c4edcc22420ba563c3000000000000000000000000724a26c4d1002342604b63c3000000000000000000000000ff3626c4ba6a2a428ecd63c30000000000000000000000004e4126c480762a428d4a63c3000000000000000000000000714a26c4d3ff22427a4b63c3000000000000000000000000524126c41d762a42644a63c3000000000000000000000000734a26c4f0ff22425e4b63c30000000000000000000000005a1626c43c422a423ba463c3000000000000000000000000581626c44a422a423aa463c30000000000000000000000005a1626c452422a423aa463c30000000000000000000000007a1f26c4e9cc224227a563c3000000000000000000000000ab2026c4cc4d2a42382163c3000000000000000000000000534126c434762a42914a63c3000000000000000000000000704a26c46c0223427d4b63c3000000000000000000000000912926c442362c422f7763c3000000000000000000000000922926c446362c422e7763c3000000000000000000000000922926c43d362c42307763c3000000000000000000000000922926c445362c42307763c3000000000000000000000000591626c453422a4243a463c3000000000000000000000000791426c4688e23423e3b66c3996132bf172050bee617303f791426c4898e23423e3b66c3000000000000000000000000791426c4668e2342203b66c3000000000000000000000000791426c4678e2342393b66c3000000000000000000000000791426c40a8f2342213b66c3000000000000000000000000791426c4338e2342363b66c300000000000000000000000074e025c498cf2a42519566c3da297b3fdfdb083d692143be74e025c4d3cf2a425c9566c300000000000000000000000074e025c46ccf2a42429566c300000000000000000000000074e025c4a4cf2a42509566c300000000000000000000000074e025c480cf2a42449566c300000000000000000000000074e025c4e5ce2a42489566c300000000000000000000000074e025c469cf2a425c9566c300000000000000000000000074e025c4cfd02a423c9566c300000000000000000000000074e025c4e6cf2a42549566c300000000000000000000000074e025c476cf2a42599566c300000000000000000000000074e025c44dcf2a42639566c300000000000000000000000074e025c4e9cc2a42599566c300000000000000000000000074e025c48cc72a424d9566c300000000000000000000000074e025c474cf2a425b9566c300000000000000000000000074e025c4dbce2a425a9566c300000000000000000000000074e025c4c1ce2a424c9566c300000000000000000000000074e025c487cf2a423c9566c300000000000000000000000074e025c467ce2a42469566c300000000000000000000000074e025c477cf2a42499566c300000000000000000000000074e025c402cf2a42489566c30000000000000000000000009ee925c4095a2342c29566c3293a263f6adf98be030f33bf9fe925c4095a2342a39566c30000000000000000000000009fe925c4095a2342bf9566c30000000000000000000000009fe925c4095a2342ff9566c30000000000000000000000009ce925c4095a2342c19566c30000000000000000000000009ae925c4095a2342bb9566c30000000000000000000000009ee925c4095a2342c19566c30000000000000000000000009ee925c4095a2342be9566c30000000000000000000000009ee925c4095a2342b49566c30000000000000000000000009fe925c4095a2342ba9566c300000000000000000000000099f325c48ec32c42fb6766c3cd639c3da1407f3f8f88353a97f325c48ec32c42f96766c300000000000000000000000097f325c48ec32c42036866c30000000000000000000000009bf325c48ec32c42d86766c300000000000000000000000097f325c48ec32c42056866c30000000000000000000000009bf325c48ec32c42d86766c300000000000000000000000094f325c48ec32c42f56766c30000000000000000000000009af325c48ec32c42ff6766c30000000000000000000000009ef325c48ec32c42056866c30000000000000000000000009af325c48ec32c42fe6766c30000000000000000000000009ff325c48ec32c42056866c30000000000000000000000009bf325c48ec32c42fe6766c30000000000000000000000009bf325c48ec32c42fd6766c3000000000000000000000000a2f325c48ec32c42056866c30000000000000000000000009bf325c48ec32c42fc6766c3000000000000000000000000a2f325c48ec32c42056866c30000000000000000000000009bf325c48ec32c42fb6766c30000000000000000000000009af325c48ec32c42046866c30000000000000000000000009af325c48ec32c420b6866c30000000000000000000000009af325c48ec32c42046866c30000000000000000000000009cf325c48ec32c42f76766c30000000000000000000000009bf325c48ec32c42066866c30000000000000000000000009bf325c48ec32c42056866c300000000000000000000000099f325c48ec32c42056866c30000000000000000000000009bf325c48ec32c42046866c3000000000000000000000000590a26c46782234279be66c36f3839bfc06e92bd95c42fbf520a26c45f8223427abe66c3000000000000000000000000520a26c4608223427abe66c3000000000000000000000000530a26c4a28723427abe66c300000000000000000000000099ea25c4a1db2a422a1266c3f421043f5b0ce93e45bd393f9dea25c419dc2a42291266c300000000000000000000000096ea25c47fdb2a422a1266c300000000000000000000000096ea25c470db2a422a1266c300000000000000000000000098ea25c4acdb2a422a1266c30000000000000000000000009dea25c488db2a422a1266c300000000000000000000000096ea25c4aedb2a422a1266c3000000000000000000000000a1ea25c46edb2a422a1266c300000000000000000000000098ea25c4abdb2a422a1266c300000000000000000000000042eb25c497532a422a1266c318ae413ef02b7bbc3b597b3f9cea25c46bdb2a422a1266c300000000000000000000000095ea25c46adb2a422a1266c300000000000000000000000099ea25c48fd92a422b1266c300000000000000000000000098ea25c46adb2a422a1266c300000000000000000000000099f325c494c32c42fb6766c30000000000000000000000009af325c4b4c32c42f66766c300000000000000000000000072e025c467cf2a42589566c300000000000000000000000072e025c45ccf2a42589566c300000000000000000000000097f325c46ec32c42006866c300000000000000000000000073e025c482cf2a42549566c30000000000000000000000009cf325c4efc32c42f36766c300000000000000000000000099f325c49fc32c42f86766c300000000000000000000000073e025c476cf2a42579566c300000000000000000000000098f325c4a8c32c42ff6766c300000000000000000000000097ea25c482db2a42241266c300000000000000000000000097ea25c488db2a42241266c300000000000000000000000098ea25c486db2a422e1266c300000000000000000000000096f325c41dc32c42e86766c300000000000000000000000099f325c4acc32c42ff6766c30000000000000000000000009af325c4c1c32c42016866c300000000000000000000000098f325c4b0c32c420c6866c30000000000000000000000009df325c49bc32c42d26766c300000000000000000000000098f325c4acc32c42ff6766c30000000000000000000000009af325c4aac32c42f56766c300000000000000000000000097ea25c47adb2a42221266c300000000000000000000000094ea25c432db2a421f1266c300000000000000000000000099ea25c497db2a42261266c300000000000000000000000072e025c47ccf2a42599566c300000000000000000000000073e025c4adcf2a425a9566c30000000000000000000000006ee025c4b0ce2a42539566c300000000000000000000000072e025c4a1cf2a42599566c300000000000000000000000097ea25c474db2a422e1266c300000000000000000000000075e025c466cf2a42539566c300000000000000000000000073e025c462cf2a424a9566c300000000000000000000000097ea25c4a5db2a42341266c300000000000000000000000093f325c4cec22c42ee6766c300000000000000000000000097f325c48cc32c42056866c300000000000000000000000098f325c4bcc32c420d6866c300000000000000000000000075e025c473cf2a42419566c300000000000000000000000075e025c49ccf2a424c9566c30000000000000000000000009bf325c492c32c42dd6766c300000000000000000000000072e025c466cf2a42429566c300000000000000000000000099f325c4b3c32c42fe6766c300000000000000000000000099f325c496c32c42fd6766c3000000000000000000000000a3f325c4a0c32c42086866c30000000000000000000000009af325c496c32c42fe6766c30000000000000000000000009ff325c49bc32c42036866c30000000000000000000000009bf325c496c32c42ff6766c3000000000000000000000000290126c4c1f72a420bbe66c368a246be0916023ed90579bf270126c4e8f72a4201be66c30000000000000000000000009bf325c47ec32c42036866c30000000000000000000000009bf325c48cc32c42fd6766c30000000000000000000000009bf325c4a8c32c42fc6766c300000000000000000000000071e025c466cf2a42589566c3000000000000000000000000270126c4bef72a4208be66c300000000000000000000000073e025c467cf2a42589566c300000000000000000000000073e025c467cf2a425b9566c30000000000000000000000002e0126c4c7f72a4211be66c300000000000000000000000073e025c467cf2a42599566c300000000000000000000000071e025c4b6ce2a42649566c300000000000000000000000071e025c440cf2a425b9566c300000000000000000000000072e025c4d8cf2a42429566c30000000000000000000000002b0126c48cf82a42f0bd66c300000000000000000000000099f325c47cc32c42016866c30000000000000000000000009ff325c491c32c42056866c30000000000000000000000009cf325c483c32c42036866c300000000000000000000000072e025c44bcf2a425b9566c300000000000000000000000074e025c4e2cf2a42589566c30000000000000000000000009ff325c4cdc32c42fd6766c30000000000000000000000009bf325c48ec32c42006866c300000000000000000000000074e025c466cf2a425a9566c3000000000000000000000000a0f325c4ccc22c421f6866c30000000000000000000000004e0b26c4da032b42d63a66c372e174bfaa833b3e6b45683e4d0b26c4f0032b42dc3a66c3000000000000000000000000a1f325c419c32c42f06766c30000000000000000000000009af325c493c32c42fc6766c30000000000000000000000009af325c4afc32c42ff6766c3000000000000000000000000ee0126c46f082a42c14066c30000000000000000000000004e0b26c4c6032b42d03a66c300000000000000000000000096ea25c481db2a42231266c30000000000000000000000004c0b26c4d9032b42d33a66c3000000000000000000000000a1ea25c48fdb2a42311266c300000000000000000000000099ea25c484db2a42241266c30000000000000000000000004d0b26c4da032b42d53a66c30000000000000000000000004e0b26c4da032b42d63a66c30000000000000000000000009bea25c479da2a42f41166c30000000000000000000000004b0b26c4e6032b42d73a66c3000000000000000000000000500b26c409032b42c23a66c30000000000000000000000009dea25c47bda2a42fe1166c3000000000000000000000000a3f325c48ec32c42056866c3000000000000000000000000a0f325c41ec32c42f36766c30000000000000000000000009cf325c4a4c32c42016866c30000000000000000000000009af325c496c32c42006866c30000000000000000000000009af325c4acc32c42006866c30000000000000000000000004e0b26c4b6032b42d13a66c30000000000000000000000004c0b26c4fd032b42d43a66c30000000000000000000000004c0b26c4de032b42d93a66c30000000000000000000000004f0b26c4d3032b42d73a66c3000000000000000000000000270126c4dff72a4208be66c3000000000000000000000000270126c4f6f72a420abe66c3000000000000000000000000260126c4f4f72a4209be66c30000000000000000000000004c0b26c4ef032b42d93a66c30000000000000000000000004e0b26c404042b42a23a66c30000000000000000000000009af325c48ec32c42066866c30000000000000000000000009af325c48cc32c42056866c300000000000000000000000097f325c422c32c42f86766c30000000000000000000000009af325c496c32c420a6866c30000000000000000000000009bf325c497c32c42ed6766c30000000000000000000000009cf325c4bbc32c42fe6766c30000000000000000000000004e0b26c4be032b42d33a66c3000000000000000000000000c2f325c40e6623428b1266c3408c363f281541be5fdd2c3f781426c4678e23423c3b66c3000000000000000000000000791426c4688e23423e3b66c3000000000000000000000000c4f325c4106623428e1266c3000000000000000000000000791426c4678e23423d3b66c300000000000000000000000097ea25c445db2a42231266c300000000000000000000000098ea25c4bdd92a42231266c3000000000000000000000000c2f325c4116623428a1266c30000000000000000000000004c0b26c4f0032b42d53a66c3000000000000000000000000791426c47e8d23423b3b66c300000000000000000000000099ea25c44edb2a42241266c30000000000000000000000004f0b26c4cb032b42d73a66c30000000000000000000000007a1426c4ec8e23423f3b66c30000000000000000000000009de925c4065a2342be9566c3000000000000000000000000510a26c45e82234271be66c30000000000000000000000009fe925c4095a2342c39566c3000000000000000000000000540a26c46182234274be66c30000000000000000000000009fe925c4095a2342c29566c30000000000000000000000009ee925c4075a2342b19566c30000000000000000000000007a1426c4688e23421d3b66c3000000000000000000000000791426c4678e2342293b66c30000000000000000000000009ee925c4085a2342c79566c300000000000000000000000072e025c4acce2a42599566c300000000000000000000000072e025c43fcf2a42589566c30000000000000000000000009de925c4085a2342bf9566c3000000000000000000000000270126c4f3f72a4209be66c300000000000000000000000073e025c44ecf2a42579566c300000000000000000000000074e025c461cf2a425b9566c300000000000000000000000073e025c464cf2a425b9566c30000000000000000000000009ee925c4095a2342c29566c30000000000000000000000009cea25c4e2da2a42ff1166c30000000000000000000000006ae025c4ecce2a42859566c300000000000000000000000075e025c476ce2a42389566c300000000000000000000000074e025c45acf2a42489566c30000000000000000000000009fe925c40b5a2342ac9566c30000000000000000000000004e0b26c4ab032b42b73a66c30000000000000000000000009bf325c48bc32c42056866c30000000000000000000000009bf325c48cc32c42086866c30000000000000000000000009bf325c48ec32c42046866c300000000000000000000000072e025c45ecf2a425c9566c30000000000000000000000009bf325c49ec32c42056866c30000000000000000000000008a1c26c4b24923427ada66c3295c043f628e58bf77e105be8a1c26c4ba4923427bda66c30000000000000000000000008a1c26c47f49234256da66c30000000000000000000000008a1c26c4d549234284da66c30000000000000000000000008a1c26c4b54923427cda66c30000000000000000000000008a1c26c4b149234264da66c30000000000000000000000008a1c26c4b449234284da66c30000000000000000000000008a1c26c42651234266da66c3000000000000000000000000d5a426c4882822429efb63c3f32d4bbd84647fbf688743bdd2a426c488282242affb63c3000000000000000000000000d4a426c488282242a9fb63c3000000000000000000000000d6a426c48828224299fb63c3000000000000000000000000d6a426c4882822428bfb63c3000000000000000000000000cda426c4882822428cfb63c3000000000000000000000000daa426c488282242a7fb63c3000000000000000000000000d7a426c488282242a0fb63c3000000000000000000000000d7a426c488282242a2fb63c3000000000000000000000000d1a426c488282242a5fb63c3000000000000000000000000d7a426c488282242c3fb63c3000000000000000000000000d7a426c488282242dcfb63c3000000000000000000000000d7a426c488282242a7fb63c3000000000000000000000000d9a426c488282242a7fb63c3000000000000000000000000c08e26c47ab12442c57b67c37559d7bdf5c97a3f751a2fbec08e26c47ab12442c87b67c3000000000000000000000000bf8e26c47ab12442d07b67c3000000000000000000000000c88e26c47ab124428f7b67c3000000000000000000000000b58e26c47ab12442bd7b67c3000000000000000000000000c68e26c47ab12442c47b67c3000000000000000000000000c58e26c47ab12442d27b67c3000000000000000000000000c78e26c47ab12442d07b67c3000000000000000000000000c28e26c47ab12442cc7b67c30000000000000000000000008e8e26c400572342de7f67c33d4a00bfb17c4abf96bdb3be898e26c4f1562342dd7f67c3000000000000000000000000918e26c404572342dd7f67c30000000000000000000000008b8e26c4f4562342de7f67c30000000000000000000000008b8e26c4f9562342dc7f67c3000000000000000000000000898e26c41f572342dc7f67c3000000000000000000000000918e26c4f6562342dd7f67c3000000000000000000000000908e26c4f2562342dd7f67c30000000000000000000000008b8e26c410572342dd7f67c3000000000000000000000000898e26c4f3562342dd7f67c3000000000000000000000000918e26c4f4562342dd7f67c30000000000000000000000008b8e26c4f4562342dd7f67c3000000000000000000000000d2a426c4832822429dfb63c30000000000000000000000003fd326c4d3a72242c70f64c33f690cbfc1cf54bfd983b83d41d326c4dca72242c80f64c3000000000000000000000000d5a426c4862822429cfb63c3000000000000000000000000d5a426c4892822429dfb63c30000000000000000000000003cd326c4cba72242c50f64c3000000000000000000000000a97326c4a8f722422d3e67c375b33a3d53347fbfed9683bd8b8e26c4f1562342d17f67c30000000000000000000000008b8e26c4f5562342d37f67c3000000000000000000000000a97326c4a8f722422d3e67c3000000000000000000000000938e26c411572342e77f67c3000000000000000000000000a77326c4a9f72242363e67c3000000000000000000000000d4a426c4802822428ffb63c3000000000000000000000000d2a426c48b282242c6fb63c300000000000000000000000040d326c4dba72242ca0f64c300000000000000000000000039d326c4c4a72242c10f64c3000000000000000000000000f0d226c4c4a62242390f64c3000000000000000000000000898e26c4f1562342d47f67c30000000000000000000000008a8e26c4f0562342dc7f67c300000000000000000000000043d326c4d7a72242c20f64c300000000000000000000000042d326c4dca72242cd0f64c30000000000000000000000008a8e26c4f4562342db7f67c3000000000000000000000000818e26c4d3562342c67f67c3000000000000000000000000a97326c4abf72242383e67c30000000000000000000000008a8e26c4ee562342d77f67c3000000000000000000000000d5a426c4832822428ffb63c3000000000000000000000000d2a426c48b282242b7fb63c3000000000000000000000000d7a426c48828224298fb63c30000000000000000000000003bd326c4b8a72242c10f64c3000000000000000000000000908d26c4e89b22423f9663c35a32b0be62c4ccbd37ff6e3f906026c4fd672242485e63c349c53b3eb1547bbfbda64d3d898d26c4df9b2242369663c3000000000000000000000000286026c4f15b2242ad6363c3000000000000000000000000d2a426c48528224299fb63c3000000000000000000000000d5a426c4822822429ffb63c300000000000000000000000041d326c4d3a72242cc0f64c30000000000000000000000003fd326c4d3a72242ca0f64c30000000000000000000000009e8d26c4ec9b2242579663c300000000000000000000000043d326c4d8a72242cb0f64c300000000000000000000000042d326c4cca72242cd0f64c3000000000000000000000000276026c4f75b2242a86363c3000000000000000000000000916026c4f36722424e5e63c3000000000000000000000000d8a426c487282242a1fb63c3000000000000000000000000d9a426c486282242a4fb63c3000000000000000000000000d7a426c488282242a1fb63c30000000000000000000000003dd326c4cca72242c70f64c3000000000000000000000000958d26c4e29b22424c9663c3000000000000000000000000831c26c4ba49234272da66c3000000000000000000000000881c26c4b349234279da66c3000000000000000000000000ad7326c4a1f72242333e67c3000000000000000000000000a97326c4a8f722422c3e67c30000000000000000000000008a8e26c4f5562342d37f67c3000000000000000000000000898e26c4d9562342ca7f67c3000000000000000000000000898e26c411572342d97f67c3000000000000000000000000891c26c4ba49234279da66c3000000000000000000000000938e26c4f7562342e07f67c3000000000000000000000000871c26c4d449234280da66c3000000000000000000000000b07326c4aaf72242383e67c3000000000000000000000000891c26c4b64923427ada66c3000000000000000000000000266026c4f65b2242c76363c3000000000000000000000000871c26c4b649234280da66c3000000000000000000000000a87326c4aaf72242383e67c3000000000000000000000000d3a426c47d28224285fb63c3000000000000000000000000d0a426c48d282242c0fb63c3000000000000000000000000d7a426c489282242cdfb63c300000000000000000000000041d326c4d7a72242ca0f64c300000000000000000000000041d326c4d3a62242cf0f64c3000000000000000000000000cbd226c4b3a62242010f64c3000000000000000000000000958d26c4b79a22424c9663c3000000000000000000000000c08e26c47ab12442c77b67c300000000000000000000000029d326c42c032442a40f64c3fc945ebe09d7793f4e8f8d3cc18e26c479b12442c07b67c30000000000000000000000008a8e26c4e4562342d47f67c3000000000000000000000000c18e26c47ab12442c87b67c3000000000000000000000000bf8e26c479b12442c77b67c30000000000000000000000008a8e26c4f1562342db7f67c300000000000000000000000041d326c4d7a72242cf0f64c30000000000000000000000002ad326c42a032442a40f64c3000000000000000000000000bf8e26c479b12442ca7b67c3000000000000000000000000ca8e26c47bb12442db7b67c3000000000000000000000000c88e26c47bb12442d57b67c3000000000000000000000000bb1c26c49f902442a9d666c392a5c13dceb67e3f22a6063dc48e26c47ab12442cd7b67c3000000000000000000000000766026c4dcdf23422d5e63c30c69193f73d9363fc01eb93ed7a426c489282242a6fb63c3000000000000000000000000948d26c404eb23424b9663c39c445dbdab587b3fa5523a3e878826c4c13723425fb067c35cbb3f3f8f9029bfdd80983c878826c4bf37234247b067c3000000000000000000000000878826c4bf37234236b067c3000000000000000000000000878826c4c137234266b067c3000000000000000000000000878826c4c137234264b067c3000000000000000000000000878826c46d3b234253b067c3000000000000000000000000878826c4c23723425eb067c3000000000000000000000000878826c4be37234244b067c3000000000000000000000000878826c4ef40234268b067c3000000000000000000000000878826c49d3f234264b067c3000000000000000000000000878826c4c23723425db067c3000000000000000000000000878826c4c237234263b067c3000000000000000000000000208926c42857244276ae67c363ab343f2b862e3f286b453e8f8b26c428572442a3b167c3000000000000000000000000268926c4285724427bae67c3000000000000000000000000268926c4285724427fae67c3000000000000000000000000a58926c428572442cba767c3000000000000000000000000258926c42857244242ae67c3000000000000000000000000208926c42857244280ae67c3000000000000000000000000f38a26c42857244282ae67c3000000000000000000000000278926c4285724427fae67c3000000000000000000000000dfa826c4f23d234290da67c3cc5a2cbf3e0930bf2a288bbed9a826c4f13d234290da67c3000000000000000000000000daa826c4f13d234290da67c30000000000000000000000000dd726c4b4c22342b6b963c385792d3f9534293f0e12a53e0cd726c4a0bf2342b5b963c30000000000000000000000000ed726c4b8c22342b6b963c300000000000000000000000012d726c4b2c22342b5b963c300000000000000000000000008d726c4b8c22342b6b963c300000000000000000000000012d726c4b8c22342b6b963c3000000000000000000000000858826c4c13723425cb067c3000000000000000000000000858826c4c137234258b067c3000000000000000000000000888826c4c037234260b067c300000000000000000000000072d626c453a3224297bb63c3a11f373fe0e229bfa528603e868826c4c237234261b067c300000000000000000000000073d626c454a3224297bb63c300000000000000000000000075d626c451a322429bbb63c3000000000000000000000000848826c4c237234260b067c3000000000000000000000000878826c4c137234264b067c3000000000000000000000000208926c42358244273ae67c3000000000000000000000000848826c4c23723425cb067c30000000000000000000000008a8826c47a4023424eb067c3000000000000000000000000228926c42957244276ae67c3000000000000000000000000208926c42657244276ae67c300000000000000000000000007a926c4424b244215d867c3fbbe20bf22e9313fe961b3bebba826c46f4b24426ed767c3000000000000000000000000cd8a26c478572442a1b067c3000000000000000000000000e1a826c4eb3d234268da67c3000000000000000000000000888826c4c33723425eb067c3000000000000000000000000dda826c4eb3d234262da67c300000000000000000000000008a926c4454b244215d867c3000000000000000000000000268926c4285724427dae67c30000000000000000000000000ed726c4b4c22342afb963c3000000000000000000000000c48926c4ec5624423ea667c300000000000000000000000072d626c453a3224297bb63c300000000000000000000000076d626c4ccaa22428abb63c30000000000000000000000000fd726c4b7c22342afb963c3000000000000000000000000848826c4c237234260b067c3000000000000000000000000868826c4af3f234263b067c30000000000000000000000001e8926c42b57244299ae67c3000000000000000000000000a2f326c4afb72342ece363c3e02137bfe2d62d3f6faf28be07d726c4b5c22342a8b963c300000000000000000000000007a926c4434b24422cd867c30000000000000000000000005e8b26c452562442cfa867c30000000000000000000000007bf326c496a9224251e663c313b93abf17f52abfa30118bedea826c4f23d234296da67c300000000000000000000000074d626c453a322429abb63c300000000000000000000000075f326c494a922424be663c3000000000000000000000000878826c4c237234264b067c3000000000000000000000000daa826c4f23d234291da67c3000000000000000000000000dcb326c4c66b2342989267c3f952263f497d41bf2ab0a6bddcb326c4d36b23429c9267c3000000000000000000000000dcb326c47d6b23426b9267c3000000000000000000000000dcb326c4e36b2342a09267c3000000000000000000000000dcb326c48c6b2342849267c3000000000000000000000000dcb326c4c86b23429b9267c3000000000000000000000000dcb326c4c06b2342839267c3000000000000000000000000dcb326c4c76b23429f9267c3000000000000000000000000dcb326c4c36b2342849267c3000000000000000000000000dcb326c4f06d2342939267c3000000000000000000000000dcb326c426722342969267c3000000000000000000000000dcb326c481702342a09267c3000000000000000000000000dcb326c4af6d23427e9267c3000000000000000000000000f12527c4642d23428c3668c3859a59be041c75bf7dea47beed2527c45c2d23428c3668c3000000000000000000000000f22527c4682d23428c3668c3000000000000000000000000ec2527c45a2d23428c3668c3000000000000000000000000ec2527c45a2d23428c3668c3000000000000000000000000ed2527c45d2d23428c3668c3000000000000000000000000f02527c4612d23428c3668c3000000000000000000000000ec2527c4782d23428b3668c3000000000000000000000000f22527c45e2d23428c3668c3000000000000000000000000f32527c45b2d23428c3668c3000000000000000000000000f42527c45a2d23428c3668c3000000000000000000000000ed2527c4732d23428c3668c3000000000000000000000000ee2527c46d2d23428c3668c3000000000000000000000000ee2527c45a2d23428c3668c3000000000000000000000000ee2527c4592d23428c3668c3000000000000000000000000ed2527c47a2e23428c3668c3000000000000000000000000ef2527c4373223428c3668c3000000000000000000000000f22527c45b2d23428c3668c3000000000000000000000000f22527c4592d23428c3668c3000000000000000000000000ee2527c45c2d23428c3668c3000000000000000000000000ef2527c45b2d23428b3668c3000000000000000000000000ed2527c45a2d23428c3668c3000000000000000000000000ef2527c4592d23428c3668c3000000000000000000000000836927c4457222423dc564c32ef266be354b79bf598cedbc8d6927c45972224240c564c30000000000000000000000008a6927c4537222423ec564c30000000000000000000000008b6927c4547222423ec564c3000000000000000000000000806927c43d7222423ac564c3000000000000000000000000ee2527c45b2d2342853668c3000000000000000000000000f12527c4612d2342883668c3000000000000000000000000ec2527c4572d2342813668c3000000000000000000000000ee2527c45e2d2342863668c3000000000000000000000000f42527c46b2d2342913668c30000000000000000000000008b6927c4587222424ac564c3000000000000000000000000846927c4487222423bc564c3000000000000000000000000896927c45472224246c564c30000000000000000000000008b6927c45672224249c564c3000000000000000000000000ed2527c45b2d2342843668c3000000000000000000000000ee2527c45e2d23428e3668c30000000000000000000000008c6927c4577222423cc564c30000000000000000000000008a6927c4597222424cc564c3000000000000000000000000ee2527c45d2d23428b3668c3000000000000000000000000e32527c4412d2342763668c3000000000000000000000000ed2527c4582d2342843668c3000000000000000000000000ee2527c45c2d2342853668c3000000000000000000000000952527c4822c23420a3668c3000000000000000000000000ec2527c4592d23428a3668c3000000000000000000000000ed2527c45b2d23428d3668c3000000000000000000000000e62527c44a2d2342803668c30000000000000000000000008a6927c4527222423ec564c30000000000000000000000008b6927c4557222423dc564c3000000000000000000000000806927c43972224236c564c3000000000000000000000000896927c4557222424ac564c3000000000000000000000000ec2527c4592d2342893668c30000000000000000000000008a6927c4577222424bc564c3000000000000000000000000ed2527c45a2d2342893668c3000000000000000000000000c22327c4529522428c4c64c3d985b7be8ecba2bd0c1f6e3fa7f626c4017f2242151564c38edb433fdb8f0cbfd741ac3ebb2327c44e952242844c64c3000000000000000000000000a0f626c4fe7e22420e1564c300000000000000000000000038f626c40a732242741a64c30000000000000000000000009b0927c4225722421d4564c370aa123de29d7fbf9c6029bd39f626c40b732242761a64c30000000000000000000000008c6927c44172224249c564c3000000000000000000000000836927c4447222423bc564c3000000000000000000000000756927c44e72224221c564c30000000000000000000000008a6927c44172224248c564c3000000000000000000000000d12327c44c952242a74c64c30000000000000000000000008c6927c45972224241c564c30000000000000000000000008b6927c4547222423fc564c30000000000000000000000008d6927c4397222424fc564c300000000000000000000000038f626c411732242701a64c3000000000000000000000000a7f626c4f17e22421e1564c30000000000000000000000008a6927c4537222423ec564c30000000000000000000000008c6927c45572224240c564c3000000000000000000000000816927c43e7222423bc564c30000000000000000000000008a6927c4537222423fc564c3000000000000000000000000a00927c423572242244564c30000000000000000000000006a6927c44b72224214c564c30000000000000000000000008b6927c4387222424cc564c300000000000000000000000039f626c413732242711a64c3000000000000000000000000c82327c4479522429d4c64c30000000000000000000000009ff626c4ef7e2242151564c3000000000000000000000000c42327c437942242934c64c3000000000000000000000000cfb326c4da6b23428b9267c3000000000000000000000000dab326c4c96b2342969267c3000000000000000000000000c2e826c44317234277ce67c30c80623d00297fbfab1172bddab326c4c76b2342969267c3000000000000000000000000ed2527c4612d2342853668c3000000000000000000000000ee2527c44f2d2342823668c3000000000000000000000000ee2527c4582d2342833668c3000000000000000000000000f42527c4082f2342793668c3000000000000000000000000ed2527c46e2d23428b3668c3000000000000000000000000dbb326c4d56b2342999267c3000000000000000000000000f52527c45e2d2342903668c3000000000000000000000000fa2527c45e2d2342973668c3000000000000000000000000ee2527c4612d2342863668c3000000000000000000000000dab326c4d46b2342989267c3000000000000000000000000d9b326c4e46b23429d9267c3000000000000000000000000f32527c45a2d23428c3668c3000000000000000000000000ed2527c44e2d2342803668c3000000000000000000000000f72527c4682d2342993668c3000000000000000000000000ee2527c4582d2342833668c3000000000000000000000000ed2527c46f2d2342893668c3000000000000000000000000dab326c4e26b23429d9267c3000000000000000000000000dab326c4c96b2342999267c3000000000000000000000000fcb426c40c6a23423e9467c3000000000000000000000000dbb326c4c96b23429a9267c300000000000000000000000035f626c4177322429d1a64c3000000000000000000000000dab326c4cb6b23429b9267c30000000000000000000000009c0927c42b572242514564c300000000000000000000000037f626c419732242a81a64c3000000000000000000000000dbb326c4c96b23429d9267c30000000000000000000000008b6927c45572224249c564c30000000000000000000000008b6927c45572224247c564c30000000000000000000000008b6927c45572224249c564c30000000000000000000000008c6927c45472224248c564c3000000000000000000000000256927c4797122429ec464c30000000000000000000000008a6927c45472224248c564c30000000000000000000000002c6827c4d6712242eac264c3000000000000000000000000c82327c44a9422429d4c64c3000000000000000000000000ee2527c4542d2342863668c3000000000000000000000000ee2527c4582d2342873668c3000000000000000000000000ef2527c4362d2342883668c3000000000000000000000000ed2527c4532c23428a3668c3000000000000000000000000ed2527c4592d23428b3668c3000000000000000000000000ec2527c4562d2342883668c30000000000000000000000008c6927c4547222424cc564c30000000000000000000000008b6927c4537222424bc564c30000000000000000000000008b6927c4567222424ec564c3000000000000000000000000ed2527c45a2d23428a3668c3000000000000000000000000ed2527c4f02c2342893668c3000000000000000000000000432627c4fc872442303268c38298e9bd54727b3f51bc18be8b6927c4e8cd23424dc564c391686abe8de5783f4269453ddbb326c4226e2342939267c30000000000000000000000009ab426c405652442349067c32cea073eb34c7d3f63b86d3df12527c4592d23428c3668c3000000000000000000000000ee2527c4532d2342863668c30000000000000000000000006b2527c4872c2342d03568c3000000000000000000000000ee2527c4582d2342863668c3000000000000000000000000432627c466872442323268c300000000000000000000000045f726c414a82342e01564c30fc8023fceea4b3f7587a53edab326c4636e23429c9267c3000000000000000000000000ee2527c45b2d23428c3668c3000000000000000000000000ee2527c4582d23428c3668c3000000000000000000000000ee2527c4582d23428a3668c30000000000000000000000008b6927c4537222424ac564c30000000000000000000000008b6927c4577222424fc564c30000000000000000000000008a6927c4527222424cc564c30000000000000000000000008b6927c4557222424bc564c3000000000000000000000000ec2527c45a2d23428a3668c30000000000000000000000008b6927c44ecd23424dc564c3000000000000000000000000c82327c4b2b323429b4c64c316aadbbccdf37d3f029dfc3dcd2527c4692523424b3368c38865013fab695bbf760cccbdcd2527c46c2523422d3368c3000000000000000000000000cd2527c46a252342323368c3000000000000000000000000cd2527c46a252342313368c3000000000000000000000000cd2527c46c2523424d3368c3000000000000000000000000cd2527c471252342963268c3000000000000000000000000cd2527c45a262342463368c3000000000000000000000000cd2527c4712523424a3368c3000000000000000000000000cd2527c4622b2342353368c3000000000000000000000000cd2527c4722523424a3368c3000000000000000000000000cd2527c46e252342283368c3000000000000000000000000cd2527c49b252342263368c3000000000000000000000000cd2527c4a62723424d3368c3000000000000000000000000cd2527c471252342363368c3000000000000000000000000cd2527c46c2523423d3368c3000000000000000000000000cd2527c4712523424e3368c3000000000000000000000000cd2527c472252342453368c3000000000000000000000000cd2527c472252342393368c3000000000000000000000000cd2527c4712523424e3368c30000000000000000000000002b2727c43b4424424f3268c3336fc63e0fc96a3fbc9fbe3d2c2727c43b442442513268c3000000000000000000000000352727c43b442442533268c30000000000000000000000002d2727c43b442442383268c30000000000000000000000002a2727c43b442442573268c30000000000000000000000002c2727c43b4424425c3268c3000000000000000000000000307527c46da12342c16d64c395afb33e0317663f4281863e2d7527c477a12342c16d64c3000000000000000000000000cb2527c46c252342483368c3000000000000000000000000ca2527c470252342483368c3000000000000000000000000cb2527c470252342483368c3000000000000000000000000e17327c41c912242b36e64c3d843f13eb78b5ebf58b1183eca2527c46f2523424a3368c3000000000000000000000000d12527c45a252342873268c3000000000000000000000000e37327c41d912242b36e64c3000000000000000000000000e27327c41f912242b46e64c3000000000000000000000000cb2527c4702523424b3368c3000000000000000000000000ea2527c43c252342643168c3000000000000000000000000cb2527c46d2523424b3368c3000000000000000000000000e62527c42f252342be3168c3000000000000000000000000cb2527c46f252342483368c3000000000000000000000000cb2527c40b252342463368c3000000000000000000000000cb2527c474252342483368c30000000000000000000000002b2727c43e4424424f3268c30000000000000000000000002b2727c4394424424e3268c3000000000000000000000000bb4627c485022442015068c3b50f1cbfa65b363f930fb2becb2527c4702523424a3368c30000000000000000000000009c4627c4192a2342965168c300b23ebea87878bf4c371cbecc2527c4702523424b3368c3000000000000000000000000cc2527c474252342493368c3000000000000000000000000bb4627c460022442025068c30000000000000000000000002c2727c439442442503268c3000000000000000000000000e27327c41e912242b36e64c3000000000000000000000000e37327c4a0912242b36e64c3000000000000000000000000307527c470a12342c66d64c3000000000000000000000000ca2527c4712523424b3368c3000000000000000000000000cb2527c4202523424b3368c3000000000000000000000000cb2527c4752523424b3368c30000000000000000000000002a2727c40e4424428d3168c3000000000000000000000000e37327c41d912242b46e64c3000000000000000000000000a88f27c4fa962242d09464c30e302abfd6d23bbffee90fbecd8f27c4e2692342e89264c3be37a7be34c4713fb2961bbdca2527c4712523424c3368c3000000000000000000000000e72527c4612523429a3268c3000000000000000000000000cd2527c4712523424e3368c3000000000000000000000000cb2527c4722523424c3368c30000000000000000000000001d4b27c492a82242619868c30038233fe3d444bf7be3453d1d4b27c496a82242499868c30000000000000000000000001d4b27c492a82242619868c30000000000000000000000001d4b27c491a82242689868c30000000000000000000000001d4b27c491a822426f9868c30000000000000000000000001d4b27c443a922425d9868c30000000000000000000000001d4b27c471a82242629868c30000000000000000000000001d4b27c491a82242609868c30000000000000000000000001d4b27c418a92242619868c30000000000000000000000001d4b27c4cba92242699868c30000000000000000000000001d4b27c494a82242449868c30000000000000000000000001d4b27c493a822425e9868c30000000000000000000000001e4b27c497a82242679868c300000000000000000000000019b527c4c56e214287fc64c3c28847bef5aa7abf8bab69bd18b527c4c56e2142a8fc64c300000000000000000000000018b527c4c56e2142b6fc64c300000000000000000000000017b527c4c56e2142c0fc64c300000000000000000000000016b527c4c56e2142a8fc64c300000000000000000000000016b527c4c56e2142b2fc64c300000000000000000000000021b527c4c56e2142b6fc64c300000000000000000000000017b527c4c56e2142aafc64c300000000000000000000000017b527c4c56e2142b6fc64c3000000000000000000000000424e27c4c3c32342bb9868c3aab9753e54bd763ff48eed3d444e27c4c3c32342bd9868c3000000000000000000000000514e27c4c4c32342c99868c3000000000000000000000000454e27c4c3c32342aa9868c3000000000000000000000000424e27c4c3c32342c79868c3000000000000000000000000454e27c4c3c32342c49868c3000000000000000000000000f89927c435db21427ed564c31b95153f29004abf6930423eff9927c419db21427dd564c3000000000000000000000000fb9927c429db21427ed564c30000000000000000000000003a9a27c4faf321427ed564c3000000000000000000000000fa9927c48fdb21427ed564c3000000000000000000000000209c27c4bb9a22427ed564c3d5b71e3e300a793fda36303e1b4b27c49ba822425e9868c30000000000000000000000001d4b27c490a82242609868c30000000000000000000000001e4b27c410a92242459868c3000000000000000000000000f99927c432db214277d564c30000000000000000000000001a4b27c49aa82242659868c30000000000000000000000001d4b27c48ea822425c9868c300000000000000000000000017b527c4c96e2142a9fc64c3000000000000000000000000fc9927c42adb21427ad564c300000000000000000000000018b527c4c26e2142aafc64c300000000000000000000000019b527c4c06e2142abfc64c30000000000000000000000001b4b27c495a82242679868c30000000000000000000000001b4b27c49ba822424b9868c300000000000000000000000019b527c4b16e214229fd64c3000000000000000000000000816d27c46b252242898c68c3ab726d3ebc0579bfcc67af39134b27c4f4a82242439868c30000000000000000000000001d4b27c49ea922425f9868c30000000000000000000000001b4b27c49da822425e9868c3000000000000000000000000444e27c4cec32342bb9868c3000000000000000000000000444e27c4c2c32342bc9868c3000000000000000000000000696b27c4f854234241b568c3a92f19bf77b7423fcdec80be386b27c4132e2242cdb768c31d195dbe87d776bf79781dbe396b27c4582e2242cdb768c3000000000000000000000000396b27c4192e2242ccb768c30000000000000000000000001e4b27c492a82242619868c3000000000000000000000000386b27c4122e2242cbb768c3000000000000000000000000386b27c4122e2242cdb768c3000000000000000000000000386b27c4172e2242cbb768c30000000000000000000000006a6b27c49854234243b568c3000000000000000000000000464e27c4c1c32342bd9868c3000000000000000000000000fa9927c4d4db214275d564c30000000000000000000000001b9c27c4d49a2242b5d564c30000000000000000000000001c4b27c487a92242679868c30000000000000000000000001b4b27c49fa82242649868c30000000000000000000000004a4e27c4adc32342529868c300000000000000000000000017b527c4c26e2142a7fc64c300000000000000000000000017b527c4416f2142aafc64c3000000000000000000000000376b27c4132e2242d3b768c3000000000000000000000000396b27c4062e2242c8b768c3000000000000000000000000376b27c43d2e2242d3b768c3000000000000000000000000376b27c4192e2242d3b768c300000000000000000000000017b527c4c26e2142aafc64c30000000000000000000000004bb527c4ba3a22420bfa64c38cbe1cbf1e10493f640fbabd1c4b27c499a82242679868c3000000000000000000000000386b27c4142e2242d3b768c30000000000000000000000003c6b27c40d2e2242aab768c3000000000000000000000000396b27c4142e2242d5b768c3000000000000000000000000376b27c41b2e2242d4b768c3000000000000000000000000a57b27c470c321428f9868c39923d93efad567bfd20a64bba57b27c482c32142959868c3000000000000000000000000a57b27c4bac22142279868c3000000000000000000000000a57b27c478c32142929868c3000000000000000000000000a57b27c491c321429b9868c3000000000000000000000000a57b27c473c32142919868c3000000000000000000000000a47b27c474c321428d9868c3000000000000000000000000a57b27c474c32142959868c3000000000000000000000000a57b27c475c32142799868c3000000000000000000000000a57b27c47bc321425e9868c3000000000000000000000000a57b27c472c321429b9868c3000000000000000000000000a57b27c479c32142819868c3000000000000000000000000a57b27c474c32142919868c3000000000000000000000000a57b27c40cc42142939868c3000000000000000000000000a47b27c47ac32142949868c3000000000000000000000000a57b27c472c32142949868c3000000000000000000000000a57b27c481c32142709868c3000000000000000000000000a57b27c43cc42142999868c3000000000000000000000000a57b27c473c321426e9868c3000000000000000000000000a57b27c4c0c321428c9868c3000000000000000000000000a57b27c479c321429a9868c3000000000000000000000000a57b27c480c32142879868c3000000000000000000000000a57b27c479c321429a9868c3000000000000000000000000a57b27c472c321428b9868c3000000000000000000000000fc8027c46f132342dd9b68c3115e313e50237b3f58cdb2bdfc8027c46f132342bf9b68c3000000000000000000000000fc8027c46f132342e19b68c3000000000000000000000000fb8027c46f132342db9b68c3000000000000000000000000028127c46f132342e79b68c3000000000000000000000000fb8027c46f132342e59b68c3000000000000000000000000bdc027c4a5032142321d65c314d3303f570226bf72d4a33eb6c027c4a2032142321d65c3000000000000000000000000bbc027c4a9032142321d65c3000000000000000000000000c4c027c4bf072142321d65c3000000000000000000000000bec027c4f8032142321d65c3000000000000000000000000b6c027c4f5032142321d65c3000000000000000000000000b9c027c4a4042142321d65c3000000000000000000000000bac027c4f3032142321d65c3000000000000000000000000b5c027c4bd032142281d65c30000000000000000000000001ac027c4f1f720423d2265c3000000000000000000000000c4f227c433df1f42769965c3c5356a3e568978bf97e8923d1bc027c4eff720423e2265c3000000000000000000000000b6c027c4b30321422c1d65c30000000000000000000000001cc027c438f82042222265c3000000000000000000000000d8ec27c4667a20429c5765c39849a6bebc5811be46616f3fb8c027c40a042142281d65c3000000000000000000000000beec27c4b27a20427a5765c3000000000000000000000000a37b27c47cc321428d9868c3000000000000000000000000a37b27c466c32142919868c3000000000000000000000000a47b27c471c321428e9868c3000000000000000000000000a27b27c48dc32142919868c300000000000000000000000069e027c4bd102042af3369c31284b13e65765fbf91c1afbe9d7b27c4a6c32142819868c3000000000000000000000000a47b27c486c32142949868c3000000000000000000000000a37b27c47ec32142909868c3000000000000000000000000a37b27c4a0c32142989868c3000000000000000000000000a47b27c47ac321428e9868c3000000000000000000000000a27b27c4dfc32142b29868c30000000000000000000000006ee027c4c0102042be3369c300000000000000000000000067e027c4bb102042a93369c3000000000000000000000000a97b27c463c32142999868c3000000000000000000000000a57b27c47cc32142939868c3000000000000000000000000a47b27c499c321429a9868c3000000000000000000000000a47b27c474c32142909868c3000000000000000000000000a37b27c481c32142919868c3000000000000000000000000a47b27c480c32142969868c3000000000000000000000000a57b27c473c32142939868c300000000000000000000000019c027c4f6f72042492265c3000000000000000000000000a87b27c469c32142609868c3000000000000000000000000a27b27c47fc32142969868c3000000000000000000000000a07b27c46fc321426f9868c3000000000000000000000000c2f227c433df1f42879965c300000000000000000000000066e927c4e8e91f42877866c3a3ad863eddf776bff88f363c1bc027c4eff720424f2265c3000000000000000000000000b27b27c479c321424f9868c3000000000000000000000000a77b27c45fc32142699868c3000000000000000000000000a07b27c483c32142979868c3000000000000000000000000a37b27c478c32142989868c3000000000000000000000000a57b27c476c32142789868c30000000000000000000000002b1b28c4f4b01f4229ad65c3da7519bc17ad77bf2669813ee7ec27c41f7a2042b85765c3000000000000000000000000fc8027c472132342db9b68c3000000000000000000000000c4e927c4584f2142243d69c3f8419cbe4970723fc9ceccbdfc8027c46e132342dd9b68c300000000000000000000000080c627c448832242d82465c3246024be51927c3ffd18ed3cd12f28c4ecba20425bd365c3c5c400bfc14b5c3fe6cba4bdcdec27c44bdf2142985765c35894e0beecc7703e450b5e3f80c627c440832242d92465c3000000000000000000000000a47b27c48cc32142919868c3000000000000000000000000a47b27c482c32142939868c3000000000000000000000000a47b27c40dc42142919868c3000000000000000000000000fb8027c46d132342da9b68c300000000000000000000000072e927c4a9122042094169c3823e29bfaa5207bf144f08bf67e027c4bc102042ac3369c3000000000000000000000000ac7b27c452c321429f9868c3000000000000000000000000a47b27c47cc32142939868c3000000000000000000000000a37b27c479c32142939868c3000000000000000000000000b7c027c4fb0321422e1d65c30000000000000000000000001ec027c46ef82042352265c300000000000000000000000082c627c4f5832242dc2465c30000000000000000000000007ec627c440832242d72465c3000000000000000000000000a37b27c487c32142969868c3000000000000000000000000ac7b27c450c32142629868c3000000000000000000000000a27b27c482c32142979868c3000000000000000000000000a47b27c4aec32142989868c3000000000000000000000000a72728c4a9a21f42403966c3412771bf78b90ebe704e9cbecf2f28c451991f425bd365c3b104e4bd1e067abff91c3c3ed02f28c4fcbb20425bd365c300000000000000000000000065e927c4e7e91f42ae2668c3ac51243ebaad7cbfbfb2b3bb201b28c401b11f4223ad65c300000000000000000000000067e027c4be102042b33369c3000000000000000000000000cdec27c4707a2042975765c3000000000000000000000000ceec27c4efdf2142985765c3000000000000000000000000ceec27c455e02142985765c3000000000000000000000000aac627c44a8322420f2565c3000000000000000000000000ae7b27c46ac32142a99868c3000000000000000000000000a37b27c47cc32142999868c3000000000000000000000000aa7b27c44ac321422a9868c3000000000000000000000000a47b27c47bc32142999868c300000000000000000000000057f927c432821f42d84469c3a2b12f3f065839bf470f8e3d57f927c42c821f42f44469c300000000000000000000000057f927c42a821f42fa4469c300000000000000000000000057f927c402831f42f44469c300000000000000000000000057f927c45b831f42ff4469c3000000000000000000000000055b28c46cc91e42c90b66c32852b0be333d70bfbbd9df3c065b28c46bc91e42cd0b66c3000000000000000000000000055b28c46bc91e42e20b66c3000000000000000000000000095b28c46bc91e42960b66c3000000000000000000000000055b28c46bc91e42ca0b66c3000000000000000000000000d25a28c46bc91e427a0b66c3000000000000000000000000055b28c46bc91e42cb0b66c3000000000000000000000000055b28c46bc91e42cc0b66c3000000000000000000000000035b28c46bc91e42de0b66c3000000000000000000000000095b28c46bc91e42dc0b66c3000000000000000000000000065b28c46bc91e42cb0b66c3000000000000000000000000045b28c46bc91e42d20b66c30000000000000000000000005c3c28c4e5411f4273da65c3fdbd163fa91e3fbfa9919e3e583c28c4f3411f4272da65c30000000000000000000000005b3c28c4e9411f4273da65c30000000000000000000000005b3c28c4ea411f4273da65c30000000000000000000000005f3c28c40d441f4273da65c30000000000000000000000005a3c28c4e3411f4273da65c30000000000000000000000005c3c28c46c411f4272da65c30000000000000000000000005c3c28c4e5421f4273da65c30000000000000000000000005b3c28c4b6421f4273da65c3000000000000000000000000593c28c4f5411f426dda65c3000000000000000000000000065b28c46ec91e42c90b66c30000000000000000000000005b3c28c4eb411f4271da65c3000000000000000000000000075b28c46ac91e42cb0b66c3000000000000000000000000065b28c46cc91e42c90b66c300000000000000000000000055f927c435821f42f24469c3000000000000000000000000593c28c4f3411f426fda65c3000000000000000000000000011528c4ea171f428c6569c31fcc9bbee87c70bfc3a821be055b28c46ec91e42ca0b66c300000000000000000000000058f927c42d821f42f54469c3000000000000000000000000f61428c40f181f42816569c30000000000000000000000005c3c28c4ec411f4272da65c3000000000000000000000000075b28c469c91e42ce0b66c3000000000000000000000000065b28c469c91e42cc0b66c30000000000000000000000005c3c28c4b9421f4270da65c3000000000000000000000000573c28c47e411f426cda65c3000000000000000000000000035b28c4a8c81e42c40b66c3000000000000000000000000055b28c469c91e42c90b66c3000000000000000000000000065b28c492c91e42ca0b66c30000000000000000000000005b3c28c470411f4273da65c3000000000000000000000000db5a28c466c91e42850b66c3000000000000000000000000065b28c49ec81e42ca0b66c3000000000000000000000000065b28c46ac91e42ca0b66c300000000000000000000000051fc27c4ef992042514769c33119283f246d3c3f2e7f283e333f28c4895d204205df65c3b9633a3d15fa7d3f8d78ef3d58f927c43b831f42f64469c30000000000000000000000005b3c28c4d3421f4273da65c3000000000000000000000000343f28c4055e204209df65c3000000000000000000000000333f28c4805d204206df65c30000000000000000000000000c1528c4ef3a2042756469c3132de4be0d755f3f13714bbe065b28c431f01f42cc0b66c3f64255bfd9bc0c3fc52c7cbd333f28c4805d204207df65c3000000000000000000000000055b28c46ac91e42cb0b66c3000000000000000000000000065b28c4abc91e42cc0b66c3000000000000000000000000055b28c469c91e42cd0b66c3000000000000000000000000065b28c4b5f01f42cc0b66c3000000000000000000000000543f28c4855d20423edf65c300000000000000000000000056bd28c446571d42cd206ac3a77a373eb9137bbf2c739ebd56bd28c446571d42b4206ac300000000000000000000000056bd28c445571d427f206ac300000000000000000000000056bd28c446571d42d4206ac300000000000000000000000055bd28c4225e1d42cb206ac300000000000000000000000056bd28c447571d42cd206ac300000000000000000000000056bd28c446571d42b8206ac300000000000000000000000056bd28c4a8641d42d5206ac300000000000000000000000056bd28c448571d42d5206ac30000000000000000000000009de428c426591d42be4d6ac3efa2f4beb37558bfb1f273bea8e428c426591d42be4d6ac30000000000000000000000009de428c426591d42be4d6ac300000000000000000000000054bd28c446571d42ca206ac300000000000000000000000051bd28c447571d42cc206ac3000000000000000000000000cff828c457331d4234c266c317f2f93e65d357bf5911673ecff828c457331d423dc266c300000000000000000000000056bd28c447571d42d2206ac3000000000000000000000000cdf828c457331d4235c266c3000000000000000000000000cbf828c457331d4238c266c300000000000000000000000050bd28c447571d42d0206ac3000000000000000000000000f2e428c4feee1e428a4c6ac3cd4063bedcc16f3f8deb8abe9fe428c426591d42b44d6ac3000000000000000000000000f2e428c400ef1e428c4c6ac3000000000000000000000000c41f29c436cb1e42c9ee66c3fa4e9bbe2ae6733f2fb38bbc891f29c42e351d4278ee66c308a936bee07d7bbf57c0633d891f29c430351d4285ee66c30000000000000000000000009ee428c426591d42bf4d6ac3000000000000000000000000c51f29c438cb1e42caee66c300000000000000000000000055bd28c447571d42cc206ac3000000000000000000000000a8bd28c423ed1e42a51f6ac344469a3ef0eb733ff02a163dede428c401ef1e42834c6ac3000000000000000000000000cef828c456331d4234c266c3000000000000000000000000cef828c456331d423bc266c300000000000000000000000053bd28c447571d42d2206ac300000000000000000000000009f928c461c91e427fc266c31d1f653e68346e3f6181943ec21f29c438cb1e42c6ee66c3000000000000000000000000b43229c4df931e423ade66c3ecc5143b1bf97f3f0dae6abcd62129c4df931e4234c766c3c740183fc443313f5e1dd13ea93229c4df931e423ede66c3000000000000000000000000d62129c4df931e4239c766c3000000000000000000000000e6ef28c4f35a1e424a896ac3f426e8bede535b3f69a47bbee6ef28c4f45a1e424a896ac3000000000000000000000000edef28c4f35a1e424a896ac3000000000000000000000000eeef28c4f45a1e424a896ac3000000000000000000000000c94329c473921e428af566c31e4f11bf93044e3f2be531bec84329c475921e4289f566c3000000000000000000000000d62129c4d8931e4234c766c3000000000000000000000000e7ef28c4f35a1e4241896ac3000000000000000000000000c94329c474921e428ef566c300000000000000000000000043f028c41e3d1d42b5886ac373b2e3beac5561bf3ea629be104429c4cc721d42eef566c3ce85ebbe504563bfe10981bcb54329c49e721d428df866c3000000000000000000000000e8ef28c4f65a1e4243896ac3000000000000000000000000124429c4cf721d42eff566c3000000000000000000000000c94329c475921e428df566c30000000000000000000000001bd328c4103e1d4293656ac327b5073f26df58bf1e7b14bd66e928c4704d1d42f25e69c3fc30f43e4a805cbf173d333e1cd328c47d3d1d4293656ac3000000000000000000000000d42129c4a4751d4233c766c35cbcdb3e1a6561bfb2624e3e09d328c4e05b1e427a666ac382bcea3e062d613f7e04023ed62129c4d8931e4238c766c300000000000000000000000046f028c41d3d1d42b8886ac30000000000000000000000001ed328c40e3e1d4296656ac3000000000000000000000000144429c4cc721d42f2f566c30000000000000000000000007d4329c47e721d42bff866c300000000000000000000000069e928c46f4d1d42645f69c30000000000000000000000001fd328c47e3d1d4296656ac3000000000000000000000000134429c4cf721d42f2f566c3000000000000000000000000d52129c4a3751d4237c766c3000000000000000000000000efdb28c47aa51c427d206ac302d6f33d84277ebfbbd462bcefdb28c47ea51c4250206ac3000000000000000000000000efdb28c47ba51c427f206ac3000000000000000000000000efdb28c4d4b51c4285206ac3000000000000000000000000efdb28c47ca51c427e206ac3000000000000000000000000eedb28c4a8bd1c427e206ac3000000000000000000000000efdb28c47ea51c423b206ac3000000000000000000000000efdb28c458b91c4285206ac3000000000000000000000000efdb28c47ba51c4285206ac3000000000000000000000000ad1a29c4deb71c42221067c39023b73e85e76abf2c95313ea61a29c4e0b71c42221067c3000000000000000000000000a91a29c4e0b71c42221067c3000000000000000000000000aa1a29c442c71c42231067c3000000000000000000000000ae1a29c4e1b71c42221067c3000000000000000000000000a81a29c4cec71c42231067c3000000000000000000000000a51a29c4e0b71c42221067c3000000000000000000000000a91a29c42cc61c42221067c3000000000000000000000000a81a29c4e0b71c42221067c3000000000000000000000000a61a29c4dfb71c42191067c30000000000000000000000009e1a29c4e3b71c42ec0f67c3000000000000000000000000aa1a29c4e0b71c421d1067c3000000000000000000000000ebdb28c47ca51c4277206ac3000000000000000000000000efdb28c47ba51c427e206ac3000000000000000000000000527f29c496201e423ea067c346e5c7be4ddb6a3f6ebe9dbda61a29c4e1b71c42181067c3000000000000000000000000a91a29c424c51c42201067c3000000000000000000000000f61a29c4ed231e42061167c3b39fa93d89537e3f3ee9a03d597f29c481b41c42cb9f67c3ea80f3bdbc197ebfa286d03c5a7f29c4e2ba1c42d19f67c3000000000000000000000000aa1a29c4e0b71c421d1067c30000000000000000000000005b7f29c482b41c42ce9f67c3000000000000000000000000527f29c493201e423ea067c3000000000000000000000000de4029c4610e1e42b4aa6ac3a2d4a9bda5117e3f35ecb8bdebdb28c47ca51c4279206ac3000000000000000000000000f1db28c45dba1c4286206ac30000000000000000000000003adc28c494111e4268216ac3c904c73e3a436b3f2826873de64029c440a21c423baa6ac351ceb6bed2756bbf14da26bee74029c40da51c4241aa6ac3000000000000000000000000efdb28c47da51c427e206ac3000000000000000000000000e84029c441a21c423eaa6ac3000000000000000000000000dd4029c45e0e1e42b3aa6ac3000000000000000000000000e77229c467fa1d42f2e066c35550f3be39755f3fb394e2bde77229c4e3d91c4231df66c3e03099be11d673bf0a89693de77229c4e1d91c424cdf66c3000000000000000000000000e77229c4e1d91c424fdf66c3000000000000000000000000e77229c421f11c424fdf66c3000000000000000000000000e77229c474f91d42f0e066c3000000000000000000000000e77229c44edc1c4250df66c3000000000000000000000000e77229c479f91d42f0e066c30000000000000000000000002cfc28c45b791c425bd66ac3b3d2773ef95078bff74fc13c2cfc28c45b791c4236d66ac30000000000000000000000002cfc28c45b791c423ad66ac30000000000000000000000002cfc28c41b7a1c425dd66ac30000000000000000000000002cfc28c41f7a1c4238d66ac30000000000000000000000002cfc28c41f7a1c4238d66ac30000000000000000000000002cfc28c4207a1c4252d66ac30000000000000000000000002cfc28c4247a1c4237d66ac30000000000000000000000002cfc28c4e67b1c4239d66ac30000000000000000000000002cfc28c4247a1c4239d66ac3000000000000000000000000481f29c45b791c4223016bc3e6e972be3dd577bf8049a5bd471f29c45b791c4227016bc30000000000000000000000002ffc28c45b791c4239d66ac30000000000000000000000002ffc28c45b791c423cd66ac3000000000000000000000000320329c45b791c42d1de6ac35433953e369b4cb9ade374bf2c0329c45b791c42cfde6ac3000000000000000000000000df7229c467fa1d42e7e066c3000000000000000000000000445429c467fa1d4255b566c3c441de3d31ba7d3f504c9d3d405429c467fa1d4292b566c3000000000000000000000000af6b29c467fa1d42c3d666c3000000000000803f00000000465429c4ceda1c42ffb366c31052653e975877bf4ccb023e4c5429c4cdda1c42ffb366c3000000000000000000000000675429c4d0da1c42feb366c3000000000000000000000000495429c4cdda1c42ffb366c3000000000000000000000000465429c4fee01c42ffb366c3000000000000000000000000445429c4d0da1c42ffb366c3000000000000000000000000495429c4c9061d42ffb366c30000000000000000000000004d5429c4cfda1c42ffb366c3000000000000000000000000495429c4a3dd1c42ffb366c3000000000000000000000000495429c4d0da1c42ffb366c3000000000000000000000000481f29c4a2791c4224016bc3000000000000000000000000e67229c4e1d91c424adf66c3000000000000000000000000e47229c4e2d91c424bdf66c3000000000000000000000000491f29c4a2791c4226016bc30000000000000000000000002ffc28c4217a1c423bd66ac3000000000000000000000000475429c4cdda1c42f7b366c3000000000000000000000000465429c4cdda1c42fab366c300000000000000000000000030fc28c4207a1c423dd66ac30000000000000000000000005afc28c41e7a1c426cd66ac3000000000000000000000000675429c4ccda1c422eb466c30000000000000000000000006a5429c4cdda1c421bb466c30000000000000000000000004ffc28c41e7a1c4266d66ac3000000000000000000000000df7229c476f91d42e4e066c3000000000000000000000000601f29c40f991d4244016bc3e277c4bdc8d37c3f6766febd481f29c43c7c1c4229016bc3000000000000000000000000e57229c447dc1c424bdf66c3000000000000000000000000de7229c47af91d42e4e066c3000000000000000000000000601f29c40f991d4242016bc3000000000000000000000000405429c462fa1d4292b566c300000000000000000000000048fc28c48b991d425ad66ac30763e03e6d83653fd4ff833d2efc28c4237a1c423ad66ac30000000000000000000000002ffc28c4ee7b1c423ed66ac3000000000000000000000000475429c4d1da1c42f7b366c3000000000000000000000000465429c4a4dd1c42fcb366c3000000000000000000000000475429c4d1da1c42fbb366c30000000000000000000000002efc28c4237a1c423cd66ac3000000000000000000000000770529c4ddcf1c42f73468c3ec9cfb3d160d7ebfa4950c3c780529c4ddcf1c42073568c3000000000000000000000000760529c4decf1c42093568c3000000000000000000000000790529c4ddcf1c42d13468c3000000000000000000000000770529c4ddcf1c42fc3468c3000000000000000000000000680529c4ddcf1c42113568c3000000000000000000000000770529c4ddcf1c42f63468c3000000000000000000000000780529c4ddcf1c42f43468c3000000000000000000000000750529c4ddcf1c421a3568c3000000000000000000000000780529c4ddcf1c42083568c3000000000000000000000000790529c4ddcf1c42cf3468c3000000000000000000000000760529c4ddcf1c420d3568c3000000000000000000000000780529c4ddcf1c42113568c3000000000000000000000000790529c4ddcf1c42f43468c30000000000000000000000001f3e28c4ccb61e42e96566c3325c943d2a90abbe767c703f383e28c403c91e42e96566c3000000000000000000000000163e28c4d8b61e42ea6566c30000000000000000000000001a3e28c4d1b61e42e96566c30000000000000000000000001b3e28c425b91e42e96566c300000000000000000000000067a928c420f71d42e8e666c38c6d4dbe6deb47bfb46d173f163e28c4d9b61e42df6566c30000000000000000000000005aa928c430f71d42d6e666c300000000000000000000000066a928c423f71d42e7e666c300000000000000000000000068a928c427f71d42eae666c300000000000000000000000066a928c45bf61d42e7e666c300000000000000000000000065a928c429f71d42e6e666c3000000000000000000000000780529c4e0cf1c42f83468c3000000000000000000000000780529c4dbcf1c42fa3468c3000000000000000000000000780529c42ed01c42f73468c3000000000000000000000000780529c4dfcf1c42f43468c3000000000000000000000000790529c4decf1c42ba3468c30000000000000000000000007b0529c4d8cf1c42ad3468c3000000000000000000000000f40a28c417f31f42d9e268c3aea62f3dc7506b3fa06bc8bef80a28c41af31f4284e268c3000000000000000000000000f30a28c46bf31f42d9e268c3000000000000000000000000f20a28c421f31f42d9e268c3000000000000000000000000a33328c45b8a1e4235c566c3b31f1d3e82837cbfd78f723d7b0529c4dbcf1c42fa3468c3000000000000000000000000780529c4decf1c42f73468c3000000000000000000000000a73328c4518a1e4239c566c300000000000000000000000068a928c419f71d42eee666c30000000000000000000000008c0829c456ea1c42110268c3f39f92be727f6cbfec13823e163e28c4d7b61e42e46566c3000000000000000000000000a43328c45a8a1e422ec566c30000000000000000000000001a3428c4908c1e4231c166c30000000000000000000000005ca928c42cf71d42e2e666c300000000000000000000000068a928c419f71d42ece666c3000000000000000000000000790529c4dccf1c42f93468c30000000000000000000000007b0529c4dccf1c42f83468c3000000000000000000000000780529c4ddcf1c42f43468c30000000000000000000000008b0829c44fea1c42220268c30000000000000000000000008c0829c452ea1c42150268c3000000000000000000000000a83328c4528a1e4239c566c3000000000000000000000000a73328c45c8a1e4220c566c30000000000000000000000007a0529c4d7cf1c42cd3468c30000000000000000000000007d0529c4d6cf1c42f73468c3000000000000000000000000aa3328c44e8a1e4244c566c3000000000000000000000000f30a28c416f31f42d9e268c3000000000000000000000000c5de28c4fb7c1e429b8f69c3ca22b8bdd8fd793fa66a48bef90a28c418f31f4283e268c3000000000000000000000000ccde28c4f17c1e42718f69c30000000000000000000000006aa928c420f71d42eee666c300000000000000000000000068a928c453f61d42ece666c30000000000000000000000008c0829c45eea1c42110268c30000000000000000000000008c0829c495e91c42130268c3000000000000000000000000e70a28c444e01e42cce368c31de4373eecbd79bf35b501bef50a28c422f31f42dbe268c300000000000000000000000097de28c4dc211d42b69069c3c523083e4fcc01bf92035abfc4de28c4007d1e429b8f69c30000000000000000000000007b3f28c454961f42926766c35ed9d4bde6427e3fb83c563d3e1b28c4cfbd1e4217ae67c3cd4d723f932946be6238843e471928c4d4d91f426fd367c39700603f1571b53efadca83e59fb28c431e51c421bdc68c3a06d883ca5ae7fbfd94840bd68a928c423f71d42ece666c300000000000000000000000068a928c442db1e42eee666c30881b7bea60af73efc984c3f7c0529c4dacf1c42e23468c300000000000000000000000065fb28c419e51c4267db68c30000000000000000000000008c0829c458ea1c42150268c30000000000000000000000008b0829c434331e42160268c385a19bbe25f56f3f10682e3e66fb28c4714a1e425ddb68c301728abe96d1753f5a868ebde50a28c448e01e42f3e368c300000000000000000000000093de28c4e2211d42d19069c300000000000000000000000015f829c47fa51d42139868c34406e4be1da3d43e7e0f4b3f963d29c454c11c4269236ac3b32adf3d4fd678bf641655be963d29c452c11c4292236ac3000000000000000000000000963d29c453c11c4293236ac3000000000000000000000000963d29c452c11c4283236ac3000000000000000000000000963d29c4d9d21c4278236ac3000000000000000000000000963d29c453c11c4274236ac3000000000000000000000000953d29c45bc01c4295236ac3000000000000000000000000963d29c454c11c4293236ac3000000000000000000000000963d29c454c11c4293236ac30000000000000000000000001f6b29c4dcc91d4278f167c34b5dc4bc60b6f93d0c047e3f246b29c4dac91d4278f167c3000000000000000000000000206b29c4dcc91d4278f167c3000000000000000000000000236b29c4dcc91d4279f167c30000000000000000000000001d6b29c4c8c51d4278f167c30000000000000000000000001e6b29c4dcc91d4278f167c3000000000000000000000000206b29c430c71d4278f167c3000000000000000000000000266b29c4dbc91d4278f167c3000000000000000000000000206b29c4dbc91d4277f167c30000000000000000000000001f6b29c4dac91d426ff167c3000000000000000000000000206b29c4ddc91d4277f167c3000000000000000000000000a46529c445e21d42253568c30eb9bcbb9afc7f3ffe9c093c246b29c4dac91d4274f167c3000000000000000000000000a9ac29c4a4c91d42c13e68c31039efbc02007f3f00aaaa3d236b29c4dcc91d427bf167c3000000000000000000000000a7ac29c4a7c91d42c73e68c3000000000000000000000000a96529c445e21d42253568c3000000000000000000000000067c29c4f6e01d42c34b68c3ba8cd8b9dffa7f3fb0d44cbc943d29c455c11c428e236ac30000000000000000000000003c6129c4c9ae1c422a6b68c36b25113e4c2c7dbf8a3d313d933d29c454c11c4290236ac3000000000000000000000000933d29c454c11c4290236ac3000000000000000000000000396129c4c8ae1c422c6b68c3000000000000000000000000933d29c453c11c428d236ac30000000000000000000000001e6b29c42dc71d4275f167c30000000000000000000000001f6b29c4d9c91d4271f167c3000000000000000000000000e96a29c4d6bc1c42b3f367c3a60fa93e644513bfc3933f3fbd3d29c4bcc51d42e7216ac377e08c3e398d733fa6d10dbe933d29c45cc01c4292236ac3000000000000000000000000943d29c454c11c428f236ac30000000000000000000000001d6b29c4dac91d4276f167c3000000000000000000000000a36529c445e21d42273568c30000000000000000000000003c6129c4c8ae1c42306b68c3000000000000000000000000933d29c454c11c4290236ac300000000000000000000000048c829c461bc1d422dcd6ac3dd14583d7ce3763fcda884be4dc829c465bc1d42facc6ac3000000000000000000000000def729c4c3b01c421b9a68c33e621fbed57b68bf63fec63e0df829c483a51d420a9868c3000000000000000000000000daee29c43cb61c42651c69c3fb8400be76a87dbfea304bbd0cef29c4d2a91d42681a69c30030afbe32126f3ff1ebd4bd2db329c4ccc61d42894668c3d12cf2bcd2de7f3ff3a7403c15d029c4c7ae1c422f6b68c3176f77bd1a577abf7c004d3e4ac829c4d2bb1d4231cd6ac300000000000000000000000021c829c489c81c42bcce6ac3550b583ddc1c37bf226432bf49c829c468bc1d422fcd6ac3000000000000000000000000d7c829c424bc1d4296c76ac30000000000000000000000007ed429c43ac31c42c0506ac3789129be66db7bbf69298cbd7fd429c48bb61d4288506ac387a387bec4dd753fd36ab0bd + m_CompressedMesh: + m_Vertices: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_UV: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_Normals: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_Tangents: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_Weights: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_NormalSigns: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_TangentSigns: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_FloatColors: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_BoneIndices: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_Triangles: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_UVInfo: 0 + m_LocalAABB: + m_Center: {x: -689.36646, y: 41.665848, z: -236.67407} + m_Extent: {x: 25.859955, y: 2.981285, z: 9.545029} + m_MeshUsageFlags: 0 + m_CookingOptions: 30 + m_BakedConvexCollisionMesh: + m_BakedTriangleCollisionMesh: + 'm_MeshMetrics[0]': 1 + 'm_MeshMetrics[1]': 1 + m_MeshOptimizationFlags: 1 + m_StreamData: + serializedVersion: 2 + offset: 0 + size: 0 + path: diff --git a/Assets/ModelRenderer/Art/Models/litmodels/a61/6/CCDBrush/litmodel_1858.bmd.mesh.meta b/Assets/ModelRenderer/Art/Models/litmodels/a61/6/CCDBrush/litmodel_1858.bmd.mesh.meta new file mode 100644 index 0000000000..1255eb7f2a --- /dev/null +++ b/Assets/ModelRenderer/Art/Models/litmodels/a61/6/CCDBrush/litmodel_1858.bmd.mesh.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 7ef57348cc14e2c44b0d93d82309fb45 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 4300000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/ModelRenderer/Art/Models/litmodels/a61/6/litmodel_1858.bmd.prefab b/Assets/ModelRenderer/Art/Models/litmodels/a61/6/litmodel_1858.bmd.prefab index c43005e35c..29536f575e 100644 --- a/Assets/ModelRenderer/Art/Models/litmodels/a61/6/litmodel_1858.bmd.prefab +++ b/Assets/ModelRenderer/Art/Models/litmodels/a61/6/litmodel_1858.bmd.prefab @@ -9,12 +9,13 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 6620715533904588879} + - component: {fileID: 8971906507328977954} m_Layer: 0 m_Name: litmodel_1858.bmd m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 - m_StaticEditorFlags: 2147483647 + m_StaticEditorFlags: 0 m_IsActive: 1 --- !u!4 &6620715533904588879 Transform: @@ -26,7 +27,7 @@ Transform: serializedVersion: 2 m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 0.6009749, y: 0.60097486, z: 0.60097486} + m_LocalScale: {x: 0.60097486, y: 0.60097486, z: 0.60097486} m_ConstrainProportionsScale: 0 m_Children: - {fileID: 3802196365371919653} @@ -34,8 +35,24 @@ Transform: - {fileID: 642723427162609800} - {fileID: 5468985526413160933} - {fileID: 4305396298280240728} + - {fileID: 2374675958549553526} m_Father: {fileID: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &8971906507328977954 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2314062561766911216} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 59e5e7b3dc884d92a21aa09f5a2c208d, type: 3} + m_Name: + m_EditorClassIdentifier: + _modelPath: litmodels/a61/6/litmodel_1858.bmd + _buildingMeshRenderer: {fileID: 483505391458485963, guid: 028823e57276945c4a8c11c1d6067394, type: 3} + _halfSpacePrefab: {fileID: 0} --- !u!1 &2339233178148791680 GameObject: m_ObjectHideFlags: 0 @@ -45,15 +62,15 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 4305396298280240728} + - component: {fileID: 5018183914019923839} - component: {fileID: 7601683473776944617} - component: {fileID: 7598424356279927743} - - component: {fileID: 2766007181529087648} m_Layer: 0 m_Name: Plane07 m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 - m_StaticEditorFlags: 2147483647 + m_StaticEditorFlags: 0 m_IsActive: 1 --- !u!4 &4305396298280240728 Transform: @@ -70,6 +87,21 @@ Transform: m_Children: [] m_Father: {fileID: 6620715533904588879} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &5018183914019923839 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2339233178148791680} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ce1edacf192a4339b2b54396daf5feb0, type: 3} + m_Name: + m_EditorClassIdentifier: + _meshFilter: {fileID: 7601683473776944617} + _meshRenderer: {fileID: 7598424356279927743} + _material: {fileID: 2100000, guid: 38603659d794349f6abdd4959b09ee3c, type: 2} --- !u!33 &7601683473776944617 MeshFilter: m_ObjectHideFlags: 0 @@ -123,28 +155,6 @@ MeshRenderer: m_SortingLayer: 0 m_SortingOrder: 0 m_AdditionalVertexStreams: {fileID: 0} ---- !u!64 &2766007181529087648 -MeshCollider: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2339233178148791680} - m_Material: {fileID: 0} - m_IncludeLayers: - serializedVersion: 2 - m_Bits: 0 - m_ExcludeLayers: - serializedVersion: 2 - m_Bits: 0 - m_LayerOverridePriority: 0 - m_IsTrigger: 0 - m_ProvidesContacts: 0 - m_Enabled: 1 - serializedVersion: 5 - m_Convex: 0 - m_CookingOptions: 30 - m_Mesh: {fileID: 4300000, guid: debea84a7d6595643a53de1dd566971e, type: 2} --- !u!1 &3485809628087161448 GameObject: m_ObjectHideFlags: 0 @@ -157,13 +167,12 @@ GameObject: - component: {fileID: 4376806984282474990} - component: {fileID: 6386291787311475679} - component: {fileID: 3930127726212162846} - - component: {fileID: 3212405443933505398} m_Layer: 0 m_Name: Cube m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 - m_StaticEditorFlags: 2147483647 + m_StaticEditorFlags: 0 m_IsActive: 0 --- !u!4 &3802196365371919653 Transform: @@ -254,28 +263,6 @@ BoxCollider: serializedVersion: 3 m_Size: {x: 1, y: 1, z: 1} m_Center: {x: 0, y: 0, z: 0} ---- !u!64 &3212405443933505398 -MeshCollider: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3485809628087161448} - m_Material: {fileID: 0} - m_IncludeLayers: - serializedVersion: 2 - m_Bits: 0 - m_ExcludeLayers: - serializedVersion: 2 - m_Bits: 0 - m_LayerOverridePriority: 0 - m_IsTrigger: 0 - m_ProvidesContacts: 0 - m_Enabled: 1 - serializedVersion: 5 - m_Convex: 0 - m_CookingOptions: 30 - m_Mesh: {fileID: 4300000, guid: 9fa5ff3c3e448134eb7e3ce9c089ef4a, type: 2} --- !u!1 &3638618787983965184 GameObject: m_ObjectHideFlags: 0 @@ -285,15 +272,15 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 5468985526413160933} + - component: {fileID: 8855383621233754012} - component: {fileID: 3682369117625429100} - component: {fileID: 933992426169001204} - - component: {fileID: 2323754348112517762} m_Layer: 0 m_Name: Box76 m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 - m_StaticEditorFlags: 2147483647 + m_StaticEditorFlags: 0 m_IsActive: 1 --- !u!4 &5468985526413160933 Transform: @@ -310,6 +297,21 @@ Transform: m_Children: [] m_Father: {fileID: 6620715533904588879} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &8855383621233754012 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3638618787983965184} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ce1edacf192a4339b2b54396daf5feb0, type: 3} + m_Name: + m_EditorClassIdentifier: + _meshFilter: {fileID: 3682369117625429100} + _meshRenderer: {fileID: 933992426169001204} + _material: {fileID: 2100000, guid: 38603659d794349f6abdd4959b09ee3c, type: 2} --- !u!33 &3682369117625429100 MeshFilter: m_ObjectHideFlags: 0 @@ -363,13 +365,100 @@ MeshRenderer: m_SortingLayer: 0 m_SortingOrder: 0 m_AdditionalVertexStreams: {fileID: 0} ---- !u!64 &2323754348112517762 +--- !u!1 &4363002964825893588 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2374675958549553526} + - component: {fileID: 4527544251728066118} + - component: {fileID: 5311223652641166228} + - component: {fileID: 3754629199141232990} + m_Layer: 0 + m_Name: CDBrushCollider + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2374675958549553526 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4363002964825893588} + serializedVersion: 2 + m_LocalRotation: {x: -0.009164956, y: -0.35673073, z: 0.033771332, w: 0.93355167} + m_LocalPosition: {x: 593.935, y: 8.849079, z: 1059.9131} + m_LocalScale: {x: 1.6639633, y: 1.6639631, z: 1.6639628} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 6620715533904588879} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &4527544251728066118 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4363002964825893588} + m_Mesh: {fileID: 4300000, guid: 7ef57348cc14e2c44b0d93d82309fb45, type: 2} +--- !u!23 &5311223652641166228 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4363002964825893588} + m_Enabled: 0 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!64 &3754629199141232990 MeshCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3638618787983965184} + m_GameObject: {fileID: 4363002964825893588} m_Material: {fileID: 0} m_IncludeLayers: serializedVersion: 2 @@ -384,7 +473,7 @@ MeshCollider: serializedVersion: 5 m_Convex: 0 m_CookingOptions: 30 - m_Mesh: {fileID: 4300000, guid: c08d860dbee1fc04982548760a3e6772, type: 2} + m_Mesh: {fileID: 4300000, guid: 7ef57348cc14e2c44b0d93d82309fb45, type: 2} --- !u!1 &4972250255338124789 GameObject: m_ObjectHideFlags: 0 @@ -394,15 +483,15 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 642723427162609800} + - component: {fileID: 9097665641590201619} - component: {fileID: 5167380396376929393} - component: {fileID: 4925996912478658442} - - component: {fileID: 2968994200318392227} m_Layer: 0 m_Name: Object3420 m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 - m_StaticEditorFlags: 2147483647 + m_StaticEditorFlags: 0 m_IsActive: 1 --- !u!4 &642723427162609800 Transform: @@ -419,6 +508,21 @@ Transform: m_Children: [] m_Father: {fileID: 6620715533904588879} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &9097665641590201619 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4972250255338124789} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ce1edacf192a4339b2b54396daf5feb0, type: 3} + m_Name: + m_EditorClassIdentifier: + _meshFilter: {fileID: 5167380396376929393} + _meshRenderer: {fileID: 4925996912478658442} + _material: {fileID: 2100000, guid: 38603659d794349f6abdd4959b09ee3c, type: 2} --- !u!33 &5167380396376929393 MeshFilter: m_ObjectHideFlags: 0 @@ -472,28 +576,6 @@ MeshRenderer: m_SortingLayer: 0 m_SortingOrder: 0 m_AdditionalVertexStreams: {fileID: 0} ---- !u!64 &2968994200318392227 -MeshCollider: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 4972250255338124789} - m_Material: {fileID: 0} - m_IncludeLayers: - serializedVersion: 2 - m_Bits: 0 - m_ExcludeLayers: - serializedVersion: 2 - m_Bits: 0 - m_LayerOverridePriority: 0 - m_IsTrigger: 0 - m_ProvidesContacts: 0 - m_Enabled: 1 - serializedVersion: 5 - m_Convex: 0 - m_CookingOptions: 30 - m_Mesh: {fileID: 4300000, guid: 8f3249ba302780d439604a8adbef43a0, type: 2} --- !u!1 &9179223615275914270 GameObject: m_ObjectHideFlags: 0 @@ -503,6 +585,7 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 8430704228723251584} + - component: {fileID: 7012760499325483412} - component: {fileID: 5934929730268457527} - component: {fileID: 5803992813184748586} m_Layer: 0 @@ -510,7 +593,7 @@ GameObject: m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 - m_StaticEditorFlags: 2147483647 + m_StaticEditorFlags: 0 m_IsActive: 1 --- !u!4 &8430704228723251584 Transform: @@ -527,6 +610,21 @@ Transform: m_Children: [] m_Father: {fileID: 6620715533904588879} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &7012760499325483412 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 9179223615275914270} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ce1edacf192a4339b2b54396daf5feb0, type: 3} + m_Name: + m_EditorClassIdentifier: + _meshFilter: {fileID: 5934929730268457527} + _meshRenderer: {fileID: 5803992813184748586} + _material: {fileID: 2100000, guid: 38603659d794349f6abdd4959b09ee3c, type: 2} --- !u!33 &5934929730268457527 MeshFilter: m_ObjectHideFlags: 0 diff --git a/Assets/PerfectWorld/Prefab/UIManager.prefab b/Assets/PerfectWorld/Prefab/UIManager.prefab index 7b865f4aed..24e3db8fe7 100644 --- a/Assets/PerfectWorld/Prefab/UIManager.prefab +++ b/Assets/PerfectWorld/Prefab/UIManager.prefab @@ -1,5 +1,223 @@ %YAML 1.1 %TAG !u! tag:unity3d.com,2011: +--- !u!1 &87619507935587007 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5554786670443291090} + - component: {fileID: 7899066264644706612} + - component: {fileID: 5804053446521495145} + m_Layer: 5 + m_Name: content_top + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &5554786670443291090 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 87619507935587007} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1694888803503704108} + - {fileID: 5474928473429880905} + - {fileID: 4805092401010292954} + - {fileID: 6185409269713662219} + - {fileID: 5420435730480738160} + - {fileID: 3445901627154650046} + - {fileID: 1235867687084709750} + m_Father: {fileID: 3014833044643225228} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0.8283, y: 300} + m_SizeDelta: {x: 676.5688, y: 117.1668} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &7899066264644706612 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 87619507935587007} + m_CullTransparentMesh: 1 +--- !u!114 &5804053446521495145 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 87619507935587007} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 8b900a515a652db479c6520fd9a711ce, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!1 &151429092976976518 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1235867687084709750} + - component: {fileID: 4871420429153534133} + - component: {fileID: 2575242080445219041} + m_Layer: 5 + m_Name: content_exp + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1235867687084709750 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 151429092976976518} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 5554786670443291090} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 208, y: -32} + m_SizeDelta: {x: 92.0434, y: 50} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &4871420429153534133 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 151429092976976518} + m_CullTransparentMesh: 1 +--- !u!114 &2575242080445219041 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 151429092976976518} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_text: 0/50 + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 369c2e14814cc9a4b8e3ad4e37769134, type: 2} + m_sharedMaterial: {fileID: 9092487103257209053, guid: 369c2e14814cc9a4b8e3ad4e37769134, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4294967295 + m_fontColor: {r: 1, g: 1, b: 1, a: 1} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: -1183493901 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 36 + m_fontSizeBase: 36 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_HorizontalAlignment: 1 + m_VerticalAlignment: 256 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_TextWrappingMode: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 0 + m_ActiveFontFeatures: 6e72656b + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_EmojiFallbackSupport: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} --- !u!1 &427315709131599085 GameObject: m_ObjectHideFlags: 0 @@ -136,6 +354,142 @@ MonoBehaviour: m_hasFontAssetChanged: 0 m_baseMaterial: {fileID: 0} m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!1 &604398865959871058 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3445901627154650046} + - component: {fileID: 4828958038377214080} + - component: {fileID: 9023073691683531277} + m_Layer: 5 + m_Name: text_exp + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &3445901627154650046 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 604398865959871058} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 5554786670443291090} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 150, y: -30} + m_SizeDelta: {x: 100.9016, y: 47.583} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &4828958038377214080 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 604398865959871058} + m_CullTransparentMesh: 1 +--- !u!114 &9023073691683531277 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 604398865959871058} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_text: 'EXP:' + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 369c2e14814cc9a4b8e3ad4e37769134, type: 2} + m_sharedMaterial: {fileID: 9092487103257209053, guid: 369c2e14814cc9a4b8e3ad4e37769134, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4294967295 + m_fontColor: {r: 1, g: 1, b: 1, a: 1} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: -1183493901 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 36 + m_fontSizeBase: 36 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_HorizontalAlignment: 1 + m_VerticalAlignment: 256 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_TextWrappingMode: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 0 + m_ActiveFontFeatures: 6e72656b + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_EmojiFallbackSupport: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} --- !u!1 &921810299079476810 GameObject: m_ObjectHideFlags: 0 @@ -269,7 +623,6 @@ GameObject: - component: {fileID: 2091984348760918456} - component: {fileID: 7421153329155037236} - component: {fileID: 2013061949432893537} - - component: {fileID: 6315749802264791665} m_Layer: 5 m_Name: EscapeBtn m_TagString: Untagged @@ -379,18 +732,6 @@ MonoBehaviour: m_OnClick: m_PersistentCalls: m_Calls: [] ---- !u!114 &6315749802264791665 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 934635620553056957} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 96de7d56a4514c979bdd93568dba2031, type: 3} - m_Name: - m_EditorClassIdentifier: --- !u!1 &1131583467895984856 GameObject: m_ObjectHideFlags: 0 @@ -701,8 +1042,263 @@ MonoBehaviour: minSwipeDistance: 0.1 speedX: 60 speedY: 500 - _useEditorSpeed: 1 - _editorSpeed: {x: 150, y: 600} +--- !u!1 &2069415937652699839 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7853234909689032966} + - component: {fileID: 1514454460264510363} + - component: {fileID: 5349379811657316056} + - component: {fileID: 336251294500208480} + m_Layer: 5 + m_Name: page_2 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &7853234909689032966 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2069415937652699839} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 5396057523975396281} + m_Father: {fileID: 1989191901671888093} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 302.5, y: 31.3} + m_SizeDelta: {x: 200, y: 62.6} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &1514454460264510363 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2069415937652699839} + m_CullTransparentMesh: 1 +--- !u!114 &5349379811657316056 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2069415937652699839} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: cfea9e76bd5ae49418c53d06217ce344, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!114 &336251294500208480 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2069415937652699839} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 5349379811657316056} + m_OnClick: + m_PersistentCalls: + m_Calls: [] +--- !u!1 &2131038424859477328 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7249291928701832608} + - component: {fileID: 4699786983739964846} + - component: {fileID: 4916960944509387975} + m_Layer: 5 + m_Name: title_text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &7249291928701832608 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2131038424859477328} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 3014833044643225228} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 1} + m_AnchorMax: {x: 0.5, y: 1} + m_AnchoredPosition: {x: 0, y: -28} + m_SizeDelta: {x: 200, y: 50} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &4699786983739964846 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2131038424859477328} + m_CullTransparentMesh: 1 +--- !u!114 &4916960944509387975 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2131038424859477328} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_text: "M\xF4 t\u1EA3" + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 369c2e14814cc9a4b8e3ad4e37769134, type: 2} + m_sharedMaterial: {fileID: 9092487103257209053, guid: 369c2e14814cc9a4b8e3ad4e37769134, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4294967295 + m_fontColor: {r: 1, g: 1, b: 1, a: 1} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: -1183493901 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 36 + m_fontSizeBase: 36 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_HorizontalAlignment: 2 + m_VerticalAlignment: 512 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_TextWrappingMode: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 0 + m_ActiveFontFeatures: 6e72656b + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_EmojiFallbackSupport: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} --- !u!1 &2174337589232334013 GameObject: m_ObjectHideFlags: 0 @@ -1085,6 +1681,278 @@ MonoBehaviour: m_BlockingMask: serializedVersion: 2 m_Bits: 4294967295 +--- !u!1 &2676224183607984025 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5474928473429880905} + - component: {fileID: 6246528088561099467} + - component: {fileID: 7753895792404614630} + m_Layer: 5 + m_Name: text_name + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &5474928473429880905 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2676224183607984025} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 5554786670443291090} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: -143.5492, y: 30} + m_SizeDelta: {x: 100.9016, y: 50} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &6246528088561099467 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2676224183607984025} + m_CullTransparentMesh: 1 +--- !u!114 &7753895792404614630 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2676224183607984025} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_text: "T\xEAn th\xFA:" + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 369c2e14814cc9a4b8e3ad4e37769134, type: 2} + m_sharedMaterial: {fileID: 9092487103257209053, guid: 369c2e14814cc9a4b8e3ad4e37769134, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4294967295 + m_fontColor: {r: 1, g: 1, b: 1, a: 1} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: -1183493901 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 36 + m_fontSizeBase: 36 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_HorizontalAlignment: 1 + m_VerticalAlignment: 256 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_TextWrappingMode: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 0 + m_ActiveFontFeatures: 6e72656b + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_EmojiFallbackSupport: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!1 &2776183232214485049 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7481435294858215034} + - component: {fileID: 4134262623604413793} + - component: {fileID: 5520291488219516955} + m_Layer: 5 + m_Name: Text (TMP) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &7481435294858215034 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2776183232214485049} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 7953660934819344151} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &4134262623604413793 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2776183232214485049} + m_CullTransparentMesh: 1 +--- !u!114 &5520291488219516955 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2776183232214485049} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_text: "Trang \u0111\u1EA7u" + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 369c2e14814cc9a4b8e3ad4e37769134, type: 2} + m_sharedMaterial: {fileID: 9092487103257209053, guid: 369c2e14814cc9a4b8e3ad4e37769134, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4294967295 + m_fontColor: {r: 1, g: 1, b: 1, a: 1} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: -1183493901 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 36 + m_fontSizeBase: 36 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_HorizontalAlignment: 2 + m_VerticalAlignment: 256 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_TextWrappingMode: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 0 + m_ActiveFontFeatures: 6e72656b + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_EmojiFallbackSupport: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} --- !u!1 &2872011510662580381 GameObject: m_ObjectHideFlags: 0 @@ -1370,6 +2238,127 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 24000eb1448ca674888f256f5508cadd, type: 3} m_Name: m_EditorClassIdentifier: +--- !u!1 &3354064477598402131 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7953660934819344151} + - component: {fileID: 1527486971146749285} + - component: {fileID: 5483509253073518175} + - component: {fileID: 6988341805413430479} + m_Layer: 5 + m_Name: page_1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &7953660934819344151 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3354064477598402131} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 7481435294858215034} + m_Father: {fileID: 1989191901671888093} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 100, y: 31.3} + m_SizeDelta: {x: 200, y: 62.6} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &1527486971146749285 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3354064477598402131} + m_CullTransparentMesh: 1 +--- !u!114 &5483509253073518175 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3354064477598402131} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: cfea9e76bd5ae49418c53d06217ce344, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!114 &6988341805413430479 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3354064477598402131} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 5483509253073518175} + m_OnClick: + m_PersistentCalls: + m_Calls: [] --- !u!1 &3360741934552833056 GameObject: m_ObjectHideFlags: 0 @@ -1563,6 +2552,217 @@ MonoBehaviour: m_EditorClassIdentifier: inputField: {fileID: 9217902013627304316} sendButton: {fileID: 0} +--- !u!1 &3640198580623993119 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5100094059136870647} + - component: {fileID: 7878709850570617337} + - component: {fileID: 6124151224118323247} + m_Layer: 5 + m_Name: content_mid_1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &5100094059136870647 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3640198580623993119} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 3014833044643225228} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0.97314453, y: 48.68799} + m_SizeDelta: {x: -30.7139, y: -502.456} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &7878709850570617337 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3640198580623993119} + m_CullTransparentMesh: 1 +--- !u!114 &6124151224118323247 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3640198580623993119} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 31724268aed254d4c9a0523e647a6c71, type: 3} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!1 &3669312958000983190 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5420435730480738160} + - component: {fileID: 5888713976772999892} + - component: {fileID: 25471890317122008} + m_Layer: 5 + m_Name: content_level (1) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &5420435730480738160 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3669312958000983190} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 5554786670443291090} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: -77, y: -33} + m_SizeDelta: {x: 92.0434, y: 50} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &5888713976772999892 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3669312958000983190} + m_CullTransparentMesh: 1 +--- !u!114 &25471890317122008 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3669312958000983190} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_text: 100 + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 369c2e14814cc9a4b8e3ad4e37769134, type: 2} + m_sharedMaterial: {fileID: 9092487103257209053, guid: 369c2e14814cc9a4b8e3ad4e37769134, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4294967295 + m_fontColor: {r: 1, g: 1, b: 1, a: 1} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: -1183493901 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 36 + m_fontSizeBase: 36 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_HorizontalAlignment: 1 + m_VerticalAlignment: 256 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_TextWrappingMode: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 0 + m_ActiveFontFeatures: 6e72656b + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_EmojiFallbackSupport: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} --- !u!1 &3799865313737744222 GameObject: m_ObjectHideFlags: 0 @@ -1856,6 +3056,179 @@ MonoBehaviour: m_FlexibleWidth: -1 m_FlexibleHeight: -1 m_LayoutPriority: 1 +--- !u!1 &4159319322562488724 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1989191901671888093} + m_Layer: 5 + m_Name: box_button_page + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1989191901671888093 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4159319322562488724} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 7953660934819344151} + - {fileID: 7853234909689032966} + m_Father: {fileID: 6195047274790335900} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: -51.4604, y: 331.42} + m_SizeDelta: {x: 1392.4191, y: 78.747} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &4656111575523843201 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6185409269713662219} + - component: {fileID: 2964906352047353327} + - component: {fileID: 3478892226031850918} + m_Layer: 5 + m_Name: text_level + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &6185409269713662219 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4656111575523843201} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 5554786670443291090} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: -143.5492, y: -30} + m_SizeDelta: {x: 100.9016, y: 47} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &2964906352047353327 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4656111575523843201} + m_CullTransparentMesh: 1 +--- !u!114 &3478892226031850918 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4656111575523843201} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_text: "C\u1EA5p: " + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 369c2e14814cc9a4b8e3ad4e37769134, type: 2} + m_sharedMaterial: {fileID: 9092487103257209053, guid: 369c2e14814cc9a4b8e3ad4e37769134, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4294967295 + m_fontColor: {r: 1, g: 1, b: 1, a: 1} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: -1183493901 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 36 + m_fontSizeBase: 36 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_HorizontalAlignment: 1 + m_VerticalAlignment: 256 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_TextWrappingMode: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 0 + m_ActiveFontFeatures: 6e72656b + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_EmojiFallbackSupport: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} --- !u!1 &5137013593162142802 GameObject: m_ObjectHideFlags: 0 @@ -1989,6 +3362,143 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: a6149141837cadc4baae427c4864833e, type: 3} m_Name: m_EditorClassIdentifier: +--- !u!1 &5175104538651511150 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6845146827467386304} + - component: {fileID: 8385580258238835084} + - component: {fileID: 5137054949332509318} + - component: {fileID: 8034288509349303597} + m_Layer: 5 + m_Name: ButtonAnimalBag + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &6845146827467386304 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5175104538651511150} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 8515917013222214534} + m_Father: {fileID: 3483809415181351540} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 1, y: 0} + m_AnchorMax: {x: 1, y: 0} + m_AnchoredPosition: {x: -474, y: 75} + m_SizeDelta: {x: 90.8501, y: 55.793884} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &8385580258238835084 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5175104538651511150} + m_CullTransparentMesh: 1 +--- !u!114 &5137054949332509318 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5175104538651511150} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!114 &8034288509349303597 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5175104538651511150} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 9085046f02f69544eb97fd06b6048fe2, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 5137054949332509318} + toggleTransition: 1 + graphic: {fileID: 0} + m_Group: {fileID: 0} + onValueChanged: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 4911352010846192128} + m_TargetAssemblyTypeName: UnityEngine.GameObject, UnityEngine + m_MethodName: SetActive + m_Mode: 0 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 + m_IsOn: 0 --- !u!1 &5175956442830629474 GameObject: m_ObjectHideFlags: 0 @@ -2294,6 +3804,8 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 1257634218941f746ada30ba51402249, type: 3} m_Name: m_EditorClassIdentifier: + skillNameText: {fileID: 0} + imageProgress: {fileID: 0} AUIImagePictureList: - {fileID: 2554621538146193444} - {fileID: 5079395126799912635} @@ -2848,6 +4360,81 @@ MonoBehaviour: m_hasFontAssetChanged: 0 m_baseMaterial: {fileID: 0} m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!1 &6068214449689729431 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1694888803503704108} + - component: {fileID: 7777918988973801044} + - component: {fileID: 4690001941583735436} + m_Layer: 5 + m_Name: icon_animal + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1694888803503704108 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6068214449689729431} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 5554786670443291090} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 88, y: -56} + m_SizeDelta: {x: 70, y: 70} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &7777918988973801044 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6068214449689729431} + m_CullTransparentMesh: 1 +--- !u!114 &4690001941583735436 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6068214449689729431} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: a5366f3bce011c046902e39b6bd3a077, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 --- !u!1 &6470418459643444397 GameObject: m_ObjectHideFlags: 0 @@ -2983,6 +4570,7 @@ GameObject: - component: {fileID: 7367406124028344242} - component: {fileID: 3162833025978482600} - component: {fileID: 2431558109419737109} + - component: {fileID: 4590720326058026637} m_Layer: 0 m_Name: UIManager m_TagString: Untagged @@ -3042,6 +4630,8 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 3c007a40af961624cae5041be0798d18, type: 3} m_Name: m_EditorClassIdentifier: + skillNameText: {fileID: 0} + imageProgress: {fileID: 0} uiSkillButton: {fileID: 1484158212461992110} skillUI: {fileID: 5226149676194325592} --- !u!114 &7367406124028344242 @@ -3056,6 +4646,8 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: b46a84d2ff078524f974fb6d60019d8c, type: 3} m_Name: m_EditorClassIdentifier: + skillNameText: {fileID: 0} + imageProgress: {fileID: 0} --- !u!114 &3162833025978482600 MonoBehaviour: m_ObjectHideFlags: 0 @@ -3080,6 +4672,8 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 27624565938535e4593764faffe78bbf, type: 3} m_Name: m_EditorClassIdentifier: + skillNameText: {fileID: 0} + imageProgress: {fileID: 0} m_comboSkillImages: [] m_fixedImgPics: [] m_fixedTxts: [] @@ -3092,6 +4686,18 @@ MonoBehaviour: m_btnEdit: {fileID: 0} m_btnDelete: {fileID: 0} m_btnNew: {fileID: 0} +--- !u!114 &4590720326058026637 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6950113420985123515} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 01a97b889c107814eb3c4957c683c0b4, type: 3} + m_Name: + m_EditorClassIdentifier: --- !u!1 &7222864739775630687 GameObject: m_ObjectHideFlags: 0 @@ -3263,12 +4869,14 @@ RectTransform: - {fileID: 6068541250920471714} - {fileID: 984617901920738932} - {fileID: 2783469216819378410} + - {fileID: 6845146827467386304} - {fileID: 8913509984865075419} - {fileID: 5823843793071880086} - {fileID: 1462603449517194619} - {fileID: 7020286574697807252} - {fileID: 1491137607121893366} - {fileID: 6742883814524417716} + - {fileID: 3384258909275276440} - {fileID: 8036754867011260758} - {fileID: 6484535971067043072} - {fileID: 4528532603973220147} @@ -3610,6 +5218,222 @@ MonoBehaviour: m_StringArgument: DlgTask m_BoolArgument: 0 m_CallState: 2 +--- !u!1 &8097821414561731956 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8515917013222214534} + - component: {fileID: 298668921159764808} + - component: {fileID: 2696019482301516991} + m_Layer: 5 + m_Name: Text (TMP) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &8515917013222214534 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8097821414561731956} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 6845146827467386304} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &298668921159764808 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8097821414561731956} + m_CullTransparentMesh: 1 +--- !u!114 &2696019482301516991 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8097821414561731956} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_text: 'Animal + + Bag' + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4281479730 + m_fontColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: -1183493901 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 24 + m_fontSizeBase: 24 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_HorizontalAlignment: 2 + m_VerticalAlignment: 512 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_TextWrappingMode: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 0 + m_ActiveFontFeatures: 6e72656b + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_EmojiFallbackSupport: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!1 &8349950610025683139 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3014833044643225228} + - component: {fileID: 4601529256775030850} + - component: {fileID: 4204191611673531847} + m_Layer: 5 + m_Name: pet_detail + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &3014833044643225228 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8349950610025683139} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 7249291928701832608} + - {fileID: 5554786670443291090} + - {fileID: 5100094059136870647} + m_Father: {fileID: 6195047274790335900} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 219, y: -24} + m_SizeDelta: {x: -866.9302, y: 14.923} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &4601529256775030850 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8349950610025683139} + m_CullTransparentMesh: 1 +--- !u!114 &4204191611673531847 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8349950610025683139} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 783461a4a720d9f4cb4636827558ad8d, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 --- !u!1 &8437056443987804949 GameObject: m_ObjectHideFlags: 0 @@ -3713,6 +5537,8 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 1257634218941f746ada30ba51402249, type: 3} m_Name: m_EditorClassIdentifier: + skillNameText: {fileID: 0} + imageProgress: {fileID: 0} AUIImagePictureList: - {fileID: 445184971459596056} - {fileID: 3804662600613272361} @@ -3867,6 +5693,278 @@ MonoBehaviour: m_FillOrigin: 0 m_UseSpriteMesh: 0 m_PixelsPerUnitMultiplier: 1 +--- !u!1 &8992071181427023152 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4805092401010292954} + - component: {fileID: 2686936106839008803} + - component: {fileID: 912683987094149991} + m_Layer: 5 + m_Name: content_name + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &4805092401010292954 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8992071181427023152} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 5554786670443291090} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 128.99194, y: 30} + m_SizeDelta: {x: 387.2394, y: 50} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &2686936106839008803 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8992071181427023152} + m_CullTransparentMesh: 1 +--- !u!114 &912683987094149991 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8992071181427023152} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_text: "T\u1EED S\u1EAFc Linh H\u1ED3" + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 369c2e14814cc9a4b8e3ad4e37769134, type: 2} + m_sharedMaterial: {fileID: 9092487103257209053, guid: 369c2e14814cc9a4b8e3ad4e37769134, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4294967295 + m_fontColor: {r: 1, g: 1, b: 1, a: 1} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: -1183493901 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 36 + m_fontSizeBase: 36 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_HorizontalAlignment: 1 + m_VerticalAlignment: 256 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_TextWrappingMode: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 0 + m_ActiveFontFeatures: 6e72656b + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_EmojiFallbackSupport: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!1 &9180479633438435476 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5396057523975396281} + - component: {fileID: 4893210501783975719} + - component: {fileID: 8474605346099456240} + m_Layer: 5 + m_Name: Text (TMP) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &5396057523975396281 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 9180479633438435476} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 7853234909689032966} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &4893210501783975719 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 9180479633438435476} + m_CullTransparentMesh: 1 +--- !u!114 &8474605346099456240 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 9180479633438435476} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_text: "Trang th\u1EE9 hai" + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 369c2e14814cc9a4b8e3ad4e37769134, type: 2} + m_sharedMaterial: {fileID: 9092487103257209053, guid: 369c2e14814cc9a4b8e3ad4e37769134, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4294967295 + m_fontColor: {r: 1, g: 1, b: 1, a: 1} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: -1183493901 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 36 + m_fontSizeBase: 36 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_HorizontalAlignment: 2 + m_VerticalAlignment: 256 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_TextWrappingMode: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 0 + m_ActiveFontFeatures: 6e72656b + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_EmojiFallbackSupport: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} --- !u!1001 &47186325689700198 PrefabInstance: m_ObjectHideFlags: 0 @@ -5338,6 +7436,30 @@ PrefabInstance: propertyPath: m_AnchoredPosition.y value: -240 objectReference: {fileID: 0} + - target: {fileID: 771257080584119921, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} + propertyPath: m_AnchorMax.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 771257080584119921, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} + propertyPath: m_AnchorMin.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 771257080584119921, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} + propertyPath: m_SizeDelta.x + value: 80 + objectReference: {fileID: 0} + - target: {fileID: 771257080584119921, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} + propertyPath: m_SizeDelta.y + value: 80 + objectReference: {fileID: 0} + - target: {fileID: 771257080584119921, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} + propertyPath: m_AnchoredPosition.x + value: 416 + objectReference: {fileID: 0} + - target: {fileID: 771257080584119921, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} + propertyPath: m_AnchoredPosition.y + value: -240 + objectReference: {fileID: 0} - target: {fileID: 776624419558043962, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} propertyPath: m_text value: 104999990 @@ -5400,15 +7522,39 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 1001152567372181051, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} propertyPath: m_SizeDelta.y - value: 45.94 + value: 805.53 objectReference: {fileID: 0} - target: {fileID: 1001152567372181051, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} propertyPath: m_AnchoredPosition.x - value: 21 + value: 20 objectReference: {fileID: 0} - target: {fileID: 1001152567372181051, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} propertyPath: m_AnchoredPosition.y - value: -28.989998 + value: -402.765 + objectReference: {fileID: 0} + - target: {fileID: 1071945724819243010, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} + propertyPath: m_AnchorMax.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 1071945724819243010, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} + propertyPath: m_AnchorMin.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 1071945724819243010, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} + propertyPath: m_SizeDelta.x + value: 80 + objectReference: {fileID: 0} + - target: {fileID: 1071945724819243010, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} + propertyPath: m_SizeDelta.y + value: 80 + objectReference: {fileID: 0} + - target: {fileID: 1071945724819243010, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} + propertyPath: m_AnchoredPosition.x + value: 322 + objectReference: {fileID: 0} + - target: {fileID: 1071945724819243010, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} + propertyPath: m_AnchoredPosition.y + value: -40 objectReference: {fileID: 0} - target: {fileID: 1077581320908415184, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} propertyPath: m_AnchorMax.y @@ -5504,11 +7650,11 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 1333165094145940333, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} propertyPath: m_AnchoredPosition.x - value: 21 + value: 20 objectReference: {fileID: 0} - target: {fileID: 1333165094145940333, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} propertyPath: m_AnchoredPosition.y - value: -57.98 + value: -805.53 objectReference: {fileID: 0} - target: {fileID: 1345989824104035203, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} propertyPath: m_AnchorMax.y @@ -5626,6 +7772,54 @@ PrefabInstance: propertyPath: m_AnchoredPosition.y value: -160.79 objectReference: {fileID: 0} + - target: {fileID: 1612707098974701947, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} + propertyPath: m_AnchorMax.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 1612707098974701947, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} + propertyPath: m_AnchorMin.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 1612707098974701947, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} + propertyPath: m_SizeDelta.x + value: 80 + objectReference: {fileID: 0} + - target: {fileID: 1612707098974701947, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} + propertyPath: m_SizeDelta.y + value: 80 + objectReference: {fileID: 0} + - target: {fileID: 1612707098974701947, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} + propertyPath: m_AnchoredPosition.x + value: 322 + objectReference: {fileID: 0} + - target: {fileID: 1612707098974701947, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} + propertyPath: m_AnchoredPosition.y + value: -340 + objectReference: {fileID: 0} + - target: {fileID: 1850344366240053903, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} + propertyPath: m_AnchorMax.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 1850344366240053903, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} + propertyPath: m_AnchorMin.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 1850344366240053903, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} + propertyPath: m_SizeDelta.x + value: 80 + objectReference: {fileID: 0} + - target: {fileID: 1850344366240053903, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} + propertyPath: m_SizeDelta.y + value: 80 + objectReference: {fileID: 0} + - target: {fileID: 1850344366240053903, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} + propertyPath: m_AnchoredPosition.x + value: 510 + objectReference: {fileID: 0} + - target: {fileID: 1850344366240053903, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} + propertyPath: m_AnchoredPosition.y + value: -40 + objectReference: {fileID: 0} - target: {fileID: 1912901053101927194, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} propertyPath: m_AnchorMax.y value: 1 @@ -5694,6 +7888,30 @@ PrefabInstance: propertyPath: m_AnchoredPosition.y value: -346.5 objectReference: {fileID: 0} + - target: {fileID: 2036555672062762004, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} + propertyPath: m_AnchorMax.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 2036555672062762004, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} + propertyPath: m_AnchorMin.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 2036555672062762004, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} + propertyPath: m_SizeDelta.x + value: 80 + objectReference: {fileID: 0} + - target: {fileID: 2036555672062762004, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} + propertyPath: m_SizeDelta.y + value: 80 + objectReference: {fileID: 0} + - target: {fileID: 2036555672062762004, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} + propertyPath: m_AnchoredPosition.x + value: 416 + objectReference: {fileID: 0} + - target: {fileID: 2036555672062762004, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} + propertyPath: m_AnchoredPosition.y + value: -140 + objectReference: {fileID: 0} - target: {fileID: 2067482245361998833, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} propertyPath: m_AnchorMax.y value: 1 @@ -5750,6 +7968,30 @@ PrefabInstance: propertyPath: m_AnchoredPosition.y value: -140 objectReference: {fileID: 0} + - target: {fileID: 2444080556930073606, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} + propertyPath: m_AnchorMax.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 2444080556930073606, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} + propertyPath: m_AnchorMin.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 2444080556930073606, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} + propertyPath: m_SizeDelta.x + value: 80 + objectReference: {fileID: 0} + - target: {fileID: 2444080556930073606, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} + propertyPath: m_SizeDelta.y + value: 80 + objectReference: {fileID: 0} + - target: {fileID: 2444080556930073606, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} + propertyPath: m_AnchoredPosition.x + value: 322 + objectReference: {fileID: 0} + - target: {fileID: 2444080556930073606, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} + propertyPath: m_AnchoredPosition.y + value: -540 + objectReference: {fileID: 0} - target: {fileID: 2466548686648288026, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} propertyPath: m_AnchorMax.y value: 1 @@ -5870,6 +8112,30 @@ PrefabInstance: propertyPath: m_AnchoredPosition.y value: -42.922 objectReference: {fileID: 0} + - target: {fileID: 2916596508479738095, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} + propertyPath: m_AnchorMax.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 2916596508479738095, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} + propertyPath: m_AnchorMin.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 2916596508479738095, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} + propertyPath: m_SizeDelta.x + value: 80 + objectReference: {fileID: 0} + - target: {fileID: 2916596508479738095, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} + propertyPath: m_SizeDelta.y + value: 80 + objectReference: {fileID: 0} + - target: {fileID: 2916596508479738095, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} + propertyPath: m_AnchoredPosition.x + value: 228 + objectReference: {fileID: 0} + - target: {fileID: 2916596508479738095, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} + propertyPath: m_AnchoredPosition.y + value: -240 + objectReference: {fileID: 0} - target: {fileID: 2926903101593938218, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} propertyPath: m_AnchorMax.y value: 1 @@ -5910,6 +8176,54 @@ PrefabInstance: propertyPath: m_AnchoredPosition.y value: -249.5 objectReference: {fileID: 0} + - target: {fileID: 3082739296682824787, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} + propertyPath: m_AnchorMax.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 3082739296682824787, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} + propertyPath: m_AnchorMin.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 3082739296682824787, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} + propertyPath: m_SizeDelta.x + value: 80 + objectReference: {fileID: 0} + - target: {fileID: 3082739296682824787, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} + propertyPath: m_SizeDelta.y + value: 80 + objectReference: {fileID: 0} + - target: {fileID: 3082739296682824787, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} + propertyPath: m_AnchoredPosition.x + value: 40 + objectReference: {fileID: 0} + - target: {fileID: 3082739296682824787, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} + propertyPath: m_AnchoredPosition.y + value: -540 + objectReference: {fileID: 0} + - target: {fileID: 3170178859474804864, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} + propertyPath: m_AnchorMax.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 3170178859474804864, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} + propertyPath: m_AnchorMin.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 3170178859474804864, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} + propertyPath: m_SizeDelta.x + value: 80 + objectReference: {fileID: 0} + - target: {fileID: 3170178859474804864, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} + propertyPath: m_SizeDelta.y + value: 80 + objectReference: {fileID: 0} + - target: {fileID: 3170178859474804864, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} + propertyPath: m_AnchoredPosition.x + value: 510 + objectReference: {fileID: 0} + - target: {fileID: 3170178859474804864, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} + propertyPath: m_AnchoredPosition.y + value: -440 + objectReference: {fileID: 0} - target: {fileID: 3250574652249393354, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} propertyPath: m_AnchorMax.y value: 1 @@ -5990,6 +8304,78 @@ PrefabInstance: propertyPath: m_AnchoredPosition.y value: -240 objectReference: {fileID: 0} + - target: {fileID: 3508136016948108671, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} + propertyPath: m_AnchorMax.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 3508136016948108671, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} + propertyPath: m_AnchorMin.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 3508136016948108671, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} + propertyPath: m_SizeDelta.x + value: 80 + objectReference: {fileID: 0} + - target: {fileID: 3508136016948108671, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} + propertyPath: m_SizeDelta.y + value: 80 + objectReference: {fileID: 0} + - target: {fileID: 3508136016948108671, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} + propertyPath: m_AnchoredPosition.x + value: 416 + objectReference: {fileID: 0} + - target: {fileID: 3508136016948108671, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} + propertyPath: m_AnchoredPosition.y + value: -540 + objectReference: {fileID: 0} + - target: {fileID: 3535620642624158867, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} + propertyPath: m_AnchorMax.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 3535620642624158867, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} + propertyPath: m_AnchorMin.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 3535620642624158867, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} + propertyPath: m_SizeDelta.x + value: 80 + objectReference: {fileID: 0} + - target: {fileID: 3535620642624158867, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} + propertyPath: m_SizeDelta.y + value: 80 + objectReference: {fileID: 0} + - target: {fileID: 3535620642624158867, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} + propertyPath: m_AnchoredPosition.x + value: 134 + objectReference: {fileID: 0} + - target: {fileID: 3535620642624158867, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} + propertyPath: m_AnchoredPosition.y + value: -40 + objectReference: {fileID: 0} + - target: {fileID: 3644069095848567170, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} + propertyPath: m_AnchorMax.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 3644069095848567170, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} + propertyPath: m_AnchorMin.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 3644069095848567170, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} + propertyPath: m_SizeDelta.x + value: 80 + objectReference: {fileID: 0} + - target: {fileID: 3644069095848567170, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} + propertyPath: m_SizeDelta.y + value: 80 + objectReference: {fileID: 0} + - target: {fileID: 3644069095848567170, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} + propertyPath: m_AnchoredPosition.x + value: 228 + objectReference: {fileID: 0} + - target: {fileID: 3644069095848567170, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} + propertyPath: m_AnchoredPosition.y + value: -140 + objectReference: {fileID: 0} - target: {fileID: 3686608511678769648, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} propertyPath: m_AnchorMax.y value: 1 @@ -6086,6 +8472,30 @@ PrefabInstance: propertyPath: m_AnchoredPosition.y value: -40 objectReference: {fileID: 0} + - target: {fileID: 3853389125342454706, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} + propertyPath: m_AnchorMax.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 3853389125342454706, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} + propertyPath: m_AnchorMin.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 3853389125342454706, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} + propertyPath: m_SizeDelta.x + value: 80 + objectReference: {fileID: 0} + - target: {fileID: 3853389125342454706, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} + propertyPath: m_SizeDelta.y + value: 80 + objectReference: {fileID: 0} + - target: {fileID: 3853389125342454706, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} + propertyPath: m_AnchoredPosition.x + value: 510 + objectReference: {fileID: 0} + - target: {fileID: 3853389125342454706, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} + propertyPath: m_AnchoredPosition.y + value: -540 + objectReference: {fileID: 0} - target: {fileID: 3908676008187913307, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} propertyPath: m_AnchorMax.y value: 1 @@ -6110,6 +8520,30 @@ PrefabInstance: propertyPath: m_AnchoredPosition.y value: -346.5 objectReference: {fileID: 0} + - target: {fileID: 4085925473269463281, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} + propertyPath: m_AnchorMax.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 4085925473269463281, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} + propertyPath: m_AnchorMin.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 4085925473269463281, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} + propertyPath: m_SizeDelta.x + value: 80 + objectReference: {fileID: 0} + - target: {fileID: 4085925473269463281, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} + propertyPath: m_SizeDelta.y + value: 80 + objectReference: {fileID: 0} + - target: {fileID: 4085925473269463281, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} + propertyPath: m_AnchoredPosition.x + value: 134 + objectReference: {fileID: 0} + - target: {fileID: 4085925473269463281, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} + propertyPath: m_AnchoredPosition.y + value: -540 + objectReference: {fileID: 0} - target: {fileID: 4098393430079721404, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} propertyPath: m_AnchorMax.y value: 1 @@ -6154,6 +8588,30 @@ PrefabInstance: propertyPath: m_AnchoredPosition.y value: -528.31 objectReference: {fileID: 0} + - target: {fileID: 4163937078270970988, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} + propertyPath: m_AnchorMax.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 4163937078270970988, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} + propertyPath: m_AnchorMin.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 4163937078270970988, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} + propertyPath: m_SizeDelta.x + value: 80 + objectReference: {fileID: 0} + - target: {fileID: 4163937078270970988, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} + propertyPath: m_SizeDelta.y + value: 80 + objectReference: {fileID: 0} + - target: {fileID: 4163937078270970988, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} + propertyPath: m_AnchoredPosition.x + value: 416 + objectReference: {fileID: 0} + - target: {fileID: 4163937078270970988, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} + propertyPath: m_AnchoredPosition.y + value: -340 + objectReference: {fileID: 0} - target: {fileID: 4261240138442023299, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} propertyPath: m_AnchorMax.y value: 1 @@ -6178,6 +8636,30 @@ PrefabInstance: propertyPath: m_AnchoredPosition.y value: -40 objectReference: {fileID: 0} + - target: {fileID: 4295337006145564865, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} + propertyPath: m_AnchorMax.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 4295337006145564865, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} + propertyPath: m_AnchorMin.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 4295337006145564865, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} + propertyPath: m_SizeDelta.x + value: 80 + objectReference: {fileID: 0} + - target: {fileID: 4295337006145564865, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} + propertyPath: m_SizeDelta.y + value: 80 + objectReference: {fileID: 0} + - target: {fileID: 4295337006145564865, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} + propertyPath: m_AnchoredPosition.x + value: 322 + objectReference: {fileID: 0} + - target: {fileID: 4295337006145564865, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} + propertyPath: m_AnchoredPosition.y + value: -140 + objectReference: {fileID: 0} - target: {fileID: 4295620489572651067, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} propertyPath: m_AnchorMax.y value: 1 @@ -6398,6 +8880,30 @@ PrefabInstance: propertyPath: m_AnchoredPosition.y value: -59.5 objectReference: {fileID: 0} + - target: {fileID: 4717533464678218536, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} + propertyPath: m_AnchorMax.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 4717533464678218536, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} + propertyPath: m_AnchorMin.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 4717533464678218536, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} + propertyPath: m_SizeDelta.x + value: 80 + objectReference: {fileID: 0} + - target: {fileID: 4717533464678218536, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} + propertyPath: m_SizeDelta.y + value: 80 + objectReference: {fileID: 0} + - target: {fileID: 4717533464678218536, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} + propertyPath: m_AnchoredPosition.x + value: 134 + objectReference: {fileID: 0} + - target: {fileID: 4717533464678218536, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} + propertyPath: m_AnchoredPosition.y + value: -340 + objectReference: {fileID: 0} - target: {fileID: 4735639397971999304, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} propertyPath: m_AnchorMax.y value: 1 @@ -6446,6 +8952,54 @@ PrefabInstance: propertyPath: m_AnchoredPosition.y value: -540 objectReference: {fileID: 0} + - target: {fileID: 5059733703017325890, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} + propertyPath: m_AnchorMax.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 5059733703017325890, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} + propertyPath: m_AnchorMin.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 5059733703017325890, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} + propertyPath: m_SizeDelta.x + value: 80 + objectReference: {fileID: 0} + - target: {fileID: 5059733703017325890, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} + propertyPath: m_SizeDelta.y + value: 80 + objectReference: {fileID: 0} + - target: {fileID: 5059733703017325890, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} + propertyPath: m_AnchoredPosition.x + value: 416 + objectReference: {fileID: 0} + - target: {fileID: 5059733703017325890, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} + propertyPath: m_AnchoredPosition.y + value: -440 + objectReference: {fileID: 0} + - target: {fileID: 5111751739868510782, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} + propertyPath: m_AnchorMax.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 5111751739868510782, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} + propertyPath: m_AnchorMin.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 5111751739868510782, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} + propertyPath: m_SizeDelta.x + value: 80 + objectReference: {fileID: 0} + - target: {fileID: 5111751739868510782, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} + propertyPath: m_SizeDelta.y + value: 80 + objectReference: {fileID: 0} + - target: {fileID: 5111751739868510782, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} + propertyPath: m_AnchoredPosition.x + value: 134 + objectReference: {fileID: 0} + - target: {fileID: 5111751739868510782, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} + propertyPath: m_AnchoredPosition.y + value: -240 + objectReference: {fileID: 0} - target: {fileID: 5111952490331301885, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} propertyPath: m_AnchorMax.y value: 1 @@ -6470,6 +9024,30 @@ PrefabInstance: propertyPath: m_AnchoredPosition.y value: -59.5 objectReference: {fileID: 0} + - target: {fileID: 5203805015986892788, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} + propertyPath: m_AnchorMax.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 5203805015986892788, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} + propertyPath: m_AnchorMin.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 5203805015986892788, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} + propertyPath: m_SizeDelta.x + value: 80 + objectReference: {fileID: 0} + - target: {fileID: 5203805015986892788, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} + propertyPath: m_SizeDelta.y + value: 80 + objectReference: {fileID: 0} + - target: {fileID: 5203805015986892788, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} + propertyPath: m_AnchoredPosition.x + value: 228 + objectReference: {fileID: 0} + - target: {fileID: 5203805015986892788, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} + propertyPath: m_AnchoredPosition.y + value: -540 + objectReference: {fileID: 0} - target: {fileID: 5322092470266254149, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} propertyPath: m_AnchorMax.y value: 1 @@ -6554,6 +9132,30 @@ PrefabInstance: propertyPath: m_AnchoredPosition.y value: -206.73 objectReference: {fileID: 0} + - target: {fileID: 5474825732791683892, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} + propertyPath: m_AnchorMax.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 5474825732791683892, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} + propertyPath: m_AnchorMin.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 5474825732791683892, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} + propertyPath: m_SizeDelta.x + value: 80 + objectReference: {fileID: 0} + - target: {fileID: 5474825732791683892, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} + propertyPath: m_SizeDelta.y + value: 80 + objectReference: {fileID: 0} + - target: {fileID: 5474825732791683892, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} + propertyPath: m_AnchoredPosition.x + value: 510 + objectReference: {fileID: 0} + - target: {fileID: 5474825732791683892, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} + propertyPath: m_AnchoredPosition.y + value: -140 + objectReference: {fileID: 0} - target: {fileID: 5540249503231641292, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} propertyPath: m_AnchorMax.y value: 1 @@ -6602,6 +9204,30 @@ PrefabInstance: propertyPath: m_AnchoredPosition.y value: -346.5 objectReference: {fileID: 0} + - target: {fileID: 5672432610071155908, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} + propertyPath: m_AnchorMax.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 5672432610071155908, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} + propertyPath: m_AnchorMin.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 5672432610071155908, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} + propertyPath: m_SizeDelta.x + value: 80 + objectReference: {fileID: 0} + - target: {fileID: 5672432610071155908, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} + propertyPath: m_SizeDelta.y + value: 80 + objectReference: {fileID: 0} + - target: {fileID: 5672432610071155908, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} + propertyPath: m_AnchoredPosition.x + value: 510 + objectReference: {fileID: 0} + - target: {fileID: 5672432610071155908, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} + propertyPath: m_AnchoredPosition.y + value: -340 + objectReference: {fileID: 0} - target: {fileID: 5684109056429624943, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} propertyPath: m_AnchorMax.y value: 1 @@ -6778,6 +9404,30 @@ PrefabInstance: propertyPath: m_AnchoredPosition.y value: -443.5 objectReference: {fileID: 0} + - target: {fileID: 5943420594802073242, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} + propertyPath: m_AnchorMax.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 5943420594802073242, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} + propertyPath: m_AnchorMin.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 5943420594802073242, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} + propertyPath: m_SizeDelta.x + value: 80 + objectReference: {fileID: 0} + - target: {fileID: 5943420594802073242, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} + propertyPath: m_SizeDelta.y + value: 80 + objectReference: {fileID: 0} + - target: {fileID: 5943420594802073242, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} + propertyPath: m_AnchoredPosition.x + value: 322 + objectReference: {fileID: 0} + - target: {fileID: 5943420594802073242, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} + propertyPath: m_AnchoredPosition.y + value: -240 + objectReference: {fileID: 0} - target: {fileID: 5949415236282924112, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} propertyPath: m_AnchorMax.y value: 1 @@ -6802,6 +9452,30 @@ PrefabInstance: propertyPath: m_AnchoredPosition.y value: -540 objectReference: {fileID: 0} + - target: {fileID: 5987808725754049169, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} + propertyPath: m_AnchorMax.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 5987808725754049169, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} + propertyPath: m_AnchorMin.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 5987808725754049169, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} + propertyPath: m_SizeDelta.x + value: 80 + objectReference: {fileID: 0} + - target: {fileID: 5987808725754049169, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} + propertyPath: m_SizeDelta.y + value: 80 + objectReference: {fileID: 0} + - target: {fileID: 5987808725754049169, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} + propertyPath: m_AnchoredPosition.x + value: 228 + objectReference: {fileID: 0} + - target: {fileID: 5987808725754049169, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} + propertyPath: m_AnchoredPosition.y + value: -40 + objectReference: {fileID: 0} - target: {fileID: 6005473116331335246, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} propertyPath: m_AnchorMax.y value: 1 @@ -6874,6 +9548,30 @@ PrefabInstance: propertyPath: m_AnchoredPosition.y value: -249.5 objectReference: {fileID: 0} + - target: {fileID: 6126237740184472723, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} + propertyPath: m_AnchorMax.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 6126237740184472723, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} + propertyPath: m_AnchorMin.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 6126237740184472723, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} + propertyPath: m_SizeDelta.x + value: 80 + objectReference: {fileID: 0} + - target: {fileID: 6126237740184472723, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} + propertyPath: m_SizeDelta.y + value: 80 + objectReference: {fileID: 0} + - target: {fileID: 6126237740184472723, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} + propertyPath: m_AnchoredPosition.x + value: 40 + objectReference: {fileID: 0} + - target: {fileID: 6126237740184472723, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} + propertyPath: m_AnchoredPosition.y + value: -140 + objectReference: {fileID: 0} - target: {fileID: 6213768660152910206, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} propertyPath: m_AnchorMax.y value: 1 @@ -6894,6 +9592,30 @@ PrefabInstance: propertyPath: m_AnchoredPosition.y value: -252.67 objectReference: {fileID: 0} + - target: {fileID: 6352062974348763564, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} + propertyPath: m_AnchorMax.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 6352062974348763564, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} + propertyPath: m_AnchorMin.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 6352062974348763564, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} + propertyPath: m_SizeDelta.x + value: 80 + objectReference: {fileID: 0} + - target: {fileID: 6352062974348763564, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} + propertyPath: m_SizeDelta.y + value: 80 + objectReference: {fileID: 0} + - target: {fileID: 6352062974348763564, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} + propertyPath: m_AnchoredPosition.x + value: 510 + objectReference: {fileID: 0} + - target: {fileID: 6352062974348763564, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} + propertyPath: m_AnchoredPosition.y + value: -240 + objectReference: {fileID: 0} - target: {fileID: 6394577350856306769, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} propertyPath: m_AnchorMax.y value: 1 @@ -7078,6 +9800,30 @@ PrefabInstance: propertyPath: m_AnchoredPosition.y value: 11.314545 objectReference: {fileID: 0} + - target: {fileID: 6843979871749855353, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} + propertyPath: m_AnchorMax.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 6843979871749855353, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} + propertyPath: m_AnchorMin.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 6843979871749855353, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} + propertyPath: m_SizeDelta.x + value: 80 + objectReference: {fileID: 0} + - target: {fileID: 6843979871749855353, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} + propertyPath: m_SizeDelta.y + value: 80 + objectReference: {fileID: 0} + - target: {fileID: 6843979871749855353, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} + propertyPath: m_AnchoredPosition.x + value: 228 + objectReference: {fileID: 0} + - target: {fileID: 6843979871749855353, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} + propertyPath: m_AnchoredPosition.y + value: -340 + objectReference: {fileID: 0} - target: {fileID: 6872360865646447011, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} propertyPath: m_AnchorMax.y value: 1 @@ -7118,9 +9864,33 @@ PrefabInstance: propertyPath: m_AnchoredPosition.y value: -540 objectReference: {fileID: 0} + - target: {fileID: 7015285115994947425, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} + propertyPath: m_AnchorMax.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 7015285115994947425, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} + propertyPath: m_AnchorMin.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 7015285115994947425, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} + propertyPath: m_SizeDelta.x + value: 80 + objectReference: {fileID: 0} + - target: {fileID: 7015285115994947425, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} + propertyPath: m_SizeDelta.y + value: 80 + objectReference: {fileID: 0} + - target: {fileID: 7015285115994947425, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} + propertyPath: m_AnchoredPosition.x + value: 40 + objectReference: {fileID: 0} + - target: {fileID: 7015285115994947425, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} + propertyPath: m_AnchoredPosition.y + value: -440 + objectReference: {fileID: 0} - target: {fileID: 7205431771786927886, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} propertyPath: m_SizeDelta.y - value: -828.9714 + value: 825.53 objectReference: {fileID: 0} - target: {fileID: 7214549036987193986, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} propertyPath: m_AnchorMax.y @@ -7138,6 +9908,54 @@ PrefabInstance: propertyPath: m_AnchoredPosition.y value: -36.30285 objectReference: {fileID: 0} + - target: {fileID: 7256009024837324866, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} + propertyPath: m_AnchorMax.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 7256009024837324866, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} + propertyPath: m_AnchorMin.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 7256009024837324866, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} + propertyPath: m_SizeDelta.x + value: 80 + objectReference: {fileID: 0} + - target: {fileID: 7256009024837324866, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} + propertyPath: m_SizeDelta.y + value: 80 + objectReference: {fileID: 0} + - target: {fileID: 7256009024837324866, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} + propertyPath: m_AnchoredPosition.x + value: 134 + objectReference: {fileID: 0} + - target: {fileID: 7256009024837324866, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} + propertyPath: m_AnchoredPosition.y + value: -140 + objectReference: {fileID: 0} + - target: {fileID: 7277056474529794138, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} + propertyPath: m_AnchorMax.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 7277056474529794138, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} + propertyPath: m_AnchorMin.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 7277056474529794138, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} + propertyPath: m_SizeDelta.x + value: 80 + objectReference: {fileID: 0} + - target: {fileID: 7277056474529794138, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} + propertyPath: m_SizeDelta.y + value: 80 + objectReference: {fileID: 0} + - target: {fileID: 7277056474529794138, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} + propertyPath: m_AnchoredPosition.x + value: 134 + objectReference: {fileID: 0} + - target: {fileID: 7277056474529794138, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} + propertyPath: m_AnchoredPosition.y + value: -440 + objectReference: {fileID: 0} - target: {fileID: 7297984703088727829, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} propertyPath: m_AnchorMax.y value: 1 @@ -7386,6 +10204,30 @@ PrefabInstance: propertyPath: m_AnchoredPosition.y value: -540.5 objectReference: {fileID: 0} + - target: {fileID: 8695834461287735959, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} + propertyPath: m_AnchorMax.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 8695834461287735959, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} + propertyPath: m_AnchorMin.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 8695834461287735959, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} + propertyPath: m_SizeDelta.x + value: 80 + objectReference: {fileID: 0} + - target: {fileID: 8695834461287735959, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} + propertyPath: m_SizeDelta.y + value: 80 + objectReference: {fileID: 0} + - target: {fileID: 8695834461287735959, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} + propertyPath: m_AnchoredPosition.x + value: 228 + objectReference: {fileID: 0} + - target: {fileID: 8695834461287735959, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} + propertyPath: m_AnchoredPosition.y + value: -440 + objectReference: {fileID: 0} - target: {fileID: 8745528644688140194, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} propertyPath: m_AnchorMax.y value: 1 @@ -7446,6 +10288,54 @@ PrefabInstance: propertyPath: m_AnchoredPosition.y value: -249.5 objectReference: {fileID: 0} + - target: {fileID: 8876591482150920094, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} + propertyPath: m_AnchorMax.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 8876591482150920094, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} + propertyPath: m_AnchorMin.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 8876591482150920094, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} + propertyPath: m_SizeDelta.x + value: 80 + objectReference: {fileID: 0} + - target: {fileID: 8876591482150920094, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} + propertyPath: m_SizeDelta.y + value: 80 + objectReference: {fileID: 0} + - target: {fileID: 8876591482150920094, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} + propertyPath: m_AnchoredPosition.x + value: 40 + objectReference: {fileID: 0} + - target: {fileID: 8876591482150920094, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} + propertyPath: m_AnchoredPosition.y + value: -240 + objectReference: {fileID: 0} + - target: {fileID: 8882026242571572779, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} + propertyPath: m_AnchorMax.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 8882026242571572779, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} + propertyPath: m_AnchorMin.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 8882026242571572779, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} + propertyPath: m_SizeDelta.x + value: 80 + objectReference: {fileID: 0} + - target: {fileID: 8882026242571572779, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} + propertyPath: m_SizeDelta.y + value: 80 + objectReference: {fileID: 0} + - target: {fileID: 8882026242571572779, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} + propertyPath: m_AnchoredPosition.x + value: 322 + objectReference: {fileID: 0} + - target: {fileID: 8882026242571572779, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} + propertyPath: m_AnchoredPosition.y + value: -440 + objectReference: {fileID: 0} - target: {fileID: 8923148875893946826, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} propertyPath: m_AnchorMax.y value: 1 @@ -7462,6 +10352,30 @@ PrefabInstance: propertyPath: m_AnchoredPosition.y value: -8.3571 objectReference: {fileID: 0} + - target: {fileID: 9043633215699858317, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} + propertyPath: m_AnchorMax.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 9043633215699858317, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} + propertyPath: m_AnchorMin.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 9043633215699858317, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} + propertyPath: m_SizeDelta.x + value: 80 + objectReference: {fileID: 0} + - target: {fileID: 9043633215699858317, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} + propertyPath: m_SizeDelta.y + value: 80 + objectReference: {fileID: 0} + - target: {fileID: 9043633215699858317, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} + propertyPath: m_AnchoredPosition.x + value: 40 + objectReference: {fileID: 0} + - target: {fileID: 9043633215699858317, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} + propertyPath: m_AnchoredPosition.y + value: -340 + objectReference: {fileID: 0} - target: {fileID: 9059265843531044829, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} propertyPath: m_AnchorMax.y value: 1 @@ -7492,12 +10406,36 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 9106031791145292554, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} propertyPath: m_AnchoredPosition.x - value: 21 + value: 20 objectReference: {fileID: 0} - target: {fileID: 9106031791145292554, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} propertyPath: m_AnchoredPosition.y value: -0 objectReference: {fileID: 0} + - target: {fileID: 9121465159741787717, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} + propertyPath: m_AnchorMax.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 9121465159741787717, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} + propertyPath: m_AnchorMin.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 9121465159741787717, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} + propertyPath: m_SizeDelta.x + value: 80 + objectReference: {fileID: 0} + - target: {fileID: 9121465159741787717, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} + propertyPath: m_SizeDelta.y + value: 80 + objectReference: {fileID: 0} + - target: {fileID: 9121465159741787717, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} + propertyPath: m_AnchoredPosition.x + value: 416 + objectReference: {fileID: 0} + - target: {fileID: 9121465159741787717, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} + propertyPath: m_AnchoredPosition.y + value: -40 + objectReference: {fileID: 0} - target: {fileID: 9133291480834102339, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} propertyPath: m_AnchorMax.y value: 1 @@ -7907,11 +10845,11 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 3087880694095159523, guid: b5a4a3ed5bf0e5a49ba0f89d26e1f36e, type: 3} propertyPath: m_AnchoredPosition.x - value: 400 + value: 280 objectReference: {fileID: 0} - target: {fileID: 3087880694095159523, guid: b5a4a3ed5bf0e5a49ba0f89d26e1f36e, type: 3} propertyPath: m_AnchoredPosition.y - value: -372.8339 + value: -251.3339 objectReference: {fileID: 0} - target: {fileID: 4124051129465343341, guid: b5a4a3ed5bf0e5a49ba0f89d26e1f36e, type: 3} propertyPath: m_AnchorMax.y @@ -7923,11 +10861,11 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 4124051129465343341, guid: b5a4a3ed5bf0e5a49ba0f89d26e1f36e, type: 3} propertyPath: m_AnchoredPosition.x - value: 400 + value: 280 objectReference: {fileID: 0} - target: {fileID: 4124051129465343341, guid: b5a4a3ed5bf0e5a49ba0f89d26e1f36e, type: 3} propertyPath: m_AnchoredPosition.y - value: -119.83716 + value: -79.33716 objectReference: {fileID: 0} - target: {fileID: 4836740126390561220, guid: b5a4a3ed5bf0e5a49ba0f89d26e1f36e, type: 3} propertyPath: m_Pivot.x @@ -8019,11 +10957,11 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 6239851549020282790, guid: b5a4a3ed5bf0e5a49ba0f89d26e1f36e, type: 3} propertyPath: m_AnchoredPosition.x - value: 400 + value: 280 objectReference: {fileID: 0} - target: {fileID: 6239851549020282790, guid: b5a4a3ed5bf0e5a49ba0f89d26e1f36e, type: 3} propertyPath: m_AnchoredPosition.y - value: -288.50165 + value: -194.00165 objectReference: {fileID: 0} - target: {fileID: 7762025898444505478, guid: b5a4a3ed5bf0e5a49ba0f89d26e1f36e, type: 3} propertyPath: m_Name @@ -8043,11 +10981,11 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 8435310359341866937, guid: b5a4a3ed5bf0e5a49ba0f89d26e1f36e, type: 3} propertyPath: m_AnchoredPosition.x - value: 400 + value: 280 objectReference: {fileID: 0} - target: {fileID: 8435310359341866937, guid: b5a4a3ed5bf0e5a49ba0f89d26e1f36e, type: 3} propertyPath: m_AnchoredPosition.y - value: -38.83545 + value: -25.33552 objectReference: {fileID: 0} - target: {fileID: 8579427623307909814, guid: b5a4a3ed5bf0e5a49ba0f89d26e1f36e, type: 3} propertyPath: m_AnchorMax.y @@ -8059,11 +10997,11 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 8579427623307909814, guid: b5a4a3ed5bf0e5a49ba0f89d26e1f36e, type: 3} propertyPath: m_AnchoredPosition.x - value: 400 + value: 280 objectReference: {fileID: 0} - target: {fileID: 8579427623307909814, guid: b5a4a3ed5bf0e5a49ba0f89d26e1f36e, type: 3} propertyPath: m_AnchoredPosition.y - value: -204.1694 + value: -136.6694 objectReference: {fileID: 0} m_RemovedComponents: [] m_RemovedGameObjects: [] @@ -8704,6 +11642,22 @@ PrefabInstance: propertyPath: m_LocalEulerAnglesHint.z value: 0 objectReference: {fileID: 0} + - target: {fileID: 1617375721872166299, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} + propertyPath: m_AnchorMax.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1617375721872166299, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} + propertyPath: m_AnchorMin.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1617375721872166299, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} + propertyPath: m_AnchoredPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1617375721872166299, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} + propertyPath: m_AnchoredPosition.y + value: 0 + objectReference: {fileID: 0} - target: {fileID: 2825516843822704547, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_SizeDelta.y value: 0 @@ -8740,6 +11694,22 @@ PrefabInstance: propertyPath: m_AnchoredPosition.y value: 0 objectReference: {fileID: 0} + - target: {fileID: 5818092462432985527, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} + propertyPath: m_AnchorMax.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5818092462432985527, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} + propertyPath: m_AnchorMin.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5818092462432985527, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} + propertyPath: m_AnchoredPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5818092462432985527, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} + propertyPath: m_AnchoredPosition.y + value: 0 + objectReference: {fileID: 0} - target: {fileID: 6238266639003596740, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_Name value: SkillUI @@ -8750,55 +11720,71 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 6375080618180806221, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchorMax.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 6375080618180806221, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchorMin.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 6375080618180806221, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchoredPosition.x - value: 83.16 + value: 0 objectReference: {fileID: 0} - target: {fileID: 6375080618180806221, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchoredPosition.y - value: -162.18411 + value: 0 objectReference: {fileID: 0} - target: {fileID: 8029283128219612690, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchorMax.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 8029283128219612690, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchorMin.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 8029283128219612690, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchoredPosition.x - value: 83.16 + value: 0 objectReference: {fileID: 0} - target: {fileID: 8029283128219612690, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchoredPosition.y - value: -292.4765 + value: 0 objectReference: {fileID: 0} - target: {fileID: 8302858527499935758, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_SizeDelta.y - value: 28 + value: 0 objectReference: {fileID: 0} - target: {fileID: 9102658109286783788, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchorMax.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 9102658109286783788, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchorMin.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 9102658109286783788, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchoredPosition.x - value: 83.16 + value: 0 objectReference: {fileID: 0} - target: {fileID: 9102658109286783788, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchoredPosition.y - value: -48.51895 + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 9184880796936692226, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} + propertyPath: m_AnchorMax.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 9184880796936692226, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} + propertyPath: m_AnchorMin.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 9184880796936692226, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} + propertyPath: m_AnchoredPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 9184880796936692226, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} + propertyPath: m_AnchoredPosition.y + value: 0 objectReference: {fileID: 0} m_RemovedComponents: [] m_RemovedGameObjects: [] @@ -9162,9 +12148,13 @@ PrefabInstance: serializedVersion: 3 m_TransformParent: {fileID: 3483809415181351540} m_Modifications: + - target: {fileID: 281531643843465414, guid: f2e88ae97c9b2624dbbad1d5fc0c14b8, type: 3} + propertyPath: m_SizeDelta.y + value: 0 + objectReference: {fileID: 0} - target: {fileID: 720995613977598853, guid: f2e88ae97c9b2624dbbad1d5fc0c14b8, type: 3} propertyPath: m_SizeDelta.y - value: 4 + value: 0 objectReference: {fileID: 0} - target: {fileID: 1565091892493587231, guid: f2e88ae97c9b2624dbbad1d5fc0c14b8, type: 3} propertyPath: m_AnchorMax.y @@ -9176,15 +12166,15 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 1565091892493587231, guid: f2e88ae97c9b2624dbbad1d5fc0c14b8, type: 3} propertyPath: m_SizeDelta.x - value: 8.29 + value: 32.83 objectReference: {fileID: 0} - target: {fileID: 1565091892493587231, guid: f2e88ae97c9b2624dbbad1d5fc0c14b8, type: 3} propertyPath: m_AnchoredPosition.x - value: 176.675 + value: 253.58499 objectReference: {fileID: 0} - target: {fileID: 1565091892493587231, guid: f2e88ae97c9b2624dbbad1d5fc0c14b8, type: 3} propertyPath: m_AnchoredPosition.y - value: -17.547 + value: -17.5 objectReference: {fileID: 0} - target: {fileID: 1807009239444610075, guid: f2e88ae97c9b2624dbbad1d5fc0c14b8, type: 3} propertyPath: m_AnchorMax.y @@ -9430,6 +12420,10 @@ PrefabInstance: propertyPath: m_AnchorMax.y value: 0 objectReference: {fileID: 0} + - target: {fileID: 6921900574306804872, guid: f2e88ae97c9b2624dbbad1d5fc0c14b8, type: 3} + propertyPath: m_SizeDelta.x + value: 0 + objectReference: {fileID: 0} - target: {fileID: 7404691444252589623, guid: f2e88ae97c9b2624dbbad1d5fc0c14b8, type: 3} propertyPath: m_Name value: MallUI @@ -9454,6 +12448,10 @@ PrefabInstance: propertyPath: m_AnchoredPosition.y value: -34.225502 objectReference: {fileID: 0} + - target: {fileID: 8043788806156166990, guid: f2e88ae97c9b2624dbbad1d5fc0c14b8, type: 3} + propertyPath: m_SizeDelta.y + value: 0 + objectReference: {fileID: 0} - target: {fileID: 8844668668090027388, guid: f2e88ae97c9b2624dbbad1d5fc0c14b8, type: 3} propertyPath: m_AnchorMax.y value: 1 @@ -9615,3 +12613,381 @@ RectTransform: m_CorrespondingSourceObject: {fileID: 6806681442789174374, guid: 76408ccdbeb4c654291462fcff24a8c5, type: 3} m_PrefabInstance: {fileID: 8515915288329029910} m_PrefabAsset: {fileID: 0} +--- !u!1001 &8966214373927126746 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + serializedVersion: 3 + m_TransformParent: {fileID: 3483809415181351540} + m_Modifications: + - target: {fileID: 211456295085798898, guid: 647d1810bb3e6e34e98b52167adec474, type: 3} + propertyPath: m_AnchorMax.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 211456295085798898, guid: 647d1810bb3e6e34e98b52167adec474, type: 3} + propertyPath: m_AnchorMin.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 211456295085798898, guid: 647d1810bb3e6e34e98b52167adec474, type: 3} + propertyPath: m_SizeDelta.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 211456295085798898, guid: 647d1810bb3e6e34e98b52167adec474, type: 3} + propertyPath: m_SizeDelta.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 211456295085798898, guid: 647d1810bb3e6e34e98b52167adec474, type: 3} + propertyPath: m_AnchoredPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 211456295085798898, guid: 647d1810bb3e6e34e98b52167adec474, type: 3} + propertyPath: m_AnchoredPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2731955636734209920, guid: 647d1810bb3e6e34e98b52167adec474, type: 3} + propertyPath: m_Color.a + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2731955636734209920, guid: 647d1810bb3e6e34e98b52167adec474, type: 3} + propertyPath: m_RaycastTarget + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2996968374502470470, guid: 647d1810bb3e6e34e98b52167adec474, type: 3} + propertyPath: m_AnchoredPosition.x + value: 24.527344 + objectReference: {fileID: 0} + - target: {fileID: 3274956461252547225, guid: 647d1810bb3e6e34e98b52167adec474, type: 3} + propertyPath: m_AnchorMax.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3274956461252547225, guid: 647d1810bb3e6e34e98b52167adec474, type: 3} + propertyPath: m_AnchorMin.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3274956461252547225, guid: 647d1810bb3e6e34e98b52167adec474, type: 3} + propertyPath: m_SizeDelta.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3274956461252547225, guid: 647d1810bb3e6e34e98b52167adec474, type: 3} + propertyPath: m_SizeDelta.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3274956461252547225, guid: 647d1810bb3e6e34e98b52167adec474, type: 3} + propertyPath: m_AnchoredPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3274956461252547225, guid: 647d1810bb3e6e34e98b52167adec474, type: 3} + propertyPath: m_AnchoredPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3614609677134483648, guid: 647d1810bb3e6e34e98b52167adec474, type: 3} + propertyPath: m_AnchoredPosition.y + value: -31.886353 + objectReference: {fileID: 0} + - target: {fileID: 4055144938777527514, guid: 647d1810bb3e6e34e98b52167adec474, type: 3} + propertyPath: m_Name + value: DlgPetList + objectReference: {fileID: 0} + - target: {fileID: 4055144938777527514, guid: 647d1810bb3e6e34e98b52167adec474, type: 3} + propertyPath: m_IsActive + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 4205095055691551986, guid: 647d1810bb3e6e34e98b52167adec474, type: 3} + propertyPath: m_AnchorMax.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4205095055691551986, guid: 647d1810bb3e6e34e98b52167adec474, type: 3} + propertyPath: m_AnchorMin.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4205095055691551986, guid: 647d1810bb3e6e34e98b52167adec474, type: 3} + propertyPath: m_SizeDelta.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4205095055691551986, guid: 647d1810bb3e6e34e98b52167adec474, type: 3} + propertyPath: m_SizeDelta.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4205095055691551986, guid: 647d1810bb3e6e34e98b52167adec474, type: 3} + propertyPath: m_AnchoredPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4205095055691551986, guid: 647d1810bb3e6e34e98b52167adec474, type: 3} + propertyPath: m_AnchoredPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4384883841943295636, guid: 647d1810bb3e6e34e98b52167adec474, type: 3} + propertyPath: m_AnchorMax.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4384883841943295636, guid: 647d1810bb3e6e34e98b52167adec474, type: 3} + propertyPath: m_AnchorMin.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4384883841943295636, guid: 647d1810bb3e6e34e98b52167adec474, type: 3} + propertyPath: m_SizeDelta.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4384883841943295636, guid: 647d1810bb3e6e34e98b52167adec474, type: 3} + propertyPath: m_SizeDelta.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4384883841943295636, guid: 647d1810bb3e6e34e98b52167adec474, type: 3} + propertyPath: m_AnchoredPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4384883841943295636, guid: 647d1810bb3e6e34e98b52167adec474, type: 3} + propertyPath: m_AnchoredPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4899625702985700152, guid: 647d1810bb3e6e34e98b52167adec474, type: 3} + propertyPath: m_AnchorMax.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4899625702985700152, guid: 647d1810bb3e6e34e98b52167adec474, type: 3} + propertyPath: m_AnchorMin.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4899625702985700152, guid: 647d1810bb3e6e34e98b52167adec474, type: 3} + propertyPath: m_SizeDelta.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4899625702985700152, guid: 647d1810bb3e6e34e98b52167adec474, type: 3} + propertyPath: m_SizeDelta.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4899625702985700152, guid: 647d1810bb3e6e34e98b52167adec474, type: 3} + propertyPath: m_AnchoredPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4899625702985700152, guid: 647d1810bb3e6e34e98b52167adec474, type: 3} + propertyPath: m_AnchoredPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5281447612524862329, guid: 647d1810bb3e6e34e98b52167adec474, type: 3} + propertyPath: m_AnchorMax.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5281447612524862329, guid: 647d1810bb3e6e34e98b52167adec474, type: 3} + propertyPath: m_AnchorMin.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5281447612524862329, guid: 647d1810bb3e6e34e98b52167adec474, type: 3} + propertyPath: m_SizeDelta.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5281447612524862329, guid: 647d1810bb3e6e34e98b52167adec474, type: 3} + propertyPath: m_SizeDelta.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5281447612524862329, guid: 647d1810bb3e6e34e98b52167adec474, type: 3} + propertyPath: m_AnchoredPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5281447612524862329, guid: 647d1810bb3e6e34e98b52167adec474, type: 3} + propertyPath: m_AnchoredPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5736849753780742568, guid: 647d1810bb3e6e34e98b52167adec474, type: 3} + propertyPath: m_AnchorMax.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5736849753780742568, guid: 647d1810bb3e6e34e98b52167adec474, type: 3} + propertyPath: m_AnchorMin.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5736849753780742568, guid: 647d1810bb3e6e34e98b52167adec474, type: 3} + propertyPath: m_SizeDelta.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5736849753780742568, guid: 647d1810bb3e6e34e98b52167adec474, type: 3} + propertyPath: m_SizeDelta.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5736849753780742568, guid: 647d1810bb3e6e34e98b52167adec474, type: 3} + propertyPath: m_AnchoredPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5736849753780742568, guid: 647d1810bb3e6e34e98b52167adec474, type: 3} + propertyPath: m_AnchoredPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5951834544630940226, guid: 647d1810bb3e6e34e98b52167adec474, type: 3} + propertyPath: m_Pivot.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 5951834544630940226, guid: 647d1810bb3e6e34e98b52167adec474, type: 3} + propertyPath: m_Pivot.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 5951834544630940226, guid: 647d1810bb3e6e34e98b52167adec474, type: 3} + propertyPath: m_AnchorMax.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 5951834544630940226, guid: 647d1810bb3e6e34e98b52167adec474, type: 3} + propertyPath: m_AnchorMax.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 5951834544630940226, guid: 647d1810bb3e6e34e98b52167adec474, type: 3} + propertyPath: m_AnchorMin.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5951834544630940226, guid: 647d1810bb3e6e34e98b52167adec474, type: 3} + propertyPath: m_AnchorMin.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5951834544630940226, guid: 647d1810bb3e6e34e98b52167adec474, type: 3} + propertyPath: m_SizeDelta.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5951834544630940226, guid: 647d1810bb3e6e34e98b52167adec474, type: 3} + propertyPath: m_SizeDelta.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5951834544630940226, guid: 647d1810bb3e6e34e98b52167adec474, type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5951834544630940226, guid: 647d1810bb3e6e34e98b52167adec474, type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5951834544630940226, guid: 647d1810bb3e6e34e98b52167adec474, type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5951834544630940226, guid: 647d1810bb3e6e34e98b52167adec474, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 5951834544630940226, guid: 647d1810bb3e6e34e98b52167adec474, type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5951834544630940226, guid: 647d1810bb3e6e34e98b52167adec474, type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5951834544630940226, guid: 647d1810bb3e6e34e98b52167adec474, type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5951834544630940226, guid: 647d1810bb3e6e34e98b52167adec474, type: 3} + propertyPath: m_AnchoredPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5951834544630940226, guid: 647d1810bb3e6e34e98b52167adec474, type: 3} + propertyPath: m_AnchoredPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5951834544630940226, guid: 647d1810bb3e6e34e98b52167adec474, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5951834544630940226, guid: 647d1810bb3e6e34e98b52167adec474, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5951834544630940226, guid: 647d1810bb3e6e34e98b52167adec474, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7102619655948086281, guid: 647d1810bb3e6e34e98b52167adec474, type: 3} + propertyPath: m_AnchorMax.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7102619655948086281, guid: 647d1810bb3e6e34e98b52167adec474, type: 3} + propertyPath: m_AnchorMin.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7102619655948086281, guid: 647d1810bb3e6e34e98b52167adec474, type: 3} + propertyPath: m_SizeDelta.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7102619655948086281, guid: 647d1810bb3e6e34e98b52167adec474, type: 3} + propertyPath: m_SizeDelta.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7102619655948086281, guid: 647d1810bb3e6e34e98b52167adec474, type: 3} + propertyPath: m_AnchoredPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7102619655948086281, guid: 647d1810bb3e6e34e98b52167adec474, type: 3} + propertyPath: m_AnchoredPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7750330693708386298, guid: 647d1810bb3e6e34e98b52167adec474, type: 3} + propertyPath: m_AnchorMax.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7750330693708386298, guid: 647d1810bb3e6e34e98b52167adec474, type: 3} + propertyPath: m_AnchorMin.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7750330693708386298, guid: 647d1810bb3e6e34e98b52167adec474, type: 3} + propertyPath: m_SizeDelta.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7750330693708386298, guid: 647d1810bb3e6e34e98b52167adec474, type: 3} + propertyPath: m_SizeDelta.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7750330693708386298, guid: 647d1810bb3e6e34e98b52167adec474, type: 3} + propertyPath: m_AnchoredPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7750330693708386298, guid: 647d1810bb3e6e34e98b52167adec474, type: 3} + propertyPath: m_AnchoredPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8260572354647293687, guid: 647d1810bb3e6e34e98b52167adec474, type: 3} + propertyPath: m_AnchorMax.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8260572354647293687, guid: 647d1810bb3e6e34e98b52167adec474, type: 3} + propertyPath: m_AnchorMin.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8260572354647293687, guid: 647d1810bb3e6e34e98b52167adec474, type: 3} + propertyPath: m_SizeDelta.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8260572354647293687, guid: 647d1810bb3e6e34e98b52167adec474, type: 3} + propertyPath: m_SizeDelta.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8260572354647293687, guid: 647d1810bb3e6e34e98b52167adec474, type: 3} + propertyPath: m_AnchoredPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8260572354647293687, guid: 647d1810bb3e6e34e98b52167adec474, type: 3} + propertyPath: m_AnchoredPosition.y + value: 0 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: + - targetCorrespondingSourceObject: {fileID: 2996968374502470470, guid: 647d1810bb3e6e34e98b52167adec474, type: 3} + insertIndex: 1 + addedObject: {fileID: 1989191901671888093} + - targetCorrespondingSourceObject: {fileID: 2996968374502470470, guid: 647d1810bb3e6e34e98b52167adec474, type: 3} + insertIndex: -1 + addedObject: {fileID: 3014833044643225228} + m_AddedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 647d1810bb3e6e34e98b52167adec474, type: 3} +--- !u!224 &3384258909275276440 stripped +RectTransform: + m_CorrespondingSourceObject: {fileID: 5951834544630940226, guid: 647d1810bb3e6e34e98b52167adec474, type: 3} + m_PrefabInstance: {fileID: 8966214373927126746} + m_PrefabAsset: {fileID: 0} +--- !u!1 &4911352010846192128 stripped +GameObject: + m_CorrespondingSourceObject: {fileID: 4055144938777527514, guid: 647d1810bb3e6e34e98b52167adec474, type: 3} + m_PrefabInstance: {fileID: 8966214373927126746} + m_PrefabAsset: {fileID: 0} +--- !u!224 &6195047274790335900 stripped +RectTransform: + m_CorrespondingSourceObject: {fileID: 2996968374502470470, guid: 647d1810bb3e6e34e98b52167adec474, type: 3} + m_PrefabInstance: {fileID: 8966214373927126746} + m_PrefabAsset: {fileID: 0} diff --git a/Assets/PerfectWorld/Resources/UI/DialogScriptTableObject.asset b/Assets/PerfectWorld/Resources/UI/DialogScriptTableObject.asset index da8659dae9..12feb845bb 100644 --- a/Assets/PerfectWorld/Resources/UI/DialogScriptTableObject.asset +++ b/Assets/PerfectWorld/Resources/UI/DialogScriptTableObject.asset @@ -33,6 +33,8 @@ MonoBehaviour: prefab: {fileID: 5910006447059157136, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} - id: Win_Enchase prefab: {fileID: 5636724581774400035, guid: de6ac6f2630425044a55299c703670f1, type: 3} + - id: Win_Disenchase + prefab: {fileID: 8616615506244952208, guid: 0a7317ed1e4ea3c478057319c0b8fee2, type: 3} - id: Win_QuestMinion prefab: {fileID: 2135374639804663431, guid: 474bf9c22c7c445aeb9bfb8b1b77ab55, type: 3} - id: Win_Character @@ -43,5 +45,5 @@ MonoBehaviour: prefab: {fileID: 5492547392745930423, guid: 54cccb2c6a758a24183474cd385ccb2c, type: 3} - id: CDlgInfoTooltip prefab: {fileID: 6830833846243993097, guid: 97dd1de3aba08a04980849e40d5c1ea4, type: 3} - - id: Win_Message2 - prefab: {fileID: 1590197940424963217, guid: 0c248d0510a114829b58d62d2ecc3b5e, type: 3} + - id: MagicProgress1 + prefab: {fileID: 1126053271199039253, guid: 526d462bd8c87b74c9e461e80d028cb2, type: 3} diff --git a/Assets/PerfectWorld/Scripts/Common/EC_C2SCmdCache.cs b/Assets/PerfectWorld/Scripts/Common/EC_C2SCmdCache.cs index d7680c8f94..dc659560ff 100644 --- a/Assets/PerfectWorld/Scripts/Common/EC_C2SCmdCache.cs +++ b/Assets/PerfectWorld/Scripts/Common/EC_C2SCmdCache.cs @@ -639,7 +639,7 @@ namespace BrewMonster.Common UnityGameSession.Instance.GameSession.c2s_SendCmdCancelAction(); } } - void SendCmdPetCtrl(int idTarget, int cmd, byte[] pParamBuf, int iParamLen) + public void SendCmdPetCtrl(int idTarget, int cmd, byte[] pParamBuf, int iParamLen) { CECCounter pCnt = m_CounterMap[(int)CommandID.PET_CTRL]; if (pCnt.IsFull()) diff --git a/Assets/PerfectWorld/Scripts/Common/EC_Configs.cs b/Assets/PerfectWorld/Scripts/Common/EC_Configs.cs index 033451d1fd..914250d554 100644 --- a/Assets/PerfectWorld/Scripts/Common/EC_Configs.cs +++ b/Assets/PerfectWorld/Scripts/Common/EC_Configs.cs @@ -317,7 +317,7 @@ namespace BrewMonster bAtk_NoForce = false; bBls_NoForce = false; bLockQuickBar = false; - bPetAutoSkill = false; + bPetAutoSkill = true; bAutoTeamForTask = true; bDisableAutoWikiHelp = false; bExclusiveAwardMode = true; diff --git a/Assets/PerfectWorld/Scripts/GameData/ExpTypes.cs b/Assets/PerfectWorld/Scripts/GameData/ExpTypes.cs index 22f4aefba7..af53b17f9b 100644 --- a/Assets/PerfectWorld/Scripts/GameData/ExpTypes.cs +++ b/Assets/PerfectWorld/Scripts/GameData/ExpTypes.cs @@ -2899,12 +2899,15 @@ namespace BrewMonster [MarshalAs(UnmanagedType.ByValArray, SizeConst = 32)] public ushort[] name; // name, max 15 characters + public string Name => ByteToStringUtils.UshortArrayToCP936String(name); [MarshalAs(UnmanagedType.ByValArray, SizeConst = 128)] public byte[] file_model; // model path + public string FileModel => ByteToStringUtils.ByteArrayToUnicodeString(file_model); [MarshalAs(UnmanagedType.ByValArray, SizeConst = 128)] public byte[] file_icon; // icon file + public string FileIcon => ByteToStringUtils.ByteArrayToUnicodeString(file_icon ); public uint character_combo_id; // character combo id @@ -5029,7 +5032,7 @@ namespace BrewMonster public int[] num_evolve; // evolution items [MarshalAs(UnmanagedType.ByValArray, SizeConst = 6)] - public int[,] num_inherit; // inheritance parameters + public int[] num_inherit; // inheritance parameters [MarshalAs(UnmanagedType.ByValArray, SizeConst = 6)] public int[] num_rand_skill; // random skill parameters diff --git a/Assets/PerfectWorld/Scripts/MainFiles/EC_Game.cs b/Assets/PerfectWorld/Scripts/MainFiles/EC_Game.cs index d07cdeb6ae..d4477815d1 100644 --- a/Assets/PerfectWorld/Scripts/MainFiles/EC_Game.cs +++ b/Assets/PerfectWorld/Scripts/MainFiles/EC_Game.cs @@ -1,14 +1,18 @@ using BrewMonster; using BrewMonster.Scripts.Task; using CSNetwork; +using Cysharp.Threading.Tasks; using ModelRenderer.Scripts.GameData; using System; using System.Collections.Generic; using System.Globalization; using System.IO; +using System.Threading.Tasks; using UnityEngine; using UnityEngine.AddressableAssets; +using UnityEngine.ResourceManagement.AsyncOperations; using CSNetwork.GPDataType; + namespace BrewMonster.Network { public partial class EC_Game @@ -34,6 +38,7 @@ namespace BrewMonster.Network private static Dictionary m_ItemMsgMap; // TemplateId -> (MessageId, DisplayMode) private static CECConfigs m_pConfigs; private static int m_iCurCursor; // Current cursor + private static List m_PetAutoSkills = new List(); #endregion @@ -132,7 +137,7 @@ namespace BrewMonster.Network // Load coord_data.txt (C++: Configs/Coord_data.txt) for clickable task links auto-move. // 鍔犺浇 coord_data.txt锛圕++锛欳onfigs/Coord_data.txt锛夌敤浜庝换鍔″彲鐐瑰嚮閾炬帴鐨勮嚜鍔ㄧЩ鍔ㄣ LoadObjectCoord(); - + LoadPetAutoSkill(); return true; } public static CECConfigs GetConfigs() { return m_pConfigs; } @@ -527,7 +532,6 @@ namespace BrewMonster.Network public static int GetObjectCoord(string strTargetID, ref List TargetCoord) { - int count = 0; foreach(var coord in TargetCoord) { @@ -541,6 +545,73 @@ namespace BrewMonster.Network return count; } + public static bool IsPetAutoSkill(int skill_id) + { + return m_PetAutoSkills.Contains(skill_id); + } + + // Load the pet auto skill table + public static async UniTask LoadPetAutoSkill() + { + string pszFilename = "Assets/Addressable/petautoskill.txt"; + var ta = await LoadStringTableTextAssetByAddressables(pszFilename); + if (ta == null || string.IsNullOrEmpty(ta.text)) + { + BMLogger.LogError($"[AUIManager] ImportStringTable failed: cannot load Addressables TextAsset for key='{pszFilename}'"); + return false; + } + + using (var sr = new StringReader(ta.text)) + { + string line; + while ((line = sr.ReadLine()) != null) + { + if (string.IsNullOrWhiteSpace(line)) + continue; + + if (int.TryParse(line, out int key)) + { + m_PetAutoSkills.Add(key); + } + } + } + + return true; + } + + private static async UniTask LoadStringTableTextAssetByAddressables(string key) + { + try + { + // Initialize Addressables if not already initialized (Unity-safe) + await Addressables.InitializeAsync().ToUniTask(); + + // Load using Addressables directly with WaitForCompletion (Unity-safe, won't deadlock) + // This matches the pattern used in EC_Game.cs + var handle = Addressables.LoadAssetAsync(key); + var textAsset = await handle.ToUniTask(); + + if (handle.Status == AsyncOperationStatus.Succeeded && textAsset != null) + { + // Keep the handle valid; string tables are used for the whole session + // Note: We don't release the handle here to keep the asset loaded + return textAsset; + } + + if (handle.IsValid()) + { + Addressables.Release(handle); + } + + BMLogger.LogError($"[AUIManager] Failed to load TextAsset for key='{key}'"); + return null; + } + catch (Exception e) + { + BMLogger.LogError($"[AUIManager] LoadStringTableTextAssetByAddressables exception for key='{key}': {e}"); + return null; + } + } #endregion } } \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Managers/CECNPCMan.cs b/Assets/PerfectWorld/Scripts/Managers/CECNPCMan.cs index 4539c8ad88..e8f47fdbba 100644 --- a/Assets/PerfectWorld/Scripts/Managers/CECNPCMan.cs +++ b/Assets/PerfectWorld/Scripts/Managers/CECNPCMan.cs @@ -470,6 +470,7 @@ public class CECNPCMan : IMsgHandler if (npc != null) { m_NPCTab.Remove(Info.nid); + GameObject.Destroy(npc.gameObject); } // N岷縰 id n脿y c贸 trong b岷g unknown th矛 x贸a n贸 @@ -558,7 +559,7 @@ public class CECNPCMan : IMsgHandler } if (bPet) { - //pNPC = new CECPet(this); + pNPC = CECGameRun.Instance.GetPet(); } else { @@ -570,7 +571,9 @@ public class CECNPCMan : IMsgHandler case DATA_TYPE.DT_MONSTER_ESSENCE: pNPC = CECGameRun.Instance.GetMonster(); break; - case DATA_TYPE.DT_PET_ESSENCE:/* pNPC = new CECPet(this);*/ break; + case DATA_TYPE.DT_PET_ESSENCE: + pNPC = CECGameRun.Instance.GetPet(); + break; default: UnityEngine.Debug.Assert(false, "Invalid DATA_TYPE in CreateNPC"); return null; diff --git a/Assets/PerfectWorld/Scripts/Managers/EC_HPWork.cs b/Assets/PerfectWorld/Scripts/Managers/EC_HPWork.cs index b98021b878..4d26d2289e 100644 --- a/Assets/PerfectWorld/Scripts/Managers/EC_HPWork.cs +++ b/Assets/PerfectWorld/Scripts/Managers/EC_HPWork.cs @@ -67,7 +67,20 @@ namespace BrewMonster.Scripts m_pWorkMan = pWorkMan; m_pHost = pWorkMan.GetHostPlayer(); } + public virtual bool Tick(float dwDeltaTime) + { + if (m_bFirstTick) + { + m_bFirstTick = false; + OnFirstTick(); + } + return true; + } + protected virtual void OnFirstTick() + { + base.OnFirstTick(); + } // Operations // Override from CECObjectWork public override void Cancel() @@ -284,6 +297,7 @@ namespace BrewMonster.Scripts FinishWorkAtPriority(iPriority); WorkList workList = m_WorkStack[iPriority]; workList.Add(pWork); + BMLogger.LogError("m_WorkStack " + pWork.GetWorkID()); if (shouldStart) { if (iPriority > m_iCurPriority) @@ -497,7 +511,8 @@ namespace BrewMonster.Scripts } public void StartDelayedWork() { - if (!HasDelayedWork()){ + if (!HasDelayedWork()) + { return; } CECHPWork pWork = m_Delayed.pWork; @@ -511,7 +526,8 @@ namespace BrewMonster.Scripts } public void ClearDelayedWork() { - if (!HasDelayedWork()){ + if (!HasDelayedWork()) + { return; } // LOG_DEBUG_INFO(AString().Format("delayed CECHPWork::%s priority=%d cleared", m_Delayed.pWork->GetWorkName(), m_Delayed.iPriority)); @@ -608,7 +624,7 @@ namespace BrewMonster.Scripts case CECHPWork.Host_work_ID.WORK_FREEFALL: pWork = new CECHPWorkFall(this); break; //case CECHPWork.Host_work_ID.WORK_SIT: pWork = new CECHPWorkSit(this); break; case CECHPWork.Host_work_ID.WORK_PICKUP: pWork = new EC_HPWorkPick(this); break; - //case CECHPWork.Host_work_ID.WORK_CONCENTRATE: pWork = new CECHPWorkConcentrate(this); break; + case CECHPWork.Host_work_ID.WORK_CONCENTRATE: pWork = new CECHPWorkConcentrate(this); break; //case CECHPWork.Host_work_ID.WORK_REVIVE: pWork = new CECHPWorkRevive(this); break; case CECHPWork.Host_work_ID.WORK_FLASHMOVE: pWork = new CECHPWorkFMove(this); break; //case CECHPWork.Host_work_ID.WORK_BEBOUND: pWork = new CECHPWorkBeBound(this); break; @@ -622,7 +638,6 @@ namespace BrewMonster.Scripts return pWork; } - public bool CanStartWork(int iWorkID, int iPriority = CECHPWorkMan.Work_priority.PRIORITY_1) { if (!ValidatePriority(iPriority)) @@ -847,29 +862,34 @@ namespace BrewMonster.Scripts } public bool IsMoving() - { + { bool result = false; - if (ValidatePriority(m_iCurPriority)) + if (ValidatePriority(m_iCurPriority)) { - WorkList workList = m_WorkStack[m_iCurPriority]; - if(workList != null) + WorkList workList = m_WorkStack[m_iCurPriority]; + if (workList != null) { - for (int i = 0; i < workList.Count; ++ i) + for (int i = 0; i < workList.Count; ++i) { - if (workList[i].IsMoving()) + if (workList[i].IsMoving()) { - result = true; - break; - } + result = true; + break; + } } } - } - return result; + } + return result; } public bool IsFreeFalling() { - return IsWorkRunning(Host_work_ID.WORK_FREEFALL); + return IsWorkRunning(Host_work_ID.WORK_FREEFALL); + } + + public bool IsOperatingPet() + { + return IsWorkRunning(Host_work_ID.WORK_CONCENTRATE); } } public abstract class CECHPWorkPostTickCommand diff --git a/Assets/PerfectWorld/Scripts/Managers/EC_HPWorkConcentrate.cs b/Assets/PerfectWorld/Scripts/Managers/EC_HPWorkConcentrate.cs new file mode 100644 index 0000000000..53095cae26 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Managers/EC_HPWorkConcentrate.cs @@ -0,0 +1,60 @@ +using BrewMonster.Scripts; +using UnityEngine; + +namespace BrewMonster.Scripts +{ + public class CECHPWorkConcentrate : CECHPWork + { + int m_iDoWhat; + + public CECHPWorkConcentrate(CECHPWorkMan pWorkMan) : base(Host_work_ID.WORK_CONCENTRATE, pWorkMan) + { + m_dwMask = Work_mask.MASK_CONCENTRATE; + m_dwTransMask = Work_mask.MASK_STAND; + m_iDoWhat = (int)eDO_PET.DO_SUMMONPET; + + Reset(); + } + + public override bool CopyData(CECHPWork pWork) + { + if (base.CopyData(pWork)) + { + return false; + } + CECHPWorkConcentrate pSrc = (CECHPWorkConcentrate)pWork; + m_iDoWhat = pSrc.m_iDoWhat; + + return true; + } + + public override void Reset() + { + base.Reset(); + } + + public override bool Tick(float dwDeltaTime) + { + base.Tick(Time.fixedUnscaledTime); + return true; + } + + protected override void OnFirstTick() + { + + } + + public enum eDO_PET + { + DO_SUMMONPET = 0, // Summon pet + DO_RECALLPET, + DO_BANISHPET, + DO_RESTOREPET, + DO_UNKNOWN, + }; + + // Set / Get do what flag + public void SetDoWhat(int iDoWhat) { m_iDoWhat = iDoWhat; } + public int GetDoWhat() { return m_iDoWhat; } + } +} diff --git a/Assets/PerfectWorld/Scripts/Managers/EC_HPWorkConcentrate.cs.meta b/Assets/PerfectWorld/Scripts/Managers/EC_HPWorkConcentrate.cs.meta new file mode 100644 index 0000000000..6d4e7c1a5d --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Managers/EC_HPWorkConcentrate.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 126c0de4ea802b14fa540a689899e007 \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Managers/EC_HPWorkSpell.cs b/Assets/PerfectWorld/Scripts/Managers/EC_HPWorkSpell.cs index 5db260c480..26b153b95d 100644 --- a/Assets/PerfectWorld/Scripts/Managers/EC_HPWorkSpell.cs +++ b/Assets/PerfectWorld/Scripts/Managers/EC_HPWorkSpell.cs @@ -1,4 +1,7 @@ +using CSNetwork.GPDataType; +using Unity.VisualScripting; using UnityEngine; +using static BrewMonster.Scripts.CECHPWorkSpell.Spell_magic_state; namespace BrewMonster.Scripts { /////////////////////////////////////////////////////////////////////////// @@ -16,6 +19,7 @@ namespace BrewMonster.Scripts public CECHPWorkSpell(CECHPWorkMan pWorkMan) : base(Host_work_ID.WORK_SPELLOBJECT, pWorkMan) { + m_OverTimeCnt = new CECCounter(); m_dwMask = Work_mask.MASK_SPELLOBJECT; m_dwTransMask = Work_mask.MASK_STAND | Work_mask.MASK_MOVETOPOS | Work_mask.MASK_TRACEOBJECT; Reset(); @@ -30,20 +34,25 @@ namespace BrewMonster.Scripts protected int m_iState; protected int m_idTarget; // Target id - // On first tick - protected virtual void OnFirstTick() - { - //m_pHost.m_iMoveMode = CECHostPlayer::MOVE_STAND; - } // Prepare cast public void PrepareCast(int idTarget, CECSkill pSkill, int iIncantTime) { + m_pSkill = pSkill; + m_iState = ST_INCANT; + m_idTarget = idTarget; + if (iIncantTime < 0) + iIncantTime = 0x7fffffff; + else + iIncantTime *= 2; + + m_OverTimeCnt.SetPeriod(iIncantTime); + m_OverTimeCnt.Reset(); } // Change state public void ChangeState(int iState) { - + m_iState = iState; } // Get state public int GetState() @@ -56,14 +65,37 @@ namespace BrewMonster.Scripts } // Tick routine - public virtual bool Tick(uint dwDeltaTime) - { - return false; - } - // Reset work - public virtual void Reset() + public override bool Tick(float dwDeltaTime) { + base.Tick(dwDeltaTime * 1000); + if (m_OverTimeCnt.IncCounter(dwDeltaTime * 1000)) + m_bFinished = true; + + if (m_idTarget != 0) + { + m_pHost.TurnFaceTo(m_idTarget); + } + if (!m_pHost.IsPlayingAction()) + { + m_pHost.PlayAction((int)PLAYER_ACTION_TYPE.ACT_FIGHTSTAND); + } + + return true; + } + protected override void OnFirstTick() + { + m_pHost.m_iMoveMode = (int)MoveMode.MOVE_STAND; + } + public override void Reset() + { + base.Reset(); + + m_OverTimeCnt.Reset(); + + m_pSkill = null; + m_iState = ST_INCANT; + m_idTarget = 0; } // Copy work data public virtual bool CopyData(CECHPWork pWork) @@ -73,6 +105,8 @@ namespace BrewMonster.Scripts // Cancel work public virtual void Cancel() { + m_pHost.TurnFaceTo(0); + base.Cancel(); } } diff --git a/Assets/PerfectWorld/Scripts/Managers/EC_HostInputFilter.cs b/Assets/PerfectWorld/Scripts/Managers/EC_HostInputFilter.cs index e67b805838..240a3ff6f6 100644 --- a/Assets/PerfectWorld/Scripts/Managers/EC_HostInputFilter.cs +++ b/Assets/PerfectWorld/Scripts/Managers/EC_HostInputFilter.cs @@ -6,6 +6,7 @@ using PerfectWorld.Scripts; using CSNetwork; using UnityEngine; using static BrewMonster.Scripts.CECHPWork; +using BrewMonster.Scripts.Pet; namespace BrewMonster { @@ -52,10 +53,27 @@ namespace BrewMonster { OnClickBtnEscape(); } + if (Input.GetKeyDown(KeyCode.P)) + { + OnCommandSummon(2); + } #endif } + public void OnCommandSummon(int slot) + { + CECPetCorral pPetCorral = GetPetCorral(); + int nSlot = slot - 1; + nSlot += 0 * 10; + + // 路脡脨脨-隆路脝茂鲁脣 + if (GetActionSwitcher() != null && GetActionSwitcher().OnFlyToRideAction(nSlot)) + return; + + SummonPet(nSlot); + } + /// /// Handle left button click / 澶勭悊宸﹂敭鐐瑰嚮 /// diff --git a/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrEquip.cs b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrEquip.cs index 007fcd0393..c90d41ef89 100644 --- a/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrEquip.cs +++ b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrEquip.cs @@ -2185,6 +2185,18 @@ namespace PerfectWorld.Scripts.Managers // This would normally query the equipment addon data return false; } + + public int GetHoleNum() + { + return Holes != null ? Holes.Count : 0; + } + + public int GetHoleItem(int index) + { + if(Holes == null || index < 0 || index >= Holes.Count) + return 0; + return Holes[index]; + } #endregion diff --git a/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrItem.cs b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrItem.cs index 28b72f2aa0..212988c424 100644 --- a/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrItem.cs +++ b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrItem.cs @@ -152,7 +152,7 @@ namespace BrewMonster.Scripts.Managers try { // Load the multi-sprite atlas from Resources - var atlasSprites = Resources.LoadAll("UI/IconSprites/iconlist_ivtrm_multisprite"); + var atlasSprites = EC_Game.GetGameRun().GetUIManager().IconlistIvtr; //Resources.LoadAll("UI/IconSprites/iconlist_ivtrm_multisprite"); if (atlasSprites != null && atlasSprites.Length > 0) { _multiSpriteAtlas = atlasSprites; diff --git a/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrPetEgg.cs b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrPetEgg.cs index 38dacf7996..2547d30eb4 100644 --- a/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrPetEgg.cs +++ b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrPetEgg.cs @@ -123,7 +123,7 @@ namespace PerfectWorld.Scripts.Managers if (m_Essence.name_len != 0) { m_strName = ByteToStringUtils.UshortArrayToUnicodeString(m_Essence.name); - EC_Game.GetGameRun().GetUIManager().FilterBadWords(m_strName); + EC_Game.GetGameRun().GetUIManager().FilterBadWords(ref m_strName); } m_aSkills = new List(m_Essence.skill_count); diff --git a/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrPetFood.cs b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrPetFood.cs index d9180f3f71..f2624bc637 100644 --- a/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrPetFood.cs +++ b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrItem/EC_IvtrPetFood.cs @@ -12,6 +12,7 @@ using BrewMonster.Scripts.Managers; using BrewMonster.Scripts; using CSNetwork.GPDataType; using System.Runtime.InteropServices; +using BrewMonster.Scripts.Pet; namespace PerfectWorld.Scripts.Managers { public class EC_IvtrPetFood : EC_IvtrItem diff --git a/Assets/PerfectWorld/Scripts/Managers/EC_ManPlayer.cs b/Assets/PerfectWorld/Scripts/Managers/EC_ManPlayer.cs index ef9bef9348..a4f2074c08 100644 --- a/Assets/PerfectWorld/Scripts/Managers/EC_ManPlayer.cs +++ b/Assets/PerfectWorld/Scripts/Managers/EC_ManPlayer.cs @@ -65,6 +65,7 @@ namespace PerfectWorld.Scripts.Managers case int value6 when value6 == EC_MsgDef.MSG_PM_PLAYERDOEMOTE: case int value7 when value7 == EC_MsgDef.MSG_PM_PLAYERGATHER: case int value8 when value8 == EC_MsgDef.MSG_PM_PLAYERFLY: + case int value9 when value9 == EC_MsgDef.MSG_PM_PLAYERMOUNT: TransmitMessage(Msg); break; case int value when value == EC_MsgDef.MSG_PM_PLAYERDIED: @@ -626,6 +627,9 @@ namespace PerfectWorld.Scripts.Managers cid = (GPDataTypeHelper.FromBytes((byte[])Msg.dwParam1)).object_id; break; + case long value when value == EC_MsgDef.MSG_PM_PLAYERMOUNT: + cid = (GPDataTypeHelper.FromBytes((byte[])Msg.dwParam1)).id; + break; // 鈿狅笍 C谩c case kh谩c c农ng t瓢啤ng t峄, ch峄 vi峄嘽 l岷 ra 膽煤ng tr瓢峄漬g id / caster / user ... // Do qu谩 d脿i n锚n b岷 c贸 th峄 copy d岷 t峄玭g case t峄 C++ sang. diff --git a/Assets/PerfectWorld/Scripts/Managers/EC_Object.cs b/Assets/PerfectWorld/Scripts/Managers/EC_Object.cs index 8a2daaf282..9250e96d62 100644 --- a/Assets/PerfectWorld/Scripts/Managers/EC_Object.cs +++ b/Assets/PerfectWorld/Scripts/Managers/EC_Object.cs @@ -139,7 +139,7 @@ public class CECObject : MonoBehaviour public A3DVECTOR3 GetPos() { - return new A3DVECTOR3(transform.position.x, transform.position.y, transform.position.z); + return EC_Utility.ToA3DVECTOR3(transform.position); } public Vector3 GetPosVector3() { diff --git a/Assets/PerfectWorld/Scripts/Managers/EC_ObjectWork.cs b/Assets/PerfectWorld/Scripts/Managers/EC_ObjectWork.cs index 0a899d2cf7..2c756d1835 100644 --- a/Assets/PerfectWorld/Scripts/Managers/EC_ObjectWork.cs +++ b/Assets/PerfectWorld/Scripts/Managers/EC_ObjectWork.cs @@ -62,6 +62,6 @@ namespace BrewMonster.Scripts public uint GetTransferMask() => m_dwTransMask; // On first tick - protected virtual void OnFirstTick() { } + public virtual void OnFirstTick() { } } } diff --git a/Assets/PerfectWorld/Scripts/Managers/EC_PetCorral.cs b/Assets/PerfectWorld/Scripts/Managers/EC_PetCorral.cs deleted file mode 100644 index f5ddbb260a..0000000000 --- a/Assets/PerfectWorld/Scripts/Managers/EC_PetCorral.cs +++ /dev/null @@ -1,121 +0,0 @@ -using CSNetwork.GPDataType; -using PerfectWorld.Scripts; -using BrewMonster; -using BrewMonster.Scripts; - -public struct PETSKILL -{ - public int idSkill; - public int iLevel; - public int iCoolCnt; - public int iCoolMax; -}; - -public enum SkillType -{ - EM_SKILL_DEFAULT = 0, // 锟斤拷锟斤拷锟斤拷锟皆革拷锟斤拷 - EM_SKILL_NORMAL, // 锟斤拷通锟斤拷锟斤拷 - EM_SKILL_NATURE, // 锟皆革拷锟斤拷 - EM_SKILL_SPECIAL, // 专锟斤拷锟斤拷锟斤拷 -} -public class EC_PetCorral -{ - public enum MaxSlotNum - { - MAX_SLOTNUM = 20, // 锟斤拷通锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷 - MAX_SLOTNUM2 = 21, // 锟斤拷锟叫筹拷锟斤拷锟斤拷锟斤拷锟斤拷 - }; - // Moving mode - public enum MoveMode - { - MOVE_FOLLOW = 0, - MOVE_STAND, - }; - - // Attacking mode - public enum AttackMode - { - ATK_DEFENSE = 0, - ATK_POSITIVE, - ATK_PASSIVE, - }; - protected int m_iIntimacy; // 锟矫感讹拷 - protected int m_iHunger; // 锟斤拷锟斤拷锟斤拷 - protected int m_tid; // 锟斤拷锟斤拷锟侥o拷锟絀D - protected int m_tidVis; // 锟斤拷锟斤拷锟斤拷锟斤拷锟侥o拷锟絀D锟斤拷锟斤拷锟轿0锟斤拷锟斤拷锟绞撅拷锟斤拷锟斤拷锟缴硷拷ID锟斤拷 - protected int m_idEgg; // 锟斤拷锟斤蛋锟斤拷ID - protected int m_iClass; // 锟斤拷锟斤拷锟斤拷锟斤拷 战锟借,锟斤拷瑁拷锟斤拷统锟 - protected float m_fHPFactor; // 血锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷栈锟绞笔癸拷茫锟 0锟斤拷为锟斤拷锟斤拷 - protected float m_fMPFactor; // MP锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷栈锟绞笔癸拷茫锟 0锟斤拷为锟斤拷锟斤拷 - protected int m_iLevel; // 锟斤拷锟斤级锟斤拷 - protected bool m_isBind; // 锟角凤拷锟斤拷锟剿猴拷一 - protected bool m_canWebTrade; // 锟角凤拷寻锟斤拷锟斤拷锟缴斤拷锟斤拷 - protected ushort m_color; // 锟斤拷锟饺旧拷锟缴拷锟斤拷锟轿晃1时锟斤拷效 - protected int m_iExp; // 锟斤拷锟斤当前锟斤拷锟斤拷 - protected int m_iSkillPt; // 剩锟洁技锟杰碉拷 - protected string m_strName; - - protected int m_iHP; // Only fight pets have this - protected int m_iMP; - protected PETSKILL[] m_aSkills = new PETSKILL[(int)GP_PET_SKILL_NUM.GP_PET_SKILL_NUM]; - - protected int[] m_vecNorSkillIndex; // 锟斤拷止锟皆革拷锟杰猴拷锟斤拷通锟斤拷锟斤拷顺锟斤拷锟斤拷业锟斤拷锟斤拷锟斤拷锟斤拷锟芥技锟斤拷锟斤拷 m_aSkills锟斤拷锟斤拷锟斤拷 - protected int[] m_vecDynSkillIndex; - protected int m_iSpecialSkillIndex; // 锟斤拷锟斤拷专锟斤拷锟斤拷锟斤拷锟斤拷m_aSkills锟斤拷锟斤拷锟脚o拷只锟叫斤拷锟斤拷锟斤拷锟斤拷一锟斤拷锟剿硷拷锟斤拷 - - protected CECCounter m_cntAutoSkill; - protected int[] m_aAutoSkills; - - protected ROLEEXTPROP m_ExtProps; - protected PET_ESSENCE m_pDBEssence = new PET_ESSENCE(); - - protected int m_iAtkRation; - protected int m_iDefRation; - protected int m_iHpRation; - protected int m_iAtkLvlRation; - protected int m_iDefLvlRation; - protected int m_iNature; - public CECPetData GetActivePet() - { - //Place holder for ivtrPetFood - return null; - } -} - -public class CECPetData -{ - #region enum - public enum HungerLevel - { - HUNGER_LEVEL_0, // 锟斤拷食 - HUNGER_LEVEL_1, // 锟斤拷锟斤拷 - HUNGER_LEVEL_2, // 锟斤拷锟教讹拷一锟斤拷 - HUNGER_LEVEL_3, - HUNGER_LEVEL_4, // 锟斤拷锟教度讹拷锟斤拷 - HUNGER_LEVEL_5, - HUNGER_LEVEL_6, - HUNGER_LEVEL_7, // 锟斤拷锟教讹拷锟斤拷锟斤拷 - HUNGER_LEVEL_8, - HUNGER_LEVEL_9, - HUNGER_LEVEL_10, - HUNGER_LEVEL_11, // 锟斤拷锟教讹拷锟侥硷拷 - HUNGER_LEVEL_COUNT, - }; - // Intimacy level - public enum IntimacyLevel - { - INTIMACY_LEVEL_0, // 野锟斤拷锟斤拷驯, 0-50 - INTIMACY_LEVEL_1, // 锟斤拷锟斤拷锟睫筹拷, 51-150 - INTIMACY_LEVEL_2, // 锟斤拷锟斤拷锟斤拷锟斤拷, 151-500 - INTIMACY_LEVEL_3, // 锟斤拷锟侥癸拷锟斤拷, 501-999 - INTIMACY_LEVEL_COUNT, - INTIMACY_POINT_MAX = 999, - }; - #endregion - - public int GetTemplateID() - { - //Place holder for ivtrPetFood - return -1; - } -} \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Managers/EC_PetCorral.cs.meta b/Assets/PerfectWorld/Scripts/Managers/EC_PetCorral.cs.meta deleted file mode 100644 index b4dac2903c..0000000000 --- a/Assets/PerfectWorld/Scripts/Managers/EC_PetCorral.cs.meta +++ /dev/null @@ -1,2 +0,0 @@ -fileFormatVersion: 2 -guid: c41c880dbc2344f819944899348d5124 \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/ModelFiles/CECComboSkillState.cs b/Assets/PerfectWorld/Scripts/ModelFiles/CECComboSkillState.cs index 86aacf278f..385793822a 100644 --- a/Assets/PerfectWorld/Scripts/ModelFiles/CECComboSkillState.cs +++ b/Assets/PerfectWorld/Scripts/ModelFiles/CECComboSkillState.cs @@ -50,6 +50,7 @@ namespace BrewMonster public void SetComboSkillState(Dictionary skillDic, ref ComboSkillState state) { + BMLogger.LogError($"SetComboSkillState: skillid={state.skillid}, arg0={state.arg[0]}, arg1={state.arg[1]}, arg2={state.arg[2]}"); m_comboSkillState = state; if (state.skillid != 0) { diff --git a/Assets/PerfectWorld/Scripts/Move/CECPlayer.cs b/Assets/PerfectWorld/Scripts/Move/CECPlayer.cs index cb153ef0e2..ffd22fc916 100644 --- a/Assets/PerfectWorld/Scripts/Move/CECPlayer.cs +++ b/Assets/PerfectWorld/Scripts/Move/CECPlayer.cs @@ -21,6 +21,10 @@ using UnityEngine.SceneManagement; using UnityEngine.UIElements; using static BrewMonster.CECPlayer; using BrewMonster.Network; +using System.Runtime.InteropServices; +using PerfectWorld.Scripts.Managers.BrewMonster.Managers; +using CSNetwork; +using ModelRenderer.Scripts.Common; namespace BrewMonster { @@ -82,7 +86,7 @@ namespace BrewMonster protected int m_iBoothState = 0; // Booth state. 0, none; 1, prepare; 2, open booth; 3, visite other's booth public int m_idFRole = GNETRoles._R_UNMEMBER; // ID of player's faction role - + protected int m_idCountry = 0; // 鹿煤脮陆脮贸脫陋 id public static int MAX_REINCARNATION = 2; protected List m_aCurEffects = new List(); // Current effects @@ -93,6 +97,22 @@ namespace BrewMonster protected int m_iCurAction; bool m_bAboutToDie = false; public bool m_bCandHangerOn = false; + public bool m_bPetInSanctuary = false; // true, the pet pet of the player is in sanctuary + //The ID of the currently summoned pet + int m_idCurPet = 0; + byte m_byPariahLvl = 0; // Pariah level + + public RIDINGPET m_RidingPet; // Riding pet information + public GameObject m_pPetModel = null; // Pet model + public RIDINGPET m_CandPet;// ID of candidate pet + A3DVECTOR3 m_vNamePos; // 脝茂鲁脣脳麓脤卢脥忙录脪脨脮脙没碌脛碌梅脮没 + // 脪脌赂陆脌脿脨脥 + AttachMode m_AttachMode = AttachMode.enumAttachNone; + // 脪脌赂陆脮脽禄貌卤禄脪脌赂陆脮脽id + int m_iBuddyId; + int m_idCandBuddy; // ID of candidate buddy + EC_ManPlayer m_pPlayerMan => EC_ManMessageMono.Instance?.GetECManPlayer; // Player manager + protected Transform playerTransform => transform; public MOVECONST m_MoveConst; // Const used when moving control public Move_Mode m_MoveMode; @@ -137,7 +157,7 @@ namespace BrewMonster new MOVECONST(0.8f, 1.6f, 0.3f, 1.5f, 0.55f), }; - public A3DVECTOR3[] aExts = new A3DVECTOR3[(int)PROFESSION.NUM_PROFESSION * GENDER.NUM_GENDER] + public A3DVECTOR3[] aExts = new A3DVECTOR3[(int)PROFESSION.NUM_PROFESSION * GENDER.NUM_GENDER] { new A3DVECTOR3(0.4f, 0.9f, 0.4f), // 脦盲脧脌 new A3DVECTOR3(0.3f, 0.85f, 0.3f), @@ -184,7 +204,7 @@ namespace BrewMonster { parentModel = transform.GetChild(0); txtName = GetComponentInChildren(); - if(transform.childCount >= 3) + if (transform.childCount >= 3) { pointCam = transform.GetChild(2); } @@ -462,6 +482,12 @@ namespace BrewMonster protected override void Update() { base.Update(); + if (m_CandPet.id != 0 /*&& GetMajorModel()*/) + { + string szPetPath = GetRidingPetFileName(m_CandPet.id); + QueueLoadPetModel(szPetPath, false); + m_CandPet.Reset(); + } } public void PlayAttackEffect(int idTarget, int idSkill, int skillLevel, int nDamage, uint dwModifier, int nAttackSpeed, ref int piAttackTime, int nSection = 0) @@ -747,17 +773,17 @@ namespace BrewMonster bool result = (false); /*while (GetPlayerModel() && (GetLeftHandWeapon() || GetRightHandWeapon())){ - A3DSkinModel *pSkinModel = GetPlayerModel()->GetA3DSkinModel(); + A3DSkinModel *pSkinModel = GetPlayerModel().GetA3DSkinModel(); if (!pSkinModel || - !pSkinModel->GetSkeleton()){ + !pSkinModel.GetSkeleton()){ break; } - if (!pSkinModel->GetSkeletonHook(GetLeftWeaponHookPos(m_weaponHangerPos),true) || - !pSkinModel->GetSkeletonHook(GetRightWeaponHookPos(m_weaponHangerPos),true)){ + if (!pSkinModel.GetSkeletonHook(GetLeftWeaponHookPos(m_weaponHangerPos),true) || + !pSkinModel.GetSkeletonHook(GetRightWeaponHookPos(m_weaponHangerPos),true)){ break; } if (GetLeftHandWeapon()){ - GetPlayerModel()->AddChildModel( + GetPlayerModel().AddChildModel( _left_hand_weapon, false, GetLeftWeaponHookPos(m_weaponHangerPos), @@ -765,7 +791,7 @@ namespace BrewMonster GetLeftWeaponOwnHookPos(GetLeftHandWeapon())); } if (GetRightHandWeapon()){ - GetPlayerModel()->AddChildModel( + GetPlayerModel().AddChildModel( _right_hand_weapon, false, GetRightWeaponHookPos(m_weaponHangerPos), @@ -1115,9 +1141,9 @@ namespace BrewMonster else { /* if ((*//*UsingWing()*//*m_wingType == enumWingType.WINGTYPE_WING && IsFlying()) || (GetProfession() == PROF_ANGEL) || (GetProfession() == PROF_ARCHOR) || (GetProfession() == PROF_MONK) || (GetProfession() == PROF_GHOST)) - sprintf(szAct, "%s_驴脮脰脨鲁谩掳貌_脪梅鲁陋_%s", data->action_prefix, data->action_weapon_suffix[weapon_type].suffix); + sprintf(szAct, "%s_驴脮脰脨鲁谩掳貌_脪梅鲁陋_%s", data.action_prefix, data.action_weapon_suffix[weapon_type].suffix); else - sprintf(szAct, "%s_驴脮脰脨路脡陆拢_脪梅鲁陋_%s", data->action_prefix, data->action_weapon_suffix[weapon_type].suffix);*/ + sprintf(szAct, "%s_驴脮脰脨路脡陆拢_脪梅鲁陋_%s", data.action_prefix, data.action_weapon_suffix[weapon_type].suffix);*/ } bool bHideFX = false; /*!CECOptimize::Instance().GetGFX().CanShowCast(GetCharacterID(), GetClassID());*/ @@ -1151,7 +1177,10 @@ namespace BrewMonster } public CECSkill GetCurSkill() { return m_pCurSkill; } public bool IsHangerOn() { return m_bHangerOn; } - + public bool IsPlayingAction() + { + return true /*GetLowerBodyAction() != -1*/ ; + } public bool PlaySkillCastActionWithName(int idSkill, string szActName, bool bNoFX/* =false */) { return m_pActionController != null @@ -1198,18 +1227,18 @@ namespace BrewMonster return false; } - // nTime1 = m_pPlayerModel->GetComActTimeSpanByName(szAct); // 鑾峰彇鍔ㄤ綔鏃堕暱 / Get action time span - // pAct = m_pPlayerModel->GetComActByName(szAct); - // if (pAct) bInfinite |= pAct->IsInfinite(); + // nTime1 = m_pPlayerModel.GetComActTimeSpanByName(szAct); // 鑾峰彇鍔ㄤ綔鏃堕暱 / Get action time span + // pAct = m_pPlayerModel.GetComActByName(szAct); + // if (pAct) bInfinite |= pAct.IsInfinite(); nTime1 = 1000; // 涓存椂鍊 / Temporary value szAct = EC_Utility.BuildActionName(data, weapon_type, "_鏂芥斁钀絖"); GetSkillSectionActionName(ref szAct, idSkill, nSection); QueueSkillAttackActionWithName(idSkill, szAct, 0, bHideFX); - // nTime2 = m_pPlayerModel->GetComActTimeSpanByName(szAct); - // pAct = m_pPlayerModel->GetComActByName(szAct); - // if (pAct) bInfinite |= pAct->IsInfinite(); + // nTime2 = m_pPlayerModel.GetComActTimeSpanByName(szAct); + // pAct = m_pPlayerModel.GetComActByName(szAct); + // if (pAct) bInfinite |= pAct.IsInfinite(); nTime2 = 1000; // 涓存椂鍊 / Temporary value } else @@ -1239,11 +1268,11 @@ namespace BrewMonster } // if (pRightHandWeapon && IsUsingMagicWeapon()) - // pRightHandWeapon->PlayActionByName(_GenWeaponActionName(szAct, m_iGender), 1.0f, true, 200, true, ACT_CASTSKILL, bHideFX); + // pRightHandWeapon.PlayActionByName(_GenWeaponActionName(szAct, m_iGender), 1.0f, true, 200, true, ACT_CASTSKILL, bHideFX); - // nTime1 = m_pPlayerModel->GetComActTimeSpanByName(szAct); - // pAct = m_pPlayerModel->GetComActByName(szAct); - // if (pAct) bInfinite |= pAct->IsInfinite(); + // nTime1 = m_pPlayerModel.GetComActTimeSpanByName(szAct); + // pAct = m_pPlayerModel.GetComActByName(szAct); + // if (pAct) bInfinite |= pAct.IsInfinite(); nTime1 = 1000; // 涓存椂鍊 / Temporary value szAct = $"{data.action_prefix}_{szActionMiddleName}_鏂芥硶琛宊{data.action_weapon_suffix[weapon_type].suffix}"; @@ -1251,11 +1280,11 @@ namespace BrewMonster QueueSkillAttackActionWithName(idSkill, szAct, 0, bHideFX); // if (pRightHandWeapon && IsUsingMagicWeapon()) - // pRightHandWeapon->QueueAction(_GenWeaponActionName(szAct, m_iGender), 0, ACT_CASTSKILL, false, false, bHideFX); + // pRightHandWeapon.QueueAction(_GenWeaponActionName(szAct, m_iGender), 0, ACT_CASTSKILL, false, false, bHideFX); - // nTime2 = m_pPlayerModel->GetComActTimeSpanByName(szAct); - // pAct = m_pPlayerModel->GetComActByName(szAct); - // if (pAct) bInfinite |= pAct->IsInfinite(); + // nTime2 = m_pPlayerModel.GetComActTimeSpanByName(szAct); + // pAct = m_pPlayerModel.GetComActByName(szAct); + // if (pAct) bInfinite |= pAct.IsInfinite(); nTime2 = 1000; // 涓存椂鍊 / Temporary value } @@ -1268,10 +1297,10 @@ namespace BrewMonster if (nExecuteTime > 0) { float vScale = (nTime1 + nTime2) / (float)nExecuteTime; - // m_pPlayerModel->SetPlaySpeed(vScale * 1.2f); + // m_pPlayerModel.SetPlaySpeed(vScale * 1.2f); // if (pRightHandWeapon && IsUsingMagicWeapon()) - // pRightHandWeapon->SetPlaySpeed(vScale * 1.2f); + // pRightHandWeapon.SetPlaySpeed(vScale * 1.2f); } piAttackTime = nTime1 + nTime2; @@ -1427,12 +1456,12 @@ namespace BrewMonster // if (m_pModels[i] && (iShapeTypeMask & (1<PlayGfx(szPath, szHook, fScale); + // m_pModels[i].PlayGfx(szPath, szHook, fScale); // bPlayed = true; // } // if(bSkipRecord) continue; - // A3DGFXEx* pGfx = m_pModels[i]->GetGfx(szPath, szHook); - // if (pGfx && pGfx->IsInfinite()){ + // A3DGFXEx* pGfx = m_pModels[i].GetGfx(szPath, szHook); + // if (pGfx && pGfx.IsInfinite()){ // GFXRECORD rec; // rec.strPath = szPath; // rec.strHook = szHook; @@ -1637,13 +1666,336 @@ namespace BrewMonster { //if (m_pPlayerModel) //{ - // CECModel* pWing = m_pPlayerModel->GetChildModel(_wing); - // if (pWing) pWing->Show(bShow); + // CECModel* pWing = m_pPlayerModel.GetChildModel(_wing); + // if (pWing) pWing.Show(bShow); - // CECModel* pWing2 = m_pPlayerModel->GetChildModel(_wing2); - // if (pWing2) pWing2->Show(bShow); + // CECModel* pWing2 = m_pPlayerModel.GetChildModel(_wing2); + // if (pWing2) pWing2.Show(bShow); //} } + + // Get current pet id + public int GetCurPetID() { return m_idCurPet; } + // Set current pet id + public void SetCurPetID(int id) { m_idCurPet = id; } + + // Get player name color + public uint GetNameColor() + { + uint dwNameCol = NameColor.NAMECOL_MAUVE; + + if (IsInBattle()) // Player is in battle + { + if (m_iBattleCamp == Player_camp_in_battle.GP_BATTLE_CAMP_INVADER) + dwNameCol = NameColor.NAMECOL_BC_RED; + else // (m_iBattleCamp == GP_BATTLE_CAMP_DEFENDER) + dwNameCol = NameColor.NAMECOL_BC_BLUE; + } + else if (IsPariah()) + { + switch (m_byPariahLvl) + { + case 0: dwNameCol = NameColor.NAMECOL_RED0; break; + case 1: dwNameCol = NameColor.NAMECOL_RED1; break; + default: dwNameCol = NameColor.NAMECOL_RED2; break; + } + } + else if (IsInvader()) + dwNameCol = NameColor.NAMECOL_PINK; + else if (m_pvp.bEnable) + dwNameCol = NameColor.NAMECOL_WHITE; + + return dwNameCol; + } + + // Riding pet info. + public struct RIDINGPET + { + public int id; + public ushort color; + + public void Reset() + { + id = 0; + color = 0; + } + + public bool GetColor(ref Color clr) + { + // Get the current pet鈥檚 dye/color + return id > 0 && GetColor(color, ref clr); + } + + public static bool GetColor(ushort c, ref Color clr) + { + // Check whether the current pet has been dyed; if so, return the dyed color. + bool bRet = false; + if ((c & (1 << (Marshal.SizeOf(c) * 8 - 1))) != 0) + { + // unsigned short: if the highest bit is 1, it means the pet has been dyed; + // in this case, the dyed color can be retrieved. + clr = new Color(((c) & (0x1f << 10)) >> 7, ((c) & (0x1f << 5)) >> 2, ((c) & 0x1f) << 3); + bRet = true; + } + return bRet; + } + + public static Color GetDefaultColor() + { + return new Color(255f / 255f, 255f / 255f, 255f / 255f); + } + }; + + public bool IsRidingOnPet() { return m_RidingPet.id != 0; } + // Get riding pet info. + public RIDINGPET GetRidingPetInfo() { return m_RidingPet; } + + public void RideOnPet(int id, ushort color) + { + m_CandPet.id = id; + m_CandPet.color = color; + m_RidingPet.id = id; + m_RidingPet.color = color; + } + + public void GetOffPet(bool bResetData) + { + int iBuddyId = 0; + m_CandPet.Reset(); + + SetNamePos(new A3DVECTOR3(0.0f)); + + if (m_AttachMode != AttachMode.enumAttachNone) + { + iBuddyId = m_iBuddyId; + DetachBuddy(null, bResetData); + } + + if (m_pPetModel) + { + GameObject.Destroy(m_pPetModel); + m_pPetModel = null; + } + + if (bResetData) + m_RidingPet.Reset(); + + // Re-calculate player's AABB + CalcPlayerAABB(); + //SetUseGroundNormal(ShouldUseGroundNormalForCurrentShapeModel()); + SetPos(GetPosVector3()); + + //if (iBuddyId != 0) + // AttachBuddy(iBuddyId); + //else + PlayAction(GetMoveStandAction(false, IsFighting()), true); + } + + void SetNamePos(A3DVECTOR3 vPos) { m_vNamePos = vPos; } + + // Player Attach mode + public enum AttachMode + { + enumAttachNone, + enumAttachRideOnPet, + enumAttachRideOnPlayer, + enumAttachHugPlayer, + }; + + void DetachBuddy(CECPlayer pBuddy, bool bResetData) + { + if (m_AttachMode == AttachMode.enumAttachNone) + return; + + if (m_bHangerOn) + { + if (!pBuddy) pBuddy = m_pPlayerMan.GetPlayer(m_iBuddyId); + if (pBuddy) + pBuddy.DetachBuddy(this, bResetData); + else + { + if (bResetData) + { + m_AttachMode = AttachMode.enumAttachNone; + m_bHangerOn = false; + m_iBuddyId = 0; + } + } + } + else + { + if (!pBuddy) pBuddy = m_pPlayerMan.GetPlayer(m_iBuddyId); + + if (m_AttachMode == AttachMode.enumAttachRideOnPlayer) + { + //if (m_pPlayerModel) m_pPlayerModel.RemoveChildModel(_hanger_ride, false); + } + else if (m_AttachMode == AttachMode.enumAttachHugPlayer) + { + //if (m_pPlayerModel) m_pPlayerModel.RemoveChildModel(_hanger_hug, false); + } + else if (m_AttachMode == AttachMode.enumAttachRideOnPet) + { + if (m_pPetModel) + { + //A3DSkinModelHanger* pHanger = m_pPetModel.GetA3DSkinModel().GetSkinModelHanger(_hanger_ride); + //if (pHanger) pHanger.SetOffsetMat(a3d_IdentityMatrix()); + //m_pPetModel.RemoveChildModel(_hanger_ride2, false); + } + } + + if (bResetData) + { + m_AttachMode = AttachMode.enumAttachNone; + m_bHangerOn = false; + m_iBuddyId = 0; + } + + if (pBuddy) + { + if (bResetData) + { + pBuddy.m_AttachMode = AttachMode.enumAttachNone; + pBuddy.m_bHangerOn = false; + pBuddy.m_iBuddyId = 0; + } + + pBuddy.SetPos(pBuddy.GetPosVector3()); + pBuddy.SetDirAndUp(pBuddy.transform.forward, pBuddy.transform.up); + pBuddy.PlayAction(GetMoveStandAction(false, IsFighting()), true); + } + PlayAction(GetMoveStandAction(IsPlayingMoveAction(), IsFighting()), true); + } + } + + public void SetPos(Vector3 pos) + { + playerTransform.position = pos; + + m_aabb.Center = EC_Utility.ToA3DVECTOR3(pos) + new A3DVECTOR3(0.0f, m_aabb.Extents.y, 0.0f); + m_aabb.CompleteMinsMaxs(); + m_aabbServer.Center = EC_Utility.ToA3DVECTOR3(pos) + new A3DVECTOR3(0.0f, m_aabbServer.Extents.y, 0.0f); + m_aabbServer.CompleteMinsMaxs(); + } + + public bool IsPlayingMoveAction() + { + return m_iCurAction == (int)PLAYER_ACTION_TYPE.ACT_STAND; + } + + public void OnMsgPlayerMount(ECMSG Msg) + { + cmd_player_mounting pCmd = GPDataTypeHelper.FromBytes((byte[])Msg.dwParam1); + + if (pCmd.mount_id != 0) + RideOnPet(pCmd.mount_id, pCmd.mount_color); + else + GetOffPet(true); + } + + // Build riding pet file name + string GetRidingPetFileName(int idPet) + { + string szDef = "Models/NPCs/瀹犵墿/楠戝疇/楠戝疇椹/楠戝疇椹櫧.ecm"; + + DATA_TYPE DataType = new DATA_TYPE(); + var pDataPtr = ElementDataManProvider.GetElementDataMan().get_data_ptr((uint)idPet, ID_SPACE.ID_SPACE_ESSENCE, ref DataType); + if (DataType != DATA_TYPE.DT_PET_ESSENCE) + return szDef; + + PET_ESSENCE pData = (PET_ESSENCE)pDataPtr; + if (pData.file_model[0] == 0) + return szDef; + + return ByteToStringUtils.ByteArrayToUTF8String(pData.file_model); + } + + public async void QueueLoadPetModel(string szPetPath, bool bAtOnce) + { + var modelPet = await LoadPetModel(szPetPath); + + if (modelPet == null) + { + return; + } + SetPetLoadResult(modelPet); + } + + public async Task LoadPetModel(string szPetPath) + { + var pPetModel = CECGameRun.Instance.GetPetMount(); + if(pPetModel == null) + { + return null; + } + try + { + var model = await AddressableManager.Instance.LoadPrefabAsync(AFile.NormalizePath(szPetPath.ToLower(), true)); + if(model == null) + { + model = GameObject.CreatePrimitive(PrimitiveType.Capsule); + } + var obModel = GameObject.Instantiate(model); + obModel.transform.SetParent(pPetModel.transform); + AddressableManager.Instance.ReleaseAsset(szPetPath); + } + catch + { + var model = GameObject.CreatePrimitive(PrimitiveType.Capsule); + var obModel = GameObject.Instantiate(model); + obModel.transform.SetParent(pPetModel.transform); + AddressableManager.Instance.ReleaseAsset(szPetPath); + //return null; + } + return pPetModel; + } + + bool SetPetLoadResult(GameObject pPetModel) + { + if (m_RidingPet.id == 0 /*|| !GetMajorModel() || m_CandPet.id != 0*/ || !pPetModel) + return false; + + if (m_pPetModel) + { + RIDINGPET pet = m_RidingPet; + GetOffPet(true); + m_RidingPet = pet; + } + + A3DVECTOR3 vCurPos = GetPos(); + + m_aabbServer.Center = vCurPos + new A3DVECTOR3(0.0f, m_aabbServer.Extents.y, 0.0f); + m_aabbServer.CompleteMinsMaxs(); + + m_pPetModel = pPetModel; + + // 陆芦鲁猫脦茂脩脮脡芦脡猫脰脙碌陆脛拢脨脥脡脧 + //SetRidingPetColor(m_RidingPet.color); + + SetUseGroundNormal(true); + //m_pPetModel.SetAffectedByParent(false); + m_pPetModel.transform.position = EC_Utility.ToVector3(vCurPos); + //m_pPetModel.SetDirAndUp(GetDir(), GetUp()); + + //int iIndex; + //A3DSkeletonHook* pHook = GetMajorModel().GetA3DSkinModel().GetSkeleton().GetHook(_cc_ride, &iIndex); + //if (pHook) pHook.SetFixDirFlag(true); + + int iBuddyId = m_iBuddyId; + if (m_AttachMode != AttachMode.enumAttachNone) + DetachBuddy(null, true); + + m_pPetModel.transform.SetParent(transform); + //m_pPetModel.AddChildModel(_hanger_ride, false, _hh_ride, GetMajorModel(), _cc_ride); + //m_pPetModel.GetA3DSkinModel().Update(0); + + //if (iBuddyId != 0) + // AttachBuddy(iBuddyId); + //else + PlayAction(GetMoveStandAction(false, IsFighting()), true); + + return true; + } } public struct PlayActionEvent @@ -1927,38 +2279,38 @@ namespace BrewMonster /// Place holder for riding pet. Not test logic yet. /// public struct RIDINGPET - { - public int id; - public ushort color; + { + public int id; + public ushort color; - public RIDINGPET(bool isReset = true) - { - id = 0; + public RIDINGPET(bool isReset = true) + { + id = 0; color = 0; - } + } - public bool GetColor(Color clr) - { - // 锟斤拷取锟斤拷前锟斤拷锟斤拷染色锟斤拷色 - return id>0 && GetColor(color, clr); - } + public bool GetColor(Color clr) + { + // 锟斤拷取锟斤拷前锟斤拷锟斤拷染色锟斤拷色 + return id > 0 && GetColor(color, clr); + } - public static bool GetColor(ushort c, Color clr) - { - // 锟斤拷询锟斤拷前锟斤拷锟斤拷欠锟饺撅拷锟缴拷锟斤拷锟斤拷染锟斤拷色锟斤拷锟斤拷锟截憋拷染之锟斤拷锟斤拷锟缴 - bool bRet = false; - if ((c & (1<<(8-1))) != 0) - { - // unsigned short 锟斤拷位为1时锟斤拷锟斤拷示染锟斤拷色锟斤拷锟斤拷时锟缴伙拷取锟斤拷色 - clr = new Color(((c) & (0x1f << 10)) >> 7, ((c) & (0x1f << 5)) >> 2, ((c) & 0x1f) << 3); - bRet = true; - } - return bRet; - } + public static bool GetColor(ushort c, Color clr) + { + // 锟斤拷询锟斤拷前锟斤拷锟斤拷欠锟饺撅拷锟缴拷锟斤拷锟斤拷染锟斤拷色锟斤拷锟斤拷锟截憋拷染之锟斤拷锟斤拷锟缴 + bool bRet = false; + if ((c & (1 << (8 - 1))) != 0) + { + // unsigned short 锟斤拷位为1时锟斤拷锟斤拷示染锟斤拷色锟斤拷锟斤拷时锟缴伙拷取锟斤拷色 + clr = new Color(((c) & (0x1f << 10)) >> 7, ((c) & (0x1f << 5)) >> 2, ((c) & 0x1f) << 3); + bRet = true; + } + return bRet; + } - public static Color GetDefaultColor() - { - return new Color(255, 255, 255); - } - }; + public static Color GetDefaultColor() + { + return new Color(255, 255, 255); + } + }; } \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/NPC/CECNPC.cs b/Assets/PerfectWorld/Scripts/NPC/CECNPC.cs index 51fb97c9c7..ce36a3491c 100644 --- a/Assets/PerfectWorld/Scripts/NPC/CECNPC.cs +++ b/Assets/PerfectWorld/Scripts/NPC/CECNPC.cs @@ -57,6 +57,14 @@ public class CECNPC : CECObject public string ROLEBASICPROP => m_strName;*/ + protected virtual void Awake() + { + m_DisappearCnt = new CECCounter(); + m_IdleCnt = new CECCounter(); + m_TransCnt = new CECCounter(); + m_aWorks = new int[4]; + } + public virtual void SetUpCECNPC(CECNPCMan pNPCMan) { base.SetUpCECObject(); @@ -571,7 +579,7 @@ public class CECNPC : CECObject { Destroy(gameObject); } - float GetTransparentLimit() + public float GetTransparentLimit() { if ((m_dwStates & (uint)PlayerNPCState.GP_STATE_INVISIBLE) != 0) { @@ -939,10 +947,18 @@ public class CECNPC : CECObject { return; } - var model = await NPCBuilder.Instance.GetModelByPath(AFile.NormalizePath(szModelFile.ToLower(), true)); - if (model == null) + GameObject model = null; + try + { + model = await NPCBuilder.Instance.GetModelByPath(AFile.NormalizePath(szModelFile.ToLower(), true)); + if (model == null) + { + model = GameObject.CreatePrimitive(PrimitiveType.Capsule); + BMLogger.LogWarning($" CECNPC.QueueLoadNPCModel model == null szModelFile= {szModelFile} "); + } + } + catch { - model = GameObject.CreatePrimitive(PrimitiveType.Capsule); BMLogger.LogWarning($" CECNPC.QueueLoadNPCModel model == null szModelFile= {szModelFile} "); } @@ -1154,7 +1170,7 @@ public class CECNPC : CECObject { return m_pNPCModelPolicy.GetCHAABB(ref aabb); } - void SetPos(Vector3 pos) + public void SetPos(Vector3 pos) { if (-2041570812 == m_NPCInfo.nid) { @@ -1516,7 +1532,16 @@ public class CECNPC : CECObject } m_pNPCModelPolicy.PlayModelAction(iAction, bRestart, null); } - bool IsDisappearing() { return m_DisappearCnt.GetCounter() != 0 ? true : false; } + + bool IsDisappearing() + { + if(m_DisappearCnt != null) + { + return m_DisappearCnt.GetCounter() != 0 ? true : false; + } + return false; + } + public int GetTemplateID() { return m_NPCInfo.tid; } public float GetTouchRadius() { return m_fTouchRad; } @@ -1574,6 +1599,9 @@ public class CECNPC : CECObject // Get distance to host player public float GetDistToHost() { return m_fDistToHost; } public float GetDistToHostH() { return m_fDistToHostH; } + + // Get NPC name color + public virtual uint GetNameColor() { return 0xffffff00; } } public struct ClearComActFlagEvent { diff --git a/Assets/PerfectWorld/Scripts/NPC/CECNPCModelDefaultPolicy.cs b/Assets/PerfectWorld/Scripts/NPC/CECNPCModelDefaultPolicy.cs index 3810257bfe..e46ab78a6c 100644 --- a/Assets/PerfectWorld/Scripts/NPC/CECNPCModelDefaultPolicy.cs +++ b/Assets/PerfectWorld/Scripts/NPC/CECNPCModelDefaultPolicy.cs @@ -1,4 +1,5 @@ using BrewMonster; +using CSNetwork.GPDataType; using CSNetwork.Protocols; using UnityEngine; @@ -200,4 +201,8 @@ public class CECNPCModelDefaultPolicy _npcVisual = npcVisual; } + public override void SetDefaultPickAABBExt(A3DVECTOR3 vExt) + { + + } } diff --git a/Assets/PerfectWorld/Scripts/NPC/CECNPCModelPolicy.cs b/Assets/PerfectWorld/Scripts/NPC/CECNPCModelPolicy.cs index ce63744831..490dcb8114 100644 --- a/Assets/PerfectWorld/Scripts/NPC/CECNPCModelPolicy.cs +++ b/Assets/PerfectWorld/Scripts/NPC/CECNPCModelPolicy.cs @@ -15,5 +15,6 @@ namespace BrewMonster public abstract bool PlayAttackAction(int nAttackSpeed, CECAttackEvent attackevent); public abstract bool GetCHAABB(ref A3DAABB ab); public abstract void StopChannelAction(); + public abstract void SetDefaultPickAABBExt(CSNetwork.GPDataType.A3DVECTOR3 vExt); } } \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/NPC/EC_Pet.cs b/Assets/PerfectWorld/Scripts/NPC/EC_Pet.cs new file mode 100644 index 0000000000..e3165c40cd --- /dev/null +++ b/Assets/PerfectWorld/Scripts/NPC/EC_Pet.cs @@ -0,0 +1,260 @@ +using BrewMonster.Network; +using BrewMonster.Scripts.World; +using CSNetwork.GPDataType; +using PerfectWorld.Scripts.Managers.BrewMonster.Managers; +using System; +using System.Linq; +using UnityEngine; + +namespace BrewMonster +{ + public class CECPet : CECNPC + { + // Data in database + PET_ESSENCE? m_pDBEssence; + string m_strCompName; // Complete name with master's name + + public CECPet(CECNPCMan pNPCMan) + { + m_iCID = (int)Class_ID.OCID_PET; + m_pDBEssence = null; + m_fTouchRad = 1.0f; + } + + // Initlaize object + public override bool Init(int tid, in info_npc Info, ReadOnlySpan packet, int infoOffset) + { + if (!base.Init(tid, Info, packet, infoOffset)) + return false; + + // Get database data + var pDB = ElementDataManProvider.GetElementDataMan(); + DATA_TYPE DataType = new DATA_TYPE(); + object pDBData = pDB.get_data_ptr((uint)tid, ID_SPACE.ID_SPACE_ESSENCE, ref DataType); + + if (pDBData == null) + { + return false; + } + + byte[] szModelFile = null; + + if (DataType == DATA_TYPE.DT_MONSTER_ESSENCE) + { + MONSTER_ESSENCE pMonsterData = (MONSTER_ESSENCE)pDBData; + szModelFile = pMonsterData.file_model; + + object pObEggData = pDB.get_data_ptr(pMonsterData.id_pet_egg_captured, ID_SPACE.ID_SPACE_ESSENCE, ref DataType); + if (pObEggData == null) + { + return false; + } + var pEggData = (PET_EGG_ESSENCE)pObEggData; + m_pDBEssence = (PET_ESSENCE)pDB.get_data_ptr((uint)pEggData.id_pet, ID_SPACE.ID_SPACE_ESSENCE, ref DataType); + m_NPCInfo.tid = pEggData.id_pet; + } + else + { + m_pDBEssence = (PET_ESSENCE)pDBData; + szModelFile = m_pDBEssence.Value.file_model; + } + + if (m_pDBEssence == null) + { + return false; + } + + SetUseGroundNormal(m_pDBEssence.Value.stand_mode == 0 ? true : false); + m_fTouchRad = m_pDBEssence.Value.size; + m_BasicProps.iLevel = 1; + + // Submit EC model loading request to loading thread + QueueLoadNPCModel(); + + float fExt = m_fTouchRad * 1.5f; + m_cdr.vExts.Set(fExt, fExt, fExt); + m_pNPCModelPolicy.SetDefaultPickAABBExt(m_cdr.vExts); + + // If NPC doesn't have specific name, use the name in database + if ((Info.state & PlayerNPCState.GP_STATE_NPC_NAME) == 0) + { + m_strName = new string(m_pDBEssence.Value.name + .TakeWhile(c => c != 0) + .Select(c => (char)c) + .ToArray() + ); + EC_Game.GetGameRun().GetUIManager().FilterBadWords(ref m_strName); + // Try to build complete name + BuildCompleteName(); + } + + if ((Info.state & PlayerNPCState.GP_STATE_NPC_PET) != 0) + { + if (!IsPlantPet()) + { + // 非植物宠时,能够从宠物面板和玩家面板中相互追踪 + CECPlayer pPlayer = EC_Game.GetGameRun().GetWorld().GetPlayerMan().GetPlayer(m_idMaster); + if (pPlayer) + { + pPlayer.SetCurPetID(Info.nid); + } + } + } + + if ((m_pDBEssence.Value.combined_switch & (uint)PET_COMBINED_SWITCH.PCS_FORBID_SELECTION) != 0) + { + SetSelectable(false); + } + + A3DVECTOR3 vPos = Info.pos; + SetPos(EC_Utility.ToVector3(vPos)); + SetDirAndUp(EC_Utility.ToVector3(EC_Utility.glb_DecompressDirH(Info.dir)), g_vAxisY); + + StartWork((int)WorkType.WT_NOTHING, (int)WorkID.WORK_STAND); + + return true; + } + + // Tick routine + protected override void Update() + { + base.Update(); + if (m_strCompName != null && m_strCompName.Length == 0) + { + // Try to build complete name + BuildCompleteName(); + } + } + + // Get NPC name color + public virtual uint GetNameColor() + { + EC_ManPlayer pPlayerMan = EC_Game.GetGameRun().GetWorld().GetPlayerMan(); + CECPlayer pPlayer = pPlayerMan.GetPlayer(m_idMaster); + if (!pPlayer) + return base.GetNameColor(); + + return pPlayer.GetNameColor(); + } + + public virtual bool IsImmuneDisable() + { + if(m_pDBEssence == null) + { + return false; + } + if ((m_pDBEssence.Value.combined_switch & (uint)PET_COMBINED_SWITCH.PCS_HIDE_IMMUNE) != 0) + return true; + + return false; + } + public virtual float GetTransparentLimit() + { + if (m_pDBEssence != null) + { + if ((m_pDBEssence.Value.combined_switch & (uint)PET_COMBINED_SWITCH.PCS_FORBID_SELECTION) != 0) + { + return -1.0f; + } + + } + return base.GetTransparentLimit(); + } + public virtual bool ShouldHideName() + { + if (m_pDBEssence == null) { return false; } + return (m_pDBEssence.Value.combined_switch & (uint)PET_COMBINED_SWITCH.PCS_HIDE_NAME) != 0; + } + + // Is this host player's pet + public bool IsHostPet() + { + CECHostPlayer pHost = EC_Game.GetGameRun().GetHostPlayer(); + return GetMasterID() == pHost.GetCharacterID(); + } + // Is this pet attackable; + public bool CanBeAttacked() + { + return IsCombatPet() + || IsSummonPet() + || IsPlantPet() + || IsEvolutionPet(); + } + // Is a follow pet ? + public bool IsFollowPet() + { + if (m_pDBEssence != null) + return m_pDBEssence.Value.id_type == 8783; + + return false; + } + // Is a combat pet ? + public bool IsCombatPet() + { + if (m_pDBEssence != null) + return m_pDBEssence.Value.id_type == 8782; + + return false; + } + // 是否为召唤宠 + public bool IsSummonPet() + { + if(m_pDBEssence == null) return false; + return m_pDBEssence.Value.id_type == 28752; + } + // 是否为植物宠 + public bool IsPlantPet() + { + if (m_pDBEssence == null) return false; + return m_pDBEssence.Value.id_type == 28913; + } + // 是否是进化宠 + public bool IsEvolutionPet() + { + if (m_pDBEssence == null) return false; + return m_pDBEssence.Value.id_type == 37698; + } + + public PET_ESSENCE? GetDBEssence() { return m_pDBEssence; } + + // Build complete name + public void BuildCompleteName() + { + //if (!m_npcUI) return; + //var szMasterName = EC_Game.GetGameRun().GetPlayerName(m_idMaster, false); + //if (!szMasterName) return; + + //string strMasterName = szMasterName; + + //CECWorld pWorld = EC_Game.GetGameRun().GetWorld(); + //if (pWorld.IsCountryWarMap() && + // !CECUIConfig::Instance().GetGameUI().bShowNameInCountryWar) + //{ + // // 国战场景中,不直接显示宠物主人名称时,要求查询到此主人信息 + // // 此改动(if语句中的内容)将导致主人未出现时无法看到宠物名称 + // // if 括号中的判断是必要的,将增加看到宠物名称的机会 + + // EC_ManPlayer pPlayerMan = pWorld.GetPlayerMan(); + // CECPlayer pPlayer = pPlayerMan.GetPlayer(m_idMaster); + // if (!pPlayer) + // { + // // 还没看到此玩家,无法判断其国家,还不能确定如何显示 + // return; + // } + // if (pPlayer.GetShowNameInCountryWar()) + // strMasterName = pPlayer.GetNameInCountryWar(); + //} + + //m_strCompName.Format(g_pGame.GetFixedMsgTab().GetWideString(FIXMSG_WHOSETHING), strMasterName, m_strName); + //m_npcUI.SetName(m_strCompName); + } + + public override void SetUpCECNPC(CECNPCMan pNPCMan) + { + base.SetUpCECNPC(pNPCMan); + m_iCID = (int)Class_ID.OCID_PET; + m_pDBEssence = null; + m_fTouchRad = 1.0f; + } + } +} diff --git a/Assets/PerfectWorld/Scripts/NPC/EC_Pet.cs.meta b/Assets/PerfectWorld/Scripts/NPC/EC_Pet.cs.meta new file mode 100644 index 0000000000..8804b61d7b --- /dev/null +++ b/Assets/PerfectWorld/Scripts/NPC/EC_Pet.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 6af68acbb8354d04f9c00df83d3eec60 \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Network/CSNetwork/C2SCommand/C2SCommand.cs b/Assets/PerfectWorld/Scripts/Network/CSNetwork/C2SCommand/C2SCommand.cs index abe6fe50b2..fed162a9bc 100644 --- a/Assets/PerfectWorld/Scripts/Network/CSNetwork/C2SCommand/C2SCommand.cs +++ b/Assets/PerfectWorld/Scripts/Network/CSNetwork/C2SCommand/C2SCommand.cs @@ -1578,6 +1578,12 @@ namespace CSNetwork.S2CCommand { public int faction_id; }; + + [StructLayout(LayoutKind.Sequential, Pack = 1)] + public struct cmd_summon_pet + { + public uint pet_index; + }; [StructLayout(LayoutKind.Sequential, Pack = 1)] public struct cmd_embed_item diff --git a/Assets/PerfectWorld/Scripts/Network/CSNetwork/C2SCommand/C2SCommandFactory.cs b/Assets/PerfectWorld/Scripts/Network/CSNetwork/C2SCommand/C2SCommandFactory.cs index 6a0fecedbe..383e8c9c02 100644 --- a/Assets/PerfectWorld/Scripts/Network/CSNetwork/C2SCommand/C2SCommandFactory.cs +++ b/Assets/PerfectWorld/Scripts/Network/CSNetwork/C2SCommand/C2SCommandFactory.cs @@ -955,6 +955,13 @@ namespace CSNetwork.C2SCommand pCmd.faction_id = faction_id; return SerializeCommand(CommandID.QUERY_MAFIA_PVP_INFO, pCmd); } + + public static Octets CreatePetSummon(int iPetIdx) + { + S2CCommand.cmd_summon_pet pCmd = new S2CCommand.cmd_summon_pet(); + pCmd.pet_index = (uint)iPetIdx; + return SerializeCommand(CommandID.SUMMON_PET, pCmd); + } public static Octets CreateNPCSevEmbedCmd( ushort wStoneIdx, diff --git a/Assets/PerfectWorld/Scripts/Network/CSNetwork/GPDataType.cs b/Assets/PerfectWorld/Scripts/Network/CSNetwork/GPDataType.cs index 6f0e210d81..4529932d38 100644 --- a/Assets/PerfectWorld/Scripts/Network/CSNetwork/GPDataType.cs +++ b/Assets/PerfectWorld/Scripts/Network/CSNetwork/GPDataType.cs @@ -2335,55 +2335,28 @@ namespace CSNetwork.GPDataType }; public struct info_pet { - public int honor_point; // 锟矫感讹拷 - public int hunger; // 锟斤拷锟斤拷锟斤拷 - public int feed_time; // 锟较达拷喂锟斤拷锟斤拷锟斤拷锟节碉拷时锟斤拷 - public int pet_tid; // 锟斤拷锟斤拷锟侥o拷锟絀D - public int pet_vis_tid; // 锟斤拷锟斤拷目杉锟絀D锟斤拷锟斤拷锟轿0锟斤拷锟斤拷锟绞撅拷锟斤拷锟斤拷锟缴硷拷ID锟斤拷 - public int pet_egg_tid; // 锟斤拷锟斤蛋锟斤拷ID - public int pet_class; // 锟斤拷锟斤拷锟斤拷锟斤拷 战锟借,锟斤拷瑁拷锟斤拷统锟 - public float hp_factor; // 血锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷栈锟绞笔癸拷茫锟 0锟斤拷为锟斤拷锟斤拷 - public short level; // 锟斤拷锟斤级锟斤拷 - public ushort color; // 锟斤拷锟斤拷锟斤拷色锟斤拷锟斤拷锟轿晃1锟斤拷示锟斤拷效锟斤拷目前锟斤拷锟斤拷锟斤拷锟斤拷锟叫 - public int exp; // 锟斤拷锟斤当前锟斤拷锟斤拷 - public int skill_point; // 剩锟洁技锟杰碉拷 - public char is_bind; // 锟角凤拷锟斤拷锟剿猴拷一锟斤拷锟斤拷锟斤拷锟斤拷一锟斤拷Mask锟斤拷0x01 锟斤拷锟剿猴拷一锟斤拷0x02 寻锟斤拷锟斤拷锟缴斤拷锟斤拷 - public char unused; // 目前锟斤拷锟斤拷锟斤拷效 - public ushort name_len; // 锟斤拷锟街筹拷锟斤拷 目前锟斤拷锟斤拷锟斤拷效锟斤拷锟斤拷为锟竭伙拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷 - public char[] name; // 锟斤拷锟斤拷锟斤拷锟斤拷 - public PetSkill[] skills; + public int honor_point; // 潞脙赂脨露脠 + public int hunger; // 录垄露枚露脠 + public int feed_time; // 脡脧麓脦脦鹿脩酶碌陆脧脰脭脷碌脛脢卤录盲 + public int pet_tid; // 鲁猫脦茂碌脛脛拢掳氓ID + public int pet_vis_tid; // 鲁猫脦茂碌脛驴脡录没ID拢篓脠莽鹿没脦陋0拢卢脭貌卤铆脢戮脦脼脤脴脢芒驴脡录没ID拢漏 + public int pet_egg_tid; // 鲁猫脦茂碌掳碌脛ID + public int pet_class; // 鲁猫脦茂脌脿脨脥 脮陆鲁猫拢卢脝茂鲁猫拢卢鹿脹脡脥鲁猫 + public float hp_factor; // 脩陋脕驴卤脠脌媒拢篓赂麓禄卯潞脥脢脮禄脴脢卤脢鹿脫脙拢漏 0脭貌脦陋脣脌脥枚 + public short level; // 鲁猫脦茂录露卤冒 + public ushort color; // 鲁猫脦茂脩脮脡芦拢卢脳卯赂脽脦禄脦陋1卤铆脢戮脫脨脨搂拢卢脛驴脟掳陆枚露脭脝茂鲁猫脫脨脨搂 + public int exp; // 鲁猫脦茂碌卤脟掳戮颅脩茅 + public int skill_point; // 脢拢脫脿录录脛脺碌茫 + public char is_bind; // 脢脟路帽脤矛脠脣潞脧脪禄拢卢脧脰脭脷脢脟脪禄赂枚Mask拢卢0x01 脤矛脠脣潞脧脪禄拢卢0x02 脩掳卤娄脥酶驴脡陆禄脪脳 + public char unused; // 脛驴脟掳麓脣脧卯脦脼脨搂 + public ushort name_len; // 脙没脳脰鲁陇露脠 脛驴脟掳麓脣脧卯脦脼脨搂拢篓脪貌脦陋虏脽禄庐脡脨脦脼脙没脳脰脨猫脟贸拢漏 public _evo_prop evo_prop; - public int[] reserved; // 未锟斤拷 - public info_pet(bool isDefault = true) - { - honor_point = 0; - hunger = 0; - feed_time = 0; - pet_tid = 0; - pet_vis_tid = 0; - pet_egg_tid = 0; - pet_class = 0; - hp_factor = 0; - level = 0; - color = 0; - exp = 0; - skill_point = 0; - is_bind = (char)0x00; - unused = (char)0x00; - name_len = 0; - name = new char[16]; - skills = new PetSkill[(int)GP_PET_SKILL_NUM.GP_PET_SKILL_NUM]; - evo_prop = new _evo_prop - { - r_attack = 0, - r_defense = 0, - r_hp = 0, - r_atk_lvl = 0, - r_def_lvl = 0, - nature = 0 - }; - reserved = new int[10]; - } + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 16)] + public char[] name; // 脙没脳脰脛脷脠脻 + [MarshalAs(UnmanagedType.ByValArray, SizeConst = (int)GP_PET_SKILL_NUM.GP_PET_SKILL_NUM)] + public _skills[] skills; + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 10)] + public int[] reserved; // 脦麓脫脙 }; public enum REFUSE_BLESS_MASK : byte { @@ -2396,5 +2369,203 @@ namespace CSNetwork.GPDataType public byte force_attack; public byte refuse_bless; }; + + [StructLayout(LayoutKind.Sequential, Pack = 1)] + public struct _skills + { + public int skill; + public int level; + } + + public enum eGP_PET_NATURE_SKILL + { + GP_PET_NATURE_SKILL_NUM = 2 + }; + + [StructLayout(LayoutKind.Sequential, Pack = 1)] + public struct CMDPARAM + { + public int idSkill; + public byte byPVPMask; + }; + + [StructLayout(LayoutKind.Sequential, Pack = 1)] + public struct cmd_pet_room + { + public ushort count; + // 脰脴赂麓 count 麓脦 + // int index; + // info_pet data; + }; + + [StructLayout(LayoutKind.Sequential, Pack = 1)] + public struct cmd_plant_pet_disapper + { + public int plant_nid; + public char reason; // 0 脣脌脥枚拢卢1 脢脵脙眉碌陆拢卢2 鲁卢鲁枚路露脦搂拢卢3 脳脭卤卢拢卢4 脢媒脕驴鲁卢鲁枚脳茅脡脧脧脼 + }; + + [StructLayout(LayoutKind.Sequential, Pack = 1)] + public struct cmd_gain_pet + { + public int slot_index; // 麓脣鲁猫脦茂路脜脫脷鲁猫脦茂脌赂脛脷碌脛脦禄脰脙 + public info_pet data; // pet data + }; + + [StructLayout(LayoutKind.Sequential, Pack = 1)] + public struct cmd_free_pet + { + public int slot_index; + public int pet_id; // 鲁猫脦茂碌脛id拢卢脦脼麓贸脫脙 + }; + + [StructLayout(LayoutKind.Sequential, Pack = 1)] + public struct cmd_summon_pet + { + public int slot_index; + public int pet_tid; + public int pet_pid; + public int life_time; + }; + + [StructLayout(LayoutKind.Sequential, Pack = 1)] + public struct cmd_recall_pet + { + public int slot_index; + public int pet_id; + public char reason; + }; + + public enum PET_RECALL_REASON + { + PET_RECALL_DEFAULT, // 脛卢脠脧脮脵禄脴拢卢脰梅脪陋脭颅脪貌脦陋脥忙录脪脰梅露炉脮脵禄脴隆垄脥忙录脪脮脵禄陆鲁枚脝盲脣眉脭颅脪貌碌录脰脗脭颅脫脨鲁猫脦茂脮脵禄脴碌脠 + PET_RECALL_DEATH, // 鲁猫脦茂脣脌脥枚碌录脰脗脮脵禄脴脧没脧垄 + PET_RECALL_LIFE_EXHAUST, // 鲁猫脦茂脢卤脧脼碌陆 + PET_RECALL_SACRIFICE, // 鲁猫脦茂脦镁脡眉拢篓脥忙录脪脢鹿脫脙录录脛脺碌脠碌录脰脗拢漏 + }; + + [StructLayout(LayoutKind.Sequential, Pack = 1)] + public struct cmd_player_start_pet_op + { + public int slot_index; + public int pet_id; + public int delay; // 脩脫鲁脵脢卤录盲拢卢碌楼脦禄脢脟50ms碌脛tick + public int op; // 虏脵脳梅脌脿脨脥 0:路脜鲁枚 1:脮脵禄脴 2:路脜脡煤 + }; + + [StructLayout(LayoutKind.Sequential, Pack = 1)] + public struct cmd_pet_receive_exp + { + public int slot_index; + public int pet_id; + public int exp; + }; + + [StructLayout(LayoutKind.Sequential, Pack = 1)] + public struct cmd_pet_levelup + { + public int slot_index; + public int pet_id; + public int level; // 脨脗录露卤冒 + public int exp; // 碌卤脟掳碌脛戮颅脩茅脰碌 + }; + + [StructLayout(LayoutKind.Sequential, Pack = 1)] + public struct cmd_pet_room_capacity + { + public uint capacity; + }; + + [StructLayout(LayoutKind.Sequential, Pack = 1)] + public struct cmd_pet_honor_point + { + public int index; + public int cur_honor_point; + }; + + [StructLayout(LayoutKind.Sequential, Pack = 1)] + public struct cmd_pet_hunger_gauge + { + public int index; + public int cur_hunge_gauge; + }; + + [StructLayout(LayoutKind.Sequential, Pack = 1)] + public struct cmd_pet_dead + { + public uint pet_index; + }; + + [StructLayout(LayoutKind.Sequential, Pack = 1)] + public struct cmd_pet_revive + { + public uint pet_index; + public float hp_factor; + }; + + [StructLayout(LayoutKind.Sequential, Pack = 1)] + public struct cmd_pet_hp_notify + { + public uint pet_index; + public float hp_factor; + public int cur_hp; + public float mp_factor; + public int cur_mp; + }; + + [StructLayout(LayoutKind.Sequential, Pack = 1)] + public struct cmd_pet_ai_state + { + public byte attack; // 0 路脌脫霉脨脥; 1 脰梅露炉脨脥; 2 卤禄露炉脨脥 + public byte move; // 0 赂煤脣忙; 1 脭颅碌脴脥拢脕么 + }; + + [StructLayout(LayoutKind.Sequential, Pack = 1)] + public struct cmd_pet_set_cooldown + { + public int pet_index; + public int cooldown_index; + public int cooldown_time; + }; + + [StructLayout(LayoutKind.Sequential, Pack = 1)] + public struct cmd_pet_property + { + public int pet_index; + public BrewMonster.Scripts.ROLEEXTPROP prop; + }; + + [StructLayout(LayoutKind.Sequential, Pack = 1)] + public struct cmd_set_player_limit + { + public int index; + public char b; // 1 脧脼脰脝 0 虏禄脧脼脰脝 + }; + + [StructLayout(LayoutKind.Sequential, Pack = 1)] + public struct cmd_player_mounting + { + public int id; + public int mount_id; + public ushort mount_color; + }; + + [StructLayout(LayoutKind.Sequential, Pack = 1)] + public struct cmd_summon_plant_pet + { + public int plant_tid; + public int plant_nid; + public int life_time; + }; + + [StructLayout(LayoutKind.Sequential, Pack = 1)] + public struct cmd_plant_pet_hp_notify + { + public int plant_nid; + public float hp_factor; + public int cur_hp; + public float mp_factor; + public int cur_mp; + }; } diff --git a/Assets/PerfectWorld/Scripts/Network/CSNetwork/GameSession.cs b/Assets/PerfectWorld/Scripts/Network/CSNetwork/GameSession.cs index 5652b27198..e68bd4dd7a 100644 --- a/Assets/PerfectWorld/Scripts/Network/CSNetwork/GameSession.cs +++ b/Assets/PerfectWorld/Scripts/Network/CSNetwork/GameSession.cs @@ -831,7 +831,7 @@ namespace CSNetwork #if UNITY_EDITOR BMLogger.LogError($"### GameDataSend: ERROR_MESSAGE parsed iMessage={pCmd.iMessage}"); #endif - + Debug.LogError($"### GameDataSend: ERROR_MESSAGE: {errRaw}"); if (pCmd.iMessage != 0) { // string szMsg = m_ErrorMsgs.GetWideString(pCmd.iMessage); @@ -1085,6 +1085,42 @@ namespace CSNetwork BMLogger.LogError("### GameDataSend: LEARN_SKILL"); EC_ManMessage.PostMessage(EC_MsgDef.MSG_HST_LEARNSKILL, MANAGER_INDEX.MAN_PLAYER, 0, pDataBuf, pCmdHeader); break; + case CommandID.GAIN_PET: + case CommandID.FREE_PET: + case CommandID.SUMMON_PET: + case CommandID.RECALL_PET: + case CommandID.PLAYER_START_PET_OP: + case CommandID.PLAYER_STOP_PET_OP: + case CommandID.PET_RECEIVE_EXP: + case CommandID.PET_LEVELUP: + case CommandID.PET_ROOM: + case CommandID.PET_ROOM_CAPACITY: + case CommandID.PET_HONOR_POINT: + case CommandID.PET_HUNGER_GAUGE: + case CommandID.PET_DEAD: + case CommandID.PET_REVIVE: + case CommandID.PET_HP_NOTIFY: + case CommandID.PET_AI_STATE: + case CommandID.PET_SET_COOLDOWN: + case CommandID.SUMMON_PLANT_PET: + case CommandID.PLANT_PET_DISAPPEAR: + case CommandID.PLANT_PET_HP_NOTIFY: + case CommandID.PET_PROPERTY: + case CommandID.PET_REBUILD_INHERIT_START: + case CommandID.PET_REBUILD_INHERIT_INFO: + case CommandID.PET_REBUILD_INHERIT_END: + case CommandID.PET_EVOLUTION_DONE: + case CommandID.PET_REBUILD_NATURE_START: + case CommandID.PET_REBUILD_NATURE_INFO: + case CommandID.PET_REBUILD_NATURE_END: + EC_ManMessage.PostMessage(EC_MsgDef.MSG_HST_PETOPT, MANAGER_INDEX.MAN_PLAYER, 0, pDataBuf, pCmdHeader); + break; + case CommandID.SET_PLAYER_LIMIT: + EC_ManMessage.PostMessage(EC_MsgDef.MSG_HST_SETPLAYERLIMIT, MANAGER_INDEX.MAN_PLAYER, 0, pDataBuf, pCmdHeader); + break; + case CommandID.PLAYER_MOUNTING: + EC_ManMessage.PostMessage(EC_MsgDef.MSG_PM_PLAYERMOUNT, MANAGER_INDEX.MAN_PLAYER, -1, pDataBuf, pCmdHeader); + break; case CommandID.EMBED_ITEM: EC_ManMessage.PostMessage(EC_MsgDef.MSG_HST_EMBEDITEM, MANAGER_INDEX.MAN_PLAYER, 0, pDataBuf, pCmdHeader); break; @@ -1886,6 +1922,19 @@ namespace CSNetwork gamedatasend.Data = C2SCommandFactory.CreateQueryFactionPVPInfo(faction_id); SendProtocol(gamedatasend); } + + public void SendCmdPetCtrl(int idTarget, int cmd, object pParamBuf, int iParamLen) + { + m_CmdCache.SendCmdPetCtrl(idTarget, cmd, (byte[])pParamBuf, iParamLen); + } + + public void c2s_SendCmdPetSummon(int iPetIdx) + { + gamedatasend gamedatasend = new gamedatasend(); + gamedatasend.Data = C2SCommandFactory.CreatePetSummon(iPetIdx); + SendProtocol(gamedatasend); + } + public void c2s_SendCmdNPCSevEmbed(ushort wStoneIdx, ushort wEquipIdx, int tidStone, int tidEquip) { gamedatasend gamedatasend = new gamedatasend(); diff --git a/Assets/PerfectWorld/Scripts/Network/UnityGameSession.cs b/Assets/PerfectWorld/Scripts/Network/UnityGameSession.cs index be910eaca7..c713cc208e 100644 --- a/Assets/PerfectWorld/Scripts/Network/UnityGameSession.cs +++ b/Assets/PerfectWorld/Scripts/Network/UnityGameSession.cs @@ -680,6 +680,18 @@ namespace BrewMonster.Network { _gameSession?.CmdCache?.Tick(Time.deltaTime); } + + public static void c2s_CmdPetCtrl(int idTarget, int cmd, object pParamBuf, int iParamLen) + { + Instance._gameSession.SendCmdPetCtrl(idTarget, cmd, pParamBuf, iParamLen); + } + + // Pet commands ... + public static void c2s_CmdPetSummon(int iPetIdx) + { + Instance._gameSession.c2s_SendCmdPetSummon(iPetIdx); + } + public static void c2s_CmdNPCSevEmbed(ushort wStoneIdx, ushort wEquipIdx, int tidStone, int tidEquip) { Instance._gameSession.c2s_SendCmdNPCSevEmbed(wStoneIdx, wEquipIdx, tidStone, tidEquip); diff --git a/Assets/PerfectWorld/Scripts/Pet.meta b/Assets/PerfectWorld/Scripts/Pet.meta new file mode 100644 index 0000000000..f56f875eb2 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Pet.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 64353be2a0c1d704cb4392f919960f91 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/PerfectWorld/Scripts/Pet/EC_PetCorral.cs b/Assets/PerfectWorld/Scripts/Pet/EC_PetCorral.cs new file mode 100644 index 0000000000..004b6a6a8c --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Pet/EC_PetCorral.cs @@ -0,0 +1,1128 @@ +using BrewMonster.Network; +using BrewMonster.Scripts.Managers; +using BrewMonster.Scripts.Skills; +using BrewMonster.UI; +using CSNetwork.GPDataType; +using ModelRenderer.Scripts.GameData; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Runtime.InteropServices; +using System.Text; +using UnityEngine; + +namespace BrewMonster.Scripts.Pet +{ + using PlantVec = System.Collections.Generic.List; + + // 植物宠数据 + // + public struct CECPlantPetData + { + public void Init(cmd_summon_plant_pet rhs) + { + m_tid = rhs.plant_tid; + m_nid = rhs.plant_nid; + m_lifeTime = rhs.life_time; + m_lifeTimeLeft = m_lifeTime * 1000; + } + public void Info(cmd_plant_pet_hp_notify rhs) + { + if (rhs.plant_nid == m_nid) + { + m_HPFactor = rhs.hp_factor; + m_HP = rhs.cur_hp; + m_MPFactor = rhs.mp_factor; + m_MP = rhs.cur_mp; + } + } + public void Tick(float dwDeltaTime) + { + if (m_lifeTime <= 0 || m_lifeTimeLeft <= 0) + return; + if (m_lifeTimeLeft >= (int)dwDeltaTime) + m_lifeTimeLeft -= (int)dwDeltaTime; + else + m_lifeTimeLeft = 0; + } + + int GetLifeTime() { return m_lifeTime * 1000; } // 总存活时间(毫秒) + int GetLifeTimeLeft() { return m_lifeTimeLeft; } // 剩余存活时间(毫秒) + + int m_tid; // 宠物的模板ID + public int m_nid; // 宠物的世界ID + int m_lifeTime; // 存活时间(秒数),0为永久 + int m_lifeTimeLeft; // 存活时间倒计时(毫秒数) + float m_HPFactor; // 当前 HP 占总 HP 的比例 + int m_HP; // 当前 HP + float m_MPFactor; // 当前 MP 占总 MP 的比例 + int m_MP; // 当前 MP + + public CECPlantPetData(int tid = 0, int nid = 0, int lifeTime = 0, int lifeTimeLeft = 0, float hPFactor = 1f, int hP = 0, float mPFactor = 1f, int mP = 0) + { + m_tid = tid; + m_nid = nid; + m_lifeTime = lifeTime; + m_lifeTimeLeft = lifeTimeLeft; + m_HPFactor = hPFactor; + m_HP = hP; + m_MPFactor = mPFactor; + m_MP = mP; + } + }; + + public class CECPetCorral + { + public enum ePet_MaxSlot + { + MAX_SLOTNUM = 20, // Number of normal pet slots + MAX_SLOTNUM2 = 21, // Total number of pet slots + }; + + // Moving mode + public enum ePet_MovingMode + { + MOVE_FOLLOW = 0, + MOVE_STAND, + }; + + // Attacking mode + public enum ePet_AttackingMode + { + ATK_DEFENSE = 0, + ATK_POSITIVE, + ATK_PASSIVE, + }; + + public bool m_bHasInit; // Flag indicates whether we have init the data by calling MagnifyPetSlots + + public int m_iActivePet; // Index of current active pet + public int m_iPetSlotNum; // Number of current active pet slots + public CECPetData[] m_aPetSlots = new CECPetData[(int)ePet_MaxSlot.MAX_SLOTNUM2]; // Pet slots + + public int m_nidPet; // ID of Pet as a NPC in world + public int m_iMoveMode; // Current moving mode of pet + public int m_iAttackMode; // Current attacking mode of pet + + public int m_iPetLifeTime; // 当前宠物的存活期(0表示永久) + + public PlantVec m_Plants; + + PET_EVOLVE_CONFIG m_pDBEvoConfig; + + public CECPetCorral() + { + m_iActivePet = -1; + m_iPetSlotNum = 1; + m_iMoveMode = (int)ePet_MovingMode.MOVE_FOLLOW; + m_iAttackMode = (int)ePet_AttackingMode.ATK_DEFENSE; + m_nidPet = 0; + m_iPetLifeTime = 0; + m_bHasInit = false; + + elementdataman pDB = ElementDataManProvider.GetElementDataMan(); + DATA_TYPE DataType = new DATA_TYPE(); + int index = 0; + uint id = pDB.get_data_id(ID_SPACE.ID_SPACE_CONFIG, index, ref DataType); + while(id != 0) + { + if(DataType == DATA_TYPE.DT_PET_EVOLVE_CONFIG) + { + m_pDBEvoConfig = (PET_EVOLVE_CONFIG)pDB.get_data_ptr(id, ID_SPACE.ID_SPACE_CONFIG, ref DataType); + break; + } + index += 1; + try + { + id = pDB.get_data_id(ID_SPACE.ID_SPACE_CONFIG, index, ref DataType); + } + catch + { + id = 0; + DataType = DATA_TYPE.DT_INVALID; + } + } + } + + public bool Tick(float dwDeltaTime) + { + for (int i = 0; i < m_iPetSlotNum; i++) + { + if (m_aPetSlots[i] != null) + m_aPetSlots[i].Tick(dwDeltaTime); + } + + for (int j = (int)ePet_MaxSlot.MAX_SLOTNUM; j < (int)ePet_MaxSlot.MAX_SLOTNUM2; ++j) + { + if (m_aPetSlots[j] != null) + m_aPetSlots[j].Tick(dwDeltaTime); + } + + for (int k = 0; k < GetPlantCount(); ++k) + { + CECPlantPetData? pPlant = GetPlant(k); + if (pPlant != null) + pPlant?.Tick(dwDeltaTime); + } + + return true; + } + + public int GetPlantCount() + { + return m_Plants.Count; + } + + CECPlantPetData? GetPlant(int index) + { + CECPlantPetData? pPlant = GetPlantImpl(index); + return pPlant; + } + + CECPlantPetData? GetPlantImpl(int index) + { + if (index >= 0 && index= m_iPetSlotNum && (iSlot < (int)ePet_MaxSlot.MAX_SLOTNUM || iSlot >= (int)ePet_MaxSlot.MAX_SLOTNUM2)) + { + //ASSERT(iSlot >= 0 && iSlot < m_iPetSlotNum); + return false; + } + + if (m_aPetSlots[iSlot] != null) + { + //ASSERT(!m_aPetSlots[iSlot]); + //delete m_aPetSlots[iSlot]; + m_aPetSlots[iSlot] = null; + } + + CECPetData pPet = new CECPetData(); + if (pPet == null) + { + //glb_ErrorOutput(ECERR_NOTENOUGHMEMORY, "CECPetCorral::AddPet", __LINE__); + return false; + } + + pPet.Init(Info); + + m_aPetSlots[iSlot] = pPet; + + return true; + } + + // Free a pet + public void FreePet(int iSlot, int idPet) + { + if (iSlot < 0 || iSlot >= m_iPetSlotNum && (iSlot < (int)ePet_MaxSlot.MAX_SLOTNUM || iSlot >= (int)ePet_MaxSlot.MAX_SLOTNUM2)) + { + //ASSERT(iSlot >= 0 && iSlot < m_iPetSlotNum); + return; + } + + CECPetData pPet = m_aPetSlots[iSlot]; + if (pPet != null) + { + //ASSERT(pPet.GetTemplateID() == idPet); + //delete pPet; + m_aPetSlots[iSlot] = null; + } + } + + // Remove all pets + void RemoveAll() + { + for (int i = 0; i < (int)ePet_MaxSlot.MAX_SLOTNUM2; i++) + { + if (m_aPetSlots[i] != null) + { + //delete m_aPetSlots[i]; + m_aPetSlots[i] = null; + } + } + + m_Plants.Clear(); + } + // Update pets data in corral + public void UpdatePets(cmd_pet_room cmd, byte[] data) + { + //byte[] pData = new byte[data.Length - Marshal.SizeOf(cmd)]; + //Buffer.BlockCopy(data, (Marshal.SizeOf(cmd)), pData, 0, pData.Length); + int idx = Marshal.SizeOf(cmd); + int iSlot = 0; + byte[] tempBuffer = null; + info_pet pInfo; + for (int i = 0; i < cmd.count; i++) + { + tempBuffer = new byte[Marshal.SizeOf()]; + Buffer.BlockCopy(data, idx, tempBuffer, 0, Marshal.SizeOf()); + iSlot = BitConverter.ToInt32(tempBuffer); + //pData += sizeof(int); + idx += Marshal.SizeOf(); + + tempBuffer = new byte[Marshal.SizeOf()]; + Buffer.BlockCopy(data, idx, tempBuffer, 0, Marshal.SizeOf()); + //const info_pet* pInfo = (const info_pet*)pData; + pInfo = GPDataTypeHelper.FromBytes(tempBuffer); + //pData += sizeof(info_pet); + idx += Marshal.SizeOf(); + + if (iSlot < 0 || iSlot >= m_iPetSlotNum && (iSlot < (int)ePet_MaxSlot.MAX_SLOTNUM || iSlot >= (int)ePet_MaxSlot.MAX_SLOTNUM2)) + { + if(iSlot >= 0 && iSlot < m_iPetSlotNum) + { + //TODO: print out + + } + continue; + } + + // Free old pet + if (m_aPetSlots[iSlot] != null) + { + m_aPetSlots[iSlot] = null; + } + + AddPet(iSlot, pInfo); + } + } + + // Magnify pet slots + public void MagnifyPetSlots(int iNewNum) + { + if (iNewNum > (int)ePet_MaxSlot.MAX_SLOTNUM || m_iPetSlotNum > iNewNum) + { + //ASSERT(iNewNum <= MAX_SLOTNUM && m_iPetSlotNum <= iNewNum); + return; + } + + m_iPetSlotNum = iNewNum; + } + // Check whether corral has empty slots + int GetEmptySlotNum() + { + int iCount = 0; + + for (int i = 0; i < m_iPetSlotNum; i++) + { + if (m_aPetSlots[i] == null) + iCount++; + } + + return iCount; + } + // Get number of current active pet slots + public int GetPetSlotNum() { return m_iPetSlotNum; } + // Get pet data of specified slot + public CECPetData GetPetData(int iSlot) + { + if (iSlot < 0 || iSlot >= (int)ePet_MaxSlot.MAX_SLOTNUM2) + { + //ASSERT(iSlot >= 0 && iSlot < MAX_SLOTNUM2); + return null; + } + + return m_aPetSlots[iSlot]; + } + + // Get current active pet's index + public int GetActivePetIndex() { return m_iActivePet; } + // Set current active pet's index + public void SetActivePetIndex(int iIndex) { m_iActivePet = iIndex; } + // Get current active pet's data + public CECPetData GetActivePet() + { + if (m_iActivePet >= 0 && m_iActivePet < (int)ePet_MaxSlot.MAX_SLOTNUM2) + return m_aPetSlots[m_iActivePet]; + else + return null; + } + + public void SetActivePetNPCID(int nid) { m_nidPet = nid; } + + // 查询、设置当前宠物的生存时长 + public int GetActivePetLifeTime() { return m_iPetLifeTime; } + public void SetActivePetLifetime(int lifetime) { m_iPetLifeTime = lifetime; } + + // Get / Set moving mode + public int GetMoveMode() { return m_iMoveMode; } + public void SetMoveMode(int iMode) { m_iMoveMode = iMode; } + // Get / Set attacking mode + public int GetAttackMode() { return m_iAttackMode; } + public void SetAttackMode(int iMode) { m_iAttackMode = iMode; } + // Get / Set init flag + public bool HasInit() { return m_bHasInit; } + public void SetHasInit(bool bFlag) { m_bHasInit = bFlag; } + + public void PlantPetEnter(cmd_summon_plant_pet rhs) + { + CECPlantPetData plant = new CECPlantPetData(); + plant.Init(rhs); + m_Plants.Add(plant); + } + public void PlantPetDisappear(cmd_plant_pet_disapper rhs) + { + CECPlantPetData? pPlant = GetPlantByID(rhs.plant_nid); + if (pPlant != null) + m_Plants.Remove(pPlant.Value); + } + public void PlantPetInfo(cmd_plant_pet_hp_notify rhs) + { + CECPlantPetData? pPlant = GetPlantByID(rhs.plant_nid); + if (pPlant != null) + pPlant.Value.Info(rhs); + } + + int GetPlantIndexByID(int nid) + { + for (int i = 0; i < (int)m_Plants.Count; ++i) + { + CECPlantPetData plant = m_Plants[i]; + if (plant.m_nid == nid) + return i; + } + return -1; + } + + CECPlantPetData? GetPlantByID(int nid) + { + return GetPlantByIDImpl(nid); + } + + PET_EVOLVE_CONFIG GetPetEvoConfig() + { + return m_pDBEvoConfig; + } + + bool CheckRebuildPetItemCond(int iPetIndex, int iSel, int type) // 宠物索引,选择的物品序号,type:0(进化),1(性格技能),2(洗髓系数) + { + CECPetData pPet = GetPetData(iPetIndex); + if (pPet == null) return false; + + //int(*p)[2] = NULL; + int[,] p = null; + if (type == 0) // 进化 + { + if(pPet.GetPetEssence() != null) + { + p = new int[3, 2]; + var num_evolve = GetPetEvoConfig().cost[pPet.GetPetEssence().Value.cost_index].num_evolve; + for(int r = 0; r < p.GetLength(0); r++) + { + for(int c = 0; c < p.GetLength(1); c++) + { + p[r, c] = num_evolve[r * p.GetLength(1) + c]; + } + } + } + } + else if (type == 1) // 性格 + { + if (pPet.GetPetEssence() != null) + { + p = new int[3, 2]; + var num_rand_skill = GetPetEvoConfig().cost[pPet.GetPetEssence().Value.cost_index].num_rand_skill; + for (int r = 0; r < p.GetLength(0); r++) + { + for (int c = 0; c < p.GetLength(1); c++) + { + p[r, c] = num_rand_skill[r * p.GetLength(1) + c]; + } + } + } + } + else if (type == 2) // 洗髓 + { + if (pPet.GetPetEssence() != null) + { + p = new int[3, 2]; + var num_inherit = GetPetEvoConfig().cost[pPet.GetPetEssence().Value.cost_index].num_inherit; + for (int r = 0; r < p.GetLength(0); r++) + { + for (int c = 0; c < p.GetLength(1); c++) + { + p[r, c] = num_inherit[r * p.GetLength(1) + c]; + } + } + } + } + else + { + return false; + } + + CECGameUIMan pGameUI = EC_Game.GetGameRun().GetUIManager().GetInGameUIMan(); + if (pGameUI == null) return false; + + EC_Inventory pack = EC_Game.GetGameRun().GetHostPlayer().GetPack(); + if (pack.GetItemTotalNum(37401) < p[iSel,0]) + { + // TO DO: fix later + //pGameUI.MessageBox("", pGameUI.GetStringFromTable(10110), MB_OK, A3DCOLORRGBA(255, 255, 255, 160)); + return false; // 麝灵珠不够 + } + if (pack.GetItemTotalNum(12980) < p[iSel,1]) + { + // TO DO: fix later + //pGameUI.MessageBox("", pGameUI.GetStringFromTable(10111), MB_OK, A3DCOLORRGBA(255, 255, 255, 160)); + return false; // 乾坤石不够 + } + + return true; + } + + CECPlantPetData? GetPlantByIDImpl(int nid) + { + foreach (var plant in m_Plants) + { + if (plant.m_nid == nid) + return plant; + } + return null; + } + } + + public class CECPetData + { + // Hunger level + public enum ePetData_HUNGER_LEVEL + { + HUNGER_LEVEL_0, // 饱食 + HUNGER_LEVEL_1, // 正常 + HUNGER_LEVEL_2, // 饿程度一级 + HUNGER_LEVEL_3, + HUNGER_LEVEL_4, // 饿程度二级 + HUNGER_LEVEL_5, + HUNGER_LEVEL_6, + HUNGER_LEVEL_7, // 饿程度三级 + HUNGER_LEVEL_8, + HUNGER_LEVEL_9, + HUNGER_LEVEL_10, + HUNGER_LEVEL_11, // 饿程度四级 + HUNGER_LEVEL_COUNT, + }; + + // Intimacy level + public enum ePetData_INTIMACY_LEVEL + { + INTIMACY_LEVEL_0, // 野性难驯, 0-50 + INTIMACY_LEVEL_1, // 反复无偿, 51-150 + INTIMACY_LEVEL_2, // 乖巧听话, 151-500 + INTIMACY_LEVEL_3, // 忠心耿耿, 501-999 + INTIMACY_LEVEL_COUNT, + INTIMACY_POINT_MAX = 999, + }; + + // enum + // { + // MAX_SKILLNUM = 4, // 不包括性格技能 + // }; + + public struct PETSKILL + { + public int idSkill; + public int iLevel; + public int iCoolCnt; + public int iCoolMax; + }; + + public enum SKILLTYPE + { + EM_SKILL_DEFAULT = 0, // 不区分性格技能 + EM_SKILL_NORMAL, // 普通技能 + EM_SKILL_NATURE, // 性格技能 + EM_SKILL_SPECIAL, // 专属技能 + }; + + int m_iIntimacy; // 好感度 + int m_iHunger; // 饥饿度 + int m_tid; // 宠物的模板ID + int m_tidVis; // 宠物形象的模板ID(如果为0,则表示无特殊可见ID) + int m_idEgg; // 宠物蛋的ID + int m_iClass; // 宠物类型 战宠,骑宠,观赏宠 + float m_fHPFactor; // 血量比例(复活和收回时使用) 0则为死亡 + float m_fMPFactor; + int m_iLevel; // 宠物级别 + bool m_isBind; // 是否天人合一 + bool m_canWebTrade; // 是否寻宝网可交易 + ushort m_color; // 骑宠染色颜色,高位为1时有效 + int m_iExp; // 宠物当前经验 + int m_iSkillPt; // 剩余技能点 + string m_strName; + + int m_iHP; // Only fight pets have this + int m_iMP; + PETSKILL[] m_aSkills = new PETSKILL[(int)GP_PET_SKILL_NUM.GP_PET_SKILL_NUM]; + + List m_vecNorSkillIndex = new List(); // 防止性格技能和普通技能顺序混乱的情况,保存技能在 m_aSkills里的序号 + List m_vecDynSkillIndex = new List(); + int m_iSpecialSkillIndex; // 保存专属技能在m_aSkills里的序号,只有进化宠有一个此技能 + + CECCounter m_cntAutoSkill = new CECCounter(); + List m_aAutoSkills = new List(); + + ROLEEXTPROP m_ExtProps; + PET_ESSENCE? m_pDBEssence; + + int m_iAtkRation; + int m_iDefRation; + int m_iHpRation; + int m_iAtkLvlRation; + int m_iDefLvlRation; + int m_iNature; + + public CECPetData() + { + m_iIntimacy = 0; + m_iHunger = 0; + m_tid = 0; + m_tidVis = 0; + m_idEgg = 0; + m_iClass = (int)GP_PET_TYPE.GP_PET_CLASS_INVALID; + m_fHPFactor = 0.0f; + m_fMPFactor = 0.0f; + m_iLevel = 0; + m_isBind = false; + m_canWebTrade = false; + m_color = 0; + m_iExp = 0; + m_iSkillPt = 0; + m_iHP = 0; + m_iMP = 0; + + m_vecDynSkillIndex.Clear(); + m_vecNorSkillIndex.Clear(); + m_iSpecialSkillIndex = -1; + + m_pDBEssence = null; + m_cntAutoSkill.SetPeriod(500); + + m_iAtkRation = 0; + m_iDefRation = 0; + m_iHpRation = 0; + m_iAtkLvlRation = 0; + m_iDefLvlRation = 0; + m_iNature = 0; + } + + // Initialize object + public bool Init(info_pet Info) + { + m_iIntimacy = Info.honor_point; + m_iHunger = Info.hunger; + m_tid = Info.pet_tid; + m_tidVis = Info.pet_vis_tid; + m_idEgg = Info.pet_egg_tid; + m_iClass = Info.pet_class; + m_fHPFactor = Info.hp_factor; + m_iLevel = Info.level; + m_isBind = (Info.is_bind & 0x01) != 0; + m_canWebTrade = (Info.is_bind & 0x02) != 0; + m_color = Info.color; + m_iExp = Info.exp; + m_iSkillPt = Info.skill_point; + + m_strName = new string(Info.name, 0, Info.name_len); + + elementdataman pDB = ElementDataManProvider.GetElementDataMan(); + + DATA_TYPE DataType = new DATA_TYPE(); + if (m_strName.Length == 0) + { + object pe = pDB.get_data_ptr((uint)m_tid, ID_SPACE.ID_SPACE_ESSENCE, ref DataType); + if (pe != null) + { + PET_ESSENCE petEs = (PET_ESSENCE)pe; + m_strName = new string(petEs.name + .TakeWhile(c => c != 0) + .Select(c => (char)c) + .ToArray()); + EC_Game.GetGameRun().GetUIManager().FilterBadWords(ref m_strName); + } + } + // 进化宠性格技能配置表 + object pDBData = pDB.get_data_ptr((uint)Info.evo_prop.nature, ID_SPACE.ID_SPACE_CONFIG, ref DataType); + PET_EVOLVED_SKILL_CONFIG? pDynSkills = null; + if (pDBData != null && DataType == DATA_TYPE.DT_PET_EVOLVED_SKILL_CONFIG) + { + PET_EVOLVED_SKILL_CONFIG? pSkillConfig = (PET_EVOLVED_SKILL_CONFIG)pDBData; + if (pSkillConfig != null) + pDynSkills = pSkillConfig; + } + + // Get database data + pDBData = pDB.get_data_ptr((uint)m_tid, ID_SPACE.ID_SPACE_ESSENCE, ref DataType); + if (pDBData != null) + { + if (DataType == DATA_TYPE.DT_MONSTER_ESSENCE) + { + MONSTER_ESSENCE pMonsterData = (MONSTER_ESSENCE)pDBData; + PET_EGG_ESSENCE? pEggData = (PET_EGG_ESSENCE)pDB.get_data_ptr(pMonsterData.id_pet_egg_captured, ID_SPACE.ID_SPACE_ESSENCE, ref DataType); + if (pEggData != null) + m_pDBEssence = (PET_ESSENCE)pDB.get_data_ptr((uint)pEggData.Value.id_pet, ID_SPACE.ID_SPACE_ESSENCE, ref DataType); + } + else if (DataType == DATA_TYPE.DT_PET_ESSENCE) + { + m_pDBEssence = (PET_ESSENCE)pDBData; + } + } + + m_vecDynSkillIndex.Clear(); + m_vecNorSkillIndex.Clear(); + m_iSpecialSkillIndex = -1; + + int i = 0; + for (i = 0; i < (int)GP_PET_SKILL_NUM.GP_PET_SKILL_NUM; i++) + { + int skill_id = Info.skills[i].skill; + + m_aSkills[i].idSkill = skill_id; + m_aSkills[i].iLevel = Info.skills[i].level; + + if (m_pDBEssence != null && (skill_id > 0)) + { + if (skill_id == m_pDBEssence.Value.specific_skill) + { + m_iSpecialSkillIndex = i; + continue; + } + } + + bool bNormal = true; + if (pDynSkills != null) + { + for (int j = 0; j < 2; j++) // 俩个性格技能 + { + if (pDynSkills?.skills[j].id == skill_id) + { + m_vecDynSkillIndex.Add(i); + bNormal = false; + break; // + } + } + } + if (bNormal) + m_vecNorSkillIndex.Add(i); + } + + m_iAtkRation = Info.evo_prop.r_attack; + m_iDefRation = Info.evo_prop.r_defense; + m_iHpRation = Info.evo_prop.r_hp; + m_iAtkLvlRation = Info.evo_prop.r_atk_lvl; + m_iDefLvlRation = Info.evo_prop.r_def_lvl; + m_iNature = Info.evo_prop.nature; + + return true; + } + + // Add experience + public int AddExp(int iExp) + { + m_iExp += iExp; + return m_iExp; + } + // Level up + public int LevelUp(int iLevel, int iNewExp) + { + m_iLevel = iLevel; + m_iExp = iNewExp; + return m_iLevel; + } + + // Get properties + public int GetIntimacy() { return m_iIntimacy; } + public void SetIntimacy(int iValue) { m_iIntimacy = iValue; } + public int GetHunger() { return m_iHunger; } + public void SetHunger(int iValue) { m_iHunger = iValue; } + public int GetTemplateID() { return m_tid; } + public int GetVisibleID() { return m_tidVis; } + public int GetEggID() { return m_idEgg; } + public int GetClass() { return m_iClass; } + public int GetLevel() { return m_iLevel; } + public ushort GetColor() { return m_color; } + public bool IsBind() { return m_isBind; } + public bool CanWebTrade() { return m_canWebTrade; } + public int GetExp() { return m_iExp; } + public int GetSkillPt() { return m_iSkillPt; } + public string GetName() { return m_strName; } + + public float GetHPFactor() { return m_fHPFactor; } + public void SetHPFactor(float fFactor) { m_fHPFactor = fFactor; } + + public void SetMPFactor(float fFactor) { m_fMPFactor = fFactor; } + public float GetMPFactor() { return m_fMPFactor; } + + public int GetHP() { return m_iHP; } + public void SetHP(int iHP) { m_iHP = iHP; } + + public int GetMP() { return m_iMP; } + public void SetMP(int iMP) { m_iMP = iMP; } + + // Set skill cool time + public void SetSkillCoolTime(int iCoolIdx, int iTime) + { + if (iCoolIdx <= (int)CoolTimeIndex.GP_CT_SKILL_START) + return; + + int idSkill = iCoolIdx - (int)CoolTimeIndex.GP_CT_SKILL_START; + int i = 0; + for (i = 0; i < (int)GP_PET_SKILL_NUM.GP_PET_SKILL_NUM; i++) + { + PETSKILL s = m_aSkills[i]; + if (s.idSkill == idSkill) + { + s.iCoolMax = iTime; + s.iCoolCnt = iTime; + return; + } + } + } + + // Get skill cool time + public int GetSkillCoolTime(SKILLTYPE iType, int iSkillIdx, ref int? piMax) + { + if (iType == SKILLTYPE.EM_SKILL_DEFAULT) + { + if (iSkillIdx >= 0 && iSkillIdx < (int)GP_PET_SKILL_NUM.GP_PET_SKILL_NUM) + { + PETSKILL s = m_aSkills[iSkillIdx]; + if (piMax != null) piMax = s.iCoolMax; + return s.iCoolCnt; + } + } + else if (iType == SKILLTYPE.EM_SKILL_NORMAL) + { + if (iSkillIdx >= 0 && iSkillIdx < (int)GP_PET_SKILL_NUM.GP_PET_SKILL_NUM && iSkillIdx < m_vecNorSkillIndex.Count) + { + PETSKILL s = m_aSkills[m_vecNorSkillIndex[iSkillIdx]]; + if (piMax != null) piMax = s.iCoolMax; + return s.iCoolCnt; + } + } + else if (iType == SKILLTYPE.EM_SKILL_NATURE) + { + if (iSkillIdx >= 0 && iSkillIdx < (int)eGP_PET_NATURE_SKILL.GP_PET_NATURE_SKILL_NUM && iSkillIdx < m_vecDynSkillIndex.Count) + { + PETSKILL s = m_aSkills[m_vecDynSkillIndex[iSkillIdx]]; + if (piMax != null) piMax = s.iCoolMax; + return s.iCoolCnt; + } + } + else if (iType == SKILLTYPE.EM_SKILL_SPECIAL) + { + if (m_iSpecialSkillIndex >= 0) + { + PETSKILL s = m_aSkills[m_iSpecialSkillIndex]; + if (piMax != null) piMax = s.iCoolMax; + return s.iCoolCnt; + } + } + + if (piMax != null) piMax = 0; + return 0; + } + + // Check whether pet is dead + public bool IsDead() { return Math.Abs(m_fHPFactor - 0f) < float.Epsilon; } + + // Calculate max hp of pet + public int CalcMaxHP() + { + int iVal = 1; + if (GetHPFactor() > 1e-6f) + iVal = (int)(GetHP() / GetHPFactor()); + return iVal; + } + + // Get skill by index + public PETSKILL? GetSkill(SKILLTYPE iType, int n) + { + if (iType == SKILLTYPE.EM_SKILL_DEFAULT) + { + if (n >= 0 && n < (int)GP_PET_SKILL_NUM.GP_PET_SKILL_NUM) + return m_aSkills[n]; + } + else if (iType == SKILLTYPE.EM_SKILL_NORMAL) + { + if (n >= 0 && n < (int)GP_PET_SKILL_NUM.GP_PET_SKILL_NUM && n < m_vecNorSkillIndex.Count) + return m_aSkills[m_vecNorSkillIndex[n]]; + } + else if (iType == SKILLTYPE.EM_SKILL_NATURE) + { + if (n >= 0 && n < (int)eGP_PET_NATURE_SKILL.GP_PET_NATURE_SKILL_NUM && n < (int)m_vecDynSkillIndex.Count) + return m_aSkills[m_vecDynSkillIndex[n]]; + } + else if (iType == SKILLTYPE.EM_SKILL_SPECIAL) + { + if (m_iSpecialSkillIndex >= 0) + return m_aSkills[m_iSpecialSkillIndex]; + } + + return null; + } + + // Get skill by id + public PETSKILL? GetSkillByID(int id) + { + int i = 0; + for (i = 0; i < (int)GP_PET_SKILL_NUM.GP_PET_SKILL_NUM; i++) + { + PETSKILL s = m_aSkills[i]; + if (s.idSkill == id) + { + return s; + } + } + + return null; + } + // Get valid skill number + public int GetSkillNum(SKILLTYPE iType) + { + int i, iCount = 0; + + if (iType == SKILLTYPE.EM_SKILL_DEFAULT) + { + for (i = 0; i < (int)GP_PET_SKILL_NUM.GP_PET_SKILL_NUM; i++) + { + if (m_aSkills[i].idSkill != 0) + iCount++; + } + + return iCount; + } + else if (iType == SKILLTYPE.EM_SKILL_NORMAL) + { + return m_vecNorSkillIndex.Count; + } + else if (iType == SKILLTYPE.EM_SKILL_NATURE) + { + return m_vecDynSkillIndex.Count; + } + else if (iType == SKILLTYPE.EM_SKILL_SPECIAL) + { + return 1; + } + + return 0; // + } + + // 获取用于显示的属性 + public ROLEEXTPROP GetExtendProps() { return m_ExtProps; } + public void SetExtendProps(ROLEEXTPROP prop) { m_ExtProps = prop; } + + public bool IsFollowPet() + { + if (m_pDBEssence == null) + { + return false; + } + return m_pDBEssence.Value.id_type == 8783; + } + public bool IsMountPet() + { + if (m_pDBEssence == null) + { + return false; + } + return m_pDBEssence.Value.id_type == 8781; + } + public bool IsCombatPet() + { + if (m_pDBEssence == null) + { + return false; + } + return m_pDBEssence?.id_type == 8782; + } + public bool IsSummonPet() + { + if (m_pDBEssence == null) + { + return false; + } + return m_pDBEssence?.id_type == 28752; + } + public bool IsPlantPet() + { + if (m_pDBEssence == null) + { + return false; + } + return m_pDBEssence?.id_type == 28913; + } + public bool IsEvolutionPet() + { + if (m_pDBEssence == null) + { + return false; + } + return m_pDBEssence?.id_type == 37698; + } + + public int GetAtkRation() { return m_iAtkRation; } + int GetDefRation() { return m_iDefRation; } + int GetHpRation() { return m_iHpRation; } + int GetAtkLvlRation() { return m_iAtkLvlRation; } + int GetDefLvlRation() { return m_iDefLvlRation; } + int GetNatureID() { return m_iNature; } + public string GetNature() + { + elementdataman pDB = ElementDataManProvider.GetElementDataMan(); + DATA_TYPE DataType = new DATA_TYPE(); + object pDBData = pDB.get_data_ptr((uint)m_iNature, ID_SPACE.ID_SPACE_CONFIG, ref DataType); + if (pDBData != null) + { + if (DataType == DATA_TYPE.DT_PET_EVOLVED_SKILL_CONFIG) + { + PET_EVOLVED_SKILL_CONFIG? pSkillConfig = (PET_EVOLVED_SKILL_CONFIG)pDBData; + if (pSkillConfig != null) + { + return new string((char[])(Array)pSkillConfig?.name); + } + } + } + return ""; + } + + // 添加自动释放技能 + public void AddAutoSkill(int skill_id) + { + m_aAutoSkills.Add(skill_id); + } + public void CastAutoSkill() + { + if (m_aAutoSkills.Count == 0) + return; + + int skill_id = m_aAutoSkills[m_aAutoSkills.Count - 1]; + CECHostPlayer pHost = EC_Game.GetGameRun().GetHostPlayer(); + int idPet = pHost.GetPetCorral().GetActivePetNPCID(); + + CMDPARAM param = new CMDPARAM(); + param.idSkill = skill_id; + param.byPVPMask = EC_Utility.glb_BuildPVPMask(EC_Utility.glb_GetForceAttackFlag(null)); + + int iSkillType = ElementSkill.GetType((uint)param.idSkill); + int idTarget = 0; + + if (iSkillType == (int)skill_type.TYPE_BLESSPET) + { + idTarget = idPet; + } + else + { + idTarget = pHost.GetSelectedTarget(); + + if (iSkillType == (int)skill_type.TYPE_ATTACK || iSkillType == (int)skill_type.TYPE_CURSE) + { + bool bForctAttack = EC_Utility.glb_GetForceAttackFlag(null); + if (pHost.AttackableJudge(idTarget, bForctAttack) != 1) + { + OnAutoCastOver(skill_id); + return; + } + } + } + + UnityGameSession.c2s_CmdPetCtrl(idTarget, 4, param, Marshal.SizeOf(param)); + } + + public void OnAutoCastOver(int skill_id) + { + int index = m_aAutoSkills.IndexOf(skill_id); + if (index != -1) + m_aAutoSkills.RemoveAt(index); + } + public void OnPetDead() + { + m_aAutoSkills.Clear(); + } + + public bool CanEvolution() + { + if (m_pDBEssence == null) + { + return false; + } + return m_pDBEssence?.id_pet_egg_evolved != 0; + } + public int GetEvolutionID() + { + if (m_pDBEssence == null) return 0; + + DATA_TYPE DataType = new DATA_TYPE(); + object pDB = ElementDataManProvider.GetElementDataMan().get_data_ptr((uint)m_pDBEssence?.id_pet_egg_evolved, ID_SPACE.ID_SPACE_ESSENCE, ref DataType); + if (pDB == null) + { + return 0; + } + PET_EGG_ESSENCE pet = (PET_EGG_ESSENCE)pDB; + return pet.id_pet; + } + public static int GetEvolutionID(int pet_tid) + { + elementdataman pDB = ElementDataManProvider.GetElementDataMan(); + DATA_TYPE DataType = new DATA_TYPE(); + + object pet = pDB.get_data_ptr((uint)pet_tid, ID_SPACE.ID_SPACE_ESSENCE, ref DataType); + if (pet != null) + { + PET_ESSENCE pESS = (PET_ESSENCE)pet; + pet = pDB.get_data_ptr(pESS.id_pet_egg_evolved, ID_SPACE.ID_SPACE_ESSENCE, ref DataType); + if (pet != null) + { + PET_EGG_ESSENCE pEgg = (PET_EGG_ESSENCE)pet; + return pEgg.id_pet; + } + } + return 0; + } + + public PET_ESSENCE? GetPetEssence() { return m_pDBEssence; } + + public int GetMaxExp() + { + DATA_TYPE DataType = new DATA_TYPE(); + object pDB = ElementDataManProvider.GetElementDataMan().get_data_ptr(592, ID_SPACE.ID_SPACE_CONFIG, ref DataType); + if (pDB == null) + { + return 0; + } + PLAYER_LEVELEXP_CONFIG PetLevelUpExp = (PLAYER_LEVELEXP_CONFIG)pDB; + return PetLevelUpExp.exp[m_iLevel - 1]; + } + + public bool Tick(float dwDeltaTime) + { + // Update cool time + int i = 0; + for (i = 0; i < (int)GP_PET_SKILL_NUM.GP_PET_SKILL_NUM; i++) + { + PETSKILL s = m_aSkills[i]; + if (s.idSkill != 0 && s.iCoolMax != 0 && s.iCoolCnt != 0) + { + s.iCoolCnt -= (int)(dwDeltaTime * 1000); + AAssist.a_ClampFloor(ref s.iCoolCnt, 0); + } + } + + // Auto cast skill + if (m_cntAutoSkill.IncCounter(dwDeltaTime)) + { + CastAutoSkill(); + m_cntAutoSkill.Reset(); + } + + return true; + } + } +} diff --git a/Assets/PerfectWorld/Scripts/Pet/EC_PetCorral.cs.meta b/Assets/PerfectWorld/Scripts/Pet/EC_PetCorral.cs.meta new file mode 100644 index 0000000000..7fa4798c6c --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Pet/EC_PetCorral.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 9d73d6ebcbf227b478aec9344986734f \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Players/CECActionContext.cs b/Assets/PerfectWorld/Scripts/Players/CECActionContext.cs index 7ea53badec..c85da656bb 100644 --- a/Assets/PerfectWorld/Scripts/Players/CECActionContext.cs +++ b/Assets/PerfectWorld/Scripts/Players/CECActionContext.cs @@ -1,3 +1,5 @@ +using BrewMonster.Assets.PerfectWorld.Scripts.Players; +using System.Collections.Generic; using UnityEngine; namespace BrewMonster @@ -14,10 +16,33 @@ namespace BrewMonster public class CECActionContext { public ActionContextType ContextType { get; set; } + public List m_actions; + CECHostPlayer m_pHostPlayer; + bool m_bForceRemove; + CECContextValidChecker m_ErrorCtr; public bool IsContext(ActionContextType contextType) { return ContextType == contextType; } + + public int GetActionCount() { return m_actions.Count; } + + public CECActionBase GetLastAction() + { + return GetAction(GetActionCount() - 1); + } + + public CECActionBase GetAction(int index) + { + if (index >= 0 && index < GetActionCount()) + return m_actions[index]; + else + return null; + } + + public virtual bool NeedCheckValid() { return false; } + public CECHostPlayer GetHostPlayer() { return m_pHostPlayer;} + public void SetForceRemove(bool v) { m_bForceRemove = v; } } } diff --git a/Assets/PerfectWorld/Scripts/Players/CECActionSwitcherBase.cs b/Assets/PerfectWorld/Scripts/Players/CECActionSwitcherBase.cs index 9c72e03750..1b270a0c84 100644 --- a/Assets/PerfectWorld/Scripts/Players/CECActionSwitcherBase.cs +++ b/Assets/PerfectWorld/Scripts/Players/CECActionSwitcherBase.cs @@ -6,6 +6,186 @@ using System.Threading.Tasks; namespace BrewMonster.Assets.PerfectWorld.Scripts.Players { + public abstract class CECActionBase + { + public enum ACTION_RESULT + { + FD_NONE = 0, + FD_SUCC, + FD_FAIL, + }; + + public CECHostPlayer m_pHostPlayer; + public ACTION_RESULT m_iFirstDoRes; + public CECActionSequencedRelationFilter m_ActionFilter; + + public CECActionBase(CECHostPlayer pHost) + { + m_pHostPlayer = pHost; + m_iFirstDoRes = (ACTION_RESULT.FD_NONE); + m_ActionFilter = null; + } + + public bool NeedBeRemoved() + { + return (m_iFirstDoRes != ACTION_RESULT.FD_NONE); + } + public CECActionSequencedRelationFilter GetActionFilter() { return m_ActionFilter; } + + public abstract bool CanDo(); + public abstract bool DoOnce(); + + public virtual bool Update(uint dt) + { + FlagKeeper keeper = new FlagKeeper(m_pHostPlayer.GetActionSwitcher()); + + // do once + if (CanDo() && m_iFirstDoRes == ACTION_RESULT.FD_NONE) + m_iFirstDoRes = DoOnce() ? ACTION_RESULT.FD_SUCC : ACTION_RESULT.FD_FAIL; + + return true; + } + public virtual bool CanAddTo(CECActionContext pContext) + { + return m_ActionFilter != null && m_ActionFilter.CanAddAction(pContext, this); + } + + }; + + public abstract class CECFitlerBase + { + public abstract bool CanAddAction(CECActionContext pContext, CECActionBase pAct); + } + + public abstract class CECActionSequencedRelationFilter : CECFitlerBase + { + public override bool CanAddAction(CECActionContext pContext, CECActionBase pAct) + { + // If the action queue is empty and the action can be executed, then add it. + if (pContext.GetActionCount() == 0 && pAct.CanDo()) + return true; + + // Determine the predecessor鈥搒uccessor order relationship of actions in the action queue. + CECActionBase pLastAct = pContext != null ? pContext.GetLastAction() : null; + CECActionSequencedRelationFilter filter = pLastAct != null ? pLastAct.GetActionFilter() : null; + if (filter != null && filter.IsPredecessorTo(pAct.GetActionFilter())) + return true; + + return false; + } + + public abstract bool IsPredecessorTo(CECActionSequencedRelationFilter cECActionSequencedRelationFilter); + + public virtual bool IsSuccessorTo(CECCancelRideActionFilter pFilter) { return false; } + public virtual bool IsSuccessorTo(CECRideActionFilter pFilter) { return false; } + public virtual bool IsSuccessorTo(CECLandingActionFilter pFilter) { return false; } + public virtual bool IsSuccessorTo(CECFlyActionFilter pFilter) { return false; } + public virtual bool IsSuccessorTo(CECSkillActionFilter pFilter) { return false; } + public virtual bool IsSuccessorTo(CECUseSkillItemActionFilter pFilter) { return false; } + }; + + public class FlagKeeper + { + public CECActionSwitcherBase m_pSwitcher; + public FlagKeeper(CECActionSwitcherBase pSwitcher) + { + m_pSwitcher = pSwitcher; + pSwitcher.SetPostMessageFlag(false); + } + }; + + public class CECCancelRideActionFilter : CECActionSequencedRelationFilter + { + public bool IsSuccessorTo(CECRideActionFilter filter ) { return true; } + + public override bool IsPredecessorTo(CECActionSequencedRelationFilter pFilter) + { + return pFilter.IsSuccessorTo(this); + } + }; + + public class CECRideActionFilter : CECActionSequencedRelationFilter + { + public virtual bool IsSuccessorTo(CECCancelRideActionFilter filter) { return true; } + public virtual bool IsSuccessorTo(CECLandingActionFilter filter ) { return true; } + + public override bool IsPredecessorTo(CECActionSequencedRelationFilter pFilter) + { + return pFilter.IsSuccessorTo(this); + } + }; + + public class CECLandingActionFilter : CECActionSequencedRelationFilter + { + public virtual bool IsSuccessorTo(CECFlyActionFilter filter) { return true; } + public override bool IsPredecessorTo(CECActionSequencedRelationFilter pFilter) + { + return pFilter.IsSuccessorTo(this); + } + }; + + public class CECFlyActionFilter : CECActionSequencedRelationFilter + { + public virtual bool IsSuccessorTo(CECCancelRideActionFilter pFilter) { return true; } + public virtual bool IsSuccessorTo(CECLandingActionFilter pFilter) { return true; } + public override bool IsPredecessorTo(CECActionSequencedRelationFilter pFilter) + { + return pFilter.IsSuccessorTo(this); + } + }; + + public class CECSkillActionFilter : CECActionSequencedRelationFilter + { + public virtual bool IsSuccessorTo(CECCancelRideActionFilter pFilter) { return true; } + public virtual bool IsSuccessorTo(CECLandingActionFilter pFilter) { return true; } + public virtual bool IsSuccessorTo(CECFlyActionFilter pFilter) { return true; } + public override bool IsPredecessorTo(CECActionSequencedRelationFilter pFilter) + { + return pFilter.IsSuccessorTo(this); + } + }; + + public class CECUseSkillItemActionFilter : CECActionSequencedRelationFilter + { + public virtual bool IsSuccessorTo(CECCancelRideActionFilter pFilter) { return true; } + public virtual bool IsSuccessorTo(CECLandingActionFilter pFilter) { return true; } + public virtual bool IsSuccessorTo(CECFlyActionFilter pFilter) { return true; } + public override bool IsPredecessorTo(CECActionSequencedRelationFilter pFilter) + { + return pFilter.IsSuccessorTo(this); + } + }; + + public class CECContextValidChecker + { + public CECContextValidChecker(CECActionContext context) + { + m_pActionContext = context; + error_correct = 0; + } + + public virtual void Update(uint dt) + { + //After the client sends mount or dismount commands, it immediately sends a movement message. + // As a result, the mount/ dismount operation on the server may fail, but the client is not notified. + // Therefore, a confirmation check is required here. + if (m_pActionContext.GetActionCount() != 0 && m_pActionContext.NeedCheckValid()) + { + error_correct += (int)dt; + + if (error_correct > MAX_ERRORTIME && !m_pActionContext.GetHostPlayer().GetWorkMan().IsOperatingPet()) + { + m_pActionContext.SetForceRemove(true); + error_correct = 0; + } + } + } + + public int error_correct; + public CECActionContext m_pActionContext; + public const int MAX_ERRORTIME = 3000; + }; + public class CECActionSwitcherBase { CECHostPlayer m_pHostPlayer; @@ -23,6 +203,9 @@ namespace BrewMonster.Assets.PerfectWorld.Scripts.Players if (CanAddMessage()) m_msgs.UniquelyAdd(msg); } + public void SetPostMessageFlag(bool bCan) { m_bCanAddMsg = bCan; } + + public virtual bool OnFlyToRideAction(int petIndex) { return false; } // fly -> ride } public enum EMsgActionSwitcher diff --git a/Assets/PerfectWorld/Scripts/Players/EC_ElsePlayer.cs b/Assets/PerfectWorld/Scripts/Players/EC_ElsePlayer.cs index c0780f7399..65595d0b06 100644 --- a/Assets/PerfectWorld/Scripts/Players/EC_ElsePlayer.cs +++ b/Assets/PerfectWorld/Scripts/Players/EC_ElsePlayer.cs @@ -439,6 +439,9 @@ namespace BrewMonster case long value when value == EC_MsgDef.MSG_PM_PLAYERGATHER: OnMsgPlayerGather(Msg); break; + case long value when value == EC_MsgDef.MSG_PM_PLAYERMOUNT: + OnMsgPlayerMount(Msg); + break; } return true; } diff --git a/Assets/PerfectWorld/Scripts/Players/EC_HostMsg.cs b/Assets/PerfectWorld/Scripts/Players/EC_HostMsg.cs new file mode 100644 index 0000000000..5fbbf8c895 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Players/EC_HostMsg.cs @@ -0,0 +1,492 @@ +using BrewMonster.Network; +using BrewMonster.Scripts; +using BrewMonster.Scripts.Pet; +using BrewMonster.UI; +using CSNetwork; +using CSNetwork.GPDataType; +using System; +using System.Runtime.InteropServices; +using UnityEngine; +using static BrewMonster.Scripts.Pet.CECPetData; + +namespace BrewMonster +{ + public partial class CECHostPlayer + { + + // 服务器控制的额外操作限制 + public enum PLAYER_LIMIT + { + PLAYER_LIMIT_NOFLY, // 禁止"飞行/取消飞行" + PLAYER_LIMIT_NOCHANGESELECT, // 禁止"选中/取消选中/协助攻击" + PLAYER_LIMIT_NOMOUNT, // 禁止召唤骑宠 + PLAYER_LIMIT_NOBIND, // 禁止"发起/接收相依相偎" + PLAYER_LIMIT_MAX, + }; + + // Update pet shortcut when pet freeed + void UpdateFreedPetSC(int iPetIndex) + { + // TO DO: fix later + //int i; + + //// Update shortcut sets 1 + //for (i = 0; i < (int)Shortcut.NUM_HOSTSCSETS1; i++) + //{ + // if (m_aSCSets1[i] != null) + // m_aSCSets1[i].UpdateFreedPetSC(iPetIndex); + //} + + //// Update shortcut sets 2 + //for (i = 0; i < (int)Shortcut.NUM_HOSTSCSETS2; i++) + //{ + // if (m_aSCSets2[i] != null) + // m_aSCSets2[i].UpdateFreedPetSC(iPetIndex); + //} + } + + bool OnPetSays(int tid, int nid, int type) + { + bool bSaid = false; + + //CECNPC pNPC = EC_Game.GetGameRun().GetWorld().GetNPCMan().GetNPCFromAll(nid); + //if (pNPC && pNPC.GetMasterID() == GetCharacterID()) + //{ + // const ACHAR* szWords = m_pPetWords.GetWords(tid, (CECPetWords::TYPE_WORDS)type); + // if (szWords) + // { + // pNPC.SetLastSaidWords(szWords, 5000); + // bSaid = true; + // } + //} + + return bSaid; + } + + /* Is host operating pet ? + return value: + + 0: host doesn't operating pet. + 1: host is summoning pet. + 2: host is recalling pet. + 3: host is banishing pet. + */ + int CIsOperatingPet() + { + CECHPWorkConcentrate pWork = (m_pWorkMan.GetRunningWork(CECHPWork.Host_work_ID.WORK_CONCENTRATE)) as CECHPWorkConcentrate; + if (pWork != null) + { + if (pWork.GetDoWhat() == (int)CECHPWorkConcentrate.eDO_PET.DO_SUMMONPET) + return 1; + else if (pWork.GetDoWhat() == (int)CECHPWorkConcentrate.eDO_PET.DO_RECALLPET) + return 2; + else if (pWork.GetDoWhat() == (int)CECHPWorkConcentrate.eDO_PET.DO_BANISHPET) + return 3; + else if (pWork.GetDoWhat() == (int)CECHPWorkConcentrate.eDO_PET.DO_RESTOREPET) + return 4; + } + return 0; + } + + void OnMsgHstPetOpt(ECMSG Msg) + { + + CECGameRun pGameRun = EC_Game.GetGameRun(); + int header = Convert.ToInt32(Msg.dwParam2); + switch (header) + { + case CommandID.GAIN_PET: + { + cmd_gain_pet pCmd = GPDataTypeHelper.FromBytes((byte[])Msg.dwParam1); + m_pPetCorral.AddPet(pCmd.slot_index, pCmd.data); + + // Print a notify + CECPetData pPet = m_pPetCorral.GetPetData(pCmd.slot_index); + if (pPet != null) + { + if (pPet.IsFollowPet() || pPet.IsCombatPet() || pPet.IsEvolutionPet()) + { + // TO DO: fix later + //pGameRun.AddFixedMessage(FIXMSG_PET_HATCH, pPet.GetName()); + } + else if (pPet.IsSummonPet()) + { + // TO DO: fix later + //pGameRun.AddFixedMessage(FIXMSG_SUMMON_PET_APPEAR, pPet.GetName()); + } + } + + break; + } + + case CommandID.FREE_PET: + { + cmd_free_pet pCmd = GPDataTypeHelper.FromBytes((byte[])Msg.dwParam1); + + // Print a notify + CECPetData pPet = m_pPetCorral.GetPetData(pCmd.slot_index); + if (pPet != null) + { + if (pPet.IsFollowPet() || pPet.IsCombatPet() || pPet.IsEvolutionPet()) + { + // TO DO: fix later + //pGameRun.AddFixedMessage(FIXMSG_PET_FREE, pPet.GetName()); + } + else if (pPet.IsSummonPet()) + { + // TO DO: fix later + //pGameRun.AddFixedMessage(FIXMSG_SUMMON_PET_DISAPPEAR, pPet.GetName()); + } + } + + // Remove pet from corral + m_pPetCorral.FreePet(pCmd.slot_index, pCmd.pet_id); + // Update pet shortcuts + UpdateFreedPetSC(pCmd.slot_index); + + break; + } + case CommandID.SUMMON_PET: + { + cmd_summon_pet pCmd = GPDataTypeHelper.FromBytes((byte[])Msg.dwParam1); + CECPetData pPet = m_pPetCorral.GetPetData(pCmd.slot_index); + //ASSERT(pPet && pPet.GetTemplateID() == pCmd.pet_tid); + m_pPetCorral.SetActivePetIndex(pCmd.slot_index); + m_pPetCorral.SetActivePetNPCID(pCmd.pet_pid); + m_pPetCorral.SetActivePetLifetime(pCmd.life_time); + + if (EC_Game.GetConfigs().GetGameSettings().bPetAutoSkill) + { + for (int i = 0; i < pPet.GetSkillNum(SKILLTYPE.EM_SKILL_DEFAULT); i++) + { + PETSKILL? pSkill = pPet.GetSkill(SKILLTYPE.EM_SKILL_DEFAULT, i); + if (pSkill != null && EC_Game.IsPetAutoSkill(pSkill.Value.idSkill)) + pPet.AddAutoSkill(pSkill.Value.idSkill); + } + } + + // TO DO: fix later + //OnPetSays(pCmd.pet_tid, pCmd.pet_pid, CECPetWords::TW_SUMMON); + //if (pPet.IsCombatPet() || pPet.IsSummonPet() || pPet.IsEvolutionPet()) + // CDlgQuickBarPet::ResetAutoCastSkill(); + break; + } + case CommandID.RECALL_PET: + { + cmd_recall_pet pCmd = GPDataTypeHelper.FromBytes((byte[])Msg.dwParam1); + //ASSERT(pCmd.slot_index == m_pPetCorral.GetActivePetIndex()); + + int tid = pCmd.pet_id; + int nid = m_pPetCorral.GetActivePetNPCID(); + + // 宠物有话说 + switch (pCmd.reason) + { + case (char)PET_RECALL_REASON.PET_RECALL_DEFAULT: + //OnPetSays(tid, nid, CECPetWords::TW_RECALL); + break; + + case (char)PET_RECALL_REASON.PET_RECALL_DEATH: + //OnPetSays(tid, nid, CECPetWords::TW_DEAD); + break; + + case (char)PET_RECALL_REASON.PET_RECALL_LIFE_EXHAUST: + //OnPetSays(tid, nid, CECPetWords::TW_DISAPPEAR); + break; + + case (char)PET_RECALL_REASON.PET_RECALL_SACRIFICE: + //OnPetSays(tid, nid, CECPetWords::TW_SACRIFICE); + break; + } + + CECPetData pPet = m_pPetCorral.GetActivePet(); + if (pPet != null) + pPet.OnPetDead(); + + m_pPetCorral.SetActivePetIndex(-1); + m_pPetCorral.SetActivePetNPCID(0); + m_bPetInSanctuary = false; + break; + } + case CommandID.PLAYER_START_PET_OP: + { + cmd_player_start_pet_op pCmd = GPDataTypeHelper.FromBytes((byte[])Msg.dwParam1); + int iDoWhat; + if (pCmd.op == 0) + iDoWhat = (int)CECHPWorkConcentrate.eDO_PET.DO_SUMMONPET; + else if (pCmd.op == 1) + iDoWhat = (int)CECHPWorkConcentrate.eDO_PET.DO_RECALLPET; + else if (pCmd.op == 2) + iDoWhat = (int)CECHPWorkConcentrate.eDO_PET.DO_BANISHPET; + else if (pCmd.op == 3) + iDoWhat = (int)CECHPWorkConcentrate.eDO_PET.DO_RESTOREPET; + else + iDoWhat = (int)CECHPWorkConcentrate.eDO_PET.DO_UNKNOWN; + + m_PetOptCnt.SetPeriod(pCmd.delay * 50); + m_PetOptCnt.Reset(); + + CECHPWorkConcentrate pWork = (CECHPWorkConcentrate)m_pWorkMan.CreateWork(CECHPWork.Host_work_ID.WORK_CONCENTRATE); + pWork.SetDoWhat(iDoWhat); + m_pWorkMan.StartWork_p1(pWork); + break; + } + case CommandID.PLAYER_STOP_PET_OP: + { + if (IsOperatingPet() != 0) + m_pWorkMan.FinishRunningWork(CECHPWork.Host_work_ID.WORK_CONCENTRATE); + + break; + } + case CommandID.PET_RECEIVE_EXP: + { + cmd_pet_receive_exp pCmd = GPDataTypeHelper.FromBytes((byte[])Msg.dwParam1); + CECPetData pPet = m_pPetCorral.GetPetData(pCmd.slot_index); + if (pPet != null) + { + //ASSERT(pPet.GetTemplateID() == pCmd.pet_id); + pPet.AddExp(pCmd.exp); + } + + break; + } + case CommandID.PET_LEVELUP: + { + cmd_pet_levelup pCmd = GPDataTypeHelper.FromBytes((byte[])Msg.dwParam1); + CECPetData pPet = m_pPetCorral.GetPetData(pCmd.slot_index); + if (pPet != null) + { + //ASSERT(pPet.GetTemplateID() == pCmd.pet_id); + pPet.LevelUp(pCmd.level, pCmd.exp); + } + + //pGameRun.AddFixedMessage(FIXMSG_PET_LEVELUP, pCmd.level); + break; + } + case CommandID.PET_ROOM: + { + cmd_pet_room pCmd = GPDataTypeHelper.FromBytes((byte[])Msg.dwParam1); + m_pPetCorral.UpdatePets(pCmd, (byte[])Msg.dwParam1); + + CECGameUIMan pGameUI = EC_Game.GetGameRun().GetUIManager().GetInGameUIMan(); + + //if (pGameUI.GetDialog("Win_Teach").IsShow()) + // { + // //pGameUI.UpdateTeach(); + // } + + break; + } + case CommandID.PET_ROOM_CAPACITY: + { + cmd_pet_room_capacity pCmd = GPDataTypeHelper.FromBytes((byte[])Msg.dwParam1); + m_pPetCorral.MagnifyPetSlots((int)pCmd.capacity); + + if (m_pPetCorral.HasInit()) + { + //pGameRun.AddFixedMessage(FIXMSG_PET_ROOM_SIZE, pCmd.capacity); + } + else + m_pPetCorral.SetHasInit(true); + break; + } + case CommandID.PET_HONOR_POINT: + { + cmd_pet_honor_point pCmd = GPDataTypeHelper.FromBytes((byte[])Msg.dwParam1); + CECPetData pPet = m_pPetCorral.GetPetData(pCmd.index); + if (pPet != null) + pPet.SetIntimacy(pCmd.cur_honor_point); + + break; + } + case CommandID.PET_HUNGER_GAUGE: + { + cmd_pet_hunger_gauge pCmd = GPDataTypeHelper.FromBytes((byte[])Msg.dwParam1); + CECPetData pPet = m_pPetCorral.GetPetData(pCmd.index); + if (pPet != null) + pPet.SetHunger(pCmd.cur_hunge_gauge); + + break; + } + case CommandID.PET_DEAD: + { + cmd_pet_dead pCmd = GPDataTypeHelper.FromBytes((byte[])Msg.dwParam1); + CECPetData pPet = m_pPetCorral.GetPetData((int)pCmd.pet_index); + if (pPet != null) + { + pPet.SetHPFactor(0.0f); + pPet.SetHP(0); + pPet.OnPetDead(); + } + + //pGameRun.AddFixedMessage(FIXMSG_PET_DEAD); + break; + } + case CommandID.PET_REVIVE: + { + cmd_pet_revive pCmd = GPDataTypeHelper.FromBytes((byte[])Msg.dwParam1); + CECPetData pPet = m_pPetCorral.GetPetData((int)pCmd.pet_index); + if (pPet != null) + pPet.SetHPFactor(pCmd.hp_factor); + + break; + } + case CommandID.PET_HP_NOTIFY: + { + cmd_pet_hp_notify pCmd = GPDataTypeHelper.FromBytes((byte[])Msg.dwParam1); + CECPetData pPet = m_pPetCorral.GetPetData((int)pCmd.pet_index); + if (pPet != null) + { + int lastHP = pPet.GetHP(); + + pPet.SetHPFactor(pCmd.hp_factor); + pPet.SetHP(pCmd.cur_hp); + + pPet.SetMPFactor(pCmd.mp_factor); + pPet.SetMP(pCmd.cur_mp); + + // If HP is too low, popup a warning on pet's head + int iLimit = (int)(pPet.CalcMaxHP() * 0.3f); + if (pCmd.cur_hp < lastHP && lastHP != 0 && pCmd.cur_hp < iLimit) + { + CECNPC pNPC = EC_Game.GetGameRun().GetWorld().GetNPCMan().GetNPC(m_pPetCorral.GetActivePetNPCID()); + if (pNPC && pNPC.GetMasterID() == GetCharacterID()) + { + //pNPC.BubbleText(CECNPC::BUBBLE_HPWARN, 0); + } + } + } + + break; + } + case CommandID.PET_AI_STATE: + { + cmd_pet_ai_state pCmd = GPDataTypeHelper.FromBytes((byte[])Msg.dwParam1); + + // 宠物有话说 + CECPetData pPetData = m_pPetCorral.GetActivePet(); + if (pPetData != null) + { + int tid = pPetData.GetTemplateID(); + int nid = m_pPetCorral.GetActivePetNPCID(); + if (m_pPetCorral.GetMoveMode() != pCmd.move) + { + switch (pCmd.move) + { + case (byte)CECPetCorral.ePet_MovingMode.MOVE_FOLLOW: + { + //OnPetSays(tid, nid, CECPetWords::TW_FOLLOW); + break; + } + case (byte)CECPetCorral.ePet_MovingMode.MOVE_STAND: + { + //OnPetSays(tid, nid, CECPetWords::TW_STOP); + break; + } + } + } + if (m_pPetCorral.GetAttackMode() != pCmd.attack) + { + switch (pCmd.attack) + { + case (byte)CECPetCorral.ePet_AttackingMode.ATK_DEFENSE: + //OnPetSays(tid, nid, CECPetWords::TW_DEFENSIVE); + break; + + case (byte)CECPetCorral.ePet_AttackingMode.ATK_POSITIVE: + //OnPetSays(tid, nid, CECPetWords::TW_OFFENSIVE); + break; + + case (byte)CECPetCorral.ePet_AttackingMode.ATK_PASSIVE: + //OnPetSays(tid, nid, CECPetWords::TW_PASSIVE); + break; + } + } + } + + m_pPetCorral.SetMoveMode(pCmd.move); + m_pPetCorral.SetAttackMode(pCmd.attack); + break; + } + case CommandID.PET_SET_COOLDOWN: + { + cmd_pet_set_cooldown pCmd = GPDataTypeHelper.FromBytes((byte[])Msg.dwParam1); + CECPetData pPet = m_pPetCorral.GetPetData(pCmd.pet_index); + if (pPet != null) + pPet.SetSkillCoolTime(pCmd.cooldown_index, pCmd.cooldown_time); + + break; + } + + case CommandID.SUMMON_PLANT_PET: + { + int size = Marshal.SizeOf(); + if (((byte[])Msg.dwParam1).Length >= size) + { + cmd_summon_plant_pet pCmd = GPDataTypeHelper.FromBytes((byte[])Msg.dwParam1); + m_pPetCorral.PlantPetEnter(pCmd); + } + break; + } + + case CommandID.PLANT_PET_DISAPPEAR: + { + int size = Marshal.SizeOf(); + if (((byte[])Msg.dwParam1).Length >= size) + { + cmd_plant_pet_disapper pCmd = GPDataTypeHelper.FromBytes((byte[])Msg.dwParam1); + m_pPetCorral.PlantPetDisappear(pCmd); + } + break; + } + + case CommandID.PLANT_PET_HP_NOTIFY: + { + int size = Marshal.SizeOf(); + if (((byte[])Msg.dwParam1).Length >= size) + { + cmd_plant_pet_hp_notify pCmd = GPDataTypeHelper.FromBytes((byte[])Msg.dwParam1); + m_pPetCorral.PlantPetInfo(pCmd); + } + break; + } + + case CommandID.PET_PROPERTY: + { + cmd_pet_property pCmd = GPDataTypeHelper.FromBytes((byte[])Msg.dwParam1); + CECPetData pPet = m_pPetCorral.GetPetData(pCmd.pet_index); + if (pPet != null) + { + pPet.SetExtendProps(pCmd.prop); + } + break; + } + case CommandID.PET_REBUILD_INHERIT_START: + case CommandID.PET_REBUILD_INHERIT_INFO: + case CommandID.PET_REBUILD_INHERIT_END: + case CommandID.PET_EVOLUTION_DONE: + case CommandID.PET_REBUILD_NATURE_START: + case CommandID.PET_REBUILD_NATURE_INFO: + case CommandID.PET_REBUILD_NATURE_END: + { + CECGameUIMan pGameUI = EC_Game.GetGameRun().GetUIManager().GetInGameUIMan(); + if (pGameUI != null) + { + //((CDlgPreviewPetRebuild*)pGameUI.GetDialog("Win_PreviewPet")).OnServerNotify(Msg.dwParam2, (void*)Msg.dwParam1); + } + break; + } + + default: + break; + } + } + void OnMsgHstSetPlayerLimit(ECMSG Msg) + { + cmd_set_player_limit pCmd = GPDataTypeHelper.FromBytes((byte[])Msg.dwParam1); + if (pCmd.index >= 0 && pCmd.index < (int)PLAYER_LIMIT.PLAYER_LIMIT_MAX) + m_playerLimits[pCmd.index] = (pCmd.b != 0); + } + } + +} diff --git a/Assets/PerfectWorld/Scripts/Players/EC_HostMsg.cs.meta b/Assets/PerfectWorld/Scripts/Players/EC_HostMsg.cs.meta new file mode 100644 index 0000000000..78767ae81b --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Players/EC_HostMsg.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: a80761da7f1dc184b8117b7170fd98f2 \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Skills/ElementSkill.cs b/Assets/PerfectWorld/Scripts/Skills/ElementSkill.cs index 68a20e1ced..e8737d2114 100644 --- a/Assets/PerfectWorld/Scripts/Skills/ElementSkill.cs +++ b/Assets/PerfectWorld/Scripts/Skills/ElementSkill.cs @@ -191,7 +191,7 @@ namespace BrewMonster.Scripts.Skills return ""; } // 锟斤拷锟斤拷说锟斤拷 - public virtual void GetIntroduction(StringBuilder buf, SkillStr table) { } + public virtual void GetIntroduction(StringBuilder buf, SkillStr table) { } // 锟斤拷锟斤拷职业锟斤拷锟斤拷 public virtual int GetCls() { return -1; } // 锟斤拷锟斤拷锟斤拷却时锟戒,锟斤拷位锟斤拷锟斤拷 @@ -250,7 +250,7 @@ namespace BrewMonster.Scripts.Skills return ret; } public virtual int GetRequiredRealmLevel() { return 0; } - public static int GetRequiredRealmLevel(uint id, int level) + public static int GetRequiredRealmLevel(uint id, int level) { Skill s = Skill.Create(id, level); if (s == null) @@ -324,11 +324,67 @@ namespace BrewMonster.Scripts.Skills // 锟斤拷锟斤拷锟斤拷锟斤拷锟叫讹拷 public virtual bool ValidWeapon(int w) { return true; } // 0, 锟缴癸拷锟斤拷1锟斤拷锟斤拷锟斤拷锟斤拷匹锟戒;2, mp锟斤拷锟姐;3锟斤拷位锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟姐;4锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟?5锟斤拷锟斤拷锟斤拷ID, 6锟斤拷未选锟斤拷目锟斤拷 + public int Condition(uint id, UseRequirement info, int ilevel) + { + skill = Skill.Create(id, ilevel); + if (skill == null) + return 5; + + ComboArg arg = skill.GetPlayer().GetComboarg(); + if (info.combo_state.arg != null) + { + for (int i = 0; i < ComboSkillState.MAX_COMBO_ARG; i++) + { + arg.SetValue((uint)i, info.combo_state.arg[i]); + } + } + int ret = ((ElementSkill)skill).Condition(info); + + return ret; + } public int Condition(UseRequirement info) { + if (info.arrow < GetArrowCost()) + return 9; + if (!ValidWeapon(info.weapon)) + return 1; + if (info.mp < GetMpCost()) + return 2; + int form_type = (info.form & FORM_MASK_HIGH) >> 6; + if ((GetAllowForms() & (1 << form_type)) == 0) + return 7; + if (info.ap < GetApCost()) + return 8; + if (info.freepackage == 0 && GetTargetType() == 3) + return 10; + // 脪脝露炉禄路戮鲁 + if ((info.move_env == 0 && !IsAllowLand()) || + (info.move_env == 1 && !IsAllowWater()) || + (info.move_env == 2 && !IsAllowAir())) + return 3; + + if (info.is_combat && GetNotuseInCombat()) + return 11; + + if (!CheckHpCondition(info.hp, info.max_hp)) + return 12; + + int preskill = GetComboSkPreSkill(); + if (preskill != 0) + { + if (info.combo_state.skillid != (uint)preskill + || !CheckComboSkExtraCondition()) + return 13; + } + return 0; } + // 妫鏌P鏉′欢 // Check HP condition + public virtual bool CheckHpCondition(int hp, int max_hp) { return true; } + // 妫鏌ヨ繛鍑绘妧鑳介澶栨潯浠 // Check combo skill extra condition + public virtual bool CheckComboSkExtraCondition() { return true; } + public virtual bool IsAllowLand() { return true; } public virtual bool IsAllowWater() { return true; } public virtual bool IsAllowAir() { return true; } @@ -369,7 +425,7 @@ namespace BrewMonster.Scripts.Skills comboArg.SetValue((uint)i, argValue); } - if (skill.CheckComboSkExtraCondition()) + if (((ElementSkill)skill).CheckComboSkExtraCondition()) { result[skill.GetId()] = skill.GetComboSkInterval(); } diff --git a/Assets/PerfectWorld/Scripts/Skills/skill.cs b/Assets/PerfectWorld/Scripts/Skills/skill.cs index 5881b4dba5..71bf2365ec 100644 --- a/Assets/PerfectWorld/Scripts/Skills/skill.cs +++ b/Assets/PerfectWorld/Scripts/Skills/skill.cs @@ -104,7 +104,10 @@ namespace BrewMonster.Scripts.Skills return stub.GetIcon(); } public int GetAbility() { return SkillWrapper.Instance.GetAbility(id); } - public bool CheckComboSkExtraCondition() { return stub.CheckComboSkExtraCondition(this); } + // 妫鏌ユ柦鏀炬椂hp鏉′欢 // Check HP condition when casting + public override bool CheckHpCondition(int hp, int max_hp) { return stub.CheckHpCondition(hp, max_hp); } + public override bool CheckComboSkExtraCondition() { return stub.CheckComboSkExtraCondition(this); } + public override byte GetAllowForms() { return stub.allow_forms; } public override string GetName() { return stub.GetName(); } public override float GetPrayRange(float range, float prayplus) @@ -302,7 +305,13 @@ namespace BrewMonster.Scripts.Skills public virtual float GetPraydistance(Skill skill) { return 0f; } public virtual float GetMpcost(Skill skill) { return 0f; } public virtual int GetExecutetime(Skill skill) { return 1000; } + // 妫鏌P鏉′欢 // Check HP condition + // 榛樿杩斿洖true锛屽瓙绫诲彲浠ラ噸鍐欎互妫鏌P鐧惧垎姣旇寖鍥 // Default returns true, subclasses can override to check HP percentage range + // 渚嬪锛歳eturn hp >= max_hp / 100.0f * minPercent && hp <= max_hp / 100.0f * maxPercent; public virtual bool CheckHpCondition(int hp, int max_hp) { return true; } + // 妫鏌ヨ繛鍑绘妧鑳介澶栨潯浠 // Check combo skill extra condition + // 榛樿杩斿洖true锛屽瓙绫诲彲浠ラ噸鍐欎互妫鏌ヨ繛鍑诲弬鏁扮瓑鏉′欢 // Default returns true, subclasses can override to check combo arguments etc. + // 渚嬪锛歳eturn skill.GetPlayer().GetComboarg().GetValue(0) == 5; public virtual bool CheckComboSkExtraCondition(Skill skill) { return true; } public virtual int GetIntroduction(Skill skill, StringBuilder descBuffer, string titleBuffer) { return 0; } diff --git a/Assets/PerfectWorld/Scripts/UI/AUIManager.cs b/Assets/PerfectWorld/Scripts/UI/AUIManager.cs index b92c2624bf..4749195787 100644 --- a/Assets/PerfectWorld/Scripts/UI/AUIManager.cs +++ b/Assets/PerfectWorld/Scripts/UI/AUIManager.cs @@ -15,6 +15,7 @@ namespace BrewMonster.UI protected Dictionary m_StringTable = new Dictionary(); protected Dictionary m_auiDialog_stringTable = new Dictionary(); public Dictionary m_DlgName = new Dictionary(); + public List m_vecBadWords = new List(); public string GetStringFromTable(int idString) { @@ -41,6 +42,7 @@ namespace BrewMonster.UI { ImportStringTable("Assets/Addressable/ingame.txt"); ImportAuiDialogStringTable("Assets/Addressable/msgbox.txt"); + ImportStringBadWords("Assets/Addressable/badwords.txt"); } public string Translate(ushort[] str) @@ -338,5 +340,41 @@ namespace BrewMonster.UI return null; } + + public bool ImportStringBadWords(string pszFilename) + { + //AWScriptFile s = new AWScriptFile(); + var ta = LoadStringTableTextAssetByAddressables(pszFilename); + if (ta == null || string.IsNullOrEmpty(ta.text)) + { + BMLogger.LogError($"[AUIManager] ImportStringTable failed: cannot load Addressables TextAsset for key='{pszFilename}'"); + return false; + } + + using (var sr = new StringReader(ta.text)) + { + string line; + while ((line = sr.ReadLine()) != null) + { + if (string.IsNullOrWhiteSpace(line)) + continue; + + var parts = line.Split('\t', StringSplitOptions.RemoveEmptyEntries); + if (parts.Length < 2) + continue; + + if (int.TryParse(parts[0], out int key)) + { + string value = parts[1].Trim(); + if (value.StartsWith("\"") && value.EndsWith("\"")) + value = value.Substring(1, value.Length - 2); + + m_vecBadWords[key] = value; + } + } + } + + return true; + } } } diff --git a/Assets/PerfectWorld/Scripts/UI/Dialogs/AUIDialog.cs b/Assets/PerfectWorld/Scripts/UI/Dialogs/AUIDialog.cs index 12ffa8c94a..829f91c2bd 100644 --- a/Assets/PerfectWorld/Scripts/UI/Dialogs/AUIDialog.cs +++ b/Assets/PerfectWorld/Scripts/UI/Dialogs/AUIDialog.cs @@ -1,10 +1,12 @@ using BrewMonster.Network; using System.Collections.Generic; +using TMPro; using UnityEngine; +using UnityEngine.UI; namespace BrewMonster.UI { - public abstract class AUIDialog : MonoBehaviour + public class AUIDialog : MonoBehaviour { protected Dictionary m_StringTable = new Dictionary(); protected bool m_bShow = false; @@ -16,9 +18,12 @@ namespace BrewMonster.UI protected string m_szName; private bool m_bUpdateRenderTarget = false; + [SerializeField] TextMeshProUGUI skillNameText; + [SerializeField] Image imageProgress; public virtual void Show(bool value) { + BMLogger.LogError("AUIDialog::Show() not implemented i n gameObject.SetActive = " + value); gameObject.SetActive(value); m_bShow = value; OnShowDialogue(); @@ -69,13 +74,19 @@ namespace BrewMonster.UI m_strDataPtrName = strName; m_pvData = pvData; } - + public TextMeshProUGUI GetSkillNameText() + { + return skillNameText; + } public CECGameUIMan GetGameUIMan() { return EC_Game.GetGameRun().GetUIManager().GetInGameUIMan(); } - + public Image GetProgressImage() + { + return imageProgress; + } public CECHostPlayer GetHostPlayer() { return EC_Game.GetGameRun().GetHostPlayer(); @@ -267,7 +278,7 @@ namespace BrewMonster.UI return formatStr; } } - + public AUIManager GetAUIManager() { return m_pAUIManager; diff --git a/Assets/PerfectWorld/Scripts/UI/Dialogs/DlgInstall.cs b/Assets/PerfectWorld/Scripts/UI/Dialogs/DlgInstall.cs index d76b053eb1..ca4ec6b309 100644 --- a/Assets/PerfectWorld/Scripts/UI/Dialogs/DlgInstall.cs +++ b/Assets/PerfectWorld/Scripts/UI/Dialogs/DlgInstall.cs @@ -19,6 +19,15 @@ namespace BrewMonster { public class DlgInstall : AUIDialog { + public enum InstallMode + { + Enchase, + Disenchase + } + + [Header("Mode")] + [SerializeField] private InstallMode m_Mode = InstallMode.Enchase; + [Header("Slot First")] [SerializeField] private Transform m_SlotFirstParent; [SerializeField] private TextMeshProUGUI m_TxtFirstName; @@ -29,7 +38,7 @@ namespace BrewMonster [Header("Buttons and Money")] [SerializeField] private TextMeshProUGUI m_TxtMoney; - [SerializeField] private Button m_BtnMerge; + [SerializeField] private Button m_BtnMergeOrReset; [SerializeField] private Button m_BtnCancel; [SerializeField] private Sprite khung_item; @@ -46,9 +55,13 @@ namespace BrewMonster { base.Awake(); RegisterDrop(m_SlotFirstParent, OnDropEquip); - RegisterDrop(m_SlotSecondlParent, OnDropMaterial); RegisterClick(m_SlotFirstParent, OnClickEquipSlot); - RegisterClick(m_SlotSecondlParent, OnClickMaterialSlot); + + if (m_Mode == InstallMode.Enchase && m_SlotSecondlParent != null) + { + RegisterDrop(m_SlotSecondlParent, OnDropMaterial); + RegisterClick(m_SlotSecondlParent, OnClickMaterialSlot); + } } public override void Update() @@ -71,15 +84,17 @@ namespace BrewMonster base.OnEnable(); //todo need to set from other class // SetName("Win_Enchase"); - m_BtnMerge.onClick.AddListener(OnClickedMerge); + m_BtnMergeOrReset.onClick.AddListener(OnClickedMergeOrReset); m_BtnCancel.onClick.AddListener(OnClickedCancel); m_install_price = -1; + if(m_SlotSecondlParent != null) + m_SlotSecondlParent.gameObject.SetActive(m_Mode == InstallMode.Enchase); } public override void OnDisable() { base.OnDisable(); - m_BtnMerge.onClick.RemoveListener(OnClickedMerge); + m_BtnMergeOrReset.onClick.RemoveListener(OnClickedMergeOrReset); m_BtnCancel.onClick.RemoveListener(OnClickedCancel); } @@ -151,6 +166,8 @@ namespace BrewMonster private void RegisterClick(Transform target, Action callback) { + if(target == null) return; + var trigger = target.GetComponent(); if (trigger == null) trigger = target.gameObject.AddComponent(); @@ -246,6 +263,11 @@ namespace BrewMonster SetInventorySlotGray(btn, true); detailedItem.Freeze(true); + + if(m_Mode == InstallMode.Disenchase) + { + CalculateUninstallPrice(detailedItem); + } } private void OnDropMaterial(PointerEventData eventData) @@ -322,6 +344,32 @@ namespace BrewMonster // } } + private void CalculateUninstallPrice(EC_IvtrItem equipment) + { + if (equipment == null || !equipment.IsEquipment()) + return; + + EC_IvtrEquip pEquip = (EC_IvtrEquip)equipment; + + int nAmount = 0; + for (int i = 0; i < pEquip.GetHoleNum(); i++) + { + int idIten = pEquip.GetHoleItem(i); + if (idIten <= 0) + continue; + + EC_IvtrStone pStone = EC_IvtrItem.CreateItem(idIten, 0, 1) as EC_IvtrStone; + if (pStone != null) + { + STONE_ESSENCE pEssence = pStone.GetDBEssence(); + nAmount += pEssence.uninstall_price; + } + } + + m_install_price = nAmount; + m_TxtMoney.text = nAmount.ToString(); + } + private void SetInventorySlotGray(Button btn, bool gray) { if (btn == null) @@ -368,6 +416,11 @@ namespace BrewMonster m_FirstInvSlot = -1; m_TxtFirstName.text = "___"; ClearSlotIcon(m_SlotFirstParent); + if(m_Mode == InstallMode.Disenchase) + { + m_install_price = -1; + m_TxtMoney.text = "0"; + } } private void ClearMaterialSlot() @@ -377,6 +430,8 @@ namespace BrewMonster m_SecondInvSlot = -1; m_TxtSecondName.text = "___"; ClearSlotIcon(m_SlotSecondlParent); + m_TxtMoney.text = "0"; + m_install_price = -1; } private void ClearSlotIcon(Transform slot) @@ -390,117 +445,126 @@ namespace BrewMonster img.sprite = khung_item; } - private void OnClickedMerge() + private void OnClickedMergeOrReset() { // PAUIDIALOG pMsgBox; CECHostPlayer pHost = GetHostPlayer(); - - // if( !m_pItema->GetDataPtr("ptr_CECIvtrItem") ) return; - string message = ""; - - int nMoney = m_install_price; - if( nMoney > pHost.GetMoneyAmount() ) - { - message = GetGameUIMan().GetStringFromTable(226); - CECUIManager.Instance.ShowMessageBox("", message); - // GetGameUIMan().GetDialog("") - // A3DCOLORRGBA(255, 255, 255, 160), &pMsgBox); - // pMsgBox->SetLife(3); - return; - } - EC_IvtrItem pIvtrA = m_SelectedEquip; - if( !pIvtrA.IsEquipment() ) + if (pHost != null || m_Mode == InstallMode.Enchase) { - message = GetGameUIMan().GetStringFromTable(223); - CECUIManager.Instance.ShowMessageBox("", message); - // GetGameUIMan().MessageBox("", GetGameUIMan().GetStringFromTable(223), MB_OK, - // A3DCOLORRGBA(255, 255, 255, 160), &pMsgBox); - // pMsgBox.SetLife(3); - return; - } - - EC_IvtrEquip pEquipA = (EC_IvtrEquip)pIvtrA; - // a_LogOutput(1, "[Dat Embed] Send protocol here"); - // if( 0 == string.CompareOrdinal(GetName(), "Win_Enchase") ) - // { - if( pEquipA.GetEmptyHoleNum() <= 0 ) - { + // if( !m_pItema->GetDataPtr("ptr_CECIvtrItem") ) return; + string message = ""; + + int nMoney = m_install_price; + if (nMoney > pHost.GetMoneyAmount()) + { + message = GetGameUIMan().GetStringFromTable(226); + CECUIManager.Instance.ShowMessageBox("", message); + // GetGameUIMan().GetDialog("") + // A3DCOLORRGBA(255, 255, 255, 160), &pMsgBox); + // pMsgBox->SetLife(3); + return; + } + + EC_IvtrItem pIvtrA = m_SelectedEquip; + if (!pIvtrA.IsEquipment()) + { + message = GetGameUIMan().GetStringFromTable(223); + CECUIManager.Instance.ShowMessageBox("", message); + // GetGameUIMan().MessageBox("", GetGameUIMan().GetStringFromTable(223), MB_OK, + // A3DCOLORRGBA(255, 255, 255, 160), &pMsgBox); + // pMsgBox.SetLife(3); + return; + } + + EC_IvtrEquip pEquipA = (EC_IvtrEquip)pIvtrA; + // a_LogOutput(1, "[Dat Embed] Send protocol here"); + // if( 0 == string.CompareOrdinal(GetName(), "Win_Enchase") ) + // { + if (pEquipA.GetEmptyHoleNum() <= 0) + { message = GetGameUIMan().GetStringFromTable(224); CECUIManager.Instance.ShowMessageBox("", message); - // GetGameUIMan().MessageBox("", GetGameUIMan()->GetStringFromTable(224), MB_OK, - // A3DCOLORRGBA(255, 255, 255, 160), &pMsgBox); - // pMsgBox.SetLife(3); - return; - } - - EC_IvtrItem pIvtrB = m_SelectedMaterial; - if(pIvtrB == null || !pIvtrB.IsEmbeddable() ) - { + // GetGameUIMan().MessageBox("", GetGameUIMan()->GetStringFromTable(224), MB_OK, + // A3DCOLORRGBA(255, 255, 255, 160), &pMsgBox); + // pMsgBox.SetLife(3); + return; + } + + EC_IvtrItem pIvtrB = m_SelectedMaterial; + if (pIvtrB == null || !pIvtrB.IsEmbeddable()) + { message = GetGameUIMan().GetStringFromTable(225); CECUIManager.Instance.ShowMessageBox("", message); - // GetGameUIMan().MessageBox("", GetGameUIMan().GetStringFromTable(225), MB_OK, - // A3DCOLORRGBA(255, 255, 255, 160), &pMsgBox); - // pMsgBox.SetLife(3); - return; - } - - if( pIvtrB.GetClassID() != (int)EC_IvtrEquip.EQUIP_CLASS_ID.ICID_STONE) - return; - - int nStoneLevel = ((EC_IvtrStone)pIvtrB).GetDBEssence().level; - int nEquipLevel = -1; - switch( pEquipA.GetClassID() ) - { - case (int)EC_IvtrEquip.EQUIP_CLASS_ID.ICID_WEAPON: - nEquipLevel = ((CECIvtrWeapon)pEquipA).GetDBEssence().level; - break; - case (int)EC_IvtrEquip.EQUIP_CLASS_ID.ICID_ARMOR: - nEquipLevel = ((EC_IvtrArmor)pEquipA).GetDBEssence().level; - break; - case (int)EC_IvtrEquip.EQUIP_CLASS_ID.ICID_DECORATION: - nEquipLevel = ((EC_IvtrDecoration)pEquipA).GetDBEssence().level; - break; - } - - if( nStoneLevel > nEquipLevel ) - { + // GetGameUIMan().MessageBox("", GetGameUIMan().GetStringFromTable(225), MB_OK, + // A3DCOLORRGBA(255, 255, 255, 160), &pMsgBox); + // pMsgBox.SetLife(3); + return; + } + + if (pIvtrB.GetClassID() != (int)EC_IvtrEquip.EQUIP_CLASS_ID.ICID_STONE) + return; + + int nStoneLevel = ((EC_IvtrStone)pIvtrB).GetDBEssence().level; + int nEquipLevel = -1; + switch (pEquipA.GetClassID()) + { + case (int)EC_IvtrEquip.EQUIP_CLASS_ID.ICID_WEAPON: + nEquipLevel = ((CECIvtrWeapon)pEquipA).GetDBEssence().level; + break; + case (int)EC_IvtrEquip.EQUIP_CLASS_ID.ICID_ARMOR: + nEquipLevel = ((EC_IvtrArmor)pEquipA).GetDBEssence().level; + break; + case (int)EC_IvtrEquip.EQUIP_CLASS_ID.ICID_DECORATION: + nEquipLevel = ((EC_IvtrDecoration)pEquipA).GetDBEssence().level; + break; + } + + if (nStoneLevel > nEquipLevel) + { message = GetGameUIMan().GetStringFromTable(300); CECUIManager.Instance.ShowMessageBox("", message); - // GetGameUIMan().MessageBox("", GetGameUIMan().GetStringFromTable(300), MB_OK, - // A3DCOLORRGBA(255, 255, 255, 160), &pMsgBox); - // pMsgBox.SetLife(3); - return; - } - //pr + // GetGameUIMan().MessageBox("", GetGameUIMan().GetStringFromTable(300), MB_OK, + // A3DCOLORRGBA(255, 255, 255, 160), &pMsgBox); + // pMsgBox.SetLife(3); + return; + } + //pr UnityGameSession.c2s_CmdNPCSevEmbed( (ushort)m_SecondInvSlot, (ushort)m_FirstInvSlot, - pIvtrB.GetTemplateID(), pIvtrA.GetTemplateID()); - // ClearEquipment(); - // ClearStone(); - pHost.GetPack(InventoryConst.IVTRTYPE_PACK).UnfreezeAllItems(); - + pIvtrB.GetTemplateID(), pIvtrA.GetTemplateID()); + // ClearEquipment(); + // ClearStone(); + pHost.GetPack(InventoryConst.IVTRTYPE_PACK).UnfreezeAllItems(); + message = GetGameUIMan().GetStringFromTable(228); CECUIManager.Instance.ShowMessageBox("", message); - // GetGameUIMan().MessageBox("", GetGameUIMan().GetStringFromTable(228), - // MB_OK, A3DCOLORRGBA(255, 255, 255, 160), &pMsgBox); - // pMsgBox.SetLife(3); - // } - // else if( 0 == stricmp(GetName(), "Win_Disenchase") ) - // { - // a_LogOutput(1, "[Dat Embed] Win_Disenchase"); - // if( pEquipA->GetEmptyHoleNum() == pEquipA->GetHoleNum() ) - // { - // GetGameUIMan()->MessageBox("", GetGameUIMan()->GetStringFromTable(227), MB_OK, - // A3DCOLORRGBA(255, 255, 255, 160), &pMsgBox); - // pMsgBox->SetLife(3); - // return; - // } - - // GetGameUIMan()->MessageBox("Game_Disenchase", GetGameUIMan()->GetStringFromTable(229), - // MB_OKCANCEL, A3DCOLORRGBA(255, 255, 255, 160)); - // } + // GetGameUIMan().MessageBox("", GetGameUIMan().GetStringFromTable(228), + // MB_OK, A3DCOLORRGBA(255, 255, 255, 160), &pMsgBox); + // pMsgBox.SetLife(3); + // } + // else if( 0 == stricmp(GetName(), "Win_Disenchase") ) + // { + // a_LogOutput(1, "[Dat Embed] Win_Disenchase"); + // if( pEquipA->GetEmptyHoleNum() == pEquipA->GetHoleNum() ) + // { + // GetGameUIMan()->MessageBox("", GetGameUIMan()->GetStringFromTable(227), MB_OK, + // A3DCOLORRGBA(255, 255, 255, 160), &pMsgBox); + // pMsgBox->SetLife(3); + // return; + // } + + // GetGameUIMan()->MessageBox("Game_Disenchase", GetGameUIMan()->GetStringFromTable(229), + // MB_OKCANCEL, A3DCOLORRGBA(255, 255, 255, 160)); + // } + } + + else if (pHost != null || m_Mode == InstallMode.Disenchase) + { + // TODO: implement uninstall logicq + } } + private void OnClickedCancel() { Show(false); @@ -511,18 +575,21 @@ namespace BrewMonster RestoreInventoryColors(); m_SelectedEquip = null; - m_SelectedMaterial = null; + if (m_Mode == InstallMode.Enchase) + { + m_SelectedMaterial = null; + m_SecondInvSlot = -1; + m_TxtSecondName.text = "___"; + ClearSlotIcon(m_SlotSecondlParent); + } m_FirstInvSlot = -1; - m_SecondInvSlot = -1; m_TxtFirstName.text = "___"; - m_TxtSecondName.text = "___"; m_TxtMoney.text = "0"; m_install_price = -1; ClearSlotIcon(m_SlotFirstParent); - ClearSlotIcon(m_SlotSecondlParent); gameObject.SetActive(false); } diff --git a/Assets/PerfectWorld/Scripts/UI/Dialogs/DlgNPC.cs b/Assets/PerfectWorld/Scripts/UI/Dialogs/DlgNPC.cs index ab8369e45a..877d5d08d8 100644 --- a/Assets/PerfectWorld/Scripts/UI/Dialogs/DlgNPC.cs +++ b/Assets/PerfectWorld/Scripts/UI/Dialogs/DlgNPC.cs @@ -3415,8 +3415,14 @@ namespace BrewMonster.UI } else if (idFunction == (int)SERVICE_TYPE.NPC_UNINSTALL) { - pShow1 = m_pAUIManager.GetDialog("Win_Disenchase"); - pShow2 = m_pAUIManager.GetDialog("Win_Inventory"); + if (pCurNPCEssence.HasValue) + { + uint npcID = pCurNPCEssence.Value.id; + var dlgInstall = GetGameUIMan().GetDialog("Win_Disenchase"); + dlgInstall.Show(true); + } + //pShow1 = m_pAUIManager.GetDialog("Win_Disenchase"); + //pShow2 = m_pAUIManager.GetDialog("Win_Inventory"); } else if (idFunction == (int)SERVICE_TYPE.NPC_HEAL) { diff --git a/Assets/PerfectWorld/Scripts/UI/Dialogs/DlgPetList.cs b/Assets/PerfectWorld/Scripts/UI/Dialogs/DlgPetList.cs new file mode 100644 index 0000000000..cfe9e9eba2 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/UI/Dialogs/DlgPetList.cs @@ -0,0 +1,181 @@ +using BrewMonster.Network; +using BrewMonster.Scripts.Pet; +using CSNetwork.GPDataType; +using ModelRenderer.Scripts.GameData; +using System; +using System.IO; +using TMPro; +using UnityEngine; +using UnityEngine.UI; + +namespace BrewMonster.UI +{ + public class CDlgPetList : AUIDialog + { + public const int CDLGPETLIST_SLOT_MAX = 10; + public const int CDLGPETLIST_PAGE_MAX = 2; + + [SerializeField] private Button[] m_pBtn_Summon = new Button[CDLGPETLIST_SLOT_MAX]; + [SerializeField] private Button[] m_pBtn_Recall = new Button[CDLGPETLIST_SLOT_MAX]; + [SerializeField] private Button[] m_pBtn_Detail = new Button[CDLGPETLIST_SLOT_MAX]; + [SerializeField] private Button[] m_pBtn_Banish = new Button[CDLGPETLIST_SLOT_MAX]; + [SerializeField] private Button[] m_pBtn_Evolution = new Button[CDLGPETLIST_SLOT_MAX]; + [SerializeField] private Image[] m_pImg_Icon = new Image[CDLGPETLIST_SLOT_MAX]; + [SerializeField] private TextMeshProUGUI[] m_pLab_Name = new TextMeshProUGUI[CDLGPETLIST_SLOT_MAX]; + [SerializeField] private TextMeshProUGUI[] m_pLab_Level = new TextMeshProUGUI[CDLGPETLIST_SLOT_MAX]; + [SerializeField] private TextMeshProUGUI[] m_pTxt_Name = new TextMeshProUGUI[CDLGPETLIST_SLOT_MAX]; + [SerializeField] private TextMeshProUGUI[] m_pTxt_Level = new TextMeshProUGUI[CDLGPETLIST_SLOT_MAX]; + int m_nPageIndex; + + public void OnInitDialog() + { + //string szText = ""; + //int i; + //for (i = 0; i < CDLGPETLIST_SLOT_MAX; i++) + //{ + // szText = string.Format("Img_Icon{0}", i + 1); + // m_pImg_Icon[i] = (PAUIIMAGEPICTURE)GetDlgItem(szText); + // sprintf(szText, "Lab_Name%d", i + 1); + // m_pLab_Name[i] = (PAUILABEL)GetDlgItem(szText); + // sprintf(szText, "Lab_Level%d", i + 1); + // m_pLab_Level[i] = (PAUILABEL)GetDlgItem(szText); + // sprintf(szText, "Txt_Name%d", i + 1); + // m_pTxt_Name[i] = (PAUILABEL)GetDlgItem(szText); + // sprintf(szText, "Txt_Level%d", i + 1); + // m_pTxt_Level[i] = (PAUILABEL)GetDlgItem(szText); + // sprintf(szText, "Btn_Recall%d", i + 1); + // m_pBtn_Recall[i] = (PAUIIMAGEPICTURE)GetDlgItem(szText); + // sprintf(szText, "Btn_Summon%d", i + 1); + // m_pBtn_Summon[i] = (PAUIIMAGEPICTURE)GetDlgItem(szText); + // sprintf(szText, "Btn_Detail%d", i + 1); + // m_pBtn_Detail[i] = (PAUIIMAGEPICTURE)GetDlgItem(szText); + // sprintf(szText, "Btn_Banish%d", i + 1); + // m_pBtn_Banish[i] = (PAUIIMAGEPICTURE)GetDlgItem(szText); + // sprintf(szText, "Btn_P%d", i + 1); + // m_pBtn_Evolution[i] = (PAUIIMAGEPICTURE)GetDlgItem(szText); + //} + //for (i = 0; i < CDLGPETLIST_PAGE_MAX; i++) + //{ + // m_pBtn_Page[i] = NULL; + // DDX_Control(AString().Format("Btn_Page%d", i + 1), m_pBtn_Page[i]); + // m_pBtn_Page[i].SetPushed(false); + //} + //m_nPageIndex = 0; + //m_pBtn_Page[0].SetPushed(true); + + //return true; + } + + bool IsPetDye(int nSlot) + { + return false; + //TO DO: fix later + //return nSlot >= 0 + // && GetGameUIMan().m_pDlgPetDye.IsShow() + // && GetGameUIMan().m_pDlgPetDye.GetPetSlot() == nSlot; + } + + void UpdateList() + { + string strText = ""; + CECPetCorral pPetCorral = GetHostPlayer().GetPetCorral(); + elementdataman pDB = ElementDataManProvider.GetElementDataMan(); + DATA_TYPE DataType = new DATA_TYPE(); + int i; + for (i = 0; i < CDLGPETLIST_SLOT_MAX; i++) + { + int nPetSlot = i + m_nPageIndex * CDLGPETLIST_SLOT_MAX; + if (nPetSlot < pPetCorral.GetPetSlotNum()) + { + m_pLab_Level[i].color = new Color(255f / 255f, 203f / 255f, 74f / 255f); + m_pLab_Name[i].color = new Color(255f / 255f, 203f / 255f, 74f / 255f); + } + else + { + m_pLab_Level[i].color = new Color(128f / 128f, 128f / 128f, 128f / 128f); + m_pLab_Name[i].color = new Color(128f / 128f, 128f / 128f, 128f / 128f); + } + CECPetData pPet = pPetCorral.GetPetData(nPetSlot); + if (pPet != null) + { + bool bEnable = (pPetCorral.GetActivePetIndex() == nPetSlot && GetHostPlayer().IsOperatingPet() == 0); + m_pBtn_Recall[i].enabled = (bEnable); + + bEnable = (pPetCorral.GetActivePetIndex() != nPetSlot && GetHostPlayer().IsOperatingPet() == 0); + m_pBtn_Summon[i].gameObject.SetActive(bEnable); + + m_pBtn_Detail[i].gameObject.SetActive(true); + + strText = string.Format(GetStringFromTable(801).Replace("%d", "{0}"), pPet.GetLevel()); + m_pTxt_Level[i].SetText(strText); + m_pTxt_Name[i].SetText(pPet.GetName()); + if ((pPet.GetClass() == (int)GP_PET_TYPE.GP_PET_CLASS_COMBAT || pPet.GetClass() == (int)GP_PET_TYPE.GP_PET_CLASS_EVOLUTION) && pPet.GetHPFactor() == 0.0f || IsPetDye(nPetSlot)) + m_pImg_Icon[i].color = new Color(128f/ 255f, 128f / 255f, 128f / 255f); + else + m_pImg_Icon[i].color = new Color(255f/ 255f, 255f / 255f, 255f / 255f); + //m_pImg_Icon[i].SetData(1); + //m_pImg_Icon[i].SetDataPtr((void*)1); + object pDBEssence = pDB.get_data_ptr((uint)pPet.GetTemplateID(), + ID_SPACE.ID_SPACE_ESSENCE, ref DataType); + + if (pDBEssence != null) + { + PET_ESSENCE pET = (PET_ESSENCE)pDBEssence; + string strFile = ""; + af_GetFileTitle(pET.FileIcon,out strFile); + strFile.ToLower(); + m_pImg_Icon[i].sprite = EC_Game.GetGameRun().GetUIManager().GetSpriteInListIvtr(strFile); + } + else + { + m_pImg_Icon[i].sprite = null; + //m_pImg_Icon[i].SetHint(_AL("")); + } + + m_pBtn_Evolution[i].gameObject.SetActive(pPet.GetClass() == (int)GP_PET_TYPE.GP_PET_CLASS_COMBAT || pPet.GetClass() == (int)GP_PET_TYPE.GP_PET_CLASS_EVOLUTION); + } + else + { + m_pBtn_Summon[i].gameObject.SetActive(false); + m_pBtn_Recall[i].gameObject.SetActive(false); + m_pBtn_Detail[i].gameObject.SetActive(false); + m_pBtn_Evolution[i].gameObject.SetActive(false); + // m_pBtn_Banish[i].Enable(false); + //m_pImg_Icon[i].SetDataPtr(NULL); + m_pTxt_Level[i].text = ""; + m_pTxt_Name[i].text = ""; + m_pImg_Icon[i].sprite = null; + //m_pImg_Icon[i].SetHint(_AL("")); + //m_pImg_Icon[i].SetData(0); + } + } + } + + public bool af_GetFileTitle(string lpszFile, out string lpszTitle) + { + lpszTitle = string.Empty; + + if (string.IsNullOrEmpty(lpszFile)) + return lpszFile != null; + + if (lpszFile.EndsWith("\\") || lpszFile.EndsWith("/")) + return false; + + lpszTitle = Path.GetFileNameWithoutExtension(lpszFile); + return true; + } + + public void OnCommandSummon(int slot) + { + CECPetCorral pPetCorral = GetHostPlayer().GetPetCorral(); + int nSlot = slot - 1; + nSlot += m_nPageIndex* CDLGPETLIST_SLOT_MAX; + + // 飞行-》骑乘 + if (GetHostPlayer().GetActionSwitcher() != null && GetHostPlayer().GetActionSwitcher().OnFlyToRideAction(nSlot)) + return; + + GetHostPlayer().SummonPet(nSlot); + } + } +} diff --git a/Assets/PerfectWorld/Scripts/UI/Dialogs/DlgPetList.cs.meta b/Assets/PerfectWorld/Scripts/UI/Dialogs/DlgPetList.cs.meta new file mode 100644 index 0000000000..f46e558c64 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/UI/Dialogs/DlgPetList.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 29fc8c9fd1814f144aec0fee5da5d8a5 \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/UI/GamePlay/AUIImagePicture.cs b/Assets/PerfectWorld/Scripts/UI/GamePlay/AUIImagePicture.cs index 16f11f4f68..9f885cfeb8 100644 --- a/Assets/PerfectWorld/Scripts/UI/GamePlay/AUIImagePicture.cs +++ b/Assets/PerfectWorld/Scripts/UI/GamePlay/AUIImagePicture.cs @@ -45,14 +45,28 @@ namespace BrewMonster.Assets.PerfectWorld.Scripts.UI.GamePlay { pSC = pvData; } + public void SetInteract(bool isInteract) + { + if (isInteract) + { + skillbutton.interactable = true; + skillImage.color = Color.white; + } + else + { + skillImage.color = Color.gray; + + skillbutton.interactable = false; + } + } public CECShortcut GetDataPtr() => pSC; public void Execute() { if (pSC != null) { pSC.Execute(); - - StartCoroutine(CooldownRoutine()); + + SetInteract(false); } else { diff --git a/Assets/PerfectWorld/Scripts/UI/GamePlay/CdlgQuickBar.cs b/Assets/PerfectWorld/Scripts/UI/GamePlay/CdlgQuickBar.cs index 95f32fe94b..449eb1d7ab 100644 --- a/Assets/PerfectWorld/Scripts/UI/GamePlay/CdlgQuickBar.cs +++ b/Assets/PerfectWorld/Scripts/UI/GamePlay/CdlgQuickBar.cs @@ -111,11 +111,13 @@ namespace BrewMonster { if (pHost.CheckSkillCastCondition(pSkill) == 0) { - //pCell.SetColor(A3DCOLORRGB(255, 255, 255)); + //BMLogger.LogError("HoangDev: QuickBar Skill Not Interact: " + (uint)pSkill.GetSkillID() + " : " + ElementSkill.GetIcon((uint)pSkill.GetSkillID())); + pCell.SetInteract(true); } else { - //pCell.SetColor(A3DCOLORRGB(128, 128, 128)); + //BMLogger.LogError("HoangDev: QuickBar Skill Interact: " + (uint)pSkill.GetSkillID() + " : " + ElementSkill.GetIcon((uint)pSkill.GetSkillID())); + pCell.SetInteract(false); } } } diff --git a/Assets/PerfectWorld/Scripts/UI/Login/LoginScreenUI.cs b/Assets/PerfectWorld/Scripts/UI/Login/LoginScreenUI.cs index ee6024729e..9353ed665e 100644 --- a/Assets/PerfectWorld/Scripts/UI/Login/LoginScreenUI.cs +++ b/Assets/PerfectWorld/Scripts/UI/Login/LoginScreenUI.cs @@ -1,428 +1,428 @@ -using System; -using System.Collections.Generic; -using System.Threading; -using System.Threading.Tasks; -using BrewMonster.Network; -using BrewMonster.Scripts; -using CSNetwork.Protocols; -using CSNetwork.Protocols.RPCData; -using TMPro; -using UnityEngine; -using UnityEngine.SceneManagement; -using UnityEngine.UI; - -namespace BrewMonster.UI -{ - /// - /// Login Flow: - /// 1. Enter username and password - /// 2. Click login button - /// 3. Login success, get the list of characters - /// 4. Open the select character screen - /// - public class LoginScreenUI : MonoBehaviour - { - [SerializeField] private TMP_InputField _usernameInputField; - [SerializeField] private TMP_InputField _passwordInputField; - [SerializeField] private Button _loginButton; - [SerializeField] private SelecScreenCharacter _selectCharacterScreen; - - private List _roleInfos; - private List _currentRoles; - private RoleInfo _pendingCreatedRole; - private bool _loginInProgress; - bool isDoneWorldRender = false; - bool isDoneNPCRender = false; - private SynchronizationContext context; - public AudioClip loginBGM; - - void Awake() - { - // Ensure wrapper created early (Tech3C SDK). - _ = Tech3CSDKWrapper.Instance; - } - - void OnEnable() - { - Tech3CSDKWrapper.Instance.SetLoginCallback(OnLoginCallback); - Tech3CSDKWrapper.Instance.SetLogoutCallback(OnLogoutCallback); - } - - private void OnDisable() - { - Tech3CSDKWrapper.Instance.RemoveLoginCallback(); - Tech3CSDKWrapper.Instance.RemoveLogoutCallback(); - } - - void Start() - { - AudioManager.Instance.PlayBGM(loginBGM, 1.5f); - _loginButton.onClick.AddListener(OnLoginButtonClicked); - context = SynchronizationContext.Current; - - // Requirement: Login UI should also have a61 loaded. - var world = SceneManager.GetSceneByName("a61"); - if (!world.IsValid() || !world.isLoaded) - { - SceneManager.LoadSceneAsync("a61", LoadSceneMode.Additive); - } - - _usernameInputField.text = PlayerPrefs.GetString("username", ""); - _passwordInputField.text = PlayerPrefs.GetString("password", ""); - - // Default: login UI first, select-role hidden until login succeeds. - if (_selectCharacterScreen != null) - _selectCharacterScreen.gameObject.SetActive(false); - - ApplyLoginEntry(LogoutFlowState.ConsumeNextLoginEntry()); - } - - // Update is called once per frame - void Update() - { - if (_roleInfos != null) - { - _selectCharacterScreen.InitScreen(_roleInfos, OnClickSelectCharacter, OnCreateCharacterComplete); - _roleInfos = null; - } - -#if UNITY_EDITOR - if (Input.GetKeyUp(KeyCode.LeftAlt)) - { - _usernameInputField.text = "test004"; - _passwordInputField.text = "123456"; - } - - if (Input.GetKeyUp(KeyCode.Tab)) - { - _usernameInputField.text = "test002"; - _passwordInputField.text = "123456"; - OnLoginButtonClicked(); - } -#endif - } - - - public async void OnLoginButtonClicked() - { - if (_loginInProgress) - { - BMLogger.LogWarning("[LoginScreenUI] Login already in progress (ignored click)."); - return; - } - - _loginInProgress = true; - if (_loginButton != null) _loginButton.interactable = false; - - // If username or password is empty, use Tech3C SDK login UI. - if (string.IsNullOrEmpty(_usernameInputField.text) || string.IsNullOrEmpty(_passwordInputField.text)) - { - // Use Tech3C SDK login UI. - bool started = Tech3CSDKWrapper.Instance.Login(); - if (!started) - { - // Fallback: manual username/password login (useful in dev if SDK not configured). - BMLogger.LogWarning("[LoginScreenUI] Tech3CSDKWrapper.Login() failed, fallback to manual login."); - await BeginGameLoginAsync(_usernameInputField.text, _passwordInputField.text); - } - } - else - { - // otherwise use manual username/password login. - BMLogger.LogError("[LoginScreenUI] Username/password empty."); - await BeginGameLoginAsync(_usernameInputField.text, _passwordInputField.text); - } - - } - - private async Task BeginGameLoginAsync(string username, string password) - { - if (string.IsNullOrEmpty(username) || string.IsNullOrEmpty(password)) - { - BMLogger.LogError("[LoginScreenUI] Username/password empty."); - _loginInProgress = false; - if (_loginButton != null) _loginButton.interactable = true; - return; - } - - BMLogger.Log("OnLoginButtonClicked"); - UnityGameSession.SetConnectionInfo("103.51.120.195", 29000); - PlayerPrefs.SetString("username", username); - PlayerPrefs.SetString("password", password); - PlayerPrefs.Save(); - - BMLogger.Log($"[LoginScreenUI] Connecting+login start user='{username}'"); - await UnityGameSession.Login(username, password, OnLoginComplete); - } - - /// - /// Apply how LoginScene should look after a logout flow. - /// Call this when LoginScene is already loaded (additive) and you need to switch UI without reloading the scene. - /// - public void ApplyLoginEntry(BrewMonster.Network.LogoutFlowState.LoginEntryTarget entry) - { - _loginInProgress = false; - if (_loginButton != null) _loginButton.interactable = true; - - // Always refresh fields from PlayerPrefs (LogoutAccount clears them). - if (_usernameInputField != null) _usernameInputField.text = PlayerPrefs.GetString("username", ""); - if (_passwordInputField != null) _passwordInputField.text = PlayerPrefs.GetString("password", ""); - - if (_selectCharacterScreen != null) - _selectCharacterScreen.gameObject.SetActive(false); - - if (entry == BrewMonster.Network.LogoutFlowState.LoginEntryTarget.SelectRole) - { - // Auto-login to reach Select Role like the original client, without showing Tech3C auth UI again. - if (!string.IsNullOrEmpty(_usernameInputField.text) && !string.IsNullOrEmpty(_passwordInputField.text)) - { - BMLogger.Log("[LoginScreenUI] Auto-login triggered (return-to-select-role)."); - _loginInProgress = true; - if (_loginButton != null) _loginButton.interactable = false; - _ = BeginGameLoginAsync(_usernameInputField.text, _passwordInputField.text); - } - } - } - - /// - /// Callback when the login is complete. - /// Then get the list of characters - /// - private void OnLoginComplete(bool result) - { - BMLogger.Log($"[LoginScreenUI] OnLoginComplete result={result}"); - if (!result) - { - BMLogger.LogError("Login failed"); - if (_selectCharacterScreen != null) - _selectCharacterScreen.gameObject.SetActive(false); - _loginInProgress = false; - if (_loginButton != null) _loginButton.interactable = true; - return; - } - - if (_selectCharacterScreen != null) - _selectCharacterScreen.gameObject.SetActive(true); - UnityGameSession.GetRoleListAsync(OnGetRoleListComplete); - } - - /// - /// Callback when the list of characters is retrieved. - /// Then move to the select character screen - /// - private void OnGetRoleListComplete(List roleInfos) - { - if (roleInfos == null) - { - BMLogger.LogError("OnGetRoleListComplete: roleInfos is null"); - // Keep whatever is currently shown; don't overwrite UI state with null. - _loginInProgress = false; - if (_loginButton != null) _loginButton.interactable = true; - return; - } - - // Merge pending created role in case backend list hasn't updated yet. - if (_pendingCreatedRole != null) - { - bool exists = false; - for (int i = 0; i < roleInfos.Count; i++) - { - if (roleInfos[i].roleid == _pendingCreatedRole.roleid) - { - exists = true; - break; - } - } - - if (!exists) - { - // Copy list so we don't mutate a list owned elsewhere. - var merged = new List(roleInfos.Count + 1); - merged.AddRange(roleInfos); - merged.Add(_pendingCreatedRole); - roleInfos = merged; - } - else - { - // Backend now includes the role; clear pending. - _pendingCreatedRole = null; - } - } - - BMLogger.Log($"OnGetRoleListComplete: roles={roleInfos.Count}"); - _roleInfos = roleInfos; - _currentRoles = roleInfos; - - // Login flow finished; keep login button disabled (origin-like) once you're at select role. - _loginInProgress = false; - } - - private void OnClickSelectCharacter(RoleInfo roleInfo) - { - UnityGameSession.SelectRoleAsync(roleInfo, OnSelectRoleComplete); - } - - /// - /// Callback when a new character is created. - /// Refreshes the role list and keeps the character selection screen visible. - /// - private void OnCreateCharacterComplete(RoleInfo createdRole) - { - BMLogger.Log("Character created, refreshing role list..."); - if (_selectCharacterScreen != null) - { - _selectCharacterScreen.gameObject.SetActive(true); - } - - // Ensure the newly created role is visible immediately even if the server role list - // hasn't updated yet. - if (createdRole != null) - { - _pendingCreatedRole = createdRole; - if (_currentRoles == null) - { - _currentRoles = new List(); - } - - bool exists = false; - for (int i = 0; i < _currentRoles.Count; i++) - { - if (_currentRoles[i].roleid == createdRole.roleid) - { - exists = true; - break; - } - } - - if (!exists) - { - _currentRoles.Add(createdRole); - } - - _roleInfos = _currentRoles; - } - else - { - BMLogger.LogError("OnCreateCharacterComplete: createdRole is null (create-role callback returned null)"); - } - - // NOTE: - // Immediately requesting the role list after create has been observed to disconnect - // in some server builds. We rely on the createdRole callback to update UI instantly. - // A server sync can be done later (e.g., next time you open this screen / re-login). - } - - private void OnSelectRoleComplete(RoleInfo roleInfo) - { - context.Post(_ => - { - isDoneWorldRender = false; - isDoneNPCRender = false; - Action actLoadChar = () => - { - if (!isDoneNPCRender || !isDoneWorldRender) - { - return; - } - }; - SceneLoader.SceneLoadProcess = SceneLoadProcess.Loading; - SceneLoader.LoadingProgress = 0; - LoadingSceneController.Instance.ShowLoadingScene(true); -#if TESTFAST - string nameScene = "LoginScene"; - SceneManager.UnloadSceneAsync(nameScene); - isDoneNPCRender = true; - isDoneWorldRender = true; - actLoadChar?.Invoke(); - UnityGameSession.EnterWorldAsync(roleInfo, OnEnterWorldComplete); -#else - string nameScene = "NPCRender"; - UnityGameSession.Instance.LoadScene(nameScene, LoadSceneMode.Single, (value) => - { - isDoneNPCRender = value; - actLoadChar?.Invoke(); - }); - nameScene = "a61"; - UnityGameSession.Instance.LoadScene(nameScene, LoadSceneMode.Additive, (value) => - { - isDoneWorldRender = value; - actLoadChar?.Invoke(); - UnityGameSession.EnterWorldAsync(roleInfo, OnEnterWorldComplete); - - }); -#endif - }, null); - } - - private async void OnEnterWorldComplete() - { - await Task.Delay(2000); - // Request all known packages: 0=Inventory,1=Equipment,2=Task - UnityGameSession.RequestAllInventoriesAsync(() => { /*BMLogger.Log("Sent Inventory Detail Requests (all packs)");*/ }, 0, 1, 2); - await Task.Delay(1000); - UnityGameSession.RequestCheckSecurityPassWd(""); - await Task.Delay(1000); - } - - //private void OnInventoryReceived(List inventoryData) - //{ - // _inventoryUI.DisplayInventory(inventoryData); - //} - -#if UNITY_EDITOR - private void OnValidate() - { - if (_usernameInputField == null) - { - // find childrend with name "username" - _usernameInputField = transform.Find("username").GetComponent(); - } - - if (_passwordInputField == null) - { - // find childrend with name "password" - _passwordInputField = transform.Find("password").GetComponent(); - } - - if (_loginButton == null) - { - // find childrend with name "LoginBtn" - _loginButton = transform.Find("LoginBtn").GetComponent